/*
Theme Name: Enetiko Rooms Theme
Theme URI: https://enetikorooms.com/
Author: OpenAI
Description: An original, editable resort and apartment WordPress theme inspired by premium hospitality layouts.
Version: 1.0.9
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: coastal-haven
*/
:root{--ch-navy:#172f35;--ch-ink:#263537;--ch-muted:#667477;--ch-sand:#f4f0e8;--ch-cream:#fbfaf7;--ch-teal:#789a94;--ch-gold:#bd9a65;--ch-line:#e7e2d9;--ch-width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ch-ink);background:#fff;font:16px/1.7 "Helvetica Neue",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--ch-teal)}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}.ch-container{width:min(var(--ch-width),calc(100% - 44px));margin-inline:auto}.ch-topbar{background:var(--ch-navy);color:#fff;font-size:12px;letter-spacing:.08em;padding:7px 0}.ch-topbar .ch-container{display:flex;justify-content:space-between;gap:20px}.ch-header{position:relative;background:#fff;z-index:5;border-bottom:1px solid var(--ch-line)}.ch-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.ch-brand{font-family:Georgia,serif;font-size:29px;letter-spacing:.02em;color:var(--ch-navy);line-height:1.15}.ch-brand small{display:block;font:10px/1.8 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--ch-muted)}.ch-logo{max-height:58px;width:auto}.ch-nav ul{display:flex;align-items:center;gap:27px;list-style:none;margin:0;padding:0}.ch-nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.ch-nav .current-menu-item>a{color:var(--ch-teal)}.ch-nav-toggle{display:none;background:transparent;border:1px solid var(--ch-line);padding:8px 12px}.ch-button,.wp-block-button__link{display:inline-block;background:var(--ch-navy);color:#fff!important;border:1px solid var(--ch-navy);padding:13px 23px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:.2s}.ch-button:hover,.wp-block-button__link:hover{background:var(--ch-teal);border-color:var(--ch-teal);color:#fff}.ch-button-light{background:transparent;border-color:#fff}.ch-hero{position:relative;min-height:580px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(13,34,37,.64),rgba(13,34,37,.12)),var(--ch-hero-image,linear-gradient(135deg,#8da9a2,#d9c9ad));background-size:cover;background-position:center}.ch-hero-content{padding:100px 0;max-width:720px}.ch-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--ch-gold);font-weight:700}.ch-hero h1{font:clamp(42px,6vw,76px)/1.05 Georgia,serif;font-weight:400;margin:18px 0 22px;max-width:780px}.ch-hero p{font-size:18px;max-width:570px;margin:0 0 30px;color:rgba(255,255,255,.92)}.ch-booking-strip{background:var(--ch-sand);padding:24px 0}.ch-booking-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.ch-booking-inner strong{font:25px Georgia,serif}.ch-booking-inner p{margin:3px 0 0;color:var(--ch-muted);font-size:14px}.ch-section{padding:88px 0}.ch-section-sand{background:var(--ch-cream)}.ch-section-head{text-align:center;max-width:740px;margin:0 auto 42px}.ch-section-head h2,.ch-page-title h1{font:clamp(34px,4vw,48px)/1.15 Georgia,serif;font-weight:400;color:var(--ch-navy);margin:10px 0 16px}.ch-section-head p{color:var(--ch-muted);margin:0}.ch-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.ch-intro-image img{width:100%;height:440px;object-fit:cover}.ch-intro-copy h2{font:42px/1.15 Georgia,serif;font-weight:400;color:var(--ch-navy);margin:12px 0 20px}.ch-intro-copy p{color:var(--ch-muted)}.ch-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.ch-card{background:#fff;border:1px solid var(--ch-line);overflow:hidden}.ch-card-image{height:245px;background:var(--ch-sand);overflow:hidden}.ch-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.ch-card:hover .ch-card-image img{transform:scale(1.04)}.ch-card-body{padding:24px}.ch-card h3{font:27px/1.2 Georgia,serif;font-weight:400;color:var(--ch-navy);margin:0 0 10px}.ch-meta{font-size:12px;color:var(--ch-muted);letter-spacing:.04em;margin-bottom:14px}.ch-card p{color:var(--ch-muted);font-size:14px}.ch-card .ch-button{margin-top:8px}.ch-facilities{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ch-line);border:1px solid var(--ch-line)}.ch-facility{background:#fff;text-align:center;padding:30px 18px}.ch-facility-icon{font-size:28px;color:var(--ch-teal)}.ch-facility h3{font:20px Georgia,serif;font-weight:400;margin:9px 0}.ch-facility p{font-size:13px;color:var(--ch-muted);margin:0}.ch-feature-band{display:grid;grid-template-columns:1fr 1fr;min-height:400px;background:var(--ch-navy);color:#fff}.ch-feature-image{min-height:400px;background-size:cover;background-position:center}.ch-feature-copy{padding:65px clamp(30px,6vw,90px);align-self:center}.ch-feature-copy h2{font:40px/1.15 Georgia,serif;font-weight:400;margin:12px 0 20px}.ch-feature-copy p{color:#d8e0dd}.ch-quote{font:26px/1.45 Georgia,serif;color:var(--ch-navy);max-width:850px;margin:0 auto;text-align:center}.ch-quote-by{text-align:center;color:var(--ch-muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:22px}.ch-page-title{background:var(--ch-sand);padding:72px 0;text-align:center}.ch-page-title p{max-width:700px;margin:0 auto;color:var(--ch-muted)}.ch-content{padding:65px 0 90px}.ch-content-inner{max-width:900px;margin:auto}.ch-content-inner h2,.ch-content-inner h3{font-family:Georgia,serif;font-weight:400;color:var(--ch-navy)}.ch-content-inner img{margin:24px 0}.ch-content-inner .wp-block-columns{gap:30px}.ch-apartment-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:420px;background:var(--ch-cream)}.ch-apartment-hero-image img{width:100%;height:100%;min-height:420px;object-fit:cover}.ch-apartment-hero-copy{padding:55px;align-self:center}.ch-apartment-hero-copy h1{font:clamp(36px,4vw,52px)/1.1 Georgia,serif;font-weight:400;color:var(--ch-navy);margin:10px 0 15px}.ch-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.ch-detail{border:1px solid var(--ch-line);padding:20px;text-align:center}.ch-detail strong{display:block;font:26px Georgia,serif;color:var(--ch-navy)}.ch-detail span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ch-muted)}.ch-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ch-gallery img{width:100%;height:220px;object-fit:cover}.ch-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.ch-form input,.ch-form textarea{width:100%;border:1px solid var(--ch-line);padding:13px;margin:0 0 14px;background:#fff}.ch-footer{background:#14292e;color:#dce5e2;padding:60px 0 22px}.ch-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.ch-footer h3{font:24px Georgia,serif;font-weight:400;color:#fff}.ch-footer p,.ch-footer a{font-size:14px;color:#c3cfcc}.ch-footer-bottom{border-top:1px solid #3a4d50;margin-top:40px;padding-top:20px;font-size:12px;color:#9fadaa}.ch-footer ul{list-style:none;margin:0;padding:0}.ch-footer li{margin:7px 0}.ch-pagination{margin-top:35px}.ch-pagination .page-numbers{padding:8px 12px;border:1px solid var(--ch-line);margin-right:5px}.ch-notice{padding:15px;background:#f7eee0;color:#654e2d}.alignwide{max-width:var(--ch-width);margin-left:auto;margin-right:auto}.alignfull{max-width:none}.wp-block-image img{height:auto}.wp-block-gallery{margin:25px 0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.ch-nav-toggle{display:block}.ch-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ch-line);padding:20px 22px}.ch-nav.is-open{display:block}.ch-nav ul{display:flex;align-items:stretch;flex-direction:column;gap:14px}.ch-header-inner{min-height:75px}.ch-cards{grid-template-columns:repeat(2,1fr)}.ch-facilities{grid-template-columns:repeat(2,1fr)}.ch-intro-grid,.ch-apartment-hero{grid-template-columns:1fr}.ch-apartment-hero-copy{padding:35px}.ch-feature-band{grid-template-columns:1fr}.ch-feature-image{min-height:300px}.ch-footer-grid{grid-template-columns:1fr 1fr}.ch-section{padding:65px 0}.ch-hero{min-height:500px}}
@media(max-width:600px){.ch-container{width:calc(100% - 30px)}.ch-topbar .ch-container{font-size:10px}.ch-brand{font-size:24px}.ch-hero{min-height:460px}.ch-hero-content{padding:70px 0}.ch-hero p{font-size:16px}.ch-booking-inner{align-items:flex-start;flex-direction:column}.ch-cards{grid-template-columns:1fr}.ch-card-image{height:230px}.ch-facilities{grid-template-columns:1fr 1fr}.ch-intro-image img{height:300px}.ch-footer-grid,.ch-contact-grid{grid-template-columns:1fr;gap:25px}.ch-detail-grid{grid-template-columns:1fr}.ch-gallery{grid-template-columns:1fr 1fr}.ch-gallery img{height:150px}.ch-section{padding:52px 0}.ch-page-title{padding:50px 0}.ch-feature-copy{padding:40px 25px}}

/* Header alignment: keep the brand/logo firmly at the left edge of the content area. */
.ch-header-inner{justify-content:flex-start}
.ch-brand{display:block;flex:0 0 auto;margin:0 auto 0 0;text-align:left}
.ch-brand .custom-logo-link{display:block;margin:0;text-align:left}
.ch-brand .custom-logo{display:block;margin:0;max-height:58px;width:auto}
.ch-nav{margin-left:auto}


/* v1.0.4: compact homepage apartment cards, clear apartment facts, sticky header */
.ch-header{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 2px 10px rgba(20,41,46,.07)}
body.admin-bar .ch-header{top:32px}
.ch-topbar{position:relative;z-index:1000}
.ch-section-sand .ch-cards{align-items:stretch;gap:24px}
.ch-section-sand .ch-apartment-card{display:flex;flex-direction:column;min-width:0;height:100%;background:#fff;border:1px solid var(--ch-line);box-shadow:0 5px 20px rgba(23,47,53,.045)}
.ch-section-sand .ch-apartment-card .ch-card-image{display:block;height:210px;min-height:0;flex:0 0 210px;overflow:hidden;background:#eee}
.ch-section-sand .ch-apartment-card .ch-card-image img{display:block;width:100%;height:100%;max-height:210px;object-fit:cover}
.ch-section-sand .ch-apartment-card .ch-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 22px 23px}
.ch-apartment-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 0 10px;color:var(--ch-teal)}
.ch-apartment-icon svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ch-section-sand .ch-apartment-card h3{font-size:23px;line-height:1.25;margin:0 0 12px}
.ch-apartment-facts{display:flex;flex-wrap:wrap;gap:9px 16px;margin:0 0 8px;color:var(--ch-muted);font-size:13px;line-height:1.5}
.ch-apartment-fact{display:inline-flex;align-items:center;gap:6px}
.ch-apartment-fact svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:var(--ch-teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ch-section-sand .ch-apartment-card p{font-size:14px;line-height:1.6;margin:5px 0 12px}
.ch-section-sand .ch-apartment-card .ch-button{margin-top:auto;padding:10px 16px;font-size:10px}
@media(max-width:900px){.ch-section-sand .ch-apartment-card .ch-card-image{height:190px;flex-basis:190px}.ch-section-sand .ch-apartment-card .ch-card-image img{max-height:190px}}
@media(max-width:600px){body.admin-bar .ch-header{top:46px}.ch-section-sand .ch-apartment-card .ch-card-image{height:210px;flex-basis:210px}.ch-section-sand .ch-apartment-card .ch-card-image img{max-height:210px}}


/* Apartment archive: same card presentation as the homepage, two apartments per row. */
.ch-apartment-archive .ch-apartment-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:28px}
.ch-apartment-archive .ch-apartment-card{display:flex;flex-direction:column;min-width:0;height:100%;background:#fff;border:1px solid var(--ch-line);box-shadow:0 5px 20px rgba(23,47,53,.045)}
.ch-apartment-archive .ch-apartment-card .ch-card-image{display:block;height:250px;min-height:0;flex:0 0 250px;overflow:hidden;background:#eee}
.ch-apartment-archive .ch-apartment-card .ch-card-image img{display:block;width:100%;height:100%;max-height:250px;object-fit:cover}
.ch-apartment-archive .ch-apartment-card .ch-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px 24px 25px}
.ch-apartment-archive .ch-apartment-icon{width:25px;height:25px;color:var(--ch-teal);margin-bottom:10px}
.ch-apartment-archive .ch-apartment-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ch-apartment-archive .ch-apartment-card h3{font-size:25px;line-height:1.25;margin:0 0 12px}
.ch-apartment-archive .ch-apartment-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px;color:var(--ch-muted);font-size:12px}
.ch-apartment-archive .ch-apartment-fact{display:inline-flex;align-items:center;gap:6px}
.ch-apartment-archive .ch-apartment-fact svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.ch-apartment-archive .ch-apartment-card p{font-size:14px;line-height:1.65;margin:5px 0 14px;color:var(--ch-muted)}
.ch-apartment-archive .ch-apartment-card .ch-button{margin-top:auto;padding:11px 17px;font-size:10px}
@media(max-width:900px){.ch-apartment-archive .ch-apartment-list{gap:20px}.ch-apartment-archive .ch-apartment-card .ch-card-image{height:210px;flex-basis:210px}.ch-apartment-archive .ch-apartment-card .ch-card-image img{max-height:210px}}
@media(max-width:600px){.ch-apartment-archive .ch-apartment-list{grid-template-columns:1fr;gap:22px}.ch-apartment-archive .ch-apartment-card .ch-card-image{height:230px;flex-basis:230px}.ch-apartment-archive .ch-apartment-card .ch-card-image img{max-height:230px}.ch-apartment-archive .ch-apartment-card .ch-card-body{padding:20px}}

/* v1.0.8: four-column footer widgets */
.ch-footer-grid{grid-template-columns:1.25fr 1.15fr .8fr 1fr;gap:38px;align-items:start}
.ch-footer-column{min-width:0}.ch-footer-column h3{margin:0 0 18px}
.ch-footer-registration{list-style:none;margin:14px 0 0;padding:0}
.ch-footer-registration li{font-size:12px;line-height:1.65;color:#aebdb9;margin:4px 0}
.ch-footer-legal-name{font-weight:600;color:#fff!important}
.ch-footer-map-frame{width:100%;height:185px;overflow:hidden;background:#263e42;border:1px solid rgba(255,255,255,.14)}
.ch-footer-map-frame iframe{display:block;width:100%;height:100%;border:0}
.ch-footer-address{font-size:12px!important;margin-top:10px}
.ch-footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ch-footer-social a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.38);padding:7px 12px;font-size:11px!important;letter-spacing:.04em;transition:background .2s,border-color .2s}
.ch-footer-social a:hover{background:var(--ch-teal);border-color:var(--ch-teal);color:#fff}
.ch-footer-contact p{margin:0 0 9px}
@media(max-width:1050px){.ch-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
@media(max-width:600px){.ch-footer-grid{grid-template-columns:1fr;gap:28px}.ch-footer-map-frame{height:210px}}
/* Top bar contact links */
.ch-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ch-topbar-contact {
    display: flex;
    align-items: center;
    gap: 20px;
}

.ch-topbar-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: inherit;
    text-decoration: none;
    font: inherit;
    font-size: inherit;
}

button.ch-topbar-item {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.ch-topbar-icon {
    font-size: 14px;
    line-height: 1;
}

/* ENETIKO ROOMS - GOOGLE MAP MODAL */

#ch-map-modal[hidden] {
    display: none !important;
}

#ch-map-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

#ch-map-modal .ch-map-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(20, 30, 32, .78) !important;
    backdrop-filter: blur(5px);
}

#ch-map-modal .ch-map-dialog {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 850px !important;
    margin: auto !important;
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.3) !important;
}

