:root {
  color-scheme: light;
  --bg: #f7f7f8;
  --surface: #fff;
  --surface-soft: #f0f1f3;
  --surface-strong: #111;
  --text: #151515;
  --muted: #69707d;
  --border: #e3e5e8;
  --brand: #e30620;
  --brand-2: #ff3048;
  --brand-soft: #fff0f2;
  --on-brand: #fff;
  --whatsapp: #12b347;
  --shadow-sm: 0 8px 24px rgba(17, 17, 17, .07);
  --shadow-lg: 0 24px 70px rgba(17, 17, 17, .16);
  --shell: min(1240px, calc(100% - 40px));
  --header-h: 74px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #080808;
  --surface: #151515;
  --surface-soft: #1f1f1f;
  --surface-strong: #f5f5f5;
  --text: #f5f5f5;
  --muted: #a1a1aa;
  --border: #2c2c2c;
  --brand: #ff334f;
  --brand-2: #e30620;
  --brand-soft: #301317;
  --on-brand: #fff;
  --whatsapp: #18c45a;
  --shadow-sm: 0 10px 30px rgba(0, 0, 0, .3);
  --shadow-lg: 0 30px 80px rgba(0, 0, 0, .55);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 24px); }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.dialog-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--brand), white 25%); outline-offset: 3px; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 200; padding: 12px 18px; background: var(--brand); color: #fff; border-radius: 999px; transition: top .2s; }
.skip-link:focus { top: 12px; }

