/* =========================================================
   CUSTOM CSS · REAL CLUB DE GOLF LAS ROZAS
   Archivo propio. Va después de main.css.
   No tocar estilos globales del theme.
========================================================= */

:root{
    --club-green:#284235;
    --club-green-dark:#1C403D;
    --club-beige:#F3F1EB;
    --club-white:#ffffff;
    --club-border:rgba(40,66,53,.10);
}

.club-hero-content p{
    max-width:720px;
}

/* =========================================================
   RESTAURANTE
========================================================= */

.restaurante-intro-section{
    padding-bottom:95px;
}

.restaurante-intro-section .row{
    --bs-gutter-x:28px;
}

.restaurante-intro-section .club-intro-image img{
    width:100%;
    height:420px;
    object-fit:cover;
    border-radius:28px;
    display:block;
}

.restaurante-services-section{
    background:var(--club-beige);
    padding-top:90px;
    padding-bottom:90px;
}

.restaurante-services-section .section-header-wide{
    margin-bottom:42px;
}

.restaurante-services-section .campo-service-card{
    background:#ffffff;
    border:1px solid var(--club-border);
    border-radius:26px;
}

.restaurante-menu-section{
    padding-top:90px;
    padding-bottom:45px;
}

.restaurante-menu-section .restaurant-content{
    max-width:620px;
}

.restaurante-menu-section .restaurant-box{
    background:var(--club-beige);
    border-radius:34px;
    padding:54px;
}

.restaurante-menu-section .restaurant-image{
    display:flex;
    justify-content:center;
}

.restaurante-menu-section .restaurant-image img{
    width:100%;
    max-width:560px;
    height:340px;
    object-fit:cover;
    border-radius:24px;
    display:block;
    margin-left:0;
}

.restaurante-cta-section{
    padding-top:95px;
    padding-bottom:115px;
}

.restaurante-intro-section .club-intro-content{
    max-width:680px;
    margin-left:40px;
}

.restaurant-contact-info{
    display:flex;
    justify-content:center;
    gap:50px;
    flex-wrap:wrap;
    margin:35px 0 10px;
}

.restaurant-contact-item{
    text-align:center;
}

.restaurant-contact-item span{
    display:block;
    color:#ffffff;
    opacity:.7;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
	font-weight:600;
}

.restaurant-contact-item a,
.restaurant-contact-item p{
    color:#ffffff;
    font-size:13px;
    font-weight:400;
    margin:0;
    text-decoration:none;
}

/* =========================================================
   ACTIVIDADES
========================================================= */

.activities-section{
    background:var(--club-beige);
    padding:85px 0 95px;
}

.activities-section .section-header-wide{
    margin-bottom:45px;
}

.activity-big-card{
    background:#ffffff;
    border:1px solid var(--club-border);
    border-radius:26px;
    overflow:hidden;
    height:100%;
    transition:.3s ease;
}

.activity-big-card:hover{
    transform:translateY(-4px);
}

.activity-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.activity-content{
    padding:30px;
}

.activity-content h3{
    color:var(--club-green);
    font-size:28px;
    line-height:1.15;
    letter-spacing:-.7px;
    margin:16px 0 14px;
}

.activity-content p{
    color:var(--club-green);
    opacity:.76;
    font-size:15px;
    line-height:1.7;
    margin-bottom:22px;
}

.activities-section .activity-image img{
    height:200px;
}

.activities-section .activity-content{
    padding:28px;
}

.club-intro-section .club-intro-content{
    margin-left:30px;
}

/* =========================================================
   ACADEMIA
========================================================= */

.academia-intro-section{
    padding-bottom:45px;
}

.academia-intro-section .row{
    --bs-gutter-x:24px;
}

.academia-intro-image img{
    height:420px;
    object-fit:cover;
    border-radius:28px;
}

.academia-info-section{
    background:#ffffff;
    padding:10px 0 80px;
}

.academia-info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.academia-info-card{
    background:#ffffff;
    border:2px solid rgba(40,66,53,.12);
    border-radius:26px;
    padding:30px;
}

.academia-info-card span,
.championship-card span{
    display:block;
    color:var(--club-green);
    opacity:.45;
    font-size:14px;
    font-weight:700;
    margin-bottom:22px;
}

.academia-info-card h3,
.championship-card h3{
    color:var(--club-green);
    font-size:24px;
    line-height:1.1;
    margin-bottom:14px;
}

.academia-info-card p,
.championship-card p{
    color:var(--club-green);
    opacity:.76;
    line-height:1.7;
    margin:0;
}

.academia-championships-section{
    background:var(--club-beige);
    padding:80px 0 95px;
}

.championships-header{
    margin-bottom:38px;
}

