body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: max-content;
    background-color: #000;
    font-family: "Montserrat", sans-serif;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

/* ========================= */
/* LIQUID BACKGROUND */
/* ========================= */
#canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none; 
}

/* ========================= */
/* HEADER */
/* ========================= */
.Logo_fre {
    width: 11.198vw;
}
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 93.75vw; /* 1800px */
    padding: 0.7vw 3.125vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    background: transparent;
    transition: 0.3s;
}

header.header-color{
background:#4907FF!important;
}

.logo {
    color: #fff;
    font-size: 1.1458vw; /* 22px */
    font-weight: 700;
    letter-spacing: 0.1042vw; /* 2px */
}

.fecha {
    border-left: 0.0521vw solid #ffffff; /* 1px */
    padding-left: 1.04vw; /* 20px */
}
.options_menu {
    font-weight: 600;
}

.contenedor_logo_fecha {
    display: flex;
    align-items: center;
    gap: 1.04vw; /* 20px */
    color: #fff;
}

nav ul {
    list-style: none;
    display: flex;
    gap: 2.0833vw; /* 40px */
    margin: 0;
    padding: 0;
}

nav ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 0.7292vw; /* 14px */
    letter-spacing: 0.0521vw; /* 1px */
    position: relative;
    transition: 0.3s ease;
}

nav ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.3125vw; /* -6px */
    width: 0%;
    height: 0.1042vw; /* 2px */
    background: #f96505;
    transition: 0.3s ease;
}

nav ul li a:hover {
    color: #ff7a00; 
}

nav ul li a:hover::after {
    width: 100%;
}

main {
    position: relative;
    z-index: 5;
}

.Banner {
    width: 100vw;
    height: auto;
    display: block;
}

.conten_lang {
    display: flex;
    column-gap: 0.4vw; 
}

/* ========================= */
/* HAMBURGER MENU */
/* ========================= */

.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 6px;
    z-index: 20;
}

.menu-toggle span {
    width: 30px;
    height: 3px;
    background: #fff;
    transition: 0.4s ease;
    border-radius: 3px;
}

/* Animación X */
.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* MOBILE */
@media (max-width: 900px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 93.75vw;
        padding: 1.04vw 3.125vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
        z-index: 10;
        height: 9vw;
    }
    nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: #4907FF;
        display: flex;
        transition: 0.5s ease;
    }

    nav.active {
        right: 0;
    }

    nav ul {
        flex-direction: column;
        gap: 30px;
        text-align: center;
        padding: 6vw;
        display: flex;
        align-items: flex-start;
    }

    nav ul li a {
        font-size: 6vw;
        font-weight: bold;
        letter-spacing: 2px;
    }

    .menu-toggle {
        display: flex;
    }

    .logo {
        color: #fff;
        font-size: 3.1458vw;
        font-weight: 700;
        letter-spacing: 0.1042vw;
    }

    .Logo_fre {
        width: 29vw;
    }

    .contenedor_logo_fecha {
        display: flex;
        align-items: center;
        gap: 3.04vw;
        color: #fff;
    }

    .fecha {
        border-left: 0.0521vw solid #ffffff;
        padding-left: 3.04vw;
        font-size: 4vw;
    }
}

/* ========================= */
/* SECCIÓN CINTA NOTICIAS */
/* ========================= */
.seccion-cinta {
    width: 100%;
    height: 2.6042vw; /* 50px */
    background: rgb(253 104 8 / 74%);
    display: none;
    align-items: center;
    overflow: hidden;
    position: relative;
    z-index: 5;
}

.cinta-wrapper {
    width: 100%;
    overflow: hidden;
}

.cinta-movimiento {
    display: flex;
    white-space: nowrap;
    animation: ticker 30s linear infinite;
}

.cinta-item {
    margin-right: 5.2083vw; /* 100px */
    font-size: 0.7292vw; /* 14px */
    font-weight: 700;
    letter-spacing: 0.1042vw; /* 2px */
    color: #ffffff;
}

@keyframes ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 900px) {
    main {
        position: relative;
        z-index: 5;
    }

    .seccion-cinta {
        width: 100%;
        height: 7.6042vw;
        background: rgb(253 104 8 / 74%);
        display: none;
        align-items: center;
        overflow: hidden;
        position: relative;
        z-index: 5;
    }

    .cinta-item {
        margin-right: 5.2083vw;
        font-size: 2.7292vw;
        font-weight: 700;
        letter-spacing: 0.1042vw;
        color: #ffffff;
    }

    .cinta-movimiento {
        display: flex;
        width: max-content;
        white-space: nowrap;
        animation: ticker 20s linear infinite;
    }

    @keyframes ticker {
        from {
            transform: translateX(0);
        }
        to {
            transform: translateX(-50%);
        }
    }
}

/* ===================== */
/* VIDEO BANNER */
/* ===================== */
.video-banner{
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.video-bg{
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

.video-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgb(42 13 77 / 42%), rgba(0, 0, 0, 0.6));
    z-index: 2;
}

.video-content{
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 1.0417vw; /* 20px */
    color: #fff;
}

