/* ══════════════════════════════════════════════════════════
   styles.css — Servicio Técnico Volvo
   ══════════════════════════════════════════════════════════
   SECCIONES:
     Variables globales (:root)     — colores, tamaños
     Top bar                        — barra azul superior
     Nav                            — navegación sticky
     Hero                           — sección principal
     Brand section                  — celdas de marcas
     Categories                     — grilla de categorías
     Products                       — tarjetas de productos
     Sidebar / Filters              — filtros del catálogo
     Cart drawer                    — carrito lateral
     Modal                          — popups
     Footer                         — pie de página
     Responsive (@media)            — móvil / tablet
   ══════════════════════════════════════════════════════════ */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --blue:#003A6E;--blue-mid:#1560A8;--blue-light:#2B7BC8;--blue-pale:#D6E8F7;--blue-xpale:#EEF5FC;
  --silver:#C8CDD4;--silver-light:#E8EAED;
  --white:#FFFFFF;--off-white:#F4F6F9;--page-bg:#EEF1F5;
  --text:#0D1B2A;--text-mid:#2D3E50;--text-muted:#5A6A7A;--text-dim:#8A9BB0;
  --border:rgba(0,58,110,0.10);--border-strong:rgba(0,58,110,0.20);
  --green:#1A8A4A;--amber:#8A6000;--red:#C0392B;
  --radius:8px;--radius-lg:10px;
}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--page-bg);color:var(--text);overflow-x:hidden}

/* ── TOP BAR ── */
.topbar{background:var(--blue);padding:9px 40px;display:flex;align-items:center;justify-content:space-between}
.topbar p{font-size:12px;color:rgba(255,255,255,0.88);letter-spacing:0.4px}
.topbar span{font-size:12px;color:var(--blue-pale);cursor:pointer}

/* ── NAV ── */
nav{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:68px;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.logo{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
.logo-icon{width:38px;height:38px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-text{font-size:20px;font-weight:600;color:var(--blue)}.logo-text span{color:var(--blue-light)}
.nav-search{display:flex;align-items:center;background:var(--off-white);border:1.5px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;width:400px;transition:border-color 0.2s}
.nav-search:focus-within{border-color:var(--blue-light)}
.nav-search input{flex:1;background:none;border:none;padding:10px 16px;font-size:14px;color:var(--text);outline:none}
.nav-search input::placeholder{color:var(--text-dim)}
.sbtn{background:var(--blue);border:none;padding:10px 18px;cursor:pointer;color:white;font-size:13px;transition:background 0.2s;white-space:nowrap}
.sbtn:hover{background:var(--blue-light)}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-link{font-size:13px;color:var(--text-muted);cursor:pointer;text-decoration:none;transition:color 0.2s}
.nav-link:hover{color:var(--blue)}
.cart-btn{display:flex;align-items:center;gap:8px;background:var(--blue);color:white;border:none;padding:9px 20px;border-radius:var(--radius);font-size:13px;cursor:pointer;transition:background 0.2s}
.cart-btn:hover{background:var(--blue-light)}
.cart-count{background:white;color:var(--blue);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}

/* ── HAMBURGER & MOBILE MENU ── */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius)}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all 0.25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:sticky;top:68px;z-index:99;background:var(--white);border-bottom:1px solid var(--border);padding:16px 20px;flex-direction:column;gap:4px;box-shadow:0 4px 16px rgba(0,58,110,0.08)}
.mobile-menu.open{display:flex}
.mobile-menu-search{display:flex;margin-bottom:8px;border:1.5px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}
.mobile-menu-search input{flex:1;border:none;background:none;padding:10px 14px;font-size:14px;color:var(--text);outline:none}
.mobile-menu-link{padding:13px 8px;font-size:15px;color:var(--text-mid);text-decoration:none;cursor:pointer;border-bottom:1px solid var(--border);display:block;transition:color 0.15s}
.mobile-menu-link:last-of-type{border-bottom:none}
.mobile-menu-link:hover{color:var(--blue)}
.mobile-menu-cart{margin-top:12px;width:100%;background:var(--blue);color:white;border:none;padding:13px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}

@media(max-width:768px){
  .hamburger{display:flex}
  .nav-right{display:none}
  .nav-search{display:none}
  .logo-text{font-size:16px}
  nav{padding:0 16px}
}

/* ── PAGES ── */
.page{display:none}.page.active{display:block}

/* ══════════════════════════════════
   PÁGINA PRINCIPAL
══════════════════════════════════ */
.hero{background: linear-gradient(rgba(0, 20, 50, 0.72), rgba(0, 30, 60, 0.65)), url('../imagenes/hero.jpg') center/cover no-repeat; background-color:#001432; padding:72px 40px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;top:-40px;right:-80px;width:500px;height:500px;border:1px solid rgba(255,255,255,0.05);border-radius:50%}
.hero::before{content:'';position:absolute;top:20px;right:60px;width:300px;height:300px;border:1px solid rgba(255,255,255,0.04);border-radius:50%}
.hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative;z-index:1}
.hero-tag{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue-pale);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:4px 12px;border-radius:3px;margin-bottom:20px}
.hero h1{font-size:clamp(30px,3.5vw,50px);font-weight:600;line-height:1.15;color:white;margin-bottom:16px}
.hero h1 span{color:var(--silver-light)}
.hero p{font-size:15px;color:rgba(255,255,255,0.72);line-height:1.7;margin-bottom:32px;max-width:420px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-white{background:white;color:var(--blue);border:none;padding:13px 28px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background 0.2s}
.btn-white:hover{background:var(--silver-light)}
.btn-outline-w{background:transparent;color:white;border:1px solid rgba(255,255,255,0.35);padding:13px 28px;border-radius:var(--radius);font-size:14px;cursor:pointer;transition:all 0.2s}
.btn-outline-w:hover{border-color:rgba(255,255,255,0.65);background:rgba(255,255,255,0.06)}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hstat{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius);padding:18px;text-align:center}
.hstat-num{font-size:26px;font-weight:600;color:white;display:block}
.hstat-num span{color:var(--silver-light)}
.hstat-label{font-size:11px;color:rgba(255,255,255,0.6);margin-top:4px;display:block;letter-spacing:0.5px}
.hstat.wide{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:28px;padding:14px;flex-wrap:wrap}
.badge-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,0.7)}
.badge-dot{width:7px;height:7px;background:var(--silver-light);border-radius:50%;flex-shrink:0}

