.elementor-2034 .elementor-element.elementor-element-5a088f4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-c075b73 *//* Costa Rica Backpackers — optimized to current live HTML — 2026-09-21 */
/* =========================================================
   COSTA RICA BACKPACKERS
   FINAL OPTIMIZED MASTER
========================================================= */:root{
    --crb-navy-950:#032E3A;
    --crb-navy-900:#063B4A;
    --crb-navy-800:#07566A;

    --crb-ocean-700:#007C91;
    --crb-ocean-600:#0096AE;
    --crb-ocean-500:#00A8C8;

    --crb-aqua:#39C7D8;
    --crb-sky:#A9E5F2;
    --crb-pale-blue:#EAF8FB;

    --crb-sand:#F3E6CF;
    --crb-cream:#FFF8EC;

    --crb-yellow:#FFC840;

    --crb-text:#17343C;
    --crb-muted:#687D82;

    --crb-border:rgba(6,59,74,.13);
    --crb-shadow:0 30px 80px rgba(3,46,58,.15);

    --crb-container:1240px;
}/* =========================================================
   RESET / GLOBAL
========================================================= */html{
    scroll-behavior:smooth;
}.crb-page, .crb-page *, .crb-page *::before, .crb-page *::after{
    box-sizing:border-box;
}.crb-page{
    margin:0;
    padding:0;

    color:var(--crb-text);
    background:var(--crb-cream);

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

    overflow:hidden;
}.crb-page img{
    display:block;

    max-width:100%;

    height:auto;
}.crb-page a{
    color:inherit;
    text-decoration:none;
}.crb-page h1, .crb-page h2, .crb-page h3, .crb-page p{
    margin-top:0;
}.crb-container{
    width:min(
        calc(100% - 48px),
        var(--crb-container)
    );

    margin-inline:auto;
}/* =========================================================
   TYPOGRAPHY
========================================================= */.crb-page h1, .crb-page h2{
    margin-bottom:28px;

    font-weight:800;

    letter-spacing:-.055em;

    line-height:.94;
}.crb-page h1{
    max-width:980px;

    color:#fff;

    font-size:clamp(4.3rem,8vw,8.5rem);

    line-height:.84;
}.crb-page h1 span{
    display:block;

    color:var(--crb-yellow);
}.crb-page h2{
    font-size:clamp(3.2rem,5.5vw,6.2rem);
}.crb-page h2 em{
    display:block;

    color:var(--crb-ocean-500);

    font-family:Georgia,"Times New Roman",serif;

    font-weight:400;

    letter-spacing:-.055em;
}.crb-page p{
    color:var(--crb-muted);

    font-size:1.05rem;

    line-height:1.8;
}.crb-lead{
    color:var(--crb-text)!important;

    font-size:clamp(1.15rem,2vw,1.4rem)!important;

    line-height:1.65!important;
}.crb-kicker{
    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-bottom:22px;

    color:var(--crb-ocean-700);

    font-size:.72rem;

    font-weight:900;

    letter-spacing:.18em;

    text-transform:uppercase;
}.crb-kicker::before{
    content:"";

    width:25px;
    height:2px;

    background:currentColor;
}.crb-kicker--light{
    color:var(--crb-yellow);
}.crb-kicker--aqua{
    color:var(--crb-aqua);
}.crb-small-title{
    display:block;

    margin-bottom:12px;

    color:var(--crb-ocean-600);

    font-size:.68rem;

    font-weight:900;

    letter-spacing:.15em;

    text-transform:uppercase;
}/* =========================================================
   BUTTONS
========================================================= */.crb-btn{
    display:inline-flex;

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

    min-height:56px;

    padding:0 30px;

    border-radius:999px;

    font-size:.76rem;

    font-weight:900;

    letter-spacing:.08em;

    text-transform:uppercase;

    transition:
        transform .25s ease,
        background-color .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}.crb-btn:hover{
    transform:translateY(-3px);
}.crb-btn--hero-book{
    color:var(--crb-navy-950)!important;

    background:var(--crb-yellow);

    box-shadow:0 15px 40px rgba(255,200,64,.28);
}.crb-btn--hero-book:hover{
    color:#fff!important;

    background:var(--crb-ocean-500);
}/* =========================================================
   HEADER
========================================================= */.crb-header{
    position:absolute;

    z-index:100;

    top:0;
    left:0;

    width:100%;

    border-bottom:1px solid rgba(255,255,255,.16);

    background:
        linear-gradient(
            180deg,
            rgba(3,46,58,.5),
            rgba(3,46,58,0)
        );
}.crb-header__inner{
    display:flex;

    align-items:center;
    justify-content:space-between;

    min-height:140px;

    gap:34px;
}.crb-brand{
    flex:0 0 auto;
}.crb-brand img{
    width:190px;

    max-height:125px;

    object-fit:contain;
}.crb-nav{
    display:flex;

    align-items:center;

    gap:38px;

    margin-left:auto;
}.crb-nav a{
    position:relative;

    padding:10px 0;

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

    font-size:.92rem;

    font-weight:800;
}.crb-nav a::after{
    content:"";

    position:absolute;

    right:0;
    bottom:1px;
    left:0;

    height:2px;

    background:var(--crb-yellow);

    transform:scaleX(0);

    transition:transform .25s ease;
}.crb-nav a:hover::after{
    transform:scaleX(1);
}.crb-btn--header{
    min-height:52px;

    padding:0 28px;

    color:var(--crb-navy-950)!important;

    background:var(--crb-yellow);

    font-size:.82rem;
}/* MOBILE MENU */.crb-menu-toggle{
    position:absolute;

    width:1px;
    height:1px;

    opacity:0;

    pointer-events:none;
}.crb-menu-button{
    display:none;

    flex-direction:column;
    justify-content:center;

    gap:5px;

    width:42px;
    height:42px;

    cursor:pointer;
}.crb-menu-button span{
    display:block;

    width:25px;
    height:2px;

    margin-inline:auto;

    background:#fff;
}/* =========================================================
   HERO
========================================================= */.crb-hero{
    position:relative;

    display:flex;

    align-items:center;

    min-height:0vh;

    padding:205px 0 120px;

    background:
        url("https://www.costaricabackpackers.com/wp-content/uploads/2026/09/asdasd-34.jpeg")
        center center / cover
        no-repeat;

    isolation:isolate;
}.crb-hero__overlay{
    position:absolute;

    z-index:-1;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(3,46,58,.94) 0%,
            rgba(3,59,74,.82) 36%,
            rgba(0,124,145,.45) 66%,
            rgba(3,46,58,.15) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3,46,58,.28),
            rgba(3,46,58,.08) 50%,
            rgba(3,46,58,.55)
        );
}.crb-hero__content{
    position:relative;

    z-index:2;
}.crb-hero .crb-kicker--light{
    color:var(--crb-yellow)!important;

    font-size:.8rem;

    letter-spacing:.17em;
}.crb-hero__headline{
    margin-bottom:22px;

    color:#fff!important;

    font-size:clamp(1.65rem,3vw,2.9rem)!important;

    font-weight:600;

    letter-spacing:-.04em;

    line-height:1.1!important;
}.crb-hero__headline em{
    color:var(--crb-aqua);

    font-family:Georgia,serif;

    font-weight:400;
}.crb-hero__text{
    max-width:620px;

    margin-bottom:35px;

    color:rgba(255,255,255,.84)!important;

    font-size:1.12rem!important;

    line-height:1.75!important;
}.crb-hero__buttons{
    display:flex;

    flex-wrap:wrap;

    gap:14px;
}.crb-scroll{
    position:absolute;

    right:38px;
    bottom:40px;

    display:flex;

    align-items:center;

    gap:13px;

    color:rgba(255,255,255,.65)!important;

    font-size:.65rem;

    font-weight:700;

    letter-spacing:.15em;

    text-transform:uppercase;

    transform:rotate(90deg);

    transform-origin:bottom right;
}.crb-scroll i{
    display:block;

    width:48px;
    height:1px;

    background:rgba(255,255,255,.45);
}/* =========================================================
   MARQUEE
========================================================= */.crb-marquee{
    padding:21px 0;

    background:var(--crb-yellow);

    overflow:hidden;
}.crb-marquee__track{
    display:flex;

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

    gap:28px;

    white-space:nowrap;
}.crb-marquee span{
    color:var(--crb-navy-950);

    font-size:.72rem;

    font-weight:900;

    letter-spacing:.18em;
}.crb-marquee i{
    color:var(--crb-ocean-700);

    font-style:normal;
}/* =========================================================
   GENERAL
========================================================= */.crb-section{
    padding:145px 0;
}.crb-heading{
    max-width:780px;

    margin-bottom:65px;
}.crb-heading--center{
    margin-inline:auto;

    text-align:center;
}.crb-heading--center p{
    max-width:640px;

    margin-inline:auto;
}.crb-heading--light h2{
    color:#fff;
}.crb-heading--light h2 em{
    color:var(--crb-aqua);
}.crb-heading--light p{
    color:rgba(255,255,255,.65);
}/* =========================================================
   INTRO
========================================================= */.crb-intro{
    background:var(--crb-cream);
}.crb-intro__grid{
    display:grid;

    grid-template-columns:1.02fr .98fr;

    align-items:center;

    gap:90px;
}.crb-intro__image{
    position:relative;
}.crb-intro__image img{
    width:100%;
    height:700px;

    object-fit:cover;

    border-radius:40px;

    box-shadow:var(--crb-shadow);
}.crb-image-tag{
    position:absolute;

    right:-25px;
    bottom:50px;

    display:flex;

    flex-direction:column;
    justify-content:center;

    width:170px;
    height:170px;

    color:#fff;

    background:var(--crb-ocean-700);

    border:8px solid var(--crb-cream);

    border-radius:50%;

    text-align:center;
}.crb-image-tag span{
    font-size:.72rem;

    letter-spacing:.13em;

    text-transform:uppercase;
}.crb-image-tag strong{
    color:var(--crb-yellow);

    font-size:2.7rem;
}.crb-intro__features{
    display:grid;

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

    gap:14px;

    margin-top:38px;
}.crb-feature-pill{
    display:flex;

    align-items:center;

    gap:15px;

    min-height:78px;

    padding:14px 18px;

    background:#fff;

    border:1px solid var(--crb-border);

    border-radius:18px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}.crb-feature-pill:hover{
    transform:translateY(-4px);

    box-shadow:
        0 18px 38px rgba(3,46,58,.08);
}.crb-feature-icon{
    display:flex;

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

    flex:0 0 46px;

    width:46px;
    height:46px;

    color:var(--crb-navy-950);

    background:var(--crb-yellow);

    border-radius:50%;
}.crb-feature-pill:nth-child(even)
.crb-feature-icon{
    color:#fff;

    background:var(--crb-ocean-600);
}.crb-feature-icon svg{
    width:23px;
    height:23px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;
}.crb-feature-pill strong{
    color:var(--crb-navy-950);

    font-size:.9rem;

    font-weight:800;
}/* =========================================================
   STATEMENT
========================================================= */.crb-statement{
    padding:95px 0;

    background:var(--crb-ocean-700);
}.crb-statement__small{
    display:block;

    margin-bottom:20px;

    color:var(--crb-yellow);

    font-size:.7rem;

    font-weight:900;

    letter-spacing:.2em;

    text-transform:uppercase;
}.crb-statement p{
    max-width:1060px;

    margin:0;

    color:#fff;

    font-size:clamp(3rem,6vw,6.5rem);

    font-weight:300;

    letter-spacing:-.055em;

    line-height:.95;
}.crb-statement strong{
    color:var(--crb-yellow);
}/* =========================================================
   STAY — TWO EQUAL IMAGE CARDS
========================================================= */

