@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root{
  --amarelo:#f7bd00;
  --amarelo-2:#ffc900;
  --mostarda:#e0a000;
  --mostarda-escuro:#b87d00;
  --texto:#21180f;
  --texto-suave:#5f554b;
  --card:#fff9e7;
  --branco:#fffdf8;
  --borda:rgba(224,160,0,.25);
  --sombra:0 24px 60px rgba(70,45,0,.18);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:'Montserrat',Arial,Helvetica,sans-serif;
  font-weight:400;
  color:var(--texto);
  background:#f8bd00 url('/assets/images/background_cliente.jpg') center/cover no-repeat fixed;
  overflow-x:hidden;
}
a{text-decoration:none;transition:.18s ease}
button,input,select,textarea,.btn,.form-control,.form-select,.dropdown-menu,.navbar,.offcanvas,.table{font-family:'Montserrat',Arial,Helvetica,sans-serif!important}
body:not(:has(#box-login)){padding:0 0 44px}
body:not(:has(#box-login)) main{
  width:min(1080px,calc(100% - 40px));
  margin:0 auto 28px;
  padding-top:28px;
  position:relative;
  z-index:20;
}
body:not(:has(#box-login)) main::before{
  content:"";
  display:block;
  width:min(260px,58vw);
  height:88px;
  margin:0 auto 18px;
  background:url('/assets/images/LOGO_VILLEFORT.png') center/contain no-repeat;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.14));
}
.navbar,.navbar.bg-verdevillefort,.navbar.bg-dark{
  width:100%;
  min-height:70px;
  margin:0 auto;
  padding:0;
  background:rgba(255,253,247,.94)!important;
  border:1px solid rgba(255,255,255,.78);
  border-radius:22px;
  box-shadow:0 20px 48px rgba(90,58,0,.18);
  backdrop-filter:blur(8px);
  position:relative;
  z-index:9990;
  overflow:visible;
}
.navbar .container-fluid{
  min-height:70px;
  padding:0 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  overflow:visible;
}
.navbar-collapse,.offcanvas-body{background:transparent!important;overflow:visible}
.navbar-nav{
  width:100%;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:42px;
  margin:0!important;
  padding:0!important;
}
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show>.nav-link{
  color:var(--texto)!important;
  background:transparent!important;
  border:0!important;
  border-radius:12px;
  padding:10px 8px!important;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  text-shadow:none!important;
  box-shadow:none!important;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .show>.nav-link:hover{
  color:#000!important;
  background:rgba(224, 160, 0, 0.747)!important;
}
.dropdown-menu{
  margin-top:12px!important;
  padding:10px;
  background:rgba(255,253,247,.98)!important;
  border:1px solid rgba(224,160,0,.38)!important;
  border-radius:16px!important;
  box-shadow:0 22px 52px rgba(65,44,0,.22)!important;
  z-index:999999!important;
}
.dropdown-item{
  color:var(--texto)!important;
  font-weight:600;
  border-radius:12px;
  padding:11px 14px;
}
.dropdown-item:hover,.dropdown-item:focus,.dropdown-item.active{
  color:var(--texto)!important;
  background:var(--amarelo)!important;
}
.navbar-toggler{display:none!important}
.dashboard-hero{
  width:min(1080px,calc(100% - 40px));
  margin:0 auto 34px;
  padding:58px 42px 54px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,248,222,.95));
  box-shadow:var(--sombra);
  text-align:center;
  position:relative;
  z-index:1;
}
.dashboard-hero img{display:none!important}
.dashboard-hero h1{
  margin:0 auto 20px;
  max-width:850px;
  font-size:clamp(34px,4.3vw,56px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.04em;
  color:var(--texto);
}
  .dashboard-hero p{
  max-width:720px;
  margin:28px auto 34px;
  color:#4e463e;
  font-size:20px;
  line-height:1.58;
  font-weight:400;
}
.dashboard-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
}
.dashboard-actions .btn{min-width:250px}
.dashboard-actions .btn-cancelar{display:none!important}
.benefits-strip{
  width:min(1080px,calc(100% - 40px));
  margin:34px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  background:transparent;
  box-shadow:none;
}
.benefit-item{
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:28px 22px;
  text-align:center;
  border:1px solid rgba(255,255,255,.62);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,248,222,.95));
  box-shadow:0 18px 42px rgba(70,45,0,.12);
}
.benefit-item:last-child{border-right:1px solid rgba(255,255,255,.62)}
.benefit-icon{
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--amarelo);
  border-radius:18px;
  color:var(--amarelo);
  font-size:34px;
  font-weight:600;
}
.benefit-item strong{
  display:block;
  margin:0 0 7px;
  color:var(--texto);
  font-size:18px;
  line-height:1.2;
  font-weight:600;
}
.benefit-item span{
  display:block;
  max-width:210px;
  color:#4e463e;
  font-size:16px;
  line-height:1.5;
}
.box.box-success,
.container-fluid[id^="box-"],
#divinfclientecompras,
#divUltimasCompras,
#divExtratoPagamento,
#box-cadastro-cliente,
#box-emitir-boleto,
#box-ultimas-compras,
#box-extrato-pagamento,
#box-parametro{
  width:min(1080px,calc(100% - 40px));
  margin:0 auto 30px;
  padding:30px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,248,222,.95));
  box-shadow:var(--sombra);
  backdrop-filter:blur(8px);
  position:relative;
  z-index:1;
}
.box-header{
  margin:0 0 24px;
  padding:0 0 18px;
  border-bottom:1px solid rgba(224,160,0,.22);
  text-align:center;
}
.box-title{
  margin:0;
  color:var(--mostarda);
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.12;
  font-weight:600;
  letter-spacing:-.03em;
}
.box-body{width:100%}
.box-footer{margin-top:22px;text-align:center}
.form-group{margin-bottom:18px}
.form-group label,form label{display:block;color:var(--texto);font-weight:600}
.form-control,.form-select{
  min-height:50px;
  border:1px solid rgba(36,27,18,.18);
  border-radius:13px;
  background:#fff;
  color:var(--texto);
  font-size:16px;
  font-weight:400;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.form-control:focus,.form-select:focus{
  border-color:var(--mostarda);
  box-shadow:0 0 0 4px rgba(224,160,0,.17);
}
.form-control:disabled,.form-control[readonly]{background:#fff7dc;color:#4f463d}
select.form-control,select.form-select,select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  border:1px solid var(--mostarda)!important;
  background-color:#fffdf7!important;
  background-image:linear-gradient(45deg,transparent 50%,var(--mostarda) 50%),linear-gradient(135deg,var(--mostarda) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.btn{
  min-height:48px;
  padding:12px 26px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda));
  color:var(--texto)!important;
  font-size:16px;
  font-weight:600;
  box-shadow:0 14px 28px rgba(224,160,0,.28);
  transition:.18s ease;
}
.btn:hover,.btn:focus{transform:translateY(-1px);background:linear-gradient(135deg,#ffd84e,#d89a00);color:#000!important}
.btn-cancelar,.btn-outline,.btn-cadastrar,.btn-esqueci,#btnCadastrar,#btnEsqueci{
  color:var(--mostarda)!important;
  border:1px solid var(--mostarda)!important;
  background:#fff!important;
  box-shadow:none;
}
.table{
  width:100%;
  margin:0 0 1rem;
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
}
.table>:not(caption)>*>*{padding:14px 16px;border-color:rgba(224,160,0,.16)}
.table thead th,.table th{color:#fff;background:var(--mostarda);border-color:rgba(255,255,255,.16);font-weight:600}
.table tbody tr:nth-child(even){background:#fff9e7}
.table tbody tr:hover{background:#fff0bd}
#formCadastroCliente .box-body,#formCartaoEstrelaSolicitar .box-body,#formCartaoEstrelaSolicitado .box-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
#formCadastroCliente #divMensagem,#formCadastroCliente .box-footer,#formCartaoEstrelaSolicitar .box-footer,#formCartaoEstrelaSolicitado .box-footer,#formCartaoEstrelaSolicitar .form-arquivo,#formCartaoEstrelaSolicitado .form-arquivo{grid-column:1/-1}
#divMensagem{display:block;margin:0 0 16px;padding:16px 18px;border:1px solid rgba(224,160,0,.24);border-radius:16px;background:#fff3c4;color:#2f2518;font-size:1rem;font-weight:600}
#divMensagem:empty{display:none}
#divUltimasCompras,#divExtratoPagamento{padding:0;overflow:hidden;background:transparent;box-shadow:none;border:0}
#formUltimasCompras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#formUltimasCompras>.box-header,#formUltimasCompras>#divUltimasCompras{grid-column:1/-1}
#formUltimasCompras #divinfclientecompras{width:100%;margin:0;padding:20px;border-radius:20px;background:rgba(255,253,247,.96)}
.premium-select-wrap{position:relative;width:100%}
.premium-native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.premium-select{position:relative;width:100%;z-index:40}
.premium-select.open{z-index:99998}
.premium-select-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border:2px solid var(--mostarda);border-radius:15px;background:#fffdf7;color:var(--texto);font-size:16px;font-weight:500;line-height:1.2;text-align:left;box-shadow:0 9px 22px rgba(224,160,0,.10),inset 0 1px 0 rgba(255,255,255,.85);cursor:pointer}
.premium-select-button:focus{outline:none;box-shadow:0 0 0 4px rgba(216,154,0,.22)}
.premium-select-arrow{flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--mostarda);border-bottom:2px solid var(--mostarda);transform:rotate(45deg) translateY(-2px);transition:.18s ease}
.premium-select.open .premium-select-arrow{transform:rotate(225deg) translateY(-2px)}
.premium-select-list{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:360px;overflow:auto;padding:8px;border:2px solid var(--mostarda);border-radius:16px;background:#fffdf7;box-shadow:0 24px 58px rgba(65,44,0,.24);display:none}
.premium-select.open .premium-select-list{display:block}
.premium-select-option{min-height:42px;display:flex;align-items:center;padding:9px 13px;border-radius:11px;color:var(--texto);font-size:15px;font-weight:500;cursor:pointer}
.premium-select-option:hover,.premium-select-option.focused{background:#fff1bd;color:var(--texto)}
.premium-select-option.selected{background:var(--mostarda);color:#fff}
select::-webkit-scrollbar,textarea::-webkit-scrollbar,.table-responsive::-webkit-scrollbar,body::-webkit-scrollbar,.premium-select-list::-webkit-scrollbar{width:12px;height:12px}
select::-webkit-scrollbar-track,textarea::-webkit-scrollbar-track,.table-responsive::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.premium-select-list::-webkit-scrollbar-track{background:#fff4c5;border-radius:20px}
select::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb,.table-responsive::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.premium-select-list::-webkit-scrollbar-thumb{background:var(--mostarda);border-radius:20px;border:3px solid #fff4c5}
*{scrollbar-color:var(--mostarda) #fff4c5;scrollbar-width:thin}
body:has(#box-login){padding:0!important}

body:has(#box-login),
body:has(#box-login) .login-page-wrap,
body:has(#box-login) #box-login.card-body,
body:has(#box-login) #box-login.bg-light{
  background-color:transparent!important;
}
body:has(#box-login) #box-login.shadow{
  box-shadow:none!important;
}

body:has(#box-login) main{display:none!important}
.login-page-wrap{width:100%;min-height:100vh;padding:14px 16px 28px;display:flex;align-items:flex-start;justify-content:center}
#box-login{width:min(100%,980px);margin:0 auto;padding:0 0 28px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;position:relative}
#box-login .param-area{position:fixed;right:16px;top:16px;z-index:1000}
#param{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:var(--mostarda);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18)}
#box-login .login-brand{text-align:center;margin:0 auto 24px}
#box-login .logo-villefort{width:min(300px,70vw);max-height:96px;object-fit:contain;display:inline-block}
#box-login .login-title-area{text-align:center;margin:0 auto 22px}
#box-login h1{margin:0;color:var(--texto);font-size:clamp(28px,3vw,42px);line-height:1.05;font-weight:700;letter-spacing:-.04em}
#box-login .login-separator{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:18px;color:#d8a11a}
#box-login .login-separator::before,#box-login .login-separator::after{content:"";width:95px;height:1px;background:#d8a11a}
#box-login .login-separator span{font-size:14px;font-weight:400;line-height:1;color:#d8a11a}
#box-login .login-main-layout{display:flex;align-items:flex-start;justify-content:center;margin:0 auto}
#box-login .login-card-panel{width:min(100%,540px);border:1px solid var(--borda);border-radius:14px;background:rgba(255,249,220,.96);box-shadow:0 18px 40px rgba(0,0,0,.16);overflow:hidden}
#box-login .box-header,#box-login form{width:100%;margin:0;padding-left:45px;padding-right:45px;background:transparent;border:0;box-shadow:none;border-radius:0;transform:none}
#box-login .box-header{padding-top:40px;padding-bottom:5px;text-align:center}
#box-login form{padding-top:0;padding-bottom:45px}
#box-login .box-title{display:flex;align-items:center;justify-content:center;gap:11px;margin:0;color:var(--mostarda);font-size:30px;font-weight:700;line-height:1.1}
#box-login .box-title::before{content:"\f007";font-family:"Font Awesome 6 Free";font-weight:900;font-size:25px}
.login-subtitle{margin:8px 0 0;text-align:center;color:#5f554b;font-size:14px;font-weight:400}
#box-login .form-group{margin-bottom:18px}
#box-login label{margin:0 0 8px;display:block;color:#111;font-weight:600;font-size:14px}
#box-login .form-control{height:48px;min-height:48px;border:1px solid rgba(50,50,50,.18);border-radius:9px;background:#fff;color:#333;font-size:15px}
#box-login .cpf-hint{display:block;margin-top:7px;color:#5f554b;font-size:11px;line-height:1.35;font-weight:400}
#box-login .input-group .form-control{height:48px;min-height:48px;border:1px solid rgba(50,50,50,.18);border-right:0;border-radius:9px 0 0 9px;background:#fff;color:#333;font-size:15px}
#box-login .input-group-text{width:115px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(50,50,50,.18);border-left:0;border-radius:0 9px 9px 0;background:#fff;color:#67707a}
#box-login .box-footer{margin:22px 0 0;padding:0;text-align:center}
#box-login .box-footer .btn{width:100%;margin-top:9px;border-radius:9px;min-height:50px;color:#fff!important;font-weight:600}
#box-login #btnLogin{background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda))!important;color:#fff!important}
#box-login #btnCadastrar,#box-login #btnEsqueci{background:#fff!important;color:var(--mostarda)!important;border:1px solid var(--mostarda)!important;box-shadow:none!important}
.promo-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(5px)}
.promo-modal.is-hidden{display:none!important}
.promo-card{position:relative;width:min(92vw,1180px);border-radius:24px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.36);background:#fff;animation:promoPop .22s ease}
.promo-card img{width:100%;height:auto;display:block}
.promo-close{position:absolute;top:16px;right:16px;z-index:2;width:52px;height:52px;border:0;border-radius:50%;background:#ff0000;color:#fff;font-size:30px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.28)}
@keyframes promoPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media (min-width:992px){.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .offcanvas{position:static!important;visibility:visible!important;transform:none!important;width:auto!important;height:auto!important;background:transparent!important;border:0!important}.navbar-expand-lg .offcanvas-header{display:none!important}.navbar-expand-lg .offcanvas-body{display:flex!important;flex-grow:1!important;padding:0!important}.navbar-expand-lg .navbar-toggler{display:none!important}}
@media (max-width:991px){
  body{background-attachment:scroll}
  body:not(:has(#box-login)) main{width:calc(100% - 32px);max-width:430px;margin:0 auto 24px;padding-top:16px;min-height:80px;position:relative}
  body:not(:has(#box-login)) main::before{width:min(210px,62vw);height:74px;margin:0 auto}
  .navbar,.navbar.bg-verdevillefort,.navbar.bg-dark{position:absolute;top:28px;right:8px;width:auto;min-height:0;margin:0;padding:0;background:transparent!important;border:0;box-shadow:none;backdrop-filter:none;border-radius:0}
  .navbar .container-fluid{min-height:0;padding:0;justify-content:flex-end}
  .navbar-collapse{display:none!important}
  .navbar-toggler{display:flex!important;width:42px;height:34px;margin:0;padding:0;align-items:center;justify-content:center;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .navbar-toggler:focus{box-shadow:none!important;outline:none!important}
  .navbar-dark .navbar-toggler-icon{width:34px;height:24px;position:relative;background-image:none!important;border-top:4px solid #fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.20))}
  .navbar-dark .navbar-toggler-icon::before,.navbar-dark .navbar-toggler-icon::after{content:"";position:absolute;left:0;width:34px;border-top:4px solid #fff}
  .navbar-dark .navbar-toggler-icon::before{top:8px}
  .navbar-dark .navbar-toggler-icon::after{top:20px}
  .offcanvas.offcanvas-start{left:auto!important;right:0!important;transform:translateX(100%)!important;width:min(82vw,330px)!important;border-left:1px solid rgba(255,255,255,.45)!important;border-right:0!important}
  .offcanvas.offcanvas-start.show{transform:none!important}
  .offcanvas.bg-verdevillefort,.offcanvas.bg-dark{background:linear-gradient(180deg,#ffd33c 0%,#f5b400 45%,#e3a000 100%)!important;color:var(--texto)!important;box-shadow:-22px 0 60px rgba(0,0,0,.24)!important}
  .offcanvas-header{min-height:76px;padding:22px 24px;background:transparent;color:var(--texto);border-bottom:0}
  .offcanvas-title{color:var(--texto);font-weight:600;font-size:22px}
  .btn-close-white{filter:none!important;opacity:1!important}
  .offcanvas-body{padding:18px 24px 26px!important;background:transparent!important}
  .offcanvas .navbar-nav{display:flex!important;flex-direction:column!important;width:100%!important;gap:0!important;align-items:stretch!important;padding:0!important;margin:0!important}
  .offcanvas .navbar-nav .nav-item{width:100%}
  .offcanvas .navbar-nav .nav-link,.offcanvas .navbar-nav .nav-link.active{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:18px 0!important;color:#0f0c08!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(90,58,0,.18)!important;border-radius:0!important;text-align:left;font-weight:600;font-size:18px;box-shadow:none!important}
  .offcanvas .navbar-nav .nav-link:hover,.offcanvas .navbar-nav .nav-link:focus{color:#000!important;background:rgba(255,255,255,.18)!important;padding-left:12px!important}
  .offcanvas .dropdown-menu{position:static!important;width:100%!important;margin:6px 0 10px!important;background:rgba(255,253,247,.92)!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:14px!important;box-shadow:none!important}
  .dashboard-hero{width:calc(100% - 28px);margin:0 auto 24px;padding:48px 22px 44px;border-radius:26px}
  .dashboard-hero h1{font-size:clamp(31px,8.5vw,40px);line-height:1.15;font-weight:700}
  .dashboard-hero p{font-size:17px;line-height:1.58;margin:24px auto 30px}
  .dashboard-actions{flex-direction:column;align-items:center;gap:14px}
  .dashboard-actions .btn{width:min(100%,250px);min-width:0}
  .benefits-strip{width:calc(100% - 28px);grid-template-columns:repeat(2,minmax(0,1fr));margin:28px auto 0;padding:0;gap:16px;background:transparent;box-shadow:none}
  .benefit-item{min-height:170px;padding:22px 16px;border:1px solid rgba(255,255,255,.62);border-radius:22px}
  .benefit-item:last-child{border:1px solid rgba(255,255,255,.62)}
  .box.box-success,.container-fluid[id^="box-"],#divinfclientecompras,#divUltimasCompras,#divExtratoPagamento,#box-cadastro-cliente,#box-emitir-boleto,#box-ultimas-compras,#box-extrato-pagamento,#box-parametro{width:calc(100% - 28px);margin:0 auto 24px;padding:22px 18px;border-radius:24px}
  .box-title{font-size:clamp(28px,8vw,36px);line-height:1.15}
  .table{width:100%;display:block;overflow-x:auto;white-space:nowrap;border-radius:16px}
  #formCadastroCliente .box-body,#formCartaoEstrelaSolicitar .box-body,#formCartaoEstrelaSolicitado .box-body,#formUltimasCompras{display:block}
  .form-control,.form-select{font-size:16px}
  #box-login .login-brand{margin-top:8px}
  #box-login .login-card-panel{width:min(100%,430px)}
  .promo-card{width:92vw;border-radius:20px}
  .promo-close{width:48px;height:48px;font-size:28px;top:12px;right:12px}
}

@media (max-width:600px){
  .benefits-strip{grid-template-columns:1fr}
  .benefit-item{min-height:150px}
}
@media (max-width:430px){
  body:not(:has(#box-login)) main{width:calc(100% - 24px);min-height:78px}
  body:not(:has(#box-login)) main::before{width:min(205px,62vw);height:68px}
  .navbar{top:22px;right:6px}
  .navbar-toggler{width:40px;height:32px}
  .dashboard-hero{width:calc(100% - 28px);padding:42px 20px 38px}
  .dashboard-hero h1{font-size:31px}
}

.swal2-container{z-index:200000!important;padding:18px!important;background:rgba(55,43,0,.48)!important;backdrop-filter:blur(5px)!important}
.swal2-popup{width:min(92vw,470px)!important;padding:34px 28px 26px!important;border:1px solid rgba(255,255,255,.70)!important;border-radius:26px!important;background:rgba(255,249,220,.98)!important;box-shadow:0 24px 70px rgba(0,0,0,.24)!important;font-family:'Montserrat',Arial,sans-serif!important;color:var(--texto)!important}
.swal2-icon{width:78px!important;height:78px!important;margin:4px auto 20px!important;border-color:var(--mostarda)!important;color:var(--mostarda)!important}
.swal2-icon.swal2-warning{border-color:var(--mostarda)!important;color:var(--mostarda)!important}
.swal2-icon.swal2-warning .swal2-icon-content{font-size:50px!important;font-weight:600!important;color:var(--mostarda)!important}
.swal2-title{margin:0 0 10px!important;padding:0!important;color:var(--texto)!important;font-size:30px!important;line-height:1.15!important;font-weight:600!important;letter-spacing:-.02em!important}
.swal2-html-container{margin:0 auto 22px!important;padding:0!important;color:#5f554b!important;font-size:17px!important;line-height:1.45!important;font-weight:400!important;text-align:center!important}
.swal2-actions{margin:0!important;gap:12px!important}
.swal2-confirm{min-width:112px!important;height:48px!important;padding:0 24px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda))!important;color:#fff!important;font-family:'Montserrat',Arial,sans-serif!important;font-size:16px!important;font-weight:600!important;box-shadow:0 14px 28px rgba(224,160,0,.25)!important}
.swal2-confirm:focus{box-shadow:0 0 0 4px rgba(224,160,0,.20),0 14px 28px rgba(224,160,0,.25)!important}
.swal2-select,.swal2-input,.swal2-file,.swal2-range,.swal2-radio,.swal2-checkbox,.swal2-textarea{display:none!important}
.swal2-loader{border-color:var(--mostarda) transparent var(--mostarda) transparent!important}
@media (max-width:600px){.swal2-popup{width:calc(100vw - 32px)!important;padding:30px 22px 24px!important;border-radius:22px!important}.swal2-title{font-size:26px!important}.swal2-html-container{font-size:15px!important}.swal2-icon{width:68px!important;height:68px!important}.swal2-icon.swal2-warning .swal2-icon-content{font-size:44px!important}}

.swal2-container .premium-select-wrap,.swal2-container .premium-select,.swal2-container .premium-select-button,.swal2-container .premium-select-list,.swal2-select{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;opacity:0!important;position:absolute!important;pointer-events:none!important}
.swal2-popup .swal2-html-container + .premium-select-wrap,.swal2-popup .premium-select-wrap{display:none!important}

.dashboard-hero h1::after{
  content:none!important;
  display:none!important;
}

.benefits-strip{
  width:min(1080px,calc(100% - 40px));
  margin:-6px auto 0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}

.benefit-item{
  min-height:190px;
  border:1px solid rgba(255,255,255,.62)!important;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,248,222,.95));
  box-shadow:0 18px 42px rgba(70,45,0,.12);
}

.benefit-icon svg{
  width:38px;
  height:38px;
  display:block;
  stroke:var(--amarelo);
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.benefit-icon .icon-fill{
  fill:var(--amarelo);
  stroke:none;
}

#box-cartao-solicitado{
  padding:34px 30px 38px;
}

#box-cartao-solicitado .box-title{
  color:var(--mostarda);
  text-align:center;
}

#formCartaoEstrelaSolicitado .box-body{
  display:grid!important;
  grid-template-columns:1fr;
  gap:22px;
}

#formCartaoEstrelaSolicitado .form-arquivo{
  padding:22px 24px;
  border:1px solid rgba(224,160,0,.18);
  border-radius:20px;
  background:rgba(255,253,247,.78);
  box-shadow:0 12px 28px rgba(70,45,0,.08);
}

#formCartaoEstrelaSolicitado .form-arquivo br,
#formCartaoEstrelaSolicitado .form-group br{
  display:none;
}

#formCartaoEstrelaSolicitado .form-group{
  margin:0;
  font-size:18px;
}

#divProposta2{
  width:100%;
}

#divProposta2 table,
#divProposta2 .table{
  width:100%!important;
  max-width:100%;
  margin:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 38px rgba(70,45,0,.12);
}

#divProposta2 .table-responsive{
  width:100%;
}

#param i{
  color:#fff!important;
}

.login-page-wrap,
#box-login,
#box-login.bg-light,
#box-login.card-body,
#box-login.shadow{
  background:transparent!important;
  box-shadow:none!important;
}

@media (max-width:991px){
  .benefits-strip{
    width:calc(100% - 28px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  #formCartaoEstrelaSolicitado .form-arquivo{
    padding:18px 16px;
  }
}

@media (max-width:600px){
  .benefits-strip{
    grid-template-columns:1fr;
  }
}

#formparametro .box-footer,#formCadastroCliente .box-footer{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
#formparametro .box-footer .btn,#formCadastroCliente .box-footer .btn{width:118px;min-width:118px;padding-left:0;padding-right:0;text-align:center}
#formCadastroCliente .box-footer .btn-success{background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda));color:var(--texto)!important;border:0!important;box-shadow:0 14px 28px rgba(224,160,0,.28)}

#box-login .param-area #param{
  width:44px;
  height:44px;
  border:0!important;
  border-radius:13px!important;
  background:var(--mostarda)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
#box-login .param-area #param i{color:#fff!important}
#box-login #show{
  width:48px;
  border:1px solid rgba(50,50,50,.18)!important;
  border-left:0!important;
  border-radius:0 9px 9px 0!important;
  background:#fff!important;
  box-shadow:none!important;
}
#box-login #senha{
  border-right:0!important;
  border-radius:9px 0 0 9px!important;
}

.navbar-nav{
 width:100%!important;
 display:flex!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:24px!important;
}
.navbar-nav .nav-link{
 white-space:nowrap!important;
 font-size:15px!important;
 font-weight:600!important;
 line-height:1!important;
}

#formCadastroCliente .box-body{gap:18px 20px!important}
#formCadastroCliente #divFilial{margin-bottom:18px!important}
#formCadastroCliente #divFilial .form-group{margin-bottom:0!important}
#formCadastroCliente #divFilial br{display:none!important}

.site-footer{
  width:100%;
  margin:46px 0 0;
  padding:42px 22px 34px;
  text-align:center;
  background:rgba(255,249,220,.94);
  color:#e30613;
  position:relative;
  z-index:10;
  box-shadow:0 -18px 45px rgba(70,45,0,.08);
}
.footer-social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 auto 24px;
}
.footer-social a{
  position:relative;
  width:42px;
  height:42px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e30613;
  text-decoration:none;
  background:#fff8d6;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  overflow:hidden;
  transform:translateY(0) scale(1);
  transition:transform .28s ease,box-shadow .28s ease,color .28s ease;
}
.footer-social a::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:50%;
  background:#e30613;
  opacity:0;
  transform:scale(.55) rotate(-18deg);
  transition:opacity .28s ease,transform .35s ease;
}
.footer-social a::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#fff8d6;
  transition:opacity .25s ease,transform .25s ease;
}
.footer-social a svg{
  position:relative;
  z-index:2;
  width:22px;
  height:22px;
  fill:currentColor;
}
.footer-social a:hover{
  color:#fff;
  transform:translateY(-5px) scale(1.09);
  box-shadow:0 16px 34px rgba(227,6,19,.26);
}
.footer-social a:hover::before{opacity:1;transform:scale(1) rotate(0deg)}
.footer-social a:hover::after{opacity:0;transform:scale(.72)}
.footer-line{
  width:min(1240px,100%);
  height:1px;
  background:rgba(227,6,19,.65);
  margin:0 auto 20px;
}
.footer-copy{
  color:#e30613;
  font-size:14px;
  font-weight:500;
}
@media (max-width:720px){
  .site-footer{margin-top:34px;padding:34px 18px 28px}
  .footer-social{gap:14px}
}

html, body{
  min-height:100%;
}

body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

body > main,
body > .container-fluid,
body > .login-page-wrap{
  flex:0 0 auto;
}

body:has(#box-login) .login-page-wrap{
  min-height:auto!important;
  padding-bottom:26px!important;
}

body:has(#box-login) #box-login{
  margin-bottom:0!important;
}

.site-footer{
  margin-top:auto!important;
  padding:26px 22px 24px!important;
  background:transparent!important;
  box-shadow:none!important;
  width:100%;
}

.footer-social{
  margin:0 auto 18px!important;
}

.footer-line{
  max-width:1080px;
  height:1px;
  background:#e30613;
  opacity:.8;
  margin:0 auto 18px!important;
}

.footer-copy{
  color:#e30613!important;
  font-size:13px;
  font-weight:600;
  text-align:center;
  letter-spacing:.01em;
}

@media (max-width: 768px){
  .site-footer{
    padding:22px 18px 24px!important;
  }

  .footer-social{
    gap:14px;
    margin-bottom:16px!important;
  }

  .footer-social a{
    width:38px!important;
    height:38px!important;
  }

  .footer-copy{
    font-size:12px;
  }
}

#btnCamera{
  display:none!important;
  min-width:240px;
  border-radius:15px;
  background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda));
  color:var(--texto)!important;
  border:0!important;
  box-shadow:0 16px 34px rgba(224,160,0,.22);
}
.aviso_reconhecimento_facial{
  grid-column:1/-1;
  margin:0 0 8px;
  text-align:left;
}
.orientacoes-title{
  margin:0 0 14px;
  color:var(--texto);
  font-size:22px;
  font-weight:600;
}
.orientacoes-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.orientacao-card{
  min-height:170px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  border:1px solid rgba(255,255,255,.70);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,253,247,.95),rgba(255,248,222,.92));
  box-shadow:0 15px 34px rgba(70,45,0,.10);
}

.orientacao-icon{
  width:62px;
  height:62px;
  margin:0 auto 16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,236,158,.75);
  color:var(--mostarda);
  font-size:25px;
}


/* Ícones dos cards de orientação no mesmo padrão do site */
.orientacao-icon i,
.orientacao-icon .fas,
.orientacao-icon .far,
.orientacao-icon .fa{
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
  font-style:normal!important;
  color:var(--mostarda)!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.orientacao-icon{
  color:var(--mostarda)!important;
}

.orientacao-card h5{
  margin:0 0 10px;
  color:var(--texto);
  font-size:17px;
  line-height:1.35;
  font-weight:600;
}
.orientacao-card p{
  margin:0;
  color:var(--texto-suave);
  font-size:15px;
  line-height:1.45;
}
#formCartaoEstrelaSolicitar .box-body{
  gap:16px 20px!important;
}
#formCartaoEstrelaSolicitar .form-arquivo{
  margin:0!important;
  padding:0!important;
}
#formCartaoEstrelaSolicitar .form-arquivo br{
  display:none!important;
}
#formCartaoEstrelaSolicitar .form-arquivo label{
  margin:18px 0 10px;
  font-size:17px;
}
#formCartaoEstrelaSolicitar input[type="file"]{
  width:100%;
  min-height:74px;
  display:flex;
  align-items:center;
  padding:16px 18px;
  border:1px dashed rgba(224,160,0,.38);
  border-radius:17px;
  background:rgba(255,253,247,.78);
  color:var(--texto-suave);
  font-size:15px;
  box-shadow:0 12px 28px rgba(70,45,0,.06);
}
#formCartaoEstrelaSolicitar input[type="file"]::file-selector-button{
  min-height:46px;
  margin-right:14px;
  padding:0 18px;
  border:0;
  border-radius:12px;
  background:var(--mostarda);
  color:#fff;
  font-family:'Montserrat',Arial,sans-serif;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
}
.termo-card{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:10px 0 2px;
  padding:18px 20px;
  border:1px solid rgba(224,160,0,.20);
  border-radius:18px;
  background:rgba(255,253,247,.70);
}
.termo-check{
  display:flex!important;
  align-items:center;
  gap:10px;
  margin:0!important;
}
.termo-check input{
  width:18px;
  height:18px;
  accent-color:var(--mostarda);
}
.termo-card a{
  color:var(--mostarda);
  font-weight:600;
}
#formCartaoEstrelaSolicitar .form-arquivo:has(#diavencimentosolicitar){
  margin-top:8px!important;
}
#formCartaoEstrelaSolicitar .form-arquivo:has(#diavencimentosolicitar) label{
  margin-top:12px;
}
#formCartaoEstrelaSolicitar .box-footer{
  margin-top:12px!important;
}
#formCartaoEstrelaSolicitar .box-footer .btn{
  min-width:118px;
}
#formCartaoEstrelaSolicitar .form-arquivo:has(label[for="manifestacao"]){
  margin-top:4px!important;
}
#formCartaoEstrelaSolicitar .form-arquivo label[for="manifestacao"]{
  margin:14px 0 12px;
  font-size:22px;
  font-weight:600;
}
#divProposta1{
  grid-column:1/-1;
  margin:0!important;
}
#divProposta1 label{
  width:100%;
  margin:0;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:18px;
  background:rgba(255,244,196,.72);
  color:var(--texto);
  font-weight:500;
  line-height:1.45;
  box-shadow:0 10px 24px rgba(70,45,0,.07);
}
#divProposta1 .table{
  margin:0;
}
@media (max-width:991px){
  #box-solicitar-cartao .box-header{
    align-items:flex-start!important;
    flex-direction:column;
  }
  #btnCamera{
    width:100%;
    min-width:0;
  }
  .orientacoes-grid{
    grid-template-columns:1fr;
  }
  .orientacao-card{
    min-height:auto;
    padding:20px 18px;
  }
  .termo-card{
    align-items:flex-start;
    flex-direction:column;
  }
  #formCartaoEstrelaSolicitar input[type="file"]{
    min-height:68px;
    padding:12px;
  }
}
@media (max-width:520px){
  #formCartaoEstrelaSolicitar .form-arquivo label{
    margin:16px 0 8px;
    font-size:16px;
  }
  #formCartaoEstrelaSolicitar input[type="file"]::file-selector-button{
    display:block;
    width:100%;
    margin:0 0 10px;
  }
}

