﻿/* Gasmart storefront. Scoped to the catalog; checkout keeps its own styles. */
:root { --store-ink:#172b3a; --store-muted:#657682; --store-line:#e3eaf0; --store-blue:#007fbd; }
html { scroll-behavior:smooth; scroll-padding-top:150px; }
body { color:var(--store-ink); background:#f7f9fb; font-family:Montserrat,Arial,sans-serif; }
* { transition:none; }
a,button { transition:background-color .18s,color .18s,box-shadow .18s,transform .18s; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #008dcc; outline-offset:4px; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:5000; background:white; padding:12px; }
.skip-link:focus { top:12px; }
.shipping-strip { background:#073b55; color:#fff; text-align:center; padding:9px 16px; font-size:11px; font-weight:500; letter-spacing:.035em; }
.shipping-strip i { margin-right:8px; }.shipping-strip span { margin:0 14px; opacity:.5; }
.store-header { position:sticky; top:0; z-index:1040; background:#fff; border-bottom:1px solid var(--store-line); }
.header-inner { max-width:1280px; margin:auto; padding:19px 32px; display:flex; gap:40px; align-items:center; }
.store-brand { display:flex; flex-direction:column; gap:4px; flex-shrink:0; color:var(--store-muted); font-size:9px; letter-spacing:.04em; }
.store-brand img { width:120px; height:48px; object-fit:contain; }
.store-search { position:relative; flex:1; }
#search-box { border:1px solid var(--store-line); border-radius:9px; background:#f7f9fb; box-shadow:none; padding:5px 8px 5px 12px; gap:6px; }
#search-box input { min-width:0; background:transparent; color:var(--store-ink); font:inherit; font-size:13px; outline-offset:0; }
#search-box button { border-radius:6px; width:40px; height:40px; flex-shrink:0; background:var(--store-blue); color:white; }
#results { position:absolute; top:calc(100% + 8px); left:0; right:0; border-radius:10px; background:#fff; box-shadow:0 16px 40px #15374a20; z-index:1050; }
#results.show { max-height:360px; border:1px solid var(--store-line); }
.link-search { padding:14px 16px; background:white; color:var(--store-ink); border-bottom:1px solid var(--store-line); font-size:12px; }
.link-search b { display:block; color:var(--store-muted); font-size:10px; margin-bottom:4px; }
.link-search:hover { background:#eef7fc; color:var(--store-blue); }
.header-actions { display:flex; align-items:center; gap:24px; }.header-actions a { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--store-ink); white-space:nowrap; }.header-actions i { font-size:23px; color:var(--store-blue); }
.cart-link { position:relative; }.contact-link { border-right:1px solid var(--store-line); padding-right:24px; }
#numerito { position:absolute; top:-12px; left:12px; background:var(--store-blue); color:white; border:2px solid white; font-size:10px; min-width:21px; }
.hamburger { width:23px; height:18px; }.hamburger span { height:2px; }
#menu { background:white; max-width:1216px; margin:auto; }#menu ul { gap:24px; padding:0 24px; }#menu li { width:auto; }#menu a { color:var(--store-ink); font-size:13px; }
#portada { max-width:1280px; margin:auto; padding:28px 32px 0; display:block; }
.store-hero { background:#e9f3f8; border:1px solid #dcecf4; border-radius:16px; padding:48px; display:flex; align-items:center; justify-content:space-between; gap:32px; overflow:hidden; position:relative; }
.hero-copy { position:relative; z-index:1; max-width:620px; }.eyebrow { display:block; color:var(--store-blue); font-size:10px; letter-spacing:.16em; font-weight:750; margin-bottom:12px; }
.hero-copy h1 { font-size:clamp(30px,3.7vw,48px); line-height:1.17; font-weight:750; letter-spacing:-1.8px; margin:0 0 20px; }.hero-copy h1 span { color:var(--store-blue); }.hero-copy p { color:#536c7b; font-size:14px; line-height:1.8; max-width:430px; margin-bottom:26px; }
.hero-button { display:inline-flex; align-items:center; gap:28px; background:var(--store-blue); border-radius:7px; padding:15px 21px; color:white; font-size:12px; font-weight:650; }.hero-button:hover { background:#06658e; color:white; transform:translateY(-2px); }
.hero-note { padding:36px; border:1px solid #c9e0eb; border-radius:50%; width:270px; height:270px; flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#ffffff70; text-align:center; box-shadow:0 0 0 24px #ffffff30,0 0 0 48px #ffffff20; }.hero-note>i { color:var(--store-blue); font-size:52px; margin-bottom:12px; }.hero-note>span { font-size:10px; color:var(--store-blue); font-weight:650; }.hero-note p { margin:10px 0 0; font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.5px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin:38px 0 20px; gap:16px; }.section-heading h2 { color:var(--store-ink); font-weight:700; font-size:24px; letter-spacing:-.7px; margin:0; }.section-heading .eyebrow { margin-bottom:7px; }.section-heading>span { color:var(--store-muted); font-size:12px; }
#ads-carousel { border-radius:12px; overflow:hidden; border:1px solid var(--store-line); background:white; max-height:420px; aspect-ratio:3/1 !important; }#ads-carousel .carousel-inner,#ads-carousel .carousel-item { height:100%; }#ads-carousel img { height:100% !important; aspect-ratio:auto !important; }.carousel-control-next,.carousel-control-prev { width:7%; }.carousel-control-next-icon,.carousel-control-prev-icon { background-color:#17445e; background-size:60%; border-radius:50%; width:32px; height:32px; }
#main-nav { justify-content:flex-start; gap:12px; padding:2px 0 12px; scroll-margin-top:145px; }.navFast { flex:1 0 130px; max-width:220px; min-height:110px; border:1px solid var(--store-line) !important; border-radius:10px; padding:18px 12px !important; background:white; color:var(--store-ink); font-size:10px; font-weight:650; text-transform:none; }.navFast img { width:43px; height:43px; object-fit:contain; margin-bottom:8px; }.navFast:hover,.navFast.activo { background:#edf7fc; color:var(--store-blue); box-shadow:0 3px 12px #163b4b0a; }
#mas-categorias button { border-radius:5px; font-size:11px; }#viewConfig:empty,#viendo:empty { display:none; }
#viendo { max-width:1216px; margin:30px auto 20px; text-align:left; font-size:27px; font-weight:700; color:var(--store-ink); scroll-margin-top:145px; }
#main { max-width:1280px; margin:auto; padding:28px 32px 50px; gap:20px; min-height:180px; }#main>h2 { width:100%; color:var(--store-ink) !important; font-size:25px; font-weight:700; letter-spacing:-.7px; margin:10px 0 4px; }
#carta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%; }
.producto,.producto-d,.tipo { width:100%; min-width:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:18px; border:1px solid var(--store-line); border-radius:12px; background:white; box-shadow:none; color:var(--store-ink); position:relative; overflow:hidden; }
.producto:hover,.producto-d:hover,.tipo:hover { transform:translateY(-4px); border-color:#a6cfe3; box-shadow:0 10px 28px #15374a0c; }
.producto .imgPortada,.producto-d .imgPortada { aspect-ratio:1; object-fit:contain; margin-bottom:20px; }.producto h4,.producto-d h4 { font-size:13px; color:var(--store-ink); line-height:1.6; text-align:left !important; width:100%; font-weight:600; }.product-name { min-height:43px; margin-bottom:16px; }.product-price { margin-top:auto; font-size:20px !important; font-weight:750 !important; }.product-price del { color:#8a969e; font-size:12px; font-weight:400; margin-right:8px; }.product-price strong { color:var(--store-blue); }.product-action { margin-top:15px; padding-top:12px; border-top:1px solid #edf1f4; color:var(--store-blue); font-size:11px; font-weight:650; display:flex; justify-content:space-between; }.offer-badge { position:absolute; top:12px; left:12px; padding:5px 9px; border-radius:5px; background:#e9f5ee; color:#26734a; font-size:10px; font-weight:700; z-index:1; }
.tipo h2 { font-size:14px; font-weight:600; color:var(--store-ink); margin-top:16px; }.tipo .imgPortada { height:160px; }
.productoProfile { max-width:950px; display:grid; grid-template-columns:1fr 1fr; gap:20px 36px; padding:36px; border:1px solid var(--store-line); border-radius:14px; background:white; box-shadow:none; color:var(--store-ink); align-content:start; }.productoProfile .imgPortadaB { grid-column:1; grid-row:1 / span 8; width:100%; max-width:100%; height:420px; object-fit:contain; align-self:start; }.productoProfile>* { grid-column:2; min-width:0; }.productoProfile h4 { text-align:left; margin:0; font-size:24px; line-height:1.4; font-weight:650; }.productoProfile p { font-size:13px; line-height:1.8; color:var(--store-muted); margin:0; }.productoProfile .botonImagen { font-size:11px; background:#edf7f0 !important; color:#26734a !important; width:max-content; border-radius:6px; }.productoProfile .form-item { justify-content:flex-start; gap:10px; }.productoProfile .form-item span { text-align:left; font-size:12px; font-weight:600; }.inputNumber { width:120px; height:40px; border:1px solid var(--store-line); border-radius:6px; overflow:hidden; }.inputNumber input { border:0; text-align:center; color:var(--store-ink); }.inputNumber .more,.inputNumber .less { background:#eef5f9; color:var(--store-blue); font-size:20px; }.productoProfile textarea { min-height:85px; font-size:12px; border-color:var(--store-line); border-radius:8px; }.productoProfile .boton { width:100%; padding:16px; border-radius:7px; font-size:13px; }.productoProfile .flotante { position:static; z-index:auto; }.accion:hover { background:#06658e; color:white; }
footer { margin-top:20px; background:#08394f; color:white; padding:48px max(32px,calc((100% - 1216px)/2)); display:grid; grid-template-columns:1fr 1.4fr; gap:40px; min-height:0; }.footer-brand { font-size:34px; font-weight:750; letter-spacing:-1.3px; }.footer-brand>span { color:#47bae8; }.footer-intro p { font-size:12px; color:#bed1db; line-height:1.9; margin:16px 0; }.footer-intro>a { color:white; font-size:12px; border-bottom:1px solid #608799; padding-bottom:6px; }#contacto { width:100%; gap:24px; flex-wrap:wrap; justify-content:space-between; }#contacto .element { width:auto; }#contacto .element:last-child { display:none; }#contacto h2 { font-size:16px; font-weight:650; margin-bottom:22px; }#contacto span { font-size:12px; line-height:1.8; margin-bottom:13px; overflow-wrap:anywhere; }#contacto a { color:#d2e0e8 !important; }#contacto img { margin-right:7px; }.footer-bottom { grid-column:1/-1; border-top:1px solid #ffffff20; padding-top:22px; display:flex; justify-content:space-between; gap:16px; color:#a5c0cd; font-size:10px; }
@media(min-width:1600px) { #carta { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:1000px) { .header-inner { gap:24px; }.contact-link { display:none !important; }.hero-note { width:210px; height:210px; padding:24px; }.hero-note p { font-size:17px; }#carta { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { html { scroll-padding-top:165px; }.shipping-strip { font-size:9px; }.shipping-strip span { margin:0 6px; }.header-inner { padding:12px 18px; flex-wrap:wrap; gap:12px; justify-content:space-between; }.store-brand img { width:96px; height:34px; }.store-brand span { display:none; }.header-actions { gap:22px; }.header-actions a { font-size:11px; }.store-search { order:3; flex-basis:100%; }#search-box { padding:2px 6px; }#search-box input { font-size:12px; }#search-box button { width:35px; height:35px; }#portada { padding:18px 16px 0; }.store-hero { padding:30px 24px; border-radius:12px; }.hero-copy h1 { font-size:32px; letter-spacing:-1px; }.hero-copy p { font-size:12px; }.hero-note { display:none; }.hero-button { padding:13px 16px; font-size:11px; }.section-heading { margin-top:28px; }.section-heading h2 { font-size:21px; }.section-heading>span { display:none; }#ads-carousel { aspect-ratio:16/9 !important; }.navFast { flex-basis:112px; min-height:105px; }#main { padding:24px 16px 32px; }#main>h2 { font-size:22px; }#carta { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.producto,.producto-d,.tipo { padding:12px; border-radius:9px; }.producto h4,.producto-d h4 { font-size:11px; }.product-price { font-size:17px !important; }.product-action { font-size:10px; }.product-name { min-height:36px; }.tipo .imgPortada { height:110px; }#viendo { margin:24px 16px 0; width:auto; font-size:23px; }.productoProfile { display:flex; padding:20px; gap:18px; }.productoProfile>* { width:100%; }.productoProfile .imgPortadaB { height:270px; }.productoProfile h4 { font-size:21px; }footer { grid-template-columns:1fr; padding:36px 24px; gap:32px; }.footer-bottom { flex-direction:column; gap:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }a,button { transition:none; }.producto:hover,.producto-d:hover,.tipo:hover { transform:none; } }
[hidden] { display:none !important; }
.toastify.cart-success-toast {
    max-width: calc(100vw - 32px);
    padding: 15px 18px;
    border-radius: 8px;
    box-shadow: 0 6px 24px #163b4b20;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.6;
    cursor: default;
}
@media (prefers-reduced-motion: reduce) {
    .toastify.cart-success-toast { transition: none; }
}
.line-intro { width:100%; }
.line-intro h1 { font-size:28px; font-weight:700; color:var(--store-ink); }
.line-intro p { font-size:13px; color:var(--store-muted); line-height:1.8; }