/* BRAND SECTION */
.brand-section{background:var(--white);padding:48px 40px;border-bottom:1px solid var(--border)}
.brand-inner{max-width:1100px;margin:0 auto}
.brand-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.sec-title{font-size:20px;font-weight:600;color:var(--text)}
.sec-sub{font-size:13px;color:var(--text-muted);margin-top:4px}
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.brand-card{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;min-height:110px;position:relative}
.brand-card.filled{border-style:solid;border-color:var(--border);background:var(--off-white)}
.brand-card.filled:hover,.brand-card.empty:hover{border-color:var(--blue-light);background:var(--blue-pale)}
.brand-logo-text{font-size:20px;font-weight:700;color:var(--blue);letter-spacing:1px}
.brand-logo-sub{font-size:11px;color:var(--text-muted);margin-top:4px;letter-spacing:0.5px}
.brand-plus{width:36px;height:36px;border-radius:50%;background:rgba(21,96,168,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.brand-plus-label{font-size:12px;color:var(--text-dim);text-align:center;line-height:1.4}
.brand-edit{position:absolute;top:8px;right:8px;background:rgba(21,96,168,0.12);color:var(--blue-light);border:none;border-radius:4px;font-size:10px;padding:3px 8px;cursor:pointer;opacity:0;transition:opacity 0.2s;letter-spacing:0.5px}
.brand-card:hover .brand-edit{opacity:1}

/* CATEGORIES */
.cats-section{padding:48px 40px;max-width:1100px;margin:0 auto}
.sec-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.sec-link{font-size:13px;color:var(--blue-light);cursor:pointer;background:none;border:none;text-decoration:none}
.cats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cat-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:24px 12px 20px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden}
.cat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue-mid);transform:scaleX(0);transform-origin:left;transition:transform 0.22s}
.cat-card:hover{border-color:var(--blue-light);background:var(--blue-xpale);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,58,110,0.1)}
.cat-card:hover::before{transform:scaleX(1)}
.cat-icon{width:56px;height:56px;margin:0 auto 14px;background:var(--blue-pale);border:1px solid rgba(21,96,168,0.15);border-radius:14px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.cat-card:hover .cat-icon{background:white;border-color:var(--blue-light)}
.cat-name{font-size:13px;color:var(--text);font-weight:600;margin-bottom:4px}
.cat-count{font-size:11px;color:var(--text-dim);min-height:16px}

/* HOME PRODUCTS */
.home-products{padding:0 40px 64px;max-width:1100px;margin:0 auto}
.products-grid-home{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}

/* BRANDS BAR */
.brands-bar{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 40px}
.brands-bar-inner{max-width:1100px;margin:0 auto}
.brands-bar-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:20px;text-align:center}
.brands-bar-grid{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:12px}
.brand-pill{background:var(--off-white);border:1px solid var(--border);border-radius:5px;padding:9px 18px;font-size:13px;font-weight:500;color:var(--text-mid);letter-spacing:0.5px;cursor:pointer;transition:all 0.2s}
.brand-pill:hover{color:var(--blue);border-color:var(--blue-light);background:var(--blue-pale)}

/* WHY */
.why-section{padding:56px 40px;max-width:1100px;margin:0 auto}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.why-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 18px}
.why-icon{width:38px;height:38px;background:var(--blue-pale);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.why-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:7px}
.why-desc{font-size:13px;color:var(--text-muted);line-height:1.6}

/* ── SERVICIOS ── */
.servicios-section{padding:72px 40px;background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.servicios-inner{max-width:1100px;margin:0 auto}
.servicios-header{text-align:center;margin-bottom:52px}
.servicios-tag{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue-mid);background:var(--blue-pale);border:1px solid rgba(21,96,168,0.2);padding:4px 14px;border-radius:3px;margin-bottom:14px}
.servicios-title{font-size:clamp(24px,3vw,36px);font-weight:600;color:var(--text);margin-bottom:12px}
.servicios-desc{font-size:15px;color:var(--text-muted);max-width:520px;margin:0 auto;line-height:1.7}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.srv-card{background:var(--off-white);border:1px solid var(--border);border-radius:12px;padding:28px 24px;transition:all 0.2s;position:relative;overflow:hidden}
.srv-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--blue-mid);transform:scaleY(0);transform-origin:bottom;transition:transform 0.25s}
.srv-card:hover{border-color:var(--blue-light);background:var(--white);transform:translateY(-2px)}
.srv-card:hover::before{transform:scaleY(1)}
.srv-icon{width:48px;height:48px;background:var(--blue-pale);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.srv-name{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}
.srv-desc{font-size:13px;color:var(--text-muted);line-height:1.65;margin-bottom:18px}
.srv-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--blue-mid);letter-spacing:0.3px;text-decoration:none;border:none;background:none;cursor:pointer;padding:0;transition:gap 0.2s}
.srv-btn:hover{gap:10px;color:var(--blue-light)}
.srv-btn svg{flex-shrink:0}
.srv-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;margin-bottom:12px;background:rgba(21,96,168,0.1);color:var(--blue-mid);border:1px solid rgba(21,96,168,0.18)}
.servicios-cta{margin-top:44px;text-align:center;padding:36px;background:var(--blue);border-radius:12px}
.servicios-cta p{font-size:16px;color:rgba(255,255,255,0.85);margin-bottom:20px;line-height:1.6}
.servicios-cta-btn{display:inline-flex;align-items:center;gap:10px;background:white;color:var(--blue);border:none;padding:13px 28px;border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.2s;text-decoration:none}
.servicios-cta-btn:hover{background:var(--silver-light)}
@media(max-width:900px){
  .servicios-section{padding:48px 20px}
  .servicios-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .servicios-grid{grid-template-columns:1fr}
}