#ch-map-modal .ch-map-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 18px 22px !important;
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
}

#ch-map-modal .ch-map-title {
    font: 21px Georgia, serif !important;
    color: #263537 !important;
}

#ch-map-modal .ch-map-subtitle {
    font-size: 13px !important;
    color: #858585 !important;
}

#ch-map-modal .ch-map-close {
    width: 38px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f1f0ed !important;
    color: #303b3b !important;
    font-size: 25px !important;
    cursor: pointer !important;
}

#ch-map-modal iframe {
    display: block !important;
    width: 100% !important;
    height: 450px !important;
    border: 0 !important;
}

#ch-map-modal .ch-map-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 14px 22px !important;
    background: #faf9f6 !important;
    font-size: 12px !important;
    color: #777 !important;
}

#ch-map-modal .ch-map-footer a {
    color: #657b75 !important;
    font-weight: 600 !important;
}

@media(max-width: 640px) {
    #ch-map-modal:not([hidden]) {
        padding: 12px !important;
    }

    #ch-map-modal iframe {
        height: 380px !important;
    }

    #ch-map-modal .ch-map-footer {
        flex-wrap: wrap !important;
    }
}

#ch-map-modal .ch-map-footer {
    background: #faf9f6 !important;
    padding: 14px 24px !important;
    border-top: 1px solid #eeeeea !important;
}