.video-content h1{
    font-size: 4.1667vw; /* 80px */
    font-family: 'Anton', sans-serif;
    background: linear-gradient(90deg, #FFD23F, #FF7A00, #FF4A1C);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.video-content p{
    font-size: 1.417vw; /* 20px */
    margin: 1.0417vw 0 2.0833vw; /* 20px 0 40px */
}

.btn-video{
    padding: 0.8333vw 2.0833vw; /* 16px 40px */
    border-radius: 2.6042vw; /* 50px */
    background: linear-gradient(90deg, #FF4A1C, #FF7A00);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s ease;
}

.btn-video:hover{
    box-shadow: 0 0 2.0833vw rgba(255,74,28,0.8); /* 40px */
}

@media (max-width: 900px) {
    .video-content h1 {
        font-size: 13.1667vw; /* 80px */
        font-family: 'Anton', sans-serif;
        background: linear-gradient(90deg, #FFD23F, #FF7A00, #FF4A1C);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .video-content p {
        font-size: 4.0417vw;
        margin: 1.0417vw 0 2.0833vw;
    }
}

/* ===================== */
/* SECCIÓN TICKETS */
/* ===================== */
.seccion-tickets{
    padding: 0vw vw; /* 0px px (valor incompleto en original) */
}

.highlight {
    color: #fe440b;
    font-weight: 700;
}

.tickets-wrapper{
    background: #4907FF;
    padding: 4.1667vw; /* 80px */
    color: #fff;
}

.tickets-header{
    text-align: center;
    margin-bottom: 4.1667vw; /* 80px */
}

.tickets-header h2{
    font-size: 3.6458vw; /* 70px */
    font-family: 'Anton', sans-serif;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
}

.tickets-header p{
    color: #ACCDDC;
    margin-top: 0.5208vw; /* 10px */
    font-size: 1vw;
}

.tickets-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.0833vw; /* 40px */
}

.ticket-card{
    background: rgba(255,255,255,0.05);
    padding: 2.0833vw; /* 40px */
    border-radius: 1.3021vw; /* 25px */
    transition: 0.3s ease;
    border: 0.0521vw solid rgba(255,255,255,0.08); /* 1px */
}

.ticket-card:hover{
    transform: translateY(-0.4167vw); /* -8px */
}

.ticket-card h3{
    color: #FFD23F;
    margin-bottom: 0.7813vw; /* 15px */
    font-size: 1.0417vw; /* 20px */
}

.ticket-card p{
    font-size: 0.7292vw; /* 14px */
    line-height: 1.6;
    color: #ACCDDC;
    margin-bottom: 1.3021vw; /* 25px */
}

.precio{
    font-size: 1.1458vw; /* 22px */
    font-weight: bold;
    margin-bottom: 1.3021vw; /* 25px */
    color: #FFD23F;
}

.vip{
    background: rgba(255,122,0,0.08);
}

.glamp{
    background: rgba(255,210,63,0.08);
}

.btn-ticket{
    display: inline-block;
    padding: 0.7292vw 1.8229vw; /* 14px 35px */
    border-radius: 2.6042vw; /* 50px */
    background: linear-gradient(90deg, #d93705, #fe440b, #ff7a3a);
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s ease;
}



@media (max-width: 900px) {
    .tickets-header h2 {
        font-size: 10.6458vw;
        font-family: 'Anton', sans-serif;
        background: #fe440b;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin: 1vw;
    }

    .tickets-header p {
        color: #ACCDDC;
        margin-top: 0.5208vw;
        font-size: 2.9vw;
        line-height: 1.6;
    }

    .tickets-grid {
        display: flex;
        flex-direction: column;
        row-gap: 4vw;
    }

    .ticket-card h3 {
        color: #FFD23F;
        font-size: 5.0417vw;
        margin: 1vw;
    }   

    .ticket-card p {
        font-size: 2.99vw;
        line-height: 1.6;
        color: #ACCDDC;
        margin: 2vw 1vw;
    }

    .precio {
        font-size: 5.1458vw;
        font-weight: bold;
        color: #FFD23F;
        margin: 1vw;
    }

    .btn-ticket {
        display: inline-block;
        padding: 1.7292vw 3.8229vw;
        border-radius: 6.6042vw;
        background: linear-gradient(90deg, #d93705, #fe440b, #ff7a3a);
        color: #fff;
        font-weight: bold;
        text-decoration: none;
        transition: 0.3s ease;
        margin: 3vw 16vw;
        font-size: 4.3vw;
    }

    .tickets-wrapper {
        background: #4907FF;
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        color: #fff;
    }
}

/* ========================= */
/* QUINTA EDICIÓN - URBAN BEACH */
/* ========================= */
.seccion-edicion {
    position: relative;
    z-index: 5;
}

.edicion-urban {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 4.1667vw; /* 80px */
    align-items: center;
    padding: 4.6875vw; /* 90px */
    position: relative;
    overflow: hidden;
}

.edicion-urban::before {
    content: "";
    position: absolute;
    width: 26.0417vw; /* 500px */
    height: 26.0417vw; /* 500px */
    bottom: -7.8125vw; /* -150px */
    right: -7.8125vw; /* -150px */
    z-index: 0;
}

.edicion-info {
    position: relative;
    z-index: 2;
    color: #fff;
}

.edicion-info h2 {
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw; /* 100px */
    line-height: 0.9;
    margin-bottom: 1.5625vw; /* 30px */
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw; /* 4px */
    margin-top: 1.0417vw; /* 20px */
}

.edicion-info p {
    font-size: 1.0417vw; /* 20px */
    line-height: 1.9;
    color: #000000;
    max-width: 44.0625vw; /* 750px */
}

.edicion-info .highlight {
    color: #fe440b;
    font-weight: 700;
}

.edicion-imagen {
    position: relative;
    border-radius: 1.5625vw; /* 30px */
    padding: 0.3125vw; /* 6px */
}

.edicion-imagen img {
    width: 100%;
    border-radius: 1.3021vw; /* 25px */
    display: block;
}

.sticker {
    display: inline-block;
    padding: 0.6167vw 1.4458vw;
    background: #FE440B;
    color: #fff;
    border-radius: 2.6042vw;
    font-size: 1vw;
    font-weight: bold;
    letter-spacing: 0.1042vw;
    margin-bottom: 1.5625vw;
}

@media (max-width: 900px) {
    .edicion-urban {
        display: flex;
        gap: 4.1667vw;
        align-items: center;
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        overflow: hidden;
        flex-direction: column;
    }

    .sticker {
        background: #FE440B;
        color: #fff;
        border-radius: 5vw;
        font-size: 3vw;
        padding: 1vw 3vw;
        margin: 0vw 0vw 3vw;
    }

    .edicion-info h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.6458vw;
        line-height: 0.9;
        background: #FE440B;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        letter-spacing: 0.2083vw;
        margin: 1vw 0vw;
    }

    .edicion-info {
        position: relative;
        z-index: 2;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: -webkit-fill-available;
    }

    .edicion-info p {
        font-size: 3.3vw;
        line-height: 1.9;
        color: #000000;
        max-width: fit-content;
    }
}

/* ========================= */
/* EXPERIENCIA FREQUENZY */
/* ========================= */
.seccion-experiencia {
    position: relative;
    z-index: 5;
}

.experiencia-urban {
    padding: 4.1667vw; /* 80px */
    position: relative;
    overflow: hidden;
}

.experiencia-header {
    text-align: center;
    margin-bottom: 4.1667vw; /* 80px */
    position: relative;
    z-index: 2;
}

.experiencia-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 4.6875vw; /* 90px */
    background: #4907FF;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw; /* 4px */
    margin-bottom: 1.5625vw; /* 30px */
    margin-top: 0vw; /* 0px */
}

.experiencia-header p {
    font-size: 1.0417vw; /* 20px */
    color: #000000;
    max-width: 46.875vw; /* 900px */
    margin: auto;
    line-height: 1.9;
}

.grid-experiencia {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.0833vw; /* 40px */
    position: relative;
    z-index: 2;
}

.card-experiencia {
    background: rgba(255,255,255,0.05);
    border-radius: 1.3021vw; /* 25px */
    overflow: hidden;
    transition: 0.4s ease;
    border: 1px solid #000;
}

.card-experiencia:hover {
    transform: translateY(-0.625vw); /* -12px */
}

.card-experiencia img {
    width: 100%;
    height: 13.5417vw; /* 260px */
    object-fit: cover;
}

.card-content {
    padding: 1.5625vw; /* 30px */
    color: #fff;
}

.card-content h3 {
    font-size: 1.0417vw;
    margin: 0vw;
    color: #4907FF;
}

.card-content p {
    font-size: 1.0417vw; /* 16px */
    line-height: 1.9;
    color: #000000;
}

.btn-more-exp {
    padding: 1.0417vw 1.8229vw;
    border-radius: 1.5625vw;
    text-decoration: none;
    font-weight: 600;
    color: white;
    transition: .25s;
    font-size: 1.0417vw;
    background-color: #4907FF;
}

.content-btn-more-exp {
    padding: 2vw 0vw;
    display: flex;
    justify-content: center;
}

@media (max-width: 900px) {
    .experiencia-urban {
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        overflow: hidden;
    }

    .experiencia-header h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.6875vw;
        background: #4907FF;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin: 1vw;
        line-height: 0.9;
        text-align: left;
    }

    .experiencia-header p {
        font-size: 3.3vw;
        color: #000;
        max-width: fit-content;
        line-height: 1.9;
        text-align: left;
        margin: 3.3vw 0vw;
    }

    .grid-experiencia {
        display: flex;
        position: relative;
        z-index: 2;
        flex-direction: column;
        row-gap: 5vw;
    }
    .card-experiencia img {
        width: 100%;
        height: 51.5417vw;
        object-fit: cover;
    }
    .card-content h3 {
        font-size: 5.1458vw;
        margin: 1vw 0vw;
        color: #4907FF;
    }

    .card-content p {
        font-size: 2.9vw;
        line-height: 1.6;
        color: #000;
    }

    .btn-more-exp {
        display: inline-flex;
        align-items: center;
        gap: 0.7813vw;
        padding: 1.9375vw 0.6042vw;
        background: #4907FF;
        color: #fff;
        text-decoration: none;
        font-weight: 700;
        border-radius: 6.125vw;
        font-size: 3.8333vw;
        letter-spacing: 0.0521vw;
        transition: 0.4s ease;
        transition: 0.4s ease;
        width: 59vw;
        justify-content: center;
    }

    .content-btn-more-exp {
        padding: 5vw 0vw;
        display: flex;
        justify-content: center;
    }
}

/* ========================== */
/* SECCION LINE UP */
/* ========================== */
.seccion-lineup {
    color: #fff;
    overflow: hidden;
}

.lineup-urban {
    padding: 4.1667vw; /* 80px */
    position: relative;
    background: #4907FF;
}

.lineup-header {
    margin-bottom: 1.125vw; /* 60px */
    display: flex;
    flex-direction: row;
    align-items: center;
}

.lineup-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 4.6875vw; /* 90px */
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw; /* 4px */
    margin-bottom: 1.5625vw; /* 30px */
    margin-top: 0vw; /* 0px */
    line-height: 0.9;
}