.championships-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.championship-card{
    background:#ffffff;
    border:1px solid var(--club-border);
    border-radius:26px;
    padding:30px;
    transition:.3s ease;
}

.championship-card:hover{
    transform:translateY(-4px);
}

.academia-adultos-section{
    background:#ffffff;
    padding:95px 0;
}

.academia-pricing-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.academia-price-card{
    background:var(--club-beige);
    border:1px solid var(--club-border);
    border-radius:26px;
    padding:28px;
}

.academia-price-card h3{
    color:var(--club-green);
    font-size:23px;
    line-height:1.1;
    letter-spacing:-.7px;
    margin-bottom:12px;
}

.academia-price-card p{
    color:var(--club-green);
    opacity:.7;
    font-size:14px;
    line-height:1.6;
    margin-bottom:24px;
}

.price-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    border-top:1px solid rgba(40,66,53,.12);
    padding-top:14px;
    margin-top:14px;
}

.price-row span{
    color:var(--club-green);
    opacity:.7;
    font-size:14px;
}

.price-row strong{
    color:var(--club-green);
    font-size:15px;
    white-space:nowrap;
}

.academia-note{
    max-width:760px;
    margin:42px auto 0;
    text-align:center;
}

.academia-profesores-section{
    background:var(--club-beige);
    padding:95px 0;
}

.profesores-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.profesor-card{
    background:#ffffff;
    border:1px solid var(--club-border);
    border-radius:28px;
    overflow:hidden;
}

.profesor-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.profesor-content{
    padding:26px;
}

.profesor-content span{
    display:block;
    color:var(--club-green);
    opacity:.55;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
}

.profesor-content h3{
    color:var(--club-green);
    font-size:24px;
    line-height:1.1;
    letter-spacing:-.8px;
    margin-bottom:12px;
}

.profesor-content p{
    color:var(--club-green);
    opacity:.76;
    font-size:15px;
    line-height:1.7;
    margin-bottom:16px;
}

.profesor-content a{
    color:var(--club-green);
    font-weight:600;
    text-decoration:none;
}

.academia-installations-section{
    background:#ffffff;
    padding:95px 0;
}

.academia-cta-section{
    background:var(--club-beige);
    padding:95px 0 115px;
}

.academia-note .campo-buttons .ht-btn.field-btn:hover{
    background:#284235 !important;
    color:#ffffff !important;
    border-color:#284235 !important;
}

/* =========================================================
   LIGA DE MUS
========================================================= */

.liga-mus-intro-section{
    background:#ffffff;
    padding:90px 0 55px;
}

.liga-mus-intro-section .row{
    --bs-gutter-x:28px;
}

.liga-mus-intro-image img{
    width:100%;
    height:430px;
    object-fit:cover;
    border-radius:28px;
    display:block;
}

.liga-mus-features-section{
    background:var(--club-beige);
    padding:70px 0 90px;
}

.liga-mus-features-section .section-header-wide{
    margin-bottom:42px;
}

.liga-mus-features-section .campo-service-card{
    background:#ffffff;
    border:1px solid var(--club-border);
    border-radius:26px;
}

.liga-mus-calendar-section{
    background:#ffffff;
    padding:90px 0 55px;
}

.liga-calendar-box{
    background:var(--club-beige);
    border-radius:34px;
    padding:50px;
}

.liga-mus-calendar-grid{
    margin-bottom:40px;
}

.liga-mus-rules-section{
    background:#ffffff;
    padding:95px 0;
}

.liga-rules-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.liga-rule-card{
    background:var(--club-beige);
    border:1px solid var(--club-border);
    border-radius:26px;
    padding:32px;
}

.liga-rule-card span{
    display:block;
    color:var(--club-green);
    opacity:.45;
    font-size:14px;
    font-weight:700;
    margin-bottom:18px;
}

.liga-rule-card h3{
    color:var(--club-green);
    font-size:24px;
    line-height:1.1;
    margin-bottom:12px;
}

.liga-rule-card p{
    color:var(--club-green);
    opacity:.76;
    line-height:1.7;
    margin:0;
}

.liga-mus-cta-section{
    background:var(--club-beige);
    padding:95px 0 115px;
}

.liga-mus-summary-card span{
    display:none;
}

.liga-mus-intro-section .club-intro-content{
    margin-left:30px;
    max-width:600px;
}

.liga-mus-intro-section .campo-buttons{
    display:flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap;
}

.liga-mus-intro-section .campo-buttons a{
    margin:0 !important;
}

.liga-mus-intro-section .campo-buttons .ht-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:56px;
    line-height:1;
}