.home-footer{
  width:min(1080px,calc(100% - 40px));
  margin:34px auto 0;
  padding:28px 0 22px;
  background:transparent!important;
}
.home-footer .footer-line{
  width:100%;
  max-width:1080px;
}
@media (min-width:992px){
  body:not(:has(#box-login)) main{
    width:min(1080px,calc(100% - 40px));
  }
  .navbar-nav{
    flex-wrap:nowrap!important;
    justify-content:space-between!important;
    gap:18px!important;
  }
  .navbar-dark .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link.active,
  .navbar-dark .navbar-nav .show>.nav-link{
    white-space:nowrap!important;
    font-size:14px!important;
    line-height:1!important;
    padding:10px 6px!important;
  }
}
@media (max-width:991px){
  body:not(:has(#box-login)){
    padding-bottom:24px;
  }
  .dashboard-hero{
    margin-top:8px!important;
    padding:42px 24px 38px!important;
  }
  .benefits-strip{
    width:calc(100% - 28px)!important;
    max-width:720px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    margin-top:24px!important;
  }
  .home-footer{
    width:calc(100% - 28px);
    max-width:720px;
    margin-top:28px;
    padding:26px 0 20px;
  }
}
@media (max-width:640px){
  .dashboard-hero{
    width:calc(100% - 28px)!important;
    padding:36px 20px 34px!important;
    border-radius:26px!important;
  }
  .dashboard-hero h1{
    font-size:clamp(30px,8.2vw,38px)!important;
    line-height:1.12!important;
  }
  .dashboard-hero p{
    font-size:16px!important;
    margin:18px auto 26px!important;
  }
  .benefits-strip{
    grid-template-columns:1fr!important;
  }
  .benefit-item{
    min-height:148px!important;
    padding:22px 18px!important;
  }
  .home-footer{
    margin-top:24px;
  }
  .home-footer .footer-social{
    gap:13px!important;
  }
}

.premium-date-wrap{position:relative;width:100%}.premium-date-wrap input{padding-right:58px!important}.premium-date-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:transparent;color:#d99a00;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:2}.premium-date-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.premium-date-button:hover{background:rgba(217,154,0,.12)}.premium-calendar{position:absolute;left:0;top:calc(100% + 10px);width:320px;max-width:min(320px,calc(100vw - 32px));background:linear-gradient(180deg,#f1b300 0%,#d99a00 100%);border:1px solid rgba(255,255,255,.42);border-radius:22px;box-shadow:0 22px 50px rgba(80,55,0,.28);padding:18px;z-index:99999;color:#fff;display:none}.premium-calendar.open{display:block}.premium-calendar-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.24)}.premium-calendar-head strong{font-size:16px;font-weight:700;text-transform:lowercase}.premium-calendar-head button{width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center}.premium-calendar-week,.premium-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.premium-calendar-week{padding:16px 0 8px}.premium-calendar-week span{font-size:13px;font-weight:800;color:#5a3d00}.premium-calendar-days button{height:32px;border:0;border-radius:11px;background:transparent;color:#fff;font-weight:700}.premium-calendar-days button:hover{background:rgba(255,255,255,.18)}.premium-calendar-days button.muted{color:rgba(255,255,255,.45)}.premium-calendar-days button.active{background:#fff4c7;color:#6b4700;box-shadow:0 0 0 2px rgba(255,255,255,.30)}.premium-calendar-days button.today:not(.active){box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}.premium-calendar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.24)}.premium-calendar-foot button{border:0;border-radius:13px;padding:11px 14px;font-size:13px;font-weight:800}.premium-calendar-foot .clear{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.26)}.premium-calendar-foot .today-btn{background:#fff;color:#c48900}@media(max-width:640px){.premium-calendar{left:50%;transform:translateX(-50%);width:calc(100vw - 28px)}}

#btnCamera{
  text-transform:uppercase!important;
}

@media (max-width: 640px){
  #formUltimasCompras{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
  }

  #formUltimasCompras #divinfclientecompras{
    width:100%!important;
    margin:0!important;
    padding:22px 18px!important;
    border-radius:22px!important;
  }

  #formUltimasCompras > .box-header{
    margin-top:10px!important;
    margin-bottom:18px!important;
    padding-top:6px!important;
  }

  #formUltimasCompras .box-title{
    margin-top:0!important;
  }

  .navbar-dark .navbar-toggler-icon,
  .navbar-dark .navbar-toggler-icon::before,
  .navbar-dark .navbar-toggler-icon::after{
    border-top-color:#b87d00!important;
  }

  .navbar-dark .navbar-toggler-icon{
    filter:none!important;
  }
}

