/** Shopify CDN: Minification failed

Line 15:0 All "@import" rules must come first

**/
/* Vaiola — tema Shopify. Estilos convertidos do projeto React original. */
:root {
  --peach: #ffcf9e; --peach-light: #fff4e9; --peach-pale: #fff9f3;
  --mocha: #80664d; --mocha-dark: #634d39; --espresso: #2a2118;
  --muted: #8d7c6a; --line: #e8ddd1; --white: #fff;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Montserrat', sans-serif;
  --background: #fffaf6;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');



* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--background); color: var(--espresso); font-family: var(--sans); font-size: 14px; -webkit-font-smoothing: antialiased; }
body, button, input { font-family: var(--sans); }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button:not(:disabled), a[href] { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline: 2px solid var(--mocha); outline-offset: 3px; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--peach); color: var(--espresso); }

.storefront { overflow: clip; background: #fffaf6; min-height: 100vh; }
.announcement-bar { height: 30px; overflow: hidden; display: flex; align-items: center; background: var(--mocha); color: var(--peach); white-space: nowrap; }
.ticker-track { display: flex; gap: 35px; align-items: center; width: max-content; padding-left: 24px; animation: ticker 36s linear infinite; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.ticker-track i { font-style: normal; font-size: 12px; opacity: .8; }
@keyframes ticker { to { transform: translateX(-50%); } }
.site-header { position: sticky; top: 0; z-index: 15; background: rgba(255,250,246,.95); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(128,102,77,.12); }
.header-inner { max-width: 1440px; height: 75px; padding: 0 6.1%; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand-mark { border: 0; background: transparent; display: inline-flex; align-items: center; padding: 0; gap: 8px; color: var(--espresso); flex-shrink: 0; }
.brand-sun { color: var(--mocha); font-size: 21px; line-height: 1; }
.brand-name { font: 600 20px/.9 var(--serif); letter-spacing: .17em; display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.brand-name > span { font: 400 12px/1 var(--sans); letter-spacing: .01em; color: var(--mocha); }
.desktop-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 29px); margin-left: auto; margin-right: 28px; }
.nav-link { padding: 9px 0; border: none; background: transparent; color: #65584b; font-size: 12px; font-weight: 500; white-space: nowrap; transition: color .2s; }
.nav-link:hover, .nav-link.active { color: var(--mocha); }
.header-actions { display: flex; align-items: center; gap: 7px; }
.icon-button { position: relative; display: inline-flex; justify-content: center; align-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: var(--espresso); transition: background .2s, color .2s; }
.icon-button:hover, .icon-button.active { background: var(--peach-light); color: var(--mocha-dark); }
.cart-count, .favourite-count { position: absolute; display: flex; align-items: center; justify-content: center; top: 2px; right: 0; height: 15px; min-width: 15px; padding: 0 3px; border: 1px solid #fffaf6; border-radius: 50px; background: var(--mocha); color: white; font: 600 10px var(--sans); }
.favourite-count { top: 1px; right: 0; background: var(--peach); color: var(--espresso); border-color: #fffaf6; }
.mobile-menu-trigger { display: none; }
.search-panel { position: absolute; top: 100%; left: 0; right: 0; background: #fffaf6; border-bottom: 1px solid var(--line); box-shadow: 0 14px 24px #3824150a; padding: 21px max(6%, calc((100% - 1320px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.search-input-wrap { display: flex; gap: 12px; align-items: center; flex: 1; max-width: 700px; color: var(--mocha); }
.search-input-wrap input { background: transparent; border: 0; outline: 0; width: 100%; color: var(--espresso); font-size: 14px; }
.search-input-wrap input::placeholder { color: #9b8876; }
.search-input-wrap button { border: 0; background: transparent; color: var(--mocha); display: flex; }
.search-panel > span { font-size: 10px; letter-spacing: .16em; color: #978571; }
.mobile-menu-backdrop { position: fixed; z-index: 40; inset: 0; background: #2a211866; }
.mobile-menu { min-height: 100%; width: min(84vw, 360px); padding: 26px 24px; background: #fffaf6; box-shadow: 15px 0 40px #2a211822; animation: slide-in-left .26s ease-out; }
@keyframes slide-in-left { from { transform: translateX(-25px); opacity: .75; } to { transform: translateX(0); opacity: 1; } }
.mobile-menu-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.mobile-menu > button { width: 100%; display: flex; justify-content: space-between; padding: 17px 0; background: transparent; border: 0; border-bottom: 1px solid #80664d1a; font: 400 18px var(--serif); }
.mobile-menu-note { margin-top: 35px; color: var(--mocha); font: italic 20px var(--serif); }

.hero-section { position: relative; min-height: 565px; max-width: 1440px; margin: 0 auto; padding: 54px 8.3% 66px 9.8%; background: radial-gradient(ellipse at 13% 18%, #ffe3c8 0, #ffcf9e 40%, #ffd8b4 73%, #f7c394 100%); display: grid; grid-template-columns: .93fr 1.07fr; gap: 7.5%; align-items: center; }
.hero-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .2; background-image: radial-gradient(#80664d38 .55px, transparent .55px); background-size: 7px 7px; mask-image: linear-gradient(90deg, black 0%, transparent 61%); }
.hero-copy { position: relative; z-index: 1; max-width: 510px; padding: 13px 0 9px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #725840; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.eyebrow-line { width: 24px; height: 1px; background: #80664d; }
.eyebrow-sparkle { font-size: 14px; margin-left: 3px; }
.hero-copy h1 { max-width: 550px; margin: 24px 0 19px; color: #33271d; font: 400 clamp(43px, 5.25vw, 73px)/1.045 var(--serif); letter-spacing: -.045em; }
.hero-copy h1 em, .collection-heading h1 em, .collection-heading h2 em, .story-copy h2 em, .social-heading h2 em, .reassurance-strip h2 em, .newsletter-section h2 em { font-weight: 400; color: #72563d; }
.hero-copy > p { max-width: 385px; margin: 0; color: #67523f; font-size: 12px; line-height: 1.9; }
.primary-button { min-height: 49px; padding: 0 22px; border: 1px solid var(--mocha); background: var(--mocha); color: var(--peach); display: inline-flex; align-items: center; justify-content: center; gap: 20px; font-size: 12px; font-weight: 600; letter-spacing: .03em; transition: transform .2s, background .2s, box-shadow .2s; }
.primary-button:hover { transform: scale(1.025); background: var(--mocha-dark); box-shadow: 0 9px 18px #634d3926; }
.hero-button { margin-top: 28px; min-width: 202px; }
.hero-note { display: flex; align-items: center; gap: 11px; margin-top: 30px; color: #725d49; font-size: 11px; }
.hero-note strong { color: #493827; font-weight: 600; }
.tiny-avatars { display: flex; padding-left: 4px; }
.tiny-avatars i { display: grid; place-items: center; width: 23px; height: 23px; margin-left: -5px; border: 1px solid var(--peach); border-radius: 50%; background: #e6b48c; color: #fffaf6; font: normal 10px var(--serif); }
.tiny-avatars i:nth-child(2) { background: #99765a; }.tiny-avatars i:nth-child(3) { background: #c18c64; }
.hero-art { position: relative; min-width: 0; max-width: 540px; width: 100%; justify-self: end; padding: 0 25px 24px 0; }
.hero-photo-frame { height: 407px; overflow: hidden; border-radius: 47% 47% 3px 3px; box-shadow: 1px 14px 36px #634d3924; background: #e9c7a9; }
.hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 50%; transition: transform .85s cubic-bezier(.2,.75,.2,1); }
.hero-art:hover .hero-photo-frame img { transform: scale(1.035); }
.hero-photo-wash { position: absolute; inset: 0 25px 24px 0; border-radius: 47% 47% 3px 3px; box-shadow: inset 0 0 0 1px #fff8; pointer-events: none; }
.hero-stamp { position: absolute; top: 15%; left: -38px; width: 113px; height: 113px; border-radius: 50%; background: #fff9f1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; color: #6f553d; box-shadow: 0 8px 25px #60452e24; transform: rotate(-10deg); }
.hero-stamp span { font-size: 10px; font-weight: 700; letter-spacing: .14em; }.hero-stamp strong { font: italic 15px var(--serif); }
.hero-caption { position: absolute; display: flex; align-items: center; gap: 9px; right: 3px; bottom: 3px; padding: 11px 14px; background: #fffaf6; color: var(--mocha); font-size: 10px; letter-spacing: .04em; box-shadow: 0 5px 17px #49351f12; }
.caption-dot { width: 6px; height: 6px; border-radius: 50%; background: #a7a96c; }
.hero-side-script { position: absolute; right: -42px; top: 43%; writing-mode: vertical-rl; color: #765c43a8; font: italic 13px var(--serif); letter-spacing: .07em; }
.hero-index { position: absolute; bottom: 29px; left: 4.5%; display: flex; align-items: center; gap: 8px; color: #715a41; font: 12px var(--serif); }.hero-index span { width: 32px; height: 1px; background: #80664d7a; }

.promise-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 1240px; margin: 0 auto; padding: 25px 6.2%; background: #fffaf6; border-bottom: 1px solid #80664d20; }
.promise-item { position: relative; display: flex; align-items: center; gap: 13px; padding: 4px 19px; }
.promise-icon { width: 39px; height: 39px; flex: 0 0 auto; display: grid; place-items: center; background: #fff0e2; border-radius: 50%; color: var(--mocha); }
.promise-item h3 { margin: 0 0 4px; font: 600 12px var(--sans); color: #403328; }
.promise-item p { margin: 0; color: #8a7763; font-size: 10px; line-height: 1.55; }
.promise-separator { position: absolute; height: 29px; width: 1px; top: 9px; right: 0; background: var(--line); }

.collection-section { max-width: 1272px; margin: 0 auto; padding: 69px 6.3% 62px; }
.section-topline { display: flex; justify-content: center; align-items: center; gap: 19px; color: #a3907b; font-size: 10px; letter-spacing: .2em; }
.section-flourish { color: var(--mocha); font-size: 14px; }
.collection-heading { display: flex; align-items: end; justify-content: space-between; margin: 20px 0 25px; }
.eyebrow-label { display: block; color: #937b62; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.collection-heading h1, .collection-heading h2, .story-copy h2, .social-heading h2, .reassurance-strip h2, .newsletter-section h2 { margin: 12px 0 9px; color: #31261c; font: 400 clamp(31px, 3.3vw, 43px)/1.13 var(--serif); letter-spacing: -.034em; }
.collection-heading p { margin: 0; color: #8b7969; font-size: 12px; }
.text-link { background: transparent; border: 0; padding: 9px 0; border-bottom: 1px solid #a08c76; display: inline-flex; align-items: center; gap: 12px; color: #71583e; font-size: 11px; font-weight: 600; transition: gap .2s; white-space: nowrap; }
.text-link:hover { gap: 17px; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 0 17px; border-bottom: 1px solid #dfd4c8; }
.category-tabs { display: flex; align-items: center; gap: 23px; overflow-x: auto; scrollbar-width: none; }.category-tabs::-webkit-scrollbar { display: none; }
.category-tab { position: relative; background: transparent; border: 0; padding: 8px 0; color: #8f7b68; font-size: 11px; white-space: nowrap; }
.category-tab.selected { color: #403226; font-weight: 600; }.category-tab.selected::after { content: ""; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: #80664d; }
.result-count { flex: 0 0 auto; color: #9b8876; font-size: 10px; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 17px; padding-top: 21px; }
.product-card { min-width: 0; }
.product-visual { position: relative; overflow: hidden; border-radius: 2px; aspect-ratio: .82; background: #f5e8dc; }
.product-image-button { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; padding: 0; background: transparent; overflow: hidden; }
.product-image-button img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }.product-card:hover .product-image-button img { transform: scale(1.045); }
.product-badge { position: absolute; top: 11px; left: 11px; z-index: 1; padding: 6px 9px; background: #fffaf2ed; color: #795b3f; font-size: 10px; font-weight: 600; letter-spacing: .035em; text-transform: uppercase; }
.favourite-button { position: absolute; top: 8px; right: 8px; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #fffaf2e6; color: #624d3a; transition: transform .2s, color .2s; }.favourite-button:hover { transform: scale(1.08); }.favourite-button.is-favourite { color: #985e54; }
.quick-add { position: absolute; bottom: 11px; left: 11px; right: 11px; min-height: 38px; display: flex; justify-content: center; align-items: center; gap: 8px; border: 0; background: #fffaf2ee; color: #423428; font-size: 10px; font-weight: 600; letter-spacing: .045em; opacity: 0; transform: translateY(5px); transition: opacity .24s, transform .24s, background .24s; }.product-card:hover .quick-add, .quick-add:focus-visible { opacity: 1; transform: translateY(0); }.quick-add:hover { background: white; }
.product-copy { padding: 11px 2px 0; }
.product-title { display: block; background: transparent; border: 0; padding: 0; color: #35291f; text-align: left; font: 500 12px var(--sans); transition: color .2s; }.product-title:hover { color: var(--mocha); }
.product-rating { display: flex; align-items: center; gap: 4px; margin-top: 6px; color: #9c7954; font-size: 10px; }.rating-count { color: #a39180; }
.price-row { display: flex; align-items: baseline; gap: 8px; margin-top: 7px; }.product-price { color: #755a3f; font-size: 12px; font-weight: 700; }.old-price { color: #a99a8b; font-size: 10px; text-decoration: line-through; }
.catalog-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; padding-top: 15px; border-top: 1px solid #e9dfd3; color: #9b8977; font-size: 10px; }.catalog-bottom > span { display: flex; align-items: center; gap: 8px; }.mini-sparkle { color: var(--mocha); font-size: 12px; }.catalog-discover { border: 0; background: transparent; color: #70573e; display: flex; align-items: center; gap: 8px; font-size: 11px; }
.empty-results { padding: 70px 15px; text-align: center; color: var(--mocha); }.empty-results h3 { font: 400 25px var(--serif); color: var(--espresso); }.empty-results p { color: #8a7763; font-size: 12px; }

.story-banner { max-width: 1250px; min-height: 430px; margin: 8px auto 76px; padding: 0 6.3%; display: grid; grid-template-columns: 1.02fr .98fr; background: #f4e8dc; }
.story-image { position: relative; height: 430px; overflow: hidden; background: #e8d6c2; }.story-image img { width: 100%; height: 100%; object-fit: cover; }.story-image-label { position: absolute; left: 17px; bottom: 15px; padding: 8px 11px; background: #fffaf2e8; color: #654f38; font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.story-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 56px clamp(30px, 6vw, 82px); background: #f9efe5; }.story-star { position: absolute; top: 44px; right: 54px; color: #bb8a5b; font-size: 24px; }.story-copy h2 { margin-top: 18px; font-size: clamp(31px,3.1vw,43px); }.story-copy > p { max-width: 350px; color: #7e6b59; font: 12px/1.9 var(--sans); }.story-copy .text-link { align-self: flex-start; margin-top: 15px; }.story-signature { align-self: flex-end; margin-top: 19px; color: #9a836c; font-size: 10px; }.story-signature i { padding-left: 4px; color: var(--mocha); font: italic 19px var(--serif); }

.social-section { max-width: 1250px; margin: 0 auto; padding: 0 6.3% 78px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; }
.social-heading { padding-top: 15px; }.social-heading h2 { font-size: clamp(31px, 3vw, 41px); }.social-score { display: flex; align-items: center; gap: 9px; margin-top: 27px; }.social-score > span { color: #ae855b; font-size: 14px; letter-spacing: .07em; }.social-score > strong { color: #614b36; font-size: 12px; }.social-score > small { color: #9b8977; font-size: 10px; }
.review-carousel { min-width: 0; overflow: hidden; }.review-track { display: flex; transition: transform .45s cubic-bezier(.2,.7,.2,1); }.review-card { position: relative; flex: 0 0 100%; min-height: 284px; padding: 23px 27px 20px; background: #fff; border: 1px solid #eee4da; box-shadow: 0 5px 22px #35231308; }.review-card-top { display: flex; justify-content: space-between; align-items: center; }.review-mark { color: #cfac85; font: 47px/.7 var(--serif); }.review-stars { color: #ae855b; font-size: 12px; letter-spacing: .1em; }.review-card > p { max-width: 500px; min-height: 64px; color: #5e5043; font: italic 14px/1.7 var(--serif); }.review-product { display: flex; align-items: center; gap: 10px; width: fit-content; padding: 6px 8px 6px 6px; background: #fff8f0; }.review-product img { width: 34px; height: 34px; object-fit: cover; }.review-product > span { display: flex; flex-direction: column; gap: 4px; }.review-product small { color: #a28b72; font-size: 10px; letter-spacing: .13em; }.review-product strong { color: #594733; font-size: 10px; }.review-product > svg { color: #89705a; margin-left: 6px; }.review-byline { display: flex; align-items: center; gap: 8px; margin-top: 13px; }.review-avatar { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #f3ddca; color: #77563e; font: 12px var(--serif); }.review-byline > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; }.review-byline strong { color: #49392a; font-size: 10px; }.review-byline small { color: #9a8877; font-size: 10px; }.verified { margin-left: auto; color: #95816b; display: flex; align-items: center; gap: 3px; font-size: 10px; }.review-photo-label { position: absolute; top: 132px; right: 25px; color: #a18b72; font-size: 10px; letter-spacing: .12em; }
.review-controls { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin: 13px 0 0; }.review-count { margin-right: 9px; color: #826a50; font: 12px var(--serif); }.review-count i { padding: 0 5px; color: #bca994; font-style: normal; }.review-controls button { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #ddcdbd; background: transparent; color: #69553f; transition: background .2s; }.review-controls button:hover { background: var(--peach-light); }.review-disclaimer { margin: 3px 0 0; text-align: right; color: #ab9c8d; font-size: 10px; }

.reassurance-strip { max-width: 1170px; min-height: 174px; margin: 0 auto 76px; padding: 30px 6%; display: flex; align-items: center; gap: 25px; background: #ffead7; }.reassurance-star { flex: 0 0 59px; height: 59px; display: grid; place-items: center; border: 1px solid #b38e6b; border-radius: 50%; color: #947253; font-size: 25px; }.reassurance-strip h2 { margin: 8px 0 5px; font-size: clamp(23px, 2.6vw, 33px); }.reassurance-strip p { margin: 0; color: #826c56; font-size: 11px; }.reassurance-link { margin-left: auto; flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 9px 0; background: transparent; border: 0; border-bottom: 1px solid #9b7957; color: #644e39; font-size: 11px; }

.newsletter-section { position: relative; overflow: hidden; min-height: 340px; padding: 60px 20px 57px; background: #f4e7da; text-align: center; }.newsletter-section::before, .newsletter-section::after { content: "✳"; position: absolute; color: #c4a17e; font-size: 122px; opacity: .24; }.newsletter-section::before { left: 8%; top: 44px; transform: rotate(-20deg); }.newsletter-section::after { right: 9%; bottom: 22px; transform: rotate(15deg); }.newsletter-ornament { color: #ae8966; font-size: 20px; }.newsletter-section h2 { margin: 10px 0; font-size: 36px; }.newsletter-section > p { color: #7d6957; font-size: 11px; }.newsletter-form { position: relative; display: flex; width: min(370px, 86vw); margin: 21px auto 11px; border-bottom: 1px solid #95795b; }.newsletter-form input { flex: 1; min-width: 0; padding: 13px 2px; color: var(--espresso); background: transparent; border: 0; font-size: 12px; outline: 0; }.newsletter-form input::placeholder { color: #94816d; }.newsletter-form button { display: grid; place-items: center; width: 40px; background: transparent; border: 0; color: #6e543b; }.newsletter-section > small { color: #9b8875; font-size: 10px; }

.site-footer { background: var(--mocha); color: #fff0df; }.footer-main { max-width: 1280px; margin: 0 auto; padding: 52px 6.3% 43px; display: grid; grid-template-columns: 1.45fr 1fr 1.15fr 1.3fr; gap: 42px; }.footer-brand-mark { color: #fff3e7; }.footer-brand-mark .brand-sun { color: #ffcf9e; }.footer-brand-mark .brand-name > span { color: #f0d0b1; }.footer-brand > p { color: #ead7c3; font: 16px/1.55 var(--serif); }.footer-contact { display: flex; align-items: center; gap: 7px; width: fit-content; margin-top: 13px; color: #efddcc; font-size: 10px; }.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }.footer-column > span:first-child { margin-bottom: 5px; color: #f4cfae; font-size: 10px; font-weight: 600; letter-spacing: .17em; }.footer-column > button, .footer-column > a { padding: 0; border: 0; background: transparent; color: #f3e6d8; font-size: 10px; text-align: left; }.footer-column > button:hover, .footer-column > a:hover, .footer-contact:hover { color: #ffcf9e; }.footer-inline-note { color: #ddc5ad; font: italic 12px var(--serif); }.footer-shipping p { display: flex; align-items: center; gap: 9px; margin: 0; color: #f3e6d8; font-size: 10px; }.footer-shipping p svg { color: #f4cfae; }.payment-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }.payment-badges span { padding: 5px 6px; background: #fff2e520; border: 1px solid #fff2e52d; color: #ffeddd; font-size: 10px; font-weight: 600; }
.footer-bottom { max-width: 1280px; min-height: 42px; margin: 0 auto; padding: 10px 6.3%; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ffffff32; color: #e4cdb6; font-size: 10px; letter-spacing: .11em; }.footer-bottom i { padding: 0 5px; color: #ffcf9e; font-style: normal; }

.detail-backdrop, .drawer-backdrop { position: fixed; z-index: 30; inset: 0; display: flex; justify-content: center; align-items: center; background: #24190f86; backdrop-filter: blur(2px); animation: fade-in .2s ease-out; }.drawer-backdrop { z-index: 35; justify-content: flex-end; align-items: stretch; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
.detail-panel { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: min(1060px, calc(100vw - 54px)); max-height: min(90vh, 850px); overflow: auto; background: #fffaf6; box-shadow: 0 25px 70px #1d130f44; animation: modal-rise .27s ease-out; }.detail-close { position: absolute; top: 13px; right: 13px; z-index: 2; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fffaf2ed; color: #594632; display: grid; place-items: center; }.detail-gallery { position: sticky; top: 0; align-self: start; padding: 22px; }.detail-main-image { height: min(58vh, 590px); min-height: 370px; overflow: hidden; background: #f2e5d9; }.detail-main-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }.detail-thumbnails { display: flex; gap: 9px; margin-top: 11px; }.thumb { width: 61px; height: 60px; padding: 0; border: 1px solid transparent; background: #f2e5d9; overflow: hidden; }.thumb.is-active { border-color: #80664d; }.thumb img { width: 100%; height: 100%; object-fit: cover; }.detail-copy { padding: 48px 38px 26px 26px; }.detail-eyebrow { color: #9a8065; font-size: 10px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }.detail-copy h1, .detail-copy h2 { margin: 12px 0 7px; font: 400 34px/1.15 var(--serif); color: #37291e; }.detail-rating { display: flex; align-items: center; gap: 6px; color: #9c8976; font-size: 10px; }.detail-rating strong { color: #51402f; font-weight: 600; }.stars { color: #ac8055; letter-spacing: .06em; font-size: 12px; }.detail-price-line { display: flex; align-items: center; gap: 9px; margin-top: 19px; color: #71563d; font-size: 20px; font-weight: 700; }.detail-price-line del { color: #aa9a89; font-size: 12px; font-weight: 400; }.save-pill { padding: 5px 7px; background: #f7e6d6; color: #7b593a; font-size: 10px; font-weight: 600; }.detail-description { margin: 15px 0; color: #756556; font: 12px/1.8 var(--sans); }.stock-note { display: flex; align-items: center; gap: 7px; padding: 10px 11px; background: #f9f1e8; color: #795734; font-size: 10px; font-weight: 600; }.stock-light { width: 7px; height: 7px; border-radius: 50%; background: #bf7952; box-shadow: 0 0 0 3px #dba77d45; }.delivery-card { display: flex; align-items: flex-start; gap: 9px; margin-top: 11px; padding: 12px 11px; border: 1px solid #eee1d3; color: #80664d; font-size: 10px; }.delivery-card > span { color: #786957; }.delivery-card strong { color: #4b3c2d; }.delivery-card small { display: block; margin-top: 4px; color: #9c8a77; font-size: 10px; }.quantity-and-cta { display: flex; align-items: center; gap: 8px; margin-top: 14px; }.quantity-stepper { display: flex; align-items: center; justify-content: space-between; min-width: 88px; height: 42px; padding: 0 7px; border: 1px solid #e3d7c9; background: #fffdfa; }.quantity-stepper button { display: grid; place-items: center; width: 25px; height: 28px; border: 0; background: transparent; color: #78614a; }.quantity-stepper > span { min-width: 15px; text-align: center; color: #51402e; font-size: 12px; }.detail-add { flex: 1; padding: 0 12px; gap: 9px; min-height: 42px; font-size: 10px; }.detail-heart { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #e3d7c9; color: #765c45; background: transparent; }.detail-heart.is-favourite { color: #985e54; }.secure-line { display: flex; align-items: center; gap: 6px; color: #8b765f; font-size: 10px; }.detail-copy > .secure-line { margin: 11px 0 13px; }.detail-accordions { border-top: 1px solid #e9dfd5; }.detail-accordions details { border-bottom: 1px solid #e9dfd5; }.detail-accordions summary { display: flex; justify-content: space-between; padding: 12px 0; color: #564534; list-style: none; font-size: 11px; font-weight: 600; cursor: pointer; }.detail-accordions summary::-webkit-details-marker { display: none; }.detail-accordions details[open] summary span { transform: rotate(45deg); }.detail-accordions summary span { color: #9c8369; transition: transform .2s; }.detail-accordions details p { margin: -2px 0 13px; color: #897967; font-size: 10px; line-height: 1.8; }.detail-guarantee { display: flex; align-items: center; gap: 6px; margin-top: 15px; color: #897158; font-size: 10px; }.detail-back-mobile { display: none; }

.cart-drawer { position: relative; display: flex; flex-direction: column; width: min(438px, 100vw); height: 100%; background: #fffaf6; box-shadow: -15px 0 45px #23180f33; animation: slide-in-right .27s cubic-bezier(.2,.8,.2,1); }.cart-drawer::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #c69b72, #ffcf9e, #80664d); }
@keyframes slide-in-right { from { transform: translateX(42px); opacity: .8; } to { transform: translateX(0); opacity: 1; } }
.drawer-header { position: relative; min-height: 99px; padding: 22px 26px 15px; border-bottom: 1px solid #eadfd4; }.drawer-header h2 { margin: 5px 0 0; color: #36291e; font: 400 26px var(--serif); }.drawer-eyebrow { color: #9c8266; font-size: 10px; letter-spacing: .17em; text-transform: uppercase; }.drawer-close { position: absolute; right: 18px; top: 19px; }.drawer-back { position: absolute; left: 19px; top: 21px; width: 28px; height: 28px; border: 0; background: transparent; color: #80664d; }.drawer-back + h2 { padding-left: 30px; }
.shipping-progress { margin: 17px 23px 3px; padding: 14px; background: #f8efe6; }.shipping-progress p { margin: 0 0 10px; color: #725a42; font-size: 11px; }.shipping-progress p strong { color: #523d2b; }.progress-track { height: 4px; overflow: hidden; background: #e2d2c0; }.progress-track span { display: block; height: 100%; background: #927051; transition: width .3s; }.progress-labels { display: flex; justify-content: space-between; margin-top: 7px; color: #9a856c; font-size: 10px; }.cart-lines { flex: 1; overflow: auto; padding: 2px 24px; }.cart-line { position: relative; display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid #eee5db; }.cart-line > img { flex: 0 0 auto; width: 79px; height: 91px; object-fit: cover; background: #f1e4d6; }.cart-line-info { flex: 1; min-width: 0; }.cart-line-info h3 { margin: 1px 0 4px; color: #46382a; font: 500 12px var(--sans); }.cart-line-category { display: block; margin-bottom: 9px; color: #a08d7a; font-size: 10px; }.cart-line-info > strong { color: #785a3f; font-size: 12px; }.cart-stepper { width: 87px; min-width: 87px; height: 28px; margin-top: 8px; padding: 0 4px; }.cart-stepper button { width: 22px; height: 22px; }.cart-stepper span { font-size: 10px; }.remove-line { align-self: flex-start; padding: 4px; border: 0; background: transparent; color: #a39180; }.cart-footer { padding: 16px 24px 20px; border-top: 1px solid #eae0d6; background: #fffaf6; }.cart-subtotal { display: flex; align-items: center; justify-content: space-between; color: #665643; font-size: 12px; }.cart-subtotal strong { color: #4f3a28; font-size: 14px; }.shipping-caption { margin: 5px 0 14px; color: #a08b76; font-size: 10px; }.checkout-button { width: 100%; min-height: 47px; justify-content: space-between; }.cart-footer .secure-line, .checkout-demo .secure-line { justify-content: center; margin-top: 12px; }.payment-words { margin-top: 12px; color: #927e68; text-align: center; font-size: 10px; }.payment-words i { padding: 0 2px; font-style: normal; color: #b79f86; }
.empty-cart { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; text-align: center; }.empty-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #dac8b4; border-radius: 50%; color: #81694f; }.empty-cart h3, .demo-confirmation h3 { max-width: 255px; margin: 20px 0 7px; color: #453526; font: 400 24px/1.2 var(--serif); }.empty-cart p, .demo-confirmation p { max-width: 250px; color: #907c67; font-size: 11px; line-height: 1.7; }.empty-cart .primary-button { margin-top: 14px; }.checkout-demo { flex: 1; overflow-y: auto; padding: 24px; }.demo-tag { display: flex; align-items: center; gap: 7px; color: #80664d; font-size: 11px; font-weight: 600; }.checkout-intro { color: #867562; font-size: 11px; line-height: 1.75; }.payment-choices { display: grid; gap: 8px; margin: 18px 0 20px; }.payment-choice { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e6d9ca; background: #fffdfa; text-align: left; color: #594936; font-size: 11px; }.payment-choice > svg:last-child { margin-left: auto; color: #80664d; }.payment-choice.selected { border-color: #947657; background: #fff7ef; }.radio-dot { display: grid; place-items: center; width: 14px; height: 14px; border: 1px solid #ae977c; border-radius: 50%; }.radio-dot > span { width: 6px; height: 6px; border-radius: 50%; background: #80664d; }.checkout-summary { display: flex; justify-content: space-between; padding: 14px 0; margin-bottom: 13px; border-top: 1px solid #e9dfd5; border-bottom: 1px solid #e9dfd5; color: #816a52; font-size: 11px; }.checkout-summary strong { color: #4d3928; }.demo-disclaimer { margin-top: 18px; padding: 10px; background: #f5ece2; color: #917d67; font-size: 10px; line-height: 1.7; text-align: center; }.demo-confirmation { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }.success-mark { width: 51px; height: 51px; display: grid; place-items: center; border-radius: 50%; background: #e8ebdc; color: #65704c; }.demo-confirmation .checkout-summary { width: 100%; margin-top: 20px; }.demo-confirmation .primary-button { width: 100%; justify-content: space-between; }

.toast-message { position: fixed; z-index: 50; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 9px; padding: 12px 16px 12px 11px; border: 1px solid #e7d9c8; background: #fffdfa; color: #604a34; box-shadow: 0 10px 32px #3823131b; font-size: 11px; animation: toast-up .25s ease-out; }.toast-message > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #e9eadc; color: #637047; }
@keyframes toast-up { from { transform: translateY(8px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.back-to-top { position: fixed; z-index: 8; right: 19px; bottom: 20px; display: none; place-items: center; width: 31px; height: 31px; border: 1px solid #d7c6b3; border-radius: 50%; background: #fffaf2e8; color: #80664d; transform: rotate(180deg); }

@media (min-width: 1450px) { .hero-section { padding-left: 140px; padding-right: 120px; } }
@media (max-width: 1150px) {
  .header-inner { padding: 0 4%; gap: 16px; }.desktop-nav { gap: 13px; margin-right: 12px; }.nav-link { font-size: 11px; }.brand-name { font-size: 18px; }.hero-section { padding-left: 7%; padding-right: 7%; gap: 5%; }.hero-art { max-width: 475px; }.hero-photo-frame { height: 360px; }.promise-strip { padding-left: 3%; padding-right: 3%; }.promise-item { padding-left: 11px; padding-right: 11px; gap: 9px; }.footer-main { gap: 25px; }
}
@media (max-width: 920px) {
  .header-inner { height: 66px; padding: 0 4.2%; }.desktop-nav { gap: 12px; }.nav-link { font-size: 10px; }.nav-link:nth-child(6) { display: none; }.brand-name { font-size: 17px; }.brand-name > span { font-size: 12px; }.hero-section { min-height: 490px; grid-template-columns: 1fr 1fr; gap: 5%; padding: 48px 7% 57px; }.hero-copy h1 { font-size: clamp(42px,6vw,58px); }.hero-photo-frame { height: 330px; }.hero-stamp { left: -26px; width: 95px; height: 95px; }.promise-strip { grid-template-columns: repeat(2, 1fr); gap: 18px 0; padding: 23px 7%; }.promise-item:nth-child(2) .promise-separator { display: none; }.product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }.story-banner { min-height: 360px; }.story-image { height: 360px; }.story-copy { padding: 40px 37px; }.footer-main { grid-template-columns: 1.1fr 1fr 1fr; }.footer-shipping { grid-column: 2 / 4; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; }.footer-shipping > span:first-child { grid-column: 1/-1; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 72px; }.announcement-bar { height: 27px; }.ticker-track { gap: 24px; font-size: 10px; }.header-inner { height: 61px; padding: 0 13px; gap: 0; }.mobile-menu-trigger { display: inline-flex; width: 34px; }.brand-mark { gap: 6px; }.brand-sun { font-size: 18px; }.brand-name { font-size: 17px; letter-spacing: .13em; }.brand-name > span { font-size: 11px; }.desktop-nav { display: none; }.header-actions { gap: 1px; }.header-actions .icon-button { width: 33px; height: 35px; }.header-actions svg { width: 18px; height: 18px; }.favourite-count { min-width: 13px; height: 13px; font-size: 10px; }.cart-count { min-width: 14px; height: 14px; font-size: 10px; }.search-panel { padding: 16px 18px; }.search-panel > span { display: none; }.hero-section { min-height: auto; display: flex; flex-direction: column; align-items: stretch; padding: 34px 22px 47px; gap: 26px; }.hero-copy { max-width: 540px; padding: 0; }.eyebrow { font-size: 10px; }.hero-copy h1 { max-width: 460px; margin: 15px 0 12px; font-size: clamp(42px, 11.5vw, 57px); line-height: 1.03; }.hero-copy > p { max-width: 375px; font-size: 12px; line-height: 1.75; }.hero-button { margin-top: 18px; min-height: 44px; min-width: 187px; }.hero-note { margin-top: 17px; font-size: 10px; }.hero-art { width: calc(100% - 24px); max-width: 470px; margin: 0 auto; padding: 0 15px 20px 0; }.hero-photo-frame { height: clamp(285px, 81vw, 390px); border-radius: 48% 48% 2px 2px; }.hero-photo-wash { inset: 0 15px 20px 0; }.hero-stamp { top: 13%; left: -18px; width: 81px; height: 81px; gap: 4px; }.hero-stamp span { font-size: 10px; }.hero-stamp strong { font-size: 12px; }.hero-caption { right: 0; bottom: 0; padding: 8px 10px; font-size: 10px; }.hero-side-script { right: -14px; font-size: 12px; }.hero-index { bottom: 13px; left: 20px; font-size: 10px; }
  .promise-strip { grid-template-columns: repeat(2, 1fr); gap: 17px 0; padding: 19px 12px; }.promise-item { gap: 9px; padding: 3px 10px; }.promise-icon { width: 32px; height: 32px; }.promise-icon svg { width: 16px; height: 16px; }.promise-item h3 { font-size: 10px; }.promise-item p { font-size: 10px; }.promise-separator { height: 25px; top: 7px; }.promise-item:nth-child(2) .promise-separator { display: none; }
  .collection-section { padding: 49px 18px 43px; }.section-topline { gap: 12px; font-size: 10px; }.section-flourish { font-size: 12px; }.collection-heading { align-items: end; margin: 19px 0 15px; }.collection-heading h2 { margin: 8px 0 5px; font-size: 34px; }.collection-heading p { font-size: 10px; }.collection-heading > .text-link { display: none; }.eyebrow-label { font-size: 10px; }.catalog-toolbar { margin: 0 -18px; padding: 9px 18px 13px; }.category-tabs { gap: 18px; }.category-tab { font-size: 10px; }.result-count { font-size: 10px; }.product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 10px; padding-top: 14px; }.product-visual { aspect-ratio: .77; }.product-badge { top: 7px; left: 7px; padding: 5px 6px; font-size: 10px; }.favourite-button { width: 28px; height: 28px; top: 5px; right: 5px; }.favourite-button svg { width: 15px; height: 15px; }.quick-add { opacity: 1; transform: none; bottom: 7px; left: 7px; right: 7px; min-height: 34px; gap: 5px; font-size: 10px; }.product-copy { padding: 9px 1px 0; }.product-title { font-size: 11px; }.product-rating { margin-top: 4px; font-size: 10px; }.product-price { font-size: 11px; }.old-price { font-size: 10px; }.catalog-bottom { margin-top: 20px; font-size: 10px; }.catalog-discover { font-size: 10px; }
  .story-banner { display: flex; flex-direction: column; margin: 0 18px 49px; padding: 0; }.story-image { height: clamp(255px, 77vw, 380px); }.story-copy { min-height: 307px; padding: 32px 25px 27px; }.story-copy h2 { margin: 12px 0 6px; font-size: 36px; }.story-copy > p { max-width: 315px; font-size: 11px; }.story-star { top: 31px; right: 27px; font-size: 19px; }.story-copy .text-link { margin-top: 12px; font-size: 10px; }.story-signature { margin-top: 14px; }
  .social-section { display: flex; flex-direction: column; gap: 22px; padding: 0 18px 49px; }.social-heading { padding: 0; }.social-heading h2 { margin: 10px 0 5px; font-size: 35px; }.social-score { margin-top: 11px; }.review-card { min-height: 266px; padding: 19px 19px 17px; }.review-card > p { min-height: 78px; font-size: 13px; }.review-photo-label { top: 133px; right: 19px; }.review-disclaimer { font-size: 10px; }
  .reassurance-strip { position: relative; align-items: flex-start; gap: 12px; margin: 0 18px 48px; padding: 22px 16px 49px; min-height: 0; }.reassurance-star { flex-basis: 36px; height: 36px; font-size: 17px; }.reassurance-strip h2 { margin: 7px 0 5px; font-size: 22px; }.reassurance-strip p { max-width: 245px; font-size: 10px; line-height: 1.6; }.reassurance-link { position: absolute; right: 16px; bottom: 14px; font-size: 10px; }
  .newsletter-section { min-height: 320px; padding: 47px 18px 42px; }.newsletter-section::before { left: -33px; top: 48px; font-size: 90px; }.newsletter-section::after { right: -33px; bottom: 25px; font-size: 90px; }.newsletter-section h2 { font-size: 31px; }.newsletter-section > p { max-width: 280px; margin: 0 auto; font-size: 10px; line-height: 1.7; }.newsletter-form { margin-top: 17px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding: 35px 20px 29px; }.footer-brand { grid-column: 1/-1; }.footer-brand > p { margin: 14px 0 9px; font-size: 14px; }.footer-contact { margin-top: 10px; }.footer-column { gap: 12px; }.footer-column > span:first-child { font-size: 10px; }.footer-column > button, .footer-column > a, .footer-shipping p { font-size: 10px; }.footer-inline-note { font-size: 12px; }.footer-shipping { grid-column: 1/-1; display: flex; align-items: flex-start; }.payment-badges { max-width: 300px; }.footer-bottom { min-height: 52px; padding: 10px 20px; gap: 6px; font-size: 10px; }.footer-bottom > span:nth-child(2) { display: none; }
  .detail-backdrop { align-items: stretch; }.detail-panel { display: flex; flex-direction: column; width: 100%; height: 100%; max-height: 100%; overflow: auto; padding-bottom: 12px; }.detail-close { top: 11px; right: 11px; }.detail-gallery { position: relative; padding: 0; }.detail-main-image { min-height: 0; height: 58vh; max-height: 500px; }.detail-thumbnails { position: absolute; left: 12px; bottom: 12px; margin: 0; }.thumb { width: 48px; height: 48px; border: 1px solid #fff9; box-shadow: 0 2px 7px #0002; }.thumb.is-active { border: 2px solid #80664d; }.detail-copy { padding: 23px 20px 18px; }.detail-copy h1, .detail-copy h2 { font-size: 30px; }.detail-description { margin: 11px 0; }.detail-back-mobile { display: inline-flex; align-items: center; justify-content: center; gap: 7px; align-self: center; padding: 10px; border: 0; background: transparent; color: #80664d; font-size: 10px; }.detail-guarantee { margin-top: 12px; }
  .cart-drawer { width: 100vw; }.drawer-header { min-height: 87px; padding: 18px 21px 14px; }.drawer-header h2 { font-size: 24px; }.drawer-close { right: 11px; top: 14px; }.shipping-progress { margin: 14px 16px 2px; }.cart-lines { padding: 0 17px; }.cart-footer { padding: 14px 17px 17px; }.checkout-demo { padding: 20px 18px; }.toast-message { right: 12px; bottom: 13px; max-width: calc(100vw - 24px); font-size: 10px; }.back-to-top { display: grid; right: 11px; bottom: 12px; }
}
@media (max-width: 360px) { .brand-name { font-size: 14px; }.header-actions .icon-button { width: 30px; }.hero-section { padding-left: 18px; padding-right: 18px; }.hero-copy h1 { font-size: 39px; }.promise-item { padding: 3px 7px; gap: 7px; }.promise-item h3 { font-size: 10px; }.promise-item p { font-size: 10px; }.category-tabs { gap: 14px; }.product-title { font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

.policy-backdrop { position: fixed; z-index: 45; inset: 0; display: grid; place-items: center; padding: 20px; background: #24190f86; backdrop-filter: blur(2px); animation: fade-in .2s ease-out; }
.policy-card { position: relative; width: min(460px, 100%); padding: 39px 34px 30px; background: #fffaf6; box-shadow: 0 24px 60px #1d130f44; }
.policy-card h2 { margin: 14px 0 12px; color: #382b20; font: 400 31px/1.12 var(--serif); }
.policy-card p { margin: 0 0 22px; color: #796958; font-size: 12px; line-height: 1.9; }
.policy-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #fff1e4; color: #71563d; }
@media (max-width: 680px) { .policy-card { padding: 35px 23px 23px; } .policy-card h2 { font-size: 27px; } }

.footer-demo-note { max-width: 1280px; margin: 0 auto; padding: 0 6.3% 14px; color: #e4cdb6; font-size: 10px; line-height: 1.6; }
@media (max-width: 680px) { .footer-demo-note { padding: 0 20px 12px; font-size: 10px; } }

/* ===== Ajustes para Shopify ===== */
[hidden] { display: none !important; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 10px 14px; background: var(--mocha); color: var(--peach); }
.skip-link:focus { left: 8px; }
body.is-locked { overflow: hidden; }
.site-header-section { position: sticky; top: 0; z-index: 15; }
.icon { flex: 0 0 auto; }
.brand-logo { height: 36px; width: auto; }
.cart-count[data-count="0"], .favourite-count[data-count="0"] { display: none; }
.mobile-menu > a { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 17px 0; border-bottom: 1px solid #80664d1a; font: 400 18px var(--serif); }
.favourite-button.is-favourite svg, .detail-heart.is-favourite svg, .favourites-trigger.active svg { fill: currentColor; }
.product-rating svg { fill: currentColor; stroke: none; }
.primary-button:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
a.primary-button, a.text-link, a.quick-add, a.nav-link { text-decoration: none; }
.quick-add { font-family: var(--sans); }
.cart-drawer-inner { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.cart-drawer .cart-lines { min-height: 0; }
.cart-footer form { margin: 0; }
.cart-line-info h3 a { color: inherit; }
.cart-line-info .cart-line-category { text-transform: none; }
.cart-line .old-price { margin-left: 6px; }
.toast-message > span { flex: 0 0 auto; }

/* Newsletter */
.newsletter-section form { display: block; position: relative; }
.newsletter-msg { margin: 8px 0 0; color: #6e543b; font-size: 12px; }

/* Páginas genéricas */
.page-width { max-width: 1272px; margin: 0 auto; padding: 56px 6.3% 72px; }
.page-title { margin: 0 0 24px; color: #31261c; font: 400 clamp(31px, 3.3vw, 43px)/1.13 var(--serif); letter-spacing: -.034em; }
.rte { color: #6b5a4a; font-size: 14px; line-height: 1.8; max-width: 760px; }
.rte h2, .rte h3 { color: #35291f; font-family: var(--serif); font-weight: 400; }
.rte a { color: var(--mocha); text-decoration: underline; }
.rte img { height: auto; }
.center-block { text-align: center; padding: 90px 6.3%; }
.center-block .rte { margin: 0 auto 24px; }
.article-card { display: block; padding: 22px 0; border-bottom: 1px solid var(--line); }
.article-card h2 { margin: 0 0 6px; font: 400 24px var(--serif); }
.article-card p { margin: 0; color: #8b7969; font-size: 13px; }

/* Coleção */
.sort-label { display: flex; align-items: center; gap: 10px; color: #8f7b68; font-size: 12px; }
.sort-label select { padding: 8px 10px; border: 1px solid #ddcdbd; background: #fffdfa; color: #403226; font: inherit; }
.collection-desc { max-width: 560px; margin-top: 6px; color: #8b7969; font-size: 13px; line-height: 1.7; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 34px; font-size: 13px; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px; border: 1px solid transparent; color: #71583e; }
.pagination a:hover { border-color: #ddcdbd; }
.pagination .current { border-color: #80664d; color: #403226; font-weight: 600; }
.search-form-page { display: flex; gap: 10px; max-width: 520px; margin: 0 0 8px; }
.search-form-page input { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid #ddcdbd; background: #fffdfa; font-size: 14px; }

/* Página de produto */
.product-page .detail-panel { position: static; width: min(1060px, calc(100vw - 54px)); max-height: none; margin: 40px auto 72px; overflow: visible; animation: none; box-shadow: 0 10px 40px #3824150f; }
.product-page .detail-gallery { top: 95px; }
.gallery-slide { height: 100%; }
.detail-main-image img { display: block; }
.detail-description p { margin: 0 0 10px; }
.quantity-stepper { min-width: 104px; }
.quantity-stepper input { width: 34px; padding: 0; border: 0; background: transparent; color: #51402e; font: 500 13px var(--sans); text-align: center; -moz-appearance: textfield; }
.quantity-stepper input::-webkit-outer-spin-button, .quantity-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.variant-fieldset { margin: 14px 0 0; padding: 0; border: 0; }
.variant-fieldset legend { margin-bottom: 8px; padding: 0; color: #8b765f; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.variant-values { display: flex; flex-wrap: wrap; gap: 8px; }
.variant-values input { position: absolute; opacity: 0; pointer-events: none; }
.variant-values label { padding: 9px 14px; border: 1px solid #e3d7c9; background: #fffdfa; color: #594936; font-size: 12px; cursor: pointer; }
.variant-values input:checked + label { border-color: #80664d; background: #fff7ef; box-shadow: inset 0 0 0 1px #80664d; }
.variant-values input:focus-visible + label { outline: 2px solid var(--mocha); outline-offset: 2px; }
.form-error { margin: 10px 0 0; color: #ae4332; font-size: 12px; }
@media (max-width: 680px) {
  .product-page .detail-panel { display: flex; flex-direction: column; width: 100%; height: auto; margin: 0; box-shadow: none; }
  .product-page .detail-gallery { position: relative; top: 0; }
}

/* Carrinho (página) */
.cart-page { max-width: 900px; margin: 0 auto; padding: 56px 6.3% 72px; }
.cart-page .cart-line > img { width: 96px; height: 110px; }
.cart-qty { width: 64px; height: 34px; border: 1px solid #e3d7c9; background: #fffdfa; text-align: center; font-size: 13px; }
.cart-page-footer { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; margin-top: 24px; }
.cart-page-footer .cart-subtotal { gap: 24px; }
.cart-page-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.cart-page-actions .primary-button { gap: 14px; }
.btn-secondary { background: transparent; color: var(--mocha); }
.btn-secondary:hover { background: var(--peach-light); }