/* CTA */
.cta-section{background:var(--blue);padding:60px 40px;text-align:center}
.cta-section h2{font-size:30px;font-weight:600;color:white;margin-bottom:10px}
.cta-section p{font-size:15px;color:rgba(255,255,255,0.72);margin-bottom:28px;line-height:1.6;max-width:520px;margin-left:auto;margin-right:auto}
.cta-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cta-input{flex:1;min-width:220px;padding:13px 18px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.25);border-radius:var(--radius);color:white;font-size:14px;outline:none}
.cta-input::placeholder{color:rgba(255,255,255,0.5)}
.cta-btn{background:white;color:var(--blue);border:none;padding:13px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background 0.2s}
.cta-btn:hover{background:var(--silver-light)}

/* FOOTER */
footer{background:var(--white);border-top:1px solid var(--border);padding:48px 40px 20px}
.footer-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:36px}
.footer-brand p{font-size:13px;color:var(--text-muted);line-height:1.7;margin-top:12px;max-width:240px}
.footer-col h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px;font-weight:600}
.footer-col a{display:block;font-size:13px;color:var(--text-muted);text-decoration:none;margin-bottom:9px;cursor:pointer;transition:color 0.2s}
.footer-col a:hover{color:var(--blue)}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12px;color:var(--text-dim)}

/* ══════════════════════════════════
   PÁGINA CATÁLOGO
══════════════════════════════════ */
.breadcrumb{padding:14px 32px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.breadcrumb span{font-size:13px;color:var(--text-dim);cursor:pointer;transition:color 0.2s}
.breadcrumb span:hover{color:var(--blue)}
.breadcrumb .sep{color:var(--text-dim);font-size:12px}
.breadcrumb .current{color:var(--blue);font-weight:600}

.page-layout{display:grid;grid-template-columns:240px 1fr;gap:0;max-width:1200px;margin:0 auto;padding:24px 32px;align-items:start}

.sidebar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:88px}
.sidebar-head{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.sidebar-head h3{font-size:14px;font-weight:600;color:var(--text)}
.clear-btn{font-size:12px;color:var(--blue-light);cursor:pointer;background:none;border:none}
.sidebar-close-btn{display:none}

/* MOBILE FILTER DRAWER */
.filter-toggle-btn{display:none;align-items:center;gap:7px;background:var(--blue-pale);border:1.5px solid var(--border-strong);color:var(--blue);border-radius:var(--radius);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.filter-badge{background:var(--blue);color:white;border-radius:50%;min-width:18px;height:18px;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;padding:0 3px}
.filter-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:198;backdrop-filter:blur(1px)}
.filter-overlay.open{display:block}
.filter-group{border-bottom:1px solid var(--border);padding:14px 18px}
.filter-group:last-child{border-bottom:none}
.fg-title{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:0.8px;text-transform:uppercase;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.fg-arrow{font-size:10px;transition:transform 0.2s;display:inline-block}
.fg-arrow.open{transform:rotate(180deg)}
.filter-option{display:flex;align-items:center;gap:9px;margin-bottom:9px;cursor:pointer}
.filter-option:last-child{margin-bottom:0}
.fchk{width:15px;height:15px;border:1.5px solid var(--border-strong);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;background:white}
.fchk.checked{background:var(--blue);border-color:var(--blue)}
.fchk.checked::after{content:'';width:8px;height:5px;border-left:1.5px solid white;border-bottom:1.5px solid white;transform:rotate(-45deg) translate(1px,-1px);display:block}
.fo-label{font-size:13px;color:var(--text-muted);flex:1}
.fo-count{font-size:11px;color:var(--text-dim);background:var(--off-white);padding:1px 6px;border-radius:10px}
.price-range{display:flex;gap:8px;align-items:center}
.price-input{flex:1;padding:7px 10px;border:1.5px solid var(--border-strong);border-radius:5px;font-size:13px;color:var(--text);background:var(--off-white);outline:none;width:80px}
.price-input:focus{border-color:var(--blue-light)}
.price-sep{font-size:12px;color:var(--text-dim)}
.apply-price-btn{margin-top:10px;width:100%;padding:8px;background:var(--blue-pale);color:var(--blue);border:1px solid rgba(21,96,168,0.25);border-radius:5px;font-size:12px;cursor:pointer;font-weight:500}
.apply-price-btn:hover{background:var(--blue-pale)}

.catalog-area{padding-left:20px}
.catalog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.catalog-title{font-size:18px;font-weight:600;color:var(--text)}
.catalog-meta{font-size:13px;color:var(--text-muted);margin-top:2px}
.catalog-controls{display:flex;align-items:center;gap:10px}
.sort-select{padding:7px 12px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-size:13px;color:var(--text-mid);background:var(--white);outline:none;cursor:pointer}
.view-btns{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}
.vbtn{background:var(--white);border:none;padding:7px 10px;cursor:pointer;color:var(--text-dim);transition:all 0.15s;display:flex;align-items:center;justify-content:center}
.vbtn.active{background:var(--blue);color:white}

.active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.af-label{font-size:12px;color:var(--text-muted)}
.af-tag{display:flex;align-items:center;gap:5px;background:var(--blue-pale);color:var(--blue);border:1px solid rgba(21,96,168,0.25);padding:4px 10px;border-radius:20px;font-size:12px;cursor:pointer;transition:background 0.15s}
.af-tag:hover{background:rgba(21,96,168,0.18)}
.af-x{font-size:14px;line-height:1;color:var(--blue-mid)}

/* PRODUCT CARDS */
.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.products-grid.list-view{grid-template-columns:1fr}
.prod-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;cursor:pointer}
.prod-card:hover{border-color:var(--blue-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(21,96,168,0.09)}
.prod-card.list-card{display:grid;grid-template-columns:140px 1fr auto}
.prod-img{height:140px;background:var(--off-white);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--border)}
.prod-card.list-card .prod-img{height:auto;min-height:120px;border-bottom:none;border-right:1px solid var(--border)}
.pbadge{position:absolute;top:8px;left:8px;font-size:10px;padding:2px 7px;border-radius:3px;font-weight:600;letter-spacing:0.3px}
.b-new{background:rgba(21,96,168,0.1);color:var(--blue);border:1px solid rgba(21,96,168,0.22)}
.b-sale{background:rgba(192,57,43,0.08);color:var(--red);border:1px solid rgba(192,57,43,0.2)}
.b-stock{position:absolute;top:8px;right:8px;font-size:10px;padding:2px 7px;border-radius:3px;font-weight:500}
.s-in{background:rgba(26,138,74,0.1);color:var(--green);border:1px solid rgba(26,138,74,0.2)}
.s-low{background:rgba(138,96,0,0.1);color:var(--amber);border:1px solid rgba(138,96,0,0.2)}
.s-out{background:rgba(192,57,43,0.08);color:var(--red);border:1px solid rgba(192,57,43,0.18)}
.prod-body{padding:13px}
.prod-card.list-card .prod-body{display:flex;flex-direction:column;justify-content:center}
.prod-ref{font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.prod-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4}
.prod-compat{font-size:11px;color:var(--text-muted);margin-bottom:10px;line-height:1.4}
.prod-brand{display:inline-block;font-size:10px;padding:2px 7px;background:var(--blue-xpale);color:var(--blue);border-radius:3px;margin-bottom:8px;letter-spacing:0.3px;font-weight:500}
.prod-img img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.prod-icon-wrap{display:flex;align-items:center;justify-content:center;width:70px;height:70px;opacity:0.8}
.prod-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-top:1px solid var(--border)}
.prod-card.list-card .prod-foot{flex-direction:column;align-items:flex-end;justify-content:center;padding:13px;gap:10px;border-left:1px solid var(--border);border-top:none}
.prod-prices{display:flex;flex-direction:column;gap:1px}
.prod-price{font-size:17px;font-weight:700;color:var(--blue)}
.prod-old{font-size:11px;color:var(--text-dim);text-decoration:line-through}
.add-btn{background:var(--blue);color:white;border:none;width:32px;height:32px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;transition:background 0.2s;flex-shrink:0}
.add-btn:hover{background:var(--blue-light)}
.add-btn:disabled{background:var(--border-strong);opacity:0.55;cursor:not-allowed}
.add-btn:disabled:hover{background:var(--border-strong)}

