/* ============================================================
   Serviman · MAN Truck & Bus Center del levante español
   Sistema de diseño (estilos compartidos)
   ============================================================ */

/* --- MAN Global (tipografía corporativa MAN) auto-alojada --- */
@font-face{font-family:'MAN Global';font-style:normal;font-weight:300;font-display:swap;src:url('../Fuentes/MAN_Global-Light.woff2') format('woff2')}
@font-face{font-family:'MAN Global';font-style:italic;font-weight:300;font-display:swap;src:url('../Fuentes/MAN_Global-LightItalic.woff2') format('woff2')}
@font-face{font-family:'MAN Global';font-style:normal;font-weight:400;font-display:swap;src:url('../Fuentes/MAN_Global-Regular.woff2') format('woff2')}
@font-face{font-family:'MAN Global';font-style:normal;font-weight:700;font-display:swap;src:url('../Fuentes/MAN_Global-Bold.woff2') format('woff2')}
@font-face{font-family:'MAN Global Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('../Fuentes/MAN_Global-RegularCondensed.woff2') format('woff2')}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
    --man-red:#E40045;
    --man-red-dark:#B5003A;
    --man-black:#1A1A1A;
    --man-dark:#2B2B2B;
    --man-gray-900:#3F3F3F;
    --man-gray-700:#595959;
    --man-gray-500:#8A8A8A;
    --man-gray-300:#D1D1D1;
    --man-gray-100:#F2F2F2;
    --man-gray-50:#F8F8F8;
    --white:#FFFFFF;
    --transition:.3s cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth;height:100%}
body{
    font-family:'MAN Global',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
    font-weight:400;line-height:1.6;color:var(--man-dark);background:var(--white);
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    min-height:100%;display:flex;flex-direction:column;
}
body > footer.site-footer{margin-top:auto}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* --- TOP WRAPPER (topbar + header con degradado superpuesto) --- */
.top-wrapper{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:linear-gradient(180deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,1) 70%,
        rgba(0,0,0,0) 100%);
    transition:background var(--transition);
}
.top-wrapper.scrolled{
    background:linear-gradient(180deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,1) 80%,
        rgba(255,255,255,0) 100%);
}

/* --- TOPBAR --- */
.topbar{background:transparent;color:var(--white);font-size:.9375rem;padding:.65rem 0;max-height:3rem;overflow:hidden;transition:color var(--transition),font-size var(--transition),padding var(--transition),max-height .35s ease,opacity .25s ease,padding .35s ease}
.top-wrapper.scrolled .topbar{max-height:0;padding:0;opacity:0;pointer-events:none}
.topbar .inner{max-width:1440px;margin:0 auto;padding:0 2rem;display:flex;justify-content:flex-end;gap:2rem;align-items:center}
.topbar a{color:rgba(255,255,255,.8);transition:color var(--transition);display:inline-flex;align-items:center;gap:.4rem}
.topbar a:hover{color:var(--white)}
.topbar .emergency{color:var(--white);font-weight:600}
.topbar .emergency::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--man-red);margin-right:.4rem;animation:pulse 2s infinite}
.top-wrapper.scrolled .topbar{color:var(--man-gray-900)}
.top-wrapper.scrolled .topbar a{color:var(--man-gray-700)}
.top-wrapper.scrolled .topbar a:hover{color:var(--man-black)}
.top-wrapper.scrolled .topbar .emergency{color:var(--man-black)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}

/* --- HEADER --- */
header.site-header{background:transparent;border:none;position:relative;transition:background var(--transition)}
.header-inner{max-width:1440px;margin:0 auto;padding:0 2rem 70px;display:flex;align-items:center;height:200px;gap:2.5rem;transition:height var(--transition),padding var(--transition)}
.top-wrapper.scrolled .header-inner{height:108px;padding:0 2rem 36px}
.logo{display:flex;align-items:center;color:var(--man-black);text-decoration:none;position:relative}
.logo .logo-img{width:auto;display:block;transition:height var(--transition),opacity var(--transition)}
.logo .logo-light{height:210px;opacity:1}
.logo .logo-dark{height:64px;opacity:0;position:absolute;left:0;top:50%;transform:translateY(-50%)}
.top-wrapper.scrolled .logo .logo-light{height:104px;opacity:0}
.top-wrapper.scrolled .logo .logo-dark{height:32px;opacity:1}
nav.main-nav{position:relative;flex:1;min-width:0}
nav.main-nav ul{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;width:100%}
nav.main-nav a{font-weight:500;font-size:1.0625rem;color:rgba(255,255,255,.9);padding:.5rem 0;position:relative;transition:color var(--transition),font-size var(--transition);white-space:nowrap}
.top-wrapper.scrolled nav.main-nav a{font-size:.9375rem}
nav.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--man-red);transition:width var(--transition)}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--white)}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%}
/* Triangulito rojo sólo cuando el submenú está desplegado — marca qué menú estás viendo */
nav.main-nav .has-sub > a::before{content:"";position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:0;height:0;border-left:26px solid transparent;border-right:26px solid transparent;border-bottom:14px solid var(--man-red);filter:drop-shadow(0 2px 3px rgba(0,0,0,.18));opacity:0;transition:opacity .25s ease;pointer-events:none;z-index:2}
nav.main-nav .has-sub:hover > a::before,
nav.main-nav .has-sub:focus-within > a::before{opacity:1}
.top-wrapper.scrolled nav.main-nav a{color:var(--man-gray-900)}
.top-wrapper.scrolled nav.main-nav a:hover,
.top-wrapper.scrolled nav.main-nav a.active{color:var(--man-black)}

