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

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f5f5f5;

    color:#222;

}

/*=========================================
GENERAL
=========================================*/

.container{
    width:90%;
    max-width:1280px;
    margin:0 auto;
}

section{
    width:100%;
}

img{
    max-width:100%;
    display:block;
}

/*=========================================
ABOUT
=========================================*/

.about{
    padding:100px 0;
    background:#ffffff;
}

.numbers-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    text-align:center;
}

.topbar{

    background:#0c1f35;

    color:white;

    padding:12px 0;

}

.topbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

nav ul{

    display:flex;

    list-style:none;

    gap:30px;

}

nav ul li a{

    color:white;

    text-decoration:none;

    font-weight:bold;

}

nav ul li a:hover{

    color:#d8b14b;

}

.hero h1{
    font-size:55px;
    color:#fff !important;
    font-weight:700;
    margin-bottom:15px;
    text-shadow:0 3px 8px rgba(0,0,0,.85);
}

.hero h2{
    font-size:36px;
    color:#fff !important;
    font-weight:400;
    margin-bottom:25px;
    text-shadow:0 3px 8px rgba(0,0,0,.85);
}

.hero p{

    font-size:19px;

    margin-bottom:40px;

}

.btn{

    background:#d8b14b;

    color:#000;

    padding:14px 28px;

    border-radius:40px;

    text-decoration:none;

    font-weight:bold;

}

.footer{

    background:#111;

    color:white;

    padding:60px 0;

    margin-top:80px;

}

.footer h3{

    margin-bottom:20px;

}

.footer-copy{

    margin-top:40px;

    border-top:1px solid #444;

    padding-top:20px;

    text-align:center;

}
.top-bar{

background:#06192d;

color:#fff;

font-size:14px;

padding:10px 0;

}

.top-bar .container{

display:flex;

justify-content:space-between;

align-items:center;

}

.navbar .container{

display:flex;

justify-content:space-between;

align-items:center;

padding:14px 0;

}

.logo a{

font-size:28px;

font-weight:700;

color:#0b2341;

text-decoration:none;

}

.navbar ul{

display:flex;

gap:20px;

list-style:none;

}

.navbar ul li a{

text-decoration:none;

font-weight:600;

color:#222;

transition:.3s;

}

.navbar ul li a:hover{

color:#c9a227;

}

.btn-reservar{

background:#c9a227;

color:white;

padding:12px 18px;

border-radius:40px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}

.btn-reservar:hover{

background:#a78518;

}
.hero{

height:75vh;

background:url("../img/hero/hero.jpg") center center;

background-size:cover;

position:relative;

display:flex;

align-items:center;

}

.hero-overlay{

background:rgba(5,18,35,.70);

width:100%;

height:100%;

display:flex;

align-items:center;

}

.hero-text{
    position: relative;
    top: -15px;
    max-width: 680px;
}

.tagline{

color:#d8b14b;

font-size:18px;

font-weight:600;

letter-spacing:2px;

}

.hero h1{

font-size:56px;

margin-top:20px;

line-height:1.1;

}

.hero h2{

font-size:34px;

font-weight:300;

margin-bottom:30px;

}

.hero p{

font-size:19px;

line-height:32px;

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

}

.btn-gold{

background:#d8b14b;

padding:15px 30px;

color:#111;

text-decoration:none;

font-weight:bold;

border-radius:50px;

}

.btn-white{

border:3px solid #ffffff;

padding:15px 30px;

border-radius:40px;

transition:.3s;

}

.btn-white:hover{

background:#ffffff22;

transform:translateY(-3px);

}

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:45px;

align-items:center;

}

.about-image img{

width:100%;

max-width:none;

border-radius:20px;

box-shadow:0 20px 60px rgba(0,0,0,.18);

transition:.4s;

}

.about-image img:hover{

transform:scale(1.03);

}

.section-tag{

display:inline-block;

background:#d6ab36;

color:white;

padding:8px 18px;

border-radius:40px;

font-weight:600;

letter-spacing:2px;

margin-bottom:20px;

}

.about h2{

font-size:46px;

color:#102845;

margin-bottom:30px;

}