.premium-calendar{
  background:linear-gradient(180deg,#8a5f00 0%,#5b3d00 100%)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:22px!important;
  box-shadow:0 22px 50px rgba(45,28,0,.34)!important;
  color:#fff!important;
  padding:18px!important;
}

.premium-calendar-head{
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}

.premium-calendar-head strong{
  color:#fff!important;
  font-size:16px!important;
  font-weight:700!important;
  text-transform:lowercase!important;
}

.premium-calendar-head button{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}

.premium-calendar-head button:hover{
  background:rgba(255,255,255,.18)!important;
}

.premium-calendar-week span{
  color:#ffd66b!important;
  font-size:13px!important;
  font-weight:800!important;
}

.premium-calendar-days button{
  color:#fff!important;
  border-radius:50%!important;
  height:34px!important;
  width:34px!important;
  margin:auto!important;
  font-weight:700!important;
}

.premium-calendar-days button:hover{
  background:rgba(255,255,255,.14)!important;
}

.premium-calendar-days button.muted{
  color:rgba(255,255,255,.35)!important;
}

.premium-calendar-days button.active{
  background:transparent!important;
  color:#ffe06a!important;
  box-shadow:inset 0 0 0 2px #ffe06a!important;
}

.premium-calendar-days button.today:not(.active){
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.70)!important;
}