/* --- Submenú dropdown --- */
/* Dropdown (panel blanco estilo MAN: título a la izquierda + lista con miniaturas a la derecha) */
/* .has-sub ya NO es contexto de posicionamiento: el sub se ancla al nav para ocupar siempre el mismo espacio */
nav.main-nav .has-sub{position:static}
/* Línea rosa arriba del panel con efecto de crecer desde el triángulo hacia los dos lados */
nav.main-nav .sub::before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--man-red);transform:scaleX(0);transition:transform .45s cubic-bezier(.22,.61,.36,1);z-index:3;pointer-events:none}
nav.main-nav .has-sub:hover .sub::before,
nav.main-nav .has-sub:focus-within .sub::before{transform:scaleX(1)}
/* Origen del scaleX coincidiendo aproximadamente con la posición del triángulo (menú item centrado) */
nav.main-nav .has-sub:nth-of-type(1) .sub::before{transform-origin:8% center}
nav.main-nav .has-sub:nth-of-type(2) .sub::before{transform-origin:26% center}
nav.main-nav .has-sub:nth-of-type(3) .sub::before{transform-origin:43% center}
nav.main-nav .sub{position:absolute;top:calc(100% + 28px);left:0;right:0;background:var(--white);border-top:1px solid rgba(0,0,0,.06);box-shadow:0 24px 48px rgba(0,0,0,.18);padding:1.75rem 2.25rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;display:grid;grid-template-columns:200px 1fr;column-gap:2rem;align-items:start;z-index:90}
nav.main-nav .has-sub:hover .sub,
nav.main-nav .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
nav.main-nav .sub__title{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:1.5rem;font-weight:700;line-height:1.15;color:var(--man-black);padding-right:1.25rem;border-right:1px solid rgba(0,0,0,.08);min-height:100%;align-self:stretch}
/* Preview: aparece DEBAJO del título (que siempre permanece visible) al pasar el ratón por un item */
nav.main-nav .sub__preview{position:absolute;top:6.25rem;left:2.25rem;width:180px;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .3s cubic-bezier(.22,.61,.36,1),transform .35s cubic-bezier(.22,.61,.36,1),visibility .3s;z-index:1}
nav.main-nav .sub__list li:hover .sub__preview{opacity:1;visibility:visible;transform:translateY(0)}
nav.main-nav .sub__preview-img{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#f4f5f6;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
nav.main-nav .sub__preview-name{margin-top:.75rem;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:1.125rem;font-weight:700;line-height:1.15;color:var(--man-black)}
nav.main-nav .sub__preview-meta{margin-top:.15rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--man-red);font-weight:600}
nav.main-nav .sub__preview-addr{margin-top:.35rem;font-size:.75rem;line-height:1.35;color:var(--man-gray-700);font-weight:500}
nav.main-nav .sub__list{list-style:none;margin:0;padding:0;display:block}
nav.main-nav .sub__list li{display:block}
nav.main-nav .sub__list li + li{border-top:1px solid rgba(0,0,0,.08)}
nav.main-nav .sub__list a{display:grid;grid-template-columns:88px 1fr auto;align-items:center;column-gap:1rem;padding:.65rem .25rem;font-family:'MAN Global',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--man-gray-900);text-transform:none;letter-spacing:0;transition:color .2s ease,padding .2s ease,background .2s ease;position:relative}
nav.main-nav .sub__list a::after{display:none}
nav.main-nav .sub__list a:hover{color:var(--man-red);background:rgba(244,245,246,.6);padding-left:.75rem}
nav.main-nav .sub__img{display:block;width:88px;height:50px;background-size:cover;background-position:center;background-color:#f4f5f6;border-radius:2px;transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;flex-shrink:0}
nav.main-nav .sub__list a:hover .sub__img{transform:scale(1.04);box-shadow:0 4px 12px rgba(0,0,0,.12)}
nav.main-nav .sub__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}
nav.main-nav .sub__name{font-size:.9375rem;font-weight:600;line-height:1.2;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
nav.main-nav .sub__meta{font-size:.7rem;font-weight:500;color:#8a94a0;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;transition:color .2s ease}
nav.main-nav .sub__addr{font-size:.7rem;font-weight:500;color:var(--man-gray-700);line-height:1.35;margin-top:.1rem;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
nav.main-nav .sub__list a:hover .sub__meta{color:var(--man-red)}
nav.main-nav .sub__arrow{color:var(--man-red);font-weight:700;transition:transform .25s ease;justify-self:end}
nav.main-nav .sub__list a:hover .sub__arrow{transform:translateX(4px)}
.top-wrapper.scrolled nav.main-nav .sub{box-shadow:0 24px 48px rgba(0,0,0,.18)}
/* Megamenú agrupado (Vehículos): tres columnas de mini-listas — ancho lo dicta el panel común */
nav.main-nav .sub--grouped{grid-template-columns:170px 1fr;column-gap:1.5rem}
nav.main-nav .sub__groups{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
nav.main-nav .sub__group{min-width:0}
nav.main-nav .sub__group-title{display:inline-flex;align-items:center;gap:.4rem;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--man-red);margin:0 0 .5rem;padding:0 0 .45rem;width:100%;border-bottom:1px solid rgba(0,0,0,.08);text-decoration:none;transition:color .2s ease}
nav.main-nav .sub__group-title::after{display:none}
nav.main-nav .sub__group-title:hover{color:var(--man-black)}
nav.main-nav .sub__group-title .arrow{font-size:.9rem;transition:transform .25s ease}
nav.main-nav .sub__group-title:hover .arrow{transform:translateX(3px)}
nav.main-nav .sub--grouped .sub__list li + li{border-top:1px solid rgba(0,0,0,.05)}
nav.main-nav .sub--grouped .sub__list a{display:grid;grid-template-columns:56px 1fr;column-gap:.65rem;padding:.4rem .25rem}
nav.main-nav .sub--grouped .sub__img{width:56px;height:32px}
nav.main-nav .sub--grouped .sub__name{font-size:.875rem;line-height:1.2}
nav.main-nav .sub--grouped .sub__meta{font-size:.65rem}
nav.main-nav .sub--grouped .sub__arrow{display:none}
/* El preview grande del item hovered sigue apareciendo en la columna izquierda, bajo el título */
nav.main-nav .sub--grouped .sub__preview{top:6.5rem;left:1.25rem;width:170px}

.btn-menu{display:none}
.cta-header{background:var(--man-red);color:var(--white);padding:.6rem 1.1rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;transition:all var(--transition);white-space:nowrap}
.top-wrapper.scrolled .cta-header{padding:.5rem .95rem;font-size:.6875rem}
.man-logo-right{display:flex;align-items:center;text-decoration:none}
.man-logo-right img{height:76px;width:auto;display:block;transition:height var(--transition)}
.top-wrapper.scrolled .man-logo-right img{height:52px}
.cta-header:hover{background:var(--man-red-dark);transform:translateY(-1px)}

/* --- HERO --- */
.hero{position:relative;height:100vh;min-height:640px;max-height:900px;overflow:hidden;background:#0a0a0a}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.6);transform:scale(1.05);animation:heroZoom 20s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.82) 100%);z-index:1;pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:1440px;margin:0 auto;padding:0 2rem 8.5rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end;color:var(--white)}

/* Slider: imágenes de cabecera MAN + sedes con crossfade + zoom sutil */
.hero-slider .hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.6);opacity:0;transform:scale(1.06);transition:opacity 1.1s ease,transform 7s ease-out;will-change:opacity,transform;overflow:hidden}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-slide picture{position:absolute;inset:0;display:block}
.hero-slide picture img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Barra de actions al pie del slider — basada en .actions de MAN TopUsed */
.hero-slider .actions-wrapper{position:absolute;z-index:3;bottom:0;left:0;right:0;width:100%;overflow:hidden;background:none;padding:0;margin:0}
.hero-slider .actions{position:relative;display:inline-flex;align-items:stretch;justify-content:flex-start;height:120px;background-color:#fff}
.hero-slider .actions::after{content:"";position:absolute;left:100%;bottom:0;width:100vw;height:5px;background:#fff;pointer-events:none}
.hero-slider .actions__title{display:inline-flex;align-items:center;padding:0 20px 0 28px;text-align:end;color:var(--man-black);font-family:'MAN Global Condensed','MAN Global',sans-serif;font-weight:400;font-size:1.25rem;line-height:1.1;max-width:14ch;border-right:1px solid #cbd3dc}

/* Tile: posicionamiento absoluto interno para que pin y nombre se deslicen físicamente entre estados */
.hero-slider .actions .tile{position:relative;display:block;min-width:160px;width:160px;height:100%;padding:0;background:#fff;border-right:1px solid #cbd3dc;color:#303c49;cursor:pointer;overflow:hidden;transition:width .5s cubic-bezier(.22,.61,.36,1),background .35s ease,color .35s ease,box-shadow .35s ease}
.hero-slider .actions .tile:last-child{border-right:1px solid #cbd3dc}
.hero-slider .actions .tile::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 160px at 0% 100%,rgba(255,255,255,.14),transparent 70%);opacity:0;pointer-events:none;transition:opacity .4s ease}
.hero-slider .actions .tile.is-active::before,
.hero-slider .actions .tile:hover::before{opacity:1}

/* PIN — se mueve físicamente: arriba-centro (grande) → abajo-izquierda (pequeño, junto a la dirección) */
.hero-slider .actions .tile__pin{position:absolute;top:20px;left:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#303c49;pointer-events:none;transform:translateX(-50%);transition:top .55s cubic-bezier(.22,.61,.36,1),bottom .55s cubic-bezier(.22,.61,.36,1),left .55s cubic-bezier(.22,.61,.36,1),width .5s cubic-bezier(.22,.61,.36,1),height .5s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1),color .35s ease}
.hero-slider .actions .tile__pin svg{width:100%;height:100%;transition:inherit}

/* CIUDAD — solo visible en el estado base (desaparece al activar) */
.hero-slider .actions .tile__city{position:absolute;top:60px;left:50%;font-size:13px;line-height:1;color:var(--man-red);white-space:nowrap;transform:translateX(-50%);transition:opacity .25s ease,transform .4s cubic-bezier(.22,.61,.36,1),color .35s ease}

/* NOMBRE — se desliza de centro-abajo (pequeño) a arriba-izquierda (grande, bold) */
.hero-slider .actions .tile__name{position:absolute;top:78px;left:50%;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-weight:400;font-size:13px;line-height:1.15;color:inherit;text-decoration:none;white-space:nowrap;transform:translateX(-50%);transition:top .55s cubic-bezier(.22,.61,.36,1),left .55s cubic-bezier(.22,.61,.36,1),font-size .55s cubic-bezier(.22,.61,.36,1),font-weight .3s ease,transform .55s cubic-bezier(.22,.61,.36,1),color .35s ease,letter-spacing .4s ease}

/* TELÉFONO — oculto en base; entra con fade + slide desde la izquierda */
.hero-slider .actions .tile__phone{position:absolute;top:48px;left:20px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;line-height:1;color:inherit;text-decoration:none;white-space:nowrap;opacity:0;transform:translateX(-14px);pointer-events:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,.61,.36,1),color .25s ease}
.hero-slider .actions .tile__phone svg{flex-shrink:0;width:16px;height:16px;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.hero-slider .actions .tile__phone:hover svg{transform:scale(1.15) rotate(-6deg)}
.hero-slider .actions .tile__phone:hover{text-decoration:underline}

/* DIRECCIÓN — oculta en base; entra con fade + slide. El pin compartido cae a su izquierda */
.hero-slider .actions .tile__addr{position:absolute;bottom:22px;left:42px;right:18px;display:flex;align-items:center;font-size:13px;line-height:1.2;color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;opacity:0;transform:translateX(-14px);pointer-events:none;transition:opacity .3s ease,transform .45s cubic-bezier(.22,.61,.36,1),color .25s ease}
.hero-slider .actions .tile__addr span{overflow:hidden;text-overflow:ellipsis;display:block;width:100%}
.hero-slider .actions .tile__addr:hover{text-decoration:underline}

/* -------- ESTADO ACTIVO / HOVER -------- */
.hero-slider .actions .tile.is-active,
.hero-slider .actions .tile:hover{width:340px;background:var(--man-red);color:#fff;box-shadow:0 10px 30px rgba(228,0,69,.25)}
/* El pin viaja de arriba-centro (28px) a abajo-izquierda (16px) junto al texto de dirección */
.hero-slider .actions .tile.is-active .tile__pin,
.hero-slider .actions .tile:hover .tile__pin{top:auto;bottom:22px;left:20px;width:16px;height:16px;color:#fff;transform:translateX(0)}
/* La ciudad se desvanece hacia arriba */
.hero-slider .actions .tile.is-active .tile__city,
.hero-slider .actions .tile:hover .tile__city{opacity:0;transform:translateX(-50%) translateY(-10px)}
/* El nombre sube a la esquina superior izquierda y se agranda */
.hero-slider .actions .tile.is-active .tile__name,
.hero-slider .actions .tile:hover .tile__name{top:20px;left:20px;font-size:18px;font-weight:700;letter-spacing:-.015em;transform:translateX(0);color:#fff}
/* Teléfono y dirección: fade + slide desde la izquierda con retardo escalonado */
.hero-slider .actions .tile.is-active .tile__phone,
.hero-slider .actions .tile:hover .tile__phone{opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:.25s}
.hero-slider .actions .tile.is-active .tile__addr,
.hero-slider .actions .tile:hover .tile__addr{opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:.35s}

@media (max-width:1024px){
    .hero-slider .actions .tile.is-active,
    .hero-slider .actions .tile:hover{width:300px}
}
@media (max-width:768px){
    .hero-slider .actions{width:100%}
    .hero-slider .actions__title{display:none}
    .hero-slider .actions .tile{flex:1;min-width:0;width:auto}
    .hero-slider .actions .tile.is-active,
    .hero-slider .actions .tile:hover{flex:1;width:auto;box-shadow:none}
    /* En móvil no expandimos: reposicionamos pin, ciudad y nombre a valores relativos centrados, y ocultamos teléfono/dirección */
    .hero-slider .actions .tile__pin{top:14px;width:24px;height:24px}
    .hero-slider .actions .tile__city{top:48px;font-size:11px}
    .hero-slider .actions .tile__name{top:62px;font-size:11px}
    .hero-slider .actions .tile.is-active .tile__pin,
    .hero-slider .actions .tile:hover .tile__pin{top:14px;bottom:auto;left:50%;width:24px;height:24px;transform:translateX(-50%);color:#fff}
    .hero-slider .actions .tile.is-active .tile__city,
    .hero-slider .actions .tile:hover .tile__city{opacity:1;color:#fff;transform:translateX(-50%)}
    .hero-slider .actions .tile.is-active .tile__name,
    .hero-slider .actions .tile:hover .tile__name{top:62px;left:50%;font-size:12px;transform:translateX(-50%)}
    .hero-slider .actions .tile__phone,
    .hero-slider .actions .tile__addr{display:none!important}
}
@media (prefers-reduced-motion:reduce){
    .hero-slide{transition:opacity .3s ease;transform:none}
    .hero-slider .actions .tile,.hero-slider .actions .tile__pin,.hero-slider .actions .tile__name,.hero-slider .actions .tile__city,.hero-slider .actions .tile__phone,.hero-slider .actions .tile__addr{transition:none}
}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.85rem;opacity:0;animation:fadeUp .8s .2s forwards}
.hero-eyebrow::before{content:"";width:32px;height:2px;background:var(--man-red)}
.hero h1{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;max-width:none;margin-bottom:.9rem;opacity:0;animation:fadeUp .8s .4s forwards}
.hero h1 em{font-style:normal;color:var(--man-red)}
.hero p.lead{font-size:clamp(.9rem,1.05vw,1.0625rem);max-width:55ch;font-weight:400;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .6s forwards}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-weight:600;font-size:.9375rem;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition);cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--man-red);color:var(--white)}
.btn-primary:hover{background:var(--man-red-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(228,0,69,.4)}
.btn-ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:var(--white);color:var(--man-black);border-color:var(--white)}
.btn-dark{background:var(--man-black);color:var(--white)}
.btn-dark:hover{background:var(--man-red);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--man-black);border:2px solid var(--man-black)}
.btn-outline:hover{background:var(--man-black);color:var(--white)}
.btn .arrow{transition:transform var(--transition)}
.btn:hover .arrow{transform:translateX(4px)}

/* --- CIFRAS CLAVE (vertical a la derecha del hero, sobre la foto) --- */
.hero-stats{position:absolute;top:15rem;right:2rem;z-index:2;display:flex;flex-direction:column;gap:1.4rem;color:var(--white);text-align:right;pointer-events:none;opacity:0;animation:fadeUp .8s .5s forwards}
.hero-stats .stat{position:relative;padding-right:.9rem;border-right:2px solid var(--man-red)}
.hero-stats .stat .num{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(1.6rem,2.4vw,2.25rem);font-weight:700;color:var(--white);line-height:1;letter-spacing:-.02em}
.hero-stats .stat .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.82);margin-top:.3rem;font-weight:600;white-space:nowrap}
@media (max-width:900px){
    .hero-stats{display:none}
}

/* --- SECTIONS --- */
section{padding:6rem 0}
.container{max-width:1440px;margin:0 auto;padding:0 2rem}
.container-narrow{max-width:1100px;margin:0 auto;padding:0 2rem}
.section-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--man-red);margin-bottom:1rem}
.section-eyebrow::before{content:"";width:32px;height:2px;background:var(--man-red)}
h1,h2,h3,h4,h5,h6,
.hero h1,.page-header h1,.ocasion-hero h1,.ficha-hero .info h1,.ov-info h1,
h1.section-title,h2.section-title{font-family:'MAN Global Condensed','MAN Global',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
h1.section-title,h2.section-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.05;letter-spacing:-.01em;color:var(--man-black);margin-bottom:1.5rem;max-width:22ch}
.section-title em{font-style:normal;color:var(--man-red)}
p.section-sub{font-size:1.125rem;color:var(--man-gray-700);max-width:60ch;line-height:1.7}

/* --- INTRO / two-col --- */
.intro{background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.intro-image{position:relative;aspect-ratio:4/3;overflow:hidden}
.intro-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.intro-image:hover img{transform:scale(1.04)}
.intro-image::after{content:"MAN";position:absolute;bottom:2rem;left:2rem;background:var(--man-red);color:var(--white);padding:.75rem 1.25rem;font-weight:800;letter-spacing:.1em;font-size:.875rem;z-index:2}
/* Carrusel histórico: reutiliza el diseño MAN (.offer-promo__carousel) dentro de la columna del grid */
.intro-image.offer-promo__carousel{aspect-ratio:auto;overflow:visible;background:transparent}
.intro-image.offer-promo__carousel::after{display:none}
.offer-promo__carousel--historia .offer-promo__viewport{border-radius:8px;overflow:hidden;background:var(--man-gray-100)}
.offer-promo__carousel--historia .offer-promo__slide{position:relative;aspect-ratio:4/3;margin:0}
.offer-promo__carousel--historia .historia-slide img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.offer-promo__carousel--historia:hover .historia-slide img{transform:scale(1.04)}
.offer-promo__carousel--historia .historia-year{position:absolute;bottom:1.25rem;right:1.25rem;margin:0;background:var(--man-red);color:#fff;padding:.65rem 1.1rem;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.12em;line-height:1;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.offer-promo__carousel--historia .offer-promo__controls{margin-top:12px;padding:0}
.intro-text p{color:var(--man-gray-700);font-size:1.0625rem;margin-bottom:1.25rem;line-height:1.75}
.intro-text p strong{color:var(--man-black);font-weight:600}
.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--man-gray-100)}
.intro-stats .s{border-left:3px solid var(--man-red);padding-left:1rem}
.intro-stats .s .n{font-size:2.25rem;font-weight:800;color:var(--man-black);line-height:1;letter-spacing:-.02em}
.intro-stats .s .l{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--man-gray-700);font-weight:600;margin-top:.5rem}

/* --- SERVICES --- */
.services{background:var(--man-gray-50)}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:4rem}
.services-header > div{max-width:40ch}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.service-card{background:var(--white);padding:2.5rem 2rem;transition:all var(--transition);border-bottom:3px solid transparent;cursor:pointer;display:flex;flex-direction:column;min-height:280px}
.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.08);border-bottom-color:var(--man-red)}
.service-card .icon{width:48px;height:48px;background:var(--man-red);color:var(--white);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:transform var(--transition)}
.service-card:hover .icon{transform:rotate(-5deg) scale(1.1)}
.service-card h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.75rem}
.service-card p{font-size:.9375rem;color:var(--man-gray-700);flex:1;line-height:1.65}
.service-card .more{margin-top:1.25rem;font-size:.75rem;font-weight:700;color:var(--man-red);text-transform:uppercase;letter-spacing:.12em;display:inline-flex;align-items:center;gap:.5rem}