#ch-map-modal .ch-map-close {
    border-radius: 50% !important;
    width: 38px !important;
    height: 38px !important;
    background: #f1f0ed !important;
    color: #303b3b !important;
    border: none !important;
}

@media (max-width: 640px) {
    #ch-map-modal .ch-map-dialog {
        width: 100% !important;
        border-radius: 14px !important;
    }

    #ch-map-modal iframe {
        height: 380px !important;
    }
}


/* =========================================
   ENETIKO ROOMS - GOOGLE MAP POPUP
========================================= */

#ch-map-modal[hidden] {
    display: none !important;
}

#ch-map-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

#ch-map-modal .ch-map-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(20, 35, 38, 0.78) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

#ch-map-modal .ch-map-dialog {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 850px !important;
    margin: auto !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 25px 70px rgba(0,0,0,.35) !important;
    animation: chMapAppear .25s ease-out;
}

#ch-map-modal .ch-map-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 20px 24px !important;
    background: #fff !important;
    border-bottom: 1px solid #eeeeea !important;
}

#ch-map-modal .ch-map-title {
    font-family: Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    color: #263537 !important;
}

#ch-map-modal .ch-map-subtitle {
    margin-top: 4px !important;
    font-size: 13px !important;
    color: #858585 !important;
}

#ch-map-modal .ch-map-close {
    position: static !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f1f0ed !important;
    color: #303b3b !important;
    font-size: 25px !important;
    line-height: 38px !important;
    cursor: pointer !important;
}

