:root{
    --black:#080909;
    --soft:#151718;
    --red:#e30613;
    --white:#fff;
    --paper:#f4f4f2;
    --gray:#a6a7a7;
    --line:#d9d9d5
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}

body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--black);
    line-height:1.55
}

.wrap{
    width:min(1190px,calc(100% - 48px));
    margin:auto
}

.skip{
    position: absolute;
    left: -10000px;
}


.skip:focus{
    left:12px;
    top:12px;
    z-index:10;
    background:#fff;
    padding:10px
}

header{
    height:82px;
    background:#000000;
    position:sticky;
    top:0;
    z-index:7;
    border-bottom:1px solid #000000
}

.top{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.brand img,footer img{
    display:block;
    width:250px;
    height:auto
}

nav{
    display:flex;
    align-items:center;
    gap:27px
}

nav a{
    font-size:15px;
    font-weight:bold;
    text-decoration:none;
    color:#fff;
    letter-spacing:.2px;
    position:relative;
}

nav a.active{
    color:#fff;
}

nav a.active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:2px;
    background:var(--red);
}

nav a,footer a{
    font-size:15px;
    font-weight:bold;
    text-decoration:none;
    color:var(--white);
    letter-spacing:.2px
}

nav a:hover,footer a:hover,.company a:hover{
    color:var(--red)
}

/* =========================
   BOTÓN MÁQUINAS + DESPLEGABLE
   ========================= */

.nav-dropdown{
    position:relative;
}

/* Botón "Máquinas" */

.nav-dropdown-toggle{
    display:block;
    margin:0;
    padding:0;

    background:none;
    border:0;

    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:bold;
    line-height:1.55;
    letter-spacing:.2px;

    cursor:pointer;
}

.nav-dropdown-toggle span{
    font-size:10px;
    margin-left:4px;
}

.nav-dropdown-toggle:hover{
    color:var(--red);
}


/* Desplegable */

.nav-dropdown-menu{
    position:absolute;
    top:calc(100% + 20px);
    left:50%;

    min-width:210px;

    background:#000;
    border-top:3px solid var(--red);

    padding:8px 0;

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

    opacity:0;
    visibility:hidden;

    transform:translate(-50%, -8px);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility .2s ease;

    z-index:20;
}

.nav-dropdown-menu a{
    display:block;

    padding:11px 18px;

    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    font-weight:bold;

    text-decoration:none;
    white-space:nowrap;
}

.nav-dropdown-menu a:hover{
    background:#151718;
    color:var(--red);
}


/* =========================
   ORDENADOR
   ========================= */

@media (min-width:901px){

    .nav-dropdown:hover .nav-dropdown-menu{
        opacity:1;
        visibility:visible;
        transform:translate(-50%,0);
    }

}


/* =========================
   MÓVIL
   ========================= */

@media (max-width:900px){

    .nav-dropdown{
        width:100%;
    }

    .nav-dropdown-toggle{
        width:100%;
        padding:11px 0;
        text-align:left;
        color:#000;
    }

    .nav-dropdown-toggle:hover{
        color:var(--red);
    }

    .nav-dropdown-menu{
        position:static;
        display:none;
        width:100%;
        min-width:0;
        background:#fff;
        border-top:none;
        box-shadow:none;
        padding:0;
        opacity:1;
        visibility:visible;
        transform:none;
        transition:none;
    }

    .nav-dropdown.open .nav-dropdown-menu{
        display:block;
    }

    nav a.active::after{
    display:none;
}

    .nav-dropdown-menu a{
        display:block;
        padding:10px 15px;
        font-size:14px;
        color:#000;
        background:#fff;
    }

    .nav-dropdown-menu a:hover{
        background:#f5f5f5;
        color:var(--red);
    }
}

/* =========================
   FIN BOTÓN MÁQUINAS + DESPLEGABLE
   ========================= */

.contact-link{
    color:#fff!important;
    background:var(--red);
    padding:11px 17px
}

.menu{
    display:none;
    background:none;
    border:0;
    font-size:24px;
    color:#fff;
}

.hero{
    background:var(--black);
    min-height:695px;
    color:#fff;
    position:relative;
    overflow:hidden
}

.hero:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#080909 18%,rgba(8,9,9,.86) 48%,rgba(8,9,9,.08) 100%)
}

.hero-inner{
    padding-top:150px;
    position:relative;
    z-index:1
}

