:root{
  --wine:#6a2940;
  --wine-dark:#4d1b2d;
  --wine-soft:#8a425b;
  --gold:#a36a26;
  --cream:#fbf6f1;
  --beige:#eadbce;
  --sand:#d8c0ad;
  --ink:#2c2325;
  --muted:#776c6e;
  --line:#e7ddd7;
  --white:#fff;
  --success:#2e7355;
  --danger:#9b2d3f;
  --shadow:0 18px 50px rgba(73,35,45,.14);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.announcement{min-height:34px;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:6px 5vw;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.announcement span{opacity:.45;margin:0 8px}
.site-header{height:86px;background:rgba(255,252,248,.96);backdrop-filter:blur(14px);display:grid;grid-template-columns:240px 1fr auto;align-items:center;padding:0 5vw;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(107,42,65,.08)}
.brand img{width:175px;height:62px;object-fit:cover;object-position:center 48%;border-radius:8px}
.main-nav{display:flex;justify-content:center;gap:30px;font-size:14px}
.main-nav a{position:relative;padding:30px 2px 27px}
.main-nav a:after{content:'';position:absolute;height:2px;left:0;right:100%;bottom:22px;background:var(--gold);transition:.25s}
.main-nav a:hover:after,.main-nav a.active:after{right:0}
.main-nav:hover a.active:not(:hover):after{right:100%}
.header-actions{display:flex;align-items:center;gap:9px}
.icon-btn{border:0;background:transparent;width:42px;height:42px;border-radius:50%;font-size:24px;color:var(--ink);position:relative}
.icon-btn:hover{background:#f1e8e3}
.cart-count{position:absolute;right:1px;top:1px;width:18px;height:18px;border-radius:50%;background:var(--wine);color:#fff;font-size:10px;display:grid;place-items:center}
.mobile-menu-btn{display:none;border:0;background:none;font-size:24px}
.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:610px;background:linear-gradient(90deg,#fbf5ee 0%,#f7ece4 48%,#ead6c4 100%)}
.hero-copy{padding:78px 5vw 52px 6vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:700;text-transform:uppercase}
h1,h2,h3{font-family:'Playfair Display',serif;margin:0;color:var(--wine-dark)}
.hero h1{font-size:clamp(48px,5.1vw,78px);line-height:.98;margin:14px 0 24px;font-weight:600}
.hero-copy>p{font-size:17px;line-height:1.65;max-width:610px;color:#62575a}
.hero-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:6px;border:1px solid transparent;font-weight:600;transition:.2s}
.btn.primary{background:var(--wine);color:#fff;border-color:var(--wine)}
.btn.primary:hover{background:var(--wine-dark);transform:translateY(-1px)}
.btn.ghost{border-color:#c9b3a9;color:var(--wine-dark);background:transparent}
.btn.ghost:hover{background:#fff}
.btn.ghost.dark{border-color:#b89f91}
.btn.full{width:100%}
.btn.small{min-height:36px;padding:0 14px;font-size:13px}
.benefits{display:flex;gap:28px;margin-top:44px;padding-top:24px;border-top:1px solid #dbcabd;flex-wrap:wrap}
.benefits>div{display:flex;align-items:center;gap:9px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#5e5355}
.benefits span{font-size:22px;color:var(--gold)}
.hero-media{position:relative;overflow:hidden;min-height:610px}
.hero-media:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,232,220,.48),transparent 35%);z-index:1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.script-note{position:absolute;z-index:2;right:7%;top:15%;font-family:'Playfair Display',serif;font-size:24px;font-style:italic;transform:rotate(-8deg);color:var(--wine);text-align:center}
.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e4d6cb;padding:1px 3vw}
.category-card{display:grid;grid-template-columns:1.1fr 1fr;min-height:210px;background:#f7eee7;overflow:hidden}
.category-card img{width:100%;height:100%;object-fit:cover}
.category-card>div{padding:34px 22px;align-self:center}
.category-card h3{font-size:29px;margin-bottom:8px}
.category-card p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7f6c67;line-height:1.6;min-height:36px}
.category-card a{display:inline-block;margin-top:12px;color:var(--wine);border-bottom:1px solid #a98b7e;padding-bottom:3px;font-size:13px}
.product-section{padding:78px 5vw 88px;background:#fffaf6}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-heading h2,.personalization h2,.about h2,.instagram-title h2{font-size:42px;margin-top:6px}
.product-tools{display:flex;gap:10px}
.search-field{height:42px;border:1px solid var(--line);border-radius:7px;background:#fff;display:flex;align-items:center;padding:0 12px;min-width:220px}
.search-field input{border:0;outline:0;background:transparent;width:100%;padding-left:8px}
.product-tools select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 12px;color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.product-card{border:1px solid #eadfd9;background:#fff;border-radius:12px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 5px 22px rgba(69,42,49,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer}
.product-card:hover,.product-card:focus-within,.product-card:focus{transform:translateY(-8px);box-shadow:0 20px 44px rgba(69,42,49,.18);border-color:rgba(106,41,64,.38);outline:none}
.product-card:focus-visible{box-shadow:0 0 0 3px rgba(163,106,38,.24),0 20px 44px rgba(69,42,49,.18)}
.product-photo{aspect-ratio:1/1.08;background:#efe4db;overflow:hidden;position:relative}
.product-photo img{width:100%;height:100%;object-fit:cover;transition:.35s}
.product-card:hover .product-photo img,.product-card:focus .product-photo img{transform:scale(1.075)}
.favorite-btn{position:absolute;top:10px;right:10px;width:34px;height:34px;background:rgba(255,255,255,.9);border:1px solid #e9dcd4;border-radius:50%;z-index:2;font-size:18px;color:var(--wine)}
.sale-badge,.stock-badge{position:absolute;left:10px;top:10px;background:var(--wine);color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;z-index:2}
.stock-badge{top:auto;bottom:10px;background:#2f2a2b}
.product-info{padding:15px;display:flex;flex-direction:column;flex:1}
.product-info h3{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);font-weight:600;line-height:1.35;margin-bottom:8px}
.product-category{font-size:11px;color:#98888a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.price-wrap{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.price{font-size:18px;font-weight:700;color:var(--wine)}
.old-price{text-decoration:line-through;color:#a79b9d;font-size:12px}
.product-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:13px}
.product-actions button{min-height:40px;border-radius:6px}
.add-cart{background:var(--wine);border:1px solid var(--wine);color:#fff;font-weight:600}
.quick-view{width:42px;border:1px solid #d9c8bf;background:#fff;color:var(--wine);font-size:20px}.quick-view:hover{background:#f7ece8;border-color:var(--wine)}
.add-cart:disabled{background:#bfb4b7;border-color:#bfb4b7;cursor:not-allowed}
.empty-state{padding:50px;text-align:center;border:1px dashed #d9c8bf;border-radius:12px;color:var(--muted)}
.personalization{display:grid;grid-template-columns:1.1fr 1fr .75fr;min-height:460px;background:#f1dfd3}
.personalization-image{overflow:hidden}
.personalization-image img{width:100%;height:100%;object-fit:cover}
.personalization-copy{padding:65px 48px;display:flex;flex-direction:column;justify-content:center}
.personalization-copy p{line-height:1.7;color:#66595a}
.personalization-copy .btn{align-self:flex-start;margin-top:14px}
.personalization-points{padding:65px 34px 65px 10px;display:flex;flex-direction:column;justify-content:center;gap:26px}
.personalization-points>div{display:grid;grid-template-columns:40px 1fr;gap:12px}
.personalization-points span{font-size:27px;color:var(--wine)}
.personalization-points p{margin:0;line-height:1.5;font-size:13px}
.about{padding:82px 5vw;display:grid;grid-template-columns:.85fr 1.6fr;gap:56px;background:#fff}
.about-copy{align-self:center}
.about-copy p{line-height:1.75;color:#675b5d;margin:18px 0 24px}
.about-gallery{display:grid;grid-template-columns:1fr .85fr 1fr;gap:12px;min-height:330px}
.about-gallery img{height:100%;width:100%;object-fit:cover;border-radius:8px}
.quote-tile{background:var(--wine);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:'Playfair Display',serif;letter-spacing:.11em;line-height:1.8;border-radius:8px}
.quote-tile span{color:#d6a854;font-size:28px}
.instagram-strip{padding:52px 5vw 70px;background:#f8efe8;display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center}
.instagram-title h2{font-size:30px}
.instagram-title p{color:var(--wine);font-weight:600}
.instagram-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.instagram-grid img{aspect-ratio:1;object-fit:cover;border-radius:6px}
footer{background:linear-gradient(135deg,var(--wine-dark),var(--wine));color:#f9edf1;padding:54px 5vw 22px;display:grid;grid-template-columns:1.3fr repeat(3,.75fr) 1.25fr;gap:34px;position:relative}
footer h4{margin:0 0 14px;font-size:14px;color:#fff}
footer a{display:block;font-size:12px;opacity:.88;margin:8px 0}
footer a:hover{opacity:1;text-decoration:underline}
.footer-brand img{width:190px;height:95px;object-fit:cover;object-position:center;background:#fff0;border-radius:6px}
.footer-brand p{font-family:'Playfair Display',serif;font-style:italic;opacity:.8}
.newsletter form{display:flex;border:1px solid rgba(255,255,255,.35);border-radius:6px;overflow:hidden}
.newsletter input{flex:1;min-width:0;border:0;background:rgba(255,255,255,.07);color:#fff;padding:11px;outline:0}
.newsletter input::placeholder{color:#d8c2ca}
.newsletter button{width:44px;border:0;background:#d5ad68;color:#4a1e2e;font-size:20px}
.newsletter small{display:block;margin-top:8px;opacity:.7;font-size:10px}
.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:10px;font-size:11px;opacity:.75}
.drawer{position:fixed;right:-460px;top:0;width:min(440px,100vw);height:100vh;background:#fff;z-index:100;padding:28px;box-shadow:-20px 0 50px rgba(34,18,23,.2);transition:.3s;display:flex;flex-direction:column}
.drawer.open{right:0}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}
.drawer-head h2{font-size:34px;margin-top:3px}
.close-btn,.modal-close{border:0;background:#f2e9e5;width:38px;height:38px;border-radius:50%;font-size:24px;color:var(--wine)}
.cart-items{flex:1;overflow:auto;padding:15px 0}
.cart-item{display:grid;grid-template-columns:78px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #eee4df}
.cart-item img{width:78px;height:88px;object-fit:cover;border-radius:7px}
.cart-item h4{margin:2px 0 6px;font-size:13px}
.cart-item-price{font-size:13px;color:var(--wine);font-weight:700}
.qty-control{display:flex;align-items:center;gap:7px;margin-top:8px}
.qty-control button{width:26px;height:26px;border:1px solid #d7c8c2;background:#fff;border-radius:5px}
.remove-item{border:0;background:none;color:#a44;font-size:12px;padding:0}
.cart-summary{border-top:1px solid var(--line);padding-top:17px}
.cart-summary>div:not(.coupon-row){display:flex;justify-content:space-between;margin:8px 0;font-size:13px}
.coupon-row{display:flex;margin:14px 0}
.coupon-row input{flex:1;min-width:0;border:1px solid var(--line);padding:10px;border-radius:6px 0 0 6px;outline:0}
.coupon-row button{border:0;background:#eadbd2;color:var(--wine);padding:0 14px;border-radius:0 6px 6px 0;font-weight:600}
.cart-summary .total{font-size:19px!important;border-top:1px solid var(--line);padding-top:13px}
.cart-summary small{display:block;text-align:center;margin-top:8px;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(34,19,24,.52);z-index:90;opacity:0;visibility:hidden;transition:.2s}
.overlay.show{opacity:1;visibility:visible}
.modal{width:min(920px,94vw);max-height:90vh;border:0;border-radius:18px;padding:0;box-shadow:var(--shadow);background:#fff}
.modal::backdrop{background:rgba(35,20,25,.58);backdrop-filter:blur(2px)}
.modal-shell{padding:34px;position:relative;overflow:auto;max-height:90vh}
.modal-close{position:absolute;right:18px;top:18px}
.modal h2{font-size:37px;margin:6px 0 24px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid.single{grid-template-columns:1fr}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#55494c}
.form-grid input,.form-grid select,.form-grid textarea,.payment-methods{width:100%;border:1px solid #ddd0ca;background:#fff;padding:11px;border-radius:7px;outline:0;color:var(--ink)}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#a27685;box-shadow:0 0 0 3px rgba(106,41,64,.08)}
.form-grid .wide{grid-column:1/-1}
.check-row{flex-direction:row!important;align-items:center}
.check-row input{width:auto!important}
.checkout-layout{display:grid;grid-template-columns:1.4fr .7fr;gap:26px}
.payment-methods{margin:18px 0 12px;display:flex;gap:20px}
.payment-methods legend{font-weight:700;font-size:12px;padding:0 5px}
.payment-demo-note{font-size:12px;line-height:1.5;background:#fff3d8;border:1px solid #ead4a4;padding:12px;border-radius:7px;margin-bottom:14px}
.checkout-order{background:#f7efea;padding:20px;border-radius:12px;height:max-content}
.checkout-order h3{font-family:'DM Sans',sans-serif;font-size:15px;color:var(--ink);margin-bottom:12px}
.checkout-order .line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e6d8d0;font-size:12px}
.checkout-order .grand{font-size:17px;font-weight:700;color:var(--wine);border-bottom:0;padding-top:16px}
.product-modal-content{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.product-modal-content img{width:100%;max-height:560px;object-fit:cover;border-radius:12px}
.product-modal-copy h2{font-size:40px}
.product-modal-copy p{line-height:1.7;color:var(--muted)}
.product-modal-copy .price{font-size:28px;margin:20px 0}
.stock-text{font-size:12px;margin:12px 0;padding:8px 10px;background:#f2ebe6;border-radius:6px;display:inline-block}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px);background:#2d2426;color:#fff;padding:12px 18px;border-radius:9px;z-index:300;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow);font-size:13px}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){
  .site-header{grid-template-columns:180px 1fr auto;padding:0 3vw}.main-nav{gap:16px}.brand img{width:150px}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .personalization{grid-template-columns:1fr 1fr}.personalization-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5vw}
  .about{grid-template-columns:1fr}.instagram-strip{grid-template-columns:1fr}.instagram-grid{grid-template-columns:repeat(5,1fr)}
  footer{grid-template-columns:repeat(3,1fr)}.footer-brand,.newsletter{grid-column:auto}.copyright{grid-column:1/-1}
}
@media(max-width:820px){
  .announcement{font-size:9px;gap:12px}.announcement>div:last-child{display:none}
  .site-header{height:72px;grid-template-columns:1fr auto auto;padding:0 16px}.brand img{width:135px;height:55px}.mobile-menu-btn{display:block;order:2}.header-actions{order:3}.main-nav{position:absolute;left:0;right:0;top:72px;background:#fff;display:none;flex-direction:column;padding:15px 22px;gap:0;box-shadow:0 14px 28px rgba(0,0,0,.09)}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a:after{bottom:7px}.icon-btn:nth-child(1),.icon-btn:nth-child(2){display:none}
  .hero{grid-template-columns:1fr}.hero-copy{padding:56px 7vw}.hero h1{font-size:52px}.hero-media{min-height:420px}.benefits{gap:18px}
  .categories{grid-template-columns:1fr}.category-card{min-height:180px}
  .section-heading{align-items:flex-start;flex-direction:column}.product-tools{width:100%;flex-direction:column}.search-field{width:100%}.product-tools select{height:42px}.product-grid{grid-template-columns:repeat(2,1fr)}
  .personalization{grid-template-columns:1fr}.personalization-image{max-height:420px}.personalization-copy{padding:48px 7vw}.personalization-points{grid-template-columns:1fr;padding:34px 7vw}
  .about{padding:58px 7vw}.about-gallery{grid-template-columns:1fr 1fr}.about-gallery .quote-tile{grid-column:1/-1;min-height:230px;order:3}
  .instagram-strip{padding:45px 7vw}.instagram-grid{grid-template-columns:repeat(3,1fr)}
  footer{grid-template-columns:1fr 1fr;padding:48px 7vw}.footer-brand,.newsletter{grid-column:1/-1}
  .checkout-layout,.product-modal-content{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-shell{padding:28px 20px}.payment-methods{flex-direction:column}.checkout-order{order:-1}
}
@media(max-width:520px){
  .hero h1{font-size:43px}.hero-copy{padding-top:44px}.hero-media{min-height:340px}.script-note{font-size:19px}
  .product-section{padding:58px 16px}.product-grid{grid-template-columns:1fr 1fr;gap:9px}.product-info{padding:11px}.product-actions{grid-template-columns:1fr}.quick-view{width:100%}.product-photo{aspect-ratio:1/1.15}.section-heading h2,.personalization h2,.about h2{font-size:35px}
  .about-gallery{grid-template-columns:1fr}.about-gallery .quote-tile{grid-column:auto;order:0}
  .instagram-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr}
}


/* Página do produto */
.product-page{background:#fffaf6;min-height:70vh}
.product-breadcrumb{max-width:1440px;margin:0 auto;padding:22px 5vw 6px;font-size:12px;color:var(--muted)}
.product-breadcrumb a:hover{color:var(--wine);text-decoration:underline}
.product-detail{max-width:1440px;margin:0 auto;padding:28px 5vw 74px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.82fr);gap:58px;align-items:start}
.product-gallery{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;position:sticky;top:112px}
.product-thumbs{display:flex;flex-direction:column;gap:10px}
.product-thumb{border:1px solid var(--line);border-radius:9px;background:#fff;padding:0;overflow:hidden;aspect-ratio:1;transition:.2s}
.product-thumb img{width:100%;height:100%;object-fit:cover}
.product-thumb.active,.product-thumb:hover{border-color:var(--wine);box-shadow:0 0 0 2px rgba(106,41,64,.08)}
.product-zoom{position:relative;overflow:hidden;border-radius:15px;background:#efe4db;aspect-ratio:1/1.03;cursor:zoom-in;box-shadow:0 8px 26px rgba(69,42,49,.08)}
.product-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease;transform-origin:center center;will-change:transform}
.zoom-hint{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.9);padding:7px 10px;border-radius:999px;font-size:11px;color:var(--wine);pointer-events:none}
.product-detail-copy{padding-top:10px}
.product-detail-copy h1{font-size:clamp(38px,4vw,60px);line-height:1.02;margin:10px 0 18px}
.product-detail-copy .detail-description{font-size:15px;line-height:1.75;color:#62575a;margin:20px 0}
.detail-price{display:flex;align-items:baseline;gap:12px;margin:18px 0 6px}
.detail-price .price{font-size:30px}.detail-price .old-price{font-size:15px}
.detail-stock{display:inline-flex;gap:7px;align-items:center;margin:8px 0 18px;padding:8px 11px;background:#f1e9e4;border-radius:7px;font-size:12px}
.detail-stock.ok{color:var(--success)}.detail-stock.low{color:#9a6226}.detail-stock.out{color:var(--danger)}
.detail-option{margin:20px 0}.detail-option>strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;color:#5c5052}
.option-list{display:flex;gap:8px;flex-wrap:wrap}.option-chip{border:1px solid #d9c8bf;background:#fff;padding:9px 13px;border-radius:8px;color:var(--ink);font-size:12px}.option-chip:hover,.option-chip.selected{border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#fff8f4}
.detail-buy{display:grid;grid-template-columns:128px 1fr;gap:12px;margin:26px 0 10px}
.detail-qty{display:grid;grid-template-columns:38px 1fr 38px;border:1px solid #d9c8bf;border-radius:7px;overflow:hidden;background:#fff}
.detail-qty button{border:0;background:#fff;font-size:19px;color:var(--wine)}.detail-qty button:hover{background:#f6ece7}.detail-qty input{border:0;text-align:center;width:100%;outline:0;background:#fff}
.detail-note{font-size:11px;color:var(--muted);margin:8px 0 24px}
.product-specs{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.spec-row{padding:13px 0;border-bottom:1px solid #eee5e0;display:grid;grid-template-columns:115px 1fr;gap:14px;font-size:13px}.spec-row dt{font-weight:700;color:#5d5153}.spec-row dd{margin:0;color:#766b6d;line-height:1.5}
.personalizable-note{margin-top:20px;background:#f4e8df;border-left:3px solid var(--gold);padding:14px 16px;border-radius:0 8px 8px 0;font-size:13px;line-height:1.55}
.recommendations{max-width:1440px;margin:0 auto;padding:0 5vw 90px}.recommendations .section-heading{margin-bottom:22px}.recommendations .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-not-found{max-width:800px;margin:70px auto;padding:70px 5vw;text-align:center}.product-not-found h1{font-size:44px;margin-bottom:15px}
@media(max-width:900px){.product-detail{grid-template-columns:1fr;gap:30px}.product-gallery{position:static}.recommendations .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.product-detail{padding:20px 16px 54px}.product-breadcrumb{padding-left:16px;padding-right:16px}.product-gallery{grid-template-columns:1fr}.product-thumbs{order:2;flex-direction:row;overflow:auto}.product-thumb{width:68px;min-width:68px}.product-detail-copy h1{font-size:38px}.detail-buy{grid-template-columns:1fr}.product-specs{grid-template-columns:1fr}.spec-row{grid-template-columns:100px 1fr}.recommendations{padding:0 16px 65px}.recommendations .product-grid{grid-template-columns:1fr 1fr;gap:10px}}

/* V3.3 — ajuste fino da página de produto: imagem principal um pouco menor no desktop */
@media(min-width:901px){
  .product-gallery{max-width:760px;width:100%;}
}

/* V3.4 — carrinho completo, checkout em página própria e indicadores de segurança */
.footer-trust{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}
.footer-security-copy{font-size:12px;line-height:1.55;opacity:.82;margin:0}
.trust-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.trust-badge{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid rgba(106,41,64,.14);background:#fffaf7;color:var(--ink);padding:12px 13px;border-radius:10px;min-height:66px;transition:.2s;box-shadow:0 5px 16px rgba(55,30,36,.05)}
footer .trust-badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;box-shadow:none}
.trust-badge:hover,.trust-badge:focus-visible{transform:translateY(-2px);border-color:rgba(163,106,38,.7);box-shadow:0 12px 26px rgba(55,30,36,.12);outline:none}
footer .trust-badge:hover,footer .trust-badge:focus-visible{background:rgba(255,255,255,.12);box-shadow:none}
.trust-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f3e8e1;font-size:16px;color:var(--wine)}
footer .trust-icon{background:rgba(255,255,255,.13);color:#fff}
.trust-badge strong{display:block;font-size:12px;line-height:1.2}.trust-badge small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.25}
footer .trust-badge small{color:rgba(255,255,255,.72)}
.trust-help{font-size:12px;opacity:.6}
.trust-hover-card{position:absolute;left:0;right:0;bottom:calc(100% + 10px);z-index:60;background:#2d2426;color:#fff;border-radius:9px;padding:12px;font-size:11px;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(5px);transition:.18s;box-shadow:0 12px 30px rgba(0,0,0,.18);pointer-events:none}
.trust-hover-card b{display:block;margin-bottom:4px;color:#fff}.trust-badge:hover .trust-hover-card,.trust-badge:focus-visible .trust-hover-card{opacity:1;visibility:visible;transform:translateY(0)}
.trust-badges.compact{grid-template-columns:1fr;gap:7px}.trust-badges.compact .trust-badge{min-height:54px;padding:9px 10px}.trust-badges.compact .trust-icon{width:28px;height:28px}.trust-badges.compact .trust-badge small{font-size:9px}
.security-modal{width:min(680px,94vw)}.security-shell h2{margin-bottom:18px}.security-lead{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:15px 0}.security-lead>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f3e7df;font-size:21px}.security-lead h3{font-family:'DM Sans',sans-serif;font-size:18px;color:var(--ink);margin:0 0 6px}.security-lead p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}.certificate-box{display:grid;gap:1px;background:#e9ddd6;border:1px solid #e5d8d0;border-radius:10px;overflow:hidden;margin:10px 0 14px}.certificate-box>div{display:flex;justify-content:space-between;gap:20px;background:#fff;padding:12px 14px;font-size:12px}.certificate-box span{color:var(--muted)}.certificate-box strong{text-align:right;color:var(--success)}.certificate-box.warning strong{color:#9a6226}.security-note,.security-foot,.security-info-card{font-size:12px;line-height:1.65;color:var(--muted)}.security-info-card{background:#f7efea;border-radius:10px;padding:14px}.security-foot{border-top:1px solid var(--line);padding-top:13px;margin-top:16px}

.cart-page{max-width:1480px;margin:0 auto;padding:54px 5vw 90px;min-height:68vh}.page-kicker{max-width:760px;margin-bottom:30px}.page-kicker h1,.checkout-page-title h1{font-size:clamp(42px,5vw,66px);line-height:1;margin:8px 0 13px}.page-kicker p,.checkout-page-title p{color:var(--muted);line-height:1.6;margin:0}.cart-page-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.65fr);gap:34px;align-items:start}.cart-page-items{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.cart-page-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.cart-page-head h2{font-family:'DM Sans',sans-serif;font-size:18px;color:var(--ink)}.cart-page-head span{font-size:12px;color:var(--muted)}.cart-line-card{display:grid;grid-template-columns:130px minmax(0,1fr) 150px 130px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #eee5e0}.cart-line-image img{width:130px;height:145px;object-fit:cover;border-radius:10px;background:#eee}.cart-line-main{align-self:stretch;padding-top:4px}.cart-line-title{display:block;font-weight:700;font-size:16px;margin:5px 0;color:var(--ink)}.cart-line-title:hover{color:var(--wine)}.cart-line-main p{font-size:12px;color:var(--muted);line-height:1.55;margin:8px 0 13px;max-width:520px}.cart-page-remove{border:0;background:none;padding:0;color:var(--wine);font-size:11px;text-decoration:underline}.cart-line-qty,.cart-line-price{display:flex;flex-direction:column;gap:8px}.cart-line-qty>span,.cart-line-price>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cart-line-price strong{font-size:16px;color:var(--wine)}.cart-line-price small{font-size:10px;color:var(--muted)}.qty-control.large{display:grid;grid-template-columns:36px 44px 36px;width:max-content;border:1px solid var(--line);border-radius:8px;overflow:hidden}.qty-control.large button,.qty-control.large span{height:38px;display:grid;place-items:center}.qty-control.large button{border:0;background:#fff;color:var(--wine);font-size:18px}.qty-control.large button:hover{background:#f6ece7}.continue-shopping{display:inline-block;margin-top:20px;font-size:12px;color:var(--wine);font-weight:700}.cart-empty-large{text-align:center;padding:70px 15px}.cart-empty-large>div{font-size:44px}.cart-empty-large h2{font-size:28px;margin:12px 0 8px}.cart-empty-large p{color:var(--muted);margin-bottom:20px}.cart-page-summary{position:sticky;top:108px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 12px 35px rgba(70,40,46,.07)}.cart-page-summary h2{font-size:28px;margin:5px 0 20px}.summary-line{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:10px 0;border-bottom:1px solid #eee5e0}.summary-line strong{text-align:right}.summary-line.grand{font-size:17px;border-bottom:0;padding:18px 0;color:var(--wine)}.cart-coupon-box{padding:16px 0}.cart-coupon-box label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.cart-coupon-box>div{display:grid;grid-template-columns:1fr auto}.cart-coupon-box input{min-width:0;border:1px solid #dccfc8;border-radius:7px 0 0 7px;padding:10px 11px;outline:0}.cart-coupon-box button{border:1px solid var(--wine);background:var(--wine);color:#fff;padding:0 14px;border-radius:0 7px 7px 0;font-weight:700}.cart-coupon-box small{display:block;margin-top:7px;line-height:1.45;color:var(--muted)}.summary-note{text-align:center;font-size:10px;line-height:1.5;color:var(--muted);margin:9px 0 15px}.cart-trust-zone{margin-top:12px}.disabled-link{opacity:.45;pointer-events:none}

.checkout-page-body{background:#f8f1eb}.checkout-header{height:92px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line)}.checkout-header .brand img{width:175px;height:62px}.checkout-back{font-size:12px;font-weight:700;color:var(--wine)}.checkout-page{max-width:1380px;margin:0 auto;padding:50px 5vw 90px}.checkout-page-title{margin-bottom:28px;max-width:760px}.checkout-page-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:32px;align-items:start}.checkout-form-card,.checkout-page-order{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.checkout-form-card section+section{border-top:1px solid var(--line);margin-top:27px;padding-top:27px}.step-title{display:grid;grid-template-columns:34px 1fr;gap:12px;margin-bottom:18px}.step-title>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-weight:700;font-size:12px}.step-title h2{font-family:'DM Sans',sans-serif;color:var(--ink);font-size:18px;margin:0}.step-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.checkout-form-card .payment-methods{display:grid;grid-template-columns:1fr 1fr;border:0;padding:0;gap:10px}.checkout-form-card .payment-methods label{border:1px solid #ddd0ca;border-radius:10px;padding:15px;display:flex;align-items:center;gap:10px;background:#fff}.checkout-form-card .payment-methods label:has(input:checked){border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#fff9f6}.checkout-form-card .payment-methods span{display:flex;flex-direction:column}.checkout-form-card .payment-methods strong{font-size:13px}.checkout-form-card .payment-methods small{font-size:10px;color:var(--muted);margin-top:2px}.checkout-page-order{position:sticky;top:24px}.checkout-order-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:7px}.checkout-order-head a{font-size:11px;text-decoration:underline;color:var(--wine)}.checkout-product-line{display:grid;grid-template-columns:62px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #eee5e0}.checkout-product-line img{width:62px;height:70px;object-fit:cover;border-radius:8px}.checkout-product-line strong{display:block;font-size:12px;line-height:1.35}.checkout-product-line small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.checkout-product-line>b{font-size:11px;color:var(--wine)}.checkout-totals{padding-top:11px}.checkout-totals>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:11px}.checkout-totals .grand{font-size:17px;color:var(--wine);border-top:1px solid var(--line);padding-top:15px;margin-top:5px}.checkout-trust-zone{margin:20px 0 12px}.checkout-pay-btn{min-height:52px;font-size:15px}.checkout-submit-note{display:block;text-align:center;line-height:1.5;color:var(--muted);font-size:10px;margin-top:8px}.active-cart{background:#f1e8e3}

@media(max-width:1050px){.cart-page-layout,.checkout-page-layout{grid-template-columns:1fr}.cart-page-summary,.checkout-page-order{position:static}.cart-line-card{grid-template-columns:110px 1fr 125px}.cart-line-price{grid-column:2/4;display:grid;grid-template-columns:1fr auto auto;align-items:center;border-top:1px dashed #e6ddd8;padding-top:10px}.cart-line-image img{width:110px;height:125px}}
@media(max-width:760px){.trust-badges{grid-template-columns:1fr}.trust-hover-card{display:none}.cart-page{padding:35px 16px 65px}.cart-page-items,.cart-page-summary,.checkout-form-card,.checkout-page-order{padding:18px}.cart-line-card{grid-template-columns:90px 1fr;gap:14px}.cart-line-image img{width:90px;height:105px}.cart-line-qty{grid-column:2}.cart-line-price{grid-column:1/-1}.checkout-page{padding:35px 16px 65px}.checkout-header{height:76px;padding:0 16px}.checkout-header .brand img{width:140px;height:54px}.checkout-form-card .payment-methods{grid-template-columns:1fr}.certificate-box>div{flex-direction:column;gap:4px}.certificate-box strong{text-align:left}}
@media(max-width:480px){.cart-line-price{grid-template-columns:1fr auto}.cart-line-price small{grid-column:1/-1}.checkout-back{font-size:10px}.page-kicker h1,.checkout-page-title h1{font-size:40px}}


/* V3.6 — conta do cliente, validação de e-mail e acesso lembrado */
.account-button.signed-in{box-shadow:inset 0 0 0 2px rgba(106,41,64,.18);background:#f8efea}
.checkout-account-button{border:1px solid #d9c8bf;background:#fff;color:var(--wine);border-radius:999px;padding:9px 14px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.checkout-account-button:hover{border-color:var(--wine);background:#fff8f4}
.account-modal{width:min(560px,94vw)}
.account-shell h2{margin-bottom:18px}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;padding:4px;background:#f8f1ed;margin:0 0 20px}
.account-tab{border:0;background:transparent;border-radius:7px;padding:10px;font-weight:700;color:var(--muted);cursor:pointer}
.account-tab.active{background:#fff;color:var(--wine);box-shadow:0 4px 14px rgba(70,40,46,.08)}
.account-form{display:grid;gap:13px}
.account-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#55494c}
.account-form input{width:100%;border:1px solid #ddd0ca;background:#fff;padding:11px;border-radius:7px;outline:0;color:var(--ink)}
.account-form input:focus{border-color:#a27685;box-shadow:0 0 0 3px rgba(106,41,64,.08)}
.remember-access{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;padding:11px 12px;background:#faf5f1;border:1px solid #eee1db;border-radius:9px}
.remember-access input{width:auto!important;margin-top:3px}
.remember-access strong{display:block;font-size:12px;color:var(--ink)}
.remember-access small{display:block;font-weight:400;color:var(--muted);font-size:10px;line-height:1.45;margin-top:3px}
.account-help{font-size:11px;line-height:1.6;color:var(--muted);background:#faf5f1;border-radius:8px;padding:11px;margin:0}
.account-text-button{border:0;background:none;color:var(--wine);font-size:11px;text-decoration:underline;cursor:pointer;padding:4px}
.account-resend{padding-top:3px}
.account-confirmation{text-align:center;padding:20px 4px 4px}
.account-confirmation>div{font-size:42px;margin-bottom:8px}
.account-confirmation h3,.account-logged h3{font-family:'DM Sans',sans-serif;color:var(--ink);font-size:20px;margin:7px 0}
.account-confirmation p,.account-logged p{color:var(--muted);line-height:1.6;font-size:12px;margin:0 0 18px}
.account-logged{text-align:center;padding:12px 0 4px}
.account-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#f0e7e1;color:var(--success);font-size:22px;font-weight:700}
@media(max-width:820px){
  .account-button{display:grid!important}
  .checkout-account-button{padding:8px 11px;font-size:10px}
}