.premium-calendar-foot{
  margin-top:16px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}

.premium-calendar-foot button{
  border-radius:14px!important;
  padding:12px 15px!important;
  font-size:13px!important;
  font-weight:800!important;
}

.premium-calendar-foot .clear{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
}

.premium-calendar-foot .today-btn{
  background:#ffd66b!important;
  color:#4b3100!important;
}

.premium-date-button{
  color:#b87d00!important;
}

@media (max-width: 700px){
  #formUltimasCompras{
    gap:20px!important;
  }

  #formUltimasCompras #divinfclientecompras{
    margin-bottom:4px!important;
  }

  #formUltimasCompras > .box-header{
    margin-top:18px!important;
  }

  #divUltimasCompras,
  #divExtratoPagamento,
  #divProposta1,
  #divProposta2{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  #divUltimasCompras .table,
  #divExtratoPagamento .table,
  #divProposta1 .table,
  #divProposta2 .table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    white-space:normal!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
  }

  #divUltimasCompras .table thead,
  #divExtratoPagamento .table thead,
  #divProposta1 .table thead,
  #divProposta2 .table thead{
    display:none!important;
  }

  #divUltimasCompras .table tbody,
  #divExtratoPagamento .table tbody,
  #divProposta1 .table tbody,
  #divProposta2 .table tbody{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    width:100%!important;
  }

  #divUltimasCompras .table tr,
  #divExtratoPagamento .table tr,
  #divProposta1 .table tr,
  #divProposta2 .table tr{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    border:1px solid rgba(224,160,0,.18)!important;
    border-radius:18px!important;
    background:rgba(255,253,247,.96)!important;
    box-shadow:0 14px 30px rgba(70,45,0,.10)!important;
  }

  #divUltimasCompras .table td,
  #divExtratoPagamento .table td,
  #divProposta1 .table td,
  #divProposta2 .table td{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
    padding:13px 15px!important;
    border:0!important;
    border-bottom:1px solid rgba(224,160,0,.13)!important;
    background:transparent!important;
    white-space:normal!important;
    text-align:right!important;
    overflow-wrap:anywhere!important;
    color:var(--texto)!important;
  }

  #divUltimasCompras .table td:last-child,
  #divExtratoPagamento .table td:last-child,
  #divProposta1 .table td:last-child,
  #divProposta2 .table td:last-child{
    border-bottom:0!important;
  }

  #divUltimasCompras .table td::before,
  #divExtratoPagamento .table td::before,
  #divProposta1 .table td::before,
  #divProposta2 .table td::before{
    flex:0 0 auto;
    max-width:46%;
    color:var(--mostarda-escuro);
    font-weight:700;
    text-align:left;
    white-space:normal;
  }

  #divUltimasCompras .table td:nth-child(1)::before{content:"Data compra";}
  #divUltimasCompras .table td:nth-child(2)::before{content:"Vencimento";}
  #divUltimasCompras .table td:nth-child(3)::before{content:"Título";}
  #divUltimasCompras .table td:nth-child(4)::before{content:"Parcela";}
  #divUltimasCompras .table td:nth-child(5)::before{content:"Valor";}
  

  #divExtratoPagamento .table td:nth-child(1)::before{content:"Status";}
  #divExtratoPagamento .table td:nth-child(2)::before{content:"Vencimento";}
  #divExtratoPagamento .table td:nth-child(3)::before{content:"Total";}
  #divExtratoPagamento .table td:nth-child(4)::before{content:"Pago";}
  

  #divProposta1 .table td:nth-child(1)::before,
  #divProposta2 .table td:nth-child(1)::before{content:"Data";}
  #divProposta1 .table td:nth-child(2)::before,
  #divProposta2 .table td:nth-child(2)::before{content:"Proposta";}
  #divProposta1 .table td:nth-child(3)::before,
  #divProposta2 .table td:nth-child(3)::before{content:"Tipo";}
  #divProposta1 .table td:nth-child(4)::before,
  #divProposta2 .table td:nth-child(4)::before{content:"Retorno";}
}