.crb-stay{
    background:#fff;
}

.crb-stay .crb-heading{
    max-width:780px;
    margin-bottom:55px;
}

.crb-stay .crb-heading h2 em{
    color:var(--crb-yellow);
}

.crb-stay .crb-heading p{
    max-width:650px;
    margin-inline:auto;
}


/* GRID */
.crb-stay__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}


/* VISUAL CARD */
.crb-stay-card--visual{
    position:relative;
    display:block;
    min-width:0;
    height:590px;
    border-radius:30px;
    overflow:hidden;
    isolation:isolate;
    background:var(--crb-navy-950);
    box-shadow:0 22px 58px rgba(3,46,58,.12);
    transform:translateZ(0);
}

.crb-stay-card--visual img{
    position:absolute;
    z-index:-3;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s ease;
}

.crb-stay-card--visual:hover img{
    transform:scale(1.045);
}


/* DARK GRADIENT OVER IMAGE */
.crb-stay-card__overlay{
    position:absolute;
    z-index:-2;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(3,46,58,.03) 18%,
            rgba(3,46,58,.18) 46%,
            rgba(3,46,58,.86) 100%
        );
    pointer-events:none;
}


/* COPY */
.crb-stay-card__content{
    position:absolute;
    z-index:2;
    right:0;
    bottom:0;
    left:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:42px;
}