.about p{

font-size:20px;

line-height:36px;

color:#555;

margin-bottom:35px;

}

.about-list{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

font-size:19px;

font-weight:600;

color:#0b2341;

}
.numbers{

background:#0b2341;

padding:80px 0;

color:white;

}

.numbers-grid div{

transition:.3s;

}

.numbers-grid div:hover{

transform:translateY(-6px);

}

.numbers-grid div:hover h3{

color:#f3c74d;

transform:scale(1.12);

}


.numbers h3{
    font-size:42px;
    line-height:1.1;
    margin-bottom:10px;
    transition:.3s;
}

.numbers p{
    font-size:16px;
}

/*==========================
SERVICIOS
==========================*/

.services{

padding:100px 0;

background:#f5f7fb;

}

.section-title{

text-align:center;

max-width:900px;

margin:auto;

margin-bottom:60px;

}

.section-title span{

color:#caa22b;

font-weight:700;

letter-spacing:2px;

}

.section-title h2{

font-size:46px;

color:#102845;

margin:20px 0;

}

.section-title p{

font-size:20px;

color:#666;

line-height:34px;

}

.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.service-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

}

.service-card:hover{

transform:translateY(-10px);

}

.service-card img{

width:100%;

height:230px;

object-fit:cover;

}

.service-card h3{

padding:25px 25px 10px;

color:#102845;

font-size:26px;

}

.service-card p{

padding:0 25px 30px;

line-height:30px;

color:#666;

}
/*=========================
FLOTA PREMIUM
==========================*/

.fleet{
    padding:110px 0;
    background:#ffffff;
}

.fleet-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:22px;
}

.fleet-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s;
}

.fleet-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.18);
}

.fleet-card img{
    width:100%;
    height:240px;
    object-fit:cover;
    transition:.4s;
}

.fleet-card:hover img{
    transform:scale(1.05);
}

.fleet-info{
    padding:25px;
}

.fleet-info h3{
    color:#102845;
    margin-bottom:10px;
}

.fleet-info p{
    color:#777;
    margin-bottom:15px;
}

.fleet-info ul{
    list-style:none;
    padding:0;
    margin:0 0 20px;
}

.fleet-info ul li{
    margin-bottom:8px;
}

.btn-card{
    display:inline-block;
    background:#d6ab36;
    color:#fff;
    text-decoration:none;
    padding:12px 24px;
    border-radius:30px;
    font-weight:600;
    transition:.3s;
}

.btn-card:hover{
    background:#102845;
}
/*=========================
CLIENTES
==========================*/

.clients{

padding:110px 0;

background:#f8f9fb;

}

.clients-slider{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:30px;

align-items:center;

}

.client-logo{

background:white;

padding:30px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

display:flex;

justify-content:center;

align-items:center;

height:140px;

transition:.35s;

}

.client-logo:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.client-logo img{

max-width:140px;

max-height:70px;

filter:grayscale(100%);

transition:.35s;

}

.client-logo:hover img{

filter:grayscale(0%);

}
/*==================================
RESPONSIVE
==================================*/

@media (max-width:768px){

.logo-img{
    height:65px;
    max-width:260px;
}

.nav-menu{
    flex-wrap:wrap;
    justify-content:center;
}

.fleet-card img{
    height:220px;
}

.navbar .container{

flex-direction:column;

gap:15px;

}

.navbar ul{

flex-direction:column;

align-items:center;

gap:15px;

}

.hero{

height:auto;

padding:90px 0;

}

.hero-text{

top:0;

max-width:100%;

text-align:center;

}

.hero h1{

font-size:40px;

}

.hero h2{

font-size:26px;

}

.hero p{
    font-size:19px;
    color:#fff !important;
    line-height:30px;
    max-width:650px;
    margin-bottom:30px;
    text-shadow:0 2px 6px rgba(0,0,0,.8);
}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.about-grid{

grid-template-columns:1fr;

}

.services-grid{

grid-template-columns:1fr;

}

.fleet-grid{

grid-template-columns:1fr;

}

.numbers-grid{

grid-template-columns:1fr 1fr;

}

.top-bar .container{

flex-direction:column;

text-align:center;

gap:8px;

}

}