.premium-calendar{
  background:linear-gradient(180deg,#d99a00 0%,#9f6d00 100%)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:22px!important;
  box-shadow:0 22px 50px rgba(55,36,0,.35)!important;
  color:#fff!important;
  padding:18px!important;
}
.premium-calendar-head{
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
}
.premium-calendar-head button{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.premium-calendar-head button:hover{
  background:rgba(255,255,255,.20)!important;
}
.premium-calendar-week span{
  color:#ffe184!important;
  font-size:13px!important;
  font-weight:800!important;
}
.premium-calendar-days button:hover{
  background:rgba(255,255,255,.16)!important;
}
.premium-calendar-days button.muted{
  color:rgba(255,255,255,.38)!important;
}
.premium-calendar-days button.active{
  background:transparent!important;
  color:#ffe184!important;
  box-shadow:inset 0 0 0 2px #ffe184!important;
}
.premium-calendar-days button.today:not(.active){
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.78)!important;
}
.premium-calendar-foot{
  margin-top:16px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
}
.premium-calendar-foot .clear{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;
}
.premium-calendar-foot .today-btn{
  background:#ffe184!important;
  color:#4b3100!important;
}

@media (max-width:991px){
  .navbar-dark .navbar-toggler-icon,
  .navbar-dark .navbar-toggler-icon::before,
  .navbar-dark .navbar-toggler-icon::after{
    border-top-color:#9f6d00!important;
  }
}

.login-recaptcha{display:flex;justify-content:center;margin:18px 0 4px;transform:scale(.92);transform-origin:center;}
@media (max-width:480px){.login-recaptcha{transform:scale(.86);margin:14px 0 2px;}}

.status-vencimento-card{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(224,160,0,.28);
  border-radius:18px;
  padding:20px!important;
  margin-bottom:22px;
  box-shadow:0 12px 28px rgba(84,63,0,.08);
}
.status-vencimento-card label{
  display:block;
  margin-bottom:10px;
  font-weight:600;
}
.status-vencimento-valor{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  padding:0 18px;
  border:2px solid #e0a000;
  border-radius:14px;
  background:#fffdf5;
  color:#21170f;
  font-weight:600;
  letter-spacing:.2px;
}
@media(max-width:768px){
  .status-vencimento-card{
    padding:16px!important;
  }
  .status-vencimento-card label{
    font-size:14px;
    line-height:1.35;
  }
  .status-vencimento-valor{
    min-height:48px;
    font-size:15px;
  }
}

#box-cadastro-cliente #divMensagem{
  grid-column:1/-1;
  margin:0 0 14px!important;
}
#formCadastroCliente .box-body{
  gap:12px 18px!important;
}
#formCadastroCliente .form-group{
  margin-bottom:12px!important;
}
#formCadastroCliente #divFilial{
  margin-bottom:12px!important;
}
#formCadastroCliente .form-control,
#formCadastroCliente .form-select{
  min-height:50px!important;
}