#ch-map-modal .ch-map-close:hover {
    background: #303b3b !important;
    color: #fff !important;
}

#ch-map-modal iframe {
    display: block !important;
    width: 100% !important;
    height: 450px !important;
    border: 0 !important;
    margin: 0 !important;
}

#ch-map-modal .ch-map-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding: 14px 24px !important;
    background: #faf9f6 !important;
    border-top: 1px solid #eeeeea !important;
    font-size: 12px !important;
    color: #777 !important;
}

#ch-map-modal .ch-map-footer a {
    color: #657b75 !important;
    font-weight: 600 !important;
}

@keyframes chMapAppear {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 640px) {
    #ch-map-modal:not([hidden]) {
        padding: 12px !important;
    }

    #ch-map-modal .ch-map-dialog {
        border-radius: 14px !important;
    }

    #ch-map-modal .ch-map-header {
        padding: 16px !important;
    }

    #ch-map-modal iframe {
        height: 380px !important;
    }

    #ch-map-modal .ch-map-footer {
        padding: 12px 16px !important;
        flex-wrap: wrap !important;
    }
}

/* ENETIKO ROOMS - MAP POPUP */

#ch-map-modal[hidden] {
    display: none !important;
}

#ch-map-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

#ch-map-modal .ch-map-overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 30, 32, 0.75);
    backdrop-filter: blur(5px);
}