.tag{
    font-size:10px;
    letter-spacing:2px;
    font-weight:800;
    color:#fff;
    margin:0 0 13px
}
.redtext{
    color:var(--red)
}

h1,h2,h3,p{
    margin-top:0
}

h1{
    font-size:clamp(48px,6.3vw,86px);
    letter-spacing:-4px;
    line-height:.96;
    max-width:780px;
    margin-bottom:25px
}

.hero-inner>p:not(.tag){
    font-size:19px;
    max-width:520px;
    color:#dadada
}

.cta{
    display:flex;
    gap:11px;margin-top:35px
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    padding:13px 20px;
    font-size:13px;
    font-weight:bold;
    text-decoration:none;
    cursor:pointer
}

.red{
    background:var(--red);color:#fff
}

.red:hover{
    background:#ff2631
}

.outline{
    border:1px solid #fff;color:#fff
}

.outline:hover{
    background:#fff;
    color:#000
}

.dark{
    background:#111;color:#fff
}

.dark:hover{
    background:var(--red)
}

.hero-products{
    position:absolute;
    right:-6%;
    bottom:-2%;
    width:68%;
    z-index:0
}

.hero-products img{
    display:block;
    width:100%;
    mix-blend-mode:screen
}

.featured{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:-70px;
    position:relative;
    z-index:2;
    box-shadow:0 15px 50px rgba(0,0,0,.18)
}

.feature{
    min-height:350px;padding:28px;color:#fff;
    display:flex;
    align-items:end;background-size:cover;background-position:center;
    position:relative;
    isolation:isolate
}

.feature:after{
    content:"";
    inset:0;
    position:absolute;background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.12));z-index:-1
}

.feature>div{
    position:relative
}

.feature h2{
    font-size:26px;
    line-height:1.05;
    letter-spacing:-1px;margin-bottom:12px
}

.feature p:not(.tag){
    font-size:13px;color:#e4e4e4
}

.feature a{
    color:#fff;
    font-weight:bold;
    text-decoration:none;
    font-size:12px
}

.feature a b{
    color:var(--red);
    margin-left:5px
}

.product-feature{
    background-image:url('assets/img/gama.webp')
}

.machine-feature{
    background-image:url('assets/img/carbon-clean.webp')
}

.tech-feature{
    background:linear-gradient(145deg,#2b2b2b,#080808)
}

.brand-feature{
    background-image:linear-gradient(150deg,#2a2a2a,#0a0a0a)
}

.section{
    padding:112px 0
}

h2{
    font-size:clamp(38px,4.3vw,58px);
    letter-spacing:-2.8px;line-height:1.02
}

.machines{
    background:var(--paper)
}

.machine-grid{
    margin-top:48px
}

.machine-card{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    background:#fff;
    min-height:510px;
    margin-bottom:28px
}

.machine-card.reverse .machine-img{
    order:2
}

.machine-img{
    min-height:510px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#111
}

.machine-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}

.gdi{
    flex-direction:column;color:#fff;
    background:radial-gradient(circle at 50% 30%,#6f6f6f,#121212 56%,#000)
}

.gdi span{
    font-size:clamp(70px,11vw,150px);
    font-weight:900;color:transparent;
    -webkit-text-stroke:1px #e30613;
    letter-spacing:-10px
}

.gdi small{
    letter-spacing:4px
}

.machine-copy{
    padding:57px
}

.machine-copy>span{
    font-size:10px;
    font-weight:bold;
    letter-spacing:1.5px;
    color:var(--red)
}

.machine-copy h3{
    font-size:34px;
    line-height:1.05;
    letter-spacing:-1.5px;margin:15px 0
}

.machine-copy p{
    font-size:15px;
    color:#4b4b4b
}

.machine-copy ul{
    padding:0;
    list-style:none;
    margin:25px 0
}

.machine-copy li{
    font-size:13px;
    border-top:1px solid var(--line);padding:8px 0
}

.machine-copy li:before{
    content:"+";color:var(--red);
    font-weight:bold;margin-right:8px
}

.solutions{
    background:#fff
}

.solution-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
    margin-top:45px
}

.solution-grid a{
    min-height:145px;padding:23px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    text-decoration:none;color:var(--black);
    font-size:17px;
    font-weight:bold;display:flex;
    justify-content:space-between;
    align-items:end
}

.solution-grid a:hover{
    background:var(--red);
    color:#fff
}

.solution-grid span{
    font-size:23px
}

.catalog{
    background:#f8f8f7
}

.catalog-title{
    display:flex;
    gap:50px;
    justify-content:space-between;
    align-items:end
}

.catalog-title p{
    max-width:400px;
    color:#555
}

.filters{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:35px 0
}

.filters button{
    border:1px solid #c6c6c2;
    background:#fff;
    padding:9px 12px;
    font-weight:bold;
    font-size:12px;
    cursor:pointer
}

.filters button.active,.filters button:hover{
    color:#fff;
    background:#111;
    border-color:#111
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}

.product{
    background:#fff;
    border:1px solid #e2e2df;
    display:flex;
    flex-direction:column
}

.product.hide{
    display:none
}

.product-img{
    height:235px;
    background:#f4f4f4;
    padding:16px;
    display:flex;
    align-items:center;
    justify-content:center
}

.product-img img{
    width:100%;
    height:100%;
    object-fit:contain;
    mix-blend-mode:multiply
}

.product-content{
    padding:17px;
    display:flex;
    flex-direction:column;
    flex:1
}

.product-content small{
    color:var(--red);
    font-size:10px;
    font-weight:bold;
    letter-spacing:1px
}

.product h3{
    font-size:18px;
    line-height:1.1;
    margin:7px 0 10px
}

.product p{
    color:#5b5b5b;
    font-size:12px;
    flex:1
}

.product a{
    font-size:12px;
    color:#111;
    font-weight:bold;
    text-decoration:none
}

.advice{
    background:#101112;
    color:#fff
}

.advice-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:100px
}

