/* AlbiCuidar — tema visual baseado nos flyers Albisales / miminhoaosavos */
:root{
  --albi-navy:#14265f;
  --albi-navy-2:#223b78;
  --albi-blue:#385b98;
  --albi-orange:#e86b2c;
  --albi-orange-dark:#c9511d;
  --albi-cream:#f7f3ec;
  --albi-paper:#fffdf9;
  --albi-text:#1d2944;
  --albi-muted:#66728a;
  --albi-line:#dce2ec;
  --albi-shadow:0 18px 45px rgba(20,38,95,.12);
}
html{scroll-behavior:smooth;}
body{background:var(--albi-cream)!important;color:var(--albi-text)!important;}
body::before{background:radial-gradient(circle at 15% 10%,rgba(232,107,44,.07),transparent 30%),radial-gradient(circle at 90% 5%,rgba(56,91,152,.10),transparent 32%)!important;background-size:auto!important;}
header{background:rgba(255,253,249,.96)!important;border-bottom:1px solid var(--albi-line)!important;box-shadow:0 7px 28px rgba(20,38,95,.06)!important;}
.logo{color:var(--albi-navy)!important;}
.logo-img{width:220px!important;height:64px!important;object-fit:contain!important;object-position:left center!important;}
nav a,.voltar-link{color:var(--albi-navy)!important;}
nav a:hover,.voltar-link:hover,.logo:hover{color:var(--albi-orange)!important;}
.cta-top,.btn-primary,.btn-add-cart,.btn-checkout,.formulario-contacto button{background:var(--albi-orange)!important;color:#fff!important;border-color:var(--albi-orange)!important;box-shadow:0 10px 24px rgba(232,107,44,.18)!important;}
.cta-top:hover,.btn-primary:hover,.btn-add-cart:hover,.btn-checkout:hover,.formulario-contacto button:hover{background:var(--albi-orange-dark)!important;color:#fff!important;transform:translateY(-2px);}
.btn-secondary{border-color:var(--albi-navy)!important;color:var(--albi-navy)!important;background:transparent!important;}
.btn-secondary:hover{background:var(--albi-navy)!important;color:#fff!important;}
.section-number{color:var(--albi-orange)!important;}
.section-header h2,.process-header h2,.contact h2,h1,h2,h3{color:var(--albi-navy)!important;}
.section-header p,.process-header p,.contact p,p,li,.subtitulo{color:var(--albi-muted)!important;}
a{color:var(--albi-orange);}
.hero{background:linear-gradient(135deg,#fffdf9 0%,#f4f6fb 55%,#eef2fa 100%)!important;}
.hero h1{color:var(--albi-navy)!important;text-shadow:none!important;}
.hero h1 span{color:var(--albi-orange)!important;}
.hero-text,.small-info{color:var(--albi-muted)!important;}
.hero-card{background:#fff!important;border:1px solid var(--albi-line)!important;box-shadow:var(--albi-shadow)!important;}
.hero-card img{filter:none!important;}
.circuit-line-container,.circuit-overlay,.scan-line,.glow-ring,.hud-corner{display:none!important;}
.services,.manifesto,.payment-methods,.trustpilot-section{background:var(--albi-paper)!important;border-color:var(--albi-line)!important;}
.services-grid,.manifesto-grid{position:relative;z-index:2;}
.service-card,.manifesto-card,.produto-card,.chapter-card,.card-info,.form-container,.filter-group,.produto-container{background:#fff!important;border:1px solid var(--albi-line)!important;box-shadow:0 12px 32px rgba(20,38,95,.07)!important;color:var(--albi-text)!important;}
.service-card:hover,.produto-card:hover,.chapter-card:hover{border-color:rgba(232,107,44,.65)!important;box-shadow:0 18px 42px rgba(20,38,95,.12)!important;}
.service-icon{background:rgba(232,107,44,.11)!important;color:var(--albi-orange)!important;border-color:rgba(232,107,44,.2)!important;}
.service-card h3,.produto-card h4,.chapter-card h3{color:var(--albi-navy)!important;}
.service-card p,.produto-card p,.chapter-card p{color:var(--albi-muted)!important;}
.process{background:linear-gradient(135deg,var(--albi-navy),#1d3878)!important;}
.process .process-header h2,.process .process-header p,.process .timeline-item h3,.process .timeline-item p{color:#fff!important;}
.timeline-number{color:var(--albi-orange)!important;border-color:rgba(255,255,255,.25)!important;}
.timeline::before{background:rgba(255,255,255,.2)!important;}
.contact{background:var(--albi-cream)!important;}
.contact-info div,.contact-info a{color:var(--albi-navy)!important;}
.formulario-contacto label{color:var(--albi-navy)!important;}
.formulario-contacto input,.formulario-contacto select,.formulario-contacto textarea,input,select,textarea{background:#fff!important;color:var(--albi-text)!important;border-color:#cfd7e6!important;}
.formulario-contacto input:focus,.formulario-contacto select:focus,.formulario-contacto textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--albi-orange)!important;box-shadow:0 0 0 3px rgba(232,107,44,.10)!important;}
.mapa-container{border:1px solid var(--albi-line)!important;box-shadow:var(--albi-shadow)!important;}
footer{background:var(--albi-navy)!important;border-color:rgba(255,255,255,.12)!important;}
footer p,footer li,footer .footer-text,footer .footer-legal-info{color:#dbe3f3!important;}
footer a{color:#fff!important;}
footer a:hover{color:#ffad82!important;}
footer .logo-img{background:#fff;border-radius:10px;padding:4px;}
#cart-sidebar,.cart-sidebar{background:#fff!important;color:var(--albi-text)!important;border-left:1px solid var(--albi-line)!important;}
#cart-sidebar h2,.cart-sidebar h2{color:var(--albi-orange)!important;}
.payment-badge{background:#fff!important;border-color:var(--albi-line)!important;color:var(--albi-text)!important;}
#page-loader{background:var(--albi-cream)!important;}
#page-loader .loader-spinner{border-color:rgba(232,107,44,.18)!important;border-top-color:var(--albi-orange)!important;}
#page-loader .loader-texto{color:var(--albi-navy)!important;}
.mobile-contact-bar{background:var(--albi-navy)!important;border-color:rgba(255,255,255,.15)!important;}
.mobile-contact-bar a{color:#fff!important;}
/* Cabeçalho visual / hero da nova marca */
.albi-care-visual{min-height:390px;padding:34px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:linear-gradient(145deg,#fff,#f1f4fa);}
.albi-care-visual .albi-mark{width:min(100%,460px);height:auto;display:block;margin:0 auto 8px;}
.albi-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.albi-feature{background:#fff;border:1px solid var(--albi-line);border-radius:14px;padding:16px 12px;text-align:center;color:var(--albi-navy);font-weight:800;font-size:.82rem;box-shadow:0 8px 22px rgba(20,38,95,.06);}
.albi-feature i{display:block;color:var(--albi-orange);font-size:1.55rem;margin-bottom:8px;}
.albi-ribbon{display:inline-flex;align-items:center;gap:8px;background:rgba(232,107,44,.11);color:var(--albi-orange);border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:800;letter-spacing:.7px;text-transform:uppercase;width:max-content;max-width:100%;}
.albi-intro{max-width:760px;margin:0 auto 35px;text-align:center;}
.albi-intro strong{color:var(--albi-navy)!important;}
.albi-service-note{margin-top:26px;padding:18px 22px;border-left:4px solid var(--albi-orange);background:#fff;border-radius:8px;color:var(--albi-muted);}
/* Catálogo */
.filters-container,.chapters-section,.products-section{background:transparent!important;}
.filter-group label,.chapters-title{color:var(--albi-navy)!important;}
.product-price,.preco,.price{color:var(--albi-orange)!important;}
/* tabela/admin */
table{color:var(--albi-text)!important;}
/* Responsivo */
@media(max-width:900px){.logo-img{width:175px!important;height:54px!important;}.albi-feature-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){header{height:72px!important;}.logo-img{width:145px!important;height:48px!important;}.hero{padding-top:95px!important;}.albi-care-visual{min-height:auto;padding:24px 18px}.albi-feature-grid{grid-template-columns:1fr}.hero-wrapper{gap:30px!important;}}
@media(max-width:480px){.logo-img{width:128px!important;height:42px!important;}.albi-care-visual .albi-mark{width:100%;}.albi-ribbon{font-size:.64rem;}}

/* Ajustes finais inspirados no esboço em papel */
header{padding-right:86px!important;}
.cart-btn-floating{position:fixed!important;top:16px!important;right:22px!important;bottom:auto!important;width:50px!important;height:50px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--albi-line)!important;color:var(--albi-navy)!important;box-shadow:0 8px 24px rgba(20,38,95,.12)!important;z-index:1200!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.cart-count{background:var(--albi-orange)!important;color:#fff!important;}
.albi-three-services{grid-template-columns:repeat(3,1fr)!important;gap:24px!important;}
.albi-three-services .service-card{padding:30px 26px!important;}
.albi-three-services .service-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:16px;font-size:1.55rem;margin-bottom:18px;}
.albi-three-services ul{margin-top:18px;padding-left:18px;}
.albi-three-services li{margin:7px 0;color:var(--albi-muted)!important;}
.footer-logo{display:flex;justify-content:center;align-items:center;}
.footer-logo .logo-img{width:min(330px,80vw)!important;height:auto!important;}
@media(max-width:1050px){header nav{gap:18px!important;}header .cta-top{display:none!important;}}
@media(max-width:900px){.albi-three-services{grid-template-columns:1fr!important;}header{padding-right:72px!important;}.cart-btn-floating{top:12px!important;right:14px!important;width:46px!important;height:46px!important;}}

/* O modelo de produto herdado ainda contém campos RAM/armazenamento da loja anterior. Ficam ocultos até serem substituídos por medidas, peso, dimensões e outros atributos ortopédicos. */
.filter-group:has(#filterRam),.filter-group:has(#filterStorage),#pd-especificacoes{display:none!important;}
.page-title-bar h2{color:var(--albi-navy)!important;}

/* Cartões genéricos das páginas de conta, apoio e checkout */
.card,.login-card,.register-card,.auth-card,.account-card,.support-card,.checkout-card,.modal-content{background:#fff!important;color:var(--albi-text)!important;border-color:var(--albi-line)!important;box-shadow:0 12px 32px rgba(20,38,95,.08)!important;}
.card h1,.card h2,.card h3,.login-card h1,.register-card h1,.auth-card h1{color:var(--albi-navy)!important;}
.card p,.card label,.login-card p,.login-card label,.register-card p,.register-card label{color:var(--albi-muted)!important;}
.aviso-sessao{background:rgba(232,107,44,.08)!important;border-color:rgba(232,107,44,.28)!important;color:var(--albi-text)!important;}

/* ============================================================
   AlbiCuidar — correções de navegação e composição mobile
   ============================================================ */
@media (max-width: 768px){
  body.menu-open{overflow:hidden!important;}

  header{
    height:72px!important;
    padding:0 126px 0 12px!important;
    display:flex!important;
    align-items:center!important;
    background:rgba(255,253,249,.98)!important;
  }

  header .logo{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    z-index:1302!important;
  }

  header .logo-img{
    width:128px!important;
    height:42px!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .mobile-menu-btn{
    display:flex!important;
    position:fixed!important;
    top:14px!important;
    right:70px!important;
    width:42px!important;
    height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:12px!important;
    background:var(--albi-navy)!important;
    color:#fff!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:700!important;
    box-shadow:0 7px 18px rgba(20,38,95,.18)!important;
    cursor:pointer!important;
    z-index:1305!important;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-menu-btn:focus-visible{
    outline:3px solid rgba(232,107,44,.35)!important;
    outline-offset:2px!important;
  }

  .cart-btn-floating{
    top:12px!important;
    right:12px!important;
    width:46px!important;
    height:46px!important;
    z-index:1304!important;
  }

  header nav{
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 72px)!important;
    overflow-y:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:10px 16px 18px!important;
    background:rgba(255,253,249,.995)!important;
    border-top:1px solid var(--albi-line)!important;
    border-bottom:1px solid var(--albi-line)!important;
    box-shadow:0 18px 36px rgba(20,38,95,.16)!important;
    transform:translateY(-120%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .28s ease,opacity .2s ease,visibility .2s ease!important;
    z-index:1299!important;
  }

  header nav.active{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  header nav a{
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    padding:13px 10px!important;
    color:var(--albi-navy)!important;
    border-bottom:1px solid #edf0f5!important;
    font-size:.84rem!important;
    font-weight:800!important;
    letter-spacing:1.4px!important;
    line-height:1.25!important;
  }

  header nav a:last-child{border-bottom:0!important;}
  header nav a:hover,header nav a:focus{color:var(--albi-orange)!important;}

  .hero{
    min-height:auto!important;
    padding:96px 16px 58px!important;
    align-items:flex-start!important;
  }

  .hero-wrapper{
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .small-info{
    margin:0 0 18px!important;
    letter-spacing:1px!important;
  }

  .albi-ribbon{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    font-size:.68rem!important;
    line-height:1.35!important;
    padding:9px 12px!important;
  }

  .hero h1{
    margin:0!important;
    font-size:clamp(2.15rem,10.8vw,3rem)!important;
    line-height:1.02!important;
    overflow-wrap:normal!important;
  }

  .hero-buttons{
    margin-top:26px!important;
    gap:12px!important;
    max-width:none!important;
  }

  .hero .btn-primary,.hero .btn-secondary{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:15px 18px!important;
  }

  .hero-text{
    margin-top:26px!important;
    max-width:none!important;
    font-size:1rem!important;
    line-height:1.65!important;
  }

  .hero-card{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
  }

  .albi-care-visual{
    padding:22px 16px!important;
    gap:14px!important;
  }

  .albi-care-visual .albi-mark{
    width:min(100%,320px)!important;
    margin:0 auto 6px!important;
  }

  .albi-feature-grid{
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .albi-feature{
    padding:13px 12px!important;
  }
}

@media (max-width: 360px){
  header{padding-right:120px!important;}
  header .logo-img{width:118px!important;}
  .mobile-menu-btn{right:66px!important;width:40px!important;height:40px!important;}
  .cart-btn-floating{right:10px!important;width:44px!important;height:44px!important;}
  .hero{padding-left:13px!important;padding-right:13px!important;}
  .hero h1{font-size:2.1rem!important;}
}