/*=========================================
HEADER PREMIUM
=========================================*/

.logo{
    display:flex;
    align-items:center;
}

.logo-img{
    display:block;
    height:55px;
    width:auto;
    max-width:240px;
    object-fit:contain;
}

.navbar{
    position:sticky;
    top:0;
    background:#0c1f35;
    box-shadow:0 5px 25px rgba(0,0,0,.08);
    z-index:999;
}

.navbar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:22px;
    margin:0;
    padding:0;
}

.nav-menu li{
    list-style:none;
}

.nav-menu li a{
    color:#ffffff;
    text-decoration:none;
    font-weight:600;
    transition:.30s;
}

.nav-menu li a:hover{
    color:#d4af37;
}

.btn-header{
    background:#d4af37;
    color:#fff !important;
    padding:12px 24px;
    border-radius:35px;
    font-weight:bold;
}

.btn-header:hover{
    background:#102845;
}
/* =========================================
   ROMASA - HERO FINAL
========================================= */

.hero .hero-text .tagline{
    color:#d8b14b !important;
    text-shadow:0 2px 5px rgba(0,0,0,.85);
}

.hero .hero-text h1{
    color:#ffffff !important;
    font-size:56px !important;
    font-weight:700 !important;
    line-height:1.1;
    text-shadow:0 3px 10px rgba(0,0,0,.90);
}

.hero .hero-text h2{
    color:#ffffff !important;
    font-size:34px !important;
    font-weight:400 !important;
    line-height:1.2;
    text-shadow:0 3px 10px rgba(0,0,0,.90);
}

.hero .hero-text p{
    color:#ffffff !important;
    font-size:18px;
    line-height:30px;
    text-shadow:0 2px 7px rgba(0,0,0,.90);
}

/* =========================================
   ROMASA - HERO BOTONES Y TEXTO
========================================= */

.hero .hero-text p{
    font-size:17px !important;
    line-height:25px !important;
    color:#ffffff !important;
    margin-bottom:28px !important;
    text-shadow:0 2px 6px rgba(0,0,0,.9);
}

.hero .hero-buttons{
    display:flex;
    gap:18px;
    align-items:center;
}

.hero .hero-buttons .btn-gold{
    background:#d8b14b !important;
    color:#111 !important;
    border:2px solid #d8b14b;
    padding:14px 28px;
    border-radius:40px;
    font-weight:700;
}

.hero .hero-buttons .btn-white{
    background:transparent !important;
    color:#ffffff !important;
    border:2px solid #ffffff !important;
    padding:14px 28px;
    border-radius:40px;
    font-weight:700;
    text-shadow:0 1px 3px rgba(0,0,0,.8);
}

.hero .hero-buttons .btn-white:hover{
    background:#ffffff !important;
    color:#102845 !important;
}
/* =========================================
   ROMASA - MENSAJE DE SEGURIDAD Y CONFIANZA
========================================= */

.hero-trust{
    margin:28px 0 28px;
    padding-left:22px;
    border-left:3px solid #d8b14b;
    max-width:700px;
}

.hero-trust h3{
    margin:0;
    padding:0;
    color:#ffffff !important;
    font-size:29px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:1px;
    text-shadow:0 3px 9px rgba(0,0,0,.90);
}

.hero-trust h3:nth-child(2){
    color:#d8b14b !important;
}

.hero-trust p{
    margin:14px 0 0;
    padding:0;
    color:#ffffff !important;
    font-size:16px;
    line-height:1.6;
    font-weight:400;
    text-shadow:0 2px 7px rgba(0,0,0,.90);
}


/* =========================================
   MENSAJE EN CELULAR
========================================= */

@media (max-width:768px){

    .hero-trust{
        margin:22px 0 24px;
        padding-left:15px;
        max-width:100%;
        text-align:left;
    }

    .hero-trust h3{
        font-size:21px;
        line-height:1.3;
    }

    .hero-trust p{
        font-size:14px;
        line-height:1.5;
        margin-top:12px;
    }
}

