/*
Theme Name: Runm Theme
Theme URI: http://example.com/runm
Author: Your Name
Author URI: http://example.com
Description: A custom theme for the Runm project with a landing page.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: landing-page, custom-theme
*/

body {font-family: var(--runm-font-sans, Arial, sans-serif); margin:0; padding:0; background:var(--runm-gray); min-height:100vh; display:flex; flex-direction:column;}

header {background: var(--runm-dark); color:#fff; padding:20px 0; text-align:center; position:sticky; top:0; z-index:1000; box-shadow:0 2px 6px -2px rgba(0,0,0,.35);}
body.admin-bar header {top:32px;}
.runm-nav-inner {max-width:1180px; margin:0 auto; padding:0 1.25rem; display:flex; align-items:center; gap:2.2rem;}
.runm-menu-wrapper {display:flex; align-items:center; flex:1;}
.runm-menu {list-style:none; margin:0 0 0 auto; padding:0; display:flex; gap:1.65rem; align-items:center;}
.runm-brand {flex:0 0 auto;}
.runm-brand__link {text-decoration:none;}
.runm-brand__text {display:inline-block;}
/* Auth separator now placed relative to overall right-aligned menu */
.runm-menu li.runm-auth-start {position:relative;}
.runm-menu li.runm-auth-start:before {content:""; position:absolute; left:-1.05rem; top:50%; transform:translateY(-50%); height:1.65rem; width:1px; background:linear-gradient(to bottom,rgba(255,255,255,.05),rgba(255,255,255,.4),rgba(255,255,255,.05));}
@media (max-width:760px){
        .runm-navbar {position:relative;}
        .runm-menu-wrapper {display:none; position:absolute; left:0; top:100%; width:100%; background:var(--runm-dark); padding:.85rem 1.1rem 1.25rem; box-shadow:0 12px 24px -8px rgba(0,0,0,.38); border-top:1px solid rgba(255,255,255,.08); flex-direction:column; gap:.35rem; z-index:800; animation:runmSlide .28s ease;}
        .runm-menu-wrapper.is-open {display:flex;}
        .runm-menu {flex-direction:column; gap:.65rem; margin:0; align-items:flex-start; width:100%;}
        .runm-menu li.runm-auth-start:before {display:none;}
        .runm-menu li a {padding:.55rem 0;}
}
.menu-spacer {flex:1 1 auto !important; padding:0 !important; margin:0 !important;}
@media (max-width:760px){.menu-spacer {display:none;}}
.runm-menu li a {color:#e6ecf7; text-decoration:none; position:relative; padding:.5rem 0 .45rem; display:inline-block; font-weight:600; transition:color .35s cubic-bezier(.4,0,.2,1);}
/* Subrayado animado con anticipación: pequeña contracción inicial (scaleX(.04) -> 1) */
.runm-menu li a:after {content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:linear-gradient(90deg,var(--runm-primary) 0%, var(--runm-primary-accent) 100%); transform-origin:left center; transform:scaleX(0); transition:transform .46s cubic-bezier(.15,.85,.3,1.05) .04s; border-radius:2px;}
/* Estado hover/focus/activo dispara escala completa */
.runm-menu li a:hover:after, .runm-menu li a:focus-visible:after, .runm-menu li.current-menu-item a:after {transform:scaleX(1);}
/* Color fade sincronizado (sin delay para respuesta inmediata) */
.runm-menu li a:hover, .runm-menu li a:focus-visible, .runm-menu li.current-menu-item > a {color:#fff;}
/* Enlace Registro color distintivo */
.menu-item-register a {color:var(--runm-primary-accent);}
.menu-item-register a:after {background:linear-gradient(90deg,var(--runm-primary-accent) 0%, var(--runm-primary) 100%);}
.menu-item-register a:hover, .menu-item-register a:focus-visible {color:#fff;}
/* Focus visible accesible */
.runm-menu li a:focus-visible {outline:none; box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 0 4px var(--runm-primary-accent); border-radius:4px;}
.site-title--brand {font-size:var(--runm-fs-display); font-weight:700; font-style:italic; letter-spacing:.5px; margin:.25rem 0 .35rem; font-family:"Segoe UI", "Helvetica Neue", Arial, sans-serif; line-height:1;}
.runm-menu li a.btn {padding:.55rem 1.05rem; line-height:1;}
.runm-menu li a.btn:after {display:none;}
.runm-footer__logo {font-size:var(--runm-fs-brand); font-weight:700; letter-spacing:.5px; font-style:italic; background:linear-gradient(90deg,#fff,#d6e8ff); -webkit-background-clip:text; background-clip:text; color:transparent; position:relative; display:inline-block;}
.runm-footer__brand {display:flex; flex-direction:column; align-items:center; text-align:center;}
.menu-item-login, .menu-item-register {display:flex; align-items:center;}
.menu-item-login {margin-left:.55rem;}
.runm-footer__tag {margin:.75rem 0 0; font-size:var(--runm-fs-tag); text-transform:uppercase; letter-spacing:1.55px; font-weight:600; opacity:.78; display:inline-block;}
@media (max-width:760px){
    .runm-menu li a.btn {width:100%;}
.runm-footer__title {margin:0 0 .9rem; font-size:var(--runm-fs-xs); letter-spacing:1.4px; font-weight:600; text-transform:uppercase; opacity:.8;}
    .menu-item-login, .menu-item-register {width:100%;}
}
.runm-footer__list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.45rem; font-size:var(--runm-fs-s); opacity:.9;}
/* Toggle (mobile) */
.runm-nav-toggle {display:none; background:transparent; border:0; cursor:pointer; padding:.55rem .5rem; border-radius:6px; position:relative;}
/* Dark mode toggle styles (temporalmente deshabilitado)
.runm-theme-toggle {display:inline-flex; margin-left:.65rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.35); color:#fff; cursor:pointer; padding:.45rem .55rem; border-radius:8px; font-size:.95rem; line-height:1; transition:background .25s ease,border-color .25s ease,transform .35s cubic-bezier(.19,1,.22,1);}
.runm-theme-toggle:hover {background:rgba(255,255,255,.15);}
.runm-theme-toggle:active {transform:scale(.9);}
.runm-theme-toggle:focus-visible {outline:none; box-shadow:0 0 0 3px #fff,0 0 0 5px var(--runm-primary-accent);}
.runm-theme-toggle[aria-pressed=true] .runm-theme-toggle__icon {filter:drop-shadow(0 0 4px rgba(255,255,255,.4));}
*/
.runm-nav-overlay {position:fixed; inset:0; background:rgba(0,0,0,.45); backdrop-filter:blur(2px); opacity:0; transition:opacity .3s ease; z-index:500;}
.runm-menu-open .runm-nav-overlay {opacity:1;}
.runm-nav-overlay[hidden] {display:block; opacity:0; pointer-events:none;}
.runm-footer__copy {margin:0; font-size:var(--runm-fs-2xs); letter-spacing:.5px; opacity:.6;}
.runm-nav-toggle__bar {display:block; width:24px; height:3px; background:#fff; margin:4px 0; transition:.3s ease; border-radius:2px;}
.runm-nav-toggle[aria-expanded="true"] .runm-nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
body {background:var(--runm-gray); color:#1a1f24; line-height:1.5; font-size:var(--runm-fs-base);}
.runm-nav-toggle[aria-expanded="true"] .runm-nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.runm-nav-toggle__label {position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}

@media (max-width:880px){
    .runm-nav-inner {gap:1rem;}
    .runm-nav-toggle {display:inline-flex; flex-direction:column; justify-content:center; align-items:center; margin-left:auto;}
    .runm-brand {flex:0 0 auto;}
    .runm-menu {gap:1rem;}
}
@media (max-width:980px) and (min-width:761px){
    .runm-menu {gap:1.1rem;}
}
h1,h2,h3,h4,h5 {font-family:var(--runm-font-sans); font-weight:650; line-height:1.15; margin:0 0 .75em; letter-spacing:.4px;}
h1 {font-size:var(--runm-fs-xxl);}
h2 {font-size:var(--runm-fs-xl);}
h3 {font-size:var(--runm-fs-h3);}
h4 {font-size:var(--runm-fs-h4); font-weight:600;}
.runm-menu-wrapper.is-open {display:flex;}
.runm-brand__text {font-size:calc(var(--runm-fs-brand) * 1.5); font-weight:700; font-style:italic; letter-spacing:.5px; color:#fff; text-decoration:none; display:inline-block;}

/* Branding title adjustments */
/* Size utility buttons (deduplicated) */
.btn-sm {padding:.55rem 1rem; font-size:var(--runm-fs-sm);}
.btn-lg {padding:1.05rem 1.9rem; font-size:var(--runm-fs-h4);}

/* Hero primary heading */
.runm-hero__title {font-size:var(--runm-fs-hero); margin:0 0 1rem; line-height:1.1;}
.runm-hero__subtitle {font-size:var(--runm-fs-lg); max-width:780px; margin:0 auto 1.75rem;}
/* legacy .hero removed */

.runm-hero__meta {opacity:.9; font-size:var(--runm-fs-meta);}
/* Footer (refactor) */
.runm-footer {color:#fff; font-family:var(--runm-font-sans); background:linear-gradient(160deg,#041a2b,#05263d 55%,#06385e); position:relative; margin-top:auto;}
.runm-section h2 {font-size:var(--runm-fs-xl); margin:0 0 1.25rem; text-align:center;}
.runm-footer__top {position:relative; padding:3.1rem 0 2.5rem;}
.runm-footer__top:before {content:""; position:absolute; inset:0; background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.12),transparent 55%); mix-blend-mode:overlay; pointer-events:none;}
.runm-footer__layout {display:flex; gap:3.2rem; align-items:flex-start; justify-content:center; flex-wrap:wrap;}
.runm-card p {margin:.4rem 0 0; font-size:var(--runm-fs-meta);}
.runm-footer__logo {font-size:var(--runm-fs-brand); font-weight:700; letter-spacing:.5px; font-style:italic; background:linear-gradient(90deg,#fff,#d6e8ff); -webkit-background-clip:text; background-clip:text; color:transparent; position:relative; display:inline-block;}
.runm-footer__logo:after {content:""; position:absolute; left:0; right:0; bottom:-4px; height:3px; background:linear-gradient(90deg,var(--runm-primary),#2d8dff); border-radius:3px; opacity:.7;}
.runm-vehicle-item h3 {margin:.2rem 0 .15rem; font-size:var(--runm-fs-base);}
.runm-footer__cols {display:flex; gap:3.5rem; flex-wrap:wrap;}
.runm-footer__col {min-width:140px;}
.runm-vehicle-item p {margin:0; font-size:var(--runm-fs-s); color:#334452; letter-spacing:.3px;}
.runm-footer__col--center {text-align:center;}
.runm-footer__col--center .runm-footer__title {text-align:center;}
.runm-footer__col--center .runm-footer__list {align-items:center; justify-content:center;}
.runm-footer__col--center .runm-footer__social {justify-content:center;}
.runm-footer__title {margin:0 0 .9rem; font-size:var(--runm-fs-xs); letter-spacing:1.4px; font-weight:600; text-transform:uppercase; opacity:.8;}
.runm-form label {font-size:var(--runm-fs-label); font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#112c48; display:block; margin-bottom:.4rem;}
.runm-footer__list li {display:flex; gap:.45rem; align-items:center;}
.runm-footer__social {list-style:none; margin:.2rem 0 0; padding:0; display:flex; gap:.55rem;}
.runm-cta-block .btn + .btn {margin-left:.85rem;}
.runm-footer__social a:before {content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(255,255,255,.25),rgba(255,255,255,0)); opacity:0; transition:.35s ease;}
.runm-footer__social a:hover {background:rgba(255,255,255,.16); transform:translateY(-3px); box-shadow:0 6px 14px -4px rgba(0,0,0,.55);}
.runm-inline-list {list-style:none; padding:0; margin:1rem 0 0; display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; font-size:var(--runm-fs-meta); opacity:.9;}
.runm-footer__bottom {border-top:1px solid rgba(255,255,255,.08); background:#041726; padding:14px 0 16px;}
.runm-footer__copy {margin:0; font-size:var(--runm-fs-2xs); letter-spacing:.5px; opacity:.6;}
.runm-footer a {color:#fff; text-decoration:none;}
.runm-footer a:focus-visible {outline:2px solid #fff; outline-offset:2px;}
.runm-footer__bottom-inner {display:flex; justify-content:center;}
@media (max-width:880px){
    .runm-footer__layout {flex-direction:column; gap:2.4rem; align-items:center; text-align:center;}
    .runm-footer__cols {gap:2.25rem;}
    /* .runm-footer__brand already centered globally */
    .runm-footer__logo:after {left:50%; transform:translateX(-50%); width:90%;}
    .runm-footer__bottom {padding:18px 0 20px;}
}
@media (max-width:520px){
    .runm-footer__top {padding:2.6rem 0 2.1rem;}
    .runm-footer__cols {gap:1.85rem;}
    .runm-footer__social a {width:var(--runm-social-size); height:var(--runm-social-size);}
    .runm-footer__logo {font-size:1.6rem;}
    .runm-footer__tag {font-size:.6rem; letter-spacing:1.2px;}
}

/* --- Runm Landing Additions --- */
:root {
    /* Color tokens */
    --runm-primary:#0057b8;
    --runm-primary-accent:#0074ff;
    --runm-primary-rgb:0 87 184;
    --runm-dark:#0a2340;
    --runm-dark-2:#102f52;
    --runm-light:#ffffff;
    --runm-gray:#f2f7fb;
    --runm-gray-2:#e5e8eb;
    --runm-gray-3:#c4ced6;
    --runm-danger:#d93025;
    --runm-success:#128a2e;

    /* Typography */
    --runm-font-sans:'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --runm-font-mono:'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;
    /* Typography scale (single source of truth) */
    --runm-fs-2xs:.65rem;
    --runm-fs-tag:.68rem;
    --runm-fs-xs:.72rem;
    --runm-fs-s:.78rem;
    --runm-fs-sm:.82rem;
    --runm-fs-base:clamp(.95rem, .22vw + .9rem, 1rem);
    --runm-fs-meta:.9rem;
    --runm-fs-lg:1.15rem;
    --runm-fs-h4:1.05rem;
    --runm-fs-h3:1.35rem;
    --runm-fs-card:1.1rem;
    --runm-fs-brand:1.85rem;
    --runm-fs-hero:clamp(2rem,5vw,3.2rem);
    --runm-fs-xl:clamp(1.6rem, 2.2vw + 1.2rem, 2.4rem);
    --runm-fs-xxl:clamp(2.3rem, 3vw + 1.8rem, 3.4rem);
    --runm-fs-display:clamp(4.5rem, 6vw + 2rem, 5.8rem);
    --runm-fs-label:.75rem;

    /* Social icon sizing */
    --runm-social-size:44px; /* antes 48px (reducción ~10%) */
    --runm-social-icon-size:25px; /* antes 28px */

    /* Radius, spacing, shadows */
    --runm-radius:8px;
    --runm-radius-sm:4px;
    --runm-radius-full:999px;
    --runm-space-1:.25rem;
    --runm-space-2:.5rem;
    --runm-space-3:.75rem;
    --runm-space-4:1rem;
    --runm-space-5:1.5rem;
    --runm-space-6:2rem;
    --runm-shadow-sm:0 2px 4px -2px rgba(0,0,0,.15);
    --runm-shadow:0 4px 10px -2px rgba(0,0,0,.25);
    --runm-shadow-lg:0 8px 22px -6px rgba(0,0,0,.35);

    /* Motion, others */
    --runm-transition:.18s ease-in-out;
    --runm-transition-fast:.12s ease-in-out;
    --runm-gradient:linear-gradient(130deg,#003b80 0%,#0057b8 55%,#0a6dff 100%);
    --runm-outline-focus:0 0 0 3px #fff,0 0 0 5px var(--runm-primary-accent);
        --runm-gradient-alt:linear-gradient(140deg,#004e9f,#0074ff);
        --runm-gradient-cta:linear-gradient(160deg,var(--runm-primary-accent) 0%, var(--runm-primary) 90%);
        --runm-gradient-btn:linear-gradient(150deg,var(--runm-primary-accent) 0%, var(--runm-primary) 70%);
        --runm-gradient-btn-cta:linear-gradient(150deg,var(--runm-primary-accent) 0%, var(--runm-primary) 85%);
        --runm-shadow-btn:0 4px 10px -2px rgba(0,40,120,.45);
        --runm-shadow-btn-hover:0 6px 15px -3px rgba(0,40,120,.55);
        --runm-shadow-btn-cta:0 4px 14px -4px rgba(0,40,120,.5);
        --runm-break-sm:640px;
        --runm-break-md:820px;
        --runm-break-nav:760px;
}

/* Dark mode token overrides */
[data-theme=dark] {
    --runm-gray:#10171f;
    --runm-gray-2:#1d2731;
    --runm-gray-3:#2c3b49;
    --runm-light:#ffffff;
    --runm-dark:#060e17;
    --runm-dark-2:#0d1c2d;
    --runm-primary:#2f7dd8;
    --runm-primary-accent:#4d95ff;
    --runm-gradient:linear-gradient(130deg,#08233d 0%,#0e3a66 55%,#15518f 100%);
    --runm-gradient-alt:linear-gradient(140deg,#0d4782,#1d64b8);
    --runm-gradient-btn:linear-gradient(150deg,#4d95ff 0%, #1d64b8 70%);
    --runm-gradient-btn-cta:linear-gradient(150deg,#5ba2ff 0%, #2872c6 85%);
    --runm-shadow-btn:0 4px 10px -2px rgba(0,0,0,.55);
    --runm-shadow-btn-hover:0 6px 15px -3px rgba(0,0,0,.6);
    --runm-shadow-btn-cta:0 4px 14px -4px rgba(0,0,0,.6);
}

body {background:var(--runm-gray); color:#1a1f24; line-height:1.5; font-size:var(--runm-fs-base);}
a, .link {color:var(--runm-primary); text-decoration:none; transition:color var(--runm-transition-fast);}
a:hover, .link:hover {text-decoration:underline;}

/* Headings scale */
h1,h2,h3,h4,h5 {font-family:var(--runm-font-sans); font-weight:650; line-height:1.15; margin:0 0 .75em; letter-spacing:.4px;}
h1 {font-size:var(--runm-fs-xxl);}
h2 {font-size:var(--runm-fs-xl);}
h3 {font-size:var(--runm-fs-h3);}
h4 {font-size:var(--runm-fs-h4); font-weight:600;}

p {margin:0 0 1.1rem;}
small, .text-sm {font-size:var(--runm-fs-sm);}
.text-muted {color:#4d5b68; opacity:.85;}

/* Layout helpers */
.runm-container, .container {max-width:1180px; margin:0 auto; padding:0 1.25rem;}
.layout-narrow {max-width:880px; margin:0 auto;}
.stack {display:flex; flex-direction:column; gap:var(--runm-space-4);}
.cluster {display:flex; flex-wrap:wrap; gap:var(--runm-space-3);}
.grid {display:grid; gap:var(--runm-space-4);}
.grid.cols-3 {grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}

/* Spacing utilities */
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;} .mb-1{margin-bottom:.5rem;} .mb-2{margin-bottom:1rem;} .mb-3{margin-bottom:1.5rem;} .mb-4{margin-bottom:2rem;} .pt-4{padding-top:2rem;} .pb-4{padding-bottom:2rem;} .py-6{padding-top:3rem; padding-bottom:3rem;}

/* Generic card */
.card {background:#fff; border:1px solid var(--runm-gray-2); border-radius:var(--runm-radius); padding:1.15rem 1.15rem 1.3rem; box-shadow:0 3px 6px -2px rgba(20,23,28,.08);}
.card:hover {box-shadow:0 6px 18px -6px rgba(20,23,28,.16);}

/* Alerts */
.runm-success, .runm-error {padding:.75rem 1rem; border-radius:var(--runm-radius-sm); font-weight:600; font-size:var(--runm-fs-sm); margin:0 0 1rem;}
.runm-success {background:rgba(18,138,46,.12); color:var(--runm-success);}
.runm-error {background:rgba(217,48,37,.12); color:var(--runm-danger);}
/* Links redefined arriba */

.btn {display:inline-block; font-weight:600; padding:.85rem 1.45rem; border-radius:calc(var(--runm-radius) + 2px); text-decoration:none; cursor:pointer; border:2px solid var(--runm-primary); background:var(--runm-gradient-btn); color:#fff; transition:var(--runm-transition); letter-spacing:.35px; line-height:1.1; position:relative; box-shadow:var(--runm-shadow-btn), 0 0 0 0 rgba(255,255,255,0);}
.btn:hover {filter:brightness(1.06); box-shadow:var(--runm-shadow-btn-hover);}
.btn:active {transform:translateY(1px); box-shadow:0 3px 8px -3px rgba(0,0,0,.5);}
.btn:focus-visible {outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--runm-primary-accent);}
.btn.disabled, .btn[disabled] {opacity:.55; cursor:not-allowed; box-shadow:none;}

/* Primary explicit */
.btn-primary {background:var(--runm-gradient-btn); border-color:var(--runm-primary);}

/* Secondary (white) */
.btn-secondary {background:#fff; color:var(--runm-primary); border:2px solid #fff; box-shadow:0 4px 10px -2px rgba(0,40,90,.25);}
.btn-secondary:hover {background:#f0f6ff;}

/* Outline general (para fondos claros) */
.btn-outline {background:transparent; color:var(--runm-primary); border:2px solid var(--runm-primary);}
.btn-outline:hover {background:var(--runm-primary); color:#fff;}
/* --- Auth items ahora estilizados como enlaces de menú estándar --- */
.runm-auth-links a,
.menu-item-register a,
.menu-item-login a {
        display:inline-block;
        padding:.5rem .75rem; /* similar a padding de enlaces menu */
        font-weight:600;
        border:none;
        background:none;
        color:var(--runm-light);
        line-height:1.1;
        position:relative;
        transition:color .3s ease, opacity .3s ease;
}
.runm-auth-links a:focus-visible,
.menu-item-register a:focus-visible,
.menu-item-login a:focus-visible {outline:none; box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 5px var(--runm-primary-accent); border-radius:6px;}
.runm-auth-links a:hover,
.menu-item-register a:hover,
.menu-item-login a:hover {color:#fff;}
/* Separador (si existía margen) lo mantenemos ligero */
.runm-auth-start {margin-left:1.1rem; position:relative;}
.runm-auth-start:before {content:""; position:absolute; left:-.9rem; top:50%; transform:translateY(-50%); width:1px; height:1.65rem; background:linear-gradient(to bottom,rgba(255,255,255,.05),rgba(255,255,255,.35),rgba(255,255,255,.05));}
@media (max-width:760px){
    .runm-auth-start {margin-left:0;}
    .runm-auth-start:before {display:none;}
    .runm-auth-links a, .menu-item-register a {width:100%;}
}

/* Outline invertido dentro del hero (contraste alto sobre azul) */
.runm-hero .btn-outline {color:#fff; border-color:#fff; background:rgba(255,255,255,.15); backdrop-filter:blur(4px);}
.runm-hero .btn-outline:hover {background:#fff; color:var(--runm-primary);}

/* Tamaños */
.btn-sm {padding:.55rem 1rem; font-size:var(--runm-fs-sm);}
.btn-lg {padding:1.05rem 1.9rem; font-size:var(--runm-fs-h4);}

/* CTA unified style (alias de primary con borde blanco en fondos oscuros) */
.btn-cta {background:var(--runm-gradient-btn-cta); border:2px solid #ffffff; color:#fff; box-shadow:var(--runm-shadow-btn-cta);}
.btn-cta:hover {filter:brightness(1.07); box-shadow:0 6px 18px -5px rgba(0,40,120,.55);}
.btn-cta:active {transform:translateY(1px);}
.btn-cta:focus-visible {outline:none; box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px var(--runm-primary-accent);}
/* Neutral / Ghost */
.btn-ghost {background:transparent; border:2px solid transparent; color:var(--runm-primary);}
.btn-ghost:hover {background:rgba(255,255,255,.4);}

/* On dark/gradient backgrounds keep contrast */
.runm-hero .btn-cta, .runm-cta-block .btn-cta {background:linear-gradient(160deg,var(--runm-primary-accent) 0%, var(--runm-primary) 90%);}

/* Grupo de CTAs: espaciar y adaptar stacking en móviles */
.runm-hero__ctas {gap:.85rem;}
@media (max-width:640px){
    .runm-hero__ctas .btn-cta {width:100%; max-width:340px;}
    .runm-cta-block .btn-cta {width:100%; max-width:340px;}
    .runm-hero {padding:3.8rem 1rem 3.2rem;}
    .runm-hero__ctas .btn {width:auto; min-width:210px;}
    /* Ajustes mobile: inputs ocupan todo el ancho del contenedor sin margen derecho */
}

/* Hero */
.runm-hero {padding:5rem 1.5rem 4rem; background:var(--runm-gradient); color:var(--runm-light); text-align:center; position:relative; overflow:hidden;}
.runm-hero__inner {max-width:960px; margin:0 auto;}
.runm-hero__title {font-size:var(--runm-fs-hero); margin:0 0 1rem; line-height:1.1;}
.runm-hero__subtitle {font-size:var(--runm-fs-lg); max-width:780px; margin:0 auto 1.75rem;}
.runm-hero__ctas {display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1.5rem;}
.runm-hero__ctas--center {justify-content:center;}
.runm-hero__meta {opacity:.9; font-size:var(--runm-fs-meta);}

/* Override específico después de las reglas base para que aplique en móvil */
/* (Consolidated override ya incluido arriba) */

/* Sections */
.runm-section {padding:4rem 1.5rem; background:#fff; position:relative;}
/* Alternar con azul muy claro */
.runm-section:nth-of-type(even){background:#eef5fb;}
.runm-container {max-width:1180px; margin:0 auto;}
.runm-section h2 {font-size:var(--runm-fs-xl); margin:0 0 1.25rem; text-align:center;}
.runm-grid {display:grid; gap:1.75rem;}
@media (min-width:700px){.runm-grid.cols-3 {grid-template-columns:repeat(3,1fr);} }
@media (max-width:699px){.runm-grid.cols-3 {grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}}

.runm-card {background:#fff; border:1px solid var(--runm-gray-2); padding:1.25rem 1.1rem 1.35rem; border-radius:var(--runm-radius); box-shadow:0 3px 6px -2px rgba(20,23,28,.08); position:relative; overflow:hidden; transition:box-shadow var(--runm-transition-fast), transform var(--runm-transition-fast);}
.runm-card:hover {transform:translateY(-2px); box-shadow:0 8px 22px -6px rgba(20,23,28,.18);}
.runm-card h3 {margin-top:0; font-size:var(--runm-fs-card);}
.runm-card p {margin:.4rem 0 0; font-size:var(--runm-fs-meta);}

/* Vehicle listings */
.runm-vehicles-grid {display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); margin:2rem 0;}
.runm-vehicle-item {background:#fff; border:1px solid var(--runm-gray-2); border-radius:var(--runm-radius); padding:1rem .95rem 1.2rem; box-shadow:0 2px 6px -2px rgba(0,0,0,.08); display:flex; flex-direction:column; gap:.55rem; transition:box-shadow var(--runm-transition-fast), transform var(--runm-transition-fast);}
.runm-vehicle-item:hover {box-shadow:0 6px 18px -6px rgba(0,0,0,.18); transform:translateY(-2px);}
.runm-vehicle-item h3 {margin:.2rem 0 .15rem; font-size:var(--runm-fs-base); color:#1e293b; font-weight:700;}
.runm-vehicle-item img {border-radius:var(--runm-radius-sm); width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;}
.runm-vehicle-item p {margin:0; font-size:var(--runm-fs-s); color:#334452; letter-spacing:.3px;}
.runm-vehicle-subtitle {font-size:.75rem !important; color:#64748b !important; font-weight:500;}
.runm-vehicle-price {font-size:.85rem !important; color:#0f172a !important; font-weight:700;}

/* Forms */
.runm-form {background:#fff; padding:1.5rem 1.5rem 1.7rem; border:1px solid var(--runm-gray-2); border-radius:var(--runm-radius); box-shadow:0 4px 10px -3px rgba(0,0,0,.06); max-width:760px;}
.runm-form p {margin:0 0 1.05rem;}
.runm-form label {font-size:var(--runm-fs-label); font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#112c48; display:block; margin-bottom:.4rem;}
.runm-form input[type=text],
.runm-form input[type=number],
.runm-form input[type=file],
.runm-form textarea,
.runm-form select {width:100%; padding:.7rem .85rem; border:1px solid var(--runm-gray-3); border-radius:var(--runm-radius-sm); background:#fff; font:inherit; line-height:1.25; color:#1a2530; box-sizing:border-box; transition:border-color var(--runm-transition-fast), box-shadow var(--runm-transition-fast);}
.runm-form input[type=file]{padding:.4rem .5rem;}
.runm-form input:focus,
.runm-form textarea:focus,
.runm-form select:focus {outline:none; border-color:var(--runm-primary); box-shadow:0 0 0 3px rgba(var(--runm-primary-rgb)/.25);}
.runm-form button[type=submit] {margin-top:.5rem;}
.runm-search-form {display:flex; flex-wrap:wrap; gap:.6rem; background:#fff; padding:1rem 1rem 1.1rem; border:1px solid var(--runm-gray-2); border-radius:var(--runm-radius); box-shadow:0 3px 8px -3px rgba(0,0,0,.05);}
.runm-search-form input,
.runm-search-form select {flex:1 1 150px; min-width:140px;}
.runm-search-form button {flex:0 0 auto;}
@media (max-width:640px){
    .runm-form, .runm-search-form {padding:1.1rem .95rem 1.25rem;}
    .runm-search-form input, .runm-search-form select {flex:1 1 calc(50% - .6rem);}
}

.runm-cta-block {text-align:center; padding:4rem 1.5rem; background:var(--runm-primary); color:#fff; border-radius:var(--runm-radius); background-image:var(--runm-gradient-alt); max-width:960px; margin:0 auto;}
.runm-cta-block .btn + .btn {margin-left:.85rem;}
@media (max-width:820px){
    .runm-cta-block {max-width:640px;}
}
@media (max-width:640px){
    .runm-cta-block {padding:3rem 1rem; max-width:520px;}
    .runm-cta-block .runm-hero__ctas {flex-direction:column; align-items:center;}
    .runm-cta-block .btn {width:auto; min-width:210px;}
    .runm-cta-block .btn + .btn {margin-left:0; margin-top:.75rem;}
    /* Centrado footer brand en móvil */
    .runm-footer__brand {align-items:center; text-align:center;}
    .runm-footer__tag {margin-left:0; margin-right:0;}
    .runm-footer__cols {flex-direction:column; align-items:center;}
    .runm-footer__col--center {text-align:center;}
}
.runm-cta-block h2 {margin-top:0;}
.runm-inline-list {list-style:none; padding:0; margin:1rem 0 0; display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; font-size:var(--runm-fs-meta); opacity:.9;}

/* Animaciones sutiles */
/* Animaciones sutiles (progresive enhancement): visible por defecto */
[data-animate]{opacity:1; transform:none;}
.has-intersection [data-animate]{opacity:0; transform:translateY(18px); transition:.6s cubic-bezier(.19,1,.22,1);}
.has-intersection [data-animate].in-view{opacity:1; transform:translateY(0);}
/* Stagger support */
.has-intersection [data-animate]{transition-delay:var(--runm-delay,0ms);}
/* Footer tagline subtle fade */
.runm-footer__tag {transition:opacity .5s ease, transform .5s ease;}
.has-intersection .runm-footer__brand[data-animate]{transform:translateY(14px);}
.has-intersection .runm-footer__brand.in-view{transform:translateY(0);}
/* Social hover microinteraction refinement */
.runm-footer__social a {transition:background .35s ease, transform .45s cubic-bezier(.19,1,.22,1), box-shadow .4s ease; position:relative; border-radius:14px; display:flex; align-items:center; justify-content:center; width:var(--runm-social-size); height:var(--runm-social-size); padding:0;}
.runm-footer__social a .runm-social-icon {width:var(--runm-social-icon-size); height:var(--runm-social-icon-size); transition:filter .45s ease;}
.runm-footer__social a:hover {transform:translateY(-5px) scale(1.1); box-shadow:0 8px 20px -8px rgba(0,0,0,.5);}
/* Eliminada rotación para mantener claridad visual */

/* Colores corporativos */
.runm-social-instagram .runm-social-icon {stroke:#fff;} /* Icono blanco sobre gradiente de fondo */
.runm-social-instagram {background:radial-gradient(circle at 30% 30%, #feda75, #fa7e1e 35%, #d62976 55%, #962fbf 75%, #4f5bd5);}
.runm-social-facebook {background:#1877F2;}
.runm-social-facebook .runm-social-icon {fill:#fff; color:#fff;}
.runm-social-x {background:#fff;}
.runm-social-x .runm-social-icon {fill:#000; color:#000;}
.runm-footer__social a.runm-social-instagram:hover {filter:brightness(1.1);}
.runm-footer__social a.runm-social-facebook:hover {filter:brightness(1.08);}
.runm-footer__social a.runm-social-x:hover {background:#e6e6e6;}

/* Utilidades */
/* Legacy utilidades (algunas redefinidas arriba) */
.text-center{text-align:center;}
@keyframes runmSlide {from {opacity:0; transform:translateY(-8px);} to {opacity:1; transform:translateY(0);}}
@keyframes runmSep {from {opacity:0; transform:translateY(-6px);} to {opacity:1; transform:translateY(0);} }