#ch-map-modal .ch-map-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 850px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

#ch-map-modal .ch-map-header,
#ch-map-modal .ch-map-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    gap: 15px;
}

#ch-map-modal .ch-map-header {
    border-bottom: 1px solid #eee;
}

#ch-map-modal .ch-map-title {
    font-size: 18px;
    font-weight: 600;
    color: #263638;
}

#ch-map-modal .ch-map-subtitle {
    margin-top: 4px;
    font-size: 13px;
    color: #777;
}

#ch-map-modal .ch-map-close {
    border: 0;
    background: transparent;
    color: #333;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

#ch-map-modal iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
}

#ch-map-modal .ch-map-footer {
    border-top: 1px solid #eee;
    font-size: 13px;
    color: #777;
}

#ch-map-modal .ch-map-footer a {
    color: #526d68;
    text-decoration: none;
    font-weight: 600;
}

@media (max-width: 600px) {
    #ch-map-modal:not([hidden]) {
        padding: 12px !important;
    }

    #ch-map-modal iframe {
        height: 350px;
    }

    #ch-map-modal .ch-map-header,
    #ch-map-modal .ch-map-footer {
        padding: 13px 15px;
    }
}

/* FIX: MAP POPUP - FORCE FULLSCREEN MODAL */

#ch-map-modal:not([hidden]) {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

#ch-map-modal .ch-map-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(20, 30, 32, 0.78) !important;
    backdrop-filter: blur(5px);
}

#ch-map-modal .ch-map-dialog {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 850px !important;
    margin: auto !important;
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.3) !important;
}

#ch-map-modal iframe {
    display: block !important;
    width: 100% !important;
    height: 450px !important;
    border: 0 !important;
}