.liga-mus-intro-section .booking-btn-secondary{
    background:#284235;
    border-color:#284235;
    color:#ffffff !important;
}

.liga-mus-intro-section .field-btn:hover,
.liga-mus-intro-section .booking-btn-secondary:hover{
    background:#1C403D !important;
    border-color:#1C403D !important;
    color:#ffffff !important;
}

.liga-mus-intro-section .field-btn::before,
.liga-mus-intro-section .booking-btn-secondary::before{
    display:none !important;
}

.liga-mus-summary-section{
    background:#ffffff;
    padding:0 0 90px;
}

.liga-mus-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.liga-mus-summary-card{
    background:#F3F1EB;
    border-radius:28px;
    padding:38px 30px;
    transition:.3s ease;
}

.liga-mus-summary-card:hover{
    transform:translateY(-4px);
}

.liga-mus-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:#284235;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
}

.liga-mus-icon i{
    color:#ffffff;
    font-size:26px;
}

.liga-mus-summary-card h3{
    color:#284235;
    font-size:26px;
    line-height:1.2;
    margin-bottom:14px;
}

.liga-mus-summary-card p{
    color:#284235;
    opacity:.75;
    line-height:1.7;
    margin:0;
}

@media(max-width:991px){

    .liga-mus-summary-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:575px){

    .liga-mus-summary-grid{
        grid-template-columns:1fr;
    }
}

.liga-mus-details-section{
    background:#F3F1EB;
    padding:90px 0;
}

.liga-mus-details-section .section-header-wide{
    margin-bottom:45px;
}

.liga-mus-prizes-section .section-header-wide{
    max-width:900px;
}

.liga-mus-details-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.liga-mus-detail-card{
    background:#ffffff;
    border:1px solid rgba(40,66,53,.10);
    border-radius:26px;
    padding:32px;
}

.liga-mus-detail-card h3{
    color:#284235;
    font-size:24px;
    line-height:1.15;
    margin-bottom:14px;
}

.liga-mus-detail-card p{
    color:#284235;
    opacity:.76;
    font-size:15px;
    line-height:1.7;
    margin:0;
}

@media(max-width:991px){
    .liga-mus-details-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:575px){
    .liga-mus-details-grid{
        grid-template-columns:1fr;
    }
}

.liga-mus-prizes-section{
    background:#F3F1EB;
    padding:90px 0;
}

.liga-mus-prizes-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.liga-mus-prize-card{
    background:#ffffff;
    border:1px solid rgba(40,66,53,.10);
    border-radius:26px;
    padding:30px;
}

.liga-mus-prize-card span{
    display:block;
    color:#284235;
    opacity:.55;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:18px;
}

.liga-mus-prize-card h3{
    color:#284235;
    font-size:20px;
    line-height:1.15;
    margin-bottom:8px;
}

.liga-mus-prize-card p{
    color:#284235;
    opacity:.76;
    font-size:15px;
    line-height:1.6;
    margin-bottom:18px;
}

.liga-mus-extra-prizes{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:28px;
}

.liga-mus-extra-prizes > div{
    background:#ffffff;
    border-radius:24px;
    padding:28px;
}

@media(max-width:991px){
    .liga-mus-prizes-grid,
    .liga-mus-extra-prizes{
        grid-template-columns:1fr;
    }
}

.liga-mus-faq-section{
    background:#ffffff;
    padding:95px 0;
}

.liga-faq-accordion{
    display:grid;
    gap:16px;
}

.liga-faq-accordion details{
    background:#F3F1EB;
    border:1px solid rgba(40,66,53,.10);
    border-radius:24px;
    padding:24px 28px;
}

.liga-faq-accordion summary{
    cursor:pointer;
    color:#284235;
    font-weight:700;
    font-size:20px;
    list-style:none;
}

.liga-faq-accordion summary::-webkit-details-marker{
    display:none;
}

.liga-faq-accordion summary::after{
    content:"+";
    float:right;
    font-size:24px;
}

.liga-faq-accordion details[open] summary::after{
    content:"–";
}

.liga-faq-accordion p{
    color:#284235;
    opacity:.78;
    font-size:15px;
    line-height:1.7;
    margin:18px 0 0;
}

.liga-mus-faq-section .section-header-wide{
    max-width:900px;
}

.liga-faq-accordion{
    gap:12px;
}

.liga-faq-accordion details{
    border-radius:18px;
    padding:18px 24px;
}

.liga-faq-accordion summary{
    font-size:18px;
    font-weight:600;
}

.liga-faq-accordion summary::after{
    font-size:20px;
}

.liga-faq-accordion p{
    font-size:14px;
    line-height:1.65;
    margin:14px 0 0;
}