/* Variantes del grid */
.services-grid-6{grid-template-columns:repeat(3,1fr)}
.services-grid-4{grid-template-columns:repeat(4,1fr)}
.service-card .icon svg{width:26px;height:26px}
.service-tags{list-style:none;padding:0;margin:1rem 0 0;display:flex;gap:.4rem;flex-wrap:wrap}
.service-tags li{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--man-gray-700);background:var(--man-gray-100);padding:.25rem .6rem;border-radius:1px}

.service-card-img{padding:0;min-height:unset;overflow:hidden;display:flex;flex-direction:column}
.service-card-img .service-card-img-wrap{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--man-gray-100)}
.service-card-img .service-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.service-card-img:hover .service-card-img-wrap img{transform:scale(1.05)}
.service-card-img .service-card-body{padding:2rem;display:flex;flex-direction:column;flex:1}
.service-card-img .service-card-body p{flex:1}

/* --- LINEUP (product cards) --- */
.lineup{background:var(--white)}
.lineup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.lineup-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.product-card{position:relative;overflow:hidden;aspect-ratio:4/5;cursor:pointer;display:block}
.product-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.product-card:hover img{transform:scale(1.08)}
.product-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg,transparent 0%,rgba(89,89,89,.6) 20%,rgba(89,89,89,.6) 100%);transition:background .4s ease}
.product-card:hover::after{background:linear-gradient(180deg,transparent 0%,rgba(89,89,89,.95) 20%,rgba(89,89,89,.97) 100%)}
.product-info{position:absolute;inset:0;z-index:2;padding:2.5rem;display:flex;flex-direction:column;justify-content:flex-end;color:var(--white)}
.product-info .cat{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--man-red);margin-bottom:.5rem}
.product-info h3{font-size:1.875rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}
.product-info p{font-size:.9375rem;opacity:.9;margin-bottom:1.25rem;max-width:30ch}
.product-info .link{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;transition:gap var(--transition)}
.product-card:hover .product-info .link{gap:1rem}

