:root {
  --bg: #ffffff;
  --gold: #1764c0;
  --gold-dark: #104b94;
  --text: #263447;
  --white: #ffffff;
  --dark: #edf4fc;
  --card-bg: #ffffff;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: 'Montserrat', sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-dark); }

.topbar { background: #eaf2fc; padding: 8px 0; font-size: 13px; text-align: center; }
.topbar a { margin: 0 10px; }

header { background: #edf4fc; color: var(--text); padding: 15px 0; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 10px rgba(20,65,115,0.10); }
.header-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; }
.logo img { height: 76px; width: auto; max-width: 180px; object-fit: contain; background: transparent; border-radius: 0; padding: 0; display: block; }
.nav { display: flex; gap: 25px; font-weight: 600; }
.nav a { color: #104b94; }
.nav a:hover { color: var(--gold-dark); }
.header-actions { display: flex; align-items: center; gap: 20px; font-weight: 600; }
.cart { background: var(--gold); color: #ffffff; padding: 8px 16px; border-radius: 20px; }

.hero { background: linear-gradient(135deg, #f5f9ff 0%, #eaf3ff 100%); text-align: center; padding: 40px 20px; border-bottom: 4px solid var(--gold); }
.hero img { max-width: 100%; height: auto; border-radius: 8px; margin-bottom: 20px; }
.hero h1 { font-size: 2.5rem; margin-bottom: 10px; color: var(--gold); }
.hero p { font-size: 1.1rem; color: #50647b; }

.section { max-width: 1200px; margin: 50px auto; padding: 0 20px; }
.section h2 { text-align: center; font-size: 2rem; margin-bottom: 30px; color: var(--gold); position: relative; }
.section h2::after { content: ''; display: block; width: 80px; height: 3px; background: var(--gold); margin: 10px auto 0; }

.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 25px; }
.product-card { background: var(--card-bg); border-radius: 12px; overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; border: 1px solid #dbe5f1; }
.product-card:hover { transform: translateY(-8px); box-shadow: 0 10px 25px rgba(23, 100, 192, 0.14); }
.product-img { height: 220px; background: #f4f7fb; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-img img { width: 100%; height: 100%; object-fit: cover; }
.product-info { padding: 15px; text-align: center; }
.product-name { font-size: 0.95rem; font-weight: 600; margin-bottom: 8px; min-height: 48px; color: #263447; }
.price { font-size: 1.3rem; font-weight: 700; color: var(--gold); margin-bottom: 5px; }
.installments { font-size: 0.85rem; color: #63758a; }
.add-btn { display: block; margin-top: 12px; background: var(--gold); color: #ffffff; padding: 10px; border-radius: 6px; font-weight: 700; text-align: center; }
.add-btn:hover { background: var(--gold-dark); color: #ffffff; }

footer { background: #edf4fc; padding: 50px 20px 20px; margin-top: 60px; border-top: 4px solid var(--gold); }
.footer-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; }
footer h3 { color: var(--gold); margin-bottom: 15px; }
footer a { display: block; color: #40556e; margin: 6px 0; }
footer a:hover { color: var(--gold); }
.copyright { text-align: center; margin-top: 40px; padding-top: 20px; border-top: 1px solid #d2dfef; color: #65758b; font-size: 13px; }

.whatsapp-float { position: fixed; bottom: 25px; right: 25px; background: #25D366; color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 32px; box-shadow: 0 4px 15px rgba(0,0,0,0.4); z-index: 999; text-decoration: none; }
.whatsapp-float:hover { transform: scale(1.1); }

.content-page { max-width: 900px; margin: 40px auto; padding: 0 20px; color: #34465c; }
.content-page h1 { color: var(--gold); margin-bottom: 20px; }
.content-page p { margin-bottom: 15px; }

@media (max-width: 768px) {
  .nav { display: none; }
  .header-inner { flex-wrap: wrap; }
  .hero h1 { font-size: 1.8rem; }
}

/* Página de produto: galeria, compra e consulta de CEP */
.product-detail {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:36px;align-items:start;}
.product-gallery {display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;min-width:0;}
.product-thumbs {display:flex;flex-direction:column;gap:12px;}
.thumb {background:#fff;border:2px solid #dbe5f1;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:1;padding:3px;}
.thumb.active,.thumb:focus-visible {border-color:#1764c0;outline:none;}
.thumb img {display:block;width:100%;height:100%;object-fit:contain;}
.product-main-image {background:#fff;border:1px solid #dbe5f1;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:430px;}
.product-main-image img {width:100%;height:auto;max-height:560px;object-fit:contain;}
.product-purchase h1 {font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.25;color:#104b94;margin:12px 0 20px;}
.breadcrumbs {font-size:.78rem;color:#60758c;}.breadcrumbs a {color:#1764c0;}
.product-price {font-size:2rem;color:#1764c0;font-weight:800;margin-bottom:10px;}
.payment-detail {font-size:.9rem;margin:6px 0;color:#34465c;}.payment-detail strong {color:#104b94;}
.product-description {margin:24px 0;color:#52657c;}
.purchase-controls {display:flex;align-items:stretch;gap:12px;margin:24px 0 6px;}
.quantity-picker {display:flex;align-items:center;border:1px solid #b5cbe5;border-radius:10px;overflow:hidden;flex-shrink:0;}
.quantity-picker button {background:#edf4fc;border:0;color:#104b94;font-size:1.5rem;font-weight:700;width:40px;cursor:pointer;}
.quantity-picker input {border:0;text-align:center;width:42px;font:600 1rem Montserrat,sans-serif;color:#263447;appearance:textfield;-moz-appearance:textfield;}
.quantity-picker input::-webkit-inner-spin-button,.quantity-picker input::-webkit-outer-spin-button {-webkit-appearance:none;margin:0;}
.buy-button {flex:1;background:#1764c0;border:0;border-radius:10px;color:white;font:800 .95rem Montserrat,sans-serif;letter-spacing:1px;cursor:pointer;min-height:48px;}
.buy-button:hover {background:#104b94;}
.shipping-calculator {margin-top:28px;}.shipping-calculator h2 {font-size:1rem;text-align:left;margin:0 0 12px;color:#104b94;}
.shipping-calculator h2::after {display:none;}.cep-form {display:flex;border:1px solid #b5cbe5;border-radius:9px;overflow:hidden;}
.cep-form input {min-width:0;flex:1;border:0;padding:13px;font:500 .9rem Montserrat,sans-serif;outline-offset:-3px;}
.cep-form button {background:#edf4fc;border:0;border-left:1px solid #b5cbe5;color:#104b94;padding:0 16px;font-weight:800;cursor:pointer;}
.cep-form button:hover {background:#dbeaff;}.cep-help {display:inline-block;font-size:.8rem;margin-top:10px;}
.product-feedback {font-size:.83rem;line-height:1.5;color:#104b94;margin-top:9px;min-height:1em;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:850px){.product-detail {grid-template-columns:1fr;gap:24px;}.product-main-image {min-height:280px;}}
@media(max-width:480px){.product-gallery {grid-template-columns:60px minmax(0,1fr);gap:8px;}.purchase-controls {gap:8px;}.quantity-picker button {width:34px;}.quantity-picker input {width:32px;}.cep-form button {padding:0 10px;}}

/* ===== Banner Black November ===== */
.bn-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 25% 50%,#12356b 0%,#0a1a36 45%,#05080f 100%);border-bottom:4px solid #ffc815;}
.bn-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px);pointer-events:none;}
.bn-inner{position:relative;max-width:1200px;margin:0 auto;padding:48px 20px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;align-items:center;}
.bn-logo-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px;}
.bn-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(23,140,255,.75) 0%,rgba(23,100,192,.25) 55%,transparent 72%);animation:bn-pulse 3.5s ease-in-out infinite;}
.bn-logo{position:relative;width:min(340px,80%);height:auto;filter:drop-shadow(0 18px 24px rgba(0,0,0,.55));animation:bn-float 4s ease-in-out infinite;}
.bn-shadow{position:absolute;bottom:8px;width:200px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);filter:blur(8px);animation:bn-shadow 4s ease-in-out infinite;}
.bn-spark{position:absolute;color:#ffc815;font-size:22px;animation:bn-twinkle 2.4s ease-in-out infinite;}
.bn-spark:nth-of-type(1){top:12%;left:14%}
.bn-spark:nth-of-type(2){top:22%;right:10%;animation-delay:.8s;font-size:30px}
.bn-spark:nth-of-type(3){bottom:20%;left:8%;animation-delay:1.4s;font-size:16px}
.bn-spark:nth-of-type(4){bottom:30%;right:14%;animation-delay:.4s;font-size:18px}
.bn-tag{display:inline-block;background:#ffc815;color:#0a1a36;font-weight:800;font-size:.8rem;letter-spacing:.12em;padding:6px 14px;border-radius:999px;margin-bottom:14px;animation:bn-pop 2s ease-in-out infinite;}
.bn-title{font-size:clamp(2.6rem,6.5vw,4.8rem);line-height:.95;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;}
.bn-title span{display:block;}
.bn-title .bn-black{color:#fff;text-shadow:0 4px 0 #000;}
.bn-title .bn-nov{background:linear-gradient(90deg,#ffc815,#fff3b0,#ffc815);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bn-shine 3s linear infinite;}
.bn-sub{margin:16px 0 20px;font-size:1.1rem;color:#cfe0f7;max-width:520px;}
.bn-perks{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.bn-perks li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:8px 14px;border-radius:10px;font-weight:700;font-size:.9rem;}
.bn-perks b{color:#ffc815;}
.bn-timer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.bn-timer-label{font-weight:700;font-size:.85rem;color:#ffc815;text-transform:uppercase;letter-spacing:.06em;}
.bn-timer-box{display:flex;gap:8px;}
.bn-timer-box div{background:#000;border:1px solid #ffc815;border-radius:8px;min-width:58px;padding:6px 8px;text-align:center;}
.bn-timer-box strong{display:block;font-size:1.5rem;line-height:1.1;font-variant-numeric:tabular-nums;}
.bn-timer-box small{font-size:.65rem;text-transform:uppercase;color:#9fb7d6;}
.bn-cta{display:flex;flex-wrap:wrap;gap:12px;}
.bn-btn{display:inline-block;padding:14px 26px;border-radius:10px;font-weight:800;text-transform:uppercase;font-size:.95rem;transition:transform .2s,box-shadow .2s;}
.bn-btn:hover{transform:translateY(-3px);}
.bn-btn-primary{background:#ffc815;color:#0a1a36;box-shadow:0 0 0 0 rgba(255,200,21,.7);animation:bn-ring 2s infinite;}
.bn-btn-primary:hover{color:#0a1a36;background:#ffd84a;}
.bn-btn-ghost{background:transparent;color:#fff;border:2px solid #fff;}
.bn-btn-ghost:hover{background:#fff;color:#0a1a36;}
.bn-coupon{margin-top:16px;font-size:.9rem;color:#cfe0f7;}
.bn-coupon strong{background:#fff;color:#0a1a36;padding:2px 10px;border-radius:6px;border:2px dashed #1764c0;margin-left:4px;}
@keyframes bn-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-22px) rotate(2deg)}}
@keyframes bn-shadow{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(.7);opacity:.3}}
@keyframes bn-pulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.12);opacity:1}}
@keyframes bn-twinkle{0%,100%{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}
@keyframes bn-shine{to{background-position:-200% 0}}
@keyframes bn-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes bn-ring{0%{box-shadow:0 0 0 0 rgba(255,200,21,.6)}70%{box-shadow:0 0 0 16px rgba(255,200,21,0)}100%{box-shadow:0 0 0 0 rgba(255,200,21,0)}}
@media (max-width:768px){
  .bn-inner{grid-template-columns:1fr;padding:32px 16px;text-align:center;}
  .bn-logo-wrap{min-height:270px;}
  .bn-glow{width:260px;height:260px;}
  .bn-logo{width:200px;}
  .bn-sub{margin-left:auto;margin-right:auto;}
  .bn-perks,.bn-timer,.bn-cta{justify-content:center;}
  .bn-btn{width:100%;text-align:center;}
}
@media (prefers-reduced-motion:reduce){.bn-hero *{animation:none!important;}}

/* Barra de pesquisa e navegação */
.search{display:flex;flex:0 1 280px;min-width:0;background:#fff;border:2px solid #cfdcec;border-radius:999px;overflow:hidden;}
.search:focus-within{border-color:var(--gold);}
.search input{flex:1;min-width:0;border:0;outline:0;padding:9px 16px;font:inherit;font-size:.9rem;background:transparent;color:var(--text);}
.search button{border:0;background:var(--gold);color:#fff;padding:0 16px;cursor:pointer;font-size:1rem;}
.search button:hover{background:var(--gold-dark);}
@media (max-width:768px){
  .nav{display:flex!important;order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:.9rem;}
  .search{order:4;flex:1 1 100%;margin-top:10px;}
  .header-inner{gap:0;}
  .logo img{height:56px;}
}
footer p a{display:inline;margin:0;}

/* ===== Carrinho lateral ===== */
.cd-overlay{position:fixed;inset:0;background:rgba(5,12,25,.55);opacity:0;visibility:hidden;transition:.25s;z-index:1000;}
.cd-overlay.open{opacity:1;visibility:visible;}
.cd{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:#fff;z-index:1001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;box-shadow:-8px 0 30px rgba(0,0,0,.2);}
.cd.open{transform:none;}
body.cd-lock{overflow:hidden;}
.cd-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;}
.cd-head h2{font-size:1.5rem;font-weight:800;color:#0a1a36;}
.cd-x{border:0;background:#f1f4f8;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1rem;}
.cd-promo{background:#fff4d1;color:#5b4300;text-align:center;padding:10px;font-size:.9rem;}
.cd-ship{padding:14px 20px 4px;text-align:center;font-size:.9rem;}
.cd-bar{height:8px;background:#e3e9f1;border-radius:99px;margin-top:8px;overflow:hidden;}
.cd-bar span{display:block;height:100%;background:#1764c0;border-radius:99px;transition:width .3s;}
.cd-body{flex:1;overflow-y:auto;padding:10px 20px;}
.cd-list{list-style:none;}
.cd-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #e3e9f1;position:relative;}
.cd-item img{width:84px;height:84px;object-fit:cover;border-radius:8px;background:#f4f7fb;flex:none;}
.cd-info{flex:1;min-width:0;padding-right:26px;}
.cd-name{font-weight:700;font-size:.92rem;margin-bottom:10px;}
.cd-row{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.cd-qty{display:flex;border:1px solid #cfdcec;border-radius:6px;overflow:hidden;}
.cd-qty button{width:32px;border:0;background:#fff;cursor:pointer;font-size:1.1rem;}
.cd-qty button:hover{background:#edf4fc;}
.cd-qty input{width:42px;text-align:center;border:0;border-left:1px solid #cfdcec;border-right:1px solid #cfdcec;font:inherit;font-size:.9rem;-moz-appearance:textfield;}
.cd-qty input::-webkit-outer-spin-button,.cd-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cd-price{white-space:nowrap;}
.cd-rm{position:absolute;top:14px;right:0;border:0;background:none;cursor:pointer;font-size:1rem;opacity:.65;}
.cd-rm:hover{opacity:1;}
.cd-empty{text-align:center;padding:60px 0;color:#52657c;}
.cd-foot{padding:16px 20px 20px;border-top:1px solid #e3e9f1;text-align:center;}
.cd-buy{display:block;background:#1764c0;color:#fff;padding:15px;border-radius:8px;font-weight:800;}
.cd-buy:hover{background:#104b94;color:#fff;}
.cd-link{background:none;border:0;margin-top:12px;cursor:pointer;font:inherit;font-size:.9rem;color:#263447;text-decoration:underline;}
.add-cart-btn{display:block;width:100%;margin-top:8px;padding:10px;border:2px solid var(--gold);background:#fff;color:var(--gold);border-radius:6px;font:inherit;font-weight:700;cursor:pointer;}
.add-cart-btn:hover{background:var(--gold);color:#fff;}

/* ===== Catálogo e produto ===== */
.product-img{position:relative;background:#fff;}
.product-img img{object-fit:contain!important;padding:6px;}
.product-name{display:block;color:#263447;}
.product-name:hover{color:var(--gold);}
.pix-price{font-size:.85rem;font-weight:700;color:#0b7a3b;margin-top:2px;}
.add-btn.disabled{background:#c9d3df;color:#fff;cursor:not-allowed;}
.product-card.sold .product-img img{opacity:.55;}
.badge-sold{position:absolute;top:10px;left:10px;background:#c22;color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:99px;text-transform:uppercase;}
.badge-sold.big{top:16px;left:16px;font-size:.85rem;}
.product-main-image{position:relative;}
.cat-title{text-align:center;font-size:2rem;color:var(--gold);margin-bottom:18px;}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;}
.chip{padding:8px 18px;border-radius:99px;border:2px solid #cfdcec;font-weight:700;font-size:.9rem;color:#104b94;background:#fff;}
.chip.on,.chip:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;background:#edf4fc;border-radius:10px;}
.toolbar .count{font-weight:700;color:#104b94;margin-right:auto;}
.toolbar select{padding:9px 12px;border:1px solid #cfdcec;border-radius:8px;font:inherit;font-size:.88rem;background:#fff;max-width:100%;}
.empty{text-align:center;padding:50px 0;color:#52657c;}
.btn-more{display:block;margin:30px auto 0;padding:13px 34px;border:2px solid var(--gold);background:#fff;color:var(--gold);border-radius:8px;font:inherit;font-weight:800;cursor:pointer;}
.btn-more:hover{background:var(--gold);color:#fff;}
.buy-now{width:100%;margin-top:10px;padding:13px;border:2px solid #1764c0;background:#fff;color:#1764c0;border-radius:10px;font:800 .95rem Montserrat,sans-serif;cursor:pointer;}
.buy-now:hover{background:#edf4fc;}
.soldout-note{color:#c22;font-weight:700;margin:16px 0 0;}
.product-info-blocks{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;margin-top:0;}
.product-info-blocks h2{text-align:left;font-size:1.2rem;margin-bottom:12px;color:#104b94;}
.product-info-blocks h2::after{display:none;}
.product-info-blocks p{color:#52657c;}
.spec{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:.92rem;}
.spec dt{font-weight:700;color:#104b94;}
#related h2{font-size:1.4rem;}
.nf{text-align:center;padding:60px 0;grid-column:1/-1;}.nf p{margin:10px 0 20px;}.nf .add-btn{display:inline-block;padding:12px 28px;}
@media(max-width:850px){.product-info-blocks{grid-template-columns:1fr;}.toolbar .count{width:100%;}}

.ship-list{list-style:none;margin:8px 0 0;}
.ship-list li{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #cfdcec;border-radius:8px;margin-bottom:8px;background:#fff;color:#263447;}
.ship-list li strong{color:#104b94;}
.ship-list li span{font-size:.8rem;color:#52657c;}
