:root {
  --olive: #5b5c33;
  --olive-dark: #3e4021;
  --cream: #f5dcc0;
  --paper: #fffaf3;
  --gold: #bd852e;
  --ink: #25251b;
  --muted: #756f64;
  --line: rgba(91, 92, 51, .17);
}

html { scroll-padding-top: 96px; }
html { touch-action: pan-x pan-y; }
body { background: var(--paper); color: var(--ink); padding-bottom: 92px; overflow-x: hidden; }
.container { max-width: 820px; padding: 0; }

.top-nav {
  height: 82px; padding: 0 clamp(22px, 5vw, 78px); display: flex; align-items: center;
  justify-content: space-between; position: sticky; top: 0; z-index: 140;
  background: #f9ead8; border-bottom: 1px solid var(--line);
}
.nav-brand img { display:block; width:112px; height:58px; object-fit:contain; object-position:center; border-radius:0; }
.nav-links { display: flex; gap: 34px; }
.nav-links a { color: var(--olive-dark); text-decoration: none; font-size: .86rem; font-weight: 600; }
.nav-links a:hover { color: var(--gold); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-order-status {
  display:inline-flex; align-items:center; gap:7px; padding:10px 15px; color:var(--olive-dark);
  background:rgba(255,255,255,.46); border:1px solid rgba(91,92,51,.22); border-radius:999px;
  text-decoration:none; font-size:.78rem; font-weight:700; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.nav-order-status span[aria-hidden="true"] { font-size:1.05rem; line-height:1; }
.nav-order-status:hover { background:#fffaf3; border-color:var(--gold); transform:translateY(-2px); }
.status-label-mobile { display:none; }
.nav-cta, .primary-cta { background: var(--hero-button, var(--olive)); color: white; text-decoration: none; border-radius: 999px; font-weight: 600; }
.nav-cta { padding: 12px 20px; font-size: .82rem; }
.nav-cta:hover, .primary-cta:hover { background: var(--olive-dark); transform: translateY(-2px); }

.hero {
  min-height: calc(100vh - 82px); background: var(--hero-bg, var(--cream)); padding: clamp(44px, 7vw, 100px) clamp(24px, 7vw, 110px);
  display: grid; grid-template-columns: minmax(0, .92fr) minmax(390px, .78fr); gap: clamp(44px, 8vw, 130px);
  align-items: center; text-align: left; overflow: visible;
}
.hero::before { content: ''; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(189,133,46,.22); border-radius: 50%; left: -240px; top: 18%; }
.hero::after { display: none; }
.hero-sparkles { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.hero-sparkle { position:absolute; left:var(--sparkle-x); top:var(--sparkle-y); width:var(--sparkle-size); height:var(--sparkle-size); color:var(--hero-accent,var(--gold)); opacity:0; will-change:transform,opacity; animation:sparkleDrip var(--sparkle-speed) cubic-bezier(.35,.02,.48,1) var(--sparkle-delay) infinite; filter:drop-shadow(0 3px 5px rgba(189,133,46,.22)); }
.hero-sparkle::before, .hero-sparkle::after { content:''; position:absolute; left:50%; top:50%; background:currentColor; border-radius:999px; transform:translate(-50%,-50%); }
.hero-sparkle::before { width:18%; height:100%; }
.hero-sparkle::after { width:100%; height:18%; }
.hero-sparkle.sparkle-dot { border-radius:50%; background:currentColor; }
.hero-sparkle.sparkle-dot::before, .hero-sparkle.sparkle-dot::after { display:none; }
.hero-sparkle.sparkle-drop { background:currentColor; border-radius:54% 46% 58% 42% / 38% 40% 60% 62%; transform-origin:50% 75%; }
.hero-sparkle.sparkle-drop::before { display:none; }
.hero-sparkle.sparkle-drop::after { width:28%; height:28%; left:36%; top:28%; background:rgba(255,255,255,.72); border-radius:50%; }
.hero-sparkle.sparkle-star { filter:drop-shadow(0 0 7px rgba(189,133,46,.36)); }
@keyframes sparkleDrip {
  0% { opacity:0; transform:translate3d(0,-26px,0) rotate(-8deg) scale(.5,.65); }
  12% { opacity:.28; }
  28% { opacity:.78; transform:translate3d(var(--sparkle-drift-soft),2px,0) rotate(2deg) scale(.92,1.08); }
  58% { opacity:.72; transform:translate3d(var(--sparkle-drift-mid),42px,0) rotate(-3deg) scale(1,.94); }
  82% { opacity:.35; }
  100% { opacity:0; transform:translate3d(var(--sparkle-drift),86px,0) rotate(6deg) scale(.72,1.12); }
}
.hero-copy { max-width: 690px; position: relative; z-index: 2; }
.eyebrow { display: block; color: var(--hero-text-accent, #79501b); text-transform: uppercase; letter-spacing: .19em; font-size: .72rem; font-weight: 700; margin-bottom: 18px; }
.hero h1 { font-family: 'Playfair Display', serif; color: var(--hero-title, var(--olive-dark)); font-size: clamp(3.15rem, 6vw, 6.6rem); line-height: .94; letter-spacing: -.055em; max-width: 880px; }
.hero h1 em { color: var(--hero-text-accent, #79501b); font-weight: 400; }
.hero-lead { color: #5f5b50 !important; max-width: 600px; font-size: clamp(1rem, 1.25vw, 1.22rem) !important; line-height: 1.7; margin-top: 28px !important; }
.hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 34px; flex-wrap: wrap; }
.primary-cta { padding: 16px 24px; display: inline-flex; gap: 24px; transition: background-color .25s ease, transform .25s ease; }
.primary-cta span { font-size: 1.1rem; }
.secondary-cta { color: var(--olive-dark); font-weight: 600; text-underline-offset: 5px; }
.hero-proof { border-top: 1px solid rgba(91,92,51,.2); margin-top: 46px; padding-top: 22px; display: flex; flex-wrap: wrap; gap: 18px 32px; color: #4d4e37; font-size: .78rem; }
.hero-proof strong { color: var(--hero-title, var(--olive-dark)); }
.hero-visual { position: relative; align-self: stretch; min-height: 570px; }
.hero-visual::before { display:none; }
.hero-visual.hero-visual-loading::before { opacity:1; }
.hero-visual.hero-visual-loading .hero-main-img,.hero-visual.hero-visual-loading .hero-float-img { opacity:0; }
.hero-main-img,.hero-float-img { transition:opacity .45s ease; }
@keyframes heroLoadingPulse { 0%,100%{opacity:.32} 50%{opacity:.68} }
.hero-main-img { width: 88%; height: 90%; object-fit: cover; object-position:center; border-radius: 220px 220px 24px 24px; position: absolute; left: 50%; right: auto; top: 0; transform: translateX(-50%); box-shadow: none; }
.hero-float-img { position:absolute; width:clamp(190px,20vw,320px); height:clamp(190px,20vw,320px); aspect-ratio:1/1; object-fit:cover; object-position:center; border:9px solid var(--hero-bg,var(--cream)); border-radius:50%; left:-2%; bottom:2%; box-shadow:0 16px 45px rgba(72,53,25,.22),0 0 0 1px rgba(91,92,51,.08); }
.hero-stamp { position: absolute; right: -3%; bottom: 0; width: 118px; height: 118px; border-radius: 50%; background: var(--hero-accent, var(--gold)); color: #fff8ed; display: grid; place-content: center; text-align: center; transform: rotate(8deg); font-family: 'Playfair Display', serif; line-height: 1.1; font-size: .83rem; box-shadow: 0 12px 30px rgba(130,86,27,.24); }
.hero-stamp strong { font-size: 1.05rem; }

.marquee-wrap { background: var(--olive); height: 46px; display: flex; align-items: center; overflow: hidden; }
.marquee-text { color: #fff8ed; background: transparent; padding: 0; white-space: nowrap; font-size: .7rem; letter-spacing: .2em; animation-duration: 20s; }

.story-strip { max-width: 1280px; margin: 0 auto; padding: 110px 48px 90px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: end; }
.story-strip,.about-section,.occasion-section,.favorites-section,.boxes-section,.build-box-section,.trust-band,.business-section,.testimonials-section,.review-submit-section{content-visibility:auto;contain-intrinsic-size:auto 680px}
.catalog-layout .section{content-visibility:auto;contain-intrinsic-size:auto 360px}
.story-intro h2, .catalog-heading h2 { font-family: 'Playfair Display', serif; color: var(--olive-dark); font-size: clamp(2.3rem, 4vw, 4.2rem); line-height: 1.05; letter-spacing: -.035em; }
.story-intro p, .catalog-heading p { color: #565348; font-size: .98rem; line-height: 1.75; margin-top: 18px; max-width: 570px; }
.steps article>span,.occasion-number,.trust-band article>span{color:#79501b!important}
.steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.steps article { padding: 24px 20px 0 0; display: flex; gap: 15px; }
.steps article > span { color: var(--gold); font-size: .7rem; font-weight: 700; padding-top: 4px; }
.steps h3 { color: var(--olive-dark); font-size: .95rem; margin-bottom: 7px; }
.steps p { color: var(--muted); font-size: .78rem; line-height: 1.55; }

.catalog-heading { background: var(--olive); color: white; padding: 90px max(24px, calc((100% - 1120px)/2)); text-align: center; }
.catalog-heading .eyebrow { color: #e6b96f; }
.catalog-heading h2 { color: #fffaf3; }
.catalog-heading p { color: #e6e3d8; margin-inline: auto; }
.product-search { position: relative; width: min(620px, 100%); margin: 32px auto 0; text-align: left; }
.product-search > svg { position: absolute; left: 20px; top: 50%; width: 21px; height: 21px; transform: translateY(-50%); fill: none; stroke: var(--olive); stroke-width: 2; z-index: 2; pointer-events: none; }
.product-search input { width: 100%; height: 60px; padding: 0 56px 0 54px; border: 2px solid transparent; border-radius: 18px; background: #fffaf3; color: var(--ink); font: 500 .95rem 'Inter', sans-serif; box-shadow: 0 16px 38px rgba(28,29,14,.2); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.product-search input::placeholder { color: #928a7c; }
.product-search input:focus { border-color: #e4b366; box-shadow: 0 18px 45px rgba(28,29,14,.28); }
.search-clear { position: absolute; right: 13px; top: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--cream); color: var(--olive); font-size: 1.35rem; cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .2s ease, background-color .2s ease; }
.search-clear.visible { opacity: 1; visibility: visible; }
.search-results { position: absolute; top: calc(100% + 9px); left: 0; right: 0; z-index: 130; padding: 8px; max-height: 390px; overflow-y: auto; background: #fffaf3; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 22px 54px rgba(28,29,14,.27); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; }
.search-results.open { opacity: 1; visibility: visible; transform: translateY(0); }
.search-result { width: 100%; display: flex; align-items: center; gap: 13px; padding: 9px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.search-result:hover, .search-result.active { background: var(--cream); }
.search-result img, .search-result-placeholder { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 10px; object-fit: cover; }
.search-result-placeholder { display: grid; place-items: center; background: var(--olive); color: white; font: 600 1.2rem 'Playfair Display', serif; }
.search-result > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.search-result strong { color: var(--olive-dark); font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-result small { color: var(--muted); font-size: .7rem; margin-top: 3px; }
.search-result-arrow { margin-left: auto; color: var(--gold); font-size: 1.05rem; }
.search-empty { padding: 20px 16px; color: var(--muted); font-size: .84rem; text-align: center; }
.search-highlight { animation: searchPulse 1.8s ease; }
@keyframes searchPulse { 0%, 100% { box-shadow: none; } 25%, 70% { box-shadow: 0 0 0 3px rgba(189,133,46,.38), 0 12px 28px rgba(55,50,34,.12); border-color: var(--gold); } }
.catalog-layout { max-width: 1400px; padding: 72px 48px 0; gap: 36px; }
.ordering-facts { width:min(920px,100%); margin:30px auto 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.09); text-align:left; }
.ordering-facts article { min-width:0; padding:15px 16px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; border-right:1px solid rgba(255,255,255,.14); }
.ordering-facts article:last-child { border-right:0; }
.ordering-facts article>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#f0c680; color:#3e4021; font-weight:800; }
.ordering-facts strong,.ordering-facts small { display:block; }
.ordering-facts strong { color:#fffaf3; font-size:.76rem; }
.ordering-facts small { margin-top:2px; overflow-wrap:anywhere; color:#e6e3d8; font-size:.65rem; line-height:1.4; }
.catalog-layout { max-width:1184px; }

.info-bar { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px 22px; justify-content: space-around; gap: 12px; margin-bottom: 34px; box-shadow: 0 12px 35px rgba(55,50,34,.05); }
.info-bar a { font-size: .77rem; }
.section { padding: 0; margin-bottom: 14px; background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.section-title { padding: 22px 24px; margin: 0; font-size: 1.4rem; transition: background-color .2s ease; }
.category-toggle { width:100%; display:flex; align-items:center; gap:12px; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.category-toggle:focus-visible { outline:3px solid rgba(189,133,46,.38); outline-offset:5px; border-radius:8px; }
.category-toggle[aria-expanded="true"] { color:var(--olive-dark); }
.section-title:hover { background: rgba(251,238,222,.55); }
.section-title::after { background: var(--line); }
.section-toggle { width: 30px; height: 30px; background: var(--cream); border-radius: 50%; display: grid; place-content: center; font-size: 1rem; }
.section-body { padding: 0 18px; }
.section-body.open { padding-bottom: 18px; }
.category-feature { margin: 4px 0 18px; display: grid; grid-template-columns: 180px 1fr; gap: 24px; align-items: center; padding: 18px; border-radius: 16px; background: var(--cream); }
.category-feature.no-image { grid-template-columns: 1fr; }
.category-feature.theme-olive { background: var(--olive); }
.category-feature.theme-gold { background: #d6a451; }
.category-feature.theme-olive h3, .category-feature.theme-olive p, .category-feature.theme-olive strong,
.category-feature.theme-gold h3, .category-feature.theme-gold p, .category-feature.theme-gold strong { color: #fffaf3; }
.category-feature.theme-olive .category-kicker { color: #f0c680; }
.category-feature.theme-gold .category-kicker { color: var(--olive-dark); }
.category-feature.theme-olive strong, .category-feature.theme-gold strong { background: rgba(255,255,255,.14); }
.category-feature img { width: 100%; height: 205px; object-fit: cover; border-radius: 14px; }
.category-kicker { color: var(--gold); text-transform: uppercase; letter-spacing: .14em; font-size: .65rem; font-weight: 700; }
.category-feature h3 { margin-top: 8px; color: var(--olive-dark); font-family: 'Playfair Display', serif; font-size: 1.45rem; line-height: 1.15; }
.category-feature p { margin: 10px 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.category-feature strong { display: inline-block; color: var(--olive); font-size: .78rem; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.58); }
.subcat-title { margin: 20px 6px 10px; text-transform: uppercase; font-size: .74rem; letter-spacing: .14em; }
.menu-items { gap: 8px; }
.menu-item, .line-item { padding: 14px; column-gap: 22px; border: 1px solid rgba(91,92,51,.1); border-radius: 14px; background: #fffdf9; }
.menu-item:hover, .line-item:hover { border-color: rgba(189,133,46,.45); box-shadow: 0 8px 22px rgba(55,50,34,.07); }
.item-thumb { width: 66px; height: 66px; border-radius: 12px; }
.menu-item-name, .line-item-name { color: var(--olive-dark); font-weight: 650; }
.menu-item-desc { color: var(--muted); }
.btn-add { background: var(--olive); width: 34px; height: 34px; box-shadow: 0 5px 13px rgba(91,92,51,.2); }
.price-tag { color: var(--olive-dark); }
.footer { border-top: 1px solid var(--line); margin-top: 46px; }
.cart-bar { left: 50%; right: auto; bottom: 18px; width: min(560px, calc(100% - 28px)); transform: translateX(-50%); border-radius: 999px; padding: 10px 14px; box-shadow: 0 12px 40px rgba(28,29,14,.28); }
.cart-bar-total { color: #f5c77e; padding-right: 10px; }
.cart-panel { border-radius: 26px 26px 0 0; }
.back-to-top {
  position: fixed; right: 24px; bottom: 24px; z-index: 145; width: 50px; height: 50px;
  display: grid; place-items: center; color: white; background: var(--gold); border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%; box-shadow: 0 10px 28px rgba(80,55,20,.24); text-decoration: none;
  opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .25s ease, transform .25s ease, background-color .2s ease;
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--olive); transform: translateY(-3px); }
.back-to-top svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.back-to-top:focus-visible { outline: 3px solid rgba(189,133,46,.35); outline-offset: 4px; }

.cart-recovery { max-width: 1120px; margin: 26px auto 0; padding: 17px 58px 17px 22px; position: relative; display: flex; align-items: center; gap: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 15px 40px rgba(55,50,34,.09); }
.cart-recovery[hidden] { display: none; }
.cart-recovery > div { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.recovery-kicker { color: var(--gold); text-transform: uppercase; letter-spacing: .13em; font-size: .62rem; font-weight: 700; }
.cart-recovery strong { color: var(--olive-dark); font-family: 'Playfair Display', serif; font-size: 1.12rem; }
.cart-recovery > button:not(.recovery-close) { border: 0; border-radius: 999px; padding: 12px 18px; background: var(--olive); color: white; font-weight: 650; cursor: pointer; }
.recovery-close { position: absolute; right: 12px; top: 11px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--cream); color: var(--olive); font-size: 1.25rem; cursor: pointer; }

.occasion-section, .favorites-section { max-width: 1280px; margin: 0 auto; padding: 88px 48px; }
.occasion-heading { max-width: 680px; margin-bottom: 38px; }
.occasion-heading h2, .favorites-heading h2 { color: var(--olive-dark); font: 600 clamp(2.3rem,4vw,4rem)/1.04 'Playfair Display',serif; letter-spacing: -.035em; }
.occasion-heading p, .favorites-heading p { color: var(--muted); margin-top: 15px; line-height: 1.7; }
.occasion-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.occasion-card { min-height: 330px; padding: 26px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; text-align: left; border: 1px solid var(--line); border-radius: 24px; color: var(--ink); background: #f9ead8; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease; }
.occasion-card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(55,50,34,.13); }
.occasion-compartir { background: var(--olive); color: white; }
.occasion-regalo { background: #d9a75a; }
.occasion-number { font-size: .66rem; letter-spacing: .15em; opacity: .65; }
.occasion-icon { margin: auto 0 18px; font: 400 3rem/1 'Playfair Display',serif; }
.occasion-card strong { font: 600 1.65rem/1.1 'Playfair Display',serif; }
.occasion-card small { max-width: 270px; margin-top: 12px; font-size: .8rem; line-height: 1.55; opacity: .76; }
.occasion-link { margin-top: 22px; font-size: .75rem; font-weight: 700; }

.favorites-section { padding-top: 34px; }
.favorites-heading { margin-bottom: 38px; display: grid; grid-template-columns: 1fr .65fr; gap: 50px; align-items: end; }
.favorites-heading p { margin: 0; }
.favorites-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.favorites-loading { grid-column: 1/-1; padding: 40px; text-align: center; color: var(--muted); }
.favorite-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; transition: transform .2s ease, box-shadow .2s ease; }
.favorite-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(55,50,34,.1); }
.favorite-image { height: 230px; position: relative; overflow: hidden; background: var(--cream); }
.favorite-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.favorite-card:hover img { transform: scale(1.04); }
.favorite-image span { position: absolute; left: 13px; top: 13px; padding: 6px 10px; border-radius: 999px; background: rgba(255,250,243,.92); color: var(--olive); font-size: .62rem; font-weight: 700; }
.favorite-copy { padding: 19px; display: flex; flex-direction: column; flex: 1; }
.favorite-copy > small { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .6rem; font-weight: 700; }
.favorite-copy h3 { margin-top: 7px; color: var(--olive-dark); font: 600 1.28rem/1.15 'Playfair Display',serif; }
.favorite-copy p { margin: 10px 0 18px; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.favorite-copy > div { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.favorite-copy strong { color: var(--olive-dark); font-size: .8rem; }
.favorite-copy button { border: 0; background: none; color: var(--olive); font-weight: 700; cursor: pointer; }

.trust-band { max-width: 1184px; margin: 0 auto 90px; padding: 28px 34px; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; background: #f9ead8; border-radius: 22px; }
.trust-band article { display: flex; gap: 14px; align-items: flex-start; }
.trust-band article > span { color: var(--gold); font-size: .65rem; font-weight: 700; }
.trust-band article div { display: flex; flex-direction: column; gap: 5px; }
.trust-band strong { color: var(--olive-dark); font-size: .84rem; }
.trust-band small { color: var(--muted); font-size: .72rem; line-height: 1.45; }

.boxes-section { max-width: 1280px; margin: 0 auto; padding: 34px 48px 92px; }
.boxes-section[hidden] { display: none; }
.boxes-heading { max-width: 720px; margin-bottom: 36px; }
.boxes-heading h2 { color: var(--olive-dark); font: 600 clamp(2.3rem,4vw,4rem)/1.04 'Playfair Display',serif; letter-spacing:-.035em; }
.boxes-heading p { color:var(--muted); margin-top:15px; }
.boxes-slider-controls{display:flex;justify-content:flex-end;gap:9px;margin:-46px 0 22px}.boxes-slider-controls button{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--olive);font-size:1.15rem;cursor:pointer;transition:.2s ease}.boxes-slider-controls button:hover{background:var(--olive);color:#fff;transform:translateY(-2px)}
.boxes-grid{display:flex;gap:18px;overflow-x:auto;padding:12px 2px 24px;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-inline:contain;touch-action:pan-x}.boxes-grid::-webkit-scrollbar{display:none}
.evergreen-box{flex:0 0 min(380px,calc((100% - 36px)/3));overflow:hidden;background:white;border:1px solid var(--line);border-radius:24px;scroll-snap-align:start;scroll-snap-stop:always}
.evergreen-box.box-featured { background:var(--olive); color:white; transform:translateY(-10px); }
.evergreen-box > img { width:100%; height:270px; object-fit:cover; }
.evergreen-box > div { padding:25px; }
.evergreen-box > div > span { color:var(--gold); text-transform:uppercase; letter-spacing:.14em; font-size:.62rem; font-weight:700; }
.box-featured > div > span { color:#f0c680; }
.evergreen-box h3 { margin-top:8px; color:var(--olive-dark); font:600 1.75rem/1.1 'Playfair Display',serif; }
.box-featured h3 { color:white; }
.evergreen-box p { min-height:58px; margin:11px 0 22px; color:var(--muted); font-size:.78rem; line-height:1.6; }
.box-featured p { color:rgba(255,255,255,.72); }
.box-action { padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); }
.box-action strong { font-size:.8rem; color:var(--olive-dark); }
.box-featured .box-action strong { color:white; }
.box-action button { border:0; background:transparent; color:var(--gold); font-weight:700; cursor:pointer; }
.box-featured .box-action button { color:#f0c680; }

.testimonials-section { margin:0 auto 90px; padding:88px max(48px,calc((100% - 1184px)/2)); background:#f3dfc7; }
.testimonials-section[hidden] { display:none; }
.testimonials-heading { display:grid; grid-template-columns:1fr .65fr; align-items:end; gap:60px; margin-bottom:42px; }
.testimonials-heading h2 { color:var(--olive-dark); font:600 clamp(2.3rem,4vw,4rem)/1.04 'Playfair Display',serif; letter-spacing:-.035em; }
.testimonials-heading p { color:var(--muted); line-height:1.7; }
.testimonials-track { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.testimonial-card { min-height:300px; padding:27px; display:flex; flex-direction:column; background:#fffaf3; border:1px solid rgba(91,92,51,.14); border-radius:22px; }
.testimonial-stars { color:var(--gold); letter-spacing:.12em; font-size:.78rem; }
.testimonial-card blockquote { margin:25px 0; color:var(--olive-dark); font:500 1.22rem/1.55 'Playfair Display',serif; }
.testimonial-card footer { margin-top:auto; padding-top:18px; display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); }
.testimonial-card footer img,.testimonial-avatar { width:45px; height:45px; flex:0 0 45px; border-radius:50%; object-fit:cover; }
.testimonial-avatar { display:grid; place-items:center; background:var(--olive); color:white; font:600 1.2rem 'Playfair Display',serif; }
.testimonial-card footer div { display:flex; flex-direction:column; gap:3px; }
.testimonial-card footer strong { color:var(--olive-dark); font-size:.8rem; }
.testimonial-card footer small { color:var(--muted); font-size:.68rem; }

.review-submit-section { max-width:1184px; margin:0 auto 100px; padding:60px; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; background:var(--olive); border-radius:28px; }
.review-submit-section { scroll-margin-top:82px; }
.review-invite-banner{grid-column:1/-1;margin:-30px -30px 0;padding:17px 21px;display:flex;align-items:center;gap:14px;border-radius:18px;background:#f0c680;color:var(--olive-dark);box-shadow:0 12px 30px rgba(27,28,12,.16)}.review-invite-banner[hidden]{display:none}.review-invite-banner>span{font-size:1.7rem}.review-invite-banner>div{display:flex;flex-direction:column;gap:3px}.review-invite-banner strong{font:600 1.05rem 'Playfair Display',serif}.review-invite-banner small{font-size:.7rem}.review-invitation-mode .review-submit-section{box-shadow:0 0 0 6px rgba(189,133,46,.18),0 24px 70px rgba(55,50,34,.2)}
.review-submit-copy .eyebrow { color:#f0c680; }
.review-submit-copy h2 { color:white; font:600 clamp(2.3rem,4vw,4rem)/1.04 'Playfair Display',serif; }
.review-submit-copy > p { margin-top:17px; color:rgba(255,255,255,.7); line-height:1.7; }
.review-note { margin-top:35px; padding-top:20px; display:flex; flex-direction:column; gap:5px; border-top:1px solid rgba(255,255,255,.18); }
.review-note strong { color:#f0c680; font-size:.76rem; }
.review-note span { color:rgba(255,255,255,.58); font-size:.7rem; }
.review-form { padding:28px; background:#fffaf3; border-radius:20px; }
.review-form label { display:block; margin:13px 0 6px; color:var(--olive-dark); font-size:.75rem; font-weight:650; }
.review-form label small { color:var(--muted); font-weight:400; }
.review-form input:not([type=radio]):not([type=checkbox]),.review-form textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); font:400 .84rem 'Inter',sans-serif; outline:none; }
.review-form input:focus,.review-form textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(189,133,46,.12); }
.review-form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.rating-input { width:max-content; display:flex; flex-direction:row-reverse; }
.rating-input input { position:absolute; opacity:0; }
.rating-input label { margin:0; padding:0 3px; color:#c9c4b8; font-size:1.7rem; cursor:pointer; }
.rating-input input:checked ~ label,.rating-input label:hover,.rating-input label:hover ~ label { color:var(--gold); }
.review-consent { margin:17px 0!important; display:flex!important; align-items:flex-start; gap:9px; color:var(--muted)!important; font-weight:400!important; line-height:1.45; }
.review-consent input { margin-top:2px; accent-color:var(--olive); }
.review-form button { width:100%; padding:14px 18px; display:flex; justify-content:space-between; border:0; border-radius:999px; background:var(--olive); color:white; font-weight:700; cursor:pointer; }
.review-form button:disabled { opacity:.55; cursor:wait; }
.review-status { margin-top:12px; font-size:.76rem; text-align:center; }
.review-status.success { color:#397044; }.review-status.error { color:#b33b35; }
.review-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }

.about-section { max-width:1280px; margin:20px auto 80px; padding:90px 48px; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.about-section[hidden]{display:none}.about-visual{min-height:650px;position:relative}.about-visual>img:first-child{position:absolute;left:0;top:0;width:78%;height:82%;object-fit:cover;border-radius:220px 220px 22px 22px}.about-visual>img:nth-child(2){position:absolute;right:0;bottom:0;width:48%;aspect-ratio:1;object-fit:cover;border:9px solid var(--paper);border-radius:50%;box-shadow:0 18px 45px rgba(55,50,34,.2)}.about-visual>span{position:absolute;right:2%;top:6%;width:115px;height:115px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--gold);color:white;font:600 1.2rem 'Playfair Display',serif;transform:rotate(8deg)}.about-visual>span small{font:500 .62rem 'Inter',sans-serif}.about-content h2{color:var(--olive-dark);font:600 clamp(2.6rem,4.5vw,4.8rem)/.98 'Playfair Display',serif;letter-spacing:-.045em}.about-intro{margin:20px 0 30px;color:var(--muted);font-size:1rem;line-height:1.75}.about-points{border-top:1px solid var(--line)}.about-points article{padding:19px 0;display:grid;grid-template-columns:34px 1fr;gap:9px;border-bottom:1px solid var(--line)}.about-points article>span{padding-top:3px;color:var(--gold);font-size:.65rem;font-weight:700}.about-points h3{color:var(--olive-dark);font-size:.88rem}.about-points p{margin-top:6px;color:var(--muted);font-size:.76rem;line-height:1.6;white-space:pre-line}.about-content blockquote{margin-top:26px;padding-left:20px;border-left:3px solid var(--gold);color:var(--olive);font:italic 500 1.2rem/1.5 'Playfair Display',serif}

.promotion-ribbon{position:relative;z-index:150;padding:11px max(48px,calc((100% - 1184px)/2));display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}.promotion-ribbon[hidden]{display:none}.promotion-ribbon div{display:flex;gap:8px;align-items:center}.promotion-ribbon strong{font-size:.78rem}.promotion-ribbon span{font-size:.72rem;opacity:1}.promotion-ribbon a{padding:7px 12px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;font-size:.68rem;font-weight:700}.promotion-ribbon>button{position:absolute;right:18px;border:0;background:none;color:inherit;font-size:1.2rem;cursor:pointer}
.pwa-prompt{position:fixed;left:50%;bottom:22px;z-index:270;width:min(620px,calc(100% - 28px));padding:12px 52px 12px 13px;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;transform:translateX(-50%);border:1px solid rgba(91,92,51,.16);border-radius:18px;background:#fffaf3;box-shadow:0 20px 55px rgba(44,43,26,.2)}.pwa-prompt[hidden]{display:none}.pwa-prompt img,.pwa-update-icon{width:52px;height:52px;border-radius:13px;object-fit:cover}.pwa-prompt div{display:flex;flex-direction:column;gap:3px}.pwa-prompt strong{color:var(--olive-dark);font-size:.83rem}.pwa-prompt span{color:var(--muted);font-size:.7rem;line-height:1.4}.pwa-prompt>button:not(.pwa-close){padding:11px 16px;border:0;border-radius:999px;background:var(--olive);color:white;font-weight:700;cursor:pointer}.pwa-close{position:absolute;right:10px;top:8px;width:30px;height:30px;border:0;border-radius:50%;background:var(--cream);color:var(--olive);font-size:1.1rem;cursor:pointer}.pwa-update{grid-template-columns:52px 1fr auto;padding-right:13px}.pwa-update-icon{display:grid;place-items:center;background:var(--cream);color:var(--olive)!important;font-size:1.5rem!important}
.build-box-section{max-width:1184px;margin:0 auto 90px;padding:58px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;background:#f9ead8;border-radius:28px}.build-box-section h2,.business-copy h2{color:var(--olive-dark);font:600 clamp(2.3rem,4vw,4rem)/1.02 'Playfair Display',serif}.build-box-section p{margin:16px 0 25px;color:var(--muted);line-height:1.7}.build-box-section button{padding:14px 20px;border:0;border-radius:999px;background:var(--olive);color:white;font-weight:700;cursor:pointer}.build-box-art{min-height:250px;position:relative;display:grid;place-content:center;text-align:center;border:1px solid rgba(91,92,51,.18);border-radius:22px;background:#fffaf3;overflow:hidden}.build-box-art span{position:absolute;width:52px;height:52px;display:grid;place-content:center;border-radius:50%;background:var(--gold);color:white;font-weight:700}.build-box-art span:nth-child(1){left:12%;top:15%}.build-box-art span:nth-child(2){right:13%;top:28%}.build-box-art span:nth-child(3){left:24%;bottom:12%}.build-box-art strong{color:var(--olive-dark);font:600 1.8rem/1.2 'Playfair Display',serif}
.builder-overlay{display:none;position:fixed;inset:0;z-index:240;background:rgba(25,25,15,.56);backdrop-filter:blur(4px)}.builder-overlay.open{display:block}.box-builder-modal{position:fixed;z-index:245;left:50%;top:50%;width:min(760px,calc(100% - 30px));max-height:88vh;padding:30px;overflow:auto;transform:translate(-50%,-45%) scale(.97);opacity:0;visibility:hidden;background:#fffaf3;border-radius:24px;transition:.22s ease}.box-builder-modal.open{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.builder-close{position:absolute;right:16px;top:15px;width:36px;height:36px;border:0;border-radius:50%;background:var(--cream);color:var(--olive);font-size:1.3rem}.box-builder-modal h2{color:var(--olive-dark);font:600 2.3rem 'Playfair Display',serif}.box-builder-modal>p{margin:8px 0 20px;color:var(--muted);font-size:.82rem}.builder-products{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.builder-product{padding:11px;display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.builder-product.selected{border-color:var(--gold);background:#fff8ed}.builder-product img{width:50px;height:50px;object-fit:cover;border-radius:9px}.builder-product strong{display:block;color:var(--olive-dark);font-size:.76rem}.builder-product small{color:var(--muted);font-size:.66rem}.builder-product input{accent-color:var(--olive)}.builder-footer{position:sticky;bottom:-30px;margin:22px -30px -30px;padding:16px 30px;display:flex;align-items:center;justify-content:space-between;background:#fffaf3;border-top:1px solid var(--line)}.builder-footer div{display:flex;flex-direction:column}.builder-footer strong{color:var(--olive-dark);font-size:1.3rem}.builder-footer button{padding:12px 18px;border:0;border-radius:999px;background:var(--olive);color:white;font-weight:700}.builder-footer button:disabled{opacity:.45}
.cart-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cart-form select,.cart-form textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:9px;background:white;font-family:inherit}.marketing-consent{display:flex!important;align-items:flex-start;gap:7px;font-size:.68rem!important;color:var(--muted)!important}.marketing-consent input{width:auto!important;margin-top:2px}.btn-save-cart{width:100%;margin:9px 0;padding:10px;border:1px solid var(--olive);border-radius:999px;background:white;color:var(--olive);font-weight:700;cursor:pointer}
.business-section{max-width:1184px;margin:0 auto 100px;padding:70px 58px;display:grid;grid-template-columns:1fr 1fr;gap:75px;background:#f2dfc7;border-radius:28px}.business-copy p{margin:18px 0;color:var(--muted);line-height:1.7}.business-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none}.business-copy li{font-size:.76rem;color:var(--olive);font-weight:650}.business-copy li::before{content:'✦';margin-right:7px;color:var(--gold)}.business-form{padding:25px;background:#fffaf3;border-radius:20px}.business-form input,.business-form select,.business-form textarea{width:100%;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;font-family:inherit}.business-form button{width:100%;padding:14px 18px;display:flex;justify-content:space-between;border:0;border-radius:999px;background:var(--olive);color:white;font-weight:700}
.business-form,.business-form .review-form-row,.business-form .review-form-row>*{min-width:0;max-width:100%}.business-form input[type="date"]{display:block;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
#productos{scroll-margin-top:90px}

@media (max-width: 1000px) {
  .hero { grid-template-columns: 1fr 420px; gap: 30px; padding-inline: 40px; }
  .hero-visual { min-height: 500px; }
  .story-strip { gap: 50px; }
}

@media (max-width: 760px) {
  html { scroll-padding-top:78px; }
  body { padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
  input, textarea, select { font-size:16px !important; }
  button, a { -webkit-tap-highlight-color:transparent; }
  .top-nav { height:68px; padding:0 14px; gap:8px; backdrop-filter:blur(14px); box-shadow:0 5px 20px rgba(55,50,34,.06); }
  .nav-brand img { width:94px; height:46px; }
  .nav-links { display: none; }
  .nav-actions { gap:7px; }
  .nav-order-status { padding:9px 11px; font-size:.72rem; }
  .status-label-full { display:none; }
  .status-label-mobile { display:inline; }
  .nav-cta { padding: 10px 13px; font-size:.74rem; }
  .hero { min-height:auto; grid-template-columns:1fr; padding:38px 18px 52px; gap:34px; }
  .hero h1 { font-size:clamp(2.75rem,13vw,4.1rem); line-height:.98; }
  .hero-lead { font-size: .98rem !important; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .primary-cta { justify-content: space-between; }
  .secondary-cta { text-align: center; padding: 8px; }
  .hero-proof { justify-content: space-between; gap: 12px; }
  .hero-proof span { width: 29%; line-height: 1.45; }
  .hero-visual { min-height:310px; max-width:430px; width:100%; margin:0 auto; }
  .hero-main-img { width:84%; height:295px; border-radius:140px 140px 18px 18px; }
  .hero-float-img { width:clamp(118px,34vw,145px); height:clamp(118px,34vw,145px); max-width:none; left:1%; border-width:6px; }
  .hero-stamp { right: 0; width: 94px; height: 94px; font-size: .7rem; }
  .story-strip { padding: 74px 22px 68px; display: block; }
  .steps { grid-template-columns: 1fr; margin-top: 42px; }
  .steps article { border-bottom: 1px solid var(--line); padding: 18px 0; }
  .catalog-heading { padding:58px 18px; }
  .ordering-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ordering-facts article { min-height:70px; border-bottom:1px solid rgba(255,255,255,.14); }
  .ordering-facts article:nth-child(2) { border-right:0; }
  .ordering-facts article:nth-child(n+3) { border-bottom:0; }
  .product-search { margin-top: 26px; }
  .product-search input { height: 56px; font-size: 16px; border-radius: 15px; padding-left: 50px; }
  .product-search > svg { left: 17px; }
  .catalog-layout { padding:28px 12px 0; }
  .back-to-top { right: 16px; bottom: calc(108px + env(safe-area-inset-bottom)); width: 44px; height: 44px; }
  .info-bar { flex-direction: column; align-items: flex-start; padding: 17px 20px; }
  .section-title { padding: 19px 17px; font-size: 1.2rem; }
  .section { margin-bottom:12px; border-radius:16px; }
  .section-body { padding-inline:8px; }
  .section-body.open { padding-bottom:10px; }
  .menu-item, .line-item { column-gap:11px; padding:11px 9px; border-radius:12px; }
  .menu-item-info { min-width:0; }
  .menu-item-name, .line-item-name { font-size:.88rem; line-height:1.25; }
  .menu-item-desc { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.72rem; line-height:1.35; }
  .menu-item-actions { margin-left:auto; }
  .category-feature { grid-template-columns: 1fr; gap: 16px; padding: 12px; }
  .category-feature img { height: 190px; border-radius:12px; }
  .cart-recovery { margin: 16px; padding: 16px 44px 16px 17px; align-items: stretch; flex-direction: column; gap: 13px; }
  .cart-recovery > button:not(.recovery-close) { width: 100%; }
  .occasion-section, .favorites-section { padding: 68px 18px; }
  .occasion-heading { margin-bottom: 28px; }
  .occasion-grid { grid-template-columns: 1fr; }
  .occasion-card { min-height:225px; padding:25px; }
  .favorites-section { padding-top: 10px; }
  .favorites-heading { display: block; }
  .favorites-heading p { margin-top: 14px; }
  .favorites-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 20px; }
  .favorite-card { flex:0 0 min(82%,310px); scroll-snap-align:center; }
  .favorite-image { height: 185px; }
  .trust-band { margin: 0 18px 68px; padding: 25px 20px; grid-template-columns: 1fr; }
  .boxes-section { padding:10px 18px 70px; }
  .boxes-slider-controls{margin:0 0 12px}.boxes-slider-controls button{width:40px;height:40px}.boxes-grid{margin:0 -18px;padding:8px 18px 22px;scroll-padding-inline:18px}.evergreen-box{flex:0 0 min(84vw,310px)}
  .evergreen-box.box-featured { transform:none; }
  .evergreen-box > img { height:190px; }
  .testimonials-section { margin-bottom:68px; padding:68px 18px; }
  .testimonials-heading { display:block; }
  .testimonials-heading p { margin-top:15px; }
  .testimonials-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:16px; }
  .testimonial-card { flex:0 0 min(86%,330px); min-height:245px; scroll-snap-align:center; }
  .review-submit-section { margin:0 18px 70px; padding:34px 20px; grid-template-columns:1fr; gap:30px; border-radius:22px; }
  .review-submit-section { scroll-margin-top:68px; }
  .review-invite-banner{margin:-18px -5px 0}
  .review-form { padding:20px 16px; }
  .review-form-row { grid-template-columns:1fr; gap:0; }
  .about-section{margin:0 auto 55px;padding:65px 18px;grid-template-columns:1fr;gap:38px}.about-visual{min-height:330px;max-width:430px;width:100%;margin:0 auto}.about-visual>img:first-child{width:82%;height:310px;border-radius:145px 145px 18px 18px}.about-visual>img:nth-child(2){width:38%;max-width:145px;border-width:6px}.about-visual>span{width:76px;height:76px;font-size:.88rem}.about-content h2{font-size:3rem}
  .item-thumb { width:54px; height:54px; border-radius:10px; }
  .promotion-ribbon{padding:10px 42px 10px 14px;align-items:flex-start;text-align:left}.promotion-ribbon div{align-items:flex-start;flex-direction:column;gap:2px}.promotion-ribbon a{white-space:nowrap}.build-box-section,.business-section{margin:0 12px 60px;padding:32px 18px;grid-template-columns:1fr;gap:25px;border-radius:20px}.build-box-section h2,.business-copy h2{font-size:clamp(2.25rem,11vw,3.15rem)}.build-box-art{min-height:190px}.builder-products{grid-template-columns:1fr}.box-builder-modal{width:calc(100% - 16px);max-height:92dvh;padding:24px 14px;border-radius:20px}.builder-footer{bottom:-24px;margin:18px -14px -24px;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.cart-form-row{grid-template-columns:1fr}.business-copy ul{grid-template-columns:1fr}.business-form{width:100%;padding:16px 12px;overflow:hidden}.business-form input[type="date"]{width:100%;font-size:16px}.business-form button{min-height:48px}.cart-panel{max-height:92dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.cart-items{padding-inline:14px}.cart-footer{padding-inline:14px}.cart-bar{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px);padding:10px 12px}.cart-bar-text{font-size:.76rem}.cart-bar-text strong{font-size:.86rem}.cart-bar-total{font-size:.9rem;padding-right:2px}
  .pwa-prompt{bottom:calc(10px + env(safe-area-inset-bottom));padding:10px 43px 10px 10px;grid-template-columns:44px 1fr;border-radius:16px}.pwa-prompt img,.pwa-update-icon{width:44px;height:44px;border-radius:11px}.pwa-prompt>button:not(.pwa-close){grid-column:2;width:100%;padding:10px}.pwa-update{padding-right:10px}.pwa-update>button:not(.pwa-close){grid-column:2}.pwa-prompt strong{font-size:.78rem}.pwa-prompt span{font-size:.66rem}
}

.checkout-step{display:flex;align-items:center;gap:9px;margin:8px 0 1px;color:#3e4021}.checkout-step span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#5b5c33;color:#fff;font-size:.75rem}.checkout-step strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}

.nav-account{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #d9d2c3;border-radius:22px;color:#3e4021;text-decoration:none;font-size:.75rem;font-weight:700}.nav-account.signed-in{background:#ece8d9}.nav-account>span:first-child{font-size:1.2rem}@media(max-width:760px){.nav-account-text{display:none}.nav-account{width:38px;height:38px;justify-content:center;padding:0}}

.product-detail-media{min-width:0;background:#f5dcc0}.product-detail-media>#productDetailImage{display:block;width:100%;height:430px;object-fit:cover}.product-detail-gallery{display:flex;gap:8px;padding:10px;overflow:auto;background:#fff6e9}.product-detail-gallery button{flex:0 0 62px;height:62px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#eee;cursor:pointer}.product-detail-gallery img{width:100%;height:100%;object-fit:cover}.product-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.product-detail-tags span{padding:5px 9px;border-radius:999px;background:#eee8d9;color:#5b5c33;font-size:.7rem}.product-detail-options button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.product-detail-media>#productDetailImage{height:270px}}

.nav-favorites{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #d9d2c3;border-radius:50%;background:transparent;color:#3e4021;cursor:pointer}.nav-favorites span{font-size:1.45rem;line-height:1}.nav-favorites b{position:absolute;right:-3px;top:-4px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:#bd852e;color:#fff;font-size:.65rem}.menu-item,.line-item{position:relative}.product-favorite{position:absolute;z-index:2;top:9px;right:9px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ded6c5;border-radius:50%;background:#fff;color:#5b5c33;cursor:pointer;box-shadow:0 4px 15px #0001}.product-favorite span{font-size:1.25rem}.product-favorite.active{color:#a5483c;border-color:#e5bbb4}.favorites-overlay{position:fixed;z-index:1005;inset:0;background:#272818aa;display:flex;justify-content:flex-end}.favorites-overlay[hidden]{display:none}.favorites-panel{position:relative;width:min(470px,100%);height:100%;overflow:auto;padding:55px 26px;background:#f8f4ea;box-shadow:-20px 0 70px #0003}.favorites-panel h2{font:600 2.5rem 'Playfair Display',serif;margin:8px 0 25px}.favorites-close{position:absolute;right:20px;top:20px;width:40px;height:40px;border:0;border-radius:50%;background:#ebe5d7;font-size:1.5rem;cursor:pointer}.favorites-panel article{display:grid;grid-template-columns:70px 1fr auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #ded6c5}.favorites-panel article img{width:70px;height:70px;border-radius:13px;object-fit:cover}.favorites-panel article div{display:grid;gap:3px}.favorites-panel article small,.favorites-panel article span{color:#796f60;font-size:.75rem}.favorites-panel article button{border:0;border-radius:8px;padding:9px 11px;background:#5b5c33;color:#fff;cursor:pointer}.favorites-panel article .remove{background:transparent;color:#8d4038;font-size:1.2rem}.favorites-empty{padding:35px 15px;text-align:center;line-height:1.7;color:#756c5e}@media(max-width:600px){.nav-favorites{width:38px;height:38px}.favorites-panel{padding:55px 18px}.favorites-panel article{grid-template-columns:60px 1fr auto}.favorites-panel article img{width:60px;height:60px}.favorites-panel article .remove{grid-column:3}}

#shippingFields{display:grid;gap:10px;padding:12px;border:1px solid #ddd4c2;border-radius:12px;background:#faf8f2}#shippingFields[hidden]{display:none}.coupon-entry{display:grid;grid-template-columns:1fr auto;gap:8px}.coupon-entry button{border:0;border-radius:9px;padding:0 14px;background:#5b5c33;color:#fff;font-weight:700;cursor:pointer}#couponStatus,#shippingQuoteStatus{display:block;min-height:18px;color:#716753;font-size:.75rem}

/* Las transiciones se limitan a propiedades fluidas para evitar repintados costosos. */
.nav-order-status { transition:background-color .2s ease,transform .2s ease; }
.product-search input { transition:none; }
.box-builder-modal { transition:opacity .22s ease,transform .22s ease; }
.order-success-overlay{position:fixed;inset:0;z-index:1300;padding:18px;display:grid;place-items:center;background:rgba(35,35,20,.56);backdrop-filter:blur(6px)}.order-success-overlay[hidden]{display:none}.order-success-modal{width:min(500px,100%);padding:38px;text-align:center;border-radius:28px;background:#fffaf3;box-shadow:0 30px 90px rgba(25,25,12,.32)}.order-success-icon{width:58px;height:58px;margin:0 auto 17px;display:grid;place-items:center;border-radius:50%;background:#5b5c33;color:#fff;font-size:1.7rem}.order-success-modal h2{margin:5px 0 10px;color:#3e4021;font:600 2.2rem/1.08 'Playfair Display',serif}.order-success-modal p{color:#656153;line-height:1.6}.order-success-code{margin:20px auto;display:block;color:#79501b;font-size:1.25rem;letter-spacing:.08em}.order-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.order-success-actions a,.order-success-close{min-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;text-decoration:none;font-weight:750}.order-success-actions a:first-child{background:#5b5c33;color:#fff}.order-success-actions a:last-child{background:#e6f4e9;color:#236f3d}.order-success-close{width:100%;margin-top:10px;background:#f9ead8;color:#3e4021}.btn-whatsapp{background:#5b5c33!important}
@media(max-width:520px){.order-success-modal{padding:30px 20px;border-radius:22px}.order-success-modal h2{font-size:1.8rem}.order-success-actions{grid-template-columns:1fr}}
.order-success-actions{grid-template-columns:1fr}
.catalog-quick-nav{position:sticky;top:78px;z-index:90;width:min(960px,100%);margin:22px auto 0;padding:7px;display:flex;gap:6px;overflow-x:auto;border-radius:999px;background:rgba(255,250,243,.94);box-shadow:0 12px 32px rgba(28,29,14,.18);scrollbar-width:none}.catalog-quick-nav::-webkit-scrollbar{display:none}.catalog-quick-nav button{flex:0 0 auto;padding:10px 15px;border:0;border-radius:999px;background:transparent;color:#3e4021;font-weight:750;cursor:pointer}.catalog-quick-nav button:hover,.catalog-quick-nav button:focus-visible{background:#f5dcc0;outline:none}.menu-item-name,.line-item-name,.item-thumb{cursor:pointer}
.product-detail-overlay{position:fixed;inset:0;z-index:1280;padding:18px;display:grid;place-items:center;background:rgba(35,35,20,.55);backdrop-filter:blur(6px)}.product-detail-overlay[hidden]{display:none}.product-detail-modal{position:relative;width:min(820px,100%);max-height:92dvh;overflow:auto;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);border-radius:28px;background:#fffaf3;box-shadow:0 30px 90px rgba(25,25,12,.32)}.product-detail-modal>img{width:100%;height:100%;min-height:480px;object-fit:cover;background:#f5dcc0}.product-detail-copy{padding:42px}.product-detail-copy h2{margin:7px 0 13px;color:#3e4021;font:600 2.65rem/1.02 'Playfair Display',serif}.product-detail-copy>p{color:#656153;line-height:1.7}.product-detail-trust{margin:24px 0;display:grid;gap:8px;color:#5b5c33;font-size:.75rem}.product-detail-options{display:grid;gap:8px}.product-detail-options button{min-height:50px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:13px;background:#5b5c33;color:#fff;font-weight:750}.product-detail-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#3e4021;font-size:1.35rem;box-shadow:0 5px 18px rgba(25,25,12,.16)}
@media(max-width:700px){.catalog-quick-nav{top:68px;border-radius:14px}.product-detail-modal{display:block}.product-detail-modal>img{height:270px;min-height:0}.product-detail-copy{padding:28px 20px}.product-detail-copy h2{font-size:2rem}}

/* Estabilidad y contraste: evita saltos cuando llegan datos del administrador. */
.promotion-ribbon[hidden] {
  display:flex;
  visibility:hidden;
  min-height:44px;
}

.about-section[hidden] {
  display:grid;
  visibility:hidden;
}

.boxes-section[hidden],
.testimonials-section[hidden] {
  display:block;
  visibility:hidden;
  min-height:430px;
}

.catalog-heading .eyebrow { color:#f4d7a8; }
.about-visual>span { color:#20210e; }
.occasion-card small { color:#565348; opacity:1; }
.favorite-copy small,
.evergreen-box>div>span,
.about-points article>span { color:#79501b; }
.build-box-section p,
.business-copy p,
.testimonials-heading p,
.trust-band small { color:#565348; }
.review-submit-copy>p { color:#f0ede3; }
.review-note span { color:#ebe8dc; }
.cart-bar-total { color:#fff1d8; }
.occasion-compartir .occasion-number { color:#f4d7a8 !important; }
.occasion-compartir small { color:#f3f0e7; }
.occasion-regalo .occasion-number { color:#3e4021 !important; }
.occasion-number { opacity:1; }
.occasion-regalo small { color:#3e4021; }
.box-action button { color:#79501b; }
.box-featured>div>span,.box-featured .box-action button { color:#f4d7a8; }
.review-submit-copy .eyebrow,.review-note strong { color:#f4d7a8; }

@media (max-width: 390px) {
  .top-nav { padding:0 10px; }
  .nav-brand img { width:78px; }
  .nav-order-status { padding:9px 10px; }
  .nav-order-status span[aria-hidden="true"] { display:none; }
  .nav-cta { padding:10px 11px; }
}

@media (max-width: 600px) {
  .build-box-art { min-height:220px; padding:58px 54px; }
  .build-box-art span { width:40px; height:40px; font-size:.82rem; z-index:2; }
  .build-box-art span:nth-child(1) { top:16px; left:18px; right:auto; bottom:auto; }
  .build-box-art span:nth-child(2) { top:16px; right:18px; left:auto; bottom:auto; }
  .build-box-art span:nth-child(3) { left:50%; bottom:16px; top:auto; right:auto; transform:translateX(-50%); }
  .build-box-art strong { position:relative; z-index:1; max-width:170px; font-size:1.55rem; }
}

@media (max-width: 420px) {
  .hero-visual { min-height:300px; }
  .hero-main-img { height:285px; }
  .hero-float-img { width:clamp(112px,32vw,136px); height:clamp(112px,32vw,136px); }
  .category-feature img { height:170px; }
  .favorite-card { flex-basis:82%; }
  .favorite-image,.evergreen-box > img { height:175px; }
  .about-visual { min-height:295px; }
  .about-visual>img:first-child { height:278px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; }
  .hero-sparkles { display:none; }
}

.commerce-faq{padding:clamp(64px,8vw,110px) 5vw;background:#f7f3e9}.commerce-faq-heading{max-width:680px;margin:0 auto 35px;text-align:center}.commerce-faq-heading h2,.newsletter-section h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.5rem);margin:8px 0 12px}.commerce-faq-list{max-width:850px;margin:auto;border-top:1px solid #d9d0bd}.commerce-faq-list details{border-bottom:1px solid #d9d0bd}.commerce-faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:22px 4px;font-weight:600;cursor:pointer;list-style:none}.commerce-faq-list summary::-webkit-details-marker{display:none}.commerce-faq-list summary span{font-size:1.3rem;transition:transform .2s}.commerce-faq-list details[open] summary span{transform:rotate(45deg)}.commerce-faq-list p{padding:0 4px 22px;margin:0;line-height:1.75;color:#696353}.newsletter-section{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:clamp(55px,8vw,100px) 7vw;background:#3e4021;color:#fff}.newsletter-section .eyebrow{color:#f4d7a8}.newsletter-section p{max-width:560px;line-height:1.7;color:#e4dfd0}.newsletter-section form{display:grid;grid-template-columns:1fr auto;gap:10px}.newsletter-section input{min-width:0;padding:15px;border:1px solid #ffffff55;border-radius:10px;background:#ffffff10;color:white;font:inherit}.newsletter-section input::placeholder{color:#ffffffaa}.newsletter-section button{border:0;border-radius:10px;padding:15px 20px;background:#bd852e;color:white;font-weight:700;cursor:pointer}.newsletter-section small{grid-column:1/-1;min-height:20px}.footer-commerce-links{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:20px}.footer-commerce-links a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.newsletter-section{grid-template-columns:1fr}.newsletter-section form{grid-template-columns:1fr}.newsletter-section small{grid-column:auto}}

/* La fotografía principal de Quiénes somos conserva siempre una forma circular. */
.about-visual>img:first-child {
  left:7%;
  top:5%;
  width:76%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  box-shadow:0 22px 55px rgba(55,50,34,.16);
}

.about-visual>img:nth-child(2) {
  width:48%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
}

@media (max-width: 760px) {
  .about-visual>img:first-child {
    left:5%;
    top:0;
    width:78%;
    height:auto;
    aspect-ratio:1/1;
    border-radius:50%;
  }

  .about-visual>img:nth-child(2) {
    width:38%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center;
    border-radius:50%;
  }
}