.advice-grid>div>p:not(.tag){
    color:#ccc;
    max-width:550px
}

.advice-points{
    border-top:1px solid #4b4b4b
}

.advice-points article{
    display:grid;
    grid-template-columns:45px 1fr;
    column-gap:14px;
    padding:19px 0;
    border-bottom:1px solid #4b4b4b
}

.advice-points b{
    color:var(--red);
    grid-row:1/3
}

.advice-points h3{
    margin:0;
    font-size:20px
}

.advice-points p{
    grid-column:2;
    margin:5px 0 0;
    color:#ccc;
    font-size:13px
}

.error-tool{
    background:var(--paper);
    padding:80px 0;
    text-align:center
}

.error-tool h2{
    font-size:40px
}

.error-tool p{
    max-width:600px;
    margin:0 auto 22px;
    color:#555
}

.search-placeholder{
    display:flex;
    max-width:570px;
    margin:auto
}

.search-placeholder input{
    flex:1;
    padding:14px;
    border:1px solid #bbb
}

.search-placeholder button{
    width:50px;
    border:0;
    background:var(--red);
    color:#fff;
    font-size:24px
}

.company{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
    align-items:center
}

.company-image{
    height:520px;
    background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.1)),url('assets/img/top-end.webp') center/cover
}

.company p{
    font-size:16px;color:#4b4b4b
}

.company a{
    color:#111;
    font-size:13px;
    font-weight:bold;
    text-decoration:none
}

.networks{
    padding:78px 0;
    background:#171819;
    color:#fff;
    text-align:center
}

.networks h2{
    font-size:42px
}

.network-list{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    margin:40px 0 20px
}

.network-list span{
    font-weight:bold;
    font-size:21px;
    letter-spacing:1px
}

.networks small{
    color:#aaa
}

.contact{
    background:var(--red);
    color:#fff
}

.contact-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:100px
}

.contact-grid h2{
    font-size:60px
}

.contact-grid>div>a{
    display:block;
    color:#fff;
    text-decoration:none;
    font-weight:bold;
    font-size:17px;
    margin-top:8px
}

.whats-inline{
    margin-top:27px!important;
    text-decoration:underline!important
}

form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px
}

label{
    font-size:11px;
    font-weight:bold;
    display:flex;
    flex-direction:column;
    gap:5px
}

input,textarea{
    border:1px solid rgba(0,0,0,.3);
    font:inherit;
    padding:11px;
    background:#fff;
    color:#111;
    resize:vertical
}

.wide{
    grid-column:1/-1
}

.trap{
    position:absolute!important;
    left:-9999px!important
}

.consent{
    font-weight:normal;
    display:flex;
    flex-direction:row;
    align-items:center
}

.consent input{
    width:17px;
    height:17px
}

.consent a{
    color:#fff
}

.form-legal{
    font-size:11px;
    margin:0
}

footer{
    background:#080909;
    color:#fff;
    padding:60px 0 18px
}