.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px;padding-bottom:8px}
.page-btn{width:34px;height:34px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--text-muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s}
.page-btn:hover{border-color:var(--blue-light);color:var(--blue)}
.page-btn.active{background:var(--blue);color:white;border-color:var(--blue)}
.page-btn.disabled{opacity:0.4;pointer-events:none}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:white;border-radius:var(--radius-lg);padding:28px;width:340px;border:1px solid var(--border)}
.modal h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px}
.modal input{width:100%;padding:10px 14px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-size:14px;color:var(--text);outline:none;margin-bottom:12px;background:var(--off-white)}
.modal input:focus{border-color:var(--blue-light)}
.modal-btns{display:flex;gap:10px;margin-top:4px}
.modal-save{background:var(--blue);color:white;border:none;padding:10px 20px;border-radius:var(--radius);font-size:13px;cursor:pointer;flex:1;font-weight:600}
.modal-save:hover{background:var(--blue-light)}
.modal-cancel{background:var(--off-white);color:var(--text-muted);border:1px solid var(--border);padding:10px 20px;border-radius:var(--radius);font-size:13px;cursor:pointer;flex:1}

/* RESPONSIVE */
@media(max-width:900px){
  .topbar,.hero,.brand-section,.cats-section,.home-products,.brands-bar,.why-section,.cta-section{padding-left:20px;padding-right:20px}
  nav{padding:0 20px}
  .nav-search{width:200px}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .brand-grid{grid-template-columns:repeat(2,1fr)}
  .cats-grid{grid-template-columns:repeat(3,1fr)}
  .products-grid-home,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr;padding:0 20px}
  footer{padding:40px 20px 20px}
  .filter-toggle-btn{display:flex}
  .page-layout{grid-template-columns:1fr;padding:16px}
  .catalog-area{padding-left:0}
  .sidebar{
    position:fixed;left:0;top:0;bottom:0;
    width:285px;max-width:88vw;
    z-index:199;overflow-y:auto;
    border-radius:0;border-left:none;border-top:none;border-bottom:none;
    transform:translateX(-100%);
    transition:transform 0.28s cubic-bezier(0.4,0,0.2,1);
    box-shadow:none;
  }
  .sidebar.mobile-open{transform:translateX(0);box-shadow:6px 0 32px rgba(0,30,80,0.18)}
  .sidebar-close-btn{display:flex;align-items:center;justify-content:flex-end;width:100%;background:none;border:none;font-size:26px;color:var(--text-muted);cursor:pointer;padding:12px 16px 0;line-height:1}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .breadcrumb{padding:12px 16px}
}
@media(max-width:560px){
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .products-grid-home,.products-grid,.why-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-btns{flex-direction:column}
}

