.site-header { position:sticky; top:0; z-index:35; background:rgba(255,245,249,.96); backdrop-filter:blur(13px); }
.header-tools { display:flex; align-items:center; justify-self:end; gap:8px; }
.header-tools .header-cart { margin-left:0; }
.header-favorites { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:0 11px; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--ink); font:600 12px/1 "Manrope",sans-serif; }
.header-favorites > span:first-child { color:var(--rose-dark); font-size:21px; line-height:1; }
.header-favorites b { display:grid; place-items:center; min-width:17px; height:17px; border-radius:50%; background:var(--rose-pale); color:var(--rose-dark); font-size:9px; }
.text-link[type="button"] { padding:0; border:0; background:transparent; font:inherit; cursor:pointer; }
.main-nav .nav-custom-cta { border:0; cursor:pointer; font:inherit; }

.collections-section,.gift-card-section,.box-builder-section,.social-proof-section,.faq-section { width:min(1240px,calc(100% - 48px)); margin:0 auto 112px; }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.collection-card { min-height:210px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--white); color:var(--ink); text-align:left; transition:transform .2s ease,box-shadow .2s ease; }
.collection-card:hover { transform:translateY(-4px); box-shadow:0 16px 30px rgba(79,28,48,.1); }
.collection-card span { margin-bottom:auto; color:var(--rose-dark); font-size:10px; font-weight:700; letter-spacing:.12em; }
.collection-card strong { margin-bottom:5px; font-family:"DM Serif Display",serif; font-size:29px; font-weight:400; line-height:1; letter-spacing:-.04em; }
.collection-card small { color:var(--muted); font-size:12px; line-height:1.45; }
.collection-card-birthday { background:linear-gradient(135deg,#fff9fb,#fbe6ee); }
.collection-card-love { background:var(--ink); border-color:var(--ink); color:#fff; }
.collection-card-love span { color:var(--rose-soft); }
.collection-card-love small { color:rgba(255,255,255,.72); }
.collection-card-thanks { background:linear-gradient(135deg,#fff7f9,#f7dfe8); }
.collection-card-anyday { background:#fff8fa; }

.catalog-filters { display:flex; flex-wrap:wrap; gap:8px; margin:-10px 0 22px; }
.catalog-filters button { min-height:34px; padding:0 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font:700 11px/1 "Manrope",sans-serif; }
.catalog-filters button.is-active { border-color:var(--ink); background:var(--ink); color:#fff; }

.gift-card-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr); gap:54px; align-items:center; padding:56px 62px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(135deg,#3a2730,#68404f); color:#fff; }
.gift-card-copy .eyebrow { color:var(--rose-soft); }
.gift-card-copy h2,.box-builder-heading h2,.social-proof-section h2,.faq-section h2 { margin-bottom:13px; font-size:clamp(35px,4vw,50px); line-height:1.02; letter-spacing:-.05em; }
.gift-card-copy > p:not(.eyebrow) { max-width:430px; color:rgba(255,255,255,.75); }
.gift-card-note { display:flex; align-items:center; gap:9px; margin-top:24px; color:#f9dbe5; font-size:13px; }
.gift-card-note > span:first-child { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:rgba(255,255,255,.12); }
.gift-card-form,.box-builder-form { display:grid; gap:15px; padding:24px; border:1px solid rgba(255,255,255,.15); border-radius:16px; background:rgba(255,250,252,.98); color:var(--ink); }
.gift-card-form fieldset,.box-builder-form fieldset { min-width:0; padding:0; border:0; }
.gift-card-form legend,.box-builder-form legend { margin-bottom:10px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.gift-card-form label,.box-builder-form label,.custom-dialog label { display:grid; gap:6px; color:var(--ink); font-size:12px; font-weight:700; }
.gift-card-form input,.gift-card-form textarea,.box-builder-form input,.box-builder-form textarea,.box-builder-form select,.custom-dialog input,.custom-dialog textarea,.custom-dialog select { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; outline:none; background:#fff; color:var(--ink); font:500 13px/1.45 "Manrope",sans-serif; }
.gift-card-form input:focus,.gift-card-form textarea:focus,.box-builder-form input:focus,.box-builder-form textarea:focus,.box-builder-form select:focus,.custom-dialog input:focus,.custom-dialog textarea:focus,.custom-dialog select:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(184,70,109,.15); }
.amount-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.amount-options > button { min-height:40px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:700 12px/1 "Manrope",sans-serif; }
.amount-options > button.is-selected { border-color:var(--rose-dark); background:var(--rose-pale); color:var(--rose-dark); }
.amount-options > label { grid-column:1/-1; grid-template-columns:auto minmax(0,1fr); align-items:center; }
.amount-options > label input { min-height:38px; padding:8px 10px; }
.gift-card-form .button,.box-builder-form .button { width:100%; justify-content:center; }

.box-builder-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(460px,1.2fr); gap:56px; align-items:start; padding:54px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.box-builder-heading > p:not(.eyebrow) { max-width:350px; color:var(--muted); }
.box-builder-form { border-color:var(--line); box-shadow:0 10px 28px rgba(79,28,48,.04); }
.box-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.box-options label { position:relative; display:block; }
.box-options input { position:absolute; opacity:0; pointer-events:none; }
.box-options span { min-height:54px; display:grid; place-items:center; padding:8px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); font-size:12px; font-weight:700; text-align:center; transition:border-color .2s ease,background .2s ease,color .2s ease; }
.box-options input:checked + span { border-color:var(--rose-dark); background:var(--rose-pale); color:var(--rose-dark); }
.box-builder-fields { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:12px; }

.social-proof-section { display:grid; grid-template-columns:minmax(0,.78fr) minmax(450px,1.22fr); gap:65px; align-items:center; padding:52px 58px; border-radius:22px; background:var(--blush); }
.social-proof-section > div:first-child > p:not(.eyebrow) { max-width:420px; margin-bottom:24px; color:var(--muted); }
.social-gallery-shell { min-width:0; }
.social-gallery,.social-gallery-loading,.social-moments { display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:150px 150px; gap:12px; }
.social-gallery[hidden],.social-gallery-loading[hidden],.social-moments[hidden] { display:none; }
.social-gallery-loading > span { position:relative; overflow:hidden; border-radius:15px; background:linear-gradient(110deg,rgba(255,255,255,.36) 28%,rgba(255,255,255,.68) 44%,rgba(255,255,255,.36) 60%); background-size:220% 100%; animation:social-gallery-shimmer 1.5s ease-in-out infinite; }
.social-gallery-loading > span:first-child { grid-row:1/3; }
.social-gallery-loading > span:nth-child(2) { animation-delay:.12s; }
.social-gallery-loading > span:nth-child(3) { animation-delay:.24s; }
.social-gallery article { position:relative; min-width:0; overflow:hidden; border-radius:15px; background:#e4c4d0; box-shadow:0 10px 22px rgba(103,43,65,.1); }
.social-gallery article:first-child { grid-row:1/3; }
.social-gallery figure { width:100%; height:100%; margin:0; }
.social-gallery img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.social-gallery article::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(48,21,33,.64)); content:""; pointer-events:none; }
.social-gallery article:hover img { transform:scale(1.045); }
.social-gallery figcaption { position:absolute; z-index:1; right:16px; bottom:14px; left:16px; overflow:hidden; color:#fff; font:400 21px/1.05 "DM Serif Display",serif; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 8px rgba(0,0,0,.28); }
.social-moments article { position:relative; display:flex; align-items:flex-end; padding:20px; overflow:hidden; border-radius:15px; color:#fff; font-family:"DM Serif Display",serif; font-size:28px; letter-spacing:-.04em; }
.social-moments article:before { position:absolute; inset:16px; border:1px solid rgba(255,255,255,.28); border-radius:10px; content:""; }
.social-moments article span,.social-moments article i { position:relative; z-index:1; }
.social-moments article i { margin-left:auto; font-family:"Manrope",sans-serif; font-size:21px; font-style:normal; }
.social-moments article:first-child { grid-row:1/3; background:linear-gradient(145deg,#a95574,#dc96ad); }
.social-moments article:nth-child(2) { background:linear-gradient(145deg,#cfa2b3,#8f6778); }
.social-moments article:nth-child(3) { background:linear-gradient(145deg,#b97590,#dfadbd); }
@keyframes social-gallery-shimmer { to { background-position:-220% 0; } }

.faq-section { display:grid; grid-template-columns:minmax(0,.75fr) minmax(500px,1.25fr); gap:60px; align-items:start; }
.faq-section .section-heading { display:block; margin:0; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:21px 32px 21px 0; color:var(--ink); cursor:pointer; font-size:15px; font-weight:700; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { position:absolute; top:17px; right:1px; color:var(--rose-dark); content:"+"; font-size:24px; font-weight:400; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list p { max-width:600px; margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.65; }

.product-card { position:relative; }
.product-favorite { position:absolute; z-index:2; top:12px; right:12px; display:grid; place-items:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(255,250,252,.94); color:var(--rose-dark); font-size:22px; line-height:1; box-shadow:0 3px 10px rgba(79,28,48,.08); }
.product-favorite.is-active { background:var(--rose-dark); color:#fff; }
.product-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.product-actions .product-bottom { flex:1; }
.product-order { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:48px; padding:11px 16px; border:1px solid var(--rose); border-radius:11px; background:var(--rose); color:#fff; font-size:12px; font-weight:800; line-height:1.3; text-align:center; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:background .2s ease,transform .2s ease,box-shadow .2s ease; }
.product-order:hover { background:var(--rose-dark); border-color:var(--rose-dark); box-shadow:0 6px 14px rgba(142,45,76,.16); }
.product-order:active { transform:scale(.97); }
.product-order:focus-visible,.request-preview-actions .button:focus-visible { outline:3px solid var(--rose-soft); outline-offset:3px; }
.product-detail-button { padding:0; border:0; background:transparent; color:var(--muted); font:600 11px/1 "Manrope",sans-serif; text-decoration:underline; text-underline-offset:3px; }

.cart-summary > div:first-child { display:grid; gap:3px; }
.cart-whatsapp-preview { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:center; margin:3px 0 1px; padding:10px; border:1px solid rgba(184,70,109,.2); border-radius:12px; background:linear-gradient(135deg,#fff9fb,#fbe8ef); }
.cart-whatsapp-preview-art { position:relative; display:block; width:42px; height:49px; overflow:hidden; border-radius:8px; background:linear-gradient(155deg,#bc4e77,#e59bb3); box-shadow:0 5px 12px rgba(132,42,73,.16); }
.cart-whatsapp-preview-art::before { position:absolute; top:7px; right:7px; left:7px; height:7px; border-radius:3px; background:rgba(255,255,255,.93); content:""; }
.cart-whatsapp-preview-art i { position:absolute; left:7px; display:block; height:3px; border-radius:99px; background:rgba(255,255,255,.68); }
.cart-whatsapp-preview-art i:first-child { right:13px; bottom:15px; }
.cart-whatsapp-preview-art i:nth-child(2) { right:8px; bottom:8px; }
.cart-whatsapp-preview-art b { position:absolute; right:5px; bottom:20px; color:#fff; font:700 9px/1 "Manrope",sans-serif; }
.cart-whatsapp-preview strong { display:block; margin-bottom:2px; color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.01em; }
.cart-whatsapp-preview p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.cart-custom .text-link { font-size:12px; }

.site-footer { display:grid; grid-template-columns:140px minmax(0,1fr) auto; grid-template-areas:"brand message instagram" "brand links links" "legal legal legal"; align-items:center; gap:10px 36px; padding:32px 36px 0; margin-bottom:28px; border:1px solid var(--line); border-radius:20px; background:var(--blush); }
.site-footer .footer-brand { grid-area:brand; display:flex; align-items:center; justify-content:center; margin:0; }
.site-footer .brand-footer { display:block; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; }
.site-footer .brand-footer img { display:block; width:120px; height:120px; object-fit:contain; }
.site-footer .footer-message { grid-area:message; display:grid; gap:9px; padding:0; margin:0; border:0; }
.site-footer .footer-message > span { color:var(--rose-dark); font-size:10px; font-weight:800; line-height:1.4; letter-spacing:.13em; }
.site-footer .footer-message p { max-width:360px; margin:0; color:var(--muted); font-size:15px; font-weight:500; line-height:1.55; }
.site-footer .footer-instagram { grid-area:instagram; display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); font-size:12px; font-weight:700; }
.site-footer .footer-links { grid-area:links; display:flex; flex-wrap:wrap; gap:8px 25px; align-items:center; }
.footer-links a,.footer-links button { display:inline-flex; align-items:center; min-height:44px; padding:0; border:0; background:transparent; color:var(--muted); font:700 12px/1.4 "Manrope",sans-serif; text-align:left; }
.footer-links button { cursor:pointer; }
.footer-links a:hover,.footer-links button:hover { color:var(--rose-dark); }
.site-footer .footer-legal { grid-area:legal; display:flex; justify-content:space-between; align-items:center; gap:16px; margin:13px 0 0; padding:19px 0; border-top:1px solid var(--line); }
.site-footer .footer-legal small,.site-footer .footer-legal > span { padding:0; border:0; color:var(--muted); font-size:10px; line-height:1.6; }
.site-footer .footer-legal > span { font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.experience-dialog { width:min(600px,calc(100% - 32px)); max-height:min(760px,calc(100dvh - 32px)); overflow:auto; padding:34px; border:1px solid var(--line); border-radius:20px; background:var(--cream); color:var(--ink); box-shadow:0 24px 60px rgba(79,28,48,.22); }
.experience-dialog::backdrop { background:rgba(48,21,33,.5); backdrop-filter:blur(3px); }
.dialog-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:22px; line-height:1; }
.experience-dialog h2 { margin-bottom:10px; font-size:42px; letter-spacing:-.05em; }
.experience-dialog > p:not(.eyebrow) { margin-bottom:22px; color:var(--muted); }
.custom-dialog form { display:grid; gap:13px; }
.request-preview-dialog { width:min(620px,calc(100% - 32px)); }
.request-preview-dialog #request-preview-status { margin-bottom:16px; font-size:13px; line-height:1.5; }
.request-preview-dialog #request-preview-image { display:block; width:100%; max-height:min(460px,50dvh); margin:0 0 20px; border:1px solid var(--line); border-radius:13px; background:#fff; object-fit:contain; }
.request-preview-dialog #request-preview-image[hidden] { display:none; }
.request-preview-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.request-preview-actions .button { min-height:48px; justify-content:center; padding:12px; font-size:12px; line-height:1.3; text-align:center; }
.request-preview-actions .button:disabled { cursor:wait; opacity:.55; }
.request-preview-dialog #request-preview-help { margin:15px 0 0; color:var(--muted); font-size:11px; line-height:1.6; text-align:center; }
.product-dialog { width:min(820px,calc(100% - 32px)); }
.product-dialog-content { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:30px; }
.product-dialog-image,.product-dialog-placeholder { width:100%; aspect-ratio:1; display:block; border-radius:14px; object-fit:cover; background:var(--rose-pale); }
.product-dialog-placeholder { display:grid; place-items:center; color:var(--rose-dark); font-family:"DM Serif Display",serif; font-size:34px; }
.product-dialog-content h2 { margin-bottom:8px; }
.product-dialog-price { display:block; margin-bottom:15px; color:var(--rose-dark); font-size:17px; font-weight:700; }
.product-dialog-description { margin-bottom:20px; color:var(--muted); line-height:1.65; }
.product-options-form { display:grid; gap:12px; }
.product-options-form > div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.product-options-form label { display:grid; gap:6px; color:var(--ink); font-size:12px; font-weight:700; }
.product-options-form input,.product-options-form select { width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font:500 13px/1.4 "Manrope",sans-serif; }
.product-options-form button { width:100%; justify-content:center; margin-top:3px; }
.favorites-dialog { width:min(560px,calc(100% - 32px)); }
.favorites-dialog h2 { margin-bottom:20px; }
.favorites-list { display:grid; gap:10px; }
.favorite-row { display:grid; grid-template-columns:55px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.favorite-row img,.favorite-row .favorite-thumb { width:55px; height:55px; border-radius:9px; object-fit:cover; background:var(--rose-pale); }
.favorite-row strong { display:block; margin-bottom:3px; font-size:14px; }
.favorite-row span { color:var(--muted); font-size:12px; }
.favorite-row button { padding:0; border:0; background:transparent; color:var(--rose-dark); font:700 11px/1 "Manrope",sans-serif; }
.favorites-empty { margin:0; padding:22px 0; color:var(--muted); }
.confirmation-dialog { max-width:430px; text-align:center; }
.confirmation-symbol { display:grid; place-items:center; width:50px; height:50px; margin:0 auto 15px; border-radius:50%; background:var(--rose-pale); color:var(--rose-dark); font-size:24px; font-weight:700; }
.confirmation-dialog .button { margin-top:8px; }
.order-note-dialog { max-width:620px; }
.order-note-dialog form { display:grid; gap:12px; }
.order-note-dialog label { display:grid; gap:7px; color:var(--ink); font-size:12px; font-weight:800; }
.checkout-customer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.checkout-customer-grid label:last-child { grid-column:1/-1; }
.order-note-dialog input,.order-note-dialog select { width:100%; min-height:46px; padding:11px 13px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); font:500 13px/1.4 "Manrope",sans-serif; outline:none; box-sizing:border-box; }
.order-note-dialog input:focus,.order-note-dialog select:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(184,70,109,.13); }
.field-optional { color:var(--muted); font-size:10px; font-weight:600; }
.order-note-dialog textarea { width:100%; min-height:108px; resize:vertical; padding:12px 13px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); font:500 13px/1.55 "Manrope",sans-serif; outline:none; }
.order-note-dialog textarea:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(184,70,109,.13); }
.checkout-privacy { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }
.order-note-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:4px; }
.order-note-actions .button { min-height:48px; padding:10px 13px; font-size:12px; line-height:1.3; text-align:center; }
@media(max-width:600px) { .checkout-customer-grid { grid-template-columns:1fr; }.checkout-customer-grid label:last-child { grid-column:auto; }.order-note-dialog { max-height:calc(100dvh - 20px); overflow:auto; } }

.cart-fly-item { position:fixed; z-index:80; display:grid; place-items:center; overflow:hidden; width:64px; height:64px; border:2px solid rgba(255,255,255,.88); border-radius:16px; background:var(--rose-pale); color:var(--rose-dark); box-shadow:0 14px 28px rgba(93,35,58,.22); pointer-events:none; opacity:.98; transform:translate3d(0,0,0) scale(1); transform-origin:center; transition:transform .64s cubic-bezier(.22,.8,.26,1),opacity .58s ease; }
.cart-fly-item.is-flying { opacity:0; transform:translate3d(var(--cart-fly-x),var(--cart-fly-y),0) scale(.22) rotate(12deg); }
.cart-fly-item img { width:100%; height:100%; object-fit:cover; }
.header-cart.is-cart-pulse { animation:cart-button-pulse .64s cubic-bezier(.22,.8,.26,1); }
.header-cart b.is-bumping { animation:cart-count-pop .5s cubic-bezier(.22,.8,.26,1); }
@keyframes cart-button-pulse { 0%,100% { box-shadow:none; } 34% { box-shadow:0 0 0 7px rgba(184,70,109,.13); } 58% { box-shadow:0 0 0 3px rgba(184,70,109,.08); } }
@keyframes cart-count-pop { 0% { transform:scale(.8); } 42% { transform:scale(1.34); } 100% { transform:scale(1); } }

@media (min-width:1024px) {
  .site-header .header-tools { justify-self:end; }
}

@media (max-width:820px) {
  .collections-section,.gift-card-section,.box-builder-section,.social-proof-section,.faq-section { width:min(100% - 32px,760px); margin-bottom:70px; }
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-card { min-height:170px; }
  .gift-card-section,.box-builder-section,.social-proof-section,.faq-section { grid-template-columns:1fr; gap:30px; }
  .gift-card-section,.social-proof-section { padding:36px; }
  .box-builder-section { padding:40px 0; }
  .faq-section .section-heading { margin-bottom:0; }
  .social-gallery-shell { max-width:600px; }
  .site-footer { grid-template-columns:120px minmax(0,1fr); grid-template-areas:"brand message" "brand instagram" "links links" "legal legal"; gap:12px 25px; padding:28px 25px 0; }
  .site-footer .footer-instagram { justify-self:start; }
  .site-footer .footer-links { justify-content:center; padding-top:8px; }
}

@media (max-width:640px) {
  .header-tools { gap:6px; }
  .header-favorites { width:42px; min-height:42px; padding:0; border-radius:12px; }
  .header-favorites .favorites-label { display:none; }
  .header-favorites b { position:absolute; top:1px; right:1px; min-width:16px; height:16px; border:2px solid var(--cream); font-size:8px; }
  .header-tools .header-cart { width:42px; }
  .collections-section,.gift-card-section,.box-builder-section,.social-proof-section,.faq-section { width:min(100% - 32px,640px); margin-bottom:44px; }
  .collections-section .section-heading { margin-bottom:16px; padding-bottom:13px; border-bottom:1px solid var(--line); }
  .collections-section .section-heading .text-link { display:none; }
  .collections-section .section-heading h2 { font-size:29px; }
  .collection-grid { gap:8px; }
  .collection-card { min-height:136px; padding:15px; border-radius:13px; }
  .collection-card span { font-size:8px; }
  .collection-card strong { margin-bottom:4px; font-size:23px; }
  .collection-card small { font-size:10px; }
  .catalog-filters { flex-wrap:nowrap; overflow:auto; margin:0 -1px 16px; padding-bottom:2px; }
  .catalog-filters button { flex:0 0 auto; min-height:32px; padding:0 11px; font-size:10px; }
  .gift-card-section,.social-proof-section { gap:23px; padding:26px 20px; border-radius:16px; }
  .gift-card-copy h2,.box-builder-heading h2,.social-proof-section h2,.faq-section h2 { font-size:30px; }
  .gift-card-copy > p:not(.eyebrow),.box-builder-heading > p:not(.eyebrow),.social-proof-section > div:first-child > p:not(.eyebrow) { font-size:13px; }
  .gift-card-form,.box-builder-form { gap:12px; padding:16px; border-radius:13px; }
  .amount-options { gap:6px; }
  .amount-options > button { min-height:37px; font-size:10px; }
  .box-builder-section { gap:20px; padding:30px 0; }
  .box-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .box-options span { min-height:48px; font-size:11px; }
  .box-builder-fields { grid-template-columns:1fr; gap:12px; }
  .social-gallery,.social-gallery-loading,.social-moments { grid-template-rows:120px 120px; gap:8px; }
  .social-gallery-loading > span,.social-gallery article { border-radius:12px; }
  .social-gallery figcaption { right:12px; bottom:11px; left:12px; font-size:18px; }
  .social-moments article { padding:14px; border-radius:12px; font-size:23px; }
  .social-moments article:before { inset:10px; border-radius:8px; }
  .faq-section { gap:16px; }
  .faq-list summary { padding:17px 28px 17px 0; font-size:13px; }
  .faq-list summary:after { top:12px; font-size:22px; }
  .faq-list p { margin-bottom:16px; font-size:12px; }
  .product-favorite { top:8px; right:8px; width:30px; height:30px; font-size:19px; }
  .product-actions { margin-top:7px; }
  .product-detail-button { font-size:10px; }
  .cart-whatsapp-preview { grid-template-columns:38px minmax(0,1fr); gap:9px; padding:9px; border-radius:11px; }
  .cart-whatsapp-preview-art { width:38px; height:44px; }
  .cart-whatsapp-preview strong { font-size:10px; }
  .cart-whatsapp-preview p { font-size:9px; line-height:1.4; }
  .site-footer { grid-template-columns:minmax(0,1fr); grid-template-areas:"brand" "message" "instagram" "links" "legal"; justify-items:center; gap:20px; margin-bottom:92px; padding:28px 22px 0; border-radius:18px; text-align:center; }
  .site-footer .footer-brand { width:100%; }
  .site-footer .brand-footer { border-radius:18px; }
  .site-footer .footer-message { justify-items:center; gap:8px; }
  .site-footer .footer-message > span { font-size:10px; }
  .site-footer .footer-message p { max-width:260px; font-size:14px; line-height:1.6; }
  .site-footer .footer-instagram { justify-self:center; min-width:150px; min-height:46px; }
  .site-footer .footer-links { display:grid; grid-template-columns:minmax(0,1fr); width:100%; gap:4px; padding:16px 0 0; border-top:1px solid var(--line); }
  .footer-links a,.footer-links button { justify-content:center; min-height:44px; font-size:12px; text-align:center; }
  .site-footer .footer-legal { flex-direction:column; width:100%; gap:8px; margin:0; padding:19px 0 24px; }
  .site-footer .footer-legal small { max-width:240px; font-size:10px; }
  .site-footer .footer-legal > span { font-size:9px; }
  .experience-dialog { width:min(100% - 24px,640px); max-height:calc(100dvh - 24px); padding:28px 20px 20px; border-radius:16px; }
  .experience-dialog h2 { font-size:32px; }
  .dialog-close { top:10px; right:10px; width:31px; height:31px; font-size:20px; }
  .product-dialog-content { grid-template-columns:1fr; gap:20px; }
  .product-dialog-image,.product-dialog-placeholder { max-width:250px; }
  .product-options-form > div { grid-template-columns:1fr; gap:10px; }
  .favorite-row { grid-template-columns:48px minmax(0,1fr) auto; gap:9px; padding:8px; }
  .favorite-row img,.favorite-row .favorite-thumb { width:48px; height:48px; }
  .request-preview-actions { grid-template-columns:1fr; }
  .request-preview-actions .button { min-height:48px; font-size:13px; }
  .request-preview-dialog #request-preview-image { max-height:42dvh; margin-bottom:16px; }
}

@media (max-width:640px) {
  .site-header { position:sticky; top:0; z-index:35; background:rgba(255,245,249,.95); backdrop-filter:blur(13px); }
  .header-tools .header-cart { width:44px; height:44px; min-height:44px; }
  .product-bottom { align-items:stretch; flex-direction:column; gap:9px; }
  .product-price { white-space:nowrap; font-size:12px; }
  .product-order { width:100%; min-height:48px; padding:11px 10px; border-radius:10px; box-shadow:0 5px 12px rgba(142,45,76,.14); font-size:12px; }
  .product-order:active { transform:scale(.97); background:var(--rose-dark); }
  .order-note-dialog { padding:28px 20px 22px; }
  .order-note-dialog textarea { min-height:104px; font-size:13px; }
  .order-note-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .cart-fly-item { display:none; }
  .header-cart.is-cart-pulse,.header-cart b.is-bumping { animation:none; }
  .product-order { transition:none; }
}