.crb-stay-card__eyebrow{
    display:block;
    margin-bottom:10px;
    color:var(--crb-yellow);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.15em;
    line-height:1.3;
    text-transform:uppercase;
}

.crb-stay-card__title{
    display:block;
    max-width:95%;
    margin-bottom:10px;
    color:#fff;
    font-size:clamp(2.55rem,4vw,4.6rem);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:.9;
}

.crb-stay-card__subtitle{
    display:block;
    max-width:520px;
    color:rgba(255,255,255,.88);
    font-size:clamp(1rem,1.45vw,1.25rem);
    font-weight:500;
    line-height:1.45;
}




/* CHECK AVAILABILITY BUTTON */
.crb-stay-card__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    margin-top:22px;
    padding:0 22px;
    border-radius:999px;
    color:var(--crb-navy-950);
    background:var(--crb-yellow);
    box-shadow:0 12px 28px rgba(0,0,0,.16);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.035em;
    line-height:1;
    text-transform:uppercase;
    transition:
        transform .25s ease,
        background-color .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}

.crb-stay-card__button > span{
    font-size:1.05rem;
    line-height:1;
    transition:transform .25s ease;
}

.crb-stay-card--visual:hover .crb-stay-card__button{
    transform:translateY(-2px);
    color:#fff;
    background:var(--crb-ocean-500);
    box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.crb-stay-card--visual:hover .crb-stay-card__button > span{
    transform:translateX(3px);
}


/* HOVER */
.crb-stay-card--visual::after{
    content:"→";
    position:absolute;
    z-index:4;
    right:28px;
    top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    color:var(--crb-navy-950);
    background:var(--crb-yellow);
    border-radius:50%;
    font-size:1.15rem;
    font-weight:900;
    opacity:0;
    transform:translateY(8px);
    transition:
        opacity .25s ease,
        transform .25s ease,
        background-color .25s ease,
        color .25s ease;
}

.crb-stay-card--visual:hover::after{
    opacity:1;
    transform:translateY(0);
}


/* TABLET */
@media(max-width:1100px){

    .crb-stay-card--visual{
        height:500px;
    }

    .crb-stay-card__content{
        padding:34px;
    }

    .crb-stay-card__title{
        font-size:clamp(2.3rem,4.3vw,3.7rem);
    }

}


/* MOBILE */
@media(max-width:767px){

    .crb-stay-card__button{
        width:100%;
        min-height:54px;
        margin-top:20px;
        padding-inline:18px;
    }



    .crb-stay .crb-heading{
        margin-bottom:42px;
    }

    .crb-stay__grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .crb-stay-card--visual{
        height:480px;
        border-radius:26px;
    }

    .crb-stay-card__content{
        padding:28px 24px;
    }

    .crb-stay-card__eyebrow{
        margin-bottom:8px;
        font-size:.62rem;
    }

    .crb-stay-card__title{
        max-width:100%;
        margin-bottom:9px;
        font-size:clamp(2.35rem,11vw,3.4rem);
    }

    .crb-stay-card__subtitle{
        max-width:95%;
        font-size:1rem;
        line-height:1.45;
    }

    .crb-stay-card--visual::after{
        display:none;
    }

}


/* SMALL MOBILE */
@media(max-width:420px){

    .crb-stay-card--visual{
        height:440px;
    }

}

/* =========================================================
   FACILITIES
========================================================= */.crb-facilities{
    color:#fff;

    background:var(--crb-navy-950);
}.crb-facilities__grid{
    display:grid;

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

    gap:18px;
}.crb-facility-card{
    position:relative;

    min-height:470px;

    border-radius:26px;

    overflow:hidden;
}.crb-facility-card img{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .7s ease;
}.crb-facility-card:hover img{
    transform:scale(1.06);
}.crb-facility-card__overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(3,46,58,.02) 20%,
            rgba(3,46,58,.9) 100%
        );
}.crb-facility-card__content{
    position:absolute;

    z-index:2;

    right:0;
    bottom:0;
    left:0;

    padding:38px;
}.crb-facility-card h3{
    margin:0 0 8px;

    color:#fff;

    font-size:clamp(1.7rem,3vw,2.7rem);
}.crb-facility-card p{
    margin:0;

    color:rgba(255,255,255,.72);
}.crb-facility-mini{
    display:flex;

    flex-wrap:wrap;
    justify-content:center;

    gap:10px;

    margin-top:38px;
}.crb-facility-mini span{
    display:inline-flex;

    align-items:center;

    gap:9px;

    min-height:52px;

    padding:10px 17px;

    color:#fff;

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

    border:1px solid rgba(255,255,255,.14);

    border-radius:100px;

    font-size:.72rem;

    font-weight:800;
}.crb-facility-mini svg{
    width:19px;
    height:19px;

    fill:none;

    stroke:var(--crb-yellow);

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;
}/* =========================================================
   SOCIAL
========================================================= *//* =========================================================
   WORK
========================================================= *//* =========================================================
   GALLERY
========================================================= *//* =========================================================
   BAR
========================================================= *//* =========================================================
   TOUR DESK
========================================================= *//* =========================================================
   EXPERIENCE
========================================================= *//* =========================================================
   LIFESTYLE
========================================================= *//* =========================================================
   GROUPS
========================================================= *//* =========================================================
   LOCATION
========================================================= */.crb-location{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #007C91,
            #00889A 50%,
            #00768A
        );
}.crb-location__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(420px,.85fr);

    align-items:center;

    gap:85px;
}.crb-location h2{
    color:#fff;
}.crb-location h2 em{
    color:var(--crb-yellow);
}.crb-location .crb-lead{
    max-width:650px;

    margin-bottom:38px;

    color:rgba(3,46,58,.9)!important;
}.crb-location-contact{
    margin-top:35px;

    padding:34px;

    background:rgba(3,46,58,.23);

    border:1px solid rgba(255,255,255,.15);

    border-radius:28px;

    backdrop-filter:blur(10px);
}.crb-location-contact__eyebrow{
    display:block;

    margin-bottom:12px;

    color:var(--crb-yellow);

    font-size:.64rem;

    font-weight:900;

    letter-spacing:.18em;

    text-transform:uppercase;
}.crb-location-contact h3{
    margin:0 0 27px;

    color:#fff;

    font-size:clamp(2rem,3vw,3.2rem);

    font-weight:800;

    letter-spacing:-.05em;

    line-height:.98;
}.crb-location-contact h3 span{
    display:block;

    color:var(--crb-yellow);
}.crb-location-contact__items{
    display:grid;

    gap:10px;
}.crb-contact-row{
    display:grid;

    grid-template-columns:
        52px minmax(0,1fr) 30px;

    align-items:center;

    gap:14px;

    min-height:76px;

    padding:10px 15px;

    color:#fff!important;

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

    border:1px solid rgba(255,255,255,.1);

    border-radius:18px;
}.crb-contact-row__icon{
    display:flex;

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

    width:46px;
    height:46px;

    color:var(--crb-navy-950);

    background:var(--crb-yellow);

    border-radius:50%;
}.crb-contact-row--whatsapp
.crb-contact-row__icon{
    color:#fff;

    background:#25D366;
}.crb-contact-row__icon svg{
    width:21px;
    height:21px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;
}.crb-contact-row__copy small{
    display:block;

    margin-bottom:3px;

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

    font-size:.59rem;

    font-weight:900;

    text-transform:uppercase;
}.crb-contact-row__copy strong{
    display:block;

    color:#fff;

    font-size:.86rem;

    overflow-wrap:anywhere;
}.crb-contact-row__arrow{
    color:var(--crb-yellow);
}.crb-map-card{
    padding:13px;

    background:var(--crb-navy-950);

    border-radius:34px;

    box-shadow:
        0 40px 100px rgba(3,46,58,.32);

    overflow:hidden;
}.crb-map-card__top{
    padding:37px 32px 29px;
}.crb-map-card__top h3{
    margin:0 0 13px;

    color:#fff;

    font-size:clamp(2.35rem,4vw,4rem);

    font-weight:400;

    letter-spacing:-.06em;

    line-height:.95;
}.crb-map-card__top p{
    margin:0;

    color:rgba(255,255,255,.68);
}.crb-map-card__map{
    height:485px;

    border-radius:24px;

    overflow:hidden;
}.crb-map-card__map iframe{
    display:block;

    width:100%;
    height:100%;

    border:0;
}/* =========================================================
   WHY
========================================================= *//* =========================================================
   FAQ
========================================================= *//* =========================================================
   BOOKING
========================================================= */