.liga-mus-ranking-section{
    background:#F3F1EB;
    padding:90px 0;
}

.liga-mus-ranking-box{
    background:#ffffff;
    border-radius:28px;
    padding:38px;
    border:1px solid rgba(40,66,53,.10);
}

.liga-mus-gallery-section{
    background:#ffffff;
    padding:90px 0;
}

.liga-mus-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.liga-mus-gallery-item{
    border-radius:26px;
    overflow:hidden;
}

.liga-mus-gallery-item img{
    width:100%;
    height:260px;
    object-fit:cover;
    object-position:center;
    display:block;
	object-position: center bottom;
}

.gallery-top-image img{
    object-position:center bottom;
}

@media(max-width:991px){
    .liga-mus-gallery-grid{
        grid-template-columns:1fr;
    }
}

.liga-mus-ranking-section .section-header-wide{
    max-width:950px;
}

.liga-mus-ranking-section{
    background:#F3F1EB;
    padding:90px 0;
}

.liga-mus-ranking-table{
    background:#ffffff;
    border-radius:28px;
    overflow:hidden;
    border:1px solid rgba(40,66,53,.10);
}

.liga-mus-ranking-head,
.liga-mus-ranking-row{
    display:grid;
    grid-template-columns:.45fr 2fr repeat(7,.45fr);
    gap:14px;
    align-items:center;
    padding:18px 24px;
}

.liga-mus-ranking-head{
    background:#284235;
    color:#ffffff;
    font-weight:700;
    font-size:14px;
}

.liga-mus-ranking-row{
    color:#284235;
    border-top:1px solid rgba(40,66,53,.08);
    font-size:15px;
}

.liga-mus-ranking-row:nth-child(odd){
    background:#faf9f5;
}

@media(max-width:767px){
    .liga-mus-ranking-table{
        overflow-x:auto;
    }

    .liga-mus-ranking-head,
    .liga-mus-ranking-row{
        min-width:760px;
    }
}

/* =========================================================
   HOYO A HOYO
========================================================= */

.hole-intro-box{
    display:grid;
    grid-template-columns:1.4fr .8fr;
    gap:34px;
    align-items:stretch;
}

.hole-download-box{
    background:#F3F1EB;
    border-radius:28px;
    padding:34px;
    border:1px solid rgba(40,66,53,.10);
}

.hole-download-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.hole-download-buttons .ht-btn{
    width:100%;
    justify-content:center;
}

.holes-list-section{
    background:#F3F1EB;
    padding:90px 0;
}

.holes-slider{
    position:relative;
    padding:0 110px;
}

.holes-slider .slick-track{
    display:flex !important;
}

.holes-slider .hole-card{
    max-width:400px;
    margin:0 auto;
}

.holes-slider .slick-list{
    margin:0;
}

.holes-slider .slick-slide{
    height:auto !important;
    padding:0 12px;
    box-sizing:border-box;
}

.holes-slider .slick-slide > div{
    height:100%;
}

.hole-card{
    height:100%;
    background:#ffffff;
    border-radius:28px;
    overflow:hidden;
    border:1px solid rgba(40,66,53,.10);
    display:flex !important;
    flex-direction:column;
}

.hole-card a.hole-image-popup{
    display:block;
}

.hole-card img{
    width:100%;
    height:330px;
    object-fit:contain;
    background:#ffffff;
    padding:10px;
    display:block;
}

.hole-card-content{
    flex:1;
    padding:22px 26px 26px;
}

.hole-card-content span{
    display:block;
    color:#284235;
    opacity:.55;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
}

.hole-card-content h3{
    color:#284235;
    font-size:26px;
    line-height:1.15;
    margin-bottom:12px;
}

.hole-card-content p{
    color:#284235;
    opacity:.76;
    font-size:15px;
    line-height:1.7;
    margin-bottom:18px;
}

.hole-card-content strong{
    color:#284235;
    font-size:15px;
}

/* FLECHAS */

.holes-arrow{
    position:absolute;
    top:42%;
    z-index:5;
    width:54px;
    height:54px;
    border-radius:50%;
    border:0;
    background:#284235;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.holes-arrow i{
    font-size:22px;
}

.holes-prev{
    left:0px;
}

.holes-next{
    right:0px;
}

/* CAPITÁN */

.hole-captain-section{
    background:#F3F1EB;
    padding:0 0 90px;
}

