:root {
  --coral: #f06461;
  --coral-dark: #df514e;
  --peach: #fff1e8;
  --cream: #fffaf6;
  --teal: #087d82;
  --teal-dark: #075d63;
  --purple: #7551a8;
  --gold: #d99c42;
  --ink: #26363c;
  --muted: #68787e;
  --white: #fff;
  --line: #eddfd8;
  --shadow: 0 18px 48px rgba(93, 62, 52, .10);
  --shell: 1190px;
}

/* V236 · contacto más equilibrado en computador y teléfono. */
.contact-card{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr) auto;gap:34px;padding:32px 36px;border-radius:22px}
.contact-card>div:first-child{max-width:430px}.contact-card h2{max-width:420px;font-size:34px;line-height:1.02}.contact-data{gap:12px}.contact-data div{gap:3px}.contact-card>.button{min-width:196px;justify-content:center;text-align:center}
@media(max-width:900px){.contact-card{grid-template-columns:1fr 1fr}.contact-card>.button{grid-column:1/-1;width:100%}}
@media(max-width:620px){.contact-section{padding-inline:14px}.contact-card{grid-template-columns:1fr;gap:20px;padding:25px 21px;border-radius:19px}.contact-card h2{font-size:29px;line-height:1.04}.contact-card>div:first-child,.contact-card h2{max-width:none}.contact-data{padding-top:16px;border-top:1px solid rgba(255,255,255,.24)}.contact-card>.button{grid-column:auto;min-width:0;width:100%;min-height:46px}}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fffaf6;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

/* El Inicio se muestra un poco más compacto en computador. */
@media (min-width: 1000px) {
  body.home-page { zoom: .9; }
}