/* CORRECCIÓN MENÚ HEADER OSCURO */

.navbar ul li a{
    color:#ffffff !important;
}

.navbar ul li a:hover{
    color:#d4af37 !important;
}

.navbar .btn-header{
    color:#ffffff !important;
}
/* =====================================================
   ROMASA 2026 - DISEÑO FINAL PORTADA
   AZUL MARINO + DORADO + BLANCO
===================================================== */

/* ---------- HEADER ---------- */

.topbar,
.top-bar{
    background:#06192d !important;
    color:#ffffff !important;
}

.navbar{
    background:#06192d !important;
    border-bottom:2px solid #d4af37 !important;
    box-shadow:0 5px 20px rgba(0,0,0,.25);
}

.navbar .container{
    min-height:82px;
    padding:10px 0;
}

/* ---------- LOGO ---------- */

.logo{
    display:flex;
    align-items:center;
}

.logo-img{
    width:230px !important;
    max-width:230px !important;
    height:auto !important;
    max-height:72px;
    object-fit:contain;
}

/* ---------- MENÚ ---------- */

.navbar ul,
.nav-menu{
    display:flex;
    align-items:center;
    gap:30px;
}

.navbar ul li a,
.nav-menu li a{
    color:#ffffff !important;
    text-decoration:none;
    font-weight:600;
    font-size:16px;
}

.navbar ul li a:hover,
.nav-menu li a:hover{
    color:#d4af37 !important;
}

/* ---------- RESERVAR ---------- */

.navbar .btn-header{
    background:#d4af37 !important;
    color:#ffffff !important;
    padding:13px 26px;
    border-radius:35px;
    font-weight:700;
}

.navbar .btn-header:hover{
    background:#e4bd45 !important;
    color:#ffffff !important;
}


/* =====================================================
   HERO
===================================================== */

.hero{
    height:75vh;
    min-height:650px;
    background-position:center center;
    background-size:cover;
}

.hero-overlay{
    background:rgba(5,18,35,.38) !important;
}

/* Texto principal */

.hero .hero-text{
    max-width:760px;
    top:-10px;
}

.hero .tagline{
    color:#d8b14b !important;
    font-size:19px;
    font-weight:700;
    letter-spacing:2px;
}

.hero .hero-text h1{
    color:#ffffff !important;
    font-size:58px !important;
    line-height:1.05;
    margin-top:18px;
    margin-bottom:12px;
    text-shadow:0 3px 10px rgba(0,0,0,.9);
}

.hero .hero-text h2{
    color:#ffffff !important;
    font-size:34px !important;
    margin-bottom:20px;
    text-shadow:0 3px 8px rgba(0,0,0,.9);
}


/* =====================================================
   MENSAJE DE SEGURIDAD
===================================================== */

.hero-trust{
    margin:22px 0 28px !important;
    padding-left:20px;
    border-left:4px solid #d8b14b;
}

.hero-trust h3{
    margin:0 0 3px 0 !important;
    color:#ffffff !important;
    font-size:29px !important;
    line-height:1.2;
    font-weight:800;
    text-shadow:0 3px 8px rgba(0,0,0,.95);
}

.hero-trust h3:nth-child(2){
    color:#d8b14b !important;
}

.hero-trust p{
    margin:12px 0 0 !important;
    color:#ffffff !important;
    font-size:17px !important;
    line-height:1.5;
    text-shadow:0 2px 7px rgba(0,0,0,.9);
}


/* =====================================================
   BOTONES
===================================================== */

.hero .hero-buttons{
    display:flex;
    gap:18px;
    align-items:center;
}

.hero .btn-gold{
    background:#d8b14b !important;
    color:#111 !important;
    border:2px solid #d8b14b;
    padding:14px 30px;
    border-radius:40px;
    font-weight:700;
}

.hero .btn-white{
    background:transparent !important;
    color:#ffffff !important;
    border:2px solid #ffffff !important;
    padding:14px 30px;
    border-radius:40px;
    font-weight:700;
}


/* =====================================================
   CELULAR
===================================================== */