/* --- SEDES --- */
/* ===== Grid de cards estilo MAN — reproducción del .card / .card__content / .card__image / .card__description / .card__button-wrapper / .button--primary-outline ===== */
.man-grid-section{background:var(--white);color:var(--man-black);padding:0;min-height:100vh;height:100vh;display:flex;align-items:center}
.man-grid-section .container{max-width:none;margin:0;padding:0;width:100%;height:100%;display:flex;align-items:center}
.man-grid__head{max-width:900px;margin-bottom:3rem}
.man-grid__title{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.015em;color:var(--man-black);margin:0 0 1rem 0}
.man-grid__sub{font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.55;color:var(--man-gray-700);max-width:65ch;margin:0}

/* Grid a sangre: fila superior (hero + Murcia) + fila inferior (3 sedes). Gap 2px entre fotos. */
.man-grid{display:flex;flex-direction:column;gap:2px;width:100%;height:100vh}
.man-grid__row{display:flex;gap:2px;align-items:stretch;flex:1 1 0;min-height:0}

/* Card base (sedes): flex:1 = reparto equitativo dentro de la fila. Al hover, flex-grow sube */
.man-card{position:relative;display:block;flex:1 1 0;min-width:0;height:100%;overflow:hidden;background:#0a0a0a;color:var(--white);text-decoration:none;isolation:isolate;transition:flex-grow .55s cubic-bezier(.22,.61,.36,1)}

/* Card HERO (genérica con título): arranca grande (flex:2) y no crece al hover (es informativa) */
.man-card--hero{flex:2 1 0;cursor:default}
.man-card--hero:hover,
.man-card--hero:focus-visible{flex-grow:2}

/* Hover en las demás: la tarjeta apuntada crece; las vecinas ceden espacio automáticamente */
.man-card:not(.man-card--hero):hover,
.man-card:not(.man-card--hero):focus-visible{flex-grow:2.2}
/* Top row: Murcia convive con un hero de flex:2; necesita flex-grow mayor para ocupar 2 cuadros (66%, igual que el hero de base) */
.man-grid__row--top > .man-card:not(.man-card--hero):hover,
.man-grid__row--top > .man-card:not(.man-card--hero):focus-visible{flex-grow:4}

/* El hero muestra siempre su título/descripción (sin reveal) y un gradiente oscuro fuerte */
.man-card--hero::before{background:linear-gradient(135deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.7) 100%)!important}
.man-card--hero .man-card__img img{filter:brightness(.55)}
.man-card--hero:hover .man-card__img img{transform:none;filter:brightness(.55)}
.man-card--hero .man-card__body{justify-content:center;padding:2.5rem 2.5rem}
.man-card__eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--white);margin-bottom:.9rem}
.man-card__eyebrow::before{content:"";width:32px;height:2px;background:var(--man-red)}
.man-card__heading{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:700;line-height:1.05;letter-spacing:-.015em;color:var(--white);margin:0 0 .9rem 0}
.man-card__text{font-size:clamp(.9rem,1vw,1.0625rem);line-height:1.5;color:rgba(255,255,255,.88);margin:0;max-width:50ch}

/* Imagen de fondo, ocupa todo el card */
.man-card__img{position:absolute;inset:0;z-index:0}
.man-card__img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:brightness(.8);transition:transform .7s cubic-bezier(.22,.61,.36,1),filter .4s ease}
.man-card:hover .man-card__img img,
.man-card:focus-visible .man-card__img img{transform:scale(1.06);filter:brightness(.45)}

/* Gradiente oscuro de base para garantizar lectura del título */
.man-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.65) 100%);pointer-events:none;transition:background .4s ease}
.man-card:hover::before,
.man-card:focus-visible::before{background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.85) 100%)}

/* Contenido encima */
.man-card__body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:1.75rem 2rem}

/* Título: SIEMPRE visible */
.man-card__title{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(1.5rem,2vw,2rem);font-weight:700;line-height:1.1;color:var(--white);margin:0;letter-spacing:-.01em;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.man-card:hover .man-card__title,
.man-card:focus-visible .man-card__title{transform:translateY(-2px)}

/* Bloque revelable: oculto de base, aparece al hover */
.man-card__reveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease,transform .4s cubic-bezier(.22,.61,.36,1),margin-top .4s ease;margin-top:0}
.man-card:hover .man-card__reveal,
.man-card:focus-visible .man-card__reveal{max-height:300px;opacity:1;transform:translateY(0);margin-top:1rem}

.man-card__reveal ul{list-style:none;margin:0 0 1rem 0;padding:0}
.man-card__reveal li{position:relative;padding-left:18px;margin-bottom:.45rem;font-size:.9375rem;line-height:1.4;color:rgba(255,255,255,.92)}
.man-card__reveal li::before{content:"";position:absolute;left:0;top:3px;width:4px;height:18px;background-color:var(--man-red)}

.man-card__cta{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.12em;padding-top:.25rem;border-top:1px solid rgba(255,255,255,.25);padding-right:0}
.man-card__cta .arrow{color:var(--man-red);transition:transform .25s ease}
.man-card:hover .man-card__cta .arrow,
.man-card:focus-visible .man-card__cta .arrow{transform:translateX(5px)}

@media (max-width:860px){
    /* En móvil desactivamos el snap y el 100vh: con 5 cards apiladas no caben en una pantalla */
    .man-grid-section{min-height:auto;height:auto;padding:6rem 0;display:block}
    .man-grid-section .container{max-width:1440px;margin:0 auto;padding:0 2rem;height:auto;display:block}
    .man-grid{height:auto}
    .man-grid__row{flex-direction:column;gap:2px;flex:0 0 auto}
    .man-card{height:clamp(220px,60vw,340px);flex:1 1 auto}
    .man-card--hero{flex:1 1 auto}
    .man-card:hover,.man-card:focus-visible,.man-card--hero:hover,.man-card--hero:focus-visible{flex-grow:1}
    .man-card__body{padding:1.25rem 1.5rem}
    .man-card--hero .man-card__body{padding:1.5rem}
    .man-card__heading{font-size:1.5rem}
    /* En táctil no hay hover: mostrar los datos siempre */
    .man-card__reveal{max-height:300px;opacity:1;transform:translateY(0);margin-top:.75rem}
    .man-card::before{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.8) 100%)}
}

/* ===== OFFER & PROMO CAROUSEL — réplica visual del carrusel .offersandpromotions de man.eu =====
   - Caja de texto color #303c49 (--primary-color de MAN)
   - Imagen absolute a la derecha (50%), altura natural → la caja asoma con offset diagonal
   - Slides en track horizontal con transform:translateX (estilo Swiper)
   - Controles minimalistas DEBAJO del carrusel: ‹ • • • › centrados, sin overlays */
.offer-promo{
    --offer-promo-color:#ffffff;
    --offer-promo-bg:#303c49;
    position:relative;display:block;
}
.offer-promo__carousel{position:relative;display:block}

/* Viewport recorta el desbordamiento del track */
.offer-promo__viewport{position:relative;overflow:hidden}
/* Track: fila horizontal que se desliza */
.offer-promo__track{display:flex;width:100%;transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform}
/* Cada slide ocupa el 100% del viewport */
.offer-promo__slide{flex:0 0 100%;width:100%;min-width:0}

.offer-promo__inner{position:relative;display:block}
.offer-promo__image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.offer-promo__image img{display:block;width:100%;height:100%;object-fit:cover}
/* Mobile (<960px): texto SOBRE la imagen con degradado oscuro inferior + halo en el texto */
.offer-promo__text-wrapper{
    position:absolute;left:0;right:0;bottom:0;
    background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.85) 100%);
    padding:80px 20px 20px;
}
.offer-promo__content{background:none;padding:0;color:#fff}
.offer-promo__headline{margin:0;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-weight:700;font-size:20px;line-height:28px;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.55)}
.offer-promo__headline em{font-style:italic;font-weight:700;color:var(--man-red);text-shadow:0 2px 8px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.55)}
.offer-promo__description{margin:12px 0;line-height:1.4;font-size:14px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 14px rgba(0,0,0,.5)}
.offer-promo__lead{margin:0 0 10px;font-weight:600;font-size:15px;color:#fff}
.offer-promo__list{list-style:none;padding:0;margin:0}
.offer-promo__list li{position:relative;padding-left:18px;margin:0 0 6px;line-height:1.45;font-size:13.5px}
.offer-promo__list li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:2px;background:var(--man-red)}
.offer-promo__cta{display:block;margin-top:14px}
.offer-promo .btn{margin:0 12px 12px 0}
.offer-promo .btn:last-child{margin-right:0}
/* CTA del slide: cuadrado y rosa MAN (rojo corporativo) */
.offer-promo__btn-cta{
    border-radius:0 !important;
    background:var(--man-red) !important;
    color:#fff !important;
    border:none !important;
    padding:14px 22px;
    font-weight:700;
    text-transform:none;
    letter-spacing:0;
    transition:background .2s ease,transform .2s ease;
}
.offer-promo__btn-cta:hover{background:var(--man-red-dark) !important;transform:translateY(-1px)}

/* Controles bajo el carrusel: [<] · · · [>]  — minimalistas, sin fondo */
.offer-promo__controls{
    display:flex;gap:14px;align-items:center;justify-content:center;
    margin-top:16px;padding:0 24px 24px;
}
.offer-promo__btn{
    width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;
    color:var(--man-dark);display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;transition:color .25s ease,background .25s ease;
}
.offer-promo__btn:hover{color:var(--man-red)}
.offer-promo__btn:focus-visible{outline:2px solid var(--man-red);outline-offset:2px}
.offer-promo__btn:disabled{opacity:.35;cursor:default}

.offer-promo__dots{display:inline-flex;gap:8px;align-items:center}
.offer-promo__dots button{
    width:8px;height:8px;padding:0;border:none;border-radius:50%;
    background:var(--man-dark);opacity:.2;cursor:pointer;
    transition:opacity .25s ease,background .25s ease;
}
.offer-promo__dots button:hover{opacity:.55}
.offer-promo__dots button[aria-selected="true"]{opacity:1;background:var(--man-red)}
.offer-promo__dots button:focus-visible{outline:2px solid var(--man-red);outline-offset:2px}