.lineup-header p {
    font-size: 1.0417vw; /* 20px */
    color: #ACCDDC;
    line-height: 1.9;
}

.lineup-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.lineup-container {
    display: flex;
    gap: 1.5625vw; /* 30px */
    overflow: hidden;
    scroll-behavior: smooth;
    padding: 2.0833vw 0vw 2.0833vw 0vw; /* 40px 0px 40px 0px */
}

.lineup-btn {
    background: #ACCDDC;
    border: none;
    color: #1F1B4E;
    font-size: 1.5625vw; /* 30px */
    width: 3.6458vw; /* 70px */
    height: 3.6458vw; /* 70px */
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
    z-index: 2;
}

.lineup-btn:hover {
    background: #ffffff;
    transform: scale(1.1);
}

.artista-card {
    min-width: 16.6667vw; /* 320px */
    background: rgba(0, 0, 0, 0.4);
    border-radius: 0.7813vw; /* 15px */
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    transition: 0.4s ease;
    flex-shrink: 0;
}

.artista-card:hover {
    transform: translateY(-0.5208vw); /* -10px */
}

.artista-img {
    height: 20.2292vw;
}

.artista-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.artista-info {
    padding: 1.0417vw; /* 20px */
}

.artista-info h3 {
    margin: 0vw 0vw 1vw;
    font-size: 1.0417vw;/
}

.artista-redes {
    font-size: 1vw;
    opacity: 0.7;
    margin-bottom: 0.5vw;
}



.artista-info small {
    font-size: 00.99vw;
    background: linear-gradient(90deg, #FFD23F, #FF7A00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.content-btn-lineup {
    display: flex;
    justify-content: flex-start;
    margin: 0vw auto 0VW 0vw;
    column-gap: 1.5625vw;
}

@media (max-width: 900px) {
    .lineup-urban {
        padding:12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        background: #4907FF;
    }

    .lineup-header {
        margin-bottom: 3.125vw;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .lineup-header h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.6875vw;
        background: #FE440B;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        line-height: 0.9;
        margin: 0vw;
    }

    .lineup-header p {
        font-size: 3.3vw;
        color: #ACCDDC;
        line-height: 1.9;
        margin: 3.3vw 0vw;
    }

    /* Ocultar botones */
    .content-btn-lineup {
        display: none;
    }

    .lineup-wrapper {
        overflow: hidden;
    }

    .lineup-container {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0vw 0vw 3vw 0vw;
        gap: 5vw;
    }

    .artista-img {
        height: 58.2292vw;
        width: 47.6667vw;
    }

    .artista-info h3 {
        margin: 3vw 1vw;
        font-size: 4vw;
    }

    .artista-redes {
        font-size: 3vw;
        opacity: 0.7;
        margin: 0vw 1vw;
    }

    .artista-info small {
        font-size: 3vw;
        background: linear-gradient(90deg, #FFD23F, #FF7A00);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin: 1vw 1vw;
    }

    .artista-card {
        min-width: 16.6667vw;
        background: rgba(0, 0, 0, 0.4);
        border-radius: 1.7813vw;
        overflow: hidden;
        text-decoration: none;
        color: #fff;
        transition: 0.4s ease;
        flex-shrink: 0;
        width: 47.6667vw;
    }
}

/* ========================= */
/* GALERÍA EDICIONES */
/* ========================= */
.seccion-galeria {
    position: relative;
    z-index: 5;
}

.galeria-urban {
    padding: 5.2083vw 4.1667vw; /* 100px 80px */
    position: relative;
    overflow: hidden;
}

.galeria-header {
    text-align: center;
    margin-bottom: 3.6458vw; /* 70px */
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
}

.galeria-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 4.6875vw; /* 90px */
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw; /* 4px */
    margin-bottom: 1.5625vw; /* 30px */
    margin-top: 0vw; /* 0px */
    line-height: 0.9;
    text-align: left;
}

.galeria-header p {
    width: 41.6667vw; /* 800px */
    color: #000;
    font-size: 1.0417vw; /* 20px */
    line-height: 1.9;
    margin-left: 6.25vw; /* 120px */
    display: flex;
    align-items: center;
}

.tabs-ediciones {
    display: flex;
    justify-content: center;
    gap: 1.5625vw; /* 30px */
    margin-bottom: 3.125vw; /* 60px */
}

.tab-btn {
    padding: 1.0417vw 1.8229vw;
    border-radius: 1.5625vw;
    border: 0.1042vw solid #ff670b; /* 2px */
    background: transparent;
    color: #ff670b;
    cursor: pointer;
    font-weight: 700;
    transition: 0.3s ease;
    font-size: 1.0417vw;
}

.tab-btn.active,
.tab-btn:hover {
    background: #FE440B;
    color: #fff;
}

.grid-galeria {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5625vw; /* 30px */
    position: relative;
    z-index: 2;
}

.galeria-item {
    position: relative;
    overflow: hidden;
    border-radius: 1.3021vw; /* 25px */
}

.galeria-item img {
    width: 100%;
    height: 16.6667vw; /* 320px */
    object-fit: cover;
    transition: 0.5s ease;
}

.galeria-item::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: 0.4s ease;
}

.galeria-item:hover img {
    transform: scale(1.1);
}

.galeria-item:hover::after {
    opacity: 1;
}