/* Artículos destacados del Inicio. */
.featured-products{position:relative;padding-block:34px;background:linear-gradient(135deg,#fff7f1 0%,#fff 46%,#f4fbfa 100%);overflow:hidden}
.featured-products::before{content:"";position:absolute;right:-90px;top:-110px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(15,167,159,.13),transparent 68%);pointer-events:none}
.featured-products .shell{position:relative}
.featured-products-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:20px}
.featured-products-heading h2{margin:4px 0 5px;color:var(--teal-dark);font:700 clamp(28px,3vw,40px)/1.05 Georgia,"Times New Roman",serif}
.featured-products-heading p{margin:0;color:var(--muted);font-size:14px}
.featured-products-arrows{display:flex;gap:8px}
.featured-products-arrows button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d5e4e2;border-radius:50%;background:#fff;color:var(--teal);box-shadow:0 8px 22px rgba(7,93,99,.11);font:800 27px/1 Georgia,serif;cursor:pointer;transition:.18s ease}
.featured-products-arrows button:hover{border-color:var(--teal);background:var(--teal);color:#fff}
.featured-products-track{display:flex;gap:18px;overflow-x:auto;padding:4px 3px 18px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.featured-products-track::-webkit-scrollbar{display:none}
.featured-product-card{--featured-accent:#0fa79f;position:relative;flex:0 0 calc((100% - 54px)/3.35);min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--featured-accent) 24%,#eadfd9);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(52,73,72,.09);scroll-snap-align:start;transition:transform .2s ease,box-shadow .2s ease}
.featured-product-card:nth-child(2),.featured-product-card:nth-child(6){--featured-accent:#8165bd}.featured-product-card:nth-child(3),.featured-product-card:nth-child(4){--featured-accent:#8a243a}.featured-product-card:nth-child(5){--featured-accent:#133457}.featured-product-card:nth-child(7){--featured-accent:#e85c52}.featured-product-card:nth-child(8){--featured-accent:#b98224}.featured-product-card:nth-child(9),.featured-product-card:nth-child(10){--featured-accent:#2a9c99}
.featured-product-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(52,73,72,.14)}
.featured-product-card::after{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--featured-accent)}
.featured-product-card>img{width:100%;aspect-ratio:1.16/1;object-fit:contain;padding:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--featured-accent) 8%,#fff),#fff)}
.featured-product-card>div{display:grid;gap:8px;padding:17px 17px 18px}
.featured-product-card span{width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--featured-accent) 10%,#fff);color:var(--featured-accent);font-size:9.5px;font-weight:900;letter-spacing:.09em}
.featured-product-card h3{min-height:48px;margin:0;color:#173f43;font:700 21px/1.12 Georgia,"Times New Roman",serif}
.featured-product-card strong{color:var(--featured-accent);font-size:15px}
.featured-product-card a{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-top:5px;padding:0 14px;border:1px solid color-mix(in srgb,var(--featured-accent) 30%,#fff);border-radius:12px;background:color-mix(in srgb,var(--featured-accent) 8%,#fff);color:var(--featured-accent);font-size:12px;font-weight:900}
.featured-product-card a::after{content:"→";font-size:17px}.featured-product-card a b{display:none}
.featured-product-card a:hover{border-color:var(--featured-accent);background:var(--featured-accent);color:#fff}

/* Las dos imágenes editoriales no dominan toda la pantalla del Inicio. */
.home-page .news-card,.home-page .magic-preview-card{width:min(calc(100% - 38px),952px)}

@media(max-width:900px){.featured-product-card{flex-basis:calc((100% - 18px)/2.35)}}
@media(max-width:680px){
  .featured-products{padding-block:18px}.featured-products-heading{align-items:center}.featured-products-heading p{font-size:13px}.featured-products-arrows{display:none}
  .featured-product-card{flex-basis:78vw}.featured-product-card>img{aspect-ratio:1.28/1}.featured-product-card h3{min-height:0;font-size:20px}
  .home-page .news-card,.home-page .magic-preview-card{width:min(calc(100% - 28px),952px)}
}
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(calc(100% - 38px), var(--shell)); margin-inline: auto; }
.anchor-target { display: block; height: 0; position: relative; top: -92px; visibility: hidden; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 10px 14px; color: white; background: var(--ink); border-radius: 10px; }
.skip-link:focus { left: 8px; }

/* HEADER */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 252, 249, .96);
  border-bottom: 1px solid rgba(237, 223, 216, .85);
  backdrop-filter: blur(16px);
}
.header-inner {
  min-height: 86px;
  display: grid;
  grid-template-columns: minmax(235px, 1fr) auto minmax(235px, 1fr);
  align-items: center;
  gap: 22px;
}
.brand { display: flex; align-items: center; gap: 10px; width: max-content; }
.brand-image { width: 78px; height: 62px; display: grid; place-items: center; overflow: visible; border-radius: 0; flex: 0 0 auto; }
.brand-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: none; }
.brand-copy { display: grid; gap: 0; }
.brand-copy strong { font-family: Georgia, "Times New Roman", serif; color: var(--coral-dark); font-size: 21px; letter-spacing: .02em; }
.brand-copy small { color: #5e696c; font-size: 10px; letter-spacing: .035em; }
.home-page .site-header .brand-image{width:72px;height:58px}
.home-page .site-header .brand-image img{object-fit:contain}
.home-page .site-header .brand-copy{gap:1px}
.home-page .site-header .brand-copy strong{color:#087887;font-size:20px;line-height:1.05;white-space:nowrap}
.home-page .site-header .brand-copy small{display:block;font-size:10px;line-height:1.15;white-space:nowrap}
.products-v12-page .site-header .brand-copy{gap:1px}
.products-v12-page .site-header .brand-copy strong{color:#087887;text-transform:uppercase;font-size:20px;line-height:1.05;white-space:nowrap}
.products-v12-page .site-header .brand-copy small{display:block;color:#4f6268;font-size:10px;line-height:1.15;white-space:nowrap}
.main-nav { display: flex; align-items: center; justify-content: center; gap: 30px; }
.main-nav a { position: relative; padding: 31px 0 27px; font-size: 14px; font-weight: 720; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 18px; height: 2px; border-radius: 99px; background: var(--coral); transform: scaleX(0); transition: transform .2s ease; }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav a.active { color: var(--coral-dark); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.header-actions svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.icon-button { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #222; background: white; cursor: pointer; }
.home-page .home-search-trigger{width:238px;height:42px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 15px;border-radius:13px;color:#52696b;background:#fff;box-shadow:0 5px 16px rgba(49,74,74,.06);font:650 13px/1 inherit;white-space:nowrap}
.home-page .home-search-trigger svg{width:19px;height:19px;flex:0 0 auto;color:#223f42}
.home-page .home-search-trigger:hover,.home-page .home-search-trigger:focus-visible{border-color:#8fc8c4;box-shadow:0 0 0 3px rgba(15,167,159,.10)}
.account-link { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 14px; }
.cart-link { position: relative; display: grid; place-items: center; width: 34px; height: 34px; }
.cart-badge { position: absolute; right: -7px; top: -6px; min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 999px; font-size: 11px; font-weight: 850; }
.menu-toggle { display: none; width: 44px; height: 42px; border: 0; background: transparent; padding: 8px; }
.menu-toggle span { display: block; height: 2px; margin: 6px 0; background: var(--ink); border-radius: 5px; }
.search-panel { padding: 0 0 14px; }
.search-panel[hidden] { display: none; }
.search-panel label { display: block; margin-bottom: 6px; color: var(--teal-dark); font-size: 12px; font-weight: 800; }
.search-field { display: flex; gap: 8px; }
.search-field input { flex: 1; min-width: 0; height: 46px; padding: 0 16px; border: 1px solid var(--line); border-radius: 14px; outline: none; background: white; }
.search-field input:focus { border-color: #efaaa4; box-shadow: 0 0 0 4px rgba(240, 100, 97, .10); }
.search-close { padding: 0 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff7f3; color: var(--coral-dark); cursor: pointer; font-weight: 800; }
.search-submit{padding:0 20px;border:0;border-radius:14px;background:var(--teal,#0b8f8d);color:#fff;font-weight:900;cursor:pointer}

/* HERO */
.hero { padding-top: 20px; }
.hero-card {
  min-height: 550px;
  display: grid;
  grid-template-columns: 49% 51%;
  overflow: hidden;
  position: relative;
  border: 1px solid #f1ddd0;
  border-radius: 31px;
  background: linear-gradient(105deg, #fff9f3 0%, #ffe8d6 100%);
  box-shadow: 0 18px 48px rgba(120, 80, 56, .09);
}
.hero-card::before, .hero-card::after { content: "✦  ♡  ✦"; position: absolute; color: rgba(213, 150, 60, .38); letter-spacing: 10px; pointer-events: none; }
.hero-card::before { left: 25px; top: 28px; transform: rotate(-10deg); }
.hero-card::after { left: 43%; bottom: 25px; transform: rotate(8deg); }
.hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 62px 40px 55px 68px; }
.hero-script { color: #bf812b; font-family: "Segoe Script", "Brush Script MT", cursive; font-size: clamp(20px, 2.2vw, 30px); }
.hero-ornament { display: flex; align-items: center; gap: 12px; width: 255px; margin: 17px 0 21px 22px; color: #c9933d; }
.hero-ornament i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, #d4a355); }
.hero-ornament i:last-child { background: linear-gradient(90deg, #d4a355, transparent); }
.hero-ornament b { font-size: 17px; }
.hero-copy h1 { max-width: 510px; margin: 0; color: #26343a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(45px, 5vw, 68px); line-height: .98; font-weight: 500; text-transform: uppercase; letter-spacing: -.025em; }
.hero-copy h1 em { display: block; margin-top: 6px; color: var(--coral); font-style: normal; }
.hero-copy > p:not(.hero-slogan) { max-width: 510px; margin: 28px 0 0; color: #59686d; font-size: 17px; line-height: 1.7; }
.hero-copy > p strong { color: var(--coral); font-weight: 750; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-slogan { margin: 31px 0 0; color: #5f696c; text-align: center; max-width: 430px; font-size: 16px; }
.hero-slogan strong { color: var(--coral); }
.hero-media { min-width: 0; overflow: hidden; position: relative; }
.hero-media::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 20%; z-index: 1; background: linear-gradient(90deg, #ffe9d9 0%, rgba(255,233,217,.0) 100%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; transform: scale(1.04); }

/* SHARED */
.compact-section { padding: 38px 0; }
.eyebrow { display: inline-block; color: var(--coral-dark); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.eyebrow.light { color: #ffe8df; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border-radius: 16px; font-weight: 850; transition: transform .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); }
.small-button { min-height: 42px; padding: 9px 18px; border-radius: 14px; font-size: 13px; }
.button-coral { color: white; background: var(--coral); box-shadow: 0 10px 24px rgba(239, 107, 99, .22); }
.button-outline { color: var(--coral-dark); background: rgba(255,255,255,.72); border: 1.5px solid var(--coral); }
.button-dark { color: white; background: var(--teal-dark); box-shadow: 0 10px 24px rgba(7, 93, 99, .18); }
.button-white { color: #3f2750; background: white; }

/* CATEGORIES */
.categories { padding-top: 24px; padding-bottom: 24px; }
.compact-heading { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px; }
.compact-heading h2 { margin: 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 29px; }
.spark { color: var(--gold); }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.category-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.category-card { min-height: 205px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; background: white; border: 1px solid var(--line); border-radius: 23px; box-shadow: 0 10px 30px rgba(75,52,45,.055); transition: transform .2s ease, box-shadow .2s ease; }
.category-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(75,52,45,.09); }
.category-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 15px; font-size: 21px; }
.category-card strong { color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 23px; line-height: 1.1; }
.category-card small { display: block; margin-top: 10px; color: var(--muted); font-size: 13px; }
.category-card b { margin-top: auto; padding-top: 16px; color: var(--coral-dark); font-size: 12px; }
.category-coral .category-icon { color: #cf5049; background: #ffe2de; }
.category-purple .category-icon { color: #674299; background: #eee6fb; }
.category-gold .category-icon { color: #a66d18; background: #fff0cb; }
.category-all { display: flex; justify-content: center; margin-top: 14px; }
@media(max-width:1000px){.category-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BENEFITS */
.benefits { padding: 18px 0 8px; }
.benefits-grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 24px rgba(75,52,45,.045); }
.benefits article { min-height: 72px; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border-right: 1px solid var(--line); }
.benefits article:last-child { border-right: 0; }
.benefits article > span { flex: 0 0 auto; font-size: 21px; }
.benefits strong, .benefits small { display: block; }
.benefits strong { color: var(--teal-dark); font-size: 13px; }
.benefits small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.4; }

/* NEWS - deliberately slimmer */
.news { padding-top: 20px; padding-bottom: 25px; background: linear-gradient(180deg, #fff 0%, #fff8f3 100%); }
.news-card { min-height: 290px; display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 26px; box-shadow: 0 14px 38px rgba(75,52,45,.06); }
.news-copy { display: flex; flex-direction: column; justify-content: center; padding: 34px 34px 34px 38px; }
.news-copy h2 { max-width: 430px; margin: 5px 0 10px; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(33px, 3.5vw, 46px); line-height: 1.02; letter-spacing: -.025em; }
.news-copy p { max-width: 440px; margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.news-copy .button { align-self: flex-start; }
.news-image { min-height: 290px; overflow: hidden; }
.news-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.news-card.news-card--full { display: block; min-height: 0; }
.news-full-image { display: block; width: 100%; }
.news-full-image img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }

/* ABOUT - compact summary */
.about-section { padding-top: 24px; padding-bottom: 22px; }
.about-card { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px 48px; align-items: center; padding: 28px 34px; background: white; border: 1px solid var(--line); border-radius: 26px; }
.about-title h2 { max-width: 500px; margin: 5px 0 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.4vw, 42px); line-height: 1.02; letter-spacing: -.02em; }
.about-card > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.about-values { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.about-values span { padding: 11px 10px; text-align: center; color: #684f48; background: #fff2eb; border-radius: 13px; font-size: 12px; font-weight: 820; }

/* MAGIC - slim horizontal banner */
.magic-section { padding-top: 20px; padding-bottom: 25px; }
.magic-card { min-height: 220px; display: grid; grid-template-columns: 1fr 270px; align-items: center; gap: 35px; overflow: hidden; position: relative; padding: 34px 46px; color: white; background: radial-gradient(circle at 80% 30%, rgba(255,255,255,.15), transparent 23%), linear-gradient(110deg, #54265d 0%, #84518c 54%, #ce83aa 100%); border-radius: 30px; }
.magic-card::before { content: "✦ · · ✦ · · · ✦ · · ✦ · · · ✦"; position: absolute; inset: 15px 0 auto 0; color: rgba(255,255,255,.16); letter-spacing: 18px; white-space: nowrap; overflow: hidden; }
.magic-copy { position: relative; z-index: 2; }
.magic-copy h2 { margin: 5px 0 8px; color: white; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4vw, 50px); line-height: 1; font-weight: 500; }
.magic-copy p { max-width: 650px; margin: 0 0 17px; color: #f9ecfa; font-size: 14px; line-height: 1.6; }
.magic-door { justify-self: center; width: 150px; height: 172px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 28px 12px 20px; border: 2px solid rgba(255,255,255,.76); border-bottom-width: 3px; border-radius: 76px 76px 20px 20px; box-shadow: 0 0 0 12px rgba(255,255,255,.05), 0 0 32px rgba(255,255,255,.18); background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); }
.door-star { font-size: 27px; text-shadow: 0 0 18px white; }
.door-name { font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 700; }

/* CONTACT + FOOTER */
.contact-section { padding-top: 24px; padding-bottom: 35px; }
.contact-card { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 28px; align-items: center; padding: 34px 38px; color: white; background: linear-gradient(135deg, var(--teal-dark), #0d8587); border-radius: 28px; box-shadow: 0 18px 45px rgba(7,93,99,.16); }
.contact-card h2 { margin: 5px 0 5px; color: white; font-family: Georgia, "Times New Roman", serif; font-size: 35px; line-height: 1.05; }
.contact-card p { margin: 0; color: #d4eeee; font-size: 14px; }
.contact-data { display: grid; gap: 10px; }
.contact-data div { display: grid; gap: 1px; }
.contact-data small { color: #bce4df; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.contact-data a, .contact-data span { font-size: 13px; font-weight: 780; }
.contact-data small{font-weight:600}.contact-data a,.contact-data span{font-weight:500}
.site-footer { margin-top: 12px; color: #dbe7e7; background: #20393e; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 35px; padding: 43px 0 30px; }
.footer-grid h2 { margin: 0 0 11px; color: white; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { display: block; margin: 7px 0; color: #c7d7d8; font-size: 13px; }
.footer-brand strong { color: white; font-family: Georgia, "Times New Roman", serif; font-size: 26px; }
.footer-brand p { color: #f5b7b1; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0 22px; color: #9fb2b4; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; }
.whatsapp-float { position: fixed; right: 20px; bottom: 82px; z-index: 30; display: inline-flex; align-items: center; gap: 9px; padding: 13px 16px; color: white; background: #1b9a69; border-radius: 999px; box-shadow: 0 10px 30px rgba(23,115,78,.28); font-weight: 850; }
.whatsapp-float > span { font-size: 13px; }
.store-coming-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:27px 32px;border:1px solid #ead9d3;border-radius:24px;background:linear-gradient(135deg,#fffaf7,#f5fbfa);box-shadow:0 14px 36px rgba(39,78,80,.08)}.store-coming-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:18px;background:#e7f6f4;font-size:31px}.store-coming-card h2{margin:5px 0 7px;color:#183b3f;font:700 30px Georgia,serif}.store-coming-card p{max-width:720px;margin:0;color:#53666a;line-height:1.55}.store-coming-button{padding:13px 19px;border-radius:999px;background:#e9dcf0;color:#6f4c82;font-size:12px;font-weight:900;letter-spacing:.03em}.contact-card{background:linear-gradient(135deg,#076e72,#0b8b8c)}.contact-card .eyebrow,.contact-card h2,.contact-card p,.contact-data small,.contact-data a,.contact-data span{color:#fff}.contact-card p,.contact-data small{color:#d7f2f0}.site-footer{background:linear-gradient(135deg,#18373c,#24484d);color:#e8f3f3}.site-footer .footer-grid h2,.site-footer .footer-brand strong{color:#fff}.site-footer .footer-grid a,.site-footer .footer-grid span{color:#d4e7e7}.site-footer .footer-brand p{color:#ffc2ba}.site-footer .footer-bottom{color:#bcd0d1}

@media (max-width: 1100px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .main-nav { order: 3; grid-column: 1 / -1; margin-top: -14px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .hero-card { grid-template-columns: 52% 48%; min-height: 510px; }
  .hero-copy { padding-left: 46px; }
  .benefits-grid { grid-template-columns: repeat(2,1fr); }
  .benefits article:nth-child(2) { border-right: 0; }
  .benefits article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .contact-card { grid-template-columns: 1fr 1fr; }
  .contact-card > .button { grid-column: 1 / -1; width: max-content; }
}

@media (max-width: 820px) {
.store-coming-card{grid-template-columns:auto 1fr}.store-coming-button{grid-column:1/-1;text-align:center}
  .shell { width: min(calc(100% - 26px), var(--shell)); }
  .header-inner { min-height: 72px; display: flex; }
  .brand { margin-right: auto; }
  .brand-image { width: 64px; height: 52px; }
  .brand-copy strong { font-size: 18px; }
  .brand-copy small { display: none; }
  .header-actions { margin-left: auto; gap: 10px; }
  .account-link span { display: none; }
  .menu-toggle { display: block; order: 4; }
  .main-nav { position: absolute; left: 13px; right: 13px; top: 72px; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 10px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px; }
  .main-nav a::after { display: none; }
  .main-nav a.active { background: #fff0eb; border-radius: 10px; }
  .search-panel { padding-top: 10px; }
  .hero-card { grid-template-columns: 1fr; min-height: 0; }
  .hero-copy { padding: 45px 34px 38px; }
  .hero-copy h1 { max-width: 600px; }
  .hero-media { height: 380px; }
  .hero-media::before { inset: 0 0 auto; width: auto; height: 20%; background: linear-gradient(180deg, #ffe8d7, rgba(255,232,215,0)); }
  .hero-media img { object-position: 70% center; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 180px; }
  .news-card, .about-card, .magic-card, .contact-card { grid-template-columns: 1fr; }
  .news-image { height: 320px; min-height: 0; }
  .about-card { gap: 20px; }
  .about-values { grid-template-columns: repeat(2,1fr); }
  .magic-card { padding: 34px; }
  .magic-door { display: none; }
  .contact-card > .button { grid-column: auto; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .shell { width: min(calc(100% - 18px), var(--shell)); }
  .icon-button { width: 39px; height: 39px; }
  .header-actions svg { width: 20px; height: 20px; }
  .hero { padding-top: 10px; }
  .hero-card { border-radius: 22px; }
  .hero-copy { padding: 36px 22px 30px; }
  .hero-script { font-size: 20px; }
  .hero-ornament { width: 210px; margin-left: 0; }
  .hero-copy h1 { font-size: clamp(39px, 12vw, 54px); }
  .hero-copy > p:not(.hero-slogan) { margin-top: 22px; font-size: 15px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-slogan { text-align: left; }
  .hero-media { height: 300px; }
  .compact-section { padding: 28px 0; }
  .compact-heading h2 { font-size: 25px; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefits article { min-height: 68px; border-right: 0; border-bottom: 1px solid var(--line); }
  .benefits article:last-child { border-bottom: 0; }
  .news-copy { padding: 28px 24px; }
  .news-copy h2 { font-size: 35px; }
  .news-image { height: 265px; }
  .about-card { padding: 25px 22px; }
  .about-title h2 { font-size: 33px; }
  .about-values { grid-template-columns: 1fr; }
  .magic-card { min-height: 0; padding: 30px 24px; border-radius: 24px; }
  .magic-copy h2 { font-size: 38px; }
  .contact-card { padding: 28px 24px; }
  .contact-card h2 { font-size: 33px; }
  .contact-card .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .whatsapp-float { width: 54px; height: 54px; padding: 0; justify-content: center; }
  .whatsapp-float > span { display: none; }
}


/* PRODUCTS PAGE */
.products-page main { min-height: 70vh; }
.products-intro { padding: 32px 0 18px; }
.products-intro-card {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 32px;
  align-items: center;
  min-height: 225px;
  padding: 38px 44px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(120deg, #fff7f1 0%, #ffe9dc 100%);
  border: 1px solid var(--line);
  border-radius: 28px;
}
.products-intro-card::after {
  content: "\2726  \2661  \2726  \2661  \2726";
  position: absolute;
  right: 35px;
  top: 24px;
  color: rgba(217,156,66,.42);
  letter-spacing: 14px;
}
.products-intro h1 {
  max-width: 720px;
  margin: 7px 0 12px;
  color: var(--teal-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5vw, 62px);
  line-height: .98;
  letter-spacing: -.025em;
}
.products-intro p { max-width: 710px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.products-intro-side {
  justify-self: end;
  width: min(100%, 320px);
  padding: 20px 22px;
  color: #6d514a;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(237,223,216,.9);
  border-radius: 20px;
}
.products-intro-side strong { display: block; color: var(--coral-dark); font-size: 13px; }
.products-intro-side span { display: block; margin-top: 5px; font-size: 12px; line-height: 1.55; }
.products-catalog { padding: 16px 0 46px; }
.products-catalog-heading { max-width: 720px; margin: 0 auto 25px; text-align: center; }
.products-catalog-heading h2 { margin: 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 34px; }
.products-catalog-heading p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.all-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.all-category-card {
  min-height: 235px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 25px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(75,52,45,.05);
  scroll-margin-top: 120px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.all-category-card:hover, .all-category-card:target {
  transform: translateY(-3px);
  border-color: rgba(240,100,97,.58);
  box-shadow: 0 16px 38px rgba(75,52,45,.09);
}
.all-category-card .category-icon { margin-bottom: 16px; }
.all-category-card h3 { margin: 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 25px; line-height: 1.08; }
.all-category-card p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.all-category-card .category-link { margin-top: auto; padding-top: 18px; color: var(--coral-dark); font-size: 12px; font-weight: 850; }
.category-pink .category-icon { background: #ffe4ee; }
.category-blue .category-icon { background: #e4eefc; }
.category-mint .category-icon { background: #e2f3ef; }
.products-help { padding: 0 0 40px; }
.products-help-card { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 28px; color: white; background: linear-gradient(135deg, var(--teal-dark), #0d8587); border-radius: 22px; }
.products-help-card h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 27px; }
.products-help-card p { margin: 4px 0 0; color: #d4eeee; font-size: 13px; }

@media (max-width: 820px) {
  .products-intro-card { grid-template-columns: 1fr; padding: 32px 28px; }
  .products-intro-side { justify-self: start; }
  .all-category-grid { grid-template-columns: repeat(2,1fr); }
  .products-help-card { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .products-intro { padding-top: 16px; }
  .products-intro-card { padding: 28px 22px; }
  .all-category-grid { grid-template-columns: 1fr; }
  .all-category-card { min-height: 205px; }
}

/* PRODUCTS CATALOG V4 */
.catalog-page { background: #fffaf6; }
.catalog-banner { height: 162px; margin-top: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 10px 30px rgba(75,52,45,.055); background: white; }
.catalog-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.catalog-shell { display: grid; grid-template-columns: 258px minmax(0,1fr); gap: 22px; align-items: start; padding: 22px 0 46px; }
.catalog-sidebar { position: sticky; top: 108px; min-height: 560px; padding: 18px 14px 15px; background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 10px 30px rgba(75,52,45,.055); transition: width .22s ease, padding .22s ease; }
.catalog-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 5px 15px; border-bottom: 1px solid var(--line); }
.catalog-sidebar-head h1 { margin: 2px 0 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.sidebar-collapse { min-height: 34px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; color: var(--coral-dark); background: #fff6f1; border: 1px solid #f1d9d0; border-radius: 11px; cursor: pointer; font-size: 11px; font-weight: 850; }
.catalog-sidebar-nav { display: grid; gap: 6px; padding: 13px 0; }
.catalog-category { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px; color: #48575c; background: transparent; border: 0; border-radius: 12px; cursor: pointer; text-align: left; font-size: 12px; font-weight: 760; transition: background .16s ease, color .16s ease; }
.catalog-category:hover { background: #fff7f3; color: var(--teal-dark); }
.catalog-category.active { color: var(--teal-dark); background: #fff0e9; }
.catalog-category-icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 10px; font-size: 15px; }
.catalog-category-icon.coral { background: #ffe3df; }
.catalog-category-icon.blue { background: #e5effc; }
.catalog-category-icon.purple { background: #eee7fb; }
.catalog-category-icon.gold { background: #fff0ce; }
.catalog-category-icon.mint { background: #e3f3ef; }
.catalog-category-icon.pink { background: #ffe5ee; }
.catalog-sidebar-help { margin-top: 2px; padding: 13px; background: #f8f3ff; border: 1px solid #eee4fa; border-radius: 14px; }
.catalog-sidebar-help strong, .catalog-sidebar-help span { display: block; }
.catalog-sidebar-help strong { color: #674299; font-size: 12px; }
.catalog-sidebar-help span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.catalog-sidebar-help a { display: inline-block; margin-top: 9px; color: #674299; font-size: 10px; font-weight: 850; }
.catalog-shell.sidebar-hidden { grid-template-columns: 76px minmax(0,1fr); }
.catalog-shell.sidebar-hidden .catalog-sidebar { padding-inline: 10px; }
.catalog-shell.sidebar-hidden .catalog-sidebar-head { justify-content: center; }
.catalog-shell.sidebar-hidden .catalog-sidebar-head > div, .catalog-shell.sidebar-hidden .sidebar-collapse-text, .catalog-shell.sidebar-hidden .catalog-category > span:last-child, .catalog-shell.sidebar-hidden .catalog-sidebar-help { display: none; }
.catalog-shell.sidebar-hidden .sidebar-collapse span:first-child { transform: rotate(180deg); }
.catalog-shell.sidebar-hidden .catalog-category { justify-content: center; padding-inline: 5px; }
.catalog-main { min-width: 0; }
.catalog-category-tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; padding: 1px 1px 13px; }
.catalog-tab { flex: 0 0 auto; min-height: 38px; padding: 8px 14px; color: #65747a; background: white; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 830; }
.catalog-tab:hover, .catalog-tab.active { color: var(--coral-dark); border-color: #efb2aa; background: #fff5f1; }
.catalog-heading { display: flex; justify-content: space-between; gap: 18px; align-items: end; padding: 17px 3px 17px; }
.catalog-heading h2 { margin: 4px 0 6px; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 34px; line-height: 1.03; }
.catalog-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.catalog-count { flex: 0 0 auto; margin-bottom: 2px; padding: 7px 10px; color: var(--teal-dark); background: #eef8f7; border-radius: 999px; font-size: 10px; font-weight: 850; }
.catalog-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.catalog-product-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 24px rgba(75,52,45,.045); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.catalog-product-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(75,52,45,.085); }
.catalog-product-image { aspect-ratio: 1.38 / 1; overflow: hidden; background: #fff5ef; }
.catalog-product-image img { width: 100%; height: 100%; object-fit: cover; }
.catalog-product-body { display: flex; flex-direction: column; flex: 1; padding: 14px; }
.catalog-product-body small { color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.catalog-product-body h3 { margin: 4px 0 7px; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.07; }
.catalog-product-body p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.catalog-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 13px; }
.catalog-product-price { color: #4a3d38; font-size: 11px; font-weight: 900; }
.catalog-product-open { color: var(--coral-dark); font-size: 10px; font-weight: 900; }
.product-detail { padding-top: 2px; }
.product-detail-back { margin-bottom: 12px; padding: 8px 11px; color: var(--teal-dark); background: white; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; font-size: 11px; font-weight: 850; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(330px,.98fr); gap: 24px; padding: 19px; background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 10px 30px rgba(75,52,45,.055); }
.product-detail-main-image { min-height: 430px; overflow: hidden; border-radius: 18px; background: #fff5ef; }
.product-detail-main-image img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.product-detail-note { margin-top: 8px; color: #8a7a73; font-size: 10px; text-align: center; }
.product-detail-info { align-self: center; padding: 8px 8px 8px 0; }
.product-detail-info h2 { margin: 5px 0 11px; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 37px; line-height: 1.02; }
.product-detail-info > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.68; }
.product-detail-options { display: grid; grid-template-columns: 1fr auto; gap: 16px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.product-detail-options small { display: block; margin-bottom: 8px; color: #6d7a7d; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.detail-option-list { display: flex; flex-wrap: wrap; gap: 7px; }
.detail-option { padding: 7px 9px; color: #58676a; background: #fff8f4; border: 1px solid #eddcd4; border-radius: 10px; font-size: 10px; font-weight: 760; }
.detail-option.active { color: var(--coral-dark); border-color: #efaaa4; background: #fff0eb; }
.detail-qty { display: grid; grid-template-columns: 34px 42px 34px; height: 36px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; }
.detail-qty button { border: 0; background: #fff8f4; cursor: pointer; }
.detail-qty input { width: 42px; border: 0; outline: 0; text-align: center; background: white; }
.product-price-box { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; margin-top: 22px; padding: 17px; background: #fff7f3; border: 1px solid #f1dfd6; border-radius: 16px; }
.product-price-box small, .product-price-box span { display: block; }
.product-price-box small { color: #8b7770; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.product-price-box strong { display: block; margin: 1px 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 27px; }
.product-price-box span { color: #8a7a73; font-size: 9px; }

@media (max-width: 980px) {
  .catalog-shell { grid-template-columns: 220px minmax(0,1fr); }
  .catalog-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-detail-grid { grid-template-columns: 1fr; }
  .product-detail-info { padding: 5px; }
}

@media (max-width: 760px) {
  .catalog-banner { height: 120px; border-radius: 18px; }
  .catalog-shell, .catalog-shell.sidebar-hidden { grid-template-columns: 1fr; }
  .catalog-sidebar { position: static; min-height: 0; }
  .catalog-shell.sidebar-hidden .catalog-sidebar { padding: 10px; }
  .catalog-shell.sidebar-hidden .catalog-sidebar-head > div { display: block; }
  .catalog-shell.sidebar-hidden .sidebar-collapse-text { display: inline; }
  .catalog-shell.sidebar-hidden .catalog-sidebar-nav, .catalog-shell.sidebar-hidden .catalog-sidebar-help { display: none; }
  .catalog-shell.sidebar-hidden .sidebar-collapse span:first-child { transform: rotate(-90deg); }
  .catalog-category > span:last-child { display: inline !important; }
  .catalog-category { justify-content: flex-start !important; }
  .catalog-heading { align-items: flex-start; flex-direction: column; }
  .catalog-count { margin: 0; }
  .product-detail-main-image, .product-detail-main-image img { min-height: 330px; }
}

@media (max-width: 540px) {
  .catalog-banner { height: 92px; margin-top: 10px; }
  .catalog-shell { padding-top: 12px; }
  .catalog-product-grid { grid-template-columns: 1fr; }
  .catalog-heading h2 { font-size: 29px; }
  .product-detail-grid { padding: 12px; gap: 15px; }
  .product-detail-info h2 { font-size: 31px; }
  .product-detail-options, .product-price-box { grid-template-columns: 1fr; }
  .product-price-box .button { width: 100%; }
}

/* Catalog categories dropdown - V5 */
.catalog-sidebar {
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.catalog-dropdown-toggle {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  color: #fff;
  background: #06496f;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 0 7px 18px rgba(15, 65, 92, .12);
}
.catalog-dropdown-toggle > span:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
}
.catalog-dropdown-toggle b { font-size: 13px; font-weight: 700; }
.catalog-dropdown-chevron {
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .18s ease;
}
.catalog-sidebar.dropdown-open .catalog-dropdown-chevron { transform: rotate(180deg) translateY(1px); }
.catalog-dropdown-panel {
  margin-top: 6px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 14px 28px rgba(75,52,45,.09);
}
.catalog-dropdown-panel[hidden] { display: none !important; }
.catalog-sidebar-nav {
  display: grid;
  gap: 3px;
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  padding: 8px;
  scrollbar-width: thin;
}
.catalog-category {
  min-height: 42px;
  padding: 6px 8px;
  border-radius: 10px;
  font-size: 11px;
}
.catalog-category-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border-radius: 9px;
  font-size: 13px;
}
.catalog-category-icon.lavender { background: #eee8f8; }
.catalog-category-icon.rose { background: #f9e5ea; }
.catalog-category-icon.beige { background: #f5eee8; }
.catalog-category-icon.sage { background: #e7f0ea; }
.catalog-category-icon.blush { background: #fbe9ed; }
.catalog-category-icon.amber { background: #fff0d8; }
.catalog-category-icon.plum { background: #eee4f1; }
.catalog-category-icon.turquoise { background: #def4f1; }
.catalog-sidebar-help {
  margin: 0 8px 8px;
}
.catalog-empty-state {
  grid-column: 1 / -1;
  min-height: 230px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 28px;
  text-align: center;
  background: #fff;
  border: 1px dashed #e7d9d2;
  border-radius: 18px;
}
.catalog-empty-state > span { color: var(--coral-dark); font-size: 25px; }
.catalog-empty-state h3 {
  margin: 0;
  color: var(--teal-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}
.catalog-empty-state p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .catalog-sidebar-nav { max-height: 420px; }
}

/* Product detail V6 - compact horizontal layout */
.catalog-product-image { aspect-ratio: 1.25 / 1; display: grid; place-items: center; padding: 8px; background: #fffaf6; }
.catalog-product-image img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.product-detail-grid--horizontal { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 24px; align-items: stretch; padding: 16px; }
.product-detail-media { position: relative; min-width: 0; }
.product-detail-main-image { width: 100%; min-height: 0; aspect-ratio: 1 / 1; display: grid; place-items: center; padding: 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fffaf6; cursor: zoom-in; }
.product-detail-main-image img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.product-zoom-button { position: absolute; z-index: 2; top: 10px; right: 10px; min-height: 32px; padding: 6px 10px; color: var(--teal-dark); background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 5px 16px rgba(75,52,45,.09); cursor: pointer; font-size: 10px; font-weight: 850; }
.product-thumbnails { display: flex; gap: 7px; margin-top: 8px; }
.product-thumb { width: 52px; height: 52px; display: grid; place-items: center; padding: 3px; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.product-thumb.active { border-color: var(--coral); box-shadow: 0 0 0 2px rgba(239,107,99,.13); }
.product-thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-detail-info { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 3px 8px 3px 0; }
.product-detail-info h2 { margin: 4px 0 8px; font-size: clamp(28px, 3vw, 36px); }
.product-detail-info > p { max-width: 650px; font-size: 12px; line-height: 1.6; }
.product-material-block { margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.product-material-block > small, .product-purchase-row small { display: block; margin-bottom: 7px; color: #6d7a7d; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.detail-option-list--materials { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; }
.detail-material-option { min-height: 64px; display: flex; align-items: flex-start; gap: 8px; padding: 9px; text-align: left; border-radius: 12px; }
.detail-material-option > span:last-child { min-width: 0; }
.detail-material-option strong, .detail-material-option small { display: block; }
.detail-material-option strong { color: #42575c; font-size: 10px; line-height: 1.25; }
.detail-material-option small { margin-top: 3px; color: #8a7b74; font-size: 8px; line-height: 1.3; }
.detail-material-option.active strong { color: var(--coral-dark); }
.option-radio { width: 13px; height: 13px; flex: 0 0 13px; margin-top: 1px; border: 1.5px solid #bba9a0; border-radius: 50%; background: white; box-shadow: inset 0 0 0 3px white; }
.detail-material-option.active .option-radio { border-color: var(--coral); background: var(--coral); }
.product-purchase-row { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: end; margin-top: 15px; padding: 13px 14px; background: #fff7f3; border: 1px solid #f1dfd6; border-radius: 14px; }
.product-current-price strong { display: block; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 26px; line-height: 1; }
.product-current-price span { display: block; margin-top: 4px; color: #8a7a73; font-size: 9px; }
.product-qty-block { min-width: 118px; }
.product-add-cart { width: 100%; margin-top: 10px; border: 0; cursor: pointer; }
.product-pickup-note { margin: 7px 0 0 !important; text-align: center; color: #8a7a73 !important; font-size: 9px !important; }

/* Cart */
.shop-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(28,35,37,.34); backdrop-filter: blur(2px); }
.shop-cart { position: fixed; top: 0; right: 0; z-index: 100; width: min(390px, 92vw); height: 100dvh; display: flex; flex-direction: column; padding: 20px; background: #fffaf6; box-shadow: -18px 0 46px rgba(35,44,46,.18); transform: translateX(100%); transition: transform .18s ease; }
.shop-cart.open { transform: translateX(0); }
.shop-cart-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.shop-cart-head small { color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.shop-cart-head h2 { margin: 2px 0 0; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 28px; }
.shop-cart-head button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; font-size: 22px; }
.shop-cart-items { flex: 1; overflow: auto; padding: 12px 0; }
.shop-cart-empty { padding: 42px 10px; color: var(--muted); text-align: center; font-size: 13px; }
.shop-cart-item { display: grid; grid-template-columns: 66px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.shop-cart-item img { width: 66px; height: 66px; object-fit: contain; background: white; border-radius: 10px; }
.shop-cart-item strong, .shop-cart-item small, .shop-cart-item span { display: block; }
.shop-cart-item strong { color: var(--teal-dark); font-size: 12px; }
.shop-cart-item small { margin-top: 2px; color: #7b6d67; font-size: 9px; }
.shop-cart-item span { margin-top: 5px; color: #4e4542; font-size: 10px; font-weight: 850; }
.shop-cart-item > button { align-self: start; width: 27px; height: 27px; border: 0; border-radius: 50%; background: #fff0eb; color: var(--coral-dark); cursor: pointer; }
.shop-cart-footer { padding-top: 14px; border-top: 1px solid var(--line); }
.shop-cart-footer > div { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.shop-cart-footer span { color: var(--muted); font-size: 12px; }
.shop-cart-footer strong { color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.shop-cart-footer .button { width: 100%; }

/* Image zoom */
.image-lightbox { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 50px; background: rgba(22,28,30,.86); cursor: zoom-out; }
.image-lightbox img { max-width: min(1000px, 92vw); max-height: 86vh; object-fit: contain; background: white; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.image-lightbox-close { position: fixed; top: 18px; right: 22px; width: 42px; height: 42px; color: white; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; cursor: pointer; font-size: 28px; }
.no-scroll { overflow: hidden; }

@media (max-width: 980px) {
  .product-detail-grid--horizontal { grid-template-columns: minmax(240px, 310px) minmax(0,1fr); gap: 17px; }
  .detail-option-list--materials { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .product-detail-grid--horizontal { grid-template-columns: 1fr; }
  .product-detail-main-image { max-width: 420px; margin: 0 auto; }
  .product-thumbnails { justify-content: center; }
  .product-detail-info { padding: 4px; }
}
@media (max-width: 540px) {
  .product-purchase-row { grid-template-columns: 1fr; }
  .product-qty-block { min-width: 0; }
  .image-lightbox { padding: 18px; }
}

/* V9: tarjetas de catálogo sin imagen; la imagen aparece solo dentro del detalle */
.catalog-product-card--text { min-height: 170px; }
.catalog-product-card--text .catalog-product-body { padding: 18px 16px 16px; }
.catalog-product-card--text .catalog-product-body h3 { font-size: 22px; }
.catalog-product-card--text .catalog-product-body p { max-width: 32ch; }

/* V10: carrito lateral compacto inspirado en la referencia */
.shop-cart { width: min(350px, 91vw); padding: 18px 16px; background: #fff; }
.shop-cart-head { padding-bottom: 12px; }
.shop-cart-head small { color: var(--teal-dark); letter-spacing: .14em; }
.shop-cart-head h2 { font-size: 30px; color: #2d2623; }
.shop-cart-head button { width: 34px; height: 34px; color: var(--teal-dark); background: #eef8f7; border: 0; }
.shop-cart-items { padding: 8px 0; }
.shop-cart-item { grid-template-columns: 50px minmax(0,1fr) auto; gap: 9px; align-items: start; padding: 13px 0; }
.shop-cart-item img { width: 50px; height: 50px; border: 1px solid #eee3dd; border-radius: 10px; }
.shop-cart-copy { min-width: 0; }
.shop-cart-category { display: inline-block !important; max-width: 100%; margin-bottom: 4px; padding: 3px 7px; overflow: hidden; color: var(--coral-dark) !important; background: #fff0eb; border-radius: 999px; font-size: 8px !important; font-weight: 900 !important; letter-spacing: .04em; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.shop-cart-item strong { color: var(--teal-dark); font-size: 11px; line-height: 1.28; }
.shop-cart-item small { color: #7d6d66; font-size: 8.5px; line-height: 1.3; }
.shop-cart-item-bottom { display: flex; align-items: center; gap: 9px; margin-top: 7px; }
.shop-cart-qty { display: grid; grid-template-columns: 27px 30px 27px; height: 28px; overflow: hidden; border: 1px solid #eadbd3; border-radius: 8px; }
.shop-cart-qty button { border: 0; color: #8b5548; background: #fff7f2; cursor: pointer; font-size: 14px; font-weight: 900; }
.shop-cart-qty b { display: grid; place-items: center; color: var(--teal-dark); background: #fff; font-size: 10px; }
.shop-cart-remove { padding: 0; color: var(--coral-dark); background: transparent; border: 0; border-bottom: 1px solid currentColor; cursor: pointer; font-size: 9px; font-weight: 850; }
.shop-cart-price { min-width: 60px; padding-top: 23px; text-align: right; }
.shop-cart-price small { color: #8c7067; font-size: 8px; }
.shop-cart-price strong { margin-top: 1px; color: var(--teal-dark); font-size: 13px; white-space: nowrap; }
.shop-cart-footer { padding-top: 12px; background: #fff; }
.shop-cart-total { margin-bottom: 3px !important; }
.shop-cart-total span { color: #51443f; font-size: 11px; font-weight: 850; }
.shop-cart-total strong { font-size: 23px; }
.shop-cart-note { margin: 0 0 11px; color: #7c6d66; font-size: 8.5px; line-height: 1.4; }
.shop-cart-actions { display: grid; grid-template-columns: 1fr 1.08fr; gap: 8px; }
.shop-cart-actions .button, .shop-cart-continue { min-height: 42px; display: grid; place-items: center; padding: 9px 10px; border-radius: 11px; font-size: 9px; font-weight: 900; text-align: center; }
.shop-cart-continue { color: #6e4a23; background: #fffaf1; border: 1px solid #e4b15d; cursor: pointer; }
.shop-cart-actions .button { border: 0; }
@media (max-width: 420px) {
  .shop-cart { width: 92vw; padding-inline: 14px; }
  .shop-cart-actions { grid-template-columns: 1fr; }
}


/* PRODUCTS V11 DISTRIBUTION */
.catalog-shell { position: relative; display: block; padding: 18px 0 46px; }
.catalog-sidebar { position: absolute; top: 18px; right: 0; width: 152px; z-index: 5; }
.catalog-dropdown-toggle { width: 100%; min-height: 38px; padding: 0 12px; border-radius: 0; }
.catalog-dropdown-toggle span:first-child { font-size: 11px; }
.catalog-main { min-width: 0; display: grid; grid-template-columns: 170px minmax(0, 1fr); grid-template-areas: "heading heading" "list detail"; gap: 12px 16px; align-items: start; }
.catalog-heading { grid-area: heading; align-items: flex-start; padding: 8px 170px 12px 3px; border-bottom: 1px solid #efd6cc; min-height: 84px; }
.catalog-heading h2 { font-size: 21px; margin: 3px 0 5px; }
.catalog-heading p { font-size: 11px; line-height: 1.45; max-width: none; }
.catalog-count { display: none; }
.catalog-product-grid { grid-area: list; display: grid; grid-template-columns: 1fr; gap: 10px; align-content: start; }
.catalog-product-card.catalog-product-card--text { min-height: 132px; border-radius: 0; }
.catalog-product-card.catalog-product-card--text .catalog-product-body { padding: 12px 12px 10px; }
.catalog-product-card.catalog-product-card--text .catalog-product-body small { font-size: 8px; }
.catalog-product-card.catalog-product-card--text .catalog-product-body h3 { font-size: 18px; margin: 4px 0 7px; }
.catalog-product-card.catalog-product-card--text .catalog-product-body p { font-size: 10px; line-height: 1.45; max-width: none; }
.catalog-product-footer { margin-top: auto; padding-top: 9px; }
.catalog-product-price, .catalog-product-open { font-size: 10px; }
.product-detail-placeholder, .product-detail { grid-area: detail; }
.product-detail-placeholder { min-height: 495px; border: 1px solid #efd6cc; border-radius: 0; background: #fffdfc; display: grid; place-items: center; padding: 22px; }
.product-detail-placeholder__inner { max-width: 430px; text-align: center; color: #6d7a7d; }
.product-detail-placeholder__inner span { display: inline-block; margin-bottom: 10px; color: var(--coral-dark); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-detail-placeholder__inner h3 { margin: 0 0 10px; color: var(--teal-dark); font-family: Georgia, "Times New Roman", serif; font-size: 28px; }
.product-detail-placeholder__inner p { margin: 0; font-size: 12px; line-height: 1.6; }
.product-detail { padding-top: 0; }
.product-detail-back { margin-bottom: 10px; }
.product-detail-grid--horizontal { border-radius: 0; min-height: 495px; }
.catalog-dropdown-panel { right: 0; left: auto; width: 260px; }
@media (max-width: 980px) {
  .catalog-sidebar { position: static; width: auto; margin-bottom: 12px; }
  .catalog-main { grid-template-columns: 1fr; grid-template-areas: "heading" "list" "detail"; }
  .catalog-heading { padding-right: 0; min-height: auto; }
  .catalog-product-grid { grid-template-columns: 1fr; }
  .product-detail-placeholder, .product-detail-grid--horizontal { min-height: auto; }
  .catalog-dropdown-panel { width: 100%; }
}


/* V26 HOMEPAGE HERO - user supplied principal cover */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500;600;700&display=swap');
.hero-card--principal{
  min-height:620px;
  display:block;
  background-image:linear-gradient(90deg,rgba(255,249,243,.98) 0%,rgba(255,249,243,.92) 30%,rgba(255,249,243,.50) 44%,rgba(255,249,243,0) 58%),url('assets/portada-principal.webp');
  background-size:cover;
  background-position:center center;
  border-color:#f0dacd;
}
.hero-card--principal::before,.hero-card--principal::after{z-index:1;}
.hero-copy--principal{
  width:min(49%,620px);
  min-height:620px;
  padding:58px 32px 48px 62px;
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
}
.hero-brand-title{
  margin:0 0 18px;
  color:#08736c;
  font-family:'Cinzel Decorative','Cinzel',Georgia,'Times New Roman',serif;
  font-size:clamp(39px,4.2vw,64px);
  line-height:.98;
  letter-spacing:.02em;
  font-weight:700;
  text-wrap:balance;
}
.hero-copy--principal h1{
  max-width:520px;
  color:#27383a;
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-size:clamp(42px,4.6vw,65px);
  line-height:.92;
  font-weight:600;
  text-transform:none;
  letter-spacing:-.02em;
}
.hero-copy--principal h1 span{display:block;}
.hero-copy--principal h1 em{display:block;margin-top:3px;color:#ef625d;font-style:normal;}
.hero-copy--principal > p:not(.hero-slogan){
  max-width:500px;
  margin-top:22px;
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  font-size:15px;
  line-height:1.65;
}
.hero-copy--principal .hero-script{font-size:clamp(18px,2vw,27px);}
.hero-copy--principal .hero-ornament{margin:14px 0 18px 0;width:235px;}
.hero-copy--principal .hero-actions{margin-top:24px;}
.hero-copy--principal .hero-slogan{max-width:430px;margin-top:25px;text-align:left;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:14px;}
@media (max-width:980px){
  .hero-card--principal{min-height:560px;background-position:62% center;background-image:linear-gradient(90deg,rgba(255,249,243,.98) 0%,rgba(255,249,243,.92) 45%,rgba(255,249,243,.24) 68%,rgba(255,249,243,0) 100%),url('assets/portada-principal.webp');}
  .hero-copy--principal{width:60%;min-height:560px;padding:46px 26px 42px 42px;}
}
@media (max-width:760px){
  .hero-card--principal{min-height:720px;background-position:72% bottom;background-size:auto 58%;background-repeat:no-repeat;background-color:#fff9f3;background-image:linear-gradient(180deg,rgba(255,249,243,1) 0%,rgba(255,249,243,1) 48%,rgba(255,249,243,.08) 68%,rgba(255,249,243,0) 100%),url('assets/portada-principal.webp');}
  .hero-copy--principal{width:100%;min-height:0;padding:34px 24px 26px;}
  .hero-brand-title{font-size:clamp(34px,11vw,48px);}
  .hero-copy--principal h1{font-size:clamp(38px,11vw,52px);}
}


/* V28 HERO HARMONY */
.hero-card--principal{
  min-height:600px;
  background-image:linear-gradient(90deg,rgba(255,250,245,.99) 0%,rgba(255,250,245,.96) 27%,rgba(255,250,245,.76) 40%,rgba(255,250,245,.20) 55%,rgba(255,250,245,0) 67%),url('assets/portada-principal.webp');
  background-position:center center;
}
.hero-copy--principal{
  width:min(45%,560px);
  min-height:600px;
  padding:52px 26px 42px 54px;
  justify-content:center;
}
.hero-copy--principal .hero-script{
  color:#b97822;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.25;
  letter-spacing:.035em;
}
.hero-copy--principal .hero-ornament{
  width:210px;
  margin:14px 0 18px 0;
  opacity:.78;
}
.hero-brand-title{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0 0 18px;
  color:#08766f;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(39px,3.6vw,55px);
  line-height:.92;
  letter-spacing:.035em;
  font-weight:500;
}
.hero-brand-title span:last-child{
  letter-spacing:.055em;
}
.hero-copy--principal h1{
  max-width:455px;
  color:#2f3e40;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(36px,3.55vw,54px);
  line-height:1.00;
  font-weight:400;
  letter-spacing:-.02em;
}
.hero-copy--principal h1 em{
  margin-top:3px;
  color:#ef625d;
  font-weight:500;
}
.hero-copy--principal > p:not(.hero-slogan){
  max-width:455px;
  margin-top:22px;
  color:#55666a;
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.65;
}
.hero-copy--principal .hero-actions{
  gap:11px;
  margin-top:24px;
}
.hero-copy--principal .hero-actions .button{
  min-height:46px;
  padding:0 20px;
  border-radius:14px;
  font-size:13px;
}
.hero-copy--principal .hero-slogan{
  max-width:390px;
  margin-top:24px;
  color:#667276;
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:13px;
  text-align:left;
}
@media (max-width:1100px){
  .hero-copy--principal{width:50%;padding-left:42px;}
  .hero-brand-title{font-size:clamp(38px,4.2vw,50px);}
  .hero-copy--principal h1{font-size:clamp(36px,4.5vw,50px);}
}
@media (max-width:760px){
  .hero-card--principal{
    min-height:700px;
    background-position:70% bottom;
    background-size:auto 54%;
    background-repeat:no-repeat;
    background-color:#fffaf5;
    background-image:linear-gradient(180deg,rgba(255,250,245,1) 0%,rgba(255,250,245,1) 50%,rgba(255,250,245,.15) 70%,rgba(255,250,245,0) 100%),url('assets/portada-principal.webp');
  }
  .hero-copy--principal{width:100%;min-height:0;padding:30px 22px 24px;}
  .hero-brand-title{font-size:clamp(34px,10vw,44px);}
  .hero-copy--principal h1{font-size:clamp(34px,10vw,46px);max-width:430px;}
  .hero-copy--principal .hero-actions{display:grid;grid-template-columns:1fr;}
}


/* V29 HOME CATEGORIES 3 + 5 + 5 */
.category-grid--featured .category-card{position:relative;border-top:3px solid var(--cat-color);}
.category-grid--featured .category-card .category-icon{margin:0;color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 14%,#fff);}
.category-grid--featured .category-card b{color:var(--cat-color);}
.category-topline{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.category-number{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:25px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--cat-color) 10%,#fff);color:var(--cat-color);font-size:9px;font-weight:900;letter-spacing:.08em;}
.categories-toggle{cursor:pointer;}
.home-all-categories{margin-top:18px;}
.home-all-categories[hidden]{display:none;}
.home-category-row{display:grid;gap:12px;}
.home-category-row + .home-category-row{margin-top:12px;}
.home-category-row--five{grid-template-columns:repeat(5,minmax(0,1fr));}
.home-category-mini{min-height:132px;display:flex;flex-direction:column;align-items:flex-start;padding:16px 14px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--cat-color);border-radius:18px;box-shadow:0 8px 24px rgba(75,52,45,.045);transition:transform .18s ease,box-shadow .18s ease;}
.home-category-mini:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(75,52,45,.08);}
.home-category-mini .category-number{margin-bottom:11px;}
.home-category-mini .category-icon{width:39px;height:39px;margin:0 0 12px;border-radius:12px;background:color-mix(in srgb,var(--cat-color) 13%,#fff);color:var(--cat-color);font-size:17px;}
.home-category-mini strong{color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.15;}
@media (max-width:1000px){.home-category-row--five{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.home-category-row--five{grid-template-columns:repeat(2,minmax(0,1fr));}.home-category-mini{min-height:120px;}}
@media (max-width:440px){.home-category-row--five{grid-template-columns:1fr;}}


/* V30: ubicación en Maps + nueva imagen de Fotos y recuerdos */
.benefit-map-card{padding:0!important;}
.benefit-map-link{width:100%;min-height:72px;display:flex;align-items:center;gap:11px;padding:12px 16px;color:inherit;text-decoration:none;transition:background .18s ease;}
.benefit-map-link:hover{background:#fff8f4;}
.benefit-map-link>span{flex:0 0 auto;font-size:21px;}
.news-image--recuerdos{background:#fff8f4;}
.news-image--recuerdos img{object-position:center center;}
@media(max-width:760px){.benefit-map-link{min-height:68px;}}


/* V32 - Mundo mágico con portada del usuario */
.magic-card--image{
  min-height:290px;
  grid-template-columns:minmax(0,540px) 1fr;
  padding:38px 44px;
  background:
    linear-gradient(90deg, rgba(34,30,45,.78) 0%, rgba(34,30,45,.56) 31%, rgba(34,30,45,.12) 58%, rgba(34,30,45,0) 100%),
    url('assets/mundo-magico-v71.webp') center center / cover no-repeat;
  border-radius:30px;
}
.magic-card--image::before{display:none;}
.magic-copy--overlay{position:relative;z-index:2;max-width:520px;}
.magic-copy--overlay h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.05;color:#fff;}
.magic-copy--overlay p{max-width:480px;margin:0 0 18px;color:rgba(255,255,255,.91);font-size:14px;line-height:1.55;}
.magic-coming-soon{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(5px);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;}
@media (max-width:760px){
  .magic-card--image{min-height:360px;padding:28px 24px;background:
    linear-gradient(180deg, rgba(31,27,42,.74) 0%, rgba(31,27,42,.46) 48%, rgba(31,27,42,.10) 76%),
    url('assets/mundo-magico-v71.webp') 70% center / cover no-repeat;}
  .magic-copy--overlay h2{font-size:28px;}
}


/* V38 HOME CATEGORY CARDS — mismo diseño, dos escalas */
.category-grid--featured .category-card,
.home-category-mini{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--cat-color);
  box-shadow:0 10px 28px rgba(75,52,45,.055);
  transition:transform .18s ease,box-shadow .18s ease;
}
.category-grid--featured .category-card:hover,
.home-category-mini:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(75,52,45,.085);
}
.category-grid--featured .category-card .category-topline,
.home-category-mini .category-topline{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 17px;
}
.category-grid--featured .category-card .category-icon,
.home-category-mini .category-icon{
  display:grid;
  place-items:center;
  margin:0;
  background:color-mix(in srgb,var(--cat-color) 13%,#fff);
  color:var(--cat-color);
}
.category-grid--featured .category-card strong,
.home-category-mini strong{
  color:var(--teal-dark);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.12;
}
.category-grid--featured .category-card small,
.home-category-mini small{
  display:block;
  color:var(--muted);
  line-height:1.45;
}
.category-grid--featured .category-card b,
.home-category-mini b{
  margin-top:auto;
  color:var(--cat-color);
  font-weight:850;
}
/* Escala destacada: 3 arriba */
.category-grid--featured .category-card{
  min-height:230px;
  padding:25px 24px;
  border-radius:23px;
}
.category-grid--featured .category-card .category-icon{width:48px;height:48px;border-radius:15px;font-size:21px;}
.category-grid--featured .category-card strong{font-size:23px;}
.category-grid--featured .category-card small{margin-top:10px;font-size:13px;}
.category-grid--featured .category-card b{padding-top:18px;font-size:12px;}
/* Escala compacta: 5 + 5 abajo, mismo diseño */
.home-category-mini{
  min-height:205px;
  padding:17px 15px;
  border-radius:18px;
}
.home-category-mini .category-topline{margin-bottom:14px;}
.home-category-mini .category-icon{width:39px;height:39px;border-radius:12px;font-size:17px;}
.home-category-mini strong{font-size:16px;}
.home-category-mini small{margin-top:8px;font-size:10px;}
.home-category-mini b{padding-top:14px;font-size:10px;}
.home-category-mini .category-number{margin:0;}
@media (max-width:1000px){.home-category-mini{min-height:195px;}}
@media (max-width:700px){
  .category-grid--featured .category-card,.home-category-mini{min-height:190px;}
  .home-category-mini small{font-size:11px;}
}

/* V72 · mejora suave de legibilidad para público general */
:root{
  --ink:#223238;
  --muted:#55686e;
}
body{color:var(--ink);line-height:1.58}
.brand-copy small,.search-panel label,.eyebrow,.footer-bottom,.contact-data small{color:#4f6268}
.main-nav a,.account-link{font-size:15px;font-weight:760}
.search-panel label{font-size:13px}
.eyebrow{font-size:12px}
.category-card small,.benefits small,.news-copy p,.about-card>p,.magic-copy p,.contact-card p,.footer-grid a,.footer-grid span,
.products-intro p,.products-intro-side span,.products-catalog-heading p,.all-category-card p,.products-help-card p,
.catalog-heading p,.catalog-product-body p,.product-detail-info>p{color:#4f6469}
.category-card small{font-size:14px}
.category-card b,.benefits strong{font-size:13px}
.benefits small{font-size:12px}
.news-copy p,.about-card>p,.magic-copy p,.contact-card p,.products-intro p{font-size:15px}
.products-intro-side strong,.products-help-card p,.products-catalog-heading p,.all-category-card p{font-size:14px}
.catalog-sidebar-head h1{font-size:25px}
.sidebar-collapse,.catalog-category,.catalog-sidebar-help strong,.catalog-sidebar-help span,.catalog-sidebar-help a,.catalog-dropdown-toggle,.catalog-tab,.catalog-count,.product-detail-back{font-size:12px}
.catalog-heading p{font-size:13px}
.catalog-product-body small,.product-detail-options small,.product-price-box small,.product-price-box span,.product-detail-note{font-size:11px}
.catalog-product-body p,.catalog-product-price,.catalog-product-open,.detail-option{font-size:12px}
.product-detail-info>p{font-size:14px}
.products-intro-side span{font-size:13px}
.contact-data a,.contact-data span,.footer-grid h2,.footer-grid a,.footer-grid span{font-size:14px}
.whatsapp-float>span{font-size:14px}
@media (max-width:560px){
  .main-nav a{font-size:15px}
  .category-card small,.news-copy p,.about-card>p,.magic-copy p,.contact-card p,.products-intro p{font-size:15px}
}

/* V98 · Mundo mágico: imagen completa del anuncio y un único botón de estado */
.magic-preview-card{display:grid;justify-items:center;gap:12px;padding:0;background:transparent}
.magic-preview-card img{display:block;width:100%;height:auto;border-radius:26px;border:1px solid #d9b765;box-shadow:0 16px 38px rgba(18,35,55,.18)}
.magic-preview-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 24px;border:1px solid #d79220;border-radius:999px;background:linear-gradient(180deg,#ffc856,#eca52b);color:#142d40;font-size:13px;font-weight:950;letter-spacing:.13em;box-shadow:0 7px 16px rgba(185,117,19,.28)}
@media(max-width:600px){.magic-preview-card{gap:9px}.magic-preview-card img{border-radius:17px}.magic-preview-button{min-height:40px;padding:0 18px;font-size:11px}}

/* V73 · encabezado y portada principal optimizados para teléfono */
@media (max-width:560px){
  .header-inner{min-height:66px;gap:4px}
  .brand{min-width:0;gap:4px;margin-right:auto}
  .brand-image{width:47px;height:45px}
  .brand-copy{min-width:0;display:block}
  .brand-copy strong{display:block;white-space:nowrap;font-size:14px;line-height:1;letter-spacing:0}
  .header-actions{flex:0 0 auto;gap:2px;margin-left:2px}
  .home-page .home-search-trigger{width:38px;height:38px;padding:0;justify-content:center;border-radius:11px}
  .home-page .home-search-trigger span{display:none}
  .icon-button,.menu-toggle{width:36px;height:36px;padding:7px}
  .cart-link{width:31px;height:34px}
  .header-actions svg{width:20px;height:20px}
  .hero{padding-top:8px}
  .hero-card--principal{
    min-height:610px;
    border-radius:22px;
    background-color:#fffaf5;
    background-position:68% bottom;
    background-size:auto 49%;
    background-repeat:no-repeat;
    background-image:linear-gradient(180deg,#fffaf5 0%,#fffaf5 52%,rgba(255,250,245,.70) 61%,rgba(255,250,245,.05) 78%,rgba(255,250,245,0) 100%),url('assets/portada-principal.webp');
  }
  .hero-copy--principal{width:100%;padding:24px 18px 18px}
  .hero-copy--principal .hero-script{font-size:17px;line-height:1.2}
  .hero-copy--principal .hero-ornament{width:175px;margin:10px 0 13px}
  .hero-brand-title{margin-bottom:12px;font-size:32px;line-height:.94;letter-spacing:.025em}
  .hero-copy--principal h1{max-width:310px;font-size:35px;line-height:1.01}
  .hero-copy--principal > p:not(.hero-slogan){max-width:310px;margin-top:14px;font-size:13px;line-height:1.5}
  .hero-copy--principal .hero-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}
  .hero-copy--principal .hero-actions .button{min-height:42px;padding:0 9px;border-radius:12px;font-size:11px;white-space:nowrap}
  .hero-copy--principal .hero-slogan{margin-top:14px;font-size:12px;line-height:1.35}
}

@media (max-width:370px){
  .brand-copy strong{font-size:12.5px}
  .brand-image{width:43px}
  .icon-button,.menu-toggle{width:33px;height:34px}
  .hero-copy--principal .hero-actions{grid-template-columns:1fr}
}

/* V236 final · contacto equilibrado en computador y teléfono. */
.contact-card{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr) auto;gap:34px;padding:32px 36px;border-radius:22px}.contact-card>div:first-child{max-width:430px}.contact-card h2{max-width:420px;font-size:34px;line-height:1.02}.contact-data{gap:12px}.contact-data div{gap:3px}.contact-card>.button{min-width:196px;justify-content:center;text-align:center}
@media(max-width:900px){.contact-card{grid-template-columns:1fr 1fr}.contact-card>.button{grid-column:1/-1;width:100%}}
@media(max-width:620px){.contact-section{padding-inline:14px}.contact-card{grid-template-columns:1fr;gap:20px;padding:25px 21px;border-radius:19px}.contact-card h2{font-size:29px;line-height:1.04}.contact-card>div:first-child,.contact-card h2{max-width:none}.contact-data{padding-top:16px;border-top:1px solid rgba(255,255,255,.24)}.contact-card>.button{grid-column:auto;min-width:0;width:100%;min-height:46px}}

/* V99 · la imagen de Mundo Mágico ya incluye su botón */
.magic-preview-card{display:block!important;padding:0!important;overflow:hidden;border-radius:28px}

/* Portada: imágenes de las categorías reales de Bazar Colibry. */
.home-page .hero.shell{width:100%;max-width:none;padding-right:0!important;padding-left:0!important}
.home-slideshow{position:relative;overflow:hidden;border-radius:0}
.home-slideshow .hero-card--principal{border-radius:0!important}
.home-slide[hidden]{display:none!important}
.home-slideshow .home-slide:not(.hero-card--principal){aspect-ratio:1672/941;min-height:0;border-radius:0;background-color:#fffaf7;background-size:cover;background-position:center;background-repeat:no-repeat}
.home-slideshow .home-slide:not(.hero-card--principal)::before,.home-slideshow .home-slide:not(.hero-card--principal)::after{content:none}
.home-slide--regalos{background-image:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.96) 26%,rgba(255,250,247,.62) 43%,rgba(255,250,247,0) 64%),url('assets/portada-regalos.webp')}
.home-slide--cumpleanos{background-image:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.96) 26%,rgba(255,250,247,.62) 43%,rgba(255,250,247,0) 64%),url('assets/portada-cumpleanos.webp')}
.home-slide--papeleria{background-image:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.96) 26%,rgba(255,250,247,.62) 43%,rgba(255,250,247,0) 64%),url('assets/portada-papeleria.webp')}
.home-slide-copy{position:relative;z-index:2;min-height:100%;padding:70px 35px 85px max(70px,8vw)}
.home-slide-eyebrow{color:#08766f;font-size:13px;font-weight:800;letter-spacing:.16em}
.home-slide-copy h2{max-width:480px;margin:22px 0 0;color:#263b3b;font-family:Georgia,serif;font-size:clamp(38px,4vw,61px);line-height:1.04;font-weight:500}
.home-slide-copy p{max-width:420px;margin:20px 0 0;color:#46595d;font-size:17px;line-height:1.55}
.home-slide-arrow{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid rgba(32,52,55,.2);border-radius:50%;background:rgba(255,255,255,.88);color:#263b3b;font-size:32px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.home-slide-arrow:hover,.home-slide-arrow:focus-visible{background:#fff;outline:2px solid #08766f;outline-offset:2px}
.home-slide-arrow--prev{left:12px}.home-slide-arrow--next{right:12px}
.home-slide-dots{position:absolute;z-index:4;bottom:17px;left:50%;display:flex;gap:9px;padding:7px 11px;border-radius:20px;background:rgba(255,255,255,.82);transform:translateX(-50%)}
.home-slide-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#9daaaa;cursor:pointer}
.home-slide-dots button[aria-current="true"]{background:#08766f;transform:scale(1.2)}
.home-slide-dots button:focus-visible{outline:2px solid #263b3b;outline-offset:3px}
@media(max-width:760px){
  .home-slideshow .home-slide:not(.hero-card--principal){aspect-ratio:auto;min-height:610px;background-position:67% bottom;background-size:auto 52%}
  .home-slide--regalos,.home-slide--cumpleanos,.home-slide--papeleria{background-image:linear-gradient(180deg,#fffaf7 0%,#fffaf7 46%,rgba(255,250,247,.62) 62%,rgba(255,250,247,0) 82%),var(--home-slide-image)}
  .home-slide--regalos{--home-slide-image:url('assets/portada-regalos.webp')}
  .home-slide--cumpleanos{--home-slide-image:url('assets/portada-cumpleanos.webp')}
  .home-slide--papeleria{--home-slide-image:url('assets/portada-papeleria.webp')}
  .home-slide-copy{min-height:610px;padding:32px 48px 75px}
  .home-slide-copy h2{font-size:clamp(35px,9vw,49px)}
  .home-slide-copy p{font-size:15px}
  .home-slide-arrow{top:auto;bottom:9px;width:39px;height:39px;transform:none}
  .home-slide-arrow--prev{left:14px}.home-slide-arrow--next{right:14px}
  .home-slide-dots{bottom:18px}
}
.magic-preview-card img{display:block;width:100%;height:auto;border-radius:28px}
.magic-preview-button{display:none!important}

/* V85 · Mundo mágico más claro, compacto y legible */
.magic-card--image{position:relative;overflow:hidden;min-height:250px;padding:26px 30px;background:linear-gradient(90deg,rgba(21,69,72,.96) 0%,rgba(55,64,91,.84) 38%,rgba(76,47,81,.20) 66%,rgba(76,47,81,0) 100%),url('assets/mundo-magico-v71.webp') 72% center/cover no-repeat;border:1px solid #d7c0df;box-shadow:0 18px 44px rgba(61,39,70,.16)}
.magic-copy--overlay{max-width:470px;padding:18px 20px;border:1px solid rgba(255,255,255,.24);border-radius:20px;background:rgba(19,44,52,.72);backdrop-filter:blur(5px)}
.magic-copy--overlay .eyebrow{color:#f7d991}.magic-copy--overlay h2{font-size:31px;line-height:1.08}.magic-card--image .magic-copy--overlay p{font-size:15px!important;color:#fff;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.42)}
.magic-coming-soon{background:#f7d991;color:#314e55;border-color:#f7d991;box-shadow:0 8px 20px rgba(0,0,0,.15)}
@media(max-width:760px){.magic-card--image{min-height:305px;padding:14px;background:linear-gradient(180deg,rgba(23,72,75,.96) 0%,rgba(49,56,83,.82) 58%,rgba(67,43,72,.28) 100%),url('assets/mundo-magico-v71.webp') 68% center/cover no-repeat}.magic-copy--overlay{max-width:100%;padding:14px 15px;background:rgba(18,45,52,.78)}.magic-copy--overlay h2{font-size:25px}.magic-card--image .magic-copy--overlay p{font-size:14px!important;line-height:1.42}.magic-coming-soon{padding:10px 16px}}

/* V54 · portada móvil legible y encabezado compacto */
.magic-card--image .magic-copy--overlay p{
  color:#fff!important;
  font-weight:650;
  text-shadow:0 2px 8px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.95);
}
.magic-card--image .magic-copy--overlay .eyebrow{
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.9);
}
@media (max-width:560px){
  .site-header .header-inner{min-height:64px;padding-top:5px;padding-bottom:5px}
  .site-header .brand{flex:1 1 auto;max-width:145px;gap:5px}
  .site-header .brand-image{width:45px;height:45px}
  .site-header .brand-copy{display:block;min-width:0;overflow:visible}
  .site-header .brand-copy strong{display:block!important;width:max-content;white-space:nowrap!important;font-size:12.5px!important;line-height:1!important;letter-spacing:-.01em}
  .site-header .header-actions{gap:1px}
  .magic-section{padding-top:10px}
  .magic-card--image{
    min-height:430px;
    padding:28px 22px;
    align-items:start;
    background:
      linear-gradient(180deg,rgba(20,18,28,.88) 0%,rgba(20,18,28,.68) 54%,rgba(20,18,28,.28) 78%,rgba(20,18,28,.12) 100%),
      url('assets/mundo-magico-v71.webp') 68% center / cover no-repeat;
  }
  .magic-copy--overlay{max-width:310px;padding:2px 0}
  .magic-copy--overlay h2{max-width:285px;font-size:30px;line-height:1.05;text-shadow:0 2px 10px rgba(0,0,0,.9)}
  .magic-card--image .magic-copy--overlay p{max-width:292px;font-size:14px!important;line-height:1.55}
  .magic-coming-soon{background:rgba(28,22,32,.66);border-color:rgba(255,255,255,.9);box-shadow:0 4px 16px rgba(0,0,0,.24)}
  .store-coming-card{padding:22px 18px;gap:14px;text-align:left}
  .store-coming-card h2{font-size:26px;line-height:1.08}
  .store-coming-card p{font-size:14px;line-height:1.5}
}
@media (max-width:370px){
  .site-header .brand{max-width:132px}
  .site-header .brand-copy strong{font-size:11.5px!important}
  .site-header .brand-image{width:41px;height:42px}
  .magic-copy--overlay h2{font-size:27px}
}
.store-theme-announcement{position:relative;z-index:1000;padding:8px 15px;background:linear-gradient(90deg,var(--theme-primary,#f06461),var(--theme-secondary,#087d82));color:#fff;text-align:center;font-size:12px;font-weight:850;letter-spacing:.02em}.store-theme-decor{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.store-theme-decor i{position:absolute;font-style:normal;font-size:26px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.12));opacity:.82}.store-theme-decor i:nth-child(1){left:2%;top:18%}.store-theme-decor i:nth-child(2){right:3%;top:24%}.store-theme-decor i:nth-child(3){left:4%;bottom:12%}.store-theme-decor i:nth-child(4){right:5%;bottom:18%}.store-theme-decor i:nth-child(5){left:50%;top:10%}@media(max-width:760px){.store-theme-announcement{font-size:11px;padding:7px 44px}.store-theme-decor i{font-size:20px;opacity:.62}}