.atendimento-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:4px;
    line-height:1.2;
}
.atendimento-whatsapp img{
    width:24px;
    height:24px;
    display:inline-block;
}
.atendimento-whatsapp span{
    display:inline-block;
}

input[type="date"]{
  text-transform:none!important;
}
input[type="date"]::-webkit-datetime-edit-month-field{
  text-transform:lowercase!important;
}

.secao-solicitar-cadastro{
  grid-column:1/-1;
  margin-top:18px;
}
.secao-solicitar-cadastro .orientacoes-title{
  margin-bottom:14px;
}
.secao-solicitar-cadastro .form-arquivo{
  margin-top:18px;
}

.cadastro-solicitar-brand{
  text-align:center;
  margin:18px auto 18px;
}
.cadastro-solicitar-brand .logo-villefort{
  max-width:260px;
  width:70%;
  height:auto;
  cursor:pointer;
}
.cadastro-solicitar-brand h1{
  margin:18px 0 0;
  color:#1f1a12;
  font-weight:700;
}
.cadastro-header-unificado{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
@media (max-width:640px){
  .cadastro-header-unificado{
    flex-direction:column;
    align-items:center;
  }
}

.reconhecimento_facial{
  width:100%;
  text-align:left;
}

.reconhecimento-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:8px 0 28px;
}