@media (max-width: 900px) {
    .galeria-urban {
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        overflow: hidden;
    }

    .galeria-header {
        text-align: center;
        margin-bottom: 3.6458vw;
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
    }

    .galeria-header h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.6vw;
        background: #FE440B;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        line-height: 0.9;
        text-align: left;
        margin: 0vw;
    }

    .galeria-header p {
        color: #000;
        font-size: 3.3vw;
        line-height: 1.9;
        text-align: left;
        width: auto;
        margin: 3.3vw 0vw;
    }

    .tab-btn {
        padding: 1.625vw 4.8229vw;
        border-radius: 5.6042vw;
        border: 0.1042vw solid #ff670b;
        background: transparent;
        color: #ff670b;
        cursor: pointer;
        font-weight: 700;
        transition: 0.3s ease;
        font-size: 3.3vw;
    }

    .tabs-ediciones {
        display: flex;
        justify-content: center;
        gap: 5.5625vw;
        margin-bottom: 4.125vw;
    }

    .grid-galeria {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5625vw;
        position: relative;
        z-index: 2;
    }

    .galeria-item {
        position: relative;
        overflow: hidden;
        border-radius: 0vw;
    }

    .galeria-item img {
        width: 100%;
        height: 55.6667vw;
        object-fit: cover;
        transition: 0.5s ease;
        border-radius: 2vw;
    }

}

/* ========================= */
/* BOTÓN REDES GALERÍA */
/* ========================= */
.redes-galeria {
    text-align: center;
    margin-top: 3.6458vw; /* 70px */
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
}

.btn-redes {
    padding: 1.0417vw 1.8229vw;
    border-radius: 1.5625vw;
    text-decoration: none;
    font-weight: 600;
    color: white;
    transition: .25s;
    font-size: 1.0417vw;
    background-color: #FE440B;
}


.btn-redes span {
    font-size: 1.0417vw;
    margin-right: 1vw;
}

.btn-redes-2 {
        margin-left: 1.0417vw;
}

@media (max-width: 900px) {
    .redes-galeria {
        text-align: center;
        margin-top: 5.6458vw;
        position: relative;
        z-index: 2;
        display: flex;
        justify-content: space-around;
        flex-direction: column;
        row-gap: 4vw;
        align-items: center;
    }

    .btn-redes {
        display: inline-flex;
        align-items: center;
        gap: 0.7813vw;
        padding: 1.9375vw 5.6042vw;
        background: #FE440B;
        color: #fff;
        text-decoration: none;
        font-weight: 700;
        border-radius: 6.125vw;
        font-size: 3.8333vw;
        letter-spacing: 0.0521vw;
        transition: 0.4s ease;
        transition: 0.4s ease;
        width: 59vw;
        justify-content: center;
    }

    .btn-redes span {
        font-size: 5.0417vw;
        margin-right: 2vw;
    }

    .btn-redes-2 {
        margin-left: 0vw;
    }
}


/* ========================== */
/* NUEVA UBICACIÓN FREQUENZY */
/* ========================== */
.seccion-ubicacion-nueva{
    position: relative;
    z-index: 5;
}

.ubicacion-container{
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 5.2083vw; /* 100px */
    align-items: center;
    background: #4907FF;
    padding: 5.2083vw; /* 100px */
    position: relative;
    overflow: hidden;
}

.ubicacion-texto{
    position: relative;
    z-index: 2;
    color: #fff;
}

.badge-ubicacion{
    display: inline-block;
    padding: 0.6167vw 1.4458vw;
    background: #ACCDDC;
    color: #000;
    border-radius: 2.6042vw;
    font-size: 1vw;
    font-weight: bold;
    letter-spacing: 0.1042vw;
    margin-bottom: 1.5625vw;
}

.ubicacion-texto h2{
    font-family: 'Anton', sans-serif;
    font-size: 4.6875vw; /* 90px */
    line-height: 0.9;
    margin-bottom: 1.5625vw; /* 30px */
    background: #ACCDDC;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 0vw; /* 0px */
}

.ubicacion-texto p{
    font-size: 1.0417vw; /* 20px */
    line-height: 1.9;
    margin-bottom: 1.0417vw; /* 20px */
    color: #ACCDDC;
}

.ubicacion-datos{
    display: flex;
    gap: 2.0833vw; /* 40px */
    margin-bottom: 2.0833vw; /* 40px */
}

.ubicacion-datos div{
    display: flex;
    align-items: center;
    gap: 0.5208vw; /* 10px */
    font-size: 0.7292vw; /* 14px */
    padding-right: 2.1875vw; /* 42px */
}

.btn-destino{
    display: inline-block;
    padding: 0.6167vw 1.4458vw;
    background: #ACCDDC;
    color: #000;
    border-radius: 2.6042vw;
    font-size: 1vw;
    font-weight: bold;
    letter-spacing: 0.1042vw;
    margin-bottom: 1.5625vw;
    text-decoration: none;
}

.ubicacion-mapa-box{
    position: relative;
    border-radius: 2.0833vw; /* 40px */
    overflow: hidden;
    z-index: 2;
}

.ubicacion-mapa-box iframe{
    width: 100%;
    height: 28.6458vw; /* 550px */
    border: 0;
    border-radius: 2.0833vw; /* 40px */
}

.mapa-glow{
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(0,255,170,0.3), transparent 70%);
    z-index: -1;
}

.line-ri {
    border-right: 0.0521vw solid #fff; /* 1px */
}

@media (max-width: 900px) {
    .ubicacion-container {
        display: flex;
        gap: 5.2083vw;
        align-items: center;
        background: #4907FF;
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        overflow: hidden;
        flex-direction: column;
    }

    .ubicacion-texto {
        position: relative;
        z-index: 2;
        color: #fff;
        width: -webkit-fill-available;
    }

    .ubicacion-texto h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.6875vw;
        line-height: 0.9;
        background: #ACCDDC;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin: 0vw;
    }

    .badge-ubicacion {
        background: #ACCDDC;
        color: #fff;
        border-radius: 5vw;
        font-size: 3vw;
        padding: 1vw 3vw;
        margin: 0vw 0vw 3vw;
        color: #000;
    }

    .ubicacion-texto p {
        font-size: 3.3vw;
        line-height: 1.9;
        margin: 3.3vw 0vw;
        color: #ACCDDC;
    }

    .ubicacion-datos {
        display: flex;
        margin-bottom: 9.3vw;
        justify-content: space-between;
    }

    .ubicacion-datos {
        display: flex;
        margin-bottom: 9.3vw;
        justify-content: space-between;
    }

    .ubicacion-mapa-box {
        position: relative;
        border-radius: 5vw;
        overflow: hidden;
        z-index: 2;
        width: -webkit-fill-available;
    }

    .ubicacion-mapa-box iframe {
        width: 100%;
        height: 98.6458vw;
        border: 0;
        border-radius: 5vw;
    }

    .btn-destino {
        display: inline-flex;
        align-items: center;
        gap: 0.7813vw;
        padding: 1.9375vw 5.6042vw;
        background: #ACCDDC;
        color: #000;
        text-decoration: none;
        font-weight: 700;
        border-radius: 6.125vw;
        font-size: 3.8333vw;
        letter-spacing: 0.0521vw;
        transition: 0.4s ease;
        transition: 0.4s ease;
        width: 59vw;
        justify-content: center;
        margin: 0vw 11vw;
    }
}