.footer-grid{
    display:grid;
    grid-template-columns:1.8fr 1fr 1fr 1fr;gap:35px
}

.footer-grid div{
    display:flex;
    flex-direction:column;
    gap:8px
}

.footer-grid h3{
    font-size:12px;
    margin:0 0 5px
}

.footer-grid a,.footer-grid button{
    color:#e5e5e5;
    font-size:12px;
    text-align:left;
    background:none;
    border:0;
    padding:0;
    cursor:pointer
}

.footer-grid p{
    color:#aaa;
    font-size:12px
}

.social{
    border-top:1px solid #343434;
    margin-top:40px;
    padding-top:18px;
    display:flex;
    gap:20px;
    font-size:11px
}

.social a{
    color:#fff;
    text-decoration:none;
    font-weight:bold
}

.social span{
    margin-left:auto;
    color:#999
}

.whatsapp,.to-top{
    position:fixed;
    right:22px;
    z-index:4;
    border:0;
    cursor:pointer
}

.whatsapp{
    bottom:24px;
    width:52px;
    height:52px;
    border-radius:50%;
    background:#25d366;
    color:#fff;
    display:grid;
    place-items:center;
    text-decoration:none;
    font-size:27px;
    box-shadow:0 5px 20px #0003
}

.to-top{
    bottom:87px;
    width:40px;
    height:40px;
    color:#fff;
    background:#171819;
    display:none
}

.to-top.visible{
    display:block
}

.cookies{
    position:fixed;
    right:20px;
    bottom:20px;
    width:min(390px, calc(100% - 40px));
    background:#fff;
    color:#000;
    padding:20px;
    border:1px solid #ddd;
    box-shadow:0 8px 30px rgba(0,0,0,.18);
    z-index:1000;
}

.cookies b{
    display:block;
    margin-bottom:7px;
    font-size:16px;
}

.cookies p{
    margin:0;
    font-size:12px;
    line-height:1.5;
}

.cookies p a{
    color:var(--red);
    text-decoration:underline;
}

.cookies > div:last-child{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:7px;
    margin-top:15px;
    flex-wrap:wrap;
}

.cookies button{
    cursor:pointer;
    font-size:11px;
    font-weight:bold;
    padding:9px 12px;
}

.cookies .plain{
    background:none;
    border:0;
    color:#000;
}

.cookies .plain:hover{
    color:var(--red);
}

.cookies .accept{
    border:0;
}

.cookies .reject{
    border:1px solid #ccc;
}

.plain{
    border:0;
    background:transparent;
    text-decoration:underline;
    white-space:nowrap;
    font-size:12px;
    font-weight:bold;
    cursor:pointer
}

dialog{
    border:0;
    padding:30px;
    max-width:500px;
    box-shadow:0 15px 60px #0006
}

.close{
    float:right;
    border:0;
    background:transparent;
    font-size:30px;
    cursor:pointer
}

.cookie-option{
    color:#111;
    border-top:1px solid var(--line);
    padding:13px 0;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center
}

.cookie-option span{
    font-size:10px;
    color:#666;
    grid-column:2
}

.cookie-option input{
    grid-column:2;
    grid-row:1;
    width:17px;
    height:17px
}

.save{
    margin-top:16px
}

@media (max-width:900px){
    nav{
        position:absolute;
        display:none;
        top:81px;
        left:0;
        right:0;
        background:#fff;
        padding:18px 24px;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        border-bottom:1px solid #ddd
    }

    nav.open{
        display:flex
    }

    nav.open a{
        color:#000;
    }

    nav a{
        padding:11px 0
    }

    .menu{
        display:block
    }

    .hero{
        min-height:650px
    }

    .hero-products{
        width:90%;
        right:-10%;
        opacity:.65;
    }

    html,body{
        overflow-x:hidden;
    }

    .featured{
        grid-template-columns:repeat(2,1fr);
        margin-top:0
    }

    .solution-grid,.product-grid{
        grid-template-columns:repeat(2,1fr)
    }

    .machine-card,.machine-card.reverse,.company,.advice-grid,.contact-grid{
        grid-template-columns:1fr;
        gap:0
    }

    .machine-card.reverse .machine-img{
        order:0
    }

    .machine-img{
        min-height:390px
    }

    .machine-copy{
        padding:36px
    }

    .company{
        gap:35px
    }

    .company-image{
        height:390px
    }

    .contact-grid{
        gap:40px
    }

    .contact-grid h2{
        text-align:left
    }

    form{
        text-align:left
    }

    form .wide{
        text-align:left
    }

    form .footer-grid{
        text-align:left
    }

    form .social{
        text-align:left
    }

    form .cookies{
        text-align:left
    }

    form .whatsapp{
        text-align:left
    }

    form .to-top{
        text-align:left
    }

    form .dialog{
        text-align:left
    }

    form .close{
        text-align:left
    }

    form .cookie-option{
        text-align:left
    }

    form .save{
        text-align:left
    }
}