@media (min-width:768px){
    .offer-promo__text-wrapper{padding:120px 32px 32px}
    .offer-promo__headline{font-size:24px;line-height:32px}
    .offer-promo__description{font-size:15px}
    .offer-promo__controls{margin-top:24px;padding:0 32px 32px}
}
@media (min-width:960px){
    /* Layout SPLIT desktop: caja gris + imagen lado a lado, alternando posición por slide */
    .offer-promo__inner{padding-bottom:100px}
    /* Por defecto (impares): imagen DERECHA, caja IZQUIERDA */
    .offer-promo__image{position:relative;margin-left:auto;margin-right:7.5vw;width:calc(50% - 7.5vw + 25px);aspect-ratio:16/9;overflow:hidden;z-index:2}
    .offer-promo__image img{display:block;width:100%;height:100%;object-fit:cover}
    .offer-promo__text-wrapper{
        position:absolute;left:7.5vw;right:auto;top:100px;bottom:0;
        width:calc(50% - 7.5vw + 25px);
        background:none;padding:0;z-index:1;
    }
    .offer-promo__content{
        margin:0;height:100%;min-height:0;
        padding:40px 90px 40px 48px;
        display:flex;flex-direction:column;justify-content:center;
        background-color:var(--offer-promo-bg);color:#fff;
    }
    /* Quitar el halo del texto (ya no está sobre la imagen) */
    .offer-promo__headline,.offer-promo__headline em,.offer-promo__description{text-shadow:none}
    .offer-promo__headline{margin-top:0}
    /* Alternancia: slides PARES → imagen IZQUIERDA, caja gris DERECHA */
    .offer-promo__slide:nth-child(even) .offer-promo__image{margin-left:7.5vw;margin-right:auto}
    .offer-promo__slide:nth-child(even) .offer-promo__text-wrapper{left:auto;right:7.5vw}
    .offer-promo__slide:nth-child(even) .offer-promo__content{padding:40px 48px 40px 90px}
}
@media (min-width:1200px){
    .offer-promo__headline{font-size:26px;line-height:34px}
}
@media (min-width:1600px){
    .offer-promo__content{min-height:27vw}
}
/* Slide 1 (post-venta): caja más cuadrada (más estrecha) y CTA alineado a la derecha */
@media (min-width:960px){
    .offer-promo__slide:nth-child(1) .offer-promo__image{width:calc(60% - 7.5vw + 25px)}
    .offer-promo__slide:nth-child(1) .offer-promo__text-wrapper{width:calc(40% - 7.5vw + 25px)}
    .offer-promo__slide:nth-child(1) .offer-promo__cta{text-align:right}
}

/* ===== Sedes legacy (para otras páginas que aún lo usen) ===== */
.sedes{background:var(--man-black);color:var(--white);position:relative;overflow:hidden}
.sedes::before{content:"";position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,69,.18) 0%,transparent 70%);pointer-events:none}
.sedes::after{content:"";position:absolute;bottom:-30%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,69,.08) 0%,transparent 70%);pointer-events:none}
.sedes .container{position:relative;z-index:2}
.sedes .section-title{color:var(--white)}
.sedes p.section-sub{color:rgba(255,255,255,.7)}
.sedes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem}
.sede-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:260px 1fr;overflow:hidden;transition:all var(--transition);color:var(--white)}
.sede-card:hover{background:rgba(255,255,255,.07);border-color:var(--man-red);transform:translateY(-4px)}
.sede-img{position:relative;overflow:hidden;min-height:240px}
.sede-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s ease}
.sede-card:hover .sede-img img{transform:scale(1.1)}
.sede-body{padding:2rem}
.sede-body .tag{font-size:.7rem;font-weight:700;color:var(--man-red);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.6rem}
.sede-body h3{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;margin-bottom:1rem}
.sede-body .address{font-size:.9375rem;color:rgba(255,255,255,.65);margin-bottom:1.25rem;line-height:1.6}
.sede-contact{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.sede-contact a{font-size:.9375rem;color:var(--white);display:inline-flex;align-items:center;gap:.6rem;transition:color var(--transition)}
.sede-contact a:hover{color:var(--man-red)}
.sede-contact .ico{width:16px;height:16px;opacity:.6;flex-shrink:0}
.sede-card .more{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--man-red)}

/* Variante light (página /sedes sobre fondo blanco) */
.sede-card-light{background:var(--man-gray-50);border:1px solid var(--man-gray-100);color:var(--man-black)}
.sede-card-light:hover{background:var(--white);border-color:var(--man-red);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.sede-card-light .sede-body h3{color:var(--man-black)}
.sede-card-light .sede-body .address{color:var(--man-gray-700)}
.sede-card-light .sede-body .sede-contact{border-top:1px solid var(--man-gray-100)}
.sede-card-light .sede-body .sede-contact span{color:var(--man-black)}
.sede-card-light .sede-body .sede-contact .horario{color:var(--man-gray-700);font-size:.8125rem}

/* Bloque cobertura (grid de localidades como mapa minimalista) */
.sede-map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:2rem;background:var(--man-black);color:var(--white);position:relative;overflow:hidden}
.sede-map-grid::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(228,0,69,.18) 0%,transparent 60%)}
.sede-map-dot{position:relative;z-index:2;padding:1.5rem 1.25rem;background:rgba(255,255,255,.06);border-left:3px solid var(--man-red);transition:background var(--transition)}
.sede-map-dot:hover{background:rgba(255,255,255,.1)}
.sede-map-dot .n{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}
.sede-map-dot .p{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.6);font-weight:600;margin-top:.25rem}

/* --- CTA --- */
/* --- MAN MOBILE 24 BLOCK --- */
.mobile24-block{background:var(--man-black);color:var(--white);padding:5rem 0;position:relative;overflow:hidden}
.mobile24-block::before{content:"";position:absolute;top:-40%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,69,.22) 0%,transparent 65%);pointer-events:none}
.mobile24-block::after{content:"";position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,69,.1) 0%,transparent 70%);pointer-events:none}
.mobile24-inner{position:relative;z-index:2;max-width:860px}
.mobile24-badge{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.08);padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}
.mobile24-badge .pulse{width:10px;height:10px;border-radius:50%;background:var(--man-red);animation:pulse 2s infinite}
.mobile24-block h2{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-bottom:1rem}
.mobile24-block p{font-size:1.125rem;color:rgba(255,255,255,.8);max-width:60ch;line-height:1.65;margin-bottom:2.5rem}
.mobile24-ctas{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.mobile24-tel{padding:1rem 1.75rem 1rem 1rem;display:flex;align-items:center;gap:1rem;background:var(--white);color:var(--man-black)}
.mobile24-tel .pill{background:var(--man-red);color:var(--white);font-size:.6875rem;font-weight:800;letter-spacing:.12em;padding:.3rem .6rem}
.mobile24-tel .num{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--man-black)}
.mobile24-tel:hover{background:var(--man-red);color:var(--white);transform:translateY(-2px)}
.mobile24-tel:hover .num{color:var(--white)}
.mobile24-wa{border:2px solid rgba(255,255,255,.4);color:var(--white)}
.mobile24-wa:hover{background:rgba(255,255,255,.1)}

/* --- SLOGAN BLOCK --- */
.slogan-block{background:var(--man-gray-50);padding:5rem 0;text-align:center}
.slogan-block .quote-mark{display:block;margin:0 auto 1.5rem;opacity:.2}
.slogan-block blockquote{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--man-black);max-width:28ch;margin:0 auto 1.5rem}
.slogan-block blockquote em{font-style:normal;color:var(--man-red)}
.slogan-block p{color:var(--man-gray-700);font-size:1.05rem;max-width:52ch;margin:0 auto}

.cta-strip{background:var(--man-red);color:var(--white);padding:5rem 0;position:relative;overflow:hidden}
.cta-strip::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.15) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.03) 20px,rgba(255,255,255,.03) 40px)}
.cta-strip .container{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:3rem;flex-wrap:wrap}
.cta-strip h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;max-width:28ch}
.cta-strip .btn-white{background:var(--white);color:var(--man-red);font-weight:700}
.cta-strip .btn-white:hover{background:var(--man-black);color:var(--white);transform:translateY(-2px)}

/* --- PAGE HEADER (para sub-páginas, mismo patrón que el hero de portada) --- */
.page-header{background:var(--man-black);color:var(--white);min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:17.5rem 0 4.5rem;position:relative;overflow:hidden;text-align:left}
.page-header::before{content:"";position:absolute;top:-20%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(228,0,69,.18) 0%,transparent 70%)}
.page-header .container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.page-header .breadcrumb{order:99;font-size:.625rem;color:rgba(255,255,255,.45);margin:1.75rem 0 0;display:flex;gap:.4rem;flex-wrap:wrap;letter-spacing:.05em;opacity:.7;transition:opacity var(--transition);align-self:flex-start}
.page-header .breadcrumb:hover{opacity:1}
.page-header .breadcrumb a{color:rgba(255,255,255,.45);transition:color var(--transition)}
.page-header .breadcrumb a:hover{color:var(--man-red)}
.page-header .breadcrumb span{color:rgba(255,255,255,.3)}
.page-header h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.03;letter-spacing:-.025em;margin-bottom:1rem;max-width:22ch}
.page-header--about{background:linear-gradient(120deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.7) 45%,rgba(10,10,10,.35) 100%),url('/Scripts/Imagenes/cartel-serviman.webp') center center/cover no-repeat,var(--man-black)}
.page-header--empleo{background:linear-gradient(120deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.7) 45%,rgba(10,10,10,.35) 100%),url('/Scripts/Imagenes/foto-grupal.webp') center 25%/cover no-repeat,var(--man-black)}
.page-header h1 em{font-style:normal;color:var(--man-red)}
.page-header p.lead{font-size:1.125rem;max-width:60ch;color:rgba(255,255,255,.75);line-height:1.7;text-align:left}