/* ============================= */
/* CONVOCATORIAS ESTILO EDITORIAL */
/* ============================= */
.seccion-convocatorias-alt {
    color: #000;
}
.conv-alt-wrapper {
    padding: 5.208vw 4.167vw; /* 100px 80px */
    position: relative;
    overflow: hidden;
}
.conv-alt-header {
    margin-bottom: 5.208vw; /* 100px */
}
.conv-alt-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 4.688vw; /* 90px */
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.208vw; /* 4px */
    margin-bottom: 1.563vw; /* 30px */
    margin-top: 0vw; /* 0px */
    line-height: 0.9;
    max-width: 31.25vw;
}
.conv-alt-header p {
    font-size: 1.0417vw;
    line-height: 1.9;
}
.conv-alt-list {
    position: relative;
}

.conv-content {
    width: 71vw;
}

.conv-alt-list::before {
    content: "";
    position: absolute;
    left: 4vw;
    top: 0;
    width: 0.304vw;
    height: 100%;
    background: linear-gradient(to bottom, #FE440B, transparent);
}
.conv-alt-item {
    display: flex;
    align-items: flex-start;
    gap: 2.083vw; /* 40px */
    margin-bottom: 3.646vw; /* 70px */
    position: relative;
    transition: 0.4s ease;
}
.conv-num {
    font-size: 3rem;
    font-weight: 900;
    color: #000;
    min-width: 3.646vw; /* 70px */
}
.conv-content h3 {
    font-size: 2vw;
    margin: 0vw;
    color: #000;

}
.conv-content p {
    margin-bottom: 0.781vw;
    max-width: 71.25vw;
    color: #000;
    font-size: 1.0417vw;
    line-height: 1.9;
}
.conv-content a {
    display: inline-block;
    padding: 0.417vw 0.938vw; /* 8px 18px */
    border: 0.052vw solid #FE440B; /* 1px */
    border-radius: 1.563vw; /* 30px */
    color: #FE440B;
    text-decoration: none;
    font-size: 1.0417vw;
    transition: 0.3s;
}
.conv-content a:hover {
    background: #FE440B;
    color: #fff;
}
.conv-alt-item:hover {
    transform: translateX(0.521vw); /* 10px */
}
.btn-more-conv {
    padding: 1.0417vw 1.8229vw;
    border-radius: 1.5625vw;
    text-decoration: none;
    font-weight: 600;
    color: white;
    transition: .25s;
    font-size: 1.0417vw;
    background-color: #FE440B;
}
.content-btn-more-conv {
    display: flex;
    justify-content: center;
}

@media (max-width: 900px) {
    .conv-alt-wrapper {
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
        position: relative;
        overflow: hidden;
    }
    .conv-alt-header h2 {
        font-family: 'Anton', sans-serif;
        font-size: 10.688vw;
        background: #FE440B;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        line-height: 0.9;
        margin: 0vw;
        max-width: 88vw;
    }

    .conv-alt-list::before {
        content: "";
        position: absolute;
        left: 15vw;
        top: 0;
        width: 0.304vw;
        height: 100%;
        background: linear-gradient(to bottom, #FE440B, transparent);
    }


    .conv-alt-header {
        margin-bottom: 5.208vw;
        max-width: max-content;
    }

    .conv-alt-header p {
        line-height: 1.9;
        font-size: 3.3vw;
        margin: 3.3vw 0vw;
    }

    .conv-alt-item {
        display: flex;
        align-items: flex-start;
        gap: 2.083vw;
        margin-bottom: 3.646vw;
        position: relative;
        transition: 0.4s ease;
        justify-content: space-between;
    }

    .conv-content p {
        margin-bottom: 0.781vw;
        max-width: max-content;
        color: #000;
        font-size: 3vw;
        line-height: 1.9;
    }

    .conv-content h3 {
        font-size: 6vw;
        margin-bottom: 0.521vw;
        color: #000;
        margin-top: 1vw;
    }

    .conv-num {
        font-size: 10vw;
        font-weight: 900;
        color: #000;
        min-width: max-content;
    }

    .conv-content {
        width: 75vw;
    }

    .conv-content a {
        display: inline-block;
        padding: 1.417vw 3.938vw;
        border: 0.052vw solid #FE440B;
        border-radius: 5.563vw;
        color: #fe8d1d;
        text-decoration: none;
        font-size: 4vw;
        transition: 0.3s;
        margin: 3vw 0vw 7vw;
    }

    .btn-more-conv {
        display: inline-flex;
        align-items: center;
        gap: 0.7813vw;
        padding: 1.9375vw 0.6042vw;
        background: #FE440B;
        color: #fff;
        text-decoration: none;
        font-weight: 700;
        border-radius: 6.125vw;
        font-size: 3.8333vw;
        letter-spacing: 0.0521vw;
        transition: 0.4s ease;
        transition: 0.4s ease;
        width: 59vw;
        justify-content: center;
    }
    .content-btn-more-conv {
        padding: 5vw 0vw;
        display: flex;
        justify-content: center;
    }

}

/* ========================= */
/* SPONSORS STRIP */
/* ========================= */
.sponsors-strip {
    width: 100vw;
    overflow: hidden;
    position: relative;
    padding: 2.083vw 0; /* 40px 0 */
    background: #ACCDDC;
}
.sponsors-track {
    width: 100%;
    overflow: hidden;
}
.sponsors-inner {
    display: flex;
    width: max-content;
    animation: scrollSponsors 25s linear infinite;
}
.sponsor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 4.167vw; /* 80px */
}
.sponsor-item img {
    height: 7.135vw; /* 137px */
    width: auto;
    object-fit: contain;
    opacity: 0.8;
    transition: 0.3s ease;
}
.sponsor-item img:hover {
    opacity: 1;
    transform: scale(1.1);
}
@keyframes scrollSponsors {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 900px) {
    .sponsor-item img {
        height: 21.135vw;
        width: auto;
        object-fit: contain;
        opacity: 0.8;
        transition: 0.3s ease;
    }
}

/* ========================= */
/* FOOTER */
/* ========================= */
.festival-footer {
    background: #4907FF;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.footer-cta {
    text-align: center;
    padding: 4rem 2rem 2rem;
}
.footer-cta h2 {
    font-size: 2.5rem;
    letter-spacing: 0.156vw; /* 3px */
    margin-bottom: 1rem;
}
.footer-cta p {
    color: #fff;
    max-width: 31.25vw; /* 600px */
    margin: 0 auto 1.5rem;
}
.footer-btn {
    display: inline-block;
    padding: 0.625vw 1.563vw; /* 12px 30px */
    background: #FE440B;
    color: #fff;
    border-radius: 2.604vw; /* 50px */
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s ease;
}
.footer-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 0 1.042vw rgba(168, 85, 247, 0.6); /* 20px */
}
.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10.417vw, 1fr)); /* 200px */
    gap: 3rem;
    padding: 3rem 5%;
    border-top: 0.052vw solid rgba(255,255,255,0.1); /* 1px */
}
.footer-content h4 {
    margin-bottom: 1rem;
    font-size: 1vw;
    color: #fff;
}
.footer-links ul,
.footer-legal ul {
    list-style: none;
    padding: 0;
}
.footer-links li,
.footer-legal li {
    margin-bottom: 0.5rem;
}
.footer-links a,
.footer-legal a {
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}
.footer-links a:hover,
.footer-legal a:hover {
    color: #a855f7;
}
.footer-brand h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}
.footer-brand p {
    color: #fff;
    font-size: 1vw;
}
.social-icons {
    display: flex;
    gap: 1rem;
}
.social-icons a {
    font-size: 1.2rem;
    color: #fff;
    background: rgba(255,255,255,0.08);
    padding: 0.625vw; /* 12px */
    border-radius: 50%;
    transition: 0.3s ease;
    width: 1.25vw; /* 24px */
    height: 1.25vw; /* 24px */
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.social-icons a:hover {
  background: #FE440B;
  transform: translateY(-0.208vw); /* -4px */
}
.footer-bottom {
    text-align: center;
    padding: 1.5rem;
    background: rgba(0,0,0,0.3);
    font-size: 0.85rem;
    color: #aaa;
}
img.footer-logo {
    width: 12vw;
}
.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 900px) {
    .footer-cta {
        text-align: center;
        padding: 1vw;
    }
    .footer-brand p {
        color: #fff;
        font-size: 4vw;
    }
    .footer-cta h2 {
        font-size: 9VW;
        letter-spacing: 0.156vw;
        margin: 8vw 0vw;
    }
    .footer-cta p {
        color: #fff;
        max-width: -webkit-fill-available;
        margin: 3vw 11.3vw 11vw;
    }
    .footer-cta {
        text-align: center;
        padding: 1vw 1vw 14vw;
    }
    .footer-btn {
        display: inline-block;
        padding: 1.625vw 5.563vw;
        background: #FE440B;
        color: #fff;
        border-radius: 5.604vw;
        text-decoration: none;
        font-weight: bold;
        transition: 0.3s ease;
        font-size: 5vw;
    }
    .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(27.417vw, 1fr));
        gap: 3rem;
        padding: 6.3vw;
        border-top: 0.052vw solid rgba(255, 255, 255, 0.1);
    }
    .footer-links a, .footer-legal a {
        color: #fff;
        text-decoration: none;
        transition: 0.3s;
        font-size: 3.3vw;
    }
    .footer-content h4 {
        margin-bottom: 1rem;
        font-size: 4vw;
        color: #fff;
    }
    img.footer-logo {
        width: 36vw;
    }
}