/* =========================================================
   GALLERY — BEFORE FOOTER
========================================================= */

.crb-gallery{
    position:relative;
    background:var(--crb-cream);
    overflow:hidden;
}

.crb-gallery__heading{
    max-width:820px;
    margin-bottom:55px;
}

.crb-gallery__heading h2 em{
    color:var(--crb-ocean-600);
}

.crb-gallery__heading p{
    max-width:650px;
    margin-inline:auto;
}


/* Mosaic */
.crb-gallery__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:260px;
    gap:16px;
}

.crb-gallery__item{
    position:relative;
    display:block;
    min-width:0;
    border-radius:24px;
    overflow:hidden;
    background:var(--crb-navy-950);
    box-shadow:0 16px 42px rgba(3,46,58,.10);
    isolation:isolate;
}

.crb-gallery__item--large{
    grid-column:span 2;
    grid-row:span 2;
}

.crb-gallery__item--wide{
    grid-column:span 2;
}

.crb-gallery__item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:
        transform .65s ease,
        filter .35s ease;
}

.crb-gallery__item::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        180deg,
        rgba(3,46,58,0) 48%,
        rgba(3,46,58,.25) 100%
    );
    opacity:.7;
    transition:opacity .3s ease;
    pointer-events:none;
}

.crb-gallery__item:hover img{
    transform:scale(1.055);
}