@media (max-width:540px){
    .wrap{width:min(100% - 30px,1190px)}
    header{height:65px}
    .brand img{width:135px}
    nav{top:64px}
    .hero-inner{padding-top:100px}
    .hero{min-height:600px}
    h1{letter-spacing:-2.4px}
    .featured,.solution-grid,.product-grid{grid-template-columns:1fr}
    .feature{min-height:260px}
    .section{padding:70px 0}
    .machine-img{min-height:320px}
    .catalog-title{display:block}
    .filters{gap:6px}
    .filters button{font-size:11px}
    .product-img{height:210px}
    .advice-grid{gap:40px}
    .company-image{height:320px}
    .contact-grid h2{font-size:42px}
    form{grid-template-columns:1fr}
    .wide{grid-column:1}
    .footer-grid{grid-template-columns:1fr}
    .social{flex-wrap:wrap}
    .social span{width:100%;margin:0}
    .cookies{right:15px; bottom:15px; width:calc(100% - 30px); padding:16px;}
    .cookies >div:last-child{margin-top:12px;justify-content:stretch}
    .cookies button{flex:1}
    .whatsapp{right:16px;bottom:18px}
}

.datos-titular {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.datos-titular th,
.datos-titular td {
    border: 1px solid #ddd;
    padding: 12px 15px;
    text-align: left;
}

.datos-titular thead th {
    background-color: #111;
    color: #fff;
}

.datos-titular tbody th {
    background-color: #f5f5f5;
    font-weight: 600;
    width: 30%;
}

.datos-cookies {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.datos-cookies th,
.datos-cookies td {
    border: 1px solid #ddd;
    padding: 12px 15px;
    text-align: left;
}

.datos-cookies thead th {
    background-color: #111;
    color: #fff;
}

.datos-cookies tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}

.datos-privacidad {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.datos-privacidad th,
.datos-privacidad td {
    border: 1px solid #ddd;
    padding: 12px 15px;
    text-align: left;
    vertical-align: top;
}

.datos-privacidad thead th {
    background-color: #111;
    color: #fff;
}

.datos-privacidad tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}

footer{
    background:#000;
    color:#fff;
    padding:60px 0 25px;
}

/* COLUMNAS */

.footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:50px;
}

/* MARCA */

.footer-brand img{
    display:block;
    width:280px;
    height:auto;
    margin-bottom:18px;
}

.footer-brand p{
    margin:0;
    color:#ddd;
    font-size:17px;
    line-height:1.6;
}

/* COLUMNAS */

.footer-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.footer-column h3{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#fff;
}

/* LÍNEA ROJA */

.footer-line{
    display:block;
    width:38px;
    height:2px;
    background:var(--red);
    margin:10px 0 17px;
}

/* ENLACES */

.footer-column a{
    color:#ddd;
    text-decoration:none;
    font-size:14px;
    margin-bottom:11px;
    transition:color .2s ease;
}

.footer-column a:hover{
    color:var(--red);
}

/* BOTÓN COOKIES */

.footer-column .preferences{
    background:none;
    border:0;
    padding:0;
    color:#ddd;
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    cursor:pointer;
    text-align:left;
    transition:color .2s ease;
}

.footer-column .preferences:hover{
    color:var(--red);
}

/* =========================
   REDES SOCIALES
   ========================= */

.social{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-top:50px;
    padding-top:25px;
    border-top:1px solid #222;
}

.social-follow{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.social-follow > span{
    color:#fff;
    font-size:14px;
    font-weight:bold;
}

.social-icons{
    display:flex;
    gap:10px;
}

.social-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #444;
    color:#fff;
    text-decoration:none;
    font-size:17px;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.social-icon:hover{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
}

/* COPYRIGHT */

.copyright{
    color:#888;
    font-size:12px;
}

@media (max-width:900px){

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:40px 30px;
    }

    .footer-brand{
        grid-column:1 / -1;
    }

    .footer-brand img{
        width:210px;
    }

    .footer-brand p{
        font-size:16px;
    }

    .social{
        margin-top:40px;
        align-items:flex-start;
        gap:25px;
        flex-direction:column;
    }

}