/* ========================= */
/* SALTOS DE LINEA */
/* ========================= */
.sp-br {
    display: none;
}
.img-sp {
    display: none;
}
@media (max-width: 900px) {
    .sp-br {
        display: block;
    }
    .img-pc {
        display: none;
    }
    .img-sp {
        display: block;
    }
}






/* ========================= */
/* BANNER SLIDER */
/* ========================= */
body {
    background-color: #fff;
    height: max-content;
}

.festival-slider{
    width:100%;
    height:39.0625vw;
    overflow:hidden;
    position:relative;
}

.slider-track{
    display:flex;
    width:100%;
    height:100%;
    transition:transform .8s ease;
}

.slide{
    min-width:100%;
    height:100%;
    position:relative;
}

.slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.content-titles-slider {
    position: absolute;
    color: #fff;
    top: 7.8125vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    left: 40vw;
    width: 57vw;
}

.title-slider {
    font-size: 3.125vw;
    font-weight: 600;
    margin: 0;
}

.subtitle-slider {
    font-size: 1.1458vw;
    font-weight: 600;
    margin: 0;
}

.slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.25);
}

@media (max-width: 900px) {
    .festival-slider {
        width: 100%;
        height: 74.0625vw;
        overflow: hidden;
        position: relative;
    }
    .content-titles-slider {
        position: absolute;
        color: #fff;
        top: 16.8125vw;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        left: 19vw;
        width: 78vw;
    }
    .title-slider {
        font-size: 10.6458vw;
        font-weight: 600;
        margin: 0;
        text-align: end;
        width: 90vw;
        font-family: 'Anton', sans-serif;
        letter-spacing: 0.2083vw;
    }
    .subtitle-slider {
        font-size: 4.1458vw;
        font-weight: 600;
        margin: 0;
        text-align: end;
    }
}

/* ========================= */
/* SECCIÓN BOTONES INFO */
/* ========================= */

.info-nav{
    width:100%;
    padding:2.0833vw 0;
    display:flex;
    justify-content:center;
}

.info-nav-container{
    display:flex;
    gap:1.0417vw;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:0.5208vw 1.0417vw;
}

.info-btn{
    text-decoration:none;
    color:#fff;
    background-color:#FE440B;
    padding:0.7292vw 1.4583vw;
    border-radius:2.0833vw;
    font-weight:600;
    letter-spacing:0.0521vw;
    transition:all .3s ease;
    white-space:nowrap;
    border:0.1042vw solid transparent;
    font-size: 0.91vw;
}

.info-btn:hover{
    transform:translateY(-0.1042vw);
}

.info-nav-container::-webkit-scrollbar{
    height:0.3125vw;
}

.info-nav-container::-webkit-scrollbar-thumb{
    background:#444;
    border-radius:0.5208vw;
}

@media (max-width: 900px) {
    section.info-nav {
        display: none;
    }
}


/* ========================= */
/* SECCIÓN CAMPING */
/* ========================= */

.seccion-camping{
    padding:4.1667vw;
}

.camping-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3.125vw;
    align-items:center;
}

.camping-galeria{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0.7813vw;
}

.camping-galeria img{
    width:100%;
    height:15.5417vw;
    object-fit:cover;
    border-radius:0.5208vw;
}

.camping-info{
    display:flex;
    flex-direction:column;
}