/* --- FICHA VEHÍCULO --- */
.ficha-hero{position:relative;background:var(--man-black);color:var(--white);padding-bottom:0;overflow:hidden}
.ficha-hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding-top:17.5rem;padding-bottom:2.5rem;min-height:560px}
.ficha-hero .info .badge{display:inline-block;background:var(--man-red);color:var(--white);padding:.4rem .9rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem}
.ficha-hero .info h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;letter-spacing:-.025em;line-height:1.02;margin-bottom:1rem}
.ficha-hero .info .tagline{font-size:1.25rem;color:var(--man-red);font-weight:600;margin-bottom:1.5rem}
.ficha-hero .info p{font-size:1.0625rem;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:2rem}
.ficha-hero .img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}
.ficha-hero .img-wrap img{width:100%;height:100%;object-fit:cover}

.quick-specs{background:var(--man-gray-50);padding:3rem 0;border-bottom:1px solid var(--man-gray-100)}
.quick-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}
.quick-specs .spec{text-align:center;padding:1.25rem;background:var(--white)}
.quick-specs .spec .k{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--man-gray-700);margin-bottom:.5rem}
.quick-specs .spec .v{font-size:1.35rem;font-weight:800;color:var(--man-black);line-height:1.2;letter-spacing:-.01em}

.content-block{padding:5rem 0;background:var(--white)}
.content-block + .content-block{padding-top:0}
.content-block h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.5rem;color:var(--man-black);max-width:25ch}
.content-block p{font-size:1.0625rem;color:var(--man-gray-700);line-height:1.8;margin-bottom:1.25rem;max-width:70ch}
.content-block p strong{color:var(--man-black);font-weight:600}
.content-block ul,.content-block ol{margin:1rem 0 1.5rem 1.5rem;color:var(--man-gray-700)}
.content-block li{margin-bottom:.5rem;line-height:1.7}
.content-block h3{font-size:1.35rem;font-weight:700;margin:2rem 0 1rem;color:var(--man-black)}

.specs-table{width:100%;border-collapse:collapse;margin:2rem 0;background:var(--white)}
.specs-table th,.specs-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--man-gray-100)}
.specs-table th{background:var(--man-gray-50);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--man-black);width:40%}
.specs-table td{font-size:.9375rem;color:var(--man-gray-700)}
.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:none}

.faq{background:var(--man-gray-50);padding:5rem 0}
.faq details{background:var(--white);margin-bottom:1rem;overflow:hidden;border-left:3px solid transparent;transition:border-color var(--transition)}
.faq details[open]{border-left-color:var(--man-red)}
.faq summary{list-style:none;cursor:pointer;padding:1.5rem 2rem;font-weight:600;font-size:1.0625rem;color:var(--man-black);position:relative;padding-right:3.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;transition:transform var(--transition);color:var(--man-red)}
.faq details[open] summary::after{content:"−"}
.faq .answer{padding:0 2rem 1.5rem;color:var(--man-gray-700);line-height:1.75;font-size:.9375rem}

/* --- GALERÍA --- */
.gallery{padding:5rem 0;background:var(--man-gray-50)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.gallery-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;transition:transform .4s ease,opacity var(--transition)}
.gallery-grid img:hover{opacity:.85;transform:scale(1.02)}

/* --- MAPA (iframe OSM, sin cookies) --- */
.mapa{width:100%;height:400px;border:0;display:block;filter:grayscale(.2) contrast(.95)}

/* --- CONTACTO / FORMULARIO --- */
.form-block{padding:5rem 0;background:var(--white)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
form.contact{display:grid;gap:1.25rem}
form.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
form.contact label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--man-gray-700);margin-bottom:.5rem}
form.contact input,form.contact select,form.contact textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--man-gray-300);font-family:inherit;font-size:.9375rem;background:var(--white);transition:border-color var(--transition)}
form.contact input:focus,form.contact select:focus,form.contact textarea:focus{outline:none;border-color:var(--man-red)}
form.contact textarea{resize:vertical;min-height:120px}
form.contact .hp{position:absolute;left:-9999px}
form.contact .submit{background:var(--man-red);color:var(--white);padding:1.1rem 2rem;font-weight:600;font-size:.9375rem;text-transform:uppercase;letter-spacing:.08em;border:none;cursor:pointer;transition:all var(--transition)}
form.contact .submit:hover{background:var(--man-red-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(228,0,69,.4)}
.form-result{margin-top:1rem;padding:1rem;font-size:.9375rem}
.form-result.ok{background:#E8F5E9;color:#1B5E20}
.form-result.err{background:#FFEBEE;color:#B71C1C}

/* --- EMPLEO / TRABAJA CON NOSOTROS --- */
.empleo-block{padding:4rem 0;background:var(--white)}
.empleo-intro{max-width:820px;margin-bottom:3rem}
.empleo-intro .section-sub{margin-top:.5rem}
.empleo-empty{padding:3.5rem 2rem;text-align:center;background:var(--man-gray-50);border:1px dashed var(--man-gray-300);max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.empleo-empty-icon{color:var(--man-red);margin-bottom:.5rem}
.empleo-empty h3{font-size:1.25rem;font-weight:700;color:var(--man-black);margin-bottom:.25rem}
.empleo-empty p{color:var(--man-gray-700);max-width:48ch;line-height:1.6}
.empleo-empty .btn{margin-top:1.5rem}
.empleo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}
.empleo-card{background:var(--white);border:1px solid var(--man-gray-100);padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:border-color var(--transition),transform var(--transition)}
.empleo-card:hover{border-color:var(--man-red);transform:translateY(-3px)}
.empleo-card-head{display:flex;flex-direction:column;gap:.4rem}
.empleo-card-tipo{font-size:.7rem;font-weight:700;color:var(--man-red);text-transform:uppercase;letter-spacing:.12em}
.empleo-card h3{font-size:1.3rem;font-weight:800;letter-spacing:-.01em;color:var(--man-black);line-height:1.2}
.empleo-card-sede{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--man-gray-700)}
.empleo-card-sede svg{color:var(--man-red)}
.empleo-card p{font-size:.9375rem;color:var(--man-gray-700);line-height:1.6}
.empleo-card-req{list-style:none;display:flex;flex-direction:column;gap:.4rem;font-size:.8125rem;color:var(--man-gray-700)}
.empleo-card-req li{position:relative;padding-left:1.1rem;line-height:1.5}
.empleo-card-req li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--man-red)}
.empleo-card-cta{margin-top:auto;font-size:.8125rem;font-weight:700;color:var(--man-red);text-transform:uppercase;letter-spacing:.08em;transition:gap var(--transition);display:inline-flex;gap:.35rem}
.empleo-card-cta:hover{gap:.75rem}

.empleo-form-block{padding:5rem 0;background:var(--man-gray-50)}
.empleo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.empleo-bullets{list-style:none;display:flex;flex-direction:column;gap:1.25rem;margin:2rem 0}
.empleo-bullets li{display:flex;gap:1rem;align-items:flex-start}
.empleo-bullets .eb-icon{flex-shrink:0;width:40px;height:40px;background:var(--man-red);color:var(--white);display:flex;align-items:center;justify-content:center}
.empleo-bullets h4{font-size:1rem;font-weight:700;color:var(--man-black);margin-bottom:.25rem}
.empleo-bullets p{font-size:.9375rem;color:var(--man-gray-700);line-height:1.6}
.empleo-alt{margin-top:2rem;padding:1.5rem;background:var(--white);border-left:3px solid var(--man-red)}
.empleo-alt h4{font-size:1rem;font-weight:700;color:var(--man-black);margin-bottom:.5rem}
.empleo-alt p{font-size:.9375rem;color:var(--man-gray-700);line-height:1.6}
.empleo-alt a{color:var(--man-red);font-weight:600}
form.contact input[type="file"]{padding:.75rem;background:var(--man-gray-50);cursor:pointer}