@media (max-width:768px){

    .navbar .container{
        padding:10px 15px;
        min-height:70px;
    }

    .logo-img{
        width:160px !important;
        max-width:160px !important;
        max-height:55px;
    }

    .navbar ul,
    .nav-menu{
        gap:14px;
    }

    .navbar ul li a,
    .nav-menu li a{
        font-size:13px;
    }

    .hero{
        height:auto;
        min-height:700px;
    }

    .hero-overlay{
        background:rgba(5,18,35,.45) !important;
    }

    .hero .hero-text{
        max-width:100%;
        top:0;
    }

    .hero .hero-text h1{
        font-size:40px !important;
    }

    .hero .hero-text h2{
        font-size:26px !important;
    }

    .hero-trust{
        margin:20px 0 25px !important;
    }

    .hero-trust h3{
        font-size:21px !important;
    }

    .hero-trust p{
        font-size:14px !important;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* =========================================================
   ROMASA — SOBRESCRITURA FINAL
   Estas reglas quedan FUERA de cualquier @media.
   HEADER + MENÚ + MENSAJE DE SEGURIDAD
========================================================= */

.navbar,
header .navbar{
    background:#06192d !important;
    color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
}

.navbar .container,
header .navbar .container{
    background:#06192d !important;
    color:#ffffff !important;
}

.navbar ul,
.navbar .nav-menu,
header .navbar ul,
header .navbar .nav-menu{
    display:flex !important;
    align-items:center !important;
    visibility:visible !important;
    opacity:1 !important;
}

.navbar ul li a,
.navbar .nav-menu li a,
header .navbar ul li a,
header .navbar .nav-menu li a{
    color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-decoration:none !important;
    font-weight:600 !important;
}

.navbar ul li a:hover,
.navbar .nav-menu li a:hover,
header .navbar ul li a:hover,
header .navbar .nav-menu li a:hover{
    color:#d4af37 !important;
}

.navbar .btn-header,
header .navbar .btn-header{
    background:#d4af37 !important;
    color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
}

.navbar .logo,
.navbar .logo a,
.navbar .logo-img,
header .navbar .logo,
header .navbar .logo a,
header .navbar .logo-img{
    opacity:1 !important;
    visibility:visible !important;
}

/* Mensaje de seguridad */
.hero .hero-trust{
    position:relative !important;
    z-index:20 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:22px 0 28px !important;
    padding-left:20px !important;
    border-left:4px solid #d8b14b !important;
    max-width:700px !important;
}

.hero .hero-trust h3{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:0 0 3px 0 !important;
    color:#ffffff !important;
    font-size:29px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-shadow:0 3px 8px rgba(0,0,0,.95) !important;
}

.hero .hero-trust h3:nth-child(2){
    color:#d8b14b !important;
}

.hero .hero-trust p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:12px 0 0 !important;
    color:#ffffff !important;
    font-size:17px !important;
    line-height:1.5 !important;
    text-shadow:0 2px 7px rgba(0,0,0,.9) !important;
}

/* Evita que el overlay quede por encima del texto */
.hero .hero-overlay{
    position:relative !important;
    z-index:1 !important;
}

.hero .hero-text{
    position:relative !important;
    z-index:10 !important;
}

@media (max-width:768px){

    .navbar ul,
    .navbar .nav-menu,
    header .navbar ul,
    header .navbar .nav-menu{
        display:flex !important;
    }

    .hero .hero-trust h3{
        font-size:21px !important;
    }

    .hero .hero-trust p{
        font-size:14px !important;
    }
}

/* =====================================================
   ROMASA - MENU REAL
===================================================== */

.navbar .nav-menu{
    display:flex !important;
    align-items:center !important;
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
    gap:30px !important;
}

.navbar .nav-menu li{
    list-style:none !important;
}

.navbar .nav-menu li a{
    color:#ffffff !important;
    background:transparent !important;
    text-decoration:none !important;
    font-weight:600 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.navbar .nav-menu li a:hover{
    color:#d4af37 !important;
}

.navbar .nav-menu .btn-header{
    background:#d4af37 !important;
    color:#ffffff !important;
}