.hole-captain-box{
    background:#ffffff;
    border-radius:28px;
    padding:38px;
    border:1px solid rgba(40,66,53,.10);
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.hole-captain-box p{
    margin-bottom:20px;
}

.hole-captain-box strong{
    display:block;
    color:#284235;
    margin-bottom:4px;
}

.hole-captain-box span{
    color:#284235;
    opacity:.65;
}

@media(max-width:991px){

    .hole-intro-box{
        grid-template-columns:1fr;
    }

    .holes-prev{
        left:5px;
    }

    .holes-next{
        right:5px;
    }
}

@media(max-width:575px){

    .holes-list-section{
        padding:70px 0;
    }

    .hole-download-box,
    .hole-card-content{
        padding:24px;
    }

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

    .holes-arrow{
        width:44px;
        height:44px;
    }
}

/* FLECHAS */

.holes-arrow{
    position:absolute;
    top:42%;
    z-index:5;
    width:54px;
    height:54px;
    border-radius:50%;
    border:0;
    background:#284235;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.holes-arrow i{
    font-size:22px;
}

.holes-prev{
    left:40px;
}

.holes-next{
    right:40px;
}

/* DOTS */

.holes-slider .slick-dots{
    margin-top:28px;
    display:flex !important;
    justify-content:center;
    gap:8px;
}

.holes-slider .slick-dots li button{
    width:10px;
    height:10px;
    border-radius:50%;
    background:rgba(40,66,53,.25);
    font-size:0;
    border:0;
}

.holes-slider .slick-dots li.slick-active button{
    background:#284235;
}

/* CAPITÁN */

.hole-captain-section{
    background:#F3F1EB;
    padding:0 0 90px;
}

.hole-captain-box{
    background:#ffffff;
    border-radius:28px;
    padding:38px;
    border:1px solid rgba(40,66,53,.10);
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.hole-captain-box p{
    margin-bottom:20px;
}

.hole-captain-box strong{
    display:block;
    color:#284235;
    margin-bottom:4px;
}

.hole-captain-box span{
    color:#284235;
    opacity:.65;
}

/* RESPONSIVE */

@media(max-width:991px){

    .hole-intro-box{
        grid-template-columns:1fr;
    }

    .holes-prev{
        left:10px;
    }

    .holes-next{
        right:10px;
    }
}

@media(max-width:575px){

    .holes-list-section{
        padding:70px 0;
    }

    .hole-download-box,
    .hole-card-content{
        padding:24px;
    }

    .holes-arrow{
        width:44px;
        height:44px;
    }
}

/* =========================================================
   HOYO A HOYO · DETALLES TÉCNICOS
========================================================= */

.hole-details-section{
    background:#ffffff;
    padding:90px 0;
}

.hole-details-section .section-header-wide{
    margin-bottom:45px;
}

.hole-details-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.hole-detail-card{
    background:#F3F1EB;
    border:1px solid rgba(40,66,53,.10);
    border-radius:26px;
    padding:28px;
}

.hole-detail-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
}

.hole-detail-top span{
    color:#284235;
    opacity:.55;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:600;
}

.hole-detail-top strong{
    color:#ffffff;
    background:#284235;
    border-radius:999px;
    padding:7px 14px;
    font-size:13px;
    white-space:nowrap;
}

.hole-detail-card h3{
    color:#284235;
    font-size:24px;
    line-height:1.15;
    margin-bottom:14px;
}

.hole-detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    list-style:none;
    padding:0;
    margin:0 0 16px;
}

.hole-detail-meta li{
    background:#ffffff;
    color:#284235;
    border-radius:999px;
    padding:7px 12px;
    font-size:12px;
    font-weight:600;
}

.hole-detail-card p{
    color:#284235;
    opacity:.76;
    font-size:15px;
    line-height:1.7;
    margin:0;
}

.featured-hole-card{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:0;
    overflow:hidden;
    background:#284235;
    border-radius:34px;
}

.featured-hole-image{

    position:relative;

    min-height:100%;

}

.featured-hole-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.featured-hole-content{

    padding:42px;

    color:#ffffff;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.featured-hole-content h3{

    font-size:42px;

    color:#ffffff;

    margin:10px 0 0;

}

.featured-hole-content p{

    color:rgba(255,255,255,.82);

    line-height:1.8;

    margin-bottom:18px;

}

.featured-hole-content .hole-detail-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:20px;

    margin-bottom:24px;

}

.featured-hole-content .hole-detail-top span{

    color:rgba(255,255,255,.58);

    text-transform:uppercase;

    letter-spacing:.8px;

    font-size:13px;

}

.featured-hole-content .hole-detail-top strong{

    background:#ffffff;

    color:#284235;

    border-radius:999px;

    padding:9px 14px;

    font-size:13px;

    white-space:nowrap;

}

.featured-hole-content .hole-detail-meta{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    list-style:none;

    padding:0;

    margin:0 0 24px;

}