.crb-gallery__item:hover::after{
    opacity:1;
}

.crb-gallery__zoom{
    position:absolute;
    z-index:3;
    right:18px;
    bottom:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    color:var(--crb-navy-950);
    background:var(--crb-yellow);
    box-shadow:0 10px 26px rgba(3,46,58,.18);
    font-size:1.7rem;
    font-weight:500;
    line-height:1;
    transform:translateY(8px);
    opacity:0;
    transition:
        transform .25s ease,
        opacity .25s ease;
}

.crb-gallery__item:hover .crb-gallery__zoom{
    transform:translateY(0);
    opacity:1;
}


/* Tablet */
@media(max-width:1100px){

    .crb-gallery__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:240px;
    }

    .crb-gallery__item--large{
        grid-column:span 2;
        grid-row:span 2;
    }

    .crb-gallery__item--wide{
        grid-column:span 2;
    }

}


/* Mobile */
@media(max-width:767px){

    .crb-gallery__heading{
        margin-bottom:42px;
    }

    .crb-gallery__grid{
        grid-template-columns:1fr;
        grid-auto-rows:auto;
        gap:14px;
    }

    .crb-gallery__item,
    .crb-gallery__item--large,
    .crb-gallery__item--wide{
        grid-column:auto;
        grid-row:auto;
        height:310px;
        border-radius:22px;
    }

    .crb-gallery__zoom{
        right:14px;
        bottom:14px;
        width:42px;
        height:42px;
        opacity:1;
        transform:none;
        font-size:1.5rem;
    }

}


/* Small phones */
@media(max-width:420px){

    .crb-gallery__item,
    .crb-gallery__item--large,
    .crb-gallery__item--wide{
        height:270px;
    }

}