@media (max-width:540px){

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .footer-brand{
        grid-column:auto;
    }

    .footer-brand img{
        width:200px;
    }

    .footer-column h3{
        font-size:17px;
    }

    .social{
        gap:20px;
    }
}

/* =====================================================
   MEGA MENÚ
   ===================================================== */

.nav-mega {
    position: relative;
}

.nav-mega-toggle {
    display: block;
    margin: 0;
    padding: 0;

    background: none;
    border: 0;

    color: #fff;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: bold;

    line-height: 1.55;
    letter-spacing: .2px;

    cursor: pointer;
}

.nav-mega-toggle span {
    font-size: 10px;
    margin-left: 4px;
}

.nav-mega-toggle:hover {
    color: var(--red);
}


/* =====================================================
   CONTENEDOR
   ===================================================== */

.nav-mega-menu {

    position: absolute;

    top: calc(100% + 20px);
    left: 50%;

    width: 760px;

    background: #000;

    border-top: 3px solid var(--red);

    padding: 28px;

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

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

    gap: 30px;

    opacity: 0;
    visibility: hidden;

    transform: translate(-50%, -8px);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility .2s ease;

    z-index: 20;
}


/* =====================================================
   ABRIR EN ORDENADOR
   ===================================================== */

@media (min-width: 901px) {

    .nav-mega:hover .nav-mega-menu {

        opacity: 1;
        visibility: visible;

        transform: translate(-50%, 0);

    }

}


/* =====================================================
   COLUMNAS
   ===================================================== */

.mega-column {

    display: flex;
    flex-direction: column;

    align-items: flex-start;
}

.mega-title {

    display: block;

    color: var(--red);

    font-size: 10px;
    font-weight: bold;

    letter-spacing: 1.5px;

    margin-bottom: 13px;
}


/* =====================================================
   ENLACES
   ===================================================== */

.nav-mega-menu a {

    display: block;

    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: bold;

    padding: 6px 0;

    transition:
        color .2s ease,
        padding-left .2s ease;
}

.nav-mega-menu a:hover {

    color: var(--red);

    padding-left: 5px;

}


/* =====================================================
   DESTACADO
   ===================================================== */

.mega-feature {

    grid-column: 1 / -1;

    border-top: 1px solid #333;

    padding-top: 20px;

    margin-top: 5px;
}

.mega-feature > span {

    color: var(--red);

    font-size: 10px;
    font-weight: bold;

    letter-spacing: 1.5px;
}

.mega-feature h3 {

    color: #fff;

    font-size: 22px;

    margin: 7px 0;

}

.mega-feature p {

    color: #aaa;

    font-size: 12px;

    max-width: 420px;

    margin-bottom: 10px;

}

.mega-feature a {

    color: #fff;

    font-size: 12px;

}


/* =====================================================
   PRODUCTOS: 4 COLUMNAS
   ===================================================== */

.products-mega {

    width: 900px;

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

}

.products-mega .mega-feature {

    grid-column: 4;

    grid-row: 1;

    border-top: 0;

    border-left: 1px solid #333;

    padding-top: 0;

    padding-left: 25px;

    margin-top: 0;

}


/* =====================================================
   MÓVIL
   ===================================================== */

@media (max-width: 900px) {

    .nav-mega {

        width: 100%;

    }

    .nav-mega-toggle {

        width: 100%;

        padding: 11px 0;

        text-align: left;

        color: #000;

    }

    .nav-mega-toggle:hover {

        color: var(--red);

    }

    .nav-mega-menu {

        position: static;

        display: none;

        width: 100%;

        min-width: 0;

        background: #fff;

        border-top: none;

        box-shadow: none;

        padding: 5px 0 10px;

        grid-template-columns: 1fr;

        gap: 0;

        opacity: 1;
        visibility: visible;

        transform: none;

        transition: none;

    }

    .nav-mega.open .nav-mega-menu {

        display: grid;

    }

    .nav-mega-menu a {

        color: #000;

        font-size: 14px;

        padding: 9px 15px;

    }

    .nav-mega-menu a:hover {

        background: #f5f5f5;

        color: var(--red);

        padding-left: 15px;

    }

    .mega-title {

        padding: 8px 15px 4px;

    }

    .mega-feature {

        display: none;

    }

    .products-mega .mega-feature {

        display: none;

    }

}