/* ── CART DRAWER ─────────────────────────────────────────── */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:300;opacity:0;pointer-events:none;transition:opacity 0.25s}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:95vw;background:var(--white);box-shadow:-4px 0 32px rgba(0,58,110,0.12);z-index:301;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}
.cart-header-title{font-size:16px;font-weight:600;color:var(--text)}
.cart-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:22px;line-height:1;padding:0;transition:color 0.15s}
.cart-close:hover{color:var(--text)}
.cart-body{flex:1;overflow-y:auto;padding:16px 24px}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);font-size:14px}
.cart-empty svg{opacity:0.3}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}
.cart-item:last-child{border-bottom:none}
.cart-item-img{width:48px;height:48px;background:var(--off-white);border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.cart-item-img img{width:100%;height:100%;object-fit:contain}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-ref{font-size:11px;color:var(--text-dim);margin-bottom:8px}
.cart-item-controls{display:flex;align-items:center;gap:8px}
.qty-btn{width:26px;height:26px;border:1px solid var(--border-strong);border-radius:4px;background:var(--off-white);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:all 0.15s}
.qty-btn:hover{background:var(--blue-pale);border-color:var(--blue-light);color:var(--blue)}
.qty-val{font-size:13px;font-weight:500;min-width:20px;text-align:center;color:var(--text)}
.cart-item-remove{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:17px;padding:0;margin-left:auto;transition:color 0.15s;line-height:1}
.cart-item-remove:hover{color:var(--red)}
.cart-item-price{font-size:14px;font-weight:600;color:var(--blue);white-space:nowrap}
.cart-footer{padding:20px 24px;border-top:1px solid var(--border);background:var(--white)}
.cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.cart-subtotal-label{font-size:13px;color:var(--text-muted)}
.cart-subtotal-val{font-size:22px;font-weight:600;color:var(--blue)}
.cart-subtotal-items{font-size:12px;color:var(--text-dim);margin-bottom:16px}
.cart-wa-btn{width:100%;background:#25D366;color:white;border:none;padding:14px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background 0.2s;margin-bottom:8px}
.cart-wa-btn:hover{background:#1ebe5d}
.cart-clear{width:100%;background:none;border:1px solid var(--border);color:var(--text-muted);padding:10px;border-radius:var(--radius);font-size:13px;cursor:pointer;transition:all 0.15s}
.cart-clear:hover{border-color:var(--red);color:var(--red);background:rgba(192,57,43,0.04)}
/* cart btn pulse */
.cart-btn.has-items{background:var(--blue-mid)}
@keyframes cart-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.cart-count.pulse{animation:cart-pulse 0.3s ease}
/* loading skeleton */
.skeleton{background:linear-gradient(90deg,var(--off-white) 25%,var(--silver-light) 50%,var(--off-white) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--radius)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.loading-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.loading-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.loading-img{height:155px;background:var(--off-white)}
.loading-body{padding:13px;display:flex;flex-direction:column;gap:8px}



/* ══════════════════════════════════════════════════════════
   PÁGINA DETALLE DE PRODUCTO
══════════════════════════════════════════════════════════ */

.detail-breadcrumb{padding:14px 40px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.detail-breadcrumb span{font-size:13px;color:var(--text-dim);transition:color 0.15s}
.detail-breadcrumb span:hover{color:var(--blue)}
.detail-breadcrumb .sep{color:var(--text-dim);font-size:12px}
.detail-breadcrumb .current{color:var(--blue);font-weight:500}

.detail-container{max-width:1100px;margin:0 auto;padding:48px 40px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}

/* Imagen */
.detail-img-box{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-lg);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.detail-img-box img{width:100%;height:100%;object-fit:contain;padding:24px}
.detail-img-box svg{opacity:0.4;transform:scale(2)}
.detail-img-zoomable{cursor:zoom-in;transition:transform 0.2s,opacity 0.2s}
.detail-img-zoomable:hover{transform:scale(1.03);opacity:0.92}
.lightbox{display:none;position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;cursor:zoom-out;animation:lb-in 0.18s ease}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 12px 60px rgba(0,0,0,0.7);cursor:default;pointer-events:none}
.lightbox-close{position:absolute;top:14px;right:18px;background:rgba(255,255,255,0.1);border:none;color:white;font-size:24px;cursor:pointer;line-height:1;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.15s}
.lightbox-close:hover{background:rgba(255,255,255,0.22)}
@keyframes lb-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}
.detail-stock-bar{margin-top:12px;padding:12px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;text-align:center}
.detail-stock-bar.in{background:rgba(26,138,74,0.08);color:var(--green);border:1px solid rgba(26,138,74,0.2)}
.detail-stock-bar.low{background:rgba(138,96,0,0.08);color:var(--amber);border:1px solid rgba(138,96,0,0.2)}
.detail-stock-bar.out{background:rgba(192,57,43,0.06);color:var(--red);border:1px solid rgba(192,57,43,0.2)}

/* Info */
.detail-ref{font-size:11px;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;font-family:monospace}
.detail-name{font-size:clamp(22px,3vw,32px);font-weight:600;color:var(--text);line-height:1.25;margin-bottom:14px}
.detail-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}
.detail-brand{background:var(--blue-pale);color:var(--blue);font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;letter-spacing:0.3px}
.detail-cat{background:var(--off-white);color:var(--text-muted);font-size:12px;padding:4px 12px;border-radius:20px;border:1px solid var(--border)}

.detail-price-box{display:flex;align-items:baseline;gap:12px;margin-bottom:28px;padding:20px;background:var(--blue-xpale);border-radius:var(--radius-lg);border:1px solid var(--blue-pale)}
.detail-price{font-size:36px;font-weight:700;color:var(--blue)}
.detail-price-old{font-size:18px;color:var(--text-dim);text-decoration:line-through}

.detail-section{margin-bottom:24px}
.detail-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.detail-compat{display:flex;flex-wrap:wrap;gap:6px}
.detail-compat-pill{background:var(--off-white);border:1px solid var(--border);color:var(--text-mid);font-size:12px;padding:4px 12px;border-radius:20px;font-weight:500}
.detail-notes{font-size:14px;color:var(--text-muted);line-height:1.6}

/* Acciones */
.detail-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.detail-qty-row{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.qty-btn-lg{width:38px;height:38px;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--off-white);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:all 0.15s;font-weight:300}
.qty-btn-lg:hover{background:var(--blue-pale);border-color:var(--blue-light);color:var(--blue)}
.detail-qty-val{font-size:18px;font-weight:600;min-width:32px;text-align:center;color:var(--text)}
.detail-add-btn{background:var(--blue);color:white;border:none;padding:15px 28px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background 0.2s}
.detail-add-btn:hover{background:var(--blue-light)}
.detail-add-btn:disabled{opacity:0.4;cursor:not-allowed}
.detail-secondary-row{display:flex;gap:10px;align-items:stretch}
.detail-wa-btn{flex:1;background:#25D366;color:white;padding:13px 18px;border-radius:var(--radius);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;transition:background 0.2s}
.detail-wa-btn:hover{background:#1ebe5d}
.detail-share-btn{flex-shrink:0;background:none;border:1.5px solid var(--border2,#d0daea);color:var(--text-muted,#6b7c99);padding:11px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:border-color 0.18s,color 0.18s,background 0.18s;white-space:nowrap}
.detail-share-btn:hover{border-color:var(--blue,#1560A8);color:var(--blue,#1560A8);background:rgba(21,96,168,0.05)}

.detail-garantia{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);padding:12px 16px;background:var(--off-white);border-radius:var(--radius);border:1px solid var(--border)}

/* Relacionados */
.detail-related{background:var(--off-white);border-top:1px solid var(--border);padding:48px 40px}
.detail-related-inner{max-width:1100px;margin:0 auto}
.detail-related-title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:24px}

@media(max-width:900px){
  .detail-container{grid-template-columns:1fr;gap:32px;padding:24px 20px}
  .detail-breadcrumb{padding:12px 20px}
  .detail-related{padding:32px 20px}
}


/* ══════════════════════════════════════════════════════════
   SISTEMA DE CITAS
══════════════════════════════════════════════════════════ */
.citas-hero{background:var(--blue);padding:56px 40px 48px;text-align:center}
.citas-tag{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue-pale);margin-bottom:12px}
.citas-title{font-size:clamp(28px,4vw,42px);font-weight:600;color:white;margin-bottom:10px}
.citas-desc{font-size:15px;color:rgba(255,255,255,0.72);max-width:480px;margin:0 auto;line-height:1.6}

.citas-container{max-width:680px;margin:0 auto;padding:48px 24px 80px}

/* Pasos */
.citas-steps{display:flex;align-items:center;justify-content:center;margin-bottom:48px;gap:0}
.citas-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px}
.citas-step-line{flex:1;height:1px;background:var(--border-strong);max-width:60px}
.step-circle{width:32px;height:32px;border-radius:50%;background:var(--off-white);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text-muted);transition:all 0.2s}
.citas-step span{font-size:11px;color:var(--text-muted);letter-spacing:0.3px;white-space:nowrap}
.citas-step.active .step-circle{background:var(--blue);border-color:var(--blue);color:white}
.citas-step.active span{color:var(--blue);font-weight:500}
.citas-step.done .step-circle{background:var(--green);border-color:var(--green);color:white}

/* Panels */
.citas-panel{display:none}
.citas-panel.active{display:block}
.citas-panel-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:28px}

/* Form fields */
.citas-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.citas-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.citas-field label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.6px}
.citas-field input,.citas-field select,.citas-field textarea{padding:11px 14px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--white);outline:none;transition:border-color 0.15s;font-family:inherit}
.citas-field input:focus,.citas-field select:focus,.citas-field textarea:focus{border-color:var(--blue-light)}
.citas-field textarea{resize:vertical;min-height:80px}
.req{color:var(--red);font-size:13px}
.opt{color:var(--text-dim);font-size:11px;text-transform:none;letter-spacing:0;font-weight:400}
.citas-divider{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:12px 0 16px;border-top:1px solid var(--border);margin-top:8px;margin-bottom:8px}