/* =========================================================
   FOOTER
========================================================= */.crb-footer{
    padding:80px 0 28px;

    color:#fff;

    background:#021F27;
}.crb-footer__top{
    display:grid;

    grid-template-columns:
        1.7fr 1fr 1fr 1.4fr;

    gap:55px;
}.crb-footer__brand img{
    width:105px;

    max-height:130px;

    margin-bottom:22px;

    object-fit:contain;
}.crb-footer__brand p{
    max-width:320px;

    margin-bottom:18px;

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

    font-size:.86rem;

    line-height:1.7;
}.crb-footer__address{
    margin-bottom:24px;

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

    font-size:.78rem;

    line-height:1.7;
}.crb-footer h3{
    margin:0 0 23px;

    color:var(--crb-yellow);

    font-size:.68rem;

    font-weight:900;

    letter-spacing:.16em;

    text-transform:uppercase;
}.crb-footer__column a{
    display:block;

    margin-bottom:11px;

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

    font-size:.83rem;
}.crb-footer__column a:hover{
    color:var(--crb-yellow);
}.crb-footer__contact > span{
    display:block;

    margin:17px 0 3px;

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

    font-size:.56rem;

    font-weight:900;

    letter-spacing:.14em;

    text-transform:uppercase;
}.crb-footer__email{
    overflow-wrap:anywhere;
}.crb-footer-social{
    display:flex;

    flex-wrap:wrap;

    gap:9px;
}.crb-footer-social a{
    display:flex;

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

    width:42px;
    height:42px;

    color:#fff!important;

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

    border:1px solid rgba(255,255,255,.1);

    border-radius:50%;
}.crb-footer-social a:hover{
    color:var(--crb-navy-950)!important;

    background:var(--crb-yellow);
}.crb-footer-social__whatsapp{
    background:#25D366!important;
}.crb-footer-social svg{
    width:18px;
    height:18px;

    fill:none;

    stroke:currentColor;

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;
}.crb-footer-social .crb-svg-fill{
    fill:currentColor;

    stroke:none;
}.crb-footer__bottom{
    display:grid;

    grid-template-columns:1fr auto auto;

    align-items:center;

    gap:30px;

    margin-top:65px;

    padding-top:26px;

    border-top:1px solid rgba(255,255,255,.08);

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

    font-size:.65rem;
}.crb-footer__bottom-whatsapp{
    color:var(--crb-yellow)!important;

    font-weight:900;

    text-transform:uppercase;
}/* =========================================================
   TABLET
========================================================= */@media(max-width:1100px) {.crb-brand img{
        width:155px;
    }.crb-nav{
        gap:21px;
    }.crb-nav a{
        font-size:.8rem;
    }.crb-intro__grid{
        gap:55px;
    }.crb-location__grid{
        gap:45px;
    }.crb-footer__top{
        grid-template-columns:repeat(2,1fr);
    }}/* =========================================================
   TABLET / MOBILE NAV
========================================================= */@media(max-width:900px) {.crb-header__inner{
        min-height:105px;
    }.crb-brand img{
        width:135px;
    }.crb-menu-button{
        display:flex;

        margin-left:auto;
    }.crb-nav{
        position:absolute;

        top:105px;
        right:20px;
        left:20px;

        display:none;

        flex-direction:column;

        align-items:stretch;

        gap:0;

        padding:20px;

        margin:0;

        background:rgba(3,46,58,.98);

        border-radius:18px;
    }.crb-nav a{
        padding:14px;

        font-size:.92rem;

        border-bottom:
            1px solid rgba(255,255,255,.08);
    }.crb-menu-toggle:checked ~ .crb-nav{
        display:flex;
    }.crb-btn--header{
        display:none;
    }.crb-location__grid{
        grid-template-columns:1fr;
    }}/* =========================================================
   MOBILE
========================================================= */@media(max-width:767px) {.crb-container{
        width:min(
            calc(100% - 30px),
            var(--crb-container)
        );
    }.crb-page h1{
        font-size:clamp(3.4rem,15vw,5.2rem);
    }.crb-page h2{
        font-size:clamp(2.8rem,12vw,4.5rem);
    }.crb-section{
        padding:90px 0;
    }/* HERO */.crb-hero{
        min-height:900px;

        padding:140px 0 90px;
    }.crb-hero__buttons{
        flex-direction:column;
    }.crb-hero__buttons .crb-btn{
        width:100%;
    }.crb-scroll{
        display:none;
    }/* INTRO */.crb-intro__grid{
        grid-template-columns:1fr;
    }.crb-intro__image img{
        height:480px;
    }.crb-intro__features{
        grid-template-columns:1fr;
    }/* FACILITIES */.crb-facilities__grid{
        grid-template-columns:1fr;
    }.crb-facility-mini{
        justify-content:flex-start;
    }/* SOCIAL *//* WORK *//* GALLERY *//* TOUR *//* EXPERIENCES *//* LIFESTYLE *//* GROUPS *//* LOCATION */.crb-location-contact{
        padding:24px 18px;
    }.crb-map-card__map{
        height:360px;
    }/* WHY *//* FAQ *//* FOOTER */.crb-footer__top{
        grid-template-columns:1fr;

        gap:40px;
    }.crb-footer__brand img{
        width:90px;
    }.crb-footer__bottom{
        grid-template-columns:1fr;

        gap:10px;
    }}/* =========================================================
   SMALL MOBILE
========================================================= */@media(max-width:480px) {.crb-brand img{
        width:125px;
    }.crb-map-card__map{
        height:320px;
    }}/* =========================================================
   DIVI FIXES
========================================================= */.crb-page a:hover{
    text-decoration:none;
}/* =========================================================
   2026-09 BOSS UPDATE — PAINT EDITION, POLISHED 😎
   Hero / Experience / Guest Kitchen / Coworking / Facilities
========================================================= */.crb-image-tag--experience{
    right:18px;
    bottom:28px;
    width:195px;
    height:auto;
    min-height:112px;
    padding:20px 19px;
    border-radius:24px;
    background:var(--crb-ocean-700);
    border:5px solid var(--crb-cream);
    text-align:left;
}.crb-image-tag--experience strong{
    display:block;
    color:#fff;
    font-size:.86rem;
    line-height:1.15;
    letter-spacing:.05em;
}.crb-image-tag--experience span{
    display:block;
    margin-top:6px;
    color:var(--crb-yellow);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.42rem;
    font-weight:400;
    letter-spacing:-.04em;
    text-transform:none;
}.crb-card-kicker{
    display:block;
    margin-bottom:10px;
    color:var(--crb-yellow);
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}.crb-facilities__grid--boss .crb-facility-card{ min-height:520px; }.crb-facilities__grid--boss .crb-facility-card:nth-child(2), .crb-facilities__grid--boss .crb-facility-card:nth-child(3){ min-height:580px; }/* =========================================================
   GUEST KITCHEN — FIXED
========================================================= */@media (max-width:1024px) {.crb-image-tag--experience{ right:18px; bottom:18px; }}@media (max-width:767px) {.crb-image-tag--experience{
        right:12px; bottom:12px; width:178px; min-height:98px;
        padding:16px; border-width:4px; border-radius:21px;
    }.crb-image-tag--experience strong{ font-size:.75rem; }.crb-image-tag--experience span{ font-size:1.22rem; }.crb-facilities__grid--boss .crb-facility-card, .crb-facilities__grid--boss .crb-facility-card:nth-child(2), .crb-facilities__grid--boss .crb-facility-card:nth-child(3){ min-height:430px; }}@media (max-width:420px) {}/* =========================================================
   CRB — WHY CARDS / INTERACTIVE MOUSE TILT
   Kept last intentionally so the final component wins the cascade.
========================================================= */@media (hover:none), (pointer:coarse) {}@media (prefers-reduced-motion:reduce) {}/* MEET · CONNECT · RELAX — CÍRCULO */.crb-image-tag--experience{
    right:-18px !important;
    bottom:38px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    width:170px !important;
    height:170px !important;
    min-height:170px !important;

    padding:22px !important;

    background:var(--crb-ocean-700) !important;

    border:6px solid var(--crb-cream) !important;
    border-radius:50% !important;

    text-align:center !important;

    box-shadow:0 18px 38px rgba(3,46,58,.18);
}.crb-image-tag--experience strong{
    display:block !important;

    color:#fff !important;

    font-size:.76rem !important;
    line-height:1.25 !important;
    letter-spacing:.06em !important;
}.crb-image-tag--experience span{
    display:block !important;

    margin-top:7px !important;

    color:var(--crb-yellow) !important;

    font-family:Georgia, "Times New Roman", serif !important;
    font-size:1.3rem !important;
    line-height:1.05 !important;
    letter-spacing:-.025em !important;
}/* TABLET */@media (max-width:1024px) {.crb-image-tag--experience{
        right:18px !important;
        bottom:20px !important;
    }}/* CELULAR */@media (max-width:767px) {.crb-image-tag--experience{
        right:12px !important;
        bottom:12px !important;

        width:140px !important;
        height:140px !important;
        min-height:140px !important;

        padding:17px !important;

        border-width:4px !important;
    }.crb-image-tag--experience strong{
        font-size:.65rem !important;
    }.crb-image-tag--experience span{
        font-size:1.05rem !important;
    }}/* =========================================================
   HEADER ACTIONS — LANGUAGE + BOOK NOW
========================================================= */.crb-header__actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 0 auto;
}.crb-language-switcher{
    display:flex;
    align-items:center;
    justify-content:center;
}.crb-language-switcher select{
    min-height:44px;
    padding:0 34px 0 16px;

    color:#fff;
    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;

    font-size:.78rem;
    font-weight:800;

    cursor:pointer;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}.crb-language-switcher select:focus{
    outline:none;
    border-color:var(--crb-yellow);
}.crb-language-switcher select option{
    color:var(--crb-navy-950);
    background:#fff;
}/* =========================================================
   EXPERIENCE BADGE — TYPOGRAPHY FIX
========================================================= */.crb-image-tag--experience{
    gap:0px;
}.crb-image-tag--experience strong, .crb-image-tag--experience span{
    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif !important;
    text-transform:uppercase;
}.crb-image-tag--experience strong{
    color:#fff !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    line-height:1.1;
    letter-spacing:.10em !important;
}.crb-image-tag--experience span{
    color:var(--crb-yellow) !important;
    font-size:1.35rem !important;
    font-weight:800 !important;
    line-height:1;
    letter-spacing:-.03em !important;
}/* =========================================================
   HERO — BOSS CTA UPDATE
   Book Now + WhatsApp + Group Leader
========================================================= */.crb-btn--hero-whatsapp, .crb-btn--hero-groups{
    color:#fff!important;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}.crb-btn--hero-whatsapp:hover{
    color:#fff!important;
    border-color:#25D366;
    background:#25D366;
    box-shadow:0 15px 38px rgba(37,211,102,.25);
}.crb-btn--hero-groups:hover{
    color:var(--crb-navy-950)!important;
    border-color:var(--crb-aqua);
    background:var(--crb-aqua);
    box-shadow:0 15px 38px rgba(57,199,216,.24);
}/* Mobile layout requested by management:
   Book Now full width, WhatsApp + Groups side by side below. */@media (max-width:767px) {.crb-hero__buttons{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        gap:10px;
    }.crb-hero__buttons .crb-btn--hero-book{
        grid-column:1 / -1;
        width:100%;
        min-height:60px;
        font-size:.82rem;
    }.crb-hero__buttons .crb-btn--hero-whatsapp, .crb-hero__buttons .crb-btn--hero-groups{
        width:100%;
        min-width:0;
        min-height:58px;
        padding:0 12px;
        font-size:.64rem;
        line-height:1.25;
        letter-spacing:.045em;
        text-align:center;
        white-space:normal;
    }}@media (max-width:390px) {.crb-hero__buttons .crb-btn--hero-whatsapp, .crb-hero__buttons .crb-btn--hero-groups{
        padding:0 8px;
        font-size:.59rem;
        letter-spacing:.025em;
    }}/* =========================================================
   HERO MOBILE — FIX ESPACIO INFERIOR
========================================================= */@media (max-width: 767px) {.crb-hero{
        min-height: auto !important;
        height: auto !important;

        /* Conserva el espacio superior actual del hero */
        padding-bottom: 50px !important;
    }.crb-hero__content{
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }.crb-hero__buttons{
        margin-bottom: 0 !important;
    }}
    /* =========================================================
   PRIVATE ROOMS — SEPARACIÓN DEL BOTÓN
========================================================= */