.featured-hole-content .hole-detail-meta li{

    background:rgba(255,255,255,.12);

    border-radius:999px;

    padding:8px 14px;

    font-size:13px;

    color:#ffffff;

}


.compact-hole-card{

    position:relative;

    min-height:360px;

    border-radius:28px;

    overflow:hidden;

    padding:0;

    background-size:cover;

    background-position:center;

    border:0;

}

.compact-hole-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        180deg,

        rgba(40,66,53,.45) 0%,

        rgba(40,66,53,.92) 100%

    );

}

.compact-hole-content{

    position:relative;

    z-index:2;

    height:100%;

    padding:28px;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

}

.compact-hole-top{

    display:flex;

    justify-content:space-between;

    gap:14px;

    align-items:center;

    margin-bottom:14px;

}

.compact-hole-top span{

    color:rgba(255,255,255,.7);

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:.8px;

}

.compact-hole-top strong{

    color:#284235;

    background:#ffffff;

    border-radius:999px;

    padding:7px 12px;

    font-size:12px;

    white-space:nowrap;

}

.compact-hole-card h3{

    color:#ffffff;

    font-size:28px;

    line-height:1.1;

    margin-bottom:14px;

}

.compact-hole-card .hole-detail-meta{

    display:flex;

    flex-wrap:wrap;

    gap:7px;

    list-style:none;

    padding:0;

    margin:0 0 14px;

}

.compact-hole-card .hole-detail-meta li{

    color:#ffffff;

    background:rgba(255,255,255,.14);

    border-radius:999px;

    padding:6px 10px;

    font-size:11px;

    line-height:1;

}

.compact-hole-card p{

    color:rgba(255,255,255,.82);

    font-size:14px;

    line-height:1.6;

    margin:0;

}

@media(max-width:991px){

    .hole-details-grid{

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

    }

}

@media(max-width:575px){

    .hole-details-grid{
        grid-template-columns:1fr;
    }

    .compact-hole-card{
        min-height:340px;
    }

}


.hole-details-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

@media(max-width:991px){

    .featured-hole-card{

        grid-template-columns:1fr;

    }

    .featured-hole-image{

        height:320px;

    }

    .featured-hole-content{

        padding:32px;

    }

    .featured-hole-content h3{

        font-size:34px;

    }

}

.featured-hole-card .hole-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(20,35,28,.18) 0%,
        rgba(20,35,28,.88) 100%
    );
}

.featured-hole-card .hole-detail-content{
    position:relative;
    z-index:2;
    max-width:700px;
}

.featured-hole-card .hole-detail-number{
    position:absolute;
    top:26px;
    right:30px;
    z-index:2;

    font-size:110px;
    font-weight:700;
    line-height:1;
    color:rgba(255,255,255,.10);
}

.featured-hole-card h3,
.featured-hole-card p,
.featured-hole-card .hole-detail-top span{
    color:#ffffff;
}

.featured-hole-card h3{
    font-size:42px;
    margin-bottom:18px;
}

.featured-hole-card p{
    opacity:.82;
    font-size:16px;
    line-height:1.8;
}

.featured-hole-card .hole-detail-top{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.featured-hole-card .hole-detail-top strong{
    background:#ffffff;
    color:#284235;
    border-radius:999px;
    padding:8px 14px;
    font-size:13px;
}

.featured-hole-card .hole-detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    list-style:none;
    padding:0;
    margin:0 0 20px;
}

.featured-hole-card .hole-detail-meta li{
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(8px);
    color:#ffffff;
    border-radius:999px;
    padding:8px 14px;
    font-size:13px;
}

@media(max-width:991px){
    .hole-details-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:575px){
    .hole-details-section{
        padding:70px 0;
    }

    .hole-details-grid{
        grid-template-columns:1fr;
    }

    .hole-detail-card{
        padding:24px;
    }
}

.hole-details-grid{
    max-width:1320px;
    margin:0 auto;
	margin-top: 90px;
	margin-bottom: 90px;
}

.hole-details-section{
    padding:120px 0 90px;
}

.hole-guide-section{
    background:#ffffff;
}

.hole-guide-box{
    background:#F3F1EB;
    border-radius:34px;
    padding:52px;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:42px;
    align-items:center;
}

.hole-guide-content p{
    max-width:620px;
}

.hole-guide-actions{
    display:grid;
    gap:14px;
}

.hole-guide-actions a{
    background:#ffffff;
    border:1px solid rgba(40,66,53,.10);
    border-radius:22px;
    padding:20px 22px;
    display:flex;
    align-items:center;
    gap:14px;
    color:#284235;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.hole-guide-actions a:hover{
    transform:translateY(-3px);
}