/* --- FOOTER --- */
footer.site-footer{background:var(--man-gray-50);color:var(--man-gray-700);padding:20px 0 0;position:relative}
footer.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--man-red)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1fr;gap:2.5rem;margin-bottom:2.5rem;align-items:start}
.footer-sedes-hybrid{list-style:none;display:flex;flex-direction:column;gap:.85rem}
.footer-sedes-hybrid li{display:flex;flex-direction:column;gap:.1rem}
.footer-sedes-hybrid .fsh-link{font-size:.9375rem;font-weight:700;color:var(--man-black);transition:color var(--transition);display:inline-block}
.footer-sedes-hybrid .fsh-link:hover{color:var(--man-red)}
.footer-sedes-hybrid .fsh-prov{font-weight:500;color:var(--man-gray-700);font-size:.8125rem}
.footer-sedes-hybrid .fsh-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.75rem;color:var(--man-gray-700);line-height:1.4}
.footer-sedes-hybrid .fsh-addr{opacity:.85}
.footer-sedes-hybrid .fsh-tel{color:var(--man-gray-900);font-weight:600;transition:color var(--transition)}
.footer-sedes-hybrid .fsh-tel:hover{color:var(--man-red)}
.footer-col h4{font-size:.8125rem;font-weight:700;color:var(--man-black);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--man-red);display:inline-block}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding-left:1rem}
.footer-col a{font-size:.9375rem;color:var(--man-gray-700);transition:color var(--transition)}
.footer-col a:hover{color:var(--man-red)}
footer.site-footer a .w1,footer.site-footer a .w2{transition:color var(--transition)}
footer.site-footer a .w1{color:var(--man-black)}
footer.site-footer a .w2{color:var(--man-red)}
footer.site-footer a:hover .w1{color:var(--man-red)}
footer.site-footer a:hover .w2{color:var(--man-black)}
.footer-brand{padding-left:3rem}
.footer-brand p{font-size:.9375rem;line-height:1.7;max-width:40ch;color:var(--man-gray-700)}
.footer-logo{display:block;margin:0 0 20px;color:var(--man-black);line-height:0}
.footer-logo img{height:60px!important;width:auto;display:block;max-width:100%;margin:0}
.footer-bottom{background:var(--man-gray-900);color:rgba(255,255,255,.85);font-size:.8125rem;padding:1.25rem 0;margin-top:2rem}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.footer-bottom .legal{display:flex;gap:2rem;flex-wrap:wrap}
.footer-bottom a{color:rgba(255,255,255,.85);transition:color var(--transition)}
.footer-bottom a:hover{color:var(--man-red)}
footer.site-footer .footer-bottom a .w1{color:rgba(255,255,255,.85)}
footer.site-footer .footer-bottom a .w2{color:var(--man-red)}
footer.site-footer .footer-bottom a:hover .w1{color:var(--man-red)}
footer.site-footer .footer-bottom a:hover .w2{color:rgba(255,255,255,.85)}

/* --- CHAT WIDGET --- */
.chat-fab{position:fixed;bottom:2rem;right:2rem;width:68px;height:68px;background:#fff;color:var(--white);display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--man-gray-300),0 0 0 5px var(--man-red),0 12px 30px rgba(0,0,0,.22);cursor:pointer;z-index:200;border:none;transition:background var(--transition),transform var(--transition),box-shadow var(--transition),bottom .3s ease}
.chat-fab::before{content:none}
.chat-fab--lifted{bottom:6rem}
.chat-fab:hover{background:#fff;transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 2px var(--man-gray-300),0 0 0 6px var(--man-red),0 18px 38px rgba(0,0,0,.28)}
.chat-fab svg{width:30px;height:30px}
.chat-fab .chat-avatar{width:100%;height:100%;display:block;overflow:hidden}
.chat-avatar .avatar-head{transform-origin:50px 78px;animation:avatar-tilt 7s ease-in-out infinite}
.chat-avatar .eye-left{transform-origin:40px 45px;animation:avatar-blink 5.4s ease-in-out infinite}
.chat-avatar .eye-right{transform-origin:60px 45px;animation:avatar-blink 5.4s ease-in-out infinite}
.chat-avatar .mouth-smile{transform-origin:49px 60px;animation:avatar-smile 8s ease-in-out infinite}
.chat-fab:hover .chat-avatar .mouth-smile{transform:scaleX(1.12) scaleY(1.25);animation-play-state:paused}
@keyframes avatar-blink{0%,90%,100%{transform:scaleY(1)}93%,96%{transform:scaleY(.08)}}
@keyframes avatar-tilt{0%,100%{transform:rotate(0)}20%{transform:rotate(4deg)}40%{transform:rotate(0)}60%{transform:rotate(-4deg)}80%{transform:rotate(0)}}
@keyframes avatar-smile{0%,35%,90%,100%{transform:scale(1)}48%,78%{transform:scale(1.2)}}
.chat-bubble{position:fixed;bottom:3.3rem;right:5.4rem;max-width:180px;background:#fff;color:var(--man-dark);padding:.6rem .85rem;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-weight:700;font-size:.85rem;line-height:1.25;letter-spacing:.01em;box-shadow:0 10px 26px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.12);border:2px solid #1a1a1a;border-radius:14px 14px 4px 14px;z-index:199;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px) scale(.85);transform-origin:bottom right;transition:opacity .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .4s;user-select:none}
.chat-bubble::before{content:"";position:absolute;right:-12px;bottom:6px;width:0;height:0;border:8px solid transparent;border-left-color:#1a1a1a;border-right:0;border-bottom:0}
.chat-bubble::after{content:"";position:absolute;right:-8px;bottom:8px;width:0;height:0;border:6px solid transparent;border-left-color:#fff;border-right:0;border-bottom:0}
.chat-bubble.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .25s ease,transform .45s cubic-bezier(.34,1.56,.64,1),visibility 0s linear;animation:bubble-float 2.4s ease-in-out .5s infinite}
.chat-bubble.show:hover{animation-play-state:paused}
@keyframes bubble-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
.chat-fab.open ~ .chat-bubble,.chat-bubble.hide{opacity:0!important;visibility:hidden!important;transform:translateY(8px) scale(.85)!important;animation:none!important}
.chat-fab{transition:background var(--transition),box-shadow var(--transition),bottom .3s ease,opacity .2s ease .45s,transform .35s cubic-bezier(.34,1.56,.64,1) .4s,visibility 0s linear .65s}
.chat-fab.open{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.6);transition:opacity .15s ease .05s,transform .2s ease,visibility 0s linear .2s}
.chat-panel{position:fixed;bottom:2rem;right:2rem;width:64px;height:64px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);background:var(--white);box-shadow:0 30px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;z-index:201;visibility:hidden;overflow:hidden;will-change:width,height;transition:width .45s cubic-bezier(.4,0,.2,1) .18s,height .45s cubic-bezier(.4,0,.2,1) .18s,visibility 0s linear .7s}
.chat-panel.open{visibility:visible;width:400px;height:600px;transition:width .5s cubic-bezier(.25,.9,.3,1),height .55s cubic-bezier(.25,.9,.3,1) .05s,visibility 0s}
.chat-panel::before{content:"";position:absolute;inset:0;background:var(--man-red);z-index:3;pointer-events:none;opacity:1;transition:opacity .2s ease}
.chat-panel.open::before{opacity:0;transition:opacity .22s ease .3s}
.chat-panel > *{opacity:0;transition:opacity .15s ease}
.chat-panel.open > *{opacity:1;transition:opacity .25s ease .35s}
.chat-head{background:#303c49;color:var(--white);padding:.5rem 2.5rem .5rem .75rem;display:flex;align-items:center;gap:.7rem;position:relative;border-left:4px solid var(--man-red)}
.chat-head__logo{height:18px;width:auto;display:block;flex-shrink:0;object-fit:contain}
.chat-head__info{flex:1;min-width:0;border-left:1px solid rgba(255,255,255,.18);padding-left:.7rem}
.chat-head__brand{height:36px;width:auto;display:block;flex-shrink:0;object-fit:contain;opacity:.95}
.chat-head h4{font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.005em;line-height:1.15}
.chat-head p{font-size:.58rem;opacity:.75;margin-top:.1rem;letter-spacing:.1em;text-transform:uppercase}
.chat-head .status::before{content:"";display:inline-block;width:6px;height:6px;background:#4ade80;margin-right:.4rem;vertical-align:middle;box-shadow:0 0 0 2px rgba(74,222,128,.25)}
.chat-close{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:26px;height:26px;background:var(--man-red);color:#fff;border:none;font-size:1.25rem;font-weight:400;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 3px 10px rgba(228,0,69,.4);transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}
.chat-close:hover{background:var(--man-red-dark);transform:translateY(-50%) scale(1.1);box-shadow:0 5px 14px rgba(228,0,69,.55)}
.chat-body{flex:1;overflow-y:auto;padding:1.5rem;background:var(--man-gray-50)}
.chat-msg{margin-bottom:1rem;max-width:85%;padding:.85rem 1.1rem;font-size:.9rem;line-height:1.55;animation:msgIn .3s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.chat-msg.bot{background:var(--white);color:var(--man-dark);border-left:3px solid var(--man-red)}
.chat-msg.user{background:var(--man-red);color:var(--white);margin-left:auto;text-align:right}
.chat-msg a{color:var(--man-red);font-weight:600;text-decoration:underline}
.chat-msg.user a{color:var(--white)}
.chat-quick{display:flex;gap:.5rem;flex-wrap:wrap;padding:0 1.5rem 1rem;background:var(--man-gray-50)}
.chat-quick button{background:var(--white);color:var(--man-dark);padding:.55rem .95rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--man-gray-300);cursor:pointer;transition:all var(--transition)}
.chat-quick button:hover{background:var(--man-red);color:var(--white);border-color:var(--man-red);transform:translateY(-1px)}
.chat-input{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--man-gray-100);background:var(--white)}
.chat-input input{flex:1;padding:.8rem 1rem;border:1px solid var(--man-gray-300);font-family:inherit;font-size:.9rem;outline:none;transition:border-color var(--transition)}
.chat-input input:focus{border-color:var(--man-red)}
.chat-input button{background:var(--man-red);color:var(--white);padding:.8rem 1.4rem;font-weight:800;font-size:1.1rem;line-height:1;border:none;cursor:pointer;transition:background var(--transition),transform var(--transition)}
.chat-input button:hover{background:var(--man-red-dark);transform:translateX(2px)}
.chat-typing{display:inline-flex;gap:4px;padding:.75rem 1rem}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--man-gray-500);animation:typing 1.4s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}
.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* --- OCASIÓN (MAN TopUsed style) --- */
.ocasion-hero{position:relative;background:var(--man-black);color:var(--white);overflow:hidden;min-height:620px;display:flex;align-items:flex-end;padding:17.5rem 0 4.5rem;text-align:left}
.ocasion-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.55)}
.ocasion-hero .overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.3) 100%)}
.ocasion-hero .container{position:relative;z-index:2;padding:0 2rem;text-align:left}
.ocasion-hero .hero-eyebrow{color:var(--white)}
.ocasion-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.02;letter-spacing:-.025em;margin-bottom:1rem;max-width:22ch}
.ocasion-hero h1 em{font-style:normal;color:var(--man-red)}
.ocasion-hero p{font-size:1.125rem;max-width:55ch;color:rgba(255,255,255,.85);line-height:1.6}