.crb-stay-card--private .crb-btn--stay {
    margin-top: 24px !important;
}

/* =========================================================
   GALLERY LIGHTBOX — ROBUST JS VERSION
   Added after all page styles so Elementor cannot clip it.
========================================================= */

html.crb-lightbox-open,
body.crb-lightbox-open{
    overflow:hidden !important;
}

.crb-js-lightbox{
    position:fixed !important;
    z-index:2147483647 !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100vw !important;
    height:100dvh !important;
    padding:24px !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
}

.crb-js-lightbox.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
}

.crb-js-lightbox__backdrop{
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(2,25,32,.94) !important;
    cursor:zoom-out;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}

.crb-js-lightbox__dialog{
    position:relative !important;
    z-index:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(94vw,1500px) !important;
    height:min(92dvh,1000px) !important;
    margin:auto !important;
    padding:0 !important;
    overflow:visible !important;
    background:transparent !important;
}

.crb-js-lightbox__image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:90dvh !important;
    object-fit:contain !important;
    border-radius:18px !important;
    box-shadow:0 30px 100px rgba(0,0,0,.48) !important;
}

.crb-js-lightbox__close{
    position:fixed !important;
    z-index:4 !important;
    top:22px !important;
    right:22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:52px !important;
    height:52px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:50% !important;
    color:var(--crb-navy-950) !important;
    background:var(--crb-yellow) !important;
    box-shadow:0 12px 32px rgba(0,0,0,.3) !important;
    font-family:Arial,sans-serif !important;
    font-size:2rem !important;
    font-weight:400 !important;
    line-height:1 !important;
    cursor:pointer !important;
    transition:transform .2s ease, background-color .2s ease, color .2s ease;
}

.crb-js-lightbox__close:hover{
    color:#fff !important;
    background:var(--crb-ocean-500) !important;
    transform:scale(1.06);
}

@media(max-width:767px){
    .crb-js-lightbox{
        padding:12px !important;
    }

    .crb-js-lightbox__dialog{
        width:100% !important;
        height:94dvh !important;
    }

    .crb-js-lightbox__image{
        max-width:100% !important;
        max-height:88dvh !important;
        border-radius:12px !important;
    }

    .crb-js-lightbox__close{
        top:14px !important;
        right:14px !important;
        width:48px !important;
        height:48px !important;
    }
}


/* =========================================================
   LOCATION CONTACT — GET DIRECTIONS
========================================================= */
.crb-contact-row--directions .crb-contact-row__icon{
    color:var(--crb-navy-950);
    background:var(--crb-yellow);
}

.crb-contact-row--directions .crb-contact-row__icon svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}/* End custom CSS */