/* Horas grid */
.horas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.hora-btn{padding:10px 6px;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--white);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;text-align:center;transition:all 0.15s}
.hora-btn:hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-pale)}
.hora-btn.selected{border-color:var(--blue);background:var(--blue);color:white}
.hora-btn.bloqueada{background:var(--off-white);color:var(--text-dim);cursor:not-allowed;border-color:var(--border);opacity:0.5;pointer-events:none}
.hora-btn.bloqueada::after{content:' ✗';font-size:10px}

/* Notice */
.citas-notice{padding:12px 14px;border-radius:var(--radius);font-size:13px;margin-top:12px;line-height:1.5}
.citas-notice.info{background:var(--blue-pale);color:var(--blue);border:1px solid rgba(21,96,168,0.2)}
.citas-notice.warn{background:rgba(138,96,0,0.08);color:var(--amber);border:1px solid rgba(138,96,0,0.2)}

/* Nav buttons */
.citas-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.citas-btn-back{background:none;border:1px solid var(--border-strong);color:var(--text-muted);padding:11px 22px;border-radius:var(--radius);font-size:14px;cursor:pointer;transition:all 0.15s}
.citas-btn-back:hover{border-color:var(--blue-light);color:var(--blue)}
.citas-btn-next{background:var(--blue);color:white;border:none;padding:12px 28px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background 0.15s}
.citas-btn-next:hover{background:var(--blue-light)}
.citas-btn-confirm{background:#25D366;color:white;border:none;padding:13px 28px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background 0.15s}
.citas-btn-confirm:hover{background:#1ebe5d}

/* Resumen */
.citas-resumen{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:20px}
.resumen-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}
.resumen-row:last-child{border-bottom:none}
.resumen-label{color:var(--text-muted)}
.resumen-val{font-weight:500;color:var(--text);text-align:right;max-width:260px}
.resumen-highlight{background:var(--blue-pale);border-color:var(--blue-pale)}
.resumen-highlight .resumen-label{color:var(--blue);font-weight:600}
.resumen-highlight .resumen-val{color:var(--blue);font-size:16px;font-weight:700}

.citas-aviso{font-size:13px;color:var(--text-muted);line-height:1.6;padding:12px 14px;background:var(--off-white);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:8px}

/* Éxito */
.citas-ok-icon{width:72px;height:72px;border-radius:50%;background:rgba(26,138,74,0.1);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--green);margin:0 auto 24px;font-weight:700}

