/*=========================================================
=
=  ADA BIKER STORE
=  Catálogo Oficial 2026
=
=========================================================*/


/*=========================================================
= GOOGLE FONTS
=========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');


/*=========================================================
= VARIABLES
=========================================================*/

:root{

    /* Colores */

    --color-primary:#d60000;
    --color-secondary:#111111;
    --color-dark:#1b1b1b;
    --color-light:#ffffff;
    --color-gray:#f4f4f4;
    --color-gray-dark:#7a7a7a;
    --color-border:#e5e5e5;

    /* Tipografía */

    --font-main:'Montserrat',sans-serif;

    /* Tamaños */

    --container:1400px;

    --section-space:120px;

    --radius:18px;

    /* Sombras */

    --shadow-small:
        0 8px 20px rgba(0,0,0,.05);

    --shadow-medium:
        0 15px 40px rgba(0,0,0,.08);

    --shadow-large:
        0 25px 70px rgba(0,0,0,.12);

    /* Transiciones */

    --transition:.35s ease;

}


/*=========================================================
= RESET
=========================================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}


html{

    scroll-behavior:smooth;

}


body{

    background:#ffffff;

    color:var(--color-dark);

    font-family:var(--font-main);

    line-height:1.6;

    overflow-x:hidden;

}


/*=========================================================
= IMÁGENES
=========================================================*/

img{

    display:block;

    max-width:100%;

    height:auto;

}


/*=========================================================
= LINKS
=========================================================*/

a{

    text-decoration:none;

    color:inherit;

}


/*=========================================================
= LISTAS
=========================================================*/

ul{

    list-style:none;

}


/*=========================================================
= CONTENEDOR
=========================================================*/

.container{

    width:92%;

    max-width:var(--container);

    margin:auto;

}


/*=========================================================
= SECCIONES
=========================================================*/

.section{

    padding:var(--section-space) 0;

    position:relative;

}


/*=========================================================
= TITULOS
=========================================================*/

.section-title{

    font-size:3rem;

    font-weight:900;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:20px;

}


.section-subtitle{

    color:var(--color-primary);

    font-size:.95rem;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;

}


.section-description{

    max-width:760px;

    font-size:1.1rem;

    color:var(--color-gray-dark);

}


/*=========================================================
= BOTONES
=========================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:16px 34px;

    border-radius:50px;

    font-weight:700;

    transition:var(--transition);

    cursor:pointer;

}


.btn-primary{

    background:var(--color-primary);

    color:#ffffff;

}


.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-medium);

}


.btn-dark{

    background:#111;

    color:#fff;

}


.btn-dark:hover{

    background:#000;

}


/*=========================================================
= TARJETAS
=========================================================*/

.card{

    background:#fff;

    border-radius:var(--radius);

    overflow:hidden;

    box-shadow:var(--shadow-small);

    transition:var(--transition);

}


.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-large);

}


/*=========================================================
= GRID
=========================================================*/

.grid{

    display:grid;

    gap:40px;

}


/*=========================================================
= FLEX
=========================================================*/

.flex{

    display:flex;

}


/*=========================================================
= ESPACIADOS
=========================================================*/

.mt-1{margin-top:15px;}
.mt-2{margin-top:30px;}
.mt-3{margin-top:60px;}
.mt-4{margin-top:90px;}

.mb-1{margin-bottom:15px;}
.mb-2{margin-bottom:30px;}
.mb-3{margin-bottom:60px;}
.mb-4{margin-bottom:90px;}


/*=========================================================
= ANIMACIONES
=========================================================*/

.fade{

    opacity:0;

    transform:translateY(40px);

    transition:1s;

}

.fade.show{

    opacity:1;

    transform:none;

}


/*=========================================================
= SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--color-primary);

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#ececec;

}


/*=========================================================
= IMPRESIÓN PDF
=========================================================*/

@media print{

    html{

        scroll-behavior:auto;

    }

    body{

        background:#ffffff;

    }

    .section{

        page-break-inside:avoid;

    }

}


/*=========================================================
= TABLETS
=========================================================*/

@media(max-width:992px){

    :root{

        --section-space:90px;

    }

    .section-title{

        font-size:2.4rem;

    }

}

/*==================================================
HERO - MOBILE
==================================================*/

@media (max-width:768px){

.hero{

    min-height:100vh;

    padding:120px 0 60px;

    background-position:center;

}

.hero-content{

    width:100%;

}

.hero-logo{

    width:120px;

    margin-bottom:25px;

}

.hero-subtitle{

    font-size:12px;

    letter-spacing:2px;

}

.hero-title{

    font-size:40px;

    line-height:1.15;

    margin-bottom:20px;

}

.hero-description{

    font-size:18px;

    line-height:1.6;

    margin-bottom:35px;

    padding:0 10px;

}

.hero-buttons{

    flex-direction:column;

    width:100%;

    gap:15px;

}

.hero-buttons .btn{

    width:100%;

}

.hero-features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin-top:50px;

}

.feature{

    justify-content:center;

    text-align:center;

    font-size:14px;

}

.scroll-down{

    bottom:18px;

    font-size:24px;

}

}
/*==================================================
HERO - DESKTOP
==================================================*/

.hero{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:100vh;

    padding:140px 0 100px;

    overflow:hidden;

    color:#ffffff;

    text-align:center;

    background-image:
        linear-gradient(
            rgba(0,0,0,.65),
            rgba(0,0,0,.78)
        ),
        url("../assets/fondos/moto.png");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

}

/* Capa decorativa */

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at top right,
        rgba(214,25,32,.18),
        transparent 45%);

    pointer-events:none;

}

/* Contenido */

.hero-content{

    position:relative;

    z-index:2;

    max-width:900px;

}