.hole-guide-actions i{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#284235;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

@media(max-width:991px){
    .hole-guide-box{
        grid-template-columns:1fr;
    }
}

@media(max-width:575px){
    .hole-guide-box{
        padding:30px;
    }
}

/* =========================================================
   HANDICAP
========================================================= */

.handicap-download-section{
    background:#F3F1EB;
    padding:90px 0;
}

.handicap-actions-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.handicap-action-card{
    background:#ffffff;
    border:1px solid rgba(40,66,53,.10);
    border-radius:28px;
    padding:34px;
    text-decoration:none;
    color:#284235;
    transition:.3s ease;
}

.handicap-action-card:hover{
    transform:translateY(-4px);
}

.handicap-action-card i{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#284235;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:24px;
}

.handicap-action-card span{
    display:block;
    color:#284235;
    opacity:.55;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:12px;
}

.handicap-action-card strong{
    display:block;
    color:#284235;
    font-size:24px;
    line-height:1.15;
}

@media(max-width:991px){
    .handicap-actions-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   HANDICAP NOTE MINIMAL
========================================================= */

.handicap-note-section{
    background:#ffffff;
    padding:90px 0;
}

.handicap-note-minimal{
    display:flex;
    gap:34px;
    align-items:flex-start;
}

.handicap-note-line{
    width:2px;
    min-height:160px;
    background:#284235;
    opacity:.18;
    border-radius:999px;
}

.handicap-note-content h2{
    max-width:900px;
    color:#284235;
    font-size:42px;
    line-height:1.2;
    margin:18px 0 28px;
}

.handicap-note-links{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
}

.handicap-note-links a{
    color:#284235;
    text-decoration:none;
    font-weight:700;
    position:relative;
}

.handicap-note-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:100%;
    height:1px;
    background:#284235;
    opacity:.3;
}

@media(max-width:991px){

    .handicap-note-content h2{
        font-size:32px;
    }

}

@media(max-width:575px){

    .handicap-note-minimal{
        gap:20px;
    }

    .handicap-note-content h2{
        font-size:26px;
    }

}

/* =========================================================
   HANDICAP CTA
========================================================= */

.handicap-cta-section{
    background:#ffffff;
    padding:0 0 90px;
}

.handicap-cta-box{
    background:#284235;
    border-radius:34px;
    overflow:hidden;
    display:grid;
    grid-template-columns:.8fr 1fr;
    max-width:1180px;
    margin:0 auto;
    align-items:stretch;
}

.handicap-cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    aspect-ratio:4/3;
}

.handicap-cta-content{
    padding:34px 46px 24px;
}

.handicap-cta-content h2{
    color:#ffffff;
    font-size:34px;
    line-height:1.1;
    margin:16px 0;
    max-width:460px;
}

.handicap-cta-content p{
    color:rgba(255,255,255,.78);
    max-width:460px;
    margin-bottom:14px;
    font-size:15px;
}

.handicap-cta-content .ht-btn{
    height:50px;
    padding:0 26px;
}

@media(max-width:991px){

    .handicap-cta-box{
        grid-template-columns:1fr;
    }

    .handicap-cta-image{
        height:240px;
    }

    .handicap-cta-content{
        padding:34px 28px;
    }

    .handicap-cta-content h2{
        font-size:32px;
    }

}

/* =========================================================
   REGLAS Y NORMAS
========================================================= */

.rules-section{
    background:#F3F1EB;
    padding:90px 0;
}

.rules-section .section-header-wide{
    margin-bottom:45px;
}

.rules-section .row{
    row-gap:24px;
}

.rules-section .campo-service-card{
    background:#ffffff;
    height:100%;
}


/* =========================================================
   DOCUMENTACIÓN
========================================================= */

.rules-doc-section{
    background:#ffffff;
    padding:70px 0;
}

.rules-doc-box{
    background:#ffffff;
    border-radius:34px;
    padding:48px;

    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:42px;
    align-items:center;
}

.rules-doc-content h2{
    margin:18px 0 16px;
}

.rules-doc-content p{
    max-width:560px;
}

.rules-doc-actions{
    display:grid;
    gap:16px;
}

.rules-doc-actions a{
    background:#F3F1EB;
    border-radius:24px;
    padding:22px 24px;

    display:flex;
    align-items:center;
    gap:18px;

    text-decoration:none;

    transition:.3s ease;
}

.rules-doc-actions a:hover{
    transform:translateY(-4px);
}

.rules-doc-icon{
    width:56px;
    height:56px;
    border-radius:50%;

    background:#284235;
    color:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;
}

.rules-doc-icon i{
    font-size:22px;
}

.rules-doc-actions strong{
    display:block;
    color:#284235;
    font-size:18px;
    margin-bottom:4px;
}