.reconhecimento-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  padding:28px 24px;
  border:1px solid rgba(224,160,0,.18);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(255,248,222,.92));
  box-shadow:0 16px 36px rgba(70,45,0,.10);
  text-align:center;
}

.reconhecimento-card-icon{
  width:86px;
  height:86px;
  min-width:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,238,172,.55);
  margin:0 auto 2px;
}

.reconhecimento-card-icon svg,
.btn-reconhecimento-icon svg{
  width:42px;
  height:42px;
  stroke:var(--mostarda);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.reconhecimento-card p{
  margin:0;
  color:var(--texto);
  font-size:18px;
  line-height:1.55;
  font-weight:500;
  width:100%;
  text-align:center;
}

.reconhecimento-card a{
  color:#0645d9;
  text-decoration:underline;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:14px;
}

.btn-reconhecimento{
  display:inline-flex!important;
  align-items:center;
  gap:12px;
  min-width:290px;
  min-height:58px;
  padding:12px 28px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,var(--amarelo-2),var(--mostarda))!important;
  color:var(--texto)!important;
  font-size:19px!important;
  font-weight:700!important;
  box-shadow:0 16px 34px rgba(224,160,0,.24)!important;
}

.btn-reconhecimento-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn-reconhecimento-icon svg{
  width:30px;
  height:30px;
  stroke:#fff;
}