@media(max-width:600px){
  .citas-form-row{grid-template-columns:1fr}
  .horas-grid{grid-template-columns:repeat(3,1fr)}
  .citas-hero{padding:40px 20px}
  .citas-container{padding:32px 16px 60px}
}


/* ══════════════════════════════════════════════════════════
   BOTÓN FLOTANTE WHATSAPP
══════════════════════════════════════════════════════════ */
.wa-float{position:fixed;bottom:28px;right:28px;background:#25D366;color:white;border-radius:50px;padding:13px 20px 13px 16px;display:flex;align-items:center;gap:10px;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:250;transition:all 0.2s;font-size:14px;font-weight:600}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(37,211,102,0.5)}
.wa-float-label{white-space:nowrap}
@keyframes wa-ring{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:0}}
.wa-float::before{content:'';position:absolute;inset:-5px;border-radius:50px;border:2px solid rgba(37,211,102,0.45);animation:wa-ring 2.4s ease-in-out infinite;pointer-events:none}
@media(max-width:560px){.wa-float-label{display:none}.wa-float{padding:14px;border-radius:50%}}

/* ══════════════════════════════════════════════════════════
   SECCIÓN MAPA
══════════════════════════════════════════════════════════ */
.mapa-section{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}
.mapa-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;min-height:380px}
.mapa-info{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;gap:0}
.mapa-tag{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue-mid);background:var(--blue-pale);border:1px solid rgba(21,96,168,0.2);padding:4px 12px;border-radius:3px;margin-bottom:14px;align-self:flex-start}
.mapa-title{font-size:24px;font-weight:600;color:var(--text);margin-bottom:28px}
.mapa-dato{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.mapa-dato svg{flex-shrink:0;margin-top:2px}
.mapa-dato-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:3px}
.mapa-dato-val{font-size:14px;color:var(--text);line-height:1.6}
.mapa-dato-val a{color:var(--text);text-decoration:none;transition:color 0.15s}
.mapa-dato-val a:hover{color:var(--blue)}
.mapa-wa-btn{display:inline-flex;align-items:center;gap:9px;background:#25D366;color:white;padding:12px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;text-decoration:none;transition:background 0.2s;margin-top:8px;align-self:flex-start}
.mapa-wa-btn:hover{background:#1ebe5d}
.mapa-embed{background:var(--off-white);position:relative;overflow:hidden}
.mapa-embed iframe{display:block;width:100%;height:100%;min-height:380px;filter:grayscale(20%)}
@media(max-width:900px){
  .mapa-inner{grid-template-columns:1fr;min-height:auto}
  .mapa-info{padding:36px 24px}
  .mapa-embed iframe{min-height:280px}
}

/* ══════════════════════════════════════════════════════════
   CITAS — REDISEÑO COMPLETO
══════════════════════════════════════════════════════════ */

/* Hero mejorado */
.citas-hero{background:linear-gradient(135deg,var(--blue) 0%,#1560A8 60%,#2B7BC8 100%);padding:64px 40px 56px;text-align:center;position:relative;overflow:hidden}
.citas-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;border:1px solid rgba(255,255,255,0.06);border-radius:50%}
.citas-hero::after{content:'';position:absolute;bottom:-80px;left:-40px;width:280px;height:280px;border:1px solid rgba(255,255,255,0.04);border-radius:50%}
.citas-hero-inner{max-width:580px;margin:0 auto;position:relative;z-index:1}
.citas-hero-icon-wrap{width:68px;height:68px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.citas-trust{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:24px}
.citas-trust-item{display:flex;align-items:center;gap:7px;font-size:12px;color:rgba(255,255,255,0.8);letter-spacing:0.2px}

/* Panel cards */
.citas-panel-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:28px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,58,110,0.06)}
.citas-panel-card-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.citas-panel-card-icon{width:44px;height:44px;background:var(--blue-pale);border:1px solid rgba(21,96,168,0.18);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.citas-panel-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}
.citas-date-row{margin-bottom:4px}

/* Steps mejorados */
.citas-steps{display:flex;align-items:center;justify-content:center;margin-bottom:32px;gap:0;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:20px 24px;box-shadow:0 1px 4px rgba(0,58,110,0.06)}
.step-circle{width:40px;height:40px;border-radius:50%;background:var(--off-white);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.25s;color:var(--text-muted)}
.citas-step span{font-size:12px;color:var(--text-muted);margin-top:8px;letter-spacing:0.3px;font-weight:500;white-space:nowrap}
.citas-step.active .step-circle{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 4px 12px rgba(21,96,168,0.3)}
.citas-step.active span{color:var(--blue);font-weight:600}
.citas-step.done .step-circle{background:var(--green);border-color:var(--green);color:white}
.citas-step.done span{color:var(--green)}
.citas-step-line{flex:1;height:2px;background:var(--border);max-width:64px;margin:0 8px;margin-bottom:20px;transition:background 0.25s}

/* Aviso del paso 3 */
.citas-aviso{font-size:13px;color:var(--text-muted);line-height:1.7;padding:12px 16px;background:rgba(37,211,102,0.06);border-radius:var(--radius);border:1px solid rgba(37,211,102,0.2);margin-bottom:8px;display:flex;align-items:flex-start;gap:10px}
.citas-aviso svg{flex-shrink:0;margin-top:1px}

/* Panel éxito rediseñado */
.citas-ok-wrap{text-align:center;padding:56px 24px 48px;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 4px rgba(0,58,110,0.06)}
.citas-ok-circle{width:80px;height:80px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 24px rgba(26,138,74,0.3);animation:ok-pop 0.4s cubic-bezier(0.175,0.885,0.32,1.275)}
@keyframes ok-pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.citas-ok-title{font-size:26px;font-weight:700;color:var(--text);margin-bottom:10px}
.citas-ok-desc{font-size:15px;color:var(--text-muted);max-width:420px;margin:0 auto 36px;line-height:1.7}
.citas-ok-steps{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:36px;padding:20px;background:var(--off-white);border-radius:var(--radius);border:1px solid var(--border)}
.citas-ok-step{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:120px}
.citas-ok-step-num{width:32px;height:32px;border-radius:50%;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.citas-ok-step p{font-size:12px;color:var(--text-muted);text-align:center;line-height:1.4}
.citas-ok-step-arrow{font-size:18px;color:var(--text-dim);margin-bottom:20px}
.citas-ok-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.citas-ok-wa{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:white;padding:12px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;text-decoration:none;transition:background 0.2s}
.citas-ok-wa:hover{background:#1ebe5d}

@media(max-width:600px){
  .citas-trust{gap:14px}
  .citas-ok-steps{flex-direction:column}
  .citas-ok-step-arrow{transform:rotate(90deg)}
  .citas-hero{padding:48px 20px 40px}
}

/* ── BOTÓN HERO CITA (verde destacado) ─────────────── */
.btn-hero-cita{
  background:#25D366;color:white;border:none;
  padding:14px 28px;border-radius:var(--radius);
  font-size:15px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  transition:background 0.2s,transform 0.15s;
  box-shadow:0 4px 14px rgba(37,211,102,0.35);
}
.btn-hero-cita:hover{background:#1ebe5d;transform:translateY(-2px)}
.btn-hero-cita:active{transform:translateY(0)}

/* ── MEJORAS LEGIBILIDAD CITAS ──────────────────────── */
/* Tipografía más grande y clara */
.citas-container{font-size:15px}
.citas-panel-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:32px;letter-spacing:-0.3px}
.citas-field label{font-size:13px;font-weight:600;color:var(--text-mid);text-transform:none;letter-spacing:0;margin-bottom:7px}
.citas-field input,.citas-field select,.citas-field textarea{
  font-size:15px;padding:13px 16px;border-radius:var(--radius);
  border:1.5px solid var(--border-strong);color:var(--text);
  background:var(--white);transition:border-color 0.15s,box-shadow 0.15s;
}
.citas-field input:focus,.citas-field select:focus,.citas-field textarea:focus{
  border-color:var(--blue-light);
  box-shadow:0 0 0 3px rgba(21,96,168,0.08);
  outline:none;
}
.citas-field input::placeholder,.citas-field textarea::placeholder{color:var(--text-dim);font-size:14px}

/* Sección campos principales con card visual */
.citas-campos-principales{
  background:var(--off-white);
  border:1.5px solid var(--border-strong);
  border-radius:var(--radius-lg);
  padding:24px;
  margin-bottom:20px;
}

/* Botón continuar rápido */
.citas-quick-next{margin-top:20px}
.citas-quick-hint{
  text-align:center;font-size:12px;color:var(--text-dim);
  margin-top:10px;line-height:1.5;
}

/* Toggle opcionales */
.citas-opcionales-toggle{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;
  background:var(--white);border:1.5px dashed var(--border-strong);
  border-radius:var(--radius);cursor:pointer;
  font-size:13px;color:var(--text-muted);
  transition:all 0.15s;user-select:none;
}
.citas-opcionales-toggle:hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-xpale)}
.citas-opcionales-toggle #toggle-icon{font-size:18px;font-weight:300;color:var(--blue);line-height:1}
.citas-opcionales{
  border:1.5px solid var(--border-strong);border-top:none;
  border-radius:0 0 var(--radius) var(--radius);
  padding:16px 16px 4px;background:var(--white);
}

/* Pasos más grandes */
.step-circle{width:36px;height:36px;font-size:14px;font-weight:700}
.citas-step span{font-size:12px;font-weight:500}
.citas-step.active span{font-weight:600}

/* Botones nav más grandes */
.citas-btn-next{font-size:15px;padding:13px 32px;font-weight:600}
.citas-btn-back{font-size:14px;padding:12px 22px}
.citas-btn-confirm{font-size:15px;padding:14px 32px;font-weight:600}

/* Hero tag */
.citas-tag{font-size:12px;letter-spacing:3px}
.citas-title{font-size:clamp(32px,5vw,48px);font-weight:700;margin-bottom:14px}
.citas-desc{font-size:16px;line-height:1.7}

/* Aviso final */
.citas-aviso{font-size:14px;line-height:1.7}

/* Resumen con mejor tipografía */
.resumen-row{font-size:14px;padding:10px 0}
.resumen-label{font-weight:500;color:var(--text-muted)}
.resumen-val{font-size:14px;font-weight:500}
.resumen-highlight .resumen-val{font-size:17px}

/* Notice */
.citas-notice{font-size:14px;line-height:1.6;padding:13px 16px}


/* ══════════════════════════════════════════════════════════
   SECCIÓN SERVICIOS DEL TALLER
══════════════════════════════════════════════════════════ */
.servicios-section{padding:48px 60px;background:var(--white)}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.servicio-card{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 20px;cursor:pointer;transition:all 0.18s;position:relative;overflow:hidden}
.servicio-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 0.2s}
.servicio-card:hover{border-color:var(--blue-light);background:var(--blue-xpale);transform:translateY(-2px);box-shadow:0 6px 20px rgba(21,96,168,0.1)}
.servicio-card:hover::before{transform:scaleX(1)}
.servicio-card.servicio-cta{background:var(--blue-pale);border-color:var(--blue-light)}
.servicio-card.servicio-cta:hover{background:var(--blue);border-color:var(--blue)}
.servicio-card.servicio-cta:hover .servicio-name{color:white}
.servicio-card.servicio-cta:hover .servicio-desc{color:rgba(255,255,255,0.8)}
.servicio-card.servicio-cta:hover svg path,.servicio-card.servicio-cta:hover svg rect,.servicio-card.servicio-cta:hover svg circle{stroke:white}
.servicio-icon{width:48px;height:48px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:all 0.18s}
.servicio-card:hover .servicio-icon{background:white;border-color:var(--blue-light)}
.servicio-name{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}
.servicio-desc{font-size:13px;color:var(--text-muted);line-height:1.55}

@media(max-width:900px){
  .servicios-section{padding:40px 20px}
  .servicios-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .servicios-grid{grid-template-columns:1fr}
}