.rules-doc-actions small{
    color:#284235;
    opacity:.7;
}

.rules-doc-section + .campo-cta-section{
    padding-top:100px;
}

/* =========================================================
   TARIFAS
========================================================= */

.tarifas-section{
    background:#F3F1EB;
    padding:90px 0;
}

.tarifas-section .section-header-wide{
    margin-bottom:45px;
}

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

.tarifa-card{
    background:#ffffff;
    border-radius:28px;
    padding:30px;
    min-height:220px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.tarifa-card span{
    color:#284235;
    opacity:.58;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:700;
}

.tarifa-card h3{
    color:#284235;
    font-size:22px;
    line-height:1.2;
    margin:18px 0 24px;
}

.tarifa-card strong{
    color:#284235;
    font-size:46px;
    line-height:1;
}


/* NOTA TARIFAS */

.tarifas-note-section{
    background:#ffffff;
    padding:70px 0;
}

.tarifas-note-box{
    background:#ffffff;
    border-radius:34px;
    padding:48px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:42px;
    align-items:center;
}

.tarifas-note-box p{
    max-width:560px;
}

.tarifas-note-actions{
    display:grid;
    gap:16px;
}

.tarifas-note-actions a{
    background:#F3F1EB;
    border-radius:24px;
    padding:22px 24px;
    display:flex;
    align-items:center;
    gap:18px;
    color:#284235;
    text-decoration:none;
    font-weight:700;
    transition:.3s ease;
}

.tarifas-note-actions a:hover{
    transform:translateY(-4px);
}

.tarifas-note-actions i{
    width:56px;
    height:56px;
    border-radius:50%;
    background:#284235;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}

/* separa CTA solo en tarifas */
.tarifas-note-section + .campo-cta-section{
    padding-top:100px;
}


/* RESPONSIVE */

@media(max-width:1199px){
    .tarifas-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:991px){
    .tarifas-note-box{
        grid-template-columns:1fr;
    }
}

@media(max-width:575px){

    .tarifas-grid{
        grid-template-columns:1fr;
    }

    .tarifa-card,
    .tarifas-note-box{
        padding:30px;
    }
}

/*COOKIES*/

.legal-page-section{
    background:#F3F1EB;
    padding:90px 0;
}

.legal-content-box{
    background:#ffffff;
    border-radius:34px;
    padding:60px;
    max-width:980px;
    margin:0 auto;
}

.legal-content-box h2{
    color:#284235;
    margin:42px 0 16px;
}

.legal-content-box h2:first-child{
    margin-top:0;
}

.legal-content-box p{
    color:#284235;
    opacity:.78;
    line-height:1.9;
    margin-bottom:18px;
}

@media(max-width:575px){

    .legal-content-box{
        padding:34px 28px;
        border-radius:26px;
    }

}

.board-intro-text{
    max-width:500px;
    margin-left:-50px;
}

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

@media(max-width:991px){

    .academia-info-grid,
    .academia-pricing-grid,
    .championships-grid,
    .profesores-grid,
    .liga-rules-grid{
        grid-template-columns:1fr;
    }

    .restaurante-menu-section .restaurant-box,
    .liga-calendar-box{
        padding:38px;
    }

    .restaurante-menu-section .restaurant-image img{
        max-width:100%;
        height:260px;
        margin-left:0;
    }

    .academia-intro-image img,
    .liga-mus-intro-image img,
    .restaurante-intro-section .club-intro-image img{
        height:340px;
    }
}

@media(max-width:575px){

    .restaurante-intro-section,
    .restaurante-services-section,
    .restaurante-menu-section,
    .restaurante-cta-section,
    .activities-section,
    .academia-info-section,
    .academia-championships-section,
    .academia-adultos-section,
    .academia-profesores-section,
    .academia-installations-section,
    .academia-cta-section,
    .liga-mus-intro-section,
    .liga-mus-features-section,
    .liga-mus-calendar-section,
    .liga-mus-rules-section,
    .liga-mus-cta-section{
        padding:70px 0;
    }

    .activity-content,
    .academia-info-card,
    .championship-card,
    .academia-price-card,
    .profesor-content,
    .liga-rule-card{
        padding:24px;
    }

    .academia-intro-image img,
    .liga-mus-intro-image img,
    .restaurante-intro-section .club-intro-image img{
        height:280px;
    }

    .activity-image img,
    .profesor-image img{
        height:210px;
    }
}

/* =========================================================

   RESPONSIVE

========================================================= */

@media(max-width:991px){

    .rules-doc-box{

        grid-template-columns:1fr;

    }

}

@media(max-width:575px){

    .rules-doc-box{

        padding:30px;

    }

}