@media (max-width: 991px){
  .reconhecimento-cards{
    grid-template-columns:1fr;
  }

  .reconhecimento-card{
    min-height:auto;
  }
}

@media (max-width: 575px){
  .reconhecimento-card{
    align-items:center;
    text-align:center;
  }

  .btn-reconhecimento{
    width:100%;
    justify-content:center;
    min-width:0;
  }
}

@media (max-width: 768px){
  #divExtratoPagamento .table td:nth-child(1)::before{content:"Loja";}
  #divExtratoPagamento .table td:nth-child(2)::before{content:"Status";}
  #divExtratoPagamento .table td:nth-child(3)::before{content:"Vencimento";}
  #divExtratoPagamento .table td:nth-child(4)::before{content:"Total";}
  #divExtratoPagamento .table td:nth-child(5)::before{content:"Pago";}
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-select[readonly],
select:disabled{
  background:#fff7dc!important;
  color:#4f463d!important;
  border-color:rgba(36,27,18,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  opacity:1!important;
  cursor:default!important;
}

.premium-select.disabled .premium-select-button,
.premium-select-wrap.disabled .premium-select-button{
  background:#fff7dc!important;
  color:#4f463d!important;
  border-color:rgba(36,27,18,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  opacity:1!important;
  cursor:default!important;
  pointer-events:none!important;
}

.premium-select.disabled .premium-select-arrow,
.premium-select-wrap.disabled .premium-select-arrow{
  border-color:#b87d00!important;
  opacity:.65!important;
}

.premium-date-wrap.disabled input,
.premium-date-wrap input:disabled,
.premium-date-wrap input[readonly]{
  background:#fff7dc!important;
  color:#4f463d!important;
  border-color:rgba(36,27,18,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  opacity:1!important;
  cursor:default!important;
}

.premium-date-wrap.disabled .premium-date-button{
  color:#b87d00!important;
  opacity:.65!important;
  cursor:default!important;
  pointer-events:none!important;
}

.premium-select.disabled .premium-select-list{display:none!important;}
.premium-date-wrap.disabled .premium-calendar{display:none!important;}

/*border-collapse: separate;*/
/*
  margin-right: 0.5%;
  */
/* margin-left: 1%;
  margin-right: 1%; */
/* background-color: #fffafa; resolvi usar o bg-light*/
/* position: relative;*/
/*#198754;*/
/* #198754;*/
/*#157347;*/
/*#146c43;*/
/*#13653f;*/