.ocasion-search{background:var(--white);padding:2rem 0;box-shadow:0 10px 30px rgba(0,0,0,.04);position:relative;z-index:10;margin-top:-2.5rem;border-radius:4px 4px 0 0}
.ocasion-search .container{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;align-items:end}
.ocasion-search label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--man-gray-700);margin-bottom:.4rem}
.ocasion-search select,.ocasion-search input{width:100%;padding:.75rem .85rem;border:1px solid var(--man-gray-300);font-family:inherit;font-size:.9rem;background:var(--white);transition:border-color var(--transition)}
.ocasion-search select:focus,.ocasion-search input:focus{outline:none;border-color:var(--man-red)}
.ocasion-search button{background:var(--man-red);color:var(--white);padding:.85rem 1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;border:none;cursor:pointer;transition:background var(--transition)}
.ocasion-search button:hover{background:var(--man-red-dark)}

.ocasion-list{padding:4rem 0;background:var(--man-gray-50)}
.ocasion-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.ocasion-count{font-size:1rem;color:var(--man-gray-900)}
.ocasion-count strong{color:var(--man-black);font-weight:700;font-size:1.25rem}
.ocasion-sort{display:flex;gap:.5rem;align-items:center}
.ocasion-sort label{font-size:.8125rem;color:var(--man-gray-700);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.ocasion-sort select{padding:.5rem .75rem;border:1px solid var(--man-gray-300);font-family:inherit;font-size:.875rem}

.ocasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.vehiculo-card{background:var(--white);overflow:hidden;transition:all var(--transition);border:1px solid var(--man-gray-100);display:flex;flex-direction:column}
.vehiculo-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.1);border-color:var(--man-red)}
.vehiculo-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--man-gray-100)}
.vehiculo-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vehiculo-card:hover .vehiculo-img img{transform:scale(1.05)}
.vehiculo-badges{position:absolute;top:.75rem;left:.75rem;display:flex;gap:.4rem;flex-wrap:wrap}
.vehiculo-badge{padding:.3rem .6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--man-red);color:var(--white)}
.vehiculo-badge.bg-dark{background:var(--man-black)}
.vehiculo-badge.bg-green{background:#16a34a}
.vehiculo-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.vehiculo-cat{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--man-red);margin-bottom:.4rem}
.vehiculo-body h3{font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:var(--man-black);margin-bottom:.25rem;line-height:1.2}
.vehiculo-body .version{font-size:.8125rem;color:var(--man-gray-700);margin-bottom:1rem}
.vehiculo-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.75rem 0;padding:.75rem 0;border-top:1px solid var(--man-gray-100);border-bottom:1px solid var(--man-gray-100)}
.vehiculo-specs .s{font-size:.8125rem;color:var(--man-gray-700);display:flex;align-items:center;gap:.4rem}
.vehiculo-specs .s strong{color:var(--man-black);font-weight:700}
.vehiculo-precio{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:1rem}
.vehiculo-precio .p{font-size:1.5rem;font-weight:800;color:var(--man-red);letter-spacing:-.02em;line-height:1}
.vehiculo-precio .sede{font-size:.75rem;color:var(--man-gray-700);text-align:right}
.vehiculo-precio .sede strong{color:var(--man-black);display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.vehiculo-cta{display:block;text-align:center;padding:.85rem;background:var(--man-black);color:var(--white);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;transition:background var(--transition)}
.vehiculo-cta:hover{background:var(--man-red)}

.no-vehicles{grid-column:1/-1;padding:4rem;text-align:center;background:var(--white);border:2px dashed var(--man-gray-300)}

/* Ficha vehículo ocasión */
.ov-hero{background:var(--man-black);color:var(--white);min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:17.5rem 0 4.5rem;text-align:left}
.ov-hero .inner{display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:start}
.ov-gallery .main{aspect-ratio:4/3;overflow:hidden;background:var(--man-gray-900)}
.ov-gallery .main img{width:100%;height:100%;object-fit:cover}
.ov-gallery .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}
.ov-gallery .thumbs img{aspect-ratio:4/3;object-fit:cover;cursor:pointer;opacity:.7;transition:opacity .3s}
.ov-gallery .thumbs img:hover,.ov-gallery .thumbs img.active{opacity:1}
.ov-info h1{font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:.75rem}
.ov-info .version{color:var(--man-red);font-weight:600;margin-bottom:1.25rem}
.ov-info .precio{font-size:3rem;font-weight:800;color:var(--man-red);letter-spacing:-.03em;line-height:1;margin:1.5rem 0}
.ov-info .precio small{display:block;font-size:.875rem;color:rgba(255,255,255,.6);font-weight:400;letter-spacing:.02em;margin-top:.25rem}
.ov-quickspecs{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.ov-quickspecs .s{}
.ov-quickspecs .s .k{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);font-weight:600}
.ov-quickspecs .s .v{font-size:1.1rem;font-weight:800;color:var(--white);margin-top:.25rem}
.ov-cta{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}

/* --- RESPONSIVE --- */
@media (max-width:1024px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .lineup-grid,.lineup-grid.cols-4{grid-template-columns:1fr}
    .sedes-grid{grid-template-columns:1fr}
    .intro-grid{grid-template-columns:1fr;gap:3rem}
    .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
    .services-grid-6{grid-template-columns:repeat(2,1fr)}
    .services-grid-4{grid-template-columns:repeat(2,1fr)}
    .lineup-grid{grid-template-columns:1fr}
    .ficha-hero .container{grid-template-columns:1fr;gap:2rem;padding-top:8rem}
    .form-grid,.empleo-form-grid{grid-template-columns:1fr;gap:2.5rem}
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
    .topbar .inner{justify-content:center;gap:1rem;font-size:.75rem}
    .topbar a:not(.emergency){display:none}
    nav.main-nav{display:none}
    .btn-menu{display:flex;flex-direction:column;gap:5px;width:32px;height:24px;justify-content:center}
    .btn-menu span{display:block;width:100%;height:2px;background:var(--white);transition:all var(--transition)}
    .top-wrapper.scrolled .btn-menu span{background:var(--man-black)}
    .cta-header{display:none}
    .man-logo-right{display:none}
    .header-inner{height:128px;padding:0 2rem 42px}
    .top-wrapper.scrolled .header-inner{height:78px;padding:0 2rem 26px}
    .logo .logo-light{height:130px}
    .logo .logo-dark{height:40px}
    .top-wrapper.scrolled .logo .logo-light{height:68px}
    .top-wrapper.scrolled .logo .logo-dark{height:22px}
    .hero{height:100vh;min-height:560px}
    .page-header{padding:12rem 0 1.5rem;min-height:420px}
    .ocasion-hero{padding:12rem 0 1.5rem;min-height:500px}
    .ov-hero{padding:12rem 0 1.5rem;min-height:440px}
    .ficha-hero .container{padding-top:12rem;padding-bottom:1.5rem;min-height:420px}
    .hero-content{padding-bottom:8rem}
    section{padding:4rem 0}
    .services-grid{grid-template-columns:1fr}
    .services-grid-6{grid-template-columns:1fr}
    .services-grid-4{grid-template-columns:1fr}
    .stats-strip .container{grid-template-columns:repeat(2,1fr);gap:1.5rem}
    .stats-strip .stat + .stat::before{display:none}
    .mobile24-tel .num{font-size:1.15rem}
    .sede-map-grid{grid-template-columns:1fr}
    .sede-card{grid-template-columns:1fr}
    .sede-img{min-height:200px;aspect-ratio:16/9}
    .footer-grid{grid-template-columns:1fr;gap:2rem}
    .intro-stats .s .n{font-size:1.5rem}
    .services-header{flex-direction:column;align-items:flex-start}
    .cta-strip .container{flex-direction:column;align-items:flex-start}
    form.contact .row{grid-template-columns:1fr}
    .chat-panel{right:1rem;bottom:1rem}
    .chat-panel.open{width:calc(100vw - 2rem)}
    .chat-fab{right:1rem;bottom:1rem}
    .ocasion-grid{grid-template-columns:1fr}
    .ocasion-search .container{grid-template-columns:1fr 1fr}
    .ov-hero .inner{grid-template-columns:1fr}
}
@media (max-width:1024px){
    .ocasion-grid{grid-template-columns:repeat(2,1fr)}
    .ocasion-search .container{grid-template-columns:repeat(3,1fr)}
}

/* Overlay menú móvil */
.mobile-menu{position:fixed;inset:0;z-index:150;background:var(--white);padding:6rem 2rem 2rem;transform:translateX(100%);transition:transform var(--transition);display:flex;flex-direction:column}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{display:block;padding:1rem 0;font-size:1.25rem;font-weight:600;color:var(--man-black);border-bottom:1px solid var(--man-gray-100)}
.mobile-menu a:hover{color:var(--man-red)}
.mobile-menu__group{display:block;margin-top:1.25rem;padding-bottom:.25rem;font-family:'MAN Global Condensed','MAN Global',sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--man-red)}
.mobile-close{position:absolute;top:1.5rem;right:2rem;width:32px;height:32px;cursor:pointer}
.mobile-close::before,.mobile-close::after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--man-black)}
.mobile-close::before{transform:rotate(45deg)}
.mobile-close::after{transform:rotate(-45deg)}
