:root {
  --market-navy: #102f3b;
  --market-navy-2: #0a4650;
  --market-teal: #079a8d;
  --market-teal-dark: #05766d;
  --market-orange: #ff7a45;
  --market-yellow: #ffc94f;
  --market-blue: #3d80e4;
  --market-bg: #f4f7f7;
  --market-card: #fff;
  --market-text: #18313a;
  --market-muted: #687b81;
  --market-line: #dbe5e6;
  --market-shadow: 0 10px 30px rgba(18, 55, 65, .09);
  --market-shadow-hover: 0 20px 46px rgba(18, 55, 65, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--market-bg); color: var(--market-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
.wrap { width: min(1320px,calc(100% - 40px)); }

.announcement { padding: 0; background: var(--market-navy); color: #fff; font-size: 10px; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.announcement-inner { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 0; }
.announcement-inner span { position: relative; padding: 0 28px; color: inherit; white-space: nowrap; }
.announcement-inner span + span:before { content: ""; position: absolute; top: 50%; left: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--market-yellow); transform: translateY(-50%); }

.store-header { position: sticky; top: 0; z-index: 35; border: 0; background: #fff; box-shadow: 0 4px 18px rgba(13,46,56,.08); }
.store-header { transition: box-shadow .28s ease,transform .28s ease; }
.store-header.is-scrolled { box-shadow: 0 10px 30px rgba(13,46,56,.14); }
.header-main { background: #fff; }
.market-header { min-height: 82px; display: grid; grid-template-columns: 220px minmax(300px,1fr) auto; gap: 27px; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.brand img { width: 50px; height: 50px; border-radius: 12px; }
.brand-copy { display: grid; gap: 0; }
.brand-copy strong { color: #0b6262; font-size: 17px; font-weight: 900; letter-spacing: .08em; }
.brand-copy small { color: #52676d; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.header-search { width: 100%; min-height: 48px; display: grid; grid-template-columns: 1fr 52px; align-items: center; padding: 0; overflow: hidden; border: 2px solid #0a8d84; border-radius: 13px; background: #fff; color: #536970; box-shadow: 0 5px 16px rgba(7,143,133,.1); }
.header-search input { width: 100%; height: 44px; padding: 0 17px; border: 0; outline: 0; background: transparent; color: #18313a; font-size: 14px; }
.header-search input::placeholder { color: #87979b; }
.search-button { height: 44px; display: grid; place-items: center; background: #079a8d; color: #fff; font-size: 25px; font-weight: 500; }
.header-actions { display: flex; align-items: stretch; gap: 8px; }
.order-link,.accountbtn,.cartbtn { min-height: 48px; display: flex; align-items: center; gap: 8px; padding: 0 12px; border-radius: 11px; color: #263f47; font-size: 11px; text-decoration: none; }
.order-link { border: 0; background: transparent; }
.order-link > span:first-child { color: #079a8d; font-size: 20px; }
.order-link span:last-child,.accountbtn span:last-child { display: grid; text-align: left; }
.order-link small,.accountbtn small { color: #52676d; font-size: 10px; line-height: 1.1; }
.order-link b,.accountbtn b { font-size: 11px; white-space: nowrap; }
.accountbtn { border: 1px solid #dbe5e6; background: #f8fafa; cursor: pointer; }
.accountbtn > span:first-child { font-size: 17px; }
.cartbtn { border: 0; background: var(--market-orange); color: #fff; font-weight: 850; box-shadow: 0 7px 18px rgba(255,122,69,.23); cursor: pointer; }
.cartcount { min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 5px; border-radius: 999px; background: #fff; color: #d8562d; font-size: 10px; }
.market-nav { border-top: 1px solid #edf1f1; background: #fff; }
.navlinks { min-height: 43px; display: flex; align-items: center; gap: 31px; color: #445a61; font-size: 11px; font-weight: 750; }
.navlinks a { color: inherit; text-decoration: none; }
.navlinks a:hover { color: #078c82; }
.navlinks a[aria-current="location"] { color: #078c82; }
.navlinks .nav-all { align-self: stretch; display: flex; align-items: center; padding: 0 19px; border-radius: 8px 8px 0 0; background: #e6f4f2; color: #08786f; font-weight: 850; }
.navlinks .nav-all[aria-current="location"] { background: #d9eeea; box-shadow: inset 0 -3px var(--market-orange); }

.payment-status { margin-top: 12px; }
.hero { padding: 25px 0 14px; background: var(--market-bg); }
.hero-shell { position: relative; min-height: 510px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 0; overflow: hidden; border-radius: 27px; background: linear-gradient(125deg,#e3f5f2 0%,#f1f8f1 51%,#fff0df 100%); box-shadow: 0 17px 48px rgba(20,72,78,.13); }
.hero-shell:before { content: ""; position: absolute; width: 330px; height: 330px; top: -230px; left: 38%; border-radius: 50%; background: rgba(255,255,255,.7); }
.hero-shell:after { content: ""; position: absolute; width: 210px; height: 210px; bottom: -145px; left: 39%; border-radius: 50%; background: rgba(255,138,88,.18); }
.hero-copy { position: relative; z-index: 2; align-self: center; padding: 61px 42px 62px 64px; }
.hero-label,.section-kicker { display: inline-flex; align-items: center; width: fit-content; padding: 7px 11px; border-radius: 999px; background: #d5eeea; color: #065f59; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hero h1 { max-width: 590px; margin: 20px 0 18px; color: #15333d; font-family: inherit; font-size: clamp(43px,4.8vw,67px); font-weight: 900; line-height: 1.01; letter-spacing: -.052em; }
.hero h1 span { color: #ef673a; }
.hero p { max-width: 555px; margin: 0; color: #536c72; font-size: 16px; line-height: 1.63; }
.hero-actions { display: flex; gap: 11px; margin-top: 28px; }
.cta { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 23px; border-radius: 11px; font-size: 11px; font-weight: 850; text-decoration: none; cursor: pointer; }
.cta.primary { border: 0; background: #078f85; color: #fff; box-shadow: 0 9px 21px rgba(7,143,133,.23); }
.cta.primary:hover { background: #067a72; transform: translateY(-1px); }
.cta.secondary { border: 1px solid #bcd4d0; background: rgba(255,255,255,.7); color: #17665f; }
.cta.secondary:hover { border-color: #078f85; background: #fff; }
.hero-reassurance { display: flex; gap: 20px; margin-top: 23px; color: #52716f; font-size: 10px; font-weight: 700; }
.hero-visual { position: relative; z-index: 2; min-width: 0; padding: 25px 28px 25px 8px; }
.hero-product { position: relative; width: 100%; height: 100%; min-height: 460px; overflow: hidden; padding: 0; border: 7px solid rgba(255,255,255,.82); border-radius: 23px; background: #e5ece8; box-shadow: 0 25px 55px rgba(23,67,66,.2); transform: none; }
.hero-product:hover,.hero-product:focus-visible { transform: none; }
.hero-product-image { width: 100%; height: 100%; min-height: 446px; border-radius: 16px; background: #e6ece8; }
.hero-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.hero-product:hover .hero-product-image img { transform: scale(1.025); }
.hero-product-info { position: absolute; right: 17px; bottom: 17px; left: 17px; display: grid; grid-template-columns: 1fr auto; gap: 3px 20px; align-items: center; padding: 17px 19px; border-radius: 14px; background: rgba(255,255,255,.94); color: #15333d; box-shadow: 0 11px 28px rgba(18,55,60,.16); backdrop-filter: blur(10px); }
.hero-product-info small { grid-column: 1/-1; color: #9b3b20; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.hero-product-info strong { color: #173640; font-size: 19px; font-weight: 850; }
.hero-product-info > span:not(.hero-product-cta) { color: #087a72; font-size: 17px; font-weight: 900; }
.hero-product-cta { grid-column: 2; grid-row: 2/4; padding: 10px 12px; border-radius: 9px; background: #e0f2ef; color: #06796f; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.hero-bubble { position: absolute; z-index: 4; display: grid; place-items: center; border: 4px solid rgba(255,255,255,.85); border-radius: 50%; text-align: center; box-shadow: 0 12px 28px rgba(20,60,60,.18); transform: rotate(-7deg); }
.hero-bubble b { display: block; font-size: 13px; }
.bubble-one { width: 84px; height: 84px; top: 48px; left: -20px; background: var(--market-yellow); color: #754809; font-size: 8px; }
.bubble-two { width: 70px; height: 70px; right: 6px; bottom: 74px; background: #6f8fe9; color: #fff; font-size: 7px; transform: rotate(8deg); }

.trustbar { padding: 0 0 14px; background: var(--market-bg); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.trust-item { min-height: 82px; display: flex; align-items: center; gap: 12px; padding: 16px 17px; border: 1px solid #dde8e7; border-radius: 15px; background: #fff; box-shadow: 0 6px 20px rgba(17,60,66,.055); }
.trust-icon { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #dcf1ee; color: #087c73; font-size: 15px; font-weight: 900; }
.trust-item:nth-child(2) .trust-icon { background: #fff0d8; color: #d7672d; }
.trust-item:nth-child(3) .trust-icon { background: #e7efff; color: #376fc8; }
.trust-item:nth-child(4) .trust-icon { background: #f0eafa; color: #7251a5; }
.trust-item b { display: block; color: #233e46; font-size: 11px; }
.trust-item small { display: block; margin-top: 3px; color: #52676d; font-size: 10px; line-height: 1.3; }

.category-section { padding: 63px 0 34px; background: #fff; }
.section,.catalog-section { padding: 67px 0; }
.catalog-section { background: #fff; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.section h2,.category-section h2 { margin: 10px 0 5px; color: #18343e; font-family: inherit; font-size: clamp(31px,3.5vw,46px); font-weight: 900; line-height: 1.05; letter-spacing: -.042em; }
.section-head .muted { color: #6a7e83; font-size: 12px; }
.section-link { padding-bottom: 4px; color: #087d74; font-size: 11px; font-weight: 800; text-decoration: none; }
.result-text { padding: 7px 10px; border-radius: 999px; background: #e4f2ef; color: #065f59; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

.category-strip { display: grid; grid-template-columns: repeat(8,minmax(120px,1fr)); gap: 11px; overflow: auto; padding: 2px 0 12px; }
.cat { min-width: 122px; min-height: 126px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 15px 11px; border: 1px solid #dfebea; border-radius: 17px; background: #f2f8f6; color: #2b4d53; text-align: center; box-shadow: none; cursor: pointer; transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.cat:nth-child(4n+2) { background: #fff5e8; border-color: #f0dfc9; }
.cat:nth-child(4n+3) { background: #eef4ff; border-color: #dce6f6; }
.cat:nth-child(4n+4) { background: #f5effa; border-color: #e9dcf1; }
.cat:hover,.cat.active { border-color: #079a8d; background: #079a8d; color: #fff; box-shadow: 0 12px 26px rgba(7,154,141,.18); transform: translateY(-3px); }
.cat .ic { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 2px; border-radius: 15px; background: rgba(255,255,255,.75); font-size: 24px; }
.cat.active .ic,.cat:hover .ic { background: rgba(255,255,255,.18); }
.cat b { font-size: 11px; font-weight: 850; }
.cat small { color: #52676d; opacity: 1; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.cat:hover small,.cat.active small { color: #fff; }

.catalog-toolbar { display: grid; grid-template-columns: minmax(280px,1fr) 190px 180px; gap: 10px; margin-bottom: 24px; padding: 13px; border: 1px solid #dfe9e8; border-radius: 15px; background: #f6f9f8; }
.catalog-search,.sort { min-height: 45px; border: 1px solid #d4e1df; border-radius: 10px; background: #fff; color: #445c62; box-shadow: none; }
.catalog-search { display: flex; align-items: center; gap: 8px; padding: 0 14px; }
.catalog-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #213c44; font-size: 12px; }
.sort { padding: 0 12px; font-size: 12px; font-weight: 700; }
.catalog-search:focus-within,.sort:focus { border-color: #60aaa4; box-shadow: 0 0 0 3px rgba(7,154,141,.08); outline: 0; }
.grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px 16px; }
.product { overflow: hidden; border: 1px solid #e0e8e8; border-radius: 17px; background: #fff; box-shadow: 0 7px 22px rgba(15,55,62,.065); transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.product:hover { border-color: #bfd6d4; box-shadow: var(--market-shadow-hover); transform: translateY(-4px); }
.pic { position: relative; aspect-ratio: 1/1.04; margin: 8px 8px 0; overflow: hidden; border-radius: 12px; background: linear-gradient(145deg,#edf2ef,#e6eae5); cursor: pointer; }
.pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product:hover .pic img { transform: scale(1.035); }
.pic > span[aria-hidden] { font-size: 64px; }
.pic:after { display: none; }
.badge,.stock-badge { position: absolute; top: 10px; z-index: 2; padding: 6px 8px; border: 0; border-radius: 7px; font-size: 9px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; box-shadow: 0 4px 12px rgba(20,55,55,.1); }
.badge { left: 10px; background: #fff; color: #8a341d; }
.stock-badge { right: 10px; background: #078f85; color: #fff; }
.stock-badge.out { background: #762f2f; color: #fff; }
.pbody { padding: 13px 15px 16px; }
.pbody .category { color: #066f68; font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.pbody h3 { min-height: 42px; margin: 6px 0 8px; color: #233b42; font-size: 15px; font-weight: 780; line-height: 1.3; cursor: pointer; }
.old-price { color: #899699; font-size: 9px; text-decoration: line-through; }
.price { color: #173841; font-size: 21px; font-weight: 900; letter-spacing: -.02em; }
.install { min-height: 16px; margin-top: 3px; color: #52676d; font-size: 11px; }
.card-actions { display: grid; grid-template-columns: 39px 1fr; gap: 7px; margin-top: 11px; }
.details-btn,.add { min-height: 40px; border-radius: 9px; cursor: pointer; }
.details-btn { border: 1px solid #d5e2e0; background: #f4f8f7; color: #087a72; font-size: 17px; }
.add { border: 1px solid #078f85; background: #078f85; color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.add:hover { background: #067a72; }
.add.consult { background: #fff; color: #078077; }
.nores { grid-column: 1/-1; padding: 55px 20px; border: 1px dashed #cbdad8; border-radius: 15px; background: #f7faf9; color: #687c81; text-align: center; }

.purchase-guide { background: #edf5f4; }
.promo { position: relative; min-height: 390px; display: grid; grid-template-columns: 1.18fr .82fr; overflow: hidden; border-radius: 25px; background: linear-gradient(120deg,#0a3f49,#086f70 62%,#079a8d); color: #fff; box-shadow: 0 22px 52px rgba(13,75,77,.18); }
.promo:before { content: ""; position: absolute; width: 330px; height: 330px; top: -220px; left: 44%; border-radius: 50%; background: rgba(255,255,255,.08); }
.promo-copy { position: relative; z-index: 2; padding: 53px 58px; }
.promo .section-kicker { background: rgba(255,255,255,.13); color: #d9f5f1; }
.promo h2 { max-width: 690px; margin: 15px 0 14px; color: #fff; font-size: clamp(34px,4vw,52px); }
.promo p { max-width: 650px; margin: 0; color: #d5e8e6; font-size: 14px; line-height: 1.65; }
.promo-steps { display: flex; gap: 10px; margin: 24px 0; }
.promo-steps span { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.17); border-radius: 9px; background: rgba(255,255,255,.08); color: #fff; font-size: 9px; font-weight: 750; }
.promo-steps b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--market-yellow); color: #704709; font-size: 9px; }
.promo .cta.primary { background: var(--market-orange); box-shadow: 0 9px 22px rgba(5,37,40,.24); }
.promo-art { position: relative; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg,#ffbf75,#ff8055); }
.promo-art:before { content: ""; position: absolute; width: 250px; height: 250px; border: 50px solid rgba(255,255,255,.16); border-radius: 50%; }
.promo-art:after { content: ""; position: absolute; width: 80px; height: 80px; top: 38px; right: 40px; border-radius: 20px; background: rgba(255,255,255,.18); transform: rotate(18deg); }
.promo-seal { position: relative; z-index: 2; width: 188px; height: 188px; display: grid; place-content: center; border: 7px solid #fff; border-radius: 50%; color: #fff; text-align: center; transform: rotate(-7deg); }
.promo-seal span { font-size: 16px; font-weight: 800; letter-spacing: .1em; }
.promo-seal b { font-size: 37px; line-height: .95; }
.promo-seal small { margin-top: 7px; font-size: 9px; font-weight: 800; letter-spacing: .14em; }

#beneficios { background: #fff; }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.value-card { min-height: 226px; padding: 27px; border: 1px solid #dde8e7; border-radius: 17px; background: #f4f9f7; box-shadow: none; }
.value-card:nth-child(2) { background: #fff7ea; border-color: #f1dfc8; }
.value-card:nth-child(3) { background: #eff4ff; border-color: #dfe7f5; }
.value-card .icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; background: #d9efeb; color: #078177; font-size: 18px; font-weight: 900; }
.value-card:nth-child(2) .icon { background: #ffe7c5; color: #d65f2b; }
.value-card:nth-child(3) .icon { background: #dce8ff; color: #3b6fc8; }
.value-card h3 { margin: 24px 0 8px; color: #203b43; font-size: 19px; font-weight: 850; }
.value-card p { margin: 0; color: #667a7f; font-size: 12px; line-height: 1.6; }

.tracking-section { background: linear-gradient(180deg,#eef6f5,#f4f7f7); }
.tracking-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; padding: 52px 57px; border: 1px solid #d7e5e3; border-radius: 23px; background: #fff; color: #18313a; box-shadow: 0 15px 42px rgba(17,60,66,.085); }
.tracking-intro h2 { margin: 15px 0; color: #183740; font-size: clamp(34px,4vw,50px); }
.tracking-intro p { max-width: 570px; color: #64797e; line-height: 1.6; }
.tracking-points { display: grid; gap: 8px; margin-top: 20px; color: #3e6766; font-size: 11px; font-weight: 700; }
.tracking-card { padding: 28px; border: 1px solid #dce8e6; border-radius: 17px; background: #f7faf9; box-shadow: none; }
.tracking-card-label { color: #08786f; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.tracking-card h3 { margin: 7px 0 5px; color: #213e46; font-size: 21px; }
.tracking-form { gap: 10px; }
.tracking-form label { font-size: 9px; font-weight: 800; }
.tracking-form input,.tracking-submit { min-height: 45px; border-radius: 9px; }
.tracking-form input { border-color: #d3e1df; background: #fff; }
.tracking-submit { background: #078f85; }
.tracking-help { color: #77878b; }

.contact { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 22px; padding: 35px 39px; border: 1px solid #d8e7e4; border-radius: 19px; background: linear-gradient(105deg,#fff,#e9f5f2); box-shadow: 0 10px 30px rgba(17,60,66,.07); }
.contact-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: #078f85; color: #fff; font-size: 15px; font-weight: 900; box-shadow: 0 8px 20px rgba(7,143,133,.2); }
.contact h2 { margin: 8px 0 5px; font-size: 29px; }
.contact .muted { font-size: 11px; }
.wa-button { min-height: 47px; padding: 0 20px; border: 0; border-radius: 10px; background: var(--market-orange); color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }

footer { padding: 52px 0; background: #102f3b; color: #d5e3e4; }
.foot { display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 52px; }
.footbrand { display: flex; align-items: center; gap: 10px; color: #fff; }
.footbrand img { width: 43px; height: 43px; border-radius: 10px; }
.footbrand b { font-size: 15px; letter-spacing: .07em; }
.footer-brand-column p { max-width: 330px; color: #a9bec1; font-size: 11px; line-height: 1.6; }
.foot > div > b { color: #fff; font-size: 11px; }
.footer-links { display: grid; gap: 9px; margin-top: 14px; color: #a9bec1; font-size: 10px; }
.footer-links a,.footer-links button,.footer-links span { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: default; }
.footer-links a,.footer-links button { cursor: pointer; }
.footer-links a:hover,.footer-links button:hover { color: #fff; }

.drawer,.product-modal,.payment-modal,.account-modal { border-radius: 17px 0 0 17px; }
.product-modal,.payment-modal,.account-modal { border-radius: 17px; }
.checkout,.detail-actions button,.detail-actions a { border-radius: 10px; }
.checkout.wa { background: #078f85; }
.detail-add { background: #078f85; }
.detail-wa { color: #087d74; }
.shipping-box { border-radius: 12px; background: #f3f8f7; }

.support-fab { right: 18px; bottom: 18px; min-height: 50px; padding: 0 17px; border: 0; border-radius: 14px; background: #078f85; color: #fff; box-shadow: 0 14px 34px rgba(6,100,95,.28); }
.support-fab-icon { border-color: rgba(255,255,255,.5); border-radius: 50%; }
.mobile-dock { display: none; }
.support-modal { border-radius: 17px; }
.support-head { background: linear-gradient(120deg,#0a4650,#078b82); }
.support-head h2 { font-family: inherit; font-weight: 850; }
.support-field input,.support-field select,.support-field textarea,.support-reply textarea { border-radius: 9px; }
.support-submit { border-radius: 9px; background: #078f85; }
.support-proof,.support-message { border-radius: 10px; }
.support-message.admin { border-color: #bcdad5; background: #e2f1ee; }

@media (max-width: 1160px) {
  .market-header { grid-template-columns: 200px minmax(260px,1fr) auto; gap: 15px; }
  .order-link { display: none; }
  .navlinks { gap: 24px; }
  .hero-copy { padding-left: 48px; }
  .category-strip { grid-template-columns: repeat(8,140px); }
  .grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 850px) {
  .wrap { width: min(100% - 26px,1320px); }
  .announcement-inner { justify-content: flex-start; overflow: hidden; }
  .announcement-inner span { padding: 0 18px; }
  .announcement-inner span:nth-child(3) { display: none; }
  .market-header { min-height: 122px; grid-template-columns: 1fr auto; grid-template-rows: 60px 48px; gap: 0 10px; padding: 6px 0 8px; }
  .brand { grid-column: 1; grid-row: 1; }
  .brand img { width: 43px; height: 43px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .header-search { grid-column: 1/-1; grid-row: 2; }
  .market-nav { overflow: auto; }
  .navlinks { width: max-content; min-width: 100%; min-height: 40px; gap: 22px; padding-right: 15px; }
  .navlinks .nav-all { padding: 0 13px; }
  .hero { padding-top: 13px; }
  .hero-shell { grid-template-columns: 1fr; border-radius: 21px; }
  .hero-copy { padding: 46px 28px 38px; }
  .hero-visual { min-height: 450px; padding: 0 17px 17px; }
  .hero-product { min-height: 433px; }
  .hero-product-image { min-height: 419px; }
  .bubble-one { left: 3px; top: 18px; }
  .bubble-two { right: 1px; bottom: 62px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .category-section { padding-top: 50px; }
  .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-toolbar { grid-template-columns: 1fr 1fr; }
  .catalog-search { grid-column: 1/-1; }
  .promo { grid-template-columns: 1fr; }
  .promo-copy { padding: 43px 29px; }
  .promo-art { min-height: 235px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 190px; }
  .tracking-shell { grid-template-columns: 1fr; gap: 30px; padding: 39px 27px; }
  .contact { grid-template-columns: 54px 1fr; }
  .contact .wa-button { grid-column: 1/-1; width: 100%; }
  .foot { grid-template-columns: 1.3fr 1fr; }
}

@media (max-width: 540px) {
  .announcement-inner span { padding: 0 12px; }
  .announcement-inner span:nth-child(2):before { display: none; }
  .announcement-inner span:first-child { display: none; }
  .brand-copy strong { font-size: 14px; }
  .brand-copy small { display: none; }
  .accountbtn { width: 43px; justify-content: center; padding: 0; }
  .accountbtn > span:last-child { display: none; }
  .cartbtn { padding: 0 9px; }
  .cartbtn > span:nth-child(2) { display: none; }
  .hero h1 { font-size: 42px; }
  .hero p { font-size: 14px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-reassurance { flex-direction: column; gap: 6px; }
  .hero-visual { min-height: 405px; }
  .hero-product { min-height: 388px; }
  .hero-product-image { min-height: 374px; }
  .hero-product-info { grid-template-columns: 1fr; }
  .hero-product-cta { display: none; }
  .hero-product-info strong { font-size: 16px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item { min-height: 72px; }
  .section,.catalog-section { padding: 53px 0; }
  .section h2,.category-section h2 { font-size: 32px; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-search { grid-column: 1; }
  .grid { gap: 13px 8px; }
  .product { border-radius: 13px; }
  .pic { margin: 5px 5px 0; border-radius: 9px; }
  .badge,.stock-badge { top: 7px; padding: 5px 6px; font-size: 8px; }
  .badge { left: 7px; }
  .stock-badge { right: 7px; }
  .pbody { padding: 11px 10px 12px; }
  .pbody h3 { min-height: 37px; font-size: 13px; }
  .price { font-size: 17px; }
  .install { font-size: 9px; }
  .card-actions { grid-template-columns: 34px 1fr; }
  .details-btn,.add { min-height: 36px; }
  .add { padding: 0 5px; font-size: 7px; }
  .promo-steps { align-items: stretch; flex-direction: column; }
  .promo-seal { width: 150px; height: 150px; }
  .contact { grid-template-columns: 1fr; padding: 29px 24px; }
  .contact-icon { width: 48px; height: 48px; }
  .foot { grid-template-columns: 1fr; gap: 32px; }
  .support-fab-label { display: none; }
}

@media (max-width: 720px) {
  html,body { max-width: 100%; overflow-x: clip; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .market-nav { display: none; }
  .market-header { grid-template-columns: minmax(0,1fr) auto; }
  .brand,.header-actions,.hero-shell,.hero-copy { min-width: 0; }
  .brand-copy strong { white-space: nowrap; }
  .mobile-dock { position: fixed; z-index: 38; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom)); left: 10px; width: auto; max-width: calc(100vw - 20px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); min-height: 62px; padding: 5px; overflow: hidden; border: 1px solid rgba(14,66,70,.16); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 12px 38px rgba(9,48,55,.2); backdrop-filter: blur(14px); }
  .mobile-dock a,.mobile-dock button { min-width: 0; min-height: 52px; display: grid; place-items: center; align-content: center; gap: 2px; border: 0; border-radius: 13px; background: transparent; color: #31565a; font-size: 9px; font-weight: 850; line-height: 1.1; cursor: pointer; }
  .mobile-dock a:hover,.mobile-dock button:hover,.mobile-dock a:focus-visible,.mobile-dock button:focus-visible { background: #eaf6f3; color: #077b73; outline: 2px solid #74bcb4; outline-offset: -2px; }
  .mobile-dock a[aria-current="location"],.mobile-dock button[aria-expanded="true"] { background: #def1ed; color: #056e67; box-shadow: inset 0 0 0 1px rgba(5,110,103,.12); }
  .mobile-dock a[aria-current="location"] .mobile-dock-icon,.mobile-dock button[aria-expanded="true"] .mobile-dock-icon { transform: translateY(-1px); }
  .mobile-dock-icon { font-size: 19px; font-weight: 900; line-height: 1; }
  .support-fab { display: none; }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)); max-width: calc(100% - 24px); text-align: center; }
  footer { padding-bottom: 70px; }
}

/* Campaña visual y movimiento progresivo */
.hero-shell {
  isolation: isolate;
  background: #123b43;
}
.hero-shell:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: auto;
  height: auto;
  border-radius: inherit;
  background: linear-gradient(90deg,rgba(10,39,48,.94) 0%,rgba(10,48,55,.79) 39%,rgba(10,48,55,.28) 66%,rgba(10,48,55,.06) 100%);
  pointer-events: none;
}
.hero-shell:after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -70px;
  bottom: -90px;
  width: 250px;
  height: 250px;
  border: 42px solid rgba(255,255,255,.09);
  border-radius: 50%;
  background: transparent;
  pointer-events: none;
}
.hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  background: #183f46;
}
.hero-slide {
  position: absolute;
  inset: -2%;
  width: 104%;
  height: 104%;
  object-fit: cover;
  opacity: 0;
  filter: saturate(.94) contrast(1.02);
  transform: scale(1.035);
  transition: opacity 1.15s ease,transform 7.5s ease;
  will-change: opacity,transform;
}
.hero-slide.is-active {
  opacity: 1;
  transform: scale(1.075) translate3d(var(--hero-pan-x,0),var(--hero-pan-y,0),0);
}
.hero-copy {
  z-index: 3;
  color: #fff;
  text-shadow: 0 2px 18px rgba(4,29,34,.22);
}
.hero-label {
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.13);
  color: #e9fffb;
  backdrop-filter: blur(9px);
}
.hero h1 { color: #fff; }
.hero h1 span { color: #ffd36c; }
.hero p { color: #e2efee; }
.hero-reassurance { color: #dcebea; }
.hero .cta.primary {
  position: relative;
  overflow: hidden;
  background: var(--market-orange);
  box-shadow: 0 12px 30px rgba(255,105,58,.3);
}
.hero .cta.primary:after {
  content: "";
  position: absolute;
  top: -45%;
  left: -55%;
  width: 34%;
  height: 190%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform: rotate(17deg);
  animation: novaShine 5.4s ease-in-out infinite;
}
.hero .cta.secondary {
  border-color: rgba(255,255,255,.48);
  background: rgba(13,54,61,.42);
  color: #fff;
  backdrop-filter: blur(9px);
}
.hero .cta.secondary:hover { border-color: #fff; background: rgba(13,54,61,.68); }
.hero-visual {
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 34px;
}
.hero-product {
  width: min(365px,92%);
  height: auto;
  min-height: 0;
  margin-top: auto;
  border: 5px solid rgba(255,255,255,.9);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 24px 58px rgba(4,27,34,.3);
  transform: translate3d(0,0,0) rotate(1.2deg);
  transition: transform .35s ease,box-shadow .35s ease;
}
.hero-product:hover,.hero-product:focus-visible {
  transform: translateY(-7px) rotate(0deg);
  box-shadow: 0 31px 70px rgba(4,27,34,.36);
}
.hero-product-image,.hero-product.is-loading .hero-product-image {
  height: 250px;
  min-height: 250px;
  border-radius: 16px;
}
.hero-product-info {
  right: 11px;
  bottom: 11px;
  left: 11px;
  padding: 14px 15px;
  background: rgba(255,255,255,.97);
  backdrop-filter: none;
}
.hero-bubble { backdrop-filter: none; animation: novaFloat 4.8s ease-in-out infinite; }
.bubble-one { top: 52px; left: 16px; }
.bubble-two { top: 35px; right: 42px; bottom: auto; animation-delay: -2.2s; }
.hero-scene-dots { display: flex; gap: 7px; margin-top: 28px; }
.hero-scene-dots span { width: 7px; height: 7px; border-radius: 999px; background: rgba(255,255,255,.38); transition: width .45s ease,background .45s ease; }
.hero-scene-dots span.is-active { width: 24px; background: #ffd36c; }

.promo-art {
  background-image: linear-gradient(rgba(8,71,76,.08),rgba(8,71,76,.18)),url('/nova-hogar-hero-2.webp');
  background-size: cover;
  background-position: center;
}
.promo-art:before { border-color: rgba(255,255,255,.22); }
.promo-seal { background: rgba(7,92,92,.48); backdrop-filter: blur(8px); box-shadow: 0 15px 40px rgba(5,35,40,.22); }

.navlinks a,.section-link,.footer-links a,.footer-links button { transition: color .22s ease,transform .22s ease; }
.navlinks a:not(.nav-all):after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  margin-top: 5px;
  border-radius: 99px;
  background: var(--market-orange);
  transition: width .25s ease;
}
.navlinks a:not(.nav-all):hover:after { width: 100%; }
.navlinks a[aria-current="location"]:not(.nav-all):after { width: 100%; }
.product .pic:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg,transparent 55%,rgba(14,46,53,.13));
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.product:hover .pic:before { opacity: 1; }
.product .badge,.product .stock-badge { transition: transform .28s ease; }
.product:hover .badge { transform: translateX(3px); }
.product:hover .stock-badge { transform: translateX(-3px); }
.cat .ic,.trust-icon,.value-card .icon { transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.cat:hover .ic,.trust-item:hover .trust-icon,.value-card:hover .icon { transform: translateY(-3px) scale(1.08) rotate(-3deg); }
.trust-item,.value-card,.contact,.tracking-shell,.promo { transition: transform .32s ease,box-shadow .32s ease,border-color .32s ease; }
.trust-item:hover,.value-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(17,60,66,.11); }

.motion-ready .nova-reveal {
  opacity: 0;
  transform: translate3d(0,16px,0);
  transition: opacity .54s ease,transform .54s cubic-bezier(.2,.75,.2,1);
  transition-delay: var(--reveal-delay,0ms);
}
.motion-ready .nova-reveal.is-revealed { opacity: 1; transform: translate3d(0,0,0); }
.hero-shell:not(.is-motion-active) .hero-bubble,
.hero-shell:not(.is-motion-active) .cta.primary:after { animation-play-state: paused; }
.contact.is-revealed .contact-icon { animation: novaContactPulse 5.8s ease-in-out infinite; }
.modal-backdrop:not([hidden]) .product-modal,
.modal-backdrop:not([hidden]) .payment-modal,
.modal-backdrop:not([hidden]) .account-modal,
.modal-backdrop:not([hidden]) .support-modal { animation: novaModalIn .3s cubic-bezier(.2,.8,.2,1) both; }
.drawer.open { animation: novaDrawerGlow .4s ease both; }

@keyframes novaShine {
  0%,62% { left: -55%; opacity: 0; }
  70% { opacity: 1; }
  86%,100% { left: 125%; opacity: 0; }
}
@keyframes novaFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes novaContactPulse { 0%,72%,100% { transform: scale(1); } 82% { transform: scale(1.055); } 91% { transform: scale(1); } }
@keyframes novaModalIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes novaDrawerGlow { from { box-shadow: -6px 0 30px rgba(0,0,0,.1); } to { box-shadow: -20px 0 60px rgba(0,0,0,.2); } }

@media (max-width: 850px) {
  .hero-shell:before { background: linear-gradient(180deg,rgba(7,36,44,.92) 0%,rgba(7,42,49,.72) 58%,rgba(7,42,49,.25) 100%); }
  .hero-copy { padding: 45px 28px 28px; }
  .hero-visual { min-height: 365px; padding: 15px 22px 24px; }
  .hero-product { width: min(360px,94%); margin: auto auto 0; }
  .hero-product-image,.hero-product.is-loading .hero-product-image { height: 245px; min-height: 245px; }
  .bubble-one { top: 16px; left: 18px; }
  .bubble-two { top: 16px; right: 18px; }
}

@media (max-width: 540px) {
  .hero-media { inset: 0; }
  .hero-slide { object-position: 62% center; }
  .hero h1 { font-size: clamp(37px,11.7vw,52px); }
  .hero-reassurance { align-items: flex-start; }
  .hero-visual { min-height: 330px; padding: 8px 14px 18px; }
  .hero-product { width: 94%; }
  .hero-product-image,.hero-product.is-loading .hero-product-image { height: 226px; min-height: 226px; }
  .hero-bubble { display: none; }
  .promo-art { min-height: 245px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*:before,*:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-slide { display: none; transform: none; }
  .hero-slide.is-active { display: block; }
  .motion-ready .nova-reveal { opacity: 1; transform: none; }
}