.camping-info h2{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.camping-info p{
    font-size: 1.0417vw;
    line-height: 1.9;
    color: #000000;
}

.camping-lista{
    list-style:none;
    padding:0;
    margin:1.3021vw 0 1.3021vw;
}

.camping-lista li{
    margin-bottom:0.5208vw;
    font-size:1.0417vw;
}

.camping-horarios{
    display:flex;
    gap:2.0833vw;
    padding:1.3021vw;
    border-radius:0.5208vw;
    background:#f4f4f4;
}

.horario{
    display:flex;
    flex-direction:column;
    font-size:0.8333vw;
}

.horario .titulo{
    font-weight:bold;
    margin-bottom:0.2604vw;
}

@media (max-width: 900px) {
    .seccion-camping {
        padding: 12.1667vw 4.1667vw 12.1667vw 4.1667vw;
    }
    .camping-container {
        display: flex;
        align-items: center;
        flex-direction: column-reverse;
    }
    .camping-galeria {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.7813vw;
    width: -webkit-fill-available;
}
.camping-galeria img {
    width: 100%;
    height: 26.5417vw;
    object-fit: cover;
    border-radius: 0.5208vw;
}
.camping-info p {
    font-size: 3.3vw;
    line-height: 1.9;
    margin-bottom: 1.3021vw;
    color: #000;
    
}
.camping-lista li {
    margin-bottom: 0.5208vw;
    font-size: 3.3vw;
    line-height: 1.9;
    color: #000;
}
.horario {
    display: flex;
    flex-direction: column;
    font-size: 2.66vw;
}
.camping-horarios {
    display: flex;
    gap: 2.0833vw;
    padding: 3.3021vw 1.3021vw;
    border-radius: 0.5208vw;
    background: #f4f4f4;
}
.camping-info h2 {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
}

/* ========================= */
/* REGLAS */
/* ========================= */

.reglas{
    padding:4.1667vw;
}

.reglas-container{
    width:-webkit-fill-available;
}

.reglas-titulo{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.reglas-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2.0833vw;
}

.reglas-col h3{
    margin-bottom:1.0417vw;
    font-size:1.1458vw;
}

.reglas-lista{
    list-style:none;
    padding:0;
    display:grid;
    gap:0.625vw;
    grid-template-columns:repeat(2,1fr);
}

.regla-item{
    display:flex;
    align-items:center;
    gap:0.625vw;
    padding:0.8333vw 0.9375vw;
    border-radius:0.5208vw;
    font-size:0.9375vw;
}

.icon{
    font-size:1.0417vw;
}

.permitidos .regla-item{
    background:rgba(0,200,120,0.08);
    border:0.0521vw solid #000;
}

.prohibidos .regla-item{
    background:rgba(255,80,80,0.08);
    border:0.0521vw solid #000;
}

img.icono-small{
    width:3.9063vw;
}

@media (max-width: 900px) {
    .reglas-titulo {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
.reglas-col h3 {
    margin-bottom: 1.0417vw;
    font-size: 3.3vw;
}
.reglas-lista {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 1.625vw;
    grid-template-columns: repeat(1, 1fr);
}
img.icono-small {
    width: 10.9063vw;
}
.regla-item span {
    font-size: 2.9vw;
}
}

/* ========================= */
/* EXPERIENCIAS */
/* ========================= */

.experiencias{
    padding:4.1667vw;
}

.experiencias-container{
    width:-webkit-fill-available;
}

.experiencias-header{
    margin-bottom:3.125vw;
}

.title-exp{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.text-exp-1{
    font-size:1.0417vw;
    font-weight:600;
}

.text-exp-2{
    color: #000000;
    font-size: 1.0417vw;
    line-height: 1.9;
}

.experiencias-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(12.5vw,1fr));
    gap:1.5625vw;
}

.exp-card{
    border-radius:0.625vw;
    overflow:hidden;
    background:#f5f5f5;
    transition:.3s;
    border:0.0521vw solid #000;
}

.exp-card img{
    width:100%;
    height:14.375vw;
    object-fit:cover;
}

.exp-info{
    padding:1.0417vw;
}

.exp-info h3{
    font-size: 1.5vw;
    line-height: 1.9;
    margin: 0vw;
}

.exp-info p{
    font-size: 1.0417vw;
    margin: 0vw;
}

.exp-info ul {
    font-size: 1.04vw;
}

.exp-card:hover{
    transform:translateY(-0.3125vw);
    box-shadow:0 0.7813vw 1.5625vw rgba(0,0,0,0.15);
}

.exp-horario{
    display:inline-flex;
    flex-direction:column;
    padding:1.0417vw 0 1.5625vw;
    width:15.625vw;
    align-items:flex-end;
}

.exp-horario .titulo{
    font-weight:700;
    margin-bottom:0.2604vw;
    font-size:1.875vw;
}

.content-info-time{
    display:flex;
    flex-direction:row;
    margin-top:1.4583vw;
}

span.time{
    font-size:1.3021vw;
    font-weight:600;
}

@media (max-width: 900px) {
    .title-exp {
        font-family: 'Anton', sans-serif;
        font-size: 10.6458vw;
        line-height: 0.9;
        background: #FE440B;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        letter-spacing: 0.2083vw;
        margin: 1vw 0vw;
    }
    .text-exp-1 {
    font-size: 3.3vw;
    font-weight: 600;
    color: #000;
}
.text-exp-2 {
    font-size: 3.3vw;
    line-height: 1.9;
    color: #000;
}
.experiencias-grid {
    display: flex;
    gap: 4.5625vw;
    flex-direction: column;
}
.exp-card img {
    width: 100%;
    height: 55.375vw;
    object-fit: cover;
}
.exp-info h3 {
    margin: 2vw 2vw;
    font-size: 6.3vw;
    letter-spacing: 0.0521vw;
}
.exp-info p {
    font-size: 3.3vw;
    line-height: 1.5;
    margin: 2vw;
}
.exp-info ul {
    padding: 0vw 7vw;
    font-size: 3.3vw;
}
.exp-card {
    border-radius: 1.3021vw;
    overflow: hidden;
    background: #f5f5f5;
    transition: .3s;
    border: 0.0521vw solid #000;
}
.content-info-time {
    display: flex;
    flex-direction: column;
    margin-top: 3.4583vw;
}
.exp-horario {
    display: inline-flex;
    flex-direction: row;
    padding: 1.0417vw 0 1.5625vw;
    width: -webkit-fill-available;
    align-items: flex-end;
    justify-content: space-between;
}
.exp-horario .titulo {
    font-weight: 700;
    margin-bottom: 0.2604vw;
    font-size: 4.875vw;
}
span.time {
    font-size: 4.875vw;
    font-weight: 600;
}
}

/* ========================= */
/* INTERVENCIONES ARTÍSTICAS */
/* ========================= */

.intervenciones{
    padding:4.1667vw;
}

.intervenciones-container{
    width:-webkit-fill-available;
}

.intervenciones-header{
    margin:0;
}

.intervenciones-header h2{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.intervenciones-header p{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.intervenciones-galeria{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.0417vw;
}

.intervenciones-galeria img{
    width:100%;
    height:13.5417vw;
    object-fit:cover;
    border-radius:0.5208vw;
    transition:transform .35s ease;
}

.intervenciones-galeria img:hover{
    transform:scale(1.05);
}

@media (max-width: 900px) {
    .intervenciones-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
.intervenciones-header p {
    font-size: 3.3vw;
    line-height: 1.9;
    color: #000;
}
.intervenciones-galeria {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.0417vw;
}
.intervenciones-galeria img {
    width: 100%;
    height: 41.5417vw;
    object-fit: cover;
    border-radius: 3vw;
    transition: transform .35s ease;
}
}

/* ========================= */
/* ÁREA GASTRONÓMICA */
/* ========================= */

.gastronomia{
    padding:4.1667vw;
}

.gastronomia-container{
    width:-webkit-fill-available;
}

.gastronomia h2{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.gastronomia p{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.gastronomia-redes{
    margin-top:2.0833vw;
    display:flex;
    gap:0.7813vw;
}

.btn-red{
    padding:1.0417vw 1.8229vw;
    border-radius:1.5625vw;
    text-decoration:none;
    font-weight:600;
    color:white;
    transition:.25s;
    font-size:1.0417vw;
}

.instagram{
    background:#FE440B;
}

.facebook{
    background:#FE440B;
}

.btn-red:hover{
    transform:translateY(-0.1563vw);
    box-shadow:0 0.5208vw 1.0417vw rgba(0,0,0,0.2);
}
.Cont_Text_Img_Convs {
    display: flex;
    flex-direction: row;
    column-gap: 3vw;
}
.Img_Conv {
    width: 40vw;
    border-radius: 0.625vw;
    object-fit: cover;
}

@media (max-width: 900px) {
    .gastronomia h2 {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
.gastronomia p {
    font-size: 3.3vw;
    line-height: 1.9;
    color: #000;
}
.btn-red {
    padding: 2.0417vw 4.8229vw;
    border-radius: 5vw;
    text-decoration: none;
    font-weight: 600;
    color: white;
    transition: .25s;
    font-size: 4.0417vw;
}
.gastronomia-redes {
    margin-top: 2.0833vw;
    display: flex;
    gap: 0.7813vw;
    justify-content: space-evenly;
}
.Cont_Text_Img_Convs {
    display: flex;
    flex-direction: column;
    row-gap: 5vw;
}
.Img_Conv {
    width: -webkit-fill-available;
    border-radius: 3vw;
    object-fit: cover;
}
}

/* ========================= */
/* ESTACIONAMIENTO */
/* ========================= */

.estacionamiento{
    padding:4.1667vw;
}

.estacionamiento-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3.125vw;
    align-items:center;
}

.estacionamiento-info h2{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.estacionamiento-info h3{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.estacionamiento-info p{
        font-size: 1.0417vw;
        line-height: 1.9;
}

.estacionamiento-lista{
    margin-bottom: 1.0417vw;
    padding-left: 1.1208vw;
    font-size: 1.0417vw;
    line-height: 1.9;
}

.estacionamiento-lista li{
    line-height: 1.9;
    font-size: 1.0417vw;
}

.estacionamiento-img img{
    width:100%;
    height:34.25vw;
    object-fit:cover;
    border-radius:0.625vw;
}
.estacionamiento h2 {
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

@media (max-width: 900px) {
    .estacionamiento-info h2 {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
.estacionamiento-container {
    display: flex;
    gap: 3.125vw;
    align-items: center;
    flex-direction: column;
}
.estacionamiento-info {
    width: -webkit-fill-available;
}
.estacionamiento-info p {
    font-size: 3.3vw;
    line-height: 1.9;
    color: #000;
}
.estacionamiento-info h3 {
    margin-top: 1.3021vw;
    margin-bottom: 0.5208vw;
    font-size: 3.3vw;
}
.estacionamiento-lista li {
    margin-bottom: 0.4167vw;
    font-size: 3.3vw;
    line-height: 1.9;
}
.estacionamiento-lista {
    margin-bottom: 1.0417vw;
    padding-left: 4.5208vw;
}
.estacionamiento-img img {
        width: 100%;
        object-fit: cover;
        border-radius: 3vw;
        height: auto;
    }
}

/* ========================= */
/* ACCESO A PLAYA */
/* ========================= */

.playa-acceso{
    padding:4.1667vw;
}

.playa-container{
    width:-webkit-fill-available;
}

.playa-header{
    margin-bottom:2.6042vw;
}

.playa-header h2{
    font-family: 'Anton', sans-serif;
    font-size: 5.2083vw;
    line-height: 0.9;
    margin-bottom: 1.5625vw;
    background: #fe440b;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin-top: 1.0417vw;
}

.playa-header p{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.playa-box{
    padding:1.8229vw;
    border-radius:0.625vw;
    margin-bottom:1.5625vw;
}

.playa-box h3{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.horarios{
    background:rgba(0,120,255,0.06);
    border:0.0521vw solid rgba(0,120,255,0.2);
    width:50%;
}

.importante{
    background:rgba(255,150,0,0.08);
    border:0.0521vw solid rgba(255,150,0,0.25);
    width:50%;
}

.playa-box ul{
    padding-left:0.5208vw;
    margin-bottom:0.7813vw;
}

.playa-box li{
    font-size: 1.0417vw;
    line-height: 1.9;
}

.nota{
    font-size: 1.0417vw;
    opacity:.8;
}

.content-time-impor{
    display:flex;
    flex-direction:row;
    column-gap:2.0833vw;
}
@media (max-width: 900px) {
    .playa-header h2 {
    font-family: 'Anton', sans-serif;
    font-size: 10.6458vw;
    line-height: 0.9;
    background: #FE440B;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.2083vw;
    margin: 1vw 0vw;
}
.playa-header p {
    font-size: 3.3vw;
    line-height: 1.9;
}
.content-time-impor {
    display: flex;
    flex-direction: column;
    column-gap: 2.0833vw;
}
.horarios {
    background: rgba(0, 120, 255, 0.06);
    border: 0.0521vw solid rgba(0, 120, 255, 0.2);
    width: -webkit-fill-available;
}
.importante {
    background: rgba(255, 150, 0, 0.08);
    border: 0.0521vw solid rgba(255, 150, 0, 0.25);
    width: -webkit-fill-available;
}
.playa-box h3 {
    font-size: 4.3vw;
    color: #000;
    margin: 0vw;
}
.playa-box li {
    margin-bottom: 0.4167vw;
    line-height: 1.9;
    font-size: 3.3vw;
}
.nota {
    font-size: 3.3vw;
    opacity: .8;
}
.nota {
    font-size: 3.3vw;
    opacity: .8;
}
.nota {
    font-size: 3.3vw;
    opacity: .8;
}
.playa-box ul {
    padding-left: 4.5208vw;
    margin-bottom: 0.7813vw;
}

}

/* ========================= */
/* BOTÓN IR ARRIBA */
/* ========================= */

#topBtn{
    position:fixed;
    bottom:1.5625vw;
    right:1.5625vw;
    background:#FE440B;
    color:white;
    border:none;
    padding:0.8333vw;
    border-radius:50%;
    font-size:0.9375vw;
    cursor:pointer;
    display:none;
    z-index:999;
    box-shadow:0 0.3125vw 1.0417vw rgba(0,0,0,0.3);
    transition:all .3s ease;
    width:2.7083vw;
}

#topBtn:hover{
    transform:scale(1.1);
}
@media (max-width: 900px) {
    #topBtn {
    position: fixed;
    bottom: 3.5625vw;
    right: 3.5625vw;
    background: #FE440B;
    color: white;
    border: none;
    padding: 0.8333vw;
    border-radius: 50%;
    font-size: 4.9375vw;
    cursor: pointer;
    display: none;
    z-index: 999;
    box-shadow: 0 0.3125vw 1.0417vw rgba(0, 0, 0, 0.3);
    transition: all .3s ease;
    width: 9.7083vw;
    height: 9.7083vw;
}
}

/* SUBMENU */
.has-submenu{
    position: relative;
}

.submenu{
    position: absolute;
    top: 100%;
    left: 0;
    background: #4907FF;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    min-width: 12vw;
    display: none; 
    z-index: 999;
    flex-direction: column;
}

.submenu li{
    padding: 0;
    text-align: justify;
}

.submenu a{
    display: block;
    padding: 10px 20px;
    color: white;
    text-decoration: none;
}

.submenu a:hover{
}

/* mostrar submenu */
.has-submenu:hover .submenu{
    display: block;
}
@media (max-width: 900px) {
    /* SUBMENU MOBILE */
.submenu{
    display: none;
}

.has-submenu.active .submenu{
    display: block;
}

/* icono + */
.submenu-toggle{
    margin-right:8px;
    cursor:pointer;
}


}