/* Logo */

.hero-logo{

    width:180px;

    margin:0 auto 35px;

}

/* Subtítulo */

.hero-subtitle{

    display:inline-block;

    color:#D71920;

    font-size:.95rem;

    font-weight:700;

    letter-spacing:4px;

    margin-bottom:20px;

}

/* Título */

.hero-title{

    font-size:72px;

    font-weight:900;

    line-height:1.08;

    margin-bottom:25px;

}

/* Descripción */

.hero-description{

    font-size:22px;

    color:#dddddd;

    margin-bottom:45px;

}

/* Botones */

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-bottom:70px;

}

/* Características */

.hero-features{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:35px;

}

.feature{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:16px;

    font-weight:600;

}

/* Flecha */

.scroll-down{

    position:absolute;

    bottom:30px;

    left:50%;

    transform:translateX(-50%);

    font-size:30px;

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,20%,50%,80%,100%{

        transform:translate(-50%,0);

    }

    40%{

        transform:translate(-50%,-12px);

    }

    60%{

        transform:translate(-50%,-6px);

    }

}
/*======================================
EMPRESA
======================================*/

.empresa{

padding:120px 0;

background:#ffffff;

}

.section-tag{

display:inline-block;

padding:8px 18px;

background:#D7262E;

color:#fff;

font-size:12px;

font-weight:700;

letter-spacing:2px;

border-radius:30px;

margin-bottom:20px;

}

.section-title{

font-size:48px;

font-weight:800;

margin-bottom:25px;

color:#111;

max-width:700px;

line-height:1.2;

}

.section-text{

font-size:18px;

color:#666;

line-height:1.8;

max-width:850px;

margin-bottom:70px;

}

.empresa-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.empresa-card{

background:#fff;

border:1px solid #ececec;

padding:40px;

border-radius:15px;

transition:.3s;

}

.empresa-card:hover{

transform:translateY(-8px);

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.empresa-card i{

font-size:42px;

color:#D7262E;

margin-bottom:20px;

}

.empresa-card h3{

font-size:22px;

margin-bottom:15px;

}

.empresa-card p{

font-size:15px;

color:#666;

line-height:1.6;

}

@media(max-width:900px){

.empresa-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:650px){

.empresa-grid{

grid-template-columns:1fr;

}

.section-title{

font-size:34px;

}

}
/*====================================================
WHY US
====================================================*/

.why-us{

margin-top:120px;

padding:80px;

background:#111;

border-radius:25px;

color:#fff;

}

.why-us-header{

text-align:center;

max-width:900px;

margin:auto;

margin-bottom:70px;

}

.why-us .section-title{

color:#fff;

max-width:none;

}

.why-us .section-text{

color:#d4d4d4;

max-width:none;

margin-bottom:0;

}

.why-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.why-card{

background:#1c1c1c;

padding:45px 25px;

border-radius:18px;

text-align:center;

transition:.35s;

border:1px solid rgba(255,255,255,.06);

}

.why-card:hover{

transform:translateY(-8px);

background:#D7262E;

}

.why-card i{

font-size:42px;

margin-bottom:20px;

color:#ffffff;

}

.why-card h3{

font-size:42px;

font-weight:800;

margin-bottom:10px;

}

.why-card span{

font-size:16px;

color:#d6d6d6;

}

.why-card:hover span{

color:#fff;

}

@media(max-width:900px){

.why-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:650px){

.why-us{

padding:45px 25px;

}

.why-grid{

grid-template-columns:1fr;

}

}
/*======================================================
NUESTRAS LÍNEAS
======================================================*/

.categorias{

padding:120px 0;

background:#f6f6f6;

}

.categories-layout{

display:flex;

flex-direction:column;

gap:35px;

}

/*====================================*/

.category-large{

position:relative;

height:520px;

border-radius:25px;

overflow:hidden;

cursor:pointer;

box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.category-large img{

width:100%;

height:100%;

object-fit:cover;

transition:.6s;

display:block;

}

.category-large:hover img{

transform:scale(1.08);

}

/*====================================*/

.category-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

}

/*====================================*/

.category-small{

position:relative;

height:320px;

overflow:hidden;

border-radius:22px;

cursor:pointer;

box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.category-small img{

width:100%;

height:100%;

object-fit:cover;

transition:.6s;

display:block;

}

.category-small:hover img{

transform:scale(1.08);

}

/*====================================*/

.overlay{

position:absolute;

inset:0;

background:linear-gradient(

to top,

rgba(0,0,0,.88),

rgba(0,0,0,.15)

);

}

/*====================================*/

.category-info{

position:absolute;

left:45px;

bottom:40px;

right:45px;

color:white;

z-index:2;

}

.category-info span{

display:inline-block;

margin-bottom:15px;

font-size:13px;

letter-spacing:2px;

color:#d8d8d8;

}

.category-info h2{

font-size:46px;

font-weight:800;

margin-bottom:15px;

}

.category-info h3{

font-size:34px;

font-weight:800;

margin-bottom:12px;

}

.category-info p{

font-size:17px;

line-height:1.7;

max-width:600px;

margin-bottom:22px;

color:#efefef;

}

.category-info a{

display:inline-flex;

align-items:center;

gap:12px;

text-decoration:none;

color:white;

font-weight:700;

transition:.35s;

}

.category-info a:hover{

gap:22px;

color:#ff3b3b;

}

/*====================================*/

@media(max-width:900px){

.category-grid{

grid-template-columns:1fr;

}

.category-large{

height:380px;

}

.category-small{

height:260px;

}

.category-info h2{

font-size:34px;

}

.category-info h3{

font-size:26px;

}

.category-info{

left:25px;

right:25px;

bottom:25px;

}

}