.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 800; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: var(--on-brand); box-shadow: 0 12px 26px color-mix(in srgb, var(--brand), transparent 72%); }
.button-secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
.button-soft { background: var(--surface-soft); border-color: transparent; color: var(--text); }
.button-whatsapp { background: var(--whatsapp); color: #fff; box-shadow: 0 12px 26px color-mix(in srgb, var(--whatsapp), transparent 75%); }
.button-corporate { min-height: 42px; padding-inline: 16px; background: var(--text); color: var(--surface); }
.nav-corporate-mobile { display: none; }

.site-header { height: var(--header-h); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid color-mix(in srgb, var(--border), transparent 20%); background: color-mix(in srgb, var(--bg), transparent 8%); backdrop-filter: blur(18px); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand-logo { width: 188px; height: 53px; display: block; object-fit: contain; border-radius: 10px; background: #050505; }
.brand-symbol { width: 40px; height: 40px; display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #111; color: #fff; font-size: 21px; font-weight: 950; letter-spacing: -.08em; box-shadow: inset -4px -4px 0 var(--brand); }
.brand strong, .brand small { display: block; line-height: 1; }
.brand strong { font-size: 17px; letter-spacing: .06em; }
.brand small { margin-top: 5px; color: var(--brand); font-size: 8px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: 4px; margin: 0 auto; }
.main-nav a { padding: 10px 13px; border-radius: 999px; color: var(--muted); font-size: 13px; font-weight: 750; transition: color .2s, background .2s; }
.main-nav a:hover, .main-nav a.active { background: var(--surface); color: var(--text); }
.main-nav a.active { box-shadow: var(--shadow-sm); }
.header-actions { display: flex; align-items: center; gap: 9px; }
.icon-button { width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); cursor: pointer; font-size: 22px; }
.theme-toggle { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 7px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); cursor: pointer; }
.theme-toggle-track { width: 37px; height: 24px; padding: 3px; display: block; border-radius: 999px; background: var(--surface-soft); }
.theme-toggle-thumb { width: 18px; height: 18px; display: block; border-radius: 50%; background: var(--brand); transition: transform .22s; }
[data-theme="dark"] .theme-toggle-thumb { transform: translateX(13px); }
.theme-toggle-label { font-size: 12px; font-weight: 800; }
.desktop-cta { min-height: 42px; }
.mobile-only { display: none; }

.hero { min-height: 510px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr); align-items: center; gap: 52px; padding-block: 38px 42px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--brand); font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow > span { width: 25px; height: 2px; background: var(--brand); }
.hero h1 { max-width: 690px; margin: 17px 0 19px; font-size: clamp(46px, 5.2vw, 78px); line-height: .98; letter-spacing: -.055em; }
.hero h1 em { color: var(--brand); font-family: Georgia, serif; font-weight: 500; }
.hero-copy > p { max-width: 600px; margin: 0; color: var(--muted); font-size: clamp(17px, 1.8vw, 20px); }
.hero-actions { display: flex; gap: 11px; flex-wrap: wrap; margin: 31px 0 28px; }
.hero-actions .button { min-height: 54px; padding-inline: 25px; }
.benefit-list { display: flex; gap: 20px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; font-weight: 700; }
.benefit-list span { width: 21px; height: 21px; display: inline-grid; place-items: center; margin-right: 5px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-size: 11px; }
.hero-visual { min-height: 420px; position: relative; isolation: isolate; }
.hero-visual::before { content: ""; position: absolute; inset: 35px 30px 0 60px; z-index: -2; border-radius: 48% 52% 52% 48% / 52% 39% 61% 48%; background: linear-gradient(150deg, var(--brand), #7e0010); box-shadow: 0 30px 80px color-mix(in srgb, var(--brand), transparent 60%); transform: rotate(-5deg); }
.hero-orbit { position: absolute; z-index: -1; border: 1px solid color-mix(in srgb, #fff, transparent 55%); border-radius: 50%; }
.hero-orbit-one { width: 360px; height: 360px; right: 25px; top: 30px; }
.hero-orbit-two { width: 270px; height: 270px; left: 20px; bottom: 15px; }
.hero-product { position: absolute; overflow: hidden; background: #1b1b1b; box-shadow: var(--shadow-lg); }
.hero-product img { width: 100%; height: 100%; object-fit: cover; }
.hero-product-main { width: 68%; height: 348px; left: 14%; top: 4%; border: 7px solid color-mix(in srgb, #fff, transparent 12%); border-radius: 37px; transform: rotate(3deg); }
.hero-product-mini { width: 31%; aspect-ratio: 1; right: 1%; bottom: 1%; border: 5px solid color-mix(in srgb, #fff, transparent 12%); border-radius: 28px; transform: rotate(9deg); }
.hero-note, .hero-badge { position: absolute; z-index: 3; border: 1px solid color-mix(in srgb, var(--border), transparent 20%); background: color-mix(in srgb, var(--surface), transparent 4%); box-shadow: var(--shadow-sm); backdrop-filter: blur(10px); }
.hero-note { left: -10px; bottom: 43px; display: flex; align-items: center; gap: 9px; padding: 12px 17px; border-radius: 18px; transform: rotate(-4deg); }
.hero-note strong { color: var(--brand); font-size: 22px; }
.hero-note span { max-width: 80px; color: var(--muted); font-size: 11px; font-weight: 800; line-height: 1.2; }
.hero-badge { right: 9px; top: 33px; padding: 9px 13px; border-radius: 999px; font-size: 12px; font-weight: 850; }
.hero-badge span { color: #f7b500; }

.wm-slot { display: grid; gap: 10px; padding-top: 18px; }
.wm-slot[hidden] { display: none !important; }
.wm-slot-inline { padding: 0 0 22px; }
.catalog-campaign { --campaign-color: var(--brand); position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(280px, 1.08fr); align-items: stretch; min-height: 250px; margin: 0 0 30px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--campaign-color), transparent 72%); border-radius: 29px; background: linear-gradient(120deg, #17171a, color-mix(in srgb, var(--campaign-color), #12050a 38%)); color: #fff; box-shadow: 0 22px 50px color-mix(in srgb, var(--campaign-color), transparent 82%); }
.catalog-campaign[hidden] { display: none !important; }
.catalog-campaign-hero.shell { width: min(1240px, calc(100% - 96px)); min-height: 510px; margin: 42px auto 32px; }
.catalog-campaign-hero picture { min-height: 510px; }
.hero-rotator { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 auto 42px; }.hero-rotator[hidden]{display:none!important}.hero-rotator-chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.hero-rotator-chip{max-width:210px;min-height:36px;padding:0 14px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.hero-rotator-chip.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:0 7px 18px color-mix(in srgb,var(--brand),transparent 82%)}.hero-rotator-arrow{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:27px;line-height:1;cursor:pointer}
.catalog-campaign.theme-soft { background: linear-gradient(120deg, #fff7f8, #fff); color: var(--text); }
.catalog-campaign.theme-black { background: linear-gradient(120deg, #0a0a0b, #222); }
.catalog-campaign-copy { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(25px, 4vw, 54px); }
.catalog-campaign-kicker { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.12); color: inherit; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.theme-soft .catalog-campaign-kicker { border-color: color-mix(in srgb, var(--campaign-color), transparent 60%); background: color-mix(in srgb, var(--campaign-color), transparent 92%); color: var(--campaign-color); }
.catalog-campaign h2 { max-width: 560px; margin: 16px 0 10px; color: inherit; font-size: clamp(30px, 3.8vw, 53px); line-height: .98; letter-spacing: -.05em; }
.catalog-campaign p { max-width: 540px; margin: 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.5; }.theme-soft .catalog-campaign p { color: var(--muted); }
.catalog-campaign-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; margin-top: 22px; }.catalog-campaign-date { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 800; }.theme-soft .catalog-campaign-date { color: var(--muted); }
.catalog-campaign picture { min-height: 250px; }.catalog-campaign picture, .catalog-campaign img { display: block; width: 100%; height: 100%; }.catalog-campaign img { object-fit: cover; object-position: center; }
.catalog-campaign-placement{--campaign-color:var(--brand);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,360px);align-items:center;gap:20px;margin:18px auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--campaign-color),transparent 68%);border-radius:22px;background:linear-gradient(120deg,#17171a,color-mix(in srgb,var(--campaign-color),#12050a 38%));color:#fff;box-shadow:var(--shadow-sm)}.catalog-campaign-placement[hidden],.catalog-campaign-floating[hidden]{display:none!important}.catalog-campaign-placement>div{padding:20px 24px}.catalog-campaign-placement span{display:block;margin-bottom:5px;color:#ffb9c3;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.catalog-campaign-placement strong{display:block;font-size:22px;letter-spacing:-.03em}.catalog-campaign-placement p{margin:5px 0 11px;color:rgba(255,255,255,.78);font-size:13px}.catalog-campaign-placement .button{min-height:39px;padding-inline:15px;font-size:12px}.catalog-campaign-placement>img{width:100%;height:142px;object-fit:cover}.catalog-campaign-placement.theme-soft{background:linear-gradient(120deg,#fff7f8,#fff);color:var(--text)}.catalog-campaign-placement.theme-soft p{color:var(--muted)}.catalog-campaign-placement.theme-soft span{color:var(--campaign-color)}.catalog-campaign-alert{grid-template-columns:minmax(0,1fr) auto;margin-bottom:0;border-radius:0 0 18px 18px}.catalog-campaign-alert>img{display:none}.catalog-campaign-alert>div{padding:12px 18px}.catalog-campaign-alert strong{font-size:16px}.catalog-campaign-alert p{display:inline;margin-left:8px;font-size:12px}.catalog-campaign-strip{grid-template-columns:minmax(0,1fr) auto;border-radius:16px}.catalog-campaign-strip>img{display:none}.catalog-campaign-strip>div{padding:12px 18px}.catalog-campaign-strip strong{font-size:16px}.catalog-campaign-strip p{display:inline;margin-left:8px;font-size:12px}.catalog-campaign-banner{margin:0 0 27px}.catalog-campaign-floating{position:fixed;right:20px;bottom:98px;z-index:71;width:min(390px,calc(100vw - 32px));overflow:hidden;border:1px solid color-mix(in srgb,var(--brand),transparent 55%);border-radius:23px;background:linear-gradient(135deg,#17171a,#3d0a13);color:#fff;box-shadow:var(--shadow-lg)}.catalog-campaign-floating>div{padding:18px}.catalog-campaign-floating span{display:block;margin-bottom:5px;color:#ffb9c3;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.catalog-campaign-floating strong{display:block;font-size:19px}.catalog-campaign-floating p{margin:5px 0 12px;color:rgba(255,255,255,.8);font-size:13px}.catalog-campaign-floating img{display:none}.catalog-campaign-floating.theme-soft{background:#fff;color:var(--text)}.catalog-campaign-floating.theme-soft p{color:var(--muted)}
.catalog-campaign-strip{position:sticky;top:var(--header-h);z-index:46;width:100%;margin:0 auto;border-radius:0 0 14px 14px}.catalog-campaign-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:22px}.catalog-campaign-modal[hidden]{display:none!important}.catalog-campaign-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,8,10,.62);backdrop-filter:blur(5px);cursor:default}.catalog-campaign-modal-panel{position:relative;z-index:1;width:min(460px,92vw);max-height:min(84vh,720px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.38)}.catalog-campaign-modal-panel>img{display:block;width:100%;max-height:430px;object-fit:cover}.catalog-campaign-modal-panel>div{padding:22px 24px 25px}.catalog-campaign-modal-panel span{display:block;margin-bottom:7px;color:var(--brand);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.catalog-campaign-modal-panel h2{margin:0;font-size:27px;letter-spacing:-.045em;line-height:1.05}.catalog-campaign-modal-panel p{margin:10px 0 16px;color:var(--muted);font-size:14px}.catalog-campaign-modal-close{position:absolute;right:11px;top:11px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(17,17,17,.84);color:#fff;font-size:25px;line-height:1;cursor:pointer}.campaign-modal-open{overflow:hidden}
.product-badge.campaign { background: linear-gradient(135deg, #f42038, #b90b24); box-shadow: 0 5px 15px rgba(212,16,46,.24); }
.wm-campaign { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 15px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--border), transparent 10%); border-radius: 24px; padding: 16px 18px; background: var(--surface); box-shadow: var(--shadow-sm); }
.wm-campaign img { width: 86px; aspect-ratio: 1.45; object-fit: cover; border-radius: 17px; background: var(--surface-soft); }
.wm-campaign strong { display: block; margin-bottom: 4px; font-size: clamp(17px, 2vw, 22px); letter-spacing: -.025em; }
.wm-campaign p { margin: 0; color: var(--muted); font-size: 14px; }
.wm-campaign .button { margin-top: 12px; min-height: 40px; padding-inline: 16px; }
.wm-discount { display: inline-flex; width: max-content; margin-bottom: 8px; padding: 5px 10px; border-radius: 999px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.wm-dismiss { position: absolute; right: 10px; top: 10px; width: 31px; height: 31px; display: grid; place-items: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--surface), transparent 8%); color: var(--text); cursor: pointer; box-shadow: var(--shadow-sm); }
.wm-theme-red { border-color: color-mix(in srgb, var(--brand), transparent 55%); background: linear-gradient(135deg, var(--brand-soft), var(--surface)); }
.wm-theme-dark { background: #111; color: #fff; border-color: #2c2c2c; }
.wm-theme-dark p { color: #d5d5d8; }
.wm-theme-green { border-color: color-mix(in srgb, var(--whatsapp), transparent 55%); background: color-mix(in srgb, var(--whatsapp), transparent 92%); }
.wm-theme-gold { border-color: #f2c45f; background: linear-gradient(135deg, #fff8dc, var(--surface)); }
.wm-modal_notice { border-width: 2px; }

.catalog-section { padding: 74px 0 90px; border-radius: 48px 48px 0 0; background: var(--surface); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.section-heading h2, .how-heading h2 { margin: 9px 0 7px; font-size: clamp(32px, 4vw, 52px); line-height: 1.04; letter-spacing: -.045em; }
.section-heading p { margin: 0; color: var(--muted); }
.count-bubble { min-width: 23px; height: 23px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 11px; }
.catalog-toolbar { position: sticky; top: var(--header-h); z-index: 35; margin: 29px -12px 0; padding: 13px 12px 15px; background: color-mix(in srgb, var(--surface), transparent 7%); backdrop-filter: blur(18px); }
.search-form { width: 100%; min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 0 18px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg); box-shadow: inset 0 1px 0 color-mix(in srgb, #fff, transparent 30%); }
.search-form > span { color: var(--brand); font-size: 27px; }
.search-form input { flex: 1; min-width: 0; padding: 15px 0; border: 0; outline: 0; background: transparent; color: var(--text); }
.search-form input::placeholder { color: var(--muted); }
.search-clear { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-soft); cursor: pointer; font-size: 20px; }
.category-scroller { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; overflow: visible; padding: 13px 1px 2px; }
.category-chip { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 0 17px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 13px; font-weight: 800; cursor: pointer; }
.category-chip:hover, .category-chip.active { border-color: var(--text); color: var(--text); }
.category-chip.active { background: var(--text); color: var(--surface); }
.chip-skeleton { width: 105px; height: 42px; flex: 0 0 auto; border-radius: 999px; background: linear-gradient(90deg, var(--surface-soft), var(--border), var(--surface-soft)); background-size: 240% 100%; animation: shimmer 1.4s infinite; }
.subcategory-row { display: flex; align-items: center; gap: 12px; padding: 10px 3px 0; }
.subcategory-row > span { color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.subcategory-row > div { display: flex; flex: 1; flex-wrap: wrap; gap: 7px; overflow: visible; }
.subcategory-row .category-chip { min-height: 34px; padding-inline: 13px; font-size: 11px; }
.subcategory-row-nested { margin-top: 7px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 18px; background: var(--bg); }
.subcategory-row-nested > span { color: var(--text); }

/* Panel lateral de categorías (Catálogo 2.4) */
.catalog-layout { display: grid; grid-template-columns: 244px minmax(0, 1fr); gap: 26px; align-items: start; margin-top: 22px; }
.catalog-main { min-width: 0; }
.catalog-main .catalog-toolbar { position: sticky; top: var(--header-h); z-index: 32; display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 0; background: var(--surface); border-bottom: 1px solid color-mix(in srgb, var(--border), transparent 35%); backdrop-filter: none; }
.catalog-main .catalog-toolbar .search-form { flex: 1 1 auto; min-width: 0; min-height: 52px; }
.catalog-main .catalog-toolbar #favorites-filter { flex: 0 0 auto; white-space: nowrap; height: 52px; }
.category-panel { position: sticky; top: calc(var(--header-h) + 12px); max-height: calc(100vh - var(--header-h) - 28px); overflow-y: auto; padding: 12px 10px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); scrollbar-width: thin; }
.category-panel::-webkit-scrollbar { width: 8px; }
.category-panel::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; }
.category-panel-head { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px 10px; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.category-panel-close { display: none; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-soft); color: var(--text); font-size: 18px; cursor: pointer; }
.category-tree { display: flex; flex-direction: column; gap: 2px; }
.cat-item { display: flex; flex-direction: column; }
.cat-row { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 11px; border: 0; border-radius: 13px; background: transparent; color: var(--text); font-size: 13.5px; font-weight: 750; text-align: left; cursor: pointer; transition: background .15s, color .15s; }
.cat-row:hover { background: var(--surface-soft); }
.cat-row.active { color: var(--brand); background: color-mix(in srgb, var(--brand), transparent 92%); font-weight: 850; }
.cat-ico { flex: 0 0 auto; width: 20px; text-align: center; font-size: 15px; }
.cat-name { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cat-chev { flex: 0 0 auto; color: var(--muted); font-size: 17px; line-height: 1; transition: transform .2s; }
.cat-item.expanded > .cat-row .cat-chev { transform: rotate(90deg); }
.cat-children { display: flex; flex-direction: column; gap: 1px; margin: 1px 0 5px 19px; padding-left: 9px; border-left: 1px solid var(--border); }
.cat-children .cat-row { padding: 7px 10px; font-size: 12.5px; font-weight: 650; color: var(--muted); }
.cat-children .cat-row:hover { color: var(--text); }
.cat-children .cat-row.active { color: var(--brand); background: color-mix(in srgb, var(--brand), transparent 93%); font-weight: 800; }
.cat-children .cat-ico { font-size: 13px; }
.cat-more { margin: 1px 0 4px 10px; padding: 5px 8px; border: 0; background: transparent; color: var(--brand); font-size: 12px; font-weight: 800; text-align: left; cursor: pointer; }
.cat-more:hover { text-decoration: underline; }
.category-fab { display: none; }
.category-backdrop { display: none; }

@media (max-width: 900px) {
  .wm-campaign { grid-template-columns: 1fr; }
  .wm-campaign img { width: 100%; max-height: 160px; aspect-ratio: 2.2; }
  .catalog-layout { grid-template-columns: 1fr; gap: 0; margin-top: 16px; }
  .category-panel { position: fixed; top: 0; left: 0; bottom: 0; z-index: 70; width: min(84vw, 320px); max-height: none; height: 100%; border: 0; border-radius: 0 20px 20px 0; transform: translateX(-105%); transition: transform .28s ease; box-shadow: 0 24px 60px rgba(0,0,0,.34); }
  .category-panel.open { transform: none; }
  .category-panel-close { display: inline-grid; place-items: center; }
  .category-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 65; background: rgba(0,0,0,.45); backdrop-filter: blur(2px); }
  .category-fab { display: inline-flex; align-items: center; gap: 7px; position: fixed; left: 14px; bottom: calc(80px + env(safe-area-inset-bottom)); z-index: 55; padding: 11px 17px; border: 0; border-radius: 999px; background: var(--brand); color: #fff; font-size: 13px; font-weight: 850; box-shadow: 0 12px 28px rgba(0,0,0,.28); cursor: pointer; }
  body.category-drawer-open { overflow: hidden; }
}

@media (max-width: 520px) {
  .catalog-main .catalog-toolbar { gap: 8px; }
  .catalog-main .catalog-toolbar #favorites-filter { padding-inline: 13px; }
  .fav-label { display: none; }
}
.results-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 23px 0 17px; color: var(--muted); font-size: 13px; }
.results-bar p { margin: 0; }
.sort-control { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.sort-control select { padding: 9px 32px 9px 13px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text); }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.product-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--border), #9aa3b2 26%); border-radius: 25px; background: linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface), var(--surface-soft) 32%)); box-shadow: 0 16px 38px rgba(15,23,42,.06), 0 1px 0 color-mix(in srgb, #fff, transparent 25%); transition: transform .25s, box-shadow .25s, border-color .25s; }
.product-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--brand), var(--border) 56%); box-shadow: 0 22px 54px rgba(15,23,42,.12); }
.product-media { position: relative; display: block; width: calc(100% - 22px); margin: 11px 11px 0; aspect-ratio: 1 / 1.02; overflow: hidden; border: 1px solid color-mix(in srgb, var(--border), transparent 12%); border-radius: 22px; background: color-mix(in srgb, var(--surface-soft), #fff 28%); cursor: pointer; box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff, transparent 44%); }
.product-media img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s; }
.product-card:hover .product-media img { transform: scale(1.035); }
.product-media::after { content: "MODARYSAN"; position: absolute; right: 10px; bottom: 8px; color: color-mix(in srgb, var(--text), transparent 75%); font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.product-badges { position: absolute; left: 11px; top: 11px; z-index: 2; display: flex; gap: 5px; flex-wrap: wrap; }
.product-badge { padding: 6px 9px; border-radius: 999px; background: var(--brand); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.product-badge.best { background: #111; }
.favorite-button { width: 39px; height: 39px; display: grid; place-items: center; padding: 0; border: 1px solid color-mix(in srgb, var(--border), transparent 10%); border-radius: 50%; background: color-mix(in srgb, var(--surface), transparent 8%); color: var(--text); cursor: pointer; font-size: 22px; box-shadow: var(--shadow-sm); backdrop-filter: blur(8px); }
.product-card > .favorite-button { position: absolute; z-index: 4; right: 11px; top: 11px; }
.favorite-button.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.product-info { padding: 16px; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.product-meta .code { color: var(--brand); }
.product-info h3 { min-height: 43px; margin: 8px 0 9px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 15px; line-height: 1.35; }
.product-info h3 a { display: block; color: inherit; }
.product-price { display: flex; align-items: baseline; gap: 5px; }
.product-price small { color: var(--muted); font-size: 10px; }
.product-price strong { font-size: 19px; letter-spacing: -.03em; }
.product-actions { display: grid; grid-template-columns: 1fr 42px 42px; gap: 7px; margin-top: 13px; }
.product-actions .button { min-height: 42px; padding-inline: 12px; font-size: 12px; }
.product-actions .quick-cart { width: 42px; height: 42px; border-radius: 50%; }
.product-actions .quick-whatsapp { width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--whatsapp); color: #fff; cursor: pointer; font-size: 16px; }
.product-actions .quick-whatsapp svg { width: 21px; height: 21px; display: block; margin: auto; fill: currentColor; }
.product-skeleton { min-height: 380px; border-radius: 25px; background: linear-gradient(100deg, var(--surface-soft) 20%, var(--border) 38%, var(--surface-soft) 56%); background-size: 240% 100%; animation: shimmer 1.35s infinite; }
@keyframes shimmer { to { background-position-x: -240%; } }
.load-sentinel { height: 2px; }
.state-card { max-width: 660px; margin: 40px auto 0; padding: 38px; border: 1px solid var(--border); border-radius: 28px; background: var(--bg); text-align: center; }
.state-card .state-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-size: 28px; font-weight: 900; }
.state-card h3 { margin: 16px 0 5px; font-size: 24px; }
.state-card p { margin: 0 auto 20px; color: var(--muted); }
.state-card .button { margin: 4px; }

.how-section { padding-block: 85px 105px; }
.how-heading { text-align: center; }
.how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-top: 33px; }
.how-grid article { position: relative; padding: 27px; overflow: hidden; border: 1px solid var(--border); border-radius: 25px; background: var(--surface); }
.how-grid article > span { color: var(--brand); font-size: 11px; font-weight: 950; letter-spacing: .12em; }
.how-grid h3 { margin: 20px 0 5px; font-size: 23px; }
.how-grid p { margin: 0; color: var(--muted); }
.how-grid article::after { content: attr(data-step); position: absolute; right: -6px; bottom: -28px; color: var(--surface-soft); font-size: 105px; font-weight: 950; }
.site-footer { padding: 58px 0 24px; background: #101010; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 40px; }
.footer-brand { color: #fff; }
.footer-brand .brand-logo { width: 225px; height: 64px; }
.footer-grid p { max-width: 380px; color: #a9abb1; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 10px; }
.footer-grid > div > strong { margin-bottom: 6px; }
.footer-grid a:not(.brand) { color: #a9abb1; font-size: 14px; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 42px; padding-top: 20px; border-top: 1px solid #2b2b2b; color: #82858d; font-size: 12px; }
.mobile-bottom-nav { display: none; }

.product-dialog { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 22px; }
.dialog-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(5, 5, 5, .67); backdrop-filter: blur(7px); cursor: default; }
.dialog-panel { position: relative; width: min(980px, 96vw); max-height: min(780px, 92vh); display: grid; grid-template-columns: minmax(350px, .95fr) minmax(380px, 1.05fr); overflow: auto; border: 1px solid var(--border); border-radius: 29px; background: var(--surface); box-shadow: var(--shadow-lg); }
.dialog-close { position: sticky; top: 16px; z-index: 10; grid-column: 2; justify-self: end; width: 42px; height: 42px; margin: 16px 16px -58px 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); cursor: pointer; font-size: 24px; }
.detail-media { position: sticky; top: 0; align-self: start; min-height: 620px; display: grid; place-items: center; overflow: hidden; background: var(--surface-soft); }
.detail-media img { width: 100%; height: 620px; object-fit: contain; }
.detail-media .detail-badge { position: absolute; left: 17px; top: 17px; z-index: 2; padding: 7px 11px; border-radius: 999px; background: var(--brand); color: #fff; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.detail-favorite { position: absolute; right: 17px; top: 17px; }
.detail-content { padding: 58px 34px 35px; }
.detail-meta { display: flex; gap: 7px; margin-bottom: 9px; color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.detail-meta span + span::before { content: "·"; margin-right: 7px; color: var(--muted); }
.detail-content h2 { margin: 0; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.05; letter-spacing: -.04em; }
.detail-content > p { margin: 13px 0; color: var(--muted); }
.detail-price { display: flex; align-items: baseline; gap: 7px; margin: 18px 0; }
.detail-price small, .detail-price span { color: var(--muted); font-size: 11px; }
.detail-price strong { color: var(--brand); font-size: 31px; }
.detail-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.detail-tags span { padding: 5px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 10px; font-weight: 750; }
.option-group { margin: 20px 0 0; padding: 0; border: 0; }
.option-group legend { margin-bottom: 9px; font-size: 12px; font-weight: 850; }
.option-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.option-pill { min-height: 36px; padding: 0 13px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 11px; font-weight: 800; cursor: pointer; }
.option-pill.active { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }
.quantity-row { display: flex; align-items: center; justify-content: space-between; margin-top: 21px; font-size: 12px; font-weight: 850; }
.quantity-control { display: flex; align-items: center; padding: 4px; border: 1px solid var(--border); border-radius: 999px; }
.quantity-control button { width: 31px; height: 31px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-soft); cursor: pointer; }
.quantity-control input { width: 43px; border: 0; outline: 0; background: transparent; color: var(--text); text-align: center; -moz-appearance: textfield; }
.quantity-control input::-webkit-inner-spin-button { display: none; }
.detail-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 23px; }
.detail-actions .button-whatsapp { grid-column: 1 / -1; min-height: 53px; }
.advisor-button { grid-column: 1 / -1; }
.dialog-handle { display: none; }
.toast { position: fixed; left: 50%; bottom: 28px; z-index: 160; max-width: min(440px, 88vw); padding: 12px 18px; border-radius: 999px; background: var(--text); color: var(--surface); box-shadow: var(--shadow-lg); transform: translateX(-50%); font-size: 13px; font-weight: 750; }
.install-prompt { position: fixed; right: 20px; bottom: 20px; z-index: 80; max-width: 410px; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow-lg); }
.install-prompt p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.install-prompt .button { min-height: 38px; padding-inline: 14px; }
.install-close { width: 31px; height: 31px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-soft); cursor: pointer; }

.maschat-launcher { position: fixed; right: 22px; bottom: 22px; z-index: 72; min-height: 62px; display: flex; align-items: center; gap: 10px; padding: 7px 17px 7px 7px; border: 1px solid color-mix(in srgb, var(--brand), #fff 28%); border-radius: 999px; background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; box-shadow: 0 18px 42px color-mix(in srgb, var(--brand), transparent 58%); cursor: pointer; transition: transform .2s, box-shadow .2s; }
.maschat-launcher:hover { transform: translateY(-3px); box-shadow: 0 22px 50px color-mix(in srgb, var(--brand), transparent 50%); }
.maschat-launcher-icon, .maschat-widget-logo { display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #fff; }
.maschat-launcher-icon { width: 47px; height: 47px; }
.maschat-launcher-icon img, .maschat-widget-logo img { width: 68%; height: 68%; object-fit: contain; }
.maschat-launcher-copy { text-align: left; }
.maschat-launcher-copy strong, .maschat-launcher-copy small { display: block; line-height: 1.15; }
.maschat-launcher-copy strong { font-size: 13px; }
.maschat-launcher-copy small { margin-top: 4px; color: rgba(255,255,255,.82); font-size: 10px; }
body.maschat-open .maschat-launcher { opacity: 0; pointer-events: none; transform: translateY(10px); }

/* Canasta de compra (Catálogo 2.4) */
.cart-fab { position: fixed; right: 22px; bottom: 94px; z-index: 73; width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, var(--brand), #fff 28%); border-radius: 50%; background: var(--surface); color: var(--text); font-size: 22px; box-shadow: 0 14px 34px rgba(0,0,0,.22); cursor: pointer; }
.cart-fab .cart-count { position: absolute; top: -3px; right: -3px; background: var(--brand); }
.cart-backdrop:not([hidden]) { position: fixed; inset: 0; z-index: 88; background: rgba(0,0,0,.45); backdrop-filter: blur(2px); }
.cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 89; width: min(92vw, 400px); display: flex; flex-direction: column; background: var(--surface); box-shadow: -18px 0 60px rgba(0,0,0,.3); }
.cart-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.cart-head strong { font-size: 18px; }
.cart-close { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--surface-soft); color: var(--text); font-size: 20px; cursor: pointer; }
.cart-body { flex: 1; overflow-y: auto; padding: 12px 16px; display: flex; flex-direction: column; gap: 10px; }
.cart-empty { padding: 40px 24px; text-align: center; color: var(--muted); line-height: 1.6; }
.cart-item { display: grid; grid-template-columns: 54px 1fr auto auto; align-items: center; gap: 11px; padding: 9px; border: 1px solid var(--border); border-radius: 16px; }
.cart-thumb { width: 54px; height: 54px; object-fit: cover; border-radius: 11px; background: var(--surface-soft); cursor: pointer; }
.cart-info { min-width: 0; display: flex; flex-direction: column; gap: 2px; cursor: pointer; }
.cart-info .cart-code { color: var(--brand); font-size: 11px; font-weight: 900; }
.cart-info strong { font-size: 13px; font-weight: 750; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cart-qty { display: inline-flex; align-items: center; gap: 8px; }
.cart-qty button { width: 26px; height: 26px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font-size: 15px; cursor: pointer; }
.cart-qty span { min-width: 18px; text-align: center; font-weight: 800; font-size: 13px; }
.cart-remove { width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--surface-soft); color: var(--muted); font-size: 17px; cursor: pointer; }
.cart-foot { display: flex; flex-direction: column; gap: 9px; padding: 14px 18px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); }
.cart-summary { font-size: 13px; font-weight: 800; color: var(--muted); }
.cart-foot .button { width: 100%; justify-content: center; }
.cart-foot .button.is-disabled, .cart-foot .button:disabled { opacity: .5; pointer-events: none; }
.cart-clear { margin-top: 2px; padding: 6px; border: 0; background: none; color: var(--muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.cart-clear:disabled { opacity: .4; cursor: default; }
.quick-cart { width: 42px; flex: 0 0 auto; display: inline-grid; place-items: center; border: 0; border-radius: 999px; background: linear-gradient(135deg, #111 0%, #2b2b2b 58%, var(--brand) 180%); color: #fff; font-size: 16px; cursor: pointer; box-shadow: 0 12px 24px rgba(17,17,17,.16); transition: transform .18s, box-shadow .18s, filter .18s; }
.quick-cart:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(17,17,17,.23); filter: saturate(1.08); }
.quick-cart:active { transform: translateY(0) scale(.96); }
body.cart-open { overflow: hidden; }

@media (max-width: 820px) {
  .cart-fab { right: 14px; bottom: calc(146px + env(safe-area-inset-bottom)); width: 50px; height: 50px; font-size: 20px; }
}
.maschat-widget { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: min(410px, calc(100vw - 28px)); height: min(690px, calc(100vh - 40px)); overflow: hidden; border: 1px solid var(--border); border-radius: 28px; background: var(--surface); box-shadow: 0 28px 85px rgba(0,0,0,.3); }
.maschat-widget:not([hidden]) { display: flex; flex-direction: column; animation: maschat-in .22s ease-out; }
@keyframes maschat-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }
.maschat-widget-head { min-height: 68px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: linear-gradient(135deg, #111, #252525); color: #fff; }
.maschat-widget-logo { width: 44px; height: 44px; }
.maschat-widget-head > div { flex: 1; min-width: 0; }
.maschat-widget-head strong, .maschat-widget-head small { display: block; }
.maschat-widget-head strong { font-size: 15px; }
.maschat-widget-head small { color: #b7bbc2; font-size: 10px; }
.maschat-widget-head button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; font-size: 24px; }
.maschat-product-context { display: grid; grid-template-columns: 1fr auto; gap: 1px 8px; padding: 8px 14px; border-bottom: 1px solid var(--border); background: var(--brand-soft); }
.maschat-product-context span { grid-column: 1/-1; color: var(--brand); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.maschat-product-context strong { overflow: hidden; color: var(--text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.maschat-product-context small { color: var(--brand); font-size: 11px; font-weight: 900; }
.maschat-widget iframe { width: 100%; flex: 1; min-height: 0; border: 0; background: var(--bg); }

/* Ventas corporativas */
.corporate-main { overflow: hidden; }
.corporate-hero { min-height: 650px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 60px; padding-block: 70px 85px; }
.corporate-hero h1 { max-width: 720px; margin: 18px 0 20px; font-size: clamp(48px, 5.5vw, 80px); line-height: .98; letter-spacing: -.055em; }
.corporate-hero h1 em { color: var(--brand); font-family: Georgia, serif; font-weight: 500; }
.corporate-hero-copy > p { max-width: 670px; margin: 0; color: var(--muted); font-size: 18px; }
.corporate-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 26px; }
.corporate-actions .button { min-height: 53px; }
.corporate-contact { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.corporate-contact strong { color: var(--text); font-size: 17px; }
.corporate-visual { min-height: 470px; position: relative; isolation: isolate; display: grid; place-items: center; }
.corporate-visual::before { content: ""; position: absolute; inset: 25px; z-index: -2; border-radius: 38% 62% 51% 49% / 49% 45% 55% 51%; background: linear-gradient(145deg, #151515, #3a050b 58%, var(--brand)); transform: rotate(-5deg); box-shadow: var(--shadow-lg); }
.corporate-card-main { width: min(360px, 78%); padding: 32px; border: 1px solid rgba(255,255,255,.22); border-radius: 30px; background: rgba(255,255,255,.1); color: #fff; box-shadow: 0 25px 60px rgba(0,0,0,.28); backdrop-filter: blur(14px); transform: rotate(3deg); }
.corporate-card-main span { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: var(--brand); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.corporate-card-main strong { display: block; margin: 22px 0 9px; font-size: 32px; line-height: 1.05; }
.corporate-card-main p { margin: 0; color: rgba(255,255,255,.72); }
.corporate-stat { position: absolute; left: 0; bottom: 42px; padding: 14px 18px; border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-sm); transform: rotate(-4deg); }
.corporate-stat strong, .corporate-stat span { display: block; }
.corporate-stat strong { color: var(--brand); }.corporate-stat span { color: var(--muted); font-size: 11px; }
.corporate-pattern { position: absolute; right: 15px; top: 25px; z-index: -1; color: rgba(255,255,255,.14); font-size: 145px; font-weight: 950; }
.corporate-solutions { padding: 80px 0 92px; border-radius: 48px 48px 0 0; background: var(--surface); }
.corporate-heading { align-items: start; }
.corporate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.corporate-grid article { padding: 27px; border: 1px solid var(--border); border-radius: 25px; background: var(--bg); }
.corporate-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: var(--brand-soft); color: var(--brand); font-size: 22px; }
.corporate-grid h3 { margin: 24px 0 7px; font-size: 21px; }.corporate-grid p { margin: 0; color: var(--muted); }
.corporate-process { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; padding-block: 95px; }
.corporate-process h2 { margin: 10px 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.04; letter-spacing: -.04em; }.corporate-process > div p { color: var(--muted); }
.corporate-process ol { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.corporate-process li { display: flex; gap: 16px; padding: 20px; border: 1px solid var(--border); border-radius: 21px; background: var(--surface); }
.corporate-process li > span { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--text); color: var(--surface); font-weight: 900; }
.corporate-process li strong { font-size: 15px; }.corporate-process li p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.corporate-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 95px; padding: 40px; overflow: hidden; border-radius: 30px; background: linear-gradient(135deg, #111, #26050a); color: #fff; box-shadow: var(--shadow-lg); }
.corporate-cta span { color: #ff7486; font-size: 10px; font-weight: 900; letter-spacing: .13em; }.corporate-cta h2 { margin: 8px 0 4px; font-size: 32px; }.corporate-cta p { margin: 0; color: #b4b6bc; }

@media (max-width: 1060px) {
  .hero { grid-template-columns: 1fr .9fr; gap: 25px; }
  .main-nav a { padding-inline: 8px; }
  .theme-toggle-label { display: none; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .corporate-hero { gap: 25px; }
}

@media (max-width: 820px) {
  :root { --shell: min(100% - 28px, 680px); --header-h: 64px; }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .mobile-only { display: inline-grid; }
  .header-inner { justify-content: space-between; gap: 8px; }
  .brand strong { font-size: 14px; }
  .brand small { font-size: 7px; }
  .brand-symbol { width: 36px; height: 36px; border-radius: 12px; }
  .brand-logo { width: 145px; height: 42px; border-radius: 8px; }
  .main-nav { position: fixed; left: 0; right: 0; top: var(--header-h); display: none; flex-direction: column; align-items: stretch; padding: 14px; border-bottom: 1px solid var(--border); background: var(--surface); box-shadow: var(--shadow-lg); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 16px; }
  .main-nav .nav-corporate-mobile { display: block; color: var(--brand); }
  .header-actions { gap: 6px; }
  .header-actions .icon-button { display: none; }
  .desktop-cta { display: none; }
  .theme-toggle { padding-right: 7px; }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 38px; padding-block: 43px 56px; }
  .hero h1 { font-size: clamp(43px, 13vw, 66px); }
  .hero-visual { min-height: 380px; width: min(100%, 540px); margin-inline: auto; }
  .hero-product-main { height: 315px; }
  .hero-note { left: 1px; bottom: 10px; }
  .catalog-section { padding-top: 53px; border-radius: 32px 32px 0 0; }
  .catalog-campaign { grid-template-columns: 1fr; margin-bottom: 23px; border-radius: 24px; }
  .catalog-campaign-hero.shell { width:var(--shell); min-height: auto; margin-top:24px; margin-bottom:20px; }
  .catalog-campaign-hero picture { min-height: 0; }
  .hero-rotator{justify-content:flex-start;margin-bottom:30px}.hero-rotator-chips{justify-content:flex-start;flex:1;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.hero-rotator-chip{flex:0 0 auto;max-width:180px}
  .catalog-campaign-placement{grid-template-columns:1fr}.catalog-campaign-placement>img{height:190px}.catalog-campaign-alert,.catalog-campaign-strip{grid-template-columns:1fr}.catalog-campaign-alert>div,.catalog-campaign-strip>div{padding:12px 16px}.catalog-campaign-alert p,.catalog-campaign-strip p{display:block;margin:4px 0 0}.catalog-campaign-floating{right:12px;bottom:84px}
  .catalog-campaign-copy { padding: 26px 22px 23px; }.catalog-campaign h2 { font-size: clamp(29px, 9vw, 42px); }.catalog-campaign picture { min-height: 0; aspect-ratio: 4 / 3; }.catalog-campaign img { object-position: center; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .catalog-toolbar { margin-inline: -7px; padding-inline: 7px; }
  .subcategory-row { align-items: flex-start; flex-direction: column; }
  .category-scroller { gap: 6px; padding-top: 10px; }
  .category-chip { min-height: 34px; gap: 5px; padding: 0 11px; font-size: 10px; }
  .subcategory-row { gap: 7px; padding-top: 8px; }
  .subcategory-row > div { gap: 5px; }
  .subcategory-row .category-chip { min-height: 30px; padding-inline: 9px; font-size: 9px; }
  .results-bar { align-items: flex-start; }
  .sort-control { font-size: 0; }
  .sort-control select { font-size: 12px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .product-card { border-radius: 20px; }
  .product-info { padding: 12px; }
  .product-info h3 { min-height: 38px; font-size: 13px; }
  .product-actions { grid-template-columns: 1fr 40px; }
  .product-actions .quick-cart { width: 40px; height: 40px; }
  .product-actions .quick-whatsapp { display: none; }
  .product-skeleton { min-height: 300px; border-radius: 20px; }
  .how-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 6px; }
  .mobile-bottom-nav { position: fixed; left: 8px; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); z-index: 60; height: 64px; display: grid; grid-template-columns: repeat(5, 1fr); padding: 5px; border: 1px solid var(--border); border-radius: 23px; background: color-mix(in srgb, var(--surface), transparent 4%); box-shadow: var(--shadow-lg); backdrop-filter: blur(16px); }
  .mobile-bottom-nav a, .mobile-bottom-nav button { min-width: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1px; padding: 0 2px; border: 0; border-radius: 17px; background: transparent; color: var(--muted); font-size: 9px; font-weight: 800; cursor: pointer; }
  .mobile-bottom-nav span { font-size: 19px; line-height: 1.2; }
  .mobile-bottom-nav .active { background: var(--brand-soft); color: var(--brand); }
  .product-dialog { align-items: end; padding: 0; }
  .dialog-panel { width: 100%; max-height: 94vh; grid-template-columns: 1fr; border-radius: 27px 27px 0 0; }
  .dialog-handle { display: block; position: absolute; left: 50%; top: 8px; z-index: 8; width: 45px; height: 5px; border-radius: 999px; background: color-mix(in srgb, var(--muted), transparent 45%); transform: translateX(-50%); }
  .dialog-close { position: absolute; right: 10px; top: 14px; grid-column: 1; margin: 0; }
  .detail-media { position: relative; min-height: 330px; }
  .detail-media img { height: 360px; }
  .detail-content { padding: 28px 20px calc(30px + env(safe-area-inset-bottom)); }
  .detail-content h2 { font-size: 30px; }
  .detail-actions { grid-template-columns: 1fr 1fr; }
  .install-prompt { left: 10px; right: 10px; bottom: calc(79px + env(safe-area-inset-bottom)); max-width: none; grid-template-columns: auto 1fr auto; }
  .install-prompt .install-close { position: absolute; right: -4px; top: -11px; }
  .maschat-launcher { right: 14px; bottom: calc(82px + env(safe-area-inset-bottom)); width: 56px; height: 56px; min-height: 56px; padding: 6px; }
  .maschat-launcher-icon { width: 44px; height: 44px; }
  .maschat-launcher-copy { display: none; }
  .maschat-widget { left: 8px; right: 8px; bottom: calc(80px + env(safe-area-inset-bottom)); width: auto; height: min(680px, calc(100vh - 98px - env(safe-area-inset-bottom))); border-radius: 24px; }
  .corporate-page { padding-bottom: 0; }
  .corporate-hero { min-height: auto; grid-template-columns: 1fr; gap: 35px; padding-block: 50px 65px; }
  .corporate-hero h1 { font-size: clamp(43px, 13vw, 66px); }
  .corporate-visual { min-height: 390px; }
  .corporate-solutions { border-radius: 32px 32px 0 0; padding-block: 60px; }
  .corporate-grid { grid-template-columns: 1fr; }
  .corporate-process { grid-template-columns: 1fr; gap: 28px; padding-block: 70px; }
  .corporate-cta { align-items: flex-start; flex-direction: column; padding: 28px; margin-bottom: 60px; }
  .corporate-cta .button { width: 100%; }
}

@media (max-width: 430px) {
  .header-inner > .brand small { display: none; }
  .header-inner > .brand { gap: 6px; }
  .header-inner > .brand-symbol { width: 33px; }
  .hero h1 { font-size: 42px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .benefit-list { gap: 9px; flex-direction: column; }
  .hero-visual { min-height: 330px; }
  .hero-product-main { width: 72%; height: 280px; left: 12%; }
  .hero-product-mini { width: 34%; }
  .hero-note { padding: 9px 12px; }
  .product-meta { display: block; }
  .product-meta span { display: block; margin-bottom: 2px; }
  .product-info h3 { -webkit-line-clamp: 2; }
  .product-price strong { font-size: 17px; }
  .product-actions .button { min-height: 39px; font-size: 11px; }
  .state-card { padding: 27px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
