@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
  --ink: #3e3440;
  --muted: #81777b;
  --soft-muted: #a69a9f;
  --paper: #fffdfb;
  --canvas: #f8f0ed;
  --blush: #f7deda;
  --pink: #e6aebb;
  --rose: #be718e;
  --lavender: #e8e0f1;
  --mint: #dcebe5;
  --sky: #dcecf3;
  --butter: #f3e1a9;
  --line: #e7dbd8;
  --shadow: 0 24px 60px rgba(115, 77, 94, 0.13);
  --sans: 'Inter', Arial, sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
  --script: 'Caveat', 'Comic Sans MS', cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font: 14px/1.6 var(--sans); }
body.cart-open { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.section-shell { width: min(1180px, calc(100% - 80px)); margin-inline: auto; }
.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; }
.eyebrow { margin: 0 0 10px; color: var(--rose); font-size: 10px; font-weight: 700; letter-spacing: .22em; line-height: 1.3; text-transform: uppercase; }
.announcement { padding: 8px 20px; color: #8b7075; background: #f8deda; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-align: center; }
.announcement span { margin: 0 14px; color: var(--rose); }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(220, 206, 207, .6); background: rgba(255, 253, 251, .94); backdrop-filter: blur(18px); }
.header-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: min(1320px, calc(100% - 48px)); padding-top: 16px; margin-inline: auto; }
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-badge { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #fff; background: var(--rose); font: 25px/1 var(--serif); }
.brand-wordmark { color: var(--ink); font: 500 25px/1 var(--serif); letter-spacing: -.04em; }
.brand-wordmark em { color: var(--rose); font-style: italic; }
.main-nav { display: flex; width: 100%; align-items: center; justify-content: center; gap: 30px; order: 3; margin-left: 0; padding: 12px 0 14px; border-top: 1px solid var(--line); }
.main-nav a { position: relative; color: #64595e; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.main-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: var(--rose); content: ''; opacity: 0; transform: scaleX(0); transition: .25s ease; }
.main-nav a:hover::after, .main-nav a.active::after { opacity: 1; transform: scaleX(1); }
.nav-dropdown-wrap { position: relative; }.nav-dropdown-toggle { position: relative; border: 0; padding: 0; color: #64595e; background: transparent; cursor: pointer; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }.nav-dropdown-toggle span { margin-left: 4px; color: var(--rose); font-size: 14px; }.nav-dropdown { position: absolute; z-index: 24; top: calc(100% + 14px); left: 50%; min-width: 190px; padding: 8px; border: 1px solid var(--line); background: #fffaf7; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translate(-50%, -6px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }.nav-dropdown-wrap:hover .nav-dropdown, .nav-dropdown-wrap.open .nav-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }.nav-dropdown a { display: block; padding: 9px 11px; border-bottom: 1px solid var(--line); font-size: 10px; letter-spacing: .08em; text-align: left; }.nav-dropdown a:last-child { border-bottom: 0; }.nav-dropdown a::after { display: none; }.nav-dropdown a:hover { color: var(--rose); background: var(--blush); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-button, .cart-button, .wishlist, .close-cart, .close-search, .menu-toggle { border: 0; background: transparent; cursor: pointer; }
.icon-button svg, .cart-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; }
.cart-button { position: relative; display: grid; width: 38px; height: 38px; place-items: center; color: var(--ink); }
.cart-count { display: inline-grid; min-width: 17px; height: 17px; padding-inline: 3px; place-items: center; border-radius: 50%; color: #fff; background: var(--rose); font-size: 9px; font-weight: 700; line-height: 1; }
.cart-button .cart-count { position: absolute; top: -2px; right: -3px; }
.menu-toggle { display: none; width: 38px; padding: 7px; }
.menu-toggle span { display: block; height: 1px; margin: 5px 0; background: var(--ink); }

.hero { display: grid; min-height: 410px; grid-template-columns: .84fr 1.16fr; gap: 40px; padding-top: 64px; padding-bottom: 64px; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px 0 40px; }
.hero h1 { max-width: 540px; margin: 0; font: 500 clamp(58px, 7vw, 92px)/.82 var(--serif); letter-spacing: -.055em; }
.hero h1 span { color: var(--rose); font-style: italic; }
.hero-description { max-width: 430px; margin: 28px 0 26px; color: var(--muted); font-size: 15px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 23px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 45px; padding: 0 21px; border: 1px solid transparent; border-radius: 0; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: .25s ease; }
.button span { font-size: 17px; font-weight: 400; line-height: 1; }
.button-dark { color: #fff; background: var(--ink); }
.button-dark:hover { background: var(--rose); transform: translateY(-2px); }
.button-outline { border-color: var(--ink); background: transparent; }
.button-outline:hover { color: #fff; background: var(--ink); }
.text-link { border-bottom: 1px solid #c9b5b7; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: .2s ease; }
.text-link span { margin-left: 7px; font-size: 17px; font-weight: 400; }
.text-link:hover { color: var(--rose); border-color: var(--rose); }
.hero-signature { margin-top: 39px; color: var(--soft-muted); font: 21px var(--script); transform: rotate(-4deg); }
.hero-signature span { color: var(--rose); font-family: var(--serif); font-size: 26px; }

.hero-art { position: relative; min-height: 488px; overflow: hidden; background: #f5cdd0; box-shadow: var(--shadow); }
.hero-art::before { position: absolute; inset: 0; background: linear-gradient(132deg, rgba(255,255,255,.34), transparent 40%), radial-gradient(circle at 80% 16%, rgba(255,255,255,.6) 0 2px, transparent 3px), radial-gradient(circle at 12% 78%, rgba(255,255,255,.45) 0 2px, transparent 3px); background-size: auto, 90px 90px, 100px 100px; content: ''; }
.art-sun { position: absolute; top: -75px; right: -70px; width: 280px; height: 280px; border-radius: 50%; background: #f6e1b6; opacity: .9; }
.art-sun::after { position: absolute; inset: 29px; border: 1px solid rgba(190,113,142,.25); border-radius: 50%; content: ''; }
.art-dots { position: absolute; bottom: 40px; left: 34px; width: 72px; height: 72px; background-image: radial-gradient(#be718e 1.5px, transparent 1.5px); background-size: 13px 13px; opacity: .4; }
.art-scribble { position: absolute; z-index: 1; color: #fff; font: 600 24px var(--script); transform: rotate(-10deg); }
.scribble-one { top: 40px; left: 38px; }
.hero-product-card { position: absolute; top: 80px; right: 15%; bottom: 48px; left: 15%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; border: 1px solid rgba(255,255,255,.7); background: rgba(255,250,249,.68); box-shadow: 0 18px 40px rgba(167, 99, 117, .16); }
.product-sticker { position: absolute; top: -17px; right: -13px; display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; color: #fff; background: var(--rose); font: 17px/1 var(--script); text-align: center; transform: rotate(11deg); }
.hero-product-image { display: grid; width: 100%; height: 100%; min-height: 0; place-items: center; }
.hero-product-image img { width: 100%; height: 100%; object-fit: cover; filter: drop-shadow(0 20px 12px rgba(139, 84, 106, .16)); }
.hero-product-name { display: none; }
.hero-product-note { margin: 8px 0 0; color: var(--rose); font: 20px var(--script); }
.floating-note { position: absolute; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 11px 16px; color: #68555e; background: rgba(255,253,251,.92); box-shadow: 0 10px 24px rgba(137, 84, 103, .14); font-size: 10px; font-weight: 700; letter-spacing: .03em; }
.floating-note span { color: var(--rose); font: 20px var(--serif); }
.note-top { top: 19%; right: -1px; }
.note-bottom { bottom: 22px; left: -1px; }
.art-sparkle { position: absolute; z-index: 1; color: #fff; font-size: 24px; }
.sparkle-one { top: 31%; left: 9%; }.sparkle-two { right: 8%; bottom: 19%; font-size: 35px; }

.benefit-bar { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 253, 251, .75); }
.benefit-bar > div { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 92px; padding: 16px 22px; border-right: 1px solid var(--line); }
.benefit-bar > div:last-child { border-right: 0; }
.benefit-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: var(--rose); background: var(--blush); font: 22px var(--serif); }
.benefit-bar p { display: flex; flex-direction: column; margin: 0; }.benefit-bar strong { font: 600 16px var(--serif); }.benefit-bar small { color: var(--muted); font-size: 10px; }

.collections, .shop-section { padding-top: 100px; padding-bottom: 100px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
.section-heading h2, .editorial h2, .newsletter h2, .quote-section h2 { margin: 0; font: 500 clamp(42px, 5vw, 66px)/.88 var(--serif); letter-spacing: -.05em; }
.section-heading h2 em, .editorial h2 em, .newsletter h2 em, .quote-section h2 em { color: var(--rose); font-style: italic; }
.collection-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.collection-card { position: relative; min-height: 245px; overflow: hidden; padding: 24px; transition: .35s ease; }
.collection-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.collection-pink { background: #f0b8bc; }.collection-blue { background: #b9d9dc; }.collection-purple { background: #d3b8d0; }.collection-cream { background: #f3e9d3; }
.collection-kicker { color: rgba(62,52,64,.66); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.collection-card h3 { position: relative; z-index: 1; margin: 36px 0 0; font: 500 38px/.76 var(--serif); letter-spacing: -.05em; }.collection-card h3 em { color: #fff; font-style: italic; }
.collection-arrow { position: absolute; right: 19px; bottom: 17px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(62,52,64,.4); border-radius: 50%; font-size: 16px; }
.collection-art { position: absolute; right: -12px; bottom: -17px; display: grid; place-items: center; width: 120px; height: 120px; border-radius: 50%; color: #fff; font: 46px var(--serif); transform: rotate(-12deg); }
.collection-art-notebook { right: -4px; bottom: -28px; border: 12px solid rgba(255,255,255,.45); border-radius: 0; background: #fff; box-shadow: -14px 7px rgba(202,124,145,.35); transform: rotate(-13deg); }.collection-art-notebook span { color: var(--rose); font: 24px/.75 var(--script); text-align: center; }.collection-art-bow { background: rgba(255,255,255,.42); }.collection-art-gift { background: rgba(255,255,255,.25); }.collection-art-stars { width: 150px; background: rgba(255,255,255,.35); font-size: 28px; }

.shop-section { background: #fffaf7; }.shop-section::before { display: block; height: 1px; background: var(--line); content: ''; }
.filter-tabs { display: flex; gap: 20px; }.filter-tab { padding: 0 0 7px; border: 0; border-bottom: 1px solid transparent; color: var(--soft-muted); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.filter-tab.active, .filter-tab:hover { border-color: var(--rose); color: var(--rose); }
.shop-section .section-heading { align-items: flex-start; }.shop-section .filter-tabs { margin-top: 0; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 23px; }.product-card { min-width: 0; }.product-media { position: relative; display: grid; height: 315px; place-items: center; overflow: hidden; }.media-blush { background: #f6e2e1; }.media-mint { background: #dcebe5; }.media-lilac { background: #e7dce9; }.media-cream { background: #f1e7d1; }.product-media::after { position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.68); content: ''; pointer-events: none; }.product-media img { position: relative; z-index: 1; width: 70%; height: 73%; object-fit: contain; transition: .35s ease; }.product-card:hover .product-media img { transform: scale(1.08) rotate(2deg); }.product-badge { position: absolute; z-index: 2; top: 18px; left: 18px; padding: 5px 8px; color: #9c5b70; background: #fffaf7; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.badge-sale { color: #6f887a; }.wishlist { position: absolute; z-index: 2; top: 13px; right: 16px; color: var(--rose); font: 25px var(--serif); }.wishlist:hover { color: var(--ink); }.product-info { padding: 12px 2px 0; }.product-category { margin: 0 0 5px; color: var(--soft-muted); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.product-info h3 { min-height: 36px; margin: 0; font: 500 23px/1 var(--serif); letter-spacing: -.02em; }.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }.product-bottom strong { color: var(--rose); font: 600 24px var(--serif); }.add-button { border: 0; border-bottom: 1px solid #d4bdc0; color: var(--ink); background: transparent; cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.add-button span { margin-left: 4px; color: var(--rose); font-size: 16px; }.add-button:hover { color: var(--rose); }.shop-more { margin-top: 45px; text-align: center; }

.editorial { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; padding-top: 118px; padding-bottom: 118px; }.editorial-art { position: relative; min-height: 440px; }.editorial-frame { position: absolute; inset: 25px 44px 0 30px; display: flex; align-items: end; justify-content: center; overflow: hidden; background: #eed9dd; }.editorial-frame::before { position: absolute; top: 30px; left: 25px; width: 70px; height: 70px; border-radius: 50%; background: #f4e9cb; content: ''; }.editorial-frame img { position: relative; z-index: 1; width: 74%; height: 77%; object-fit: contain; filter: drop-shadow(0 15px 7px rgba(126, 77, 98, .15)); }.frame-caption { position: absolute; z-index: 2; bottom: 28px; color: #fff; font: 32px var(--script); transform: rotate(-4deg); }.editorial-art::before { position: absolute; inset: 0 0 23px 0; border: 1px solid var(--pink); content: ''; }.editorial-sparkle { position: absolute; top: 5px; right: 9px; color: var(--rose); font-size: 36px; }.editorial-heart { position: absolute; bottom: 0; left: 4px; color: var(--rose); font: 48px var(--serif); }.editorial-copy p:not(.eyebrow) { max-width: 440px; margin: 25px 0 0; color: var(--muted); font-size: 14px; line-height: 1.85; }.editorial-copy .text-link { display: inline-block; margin-top: 32px; }

.newsletter { position: relative; padding: 89px 20px 93px; background: #dfc1d9; text-align: center; }.newsletter::before, .newsletter::after { position: absolute; color: rgba(255,255,255,.75); font-size: 33px; content: '✦'; }.newsletter::before { top: 28px; left: 10%; }.newsletter::after { right: 12%; bottom: 35px; }.newsletter-stars { margin-bottom: 8px; color: rgba(255,255,255,.72); font: 21px var(--serif); }.newsletter .eyebrow { color: #896482; }.newsletter h2 { color: #fff; }.newsletter h2 em { color: #fff; }.newsletter > p:not(.eyebrow):not(.form-message) { max-width: 480px; margin: 20px auto 25px; color: #8d7488; font-size: 13px; }.newsletter-form { display: flex; width: min(100%, 440px); margin: auto; }.newsletter-form input { flex: 1; min-width: 0; padding: 0 18px; border: 0; outline: 0; color: var(--ink); background: #fffaf7; font-size: 11px; }.newsletter-form .button { min-width: 175px; }.form-message { min-height: 20px; margin: 12px 0 0; color: #6e566a; font-size: 11px; }
.quote-section { padding: 110px 20px; text-align: center; }.quote-section .eyebrow { margin-bottom: 24px; }.quote-section h2 { font-size: clamp(45px, 6vw, 78px); }.quote-meta { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 29px; color: var(--soft-muted); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }.quote-stars { color: var(--rose); letter-spacing: .15em; }

.site-footer { color: #fdf6f4; background: var(--ink); }.footer-main { display: grid; grid-template-columns: 2fr 1fr 1.3fr 1.5fr; gap: 40px; padding-top: 72px; padding-bottom: 64px; }.site-footer .brand-wordmark { color: #fff; }.site-footer .brand-wordmark em { color: var(--pink); }.site-footer .brand-badge { color: var(--ink); background: var(--pink); }.footer-brand p { max-width: 210px; margin: 18px 0 0; color: #b9aeb2; font-size: 11px; line-height: 1.7; }.footer-title { margin: 4px 0 15px; color: var(--pink); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }.site-footer .footer-main > div:not(.footer-brand) a { display: block; margin: 8px 0; color: #d5c9cc; font-size: 11px; }.site-footer a:hover { color: #fff; }.footer-social a:last-child { overflow-wrap: anywhere; }.footer-bottom { display: flex; justify-content: space-between; padding-top: 17px; padding-bottom: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #9f9297; font-size: 9px; letter-spacing: .04em; }
.media-pink { background: #f1c8d1; }.media-sky { background: var(--sky); }.product-description { min-height: 0; margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.category-photo { width: 76%; height: 76%; object-fit: contain; filter: drop-shadow(0 13px 7px rgba(126, 77, 98, .17)); transition: transform .35s ease; }.collection-card:hover .category-photo { transform: scale(1.08) rotate(3deg); }.whatsapp-float { position: fixed; z-index: 25; right: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px 11px 12px; border-radius: 999px; color: #fff; background: #25d366; box-shadow: 0 12px 25px rgba(37, 211, 102, .28); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: transform .25s ease, box-shadow .25s ease; }.whatsapp-float:hover { color: #fff; box-shadow: 0 16px 32px rgba(37, 211, 102, .35); transform: translateY(-3px); }.whatsapp-float svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }.whatsapp-float svg path + path { stroke-width: 1.4; }

.search-popover { position: fixed; z-index: 40; top: 84px; right: 24px; display: none; width: min(370px, calc(100% - 48px)); padding: 24px; border: 1px solid var(--line); background: #fffaf7; box-shadow: var(--shadow); }.search-popover.visible { display: block; }.search-popover input { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--ink); outline: 0; background: transparent; }.search-popover > p:last-child { margin: 12px 0 0; color: var(--soft-muted); font-size: 10px; }.close-search { position: absolute; top: 15px; right: 18px; color: var(--muted); font-size: 23px; }
.cart-overlay { position: fixed; z-index: 30; inset: 0; display: none; background: rgba(62,52,64,.42); }.cart-open .cart-overlay { display: block; }.cart-drawer { position: fixed; z-index: 31; top: 0; right: 0; bottom: 0; display: flex; width: min(430px, 100%); flex-direction: column; padding: 30px; background: #fffaf7; box-shadow: -20px 0 45px rgba(62,52,64,.12); transform: translateX(105%); transition: transform .35s ease; }.cart-open .cart-drawer { transform: translateX(0); }.cart-header { display: flex; align-items: start; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }.cart-header h2 { margin: 0; font: 500 46px/.75 var(--serif); }.cart-header h2 .cart-count { vertical-align: top; margin-left: 6px; }.close-cart { color: var(--muted); font-size: 32px; line-height: .8; }.cart-items { flex: 1; overflow: auto; padding: 20px 0; }.cart-item { display: grid; grid-template-columns: 70px 1fr auto; gap: 13px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }.cart-item-image { display: grid; width: 70px; height: 75px; place-items: center; background: var(--blush); }.cart-item-image img { width: 80%; height: 80%; object-fit: contain; }.cart-item h3 { margin: 0; font: 500 20px/.95 var(--serif); }.cart-item p { margin: 4px 0 8px; color: var(--rose); font-size: 11px; }.quantity-control { display: inline-flex; align-items: center; gap: 8px; }.quantity-control button { width: 22px; height: 22px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; line-height: 1; }.quantity-control span { font-size: 11px; }.remove-item { align-self: start; border: 0; color: var(--soft-muted); background: transparent; cursor: pointer; font-size: 10px; }.cart-item-price { align-self: start; color: var(--rose); font: 600 17px var(--serif); white-space: nowrap; }.cart-empty { display: none; flex: 1; flex-direction: column; align-items: center; justify-content: center; color: var(--muted); text-align: center; }.cart-empty.visible { display: flex; }.cart-empty > span { color: var(--pink); font: 58px var(--serif); }.cart-empty p { margin: 4px 0 20px; font: 22px/1.1 var(--serif); }.cart-footer { padding-top: 19px; border-top: 1px solid var(--line); }.cart-footer > div { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; color: var(--muted); font-size: 12px; }.cart-total { color: var(--ink); font: 600 25px var(--serif); }.checkout-button { width: 100%; }.cart-footer small { display: block; margin-top: 11px; color: var(--soft-muted); font-size: 9px; text-align: center; }.cart-footer.is-empty { display: none; }

/* ── Category Slider ─────────────────────────────────────── */
.cat-slider-section { padding-top: 100px; padding-bottom: 100px; }
.cat-slider-track {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  padding: 12px 0 20px;
}
.cat-slider-track::-webkit-scrollbar { display: none; }
.cat-slider-track.is-dragging { cursor: grabbing; }
.cat-slider {
  display: flex;
  gap: 18px;
  width: max-content;
  padding: 0 18px;
  pointer-events: none;
}
.cat-slide { pointer-events: auto; }
.cat-slide {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 260px;
  min-height: 300px;
  padding: 26px 22px 0;
  border: 0;
  border-radius: 22px;
  background: var(--cat-bg, #f0b8bc);
  cursor: pointer;
  text-align: left;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
  flex-shrink: 0;
}
.cat-slide:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(115,77,94,.18); }
.cat-slide.active { box-shadow: 0 0 0 3px var(--rose), 0 20px 50px rgba(115,77,94,.18); transform: translateY(-6px); }
.cat-slide-kicker { display: block; margin-bottom: 14px; color: rgba(62,52,64,.6); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.cat-slide-name { display: block; font: 500 38px/.9 var(--serif); letter-spacing: -.04em; color: var(--ink); }
.cat-slide-img { position: absolute; right: -10px; bottom: -12px; width: 130px; height: 130px; display: flex; align-items: flex-end; justify-content: flex-end; }
.cat-slide-img img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(80,50,60,.18)); transform: rotate(6deg); }

.reveal { opacity: 1; transform: translateY(0); }.js-enabled .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.js-enabled .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .section-shell { width: min(100% - 40px, 680px); }.header-inner { min-height: 72px; }.main-nav { gap: 18px; margin-left: 20px; }.main-nav a { font-size: 9px; }.hero { grid-template-columns: 1fr; gap: 20px; padding-top: 45px; }.hero-copy { padding-bottom: 15px; }.hero-art { min-height: 440px; }.collection-grid { grid-template-columns: repeat(2, 1fr); }.product-grid { grid-template-columns: repeat(2, 1fr); }.editorial { gap: 45px; }.footer-main { grid-template-columns: 1.6fr 1fr 1fr; }.footer-social { grid-column: 2 / -1; }.footer-bottom { flex-direction: column; gap: 6px; }
}

@media (max-width: 620px) {
  .section-shell { width: calc(100% - 30px); }.announcement { font-size: 8px; letter-spacing: .12em; }.announcement span { margin: 0 7px; }.header-inner { width: calc(100% - 30px); }.brand-badge { width: 30px; height: 30px; font-size: 22px; }.brand-wordmark { font-size: 22px; }.menu-toggle { display: block; order: 2; margin-left: auto; }.main-nav { position: absolute; top: 100%; right: 15px; left: 15px; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 8px 17px; border: 1px solid var(--line); background: #fffaf7; box-shadow: var(--shadow); }.main-nav.open { display: flex; }.main-nav a { padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 10px; }.main-nav a:last-child { border-bottom: 0; }.main-nav a::after { display: none; }.header-actions { order: 3; }.icon-button { display: none; }.hero { min-height: 0; padding-top: 47px; padding-bottom: 45px; }.hero h1 { font-size: clamp(58px, 17vw, 80px); }.hero-description { margin-top: 24px; font-size: 13px; line-height: 1.7; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }.hero-art { min-height: 370px; }.hero-product-card { top: 65px; right: 11%; bottom: 34px; left: 11%; padding: 16px; }.hero-product-image { height: 170px; }.hero-product-name { font-size: 26px; }.hero-product-note { font-size: 17px; }.floating-note { padding: 8px 11px; font-size: 8px; }.note-top { top: 15%; }.note-bottom { bottom: 14px; }.benefit-bar { grid-template-columns: 1fr; }.benefit-bar > div { justify-content: flex-start; min-height: 73px; border-right: 0; border-bottom: 1px solid var(--line); padding-left: 20px; }.benefit-bar > div:last-child { border-bottom: 0; }.collections, .shop-section { padding-top: 72px; padding-bottom: 72px; }.section-heading { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 25px; }.section-heading h2, .editorial h2, .newsletter h2, .quote-section h2 { font-size: 48px; }.collection-grid { gap: 10px; }.collection-card { min-height: 184px; padding: 17px; }.collection-card h3 { margin-top: 28px; font-size: 30px; }.collection-kicker { font-size: 7px; }.collection-art { width: 88px; height: 88px; }.collection-art-notebook { width: 80px; height: 98px; }.collection-art-notebook span { font-size: 17px; }.collection-art-stars { width: 100px; font-size: 20px; }.filter-tabs { flex-wrap: wrap; gap: 14px; }.product-grid { gap: 68px 12px; }.product-media { height: 200px; }.product-media::after { inset: 8px; }.product-badge { top: 10px; left: 10px; font-size: 7px; }.wishlist { top: 7px; right: 8px; font-size: 22px; }.product-info { padding-top: 11px; }.product-info h3 { min-height: 36px; font-size: 19px; }.product-description { min-height: 36px; font-size: 10px; }.product-category { font-size: 7px; }.product-bottom strong { font-size: 14px; }.add-button { font-size: 8px; }.editorial { grid-template-columns: 1fr; gap: 55px; padding-top: 75px; padding-bottom: 75px; }.editorial-art { min-height: 320px; }.editorial-frame { inset: 19px 30px 0 19px; }.frame-caption { bottom: 19px; font-size: 25px; }.editorial-copy p:not(.eyebrow) { font-size: 13px; }.newsletter { padding: 70px 20px; }.newsletter-form { flex-direction: column; gap: 10px; }.newsletter-form input { min-height: 45px; }.newsletter-form .button { width: 100%; }.quote-section { padding: 76px 10px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-top: 55px; padding-bottom: 45px; }.footer-brand { grid-column: 1 / -1; }.footer-social { grid-column: 1 / -1; }.footer-bottom { width: calc(100% - 30px); }.whatsapp-float { right: 14px; bottom: 14px; padding: 10px 12px 10px 10px; }.whatsapp-float span { font-size: 8px; }
}

@media (max-width: 620px) {
  .shop-section .filter-tabs { margin-top: 0; }
}

@media (max-width: 900px) {
  .main-nav { margin-left: 0; }
}

@media (max-width: 620px) {
  .header-inner { padding-top: 0; }
  .main-nav { width: auto; }
  .nav-dropdown-wrap { width: 100%; }
  .nav-dropdown-toggle { width: 100%; padding: 11px 0; border-bottom: 1px solid var(--line); text-align: left; }
  .nav-dropdown { position: static; display: none; min-width: 0; padding: 0 0 0 12px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .nav-dropdown-wrap.open .nav-dropdown { display: block; }
  .nav-dropdown a { padding: 9px 0; border-bottom: 1px solid var(--line); }
}

body.checkout-open { overflow: hidden; }
.checkout-overlay { position: fixed; z-index: 35; inset: 0; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(62,52,64,.48); }
.checkout-open .checkout-overlay { display: flex; }
.checkout-modal { width: min(760px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; padding: 34px; background: #fffaf7; box-shadow: 0 24px 70px rgba(62,52,64,.2); }
.checkout-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.checkout-header h2 { max-width: 550px; margin: 0; font: 500 clamp(38px, 6vw, 58px)/.9 var(--serif); }
.close-checkout { color: var(--muted); font-size: 32px; line-height: .8; }
.checkout-intro { margin: 18px 0 20px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.checkout-summary { border-top: 1px solid var(--line); }
.checkout-line { display: grid; grid-template-columns: 56px 1fr auto; gap: 13px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.checkout-line-image { display: grid; width: 56px; height: 56px; place-items: center; background: var(--blush); }
.checkout-line-image img { width: 80%; height: 80%; object-fit: contain; }
.checkout-line strong { display: block; color: var(--ink); font: 500 20px/.95 var(--serif); }
.checkout-line > strong { color: var(--rose); font-size: 18px; white-space: nowrap; }
.checkout-line small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.checkout-cost-row { display: flex; align-items: center; justify-content: space-between; padding: 9px 0 0; color: var(--muted); font-size: 11px; }
.checkout-cost-row strong { color: var(--ink); font: 500 19px var(--serif); }
.checkout-total { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 20px; color: var(--muted); font-size: 12px; }
.checkout-total strong { color: var(--ink); font: 600 27px var(--serif); }
.checkout-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.checkout-field { display: flex; flex-direction: column; gap: 7px; }
.checkout-field.full { grid-column: 1 / -1; }
.checkout-field label { color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.checkout-field input, .checkout-field textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--line); outline: 0; color: var(--ink); background: #fff; font: 12px var(--sans); transition: border-color .2s ease, box-shadow .2s ease; }
.checkout-field textarea { min-height: 82px; resize: vertical; }
.checkout-field input:focus, .checkout-field textarea:focus { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(198,112,141,.12); }
.checkout-optin { display: flex; align-items: flex-start; gap: 9px; margin-top: 17px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.checkout-optin input { margin-top: 1px; accent-color: var(--rose); }
.checkout-error { min-height: 18px; margin: 11px 0 0; color: #a4455f; font-size: 11px; }
.checkout-submit { width: 100%; margin-top: 2px; }
.checkout-submit:disabled { cursor: wait; opacity: .65; }
.checkout-note { display: block; margin-top: 11px; color: var(--soft-muted); font-size: 9px; line-height: 1.5; text-align: center; }
.checkout-success { display: none; padding: 18px 0 8px; text-align: center; }
.checkout-success.visible { display: block; }
.checkout-success-mark { color: var(--pink); font: 65px/.8 var(--serif); }
.checkout-success h2 { margin: 18px 0 12px; font: 500 clamp(40px, 6vw, 60px)/.9 var(--serif); }
.checkout-success > p:not(.eyebrow):not(.checkout-order-id) { max-width: 420px; margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.6; }
.checkout-order-id { margin: 19px 0 22px; color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.checkout-order-id strong { color: var(--rose); }
.checkout-close-after { display: block; width: 100%; margin-top: 11px; }

@media (max-width: 620px) {
  .checkout-overlay { padding: 12px; }
  .checkout-modal { max-height: calc(100vh - 24px); padding: 24px 18px; }
  .checkout-form-grid { grid-template-columns: 1fr; }
  .checkout-field.full { grid-column: auto; }
  .checkout-line { grid-template-columns: 48px 1fr auto; gap: 9px; }
  .checkout-line-image { width: 48px; height: 48px; }
  .checkout-line strong { font-size: 17px; }
  .checkout-line > strong { font-size: 15px; }
}
@media (max-width: 620px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    row-gap: 60px !important;
    column-gap: 12px !important;
  }
  .product-media {
    height: 220px;
  }
  .product-info h3 {
    font-size: 18px;
    min-height: 0;
  }
  .product-bottom strong {
    font-size: 19px;
  }
  .cat-slider-section { padding-top: 60px; padding-bottom: 60px; }
  .cat-slide { width: 200px; min-height: 240px; padding: 20px 16px 0; border-radius: 18px; }
  .cat-slide-name { font-size: 30px; }
  .cat-slide-img { width: 100px; height: 100px; }
}
/* Design overrides are loaded from design-overrides.css (generated by the Visual Editor) */
