/* =========================================================
   SOMAK LUXURY TRAVEL — MAIN STYLESHEET
   Organised in the same order templates use these components.
   No styling is ever written inline in PHP templates — everything
   lives here, enqueued via inc/enqueue-assets.php.
   ========================================================= */

/* ---------- 1. Variables & base ---------- */
:root{
  --ink:#182620; --ink-2:#22352C; --white:#FFFFFF; --offwhite:#F7F6F2; --line:rgba(24,38,32,.12);
  --brass:#A9843E; --brass-deep:#8A6B30; --clay:#9C4A30; --moss:#5C6A50;
  --text:#1C241F; --text-dim:#5E6459; --text-on-dark:#F1EEE4; --text-on-dark-dim:#B7BBAE;
  --font-display:'Bodoni Moda', serif; --font-body:'Manrope', sans-serif; --font-mono:'Space Mono', monospace;
  --max-width: 1250px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 32px;}
.eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;}
.display{font-family:var(--font-display);letter-spacing:-.005em;}
.screen-reader-text{position:absolute;left:-9999px;}

/* ---------- 2. Utility bar ---------- */

/* ---------- Agent Centre ---------- */
.agent-test-banner{background:var(--clay);color:var(--white);text-align:center;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;padding:12px 20px;margin-bottom:20px;border-radius:8px;}
.agent-nav{margin-bottom:32px;border-bottom:1px solid var(--line);}
.agent-nav .wrap{padding:0;}
.agent-nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:4px;}
.agent-nav a{display:block;padding:14px 18px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;color:var(--text-dim);border-bottom:2px solid transparent;}
.agent-nav a:hover{color:var(--ink);}
.agent-nav a.is-active{color:var(--ink);border-bottom-color:var(--brass);}

.agent-home-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:start;margin-bottom:40px;}
.agent-details-card,.agent-notice-card{background:var(--offwhite);border-radius:16px;padding:30px;}
.agent-details-card h4,.agent-notice-card h4{margin:0 0 16px;font-size:19px;}
.agent-details-card address{font-style:normal;font-size:14.5px;line-height:1.7;color:var(--text-dim);}
.agent-notice-content ul{margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.7;color:var(--text-dim);}
.agent-notice-content .color-red{color:var(--clay);}
.agent-tac-prompt{font-size:14px;font-weight:600;color:var(--clay);display:flex;align-items:center;gap:10px;margin:20px 0 14px;}
.agent-tac-prompt input{width:18px;height:18px;accent-color:var(--brass);}
.agent-emergency-note{text-align:center;font-size:15px;color:var(--text-dim);}

.agent-modal{position:fixed;inset:0;background:rgba(15,22,17,.6);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;}
.agent-modal[hidden]{display:none;}
.agent-modal-content{background:var(--white);border-radius:16px;padding:32px;max-width:440px;position:relative;}
.agent-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-dim);line-height:1;}
.agent-already-firmed{font-family:var(--font-display);font-size:16px;color:var(--moss);padding:14px 0;}

.incentive-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;}
.incentive-image img{width:100%;border-radius:16px;}
.incentive-intro,.incentive-conditions{font-size:14.5px;line-height:1.7;color:var(--text-dim);}
.incentive-intro ul,.incentive-conditions ul{padding-left:20px;}
.incentive-conditions{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}

@media (max-width:760px){
  .agent-home-grid,.incentive-layout{grid-template-columns:1fr;}
}

/* ---------- 3. Header & primary nav ---------- */
header.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}

/* ---------- Search strip (between header and hero, every page) ---------- */
.search-form{display:flex;align-items:center;gap:10px;max-width:480px;}
.search-form .search-submit{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:4px;color:var(--text-dim);cursor:pointer;}
.search-form .search-submit:hover{color:var(--brass);}
.search-form input[type="search"]{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:14px;color:var(--ink);padding:6px 0;}
.search-form input[type="search"]::placeholder{color:var(--text-dim);}
.search-form input[type="search"]:focus{outline:none;}

.nav-search{position:relative;}
.nav-search-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:8px;color:var(--ink);cursor:pointer;}
.nav-search-toggle:hover{color:var(--brass);}
.nav-search-popover{position:absolute;top:100%;right:0;margin-top:8px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:10px 14px;width:320px;z-index:100;}
.nav-search-popover .search-form{max-width:none;}
header.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px;position:relative;}
.logo{line-height:1;}
.logo .mark{font-family:var(--font-display);font-size:25px;font-weight:600;letter-spacing:.03em;color:var(--ink);}
.logo .sub{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;color:var(--brass-deep);margin-top:6px;}
nav.primary{display:flex;align-items:center;gap:34px;}
nav.primary a{color:var(--text);font-size:14.5px;position:relative;padding-bottom:3px;}
nav.primary a.active,nav.primary a.current-menu-item{color:var(--clay);}
nav.primary a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
nav.primary a:hover::after{transform:scaleX(1);}
.nav-toggle{display:none;background:none;border:1px solid var(--ink);padding:8px 10px;cursor:pointer;}

/* ---------- 3b. Mega menu ---------- */
.nav-list{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0;}
.nav-item{position:static;}
.nav-item>a,.nav-link{color:var(--text);font-size:14.5px;font-family:var(--font-body);position:relative;padding-bottom:3px;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.nav-item>a.current-menu-item,.nav-link.active{color:var(--clay);}
.nav-item>a::after,.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.nav-item>a:hover::after,.nav-link:hover::after,.nav-item.is-open .nav-link::after{transform:scaleX(1);}
.nav-link .chev{transition:transform .2s ease;flex-shrink:0;}
.nav-item.is-open .nav-link .chev{transform:rotate(180deg);}

.mega-panel{position:absolute;left:0;right:0;top:100%;background:var(--white);border-top:2px solid var(--brass);border-bottom:1px solid var(--line);box-shadow:0 24px 48px -16px rgba(24,38,32,.18);border-radius:0 0 16px 16px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;z-index:30;}
.nav-item.is-open .mega-panel{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease,transform .2s ease;}
.mega-panel-inner{max-width:var(--max-width);margin:0 auto;padding:36px 32px;display:flex;gap:48px;}
.mega-col{flex:1;min-width:0;}
.mega-col-wide{flex:2;}
.mega-col-cta{flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);padding-left:36px;}
.mega-col-cta .btn{display:inline-flex;align-items:center;justify-content:center;padding-bottom:13px;}
.mega-col-heading{display:block;font-family:var(--font-display);font-size:17px;color:var(--ink);margin-bottom:14px;position:relative;width:fit-content;padding-bottom:2px;}
.mega-col-heading:not(.mega-col-heading-static):hover{color:var(--clay);}
.mega-col-heading:not(.mega-col-heading-static)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.mega-col-heading:not(.mega-col-heading-static):hover::after{transform:scaleX(1);}
.mega-col-heading-static{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);cursor:default;}
.mega-col ul{list-style:none;margin:0;padding:0;}
.mega-col ul li{margin-bottom:9px;}
.mega-col ul a{font-size:13.5px;color:var(--text-dim);}
.mega-col ul a:hover{color:var(--ink);}
.mega-col-empty{font-size:13px;color:var(--text-dim);font-style:italic;margin:0;}
.mega-col-flow{column-count:2;column-gap:28px;}
.mega-col-flow-3{column-count:3;column-gap:24px;}
.mega-col-flow li{break-inside:avoid;}
/* Holiday types panel: single wide col + cta, no wasted space */
.mega-panel-holidays .mega-col-holiday-types{flex:1;}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;padding:13px 24px;border:1px solid var(--ink);cursor:pointer;background:none;}
.btn-solid-ink{background:var(--ink);color:var(--white);border-color:var(--ink);}
.btn-solid-ink:hover{background:var(--ink-2);}
.btn-ghost-white{color:var(--white);border-color:rgba(255,255,255,.7);}
.btn-ghost-white:hover{background:var(--white);color:var(--ink);}
.btn-solid-white{background:var(--white);color:var(--ink);border-color:var(--white);}
.btn-solid-white:hover{background:var(--brass);color:var(--ink);border-color:var(--brass);}
.btn-solid-brass{background:var(--brass);color:var(--ink);border-color:var(--brass);}
.btn-solid-brass:hover{background:#BE9A55;}
.btn-ghost-ink{color:var(--ink);border-color:var(--ink);}
.btn-ghost-ink:hover{background:var(--ink);color:var(--white);}

/* ---------- 4. Breadcrumb ---------- */
.breadcrumb{background:var(--offwhite);border-bottom:1px solid var(--line);}
.breadcrumb .wrap{padding-top:14px;padding-bottom:14px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);letter-spacing:.03em;overflow-x:auto;white-space:nowrap;}
.breadcrumb a:hover{color:var(--clay);}
.breadcrumb .sep{margin:0 8px;opacity:.5;}
.breadcrumb .current{color:var(--ink);}

/* ---------- 5. Hero (shared by home/region/country/holiday/accommodation) ---------- */
.hero{position:relative;color:var(--white);overflow:hidden;}
.hero.hero-tall{height:58vh;min-height:460px;}
.hero.hero-medium{height:64vh;min-height:460px;}
.hero.hero-short{height:58vh;min-height:420px;}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center 50%;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-video-embed{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.hero-video-embed iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:none;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,22,17,.88) 0%, rgba(15,22,17,.32) 55%, rgba(15,22,17,.08) 100%);}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px;}
.hero .eyebrow{color:var(--brass);margin-bottom:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hero .eyebrow .dot{width:5px;height:5px;background:var(--brass);border-radius:50%;}
.hero h1{font-size:3.5em;line-height:1.02;margin:0 0 16px;}
.hero h1 em{font-style:italic;color:var(--brass);}
.hero p.lede{font-size:17px;line-height:1.6;color:rgba(241,238,228,.86);max-width:580px;margin:0 0 24px;}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;}
/* hero-button-row is now rendered inside .hero-content */
.hero-button-row{display:none;}
.hero-content .hero-button-row{display:flex;gap:16px;flex-wrap:wrap;}
/* Scoped overrides: any .btn inside the hero must work on a dark background.
   btn-solid-brass stays brass (correct). btn-ghost-white/btn-solid-ink get
   explicit treatment. The base .btn has background:none + border:var(--ink)
   which is invisible on dark — override the border to white for all hero btns. */
.hero-content .btn{border-color:rgba(255,255,255,.6);}
.hero-content .btn-solid-brass{border-color:var(--brass);}
.hero-content .btn-solid-ink{background:var(--ink);color:var(--white);border-color:var(--ink);}
.hero-content .btn-ghost-white{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7);}
.hero-content .btn-ghost-white:hover{background:var(--white);color:var(--ink);}
.hero-content .btn-solid-white{background:var(--white);color:var(--ink);border-color:var(--white);}
.hero-content .btn-solid-white:hover{background:var(--brass);color:var(--ink);border-color:var(--brass);}
.scroll-cue{position:absolute;bottom:28px;right:32px;z-index:2;font-family:var(--font-mono);font-size:10.5px;color:rgba(241,238,228,.7);writing-mode:vertical-rl;letter-spacing:.1em;}

/* ---------- 6a. Bumper strip (Scott Dunn-style boxes below hero) ---------- */
/* 3–5 admin-managed boxes, no border, image+title+text+optional Cta.
   Rendered by front-page.php immediately after the hero section.
   Count is driven by CSS custom property --bumper-count set inline. */
.bumper-strip{background:var(--white);padding:0;margin:30px 0 50px;}
.bumper-strip-inner{max-width:var(--max-width);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.bumper-box{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:var(--ink);transition:background .2s ease;text-align:center;}
.bumper-box:hover{background:var(--offwhite);}
.bumper-box:hover .bumper-box-img img{transform:scale(1.04);}
.bumper-box-img{aspect-ratio:16/9;overflow:hidden;flex-shrink:0;}
.bumper-box-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block;}
.bumper-box-body{padding:15px 22px;display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;}
.bumper-box-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);}
.bumper-box-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--ink);line-height:1.2;}
.bumper-box-text{font-size:13.5px;color:var(--text-dim);line-height:1.6;margin:0;}
.bumper-box-cta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--brass);margin-top:auto;padding-top:8px;}
@media(max-width:768px){.bumper-strip-inner{grid-template-columns:1fr;}}
@media(max-width:480px){.bumper-strip-inner{grid-template-columns:1fr;}}

/* ---------- 6. Facts strip / stat strip ---------- */
.facts-strip,.stat-strip{background:var(--offwhite);border-bottom:1px solid var(--line);}
.facts-strip .wrap{display:flex;flex-wrap:wrap;gap:0;padding:0;}
.fact{flex:1;min-width:150px;padding:22px 24px;border-right:1px solid var(--line);}
.fact:last-child{border-right:none;}
.fact .l{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--moss);margin-bottom:6px;}
.fact .v{font-family:var(--font-display);font-size:16.5px;color:var(--ink);}
.stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:36px;padding-bottom:36px;}
.stat{text-align:center;border-left:1px solid var(--line);padding:0 12px;}
.stat:first-child{border-left:none;}
.stat .num{font-family:var(--font-mono);font-size:27px;color:var(--clay);letter-spacing:-.02em;}
.stat .lbl{font-size:12.5px;color:var(--text-dim);margin-top:8px;letter-spacing:.02em;}

/* ---------- 7. Sticky jump-nav ---------- */
.jump-nav{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:var(--header-h,80px);z-index:40;}
.jump-nav .wrap{display:flex;gap:32px;padding-top:16px;padding-bottom:16px;overflow-x:auto;align-items:center;justify-content:space-between;}
.jump-nav .links{display:flex;gap:32px;}
.jump-nav a{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;position:relative;padding-bottom:4px;}
.jump-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.jump-nav a:hover{color:var(--ink);}
.jump-nav a:hover::after{transform:scaleX(1);}

/* ---------- 8. Section shell ---------- */
section{padding-top:88px;padding-bottom:88px;scroll-margin-top:60px;}
.overview-bg{background:var(--offwhite);}
.section-head{max-width:640px;margin:0 0 48px;}
.section-head .eyebrow{color:var(--clay);margin-bottom:14px;}
.section-head h2{font-size:clamp(28px,3.4vw,46px);line-height:1.15;margin:0;color:var(--ink);}
.section-head p{font-size:16px;color:var(--text-dim);margin-top:14px;line-height:1.6;}
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;}
.section-head-row .section-head{margin-bottom:0;}
.dark-section{background:var(--ink);color:var(--text-on-dark);}
.dark-section .section-head h2{color:var(--white);}
.dark-section .section-head p{color:var(--text-on-dark-dim);}
.padded-head{padding-left:32px;padding-right:32px;}

/* ---------- 9. Overview grid + expert sidebar ---------- */
/* Why We Like It section — 2 col: list left, CTA right */
.wwli-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;}
.wwli-heading{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--brass);margin-bottom:16px;}
.wwli-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.wwli-list li{font-size:16px;line-height:1.65;color:var(--text);padding-left:24px;position:relative;}
.wwli-list li::before{content:'✓';position:absolute;left:0;color:var(--brass);}

/* Overview — full width, no sidebar */
.overview-copy-full{max-width:760px;}
.overview-copy-full p{font-size:16.5px;line-height:1.75;color:var(--text);margin:0 0 20px;}
.overview-copy-full p:last-child{margin-bottom:0;}

/* Keep .overview-copy for any other templates that still use it */
.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;}
.overview-copy p{font-size:16.5px;line-height:1.75;color:var(--text);margin:0 0 20px;}
.overview-copy p:last-child{margin-bottom:0;}

/* overview-sidebar no longer used on accommodation — kept for other templates */

/* Read More / Read Less (Change 3) */
.overview-read-more-wrap{position:relative;}
.overview-read-more-inner{overflow:hidden;transition:max-height .35s ease;}
.overview-read-more-inner.is-collapsed{max-height:var(--read-more-collapsed-height,96px);}

.overview-read-more-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:none;border:1px solid var(--brass);border-radius:4px;cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--brass);padding:8px 16px;}
.overview-read-more-btn:hover{background:var(--brass);color:var(--white);}
.overview-read-more-btn svg{transition:transform .25s ease;flex-shrink:0;}
.overview-read-more-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.overview-read-more-btn .read-less-label{display:none;}
.overview-read-more-btn[aria-expanded="true"] .read-more-label{display:none;}
.overview-read-more-btn[aria-expanded="true"] .read-less-label{display:inline;}
.prose-block{max-width:760px;}
.prose-block p{font-size:15.5px;line-height:1.75;color:var(--text-dim);margin:0 0 18px;}
.prose-block p:last-child{margin-bottom:0;}
.season-note{font-family:var(--font-mono);font-size:12.5px;color:var(--clay);letter-spacing:.02em;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.expert-card{background:var(--ink);color:var(--white);padding:34px 30px;border-radius:16px;}
.expert-card .eyebrow{color:var(--brass);margin-bottom:14px;}
.expert-card h3{font-family:var(--font-display);font-size:21px;font-weight:500;margin:0 0 16px;}
.expert-card .phone{font-family:var(--font-mono);font-size:19px;color:var(--white);display:block;margin-bottom:20px;}
.factlist{border-top:1px solid rgba(241,238,228,.15);margin-top:22px;padding-top:20px;}
.factlist div{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;padding:7px 0;color:var(--text-on-dark-dim);}
.factlist div b{color:var(--white);font-weight:500;text-align:right;}
.expert-card .stats{display:flex;gap:0;border-top:1px solid rgba(241,238,228,.15);margin-top:26px;padding-top:22px;}
.expert-card .stat-mini{flex:1;}
.expert-card .stat-mini .n{font-family:var(--font-mono);font-size:20px;color:var(--brass);}
.expert-card .stat-mini .l{font-size:11.5px;color:var(--text-on-dark-dim);margin-top:4px;}

/* ---------- 10. Destination / country / region chip grids ---------- */
.region-strip,.country-grid{display:grid;gap:20px;}
.region-strip{grid-template-columns:repeat(3,1fr);margin-bottom:100px;}
.country-grid{grid-template-columns:repeat(4,1fr);gap:16px;}
.region-card{position:relative;height:520px;overflow:hidden;color:var(--white);border-radius:16px;}
.region-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.region-card:hover img{transform:scale(1.05);}
.region-scrim{position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,22,17,.86) 0%, rgba(15,22,17,.15) 55%, rgba(15,22,17,.05) 100%);}
.region-content{position:absolute;left:0;right:0;bottom:0;padding:34px 34px 38px;}
.region-content .coords{font-family:var(--font-mono);font-size:11px;color:var(--brass);letter-spacing:.04em;margin-bottom:10px;}
.region-content h3{font-family:var(--font-display);font-size:27px;margin:0 0 12px;font-weight:500;}
.region-content p{font-size:14px;color:rgba(241,238,228,.82);line-height:1.6;margin:0 0 16px;max-width:280px;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;padding:5px 10px;border:1px solid rgba(241,238,228,.35);color:rgba(241,238,228,.85);}

.region-chip,.country-chip{border:1px solid var(--line);border-radius:14px;padding:22px 22px 20px;transition:border-color .2s ease, transform .2s ease;}
.region-chip,.country-chip{display:block;text-decoration:none;color:inherit;overflow:hidden;padding-top:0;}
.region-chip .thumb,.country-chip .thumb{aspect-ratio:4/3;margin:0 -22px 18px;overflow:hidden;}
.region-chip .thumb img,.country-chip .thumb img{width:100%;height:100%;object-fit:cover;}
.region-chip:hover,.country-chip:hover{border-color:var(--brass);transform:translateY(-2px);}
.region-chip .coords,.country-chip .coords{font-family:var(--font-mono);font-size:10.5px;color:var(--moss);letter-spacing:.04em;margin-bottom:10px;}
.region-chip h3,.country-chip h3{font-family:var(--font-display);font-size:19px;margin:0 0 8px;font-weight:500;color:var(--ink);}
.region-chip p,.country-chip p{font-size:13.5px;color:var(--text-dim);line-height:1.55;margin:0;}

/* ---------- 11. Holiday-type / why-us bento ---------- */
.holiday-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:20px;}
.holiday-card{position:relative;border-radius:16px;overflow:hidden;color:var(--white);}
.holiday-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.holiday-card:hover img{transform:scale(1.06);}
.holiday-scrim{position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,22,17,.85) 0%, rgba(15,22,17,.18) 60%, rgba(15,22,17,.04) 100%);}
.holiday-content{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 22px;}
.holiday-eyebrow{font-family:var(--font-mono);font-size:10px;color:var(--brass);letter-spacing:.1em;margin-bottom:8px;}
.holiday-card h3{font-family:var(--font-display);font-weight:500;margin:0 0 6px;line-height:1.15;}
.holiday-card p{font-size:13px;color:rgba(241,238,228,.85);line-height:1.5;margin:0;max-width:340px;}
.hc-feature{grid-column:1/3;grid-row:1/3;}
.hc-feature h3{font-size:28px;}
.hc-feature .holiday-content{padding:30px 32px 34px;}
.hc-feature p{max-width:380px;font-size:14.5px;}
.hc-wide{grid-column:span 2;}
.hc-wide h3{font-size:20px;}
.hc-sm h3{font-size:16px;}
.hc-sm .holiday-content{padding:16px 18px 18px;}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.why-item{background:var(--ink-2);padding:42px 40px;border-radius:16px;}
.why-item .icon{width:32px;height:32px;margin-bottom:24px;color:var(--brass);}
.why-item h3{font-family:var(--font-display);font-size:21px;font-weight:500;margin:0 0 12px;color:var(--white);}
.why-item p{font-size:14.5px;line-height:1.65;color:var(--text-on-dark-dim);margin:0;}

/* ---------- 11b. Special Offers bento (homepage) ---------- */
.offers-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:20px;}
.offer-card{position:relative;border-radius:16px;overflow:hidden;color:var(--white);display:block;}
.offer-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.offer-card:hover img{transform:scale(1.06);}
.offer-scrim{position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,22,17,.88) 0%, rgba(15,22,17,.2) 60%, rgba(15,22,17,.05) 100%);}
.offer-content{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 22px;}
.offer-eyebrow{font-family:var(--font-mono);font-size:10px;color:var(--brass);letter-spacing:.1em;margin-bottom:8px;}
.offer-card h3{font-family:var(--font-display);font-weight:500;margin:0 0 6px;line-height:1.15;}
.offer-card p{font-size:13px;color:rgba(241,238,228,.85);line-height:1.5;margin:0;max-width:340px;}
.offer-price{font-family:var(--font-mono);font-size:12px;color:var(--brass);margin-top:8px;}
.of-feature{grid-column:1/3;grid-row:1/3;}
.of-feature h3{font-size:26px;}
.of-feature .offer-content{padding:28px 30px 32px;}
.of-feature p{max-width:380px;font-size:14.5px;}
.of-wide{grid-column:span 2;}
.of-wide h3{font-size:19px;}
.of-sm h3{font-size:15.5px;}
.of-sm .offer-content{padding:16px 18px 18px;}

@media (max-width:900px){
  .offers-bento{grid-template-columns:repeat(2,1fr);}
  .of-feature{grid-column:1/3;grid-row:auto;}
  .of-wide{grid-column:span 2;}
}

/* ---------- 12. Inspiration bento (homepage + region page) ---------- */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,220px);gap:20px;}
.article-card{position:relative;border-radius:14px;overflow:hidden;color:var(--white);}
.article-card.tall{grid-row:span 2;}
.article-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.article-card:hover img{transform:scale(1.06);}
.article-scrim{position:absolute;inset:0;background:linear-gradient(0deg, rgba(15,22,17,.88) 0%, rgba(15,22,17,.25) 55%, rgba(15,22,17,.05) 100%);}
.article-content{position:absolute;left:0;right:0;bottom:0;padding:22px 24px 24px;}
.article-meta{font-family:var(--font-mono);font-size:10px;color:var(--brass);margin-bottom:8px;letter-spacing:.03em;}
.article-card h3{font-family:var(--font-display);font-size:17.5px;font-weight:500;margin:0;line-height:1.3;color:var(--white);}
.article-card.tall h3{font-size:21px;}
.article-card p{font-size:13.5px;color:rgba(241,238,228,.85);line-height:1.55;margin:8px 0 0;max-width:280px;}
.article-card a.readmore{font-family:var(--font-mono);font-size:10.5px;color:var(--white);letter-spacing:.04em;display:inline-block;border-bottom:1px solid rgba(255,255,255,.6);margin-top:10px;}

/* ---------- 13. Card grids (holidays / accommodation / nearby) ---------- */
.card-grid,.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.item-card,.nearby-card{border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.item-card .thumb,.nearby-card .thumb{height:190px;overflow:hidden;position:relative;}
.item-card .thumb img,.nearby-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.item-card:hover .thumb img,.nearby-card:hover .thumb img{transform:scale(1.06);}
.item-card .item-body,.nearby-card .item-body{padding:20px 22px 24px;}
.item-card .item-meta,.nearby-card .item-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--moss);letter-spacing:.04em;margin-bottom:8px;}
.item-card h3,.nearby-card h3{font-family:var(--font-display);font-size:17px;font-weight:500;margin:0;line-height:1.35;color:var(--ink);}

/* ---------- 14. Villas ---------- */
/* Villa/room types module removed */

/* ---------- 15. Gallery (bento featured + strip) ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:16px;margin-bottom:16px;}
.gallery-grid img,
.gallery-grid video{width:100%;height:100%;object-fit:cover;border-radius:14px;transition:transform .5s ease;}
.gallery-item{overflow:hidden;border-radius:14px;position:relative;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .cap{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(0deg, rgba(15,22,17,.75), transparent);font-family:var(--font-mono);font-size:10.5px;color:var(--white);letter-spacing:.03em;opacity:0;transition:opacity .2s ease;}
.gallery-item:hover .cap{opacity:1;}
.g-a{grid-column:1/3;grid-row:1/3;}
.g-f{grid-column:3/5;grid-row:2/4;}

/* ---------- 16. Facilities grid ---------- */
.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.facility-item{background:var(--white);padding:30px 28px;}
.facility-item .icon{width:28px;height:28px;color:var(--brass);margin-bottom:18px;}
.facility-item h3{font-family:var(--font-display);font-size:17.5px;font-weight:500;margin:0 0 8px;color:var(--ink);}
.facility-item p{font-size:13.5px;color:var(--text-dim);line-height:1.6;margin:0;}

/* Plain bullet list — Accommodation's own Facilities & Activities
   section specifically (single-holiday.php's separate "Extras &
   extensions" section still uses .facility-grid/.facility-item above,
   unrelated to this). */
.facility-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 32px;margin:0;padding:0;}
.facility-list li{position:relative;padding-left:26px;font-size:14.5px;color:var(--ink);line-height:1.5;}
.facility-list li::before{position:absolute;left:0;top:0;color:var(--brass);font-weight:600;}
.facility-bullet-disc li::before{content:'\2022';}
.facility-bullet-check li::before{content:'\2713';}
.facility-bullet-arrow li::before{content:'\2192';}
.facility-bullet-dash li::before{content:'\2013';}

/* SVG bullet styles — content is empty; the shape comes from a
   background-image data URI instead, so each needs an explicit size. */
.facility-bullet-leaf li::before,
.facility-bullet-compass li::before,
.facility-bullet-diamond li::before,
.facility-bullet-paw li::before,
.facility-bullet-feather li::before{
	content:'';display:inline-block;width:18px;height:18px;position:absolute;left:0;top:1px;
	background-repeat:no-repeat;background-size:contain;
}
.facility-bullet-leaf li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9843E' stroke-width='1.6'%3E%3Cpath d='M4 20C4 12 9 4 20 4c0 11-8 16-16 16z'/%3E%3Cpath d='M4 20L15 9'/%3E%3C/svg%3E");}
.facility-bullet-compass li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9843E' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M14.5 9.5l-2 5.5-5.5 2 2-5.5z'/%3E%3C/svg%3E");}
.facility-bullet-diamond li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9843E' stroke-width='1.6'%3E%3Cpath d='M12 3l5 6-5 12-5-12z'/%3E%3Cpath d='M7 9h10'/%3E%3C/svg%3E");}
.facility-bullet-paw li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A9843E'%3E%3Ccircle cx='7' cy='14' r='2.6'/%3E%3Ccircle cx='17' cy='14' r='2.6'/%3E%3Ccircle cx='9.5' cy='8' r='2'/%3E%3Ccircle cx='14.5' cy='8' r='2'/%3E%3Cpath d='M12 12c-3 0-5.5 2-5.5 4.5S8.5 21 12 21s5.5-2 5.5-4.5S15 12 12 12z'/%3E%3C/svg%3E");}
.facility-bullet-feather li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9843E' stroke-width='1.6'%3E%3Cpath d='M20 4C10 4 4 10 4 20l16-16z'/%3E%3Cpath d='M4 20L20 4M8 16l3 3M12 12l3 3'/%3E%3C/svg%3E");}
@media (max-width:640px){
  .facility-list{grid-template-columns:1fr;}
}

/* ---------- 17. Itinerary timeline ---------- */
.timeline{position:relative;}
.timeline::before{content:"";position:absolute;left:70px;top:8px;bottom:8px;width:1px;background:var(--line);}
.day-row{position:relative;display:grid;grid-template-columns:70px 1fr;gap:36px;margin-bottom:56px;}
.day-row:last-child{margin-bottom:0;}
.day-badge{font-family:var(--font-mono);text-align:right;padding-top:4px;}
.day-badge .num{font-size:22px;color:var(--clay);display:block;}
.day-badge .dow{font-size:10px;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;}
.day-dot{position:absolute;left:66px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--brass);border:2px solid var(--white);box-shadow:0 0 0 1px var(--brass);}
.day-body{display:grid;grid-template-columns:1fr;gap:20px;}
.day-body.has-img{grid-template-columns:1.4fr 1fr;}
.day-text h3{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0 0 4px;color:var(--ink);}
.day-region{font-family:var(--font-mono);font-size:10.5px;color:var(--moss);letter-spacing:.04em;margin-bottom:12px;}
.day-text p{font-size:15px;line-height:1.7;color:var(--text);margin:0 0 14px;}
.day-meta{display:flex;gap:22px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);flex-wrap:wrap;}
.day-meta b{color:var(--ink);font-weight:500;}
.day-img{border-radius:14px;overflow:hidden;height:200px;}
.day-img img{width:100%;height:100%;object-fit:cover;}

/* ---------- 18. Route strip & static map plate ---------- */
.route-wrap{overflow-x:auto;padding-bottom:8px;}
.route{display:flex;align-items:flex-start;min-width:760px;padding:20px 0;}
.route-stop{flex:1;text-align:center;position:relative;}
.route-stop:not(:last-child)::after{content:"";position:absolute;top:9px;left:50%;width:100%;height:1px;border-top:1px dashed var(--brass);}
.route-dot{width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--brass);margin:0 auto 14px;position:relative;z-index:2;}
.route-stop .day-tag{font-family:var(--font-mono);font-size:10px;color:var(--moss);letter-spacing:.05em;margin-bottom:6px;}
.route-stop h4{font-family:var(--font-display);font-size:15.5px;font-weight:500;margin:0;color:var(--ink);padding:0 6px;}

.location-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;}
.location-copy .coords{font-family:var(--font-mono);font-size:12px;color:var(--moss);letter-spacing:.04em;margin-bottom:14px;}
.location-copy p{font-size:15.5px;line-height:1.75;color:var(--text);margin:0 0 20px;}
.location-list div{display:flex;justify-content:space-between;font-size:13.5px;padding:10px 0;border-top:1px solid var(--line);color:var(--text-dim);}
.location-list div b{color:var(--ink);font-weight:500;text-align:right;}
.map-plate{position:relative;height:340px;border-radius:16px;overflow:hidden;background:var(--ink);}
.map-plate svg{width:100%;height:100%;}
.map-pin{position:absolute;top:50%;left:52%;transform:translate(-50%,-100%);text-align:center;}
.map-pin .dot{width:14px;height:14px;background:var(--clay);border:3px solid var(--white);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:0 auto;}
.map-pin .label{font-family:var(--font-mono);font-size:11px;color:var(--white);background:var(--ink-2);padding:4px 10px;border-radius:4px;margin-top:8px;white-space:nowrap;}

/* ---------- 19. Testimonials ---------- */
.testimonial-band{background:var(--offwhite);}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.postcard{background:var(--white);padding:44px 48px;position:relative;border-radius:16px;border:1px solid var(--line);}
.postcard q{display:block;font-family:var(--font-display);font-style:italic;font-size:22px;line-height:1.5;color:var(--ink);margin:0 0 24px;}
.postcard .attr{font-family:var(--font-mono);font-size:11px;color:var(--moss);letter-spacing:.03em;}
.postcard .stars{color:var(--brass);font-size:15px;letter-spacing:2px;margin-bottom:14px;}

/* ---------- 20. Signup / CTA band ---------- */
.signup-band{background:var(--clay);color:var(--white);padding-top:56px;padding-bottom:56px;}
.signup-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.signup-inner h2{font-family:var(--font-display);font-size:30px;font-weight:500;margin:0 0 8px;}
.signup-inner p{margin:0;color:rgba(255,255,255,.82);font-size:14.5px;}
.signup-form{display:flex;min-width:380px;flex:1;max-width:440px;}
.signup-form input{flex:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);border-right:none;color:var(--white);padding:0 16px;font-family:var(--font-body);font-size:14px;}
.signup-form input::placeholder{color:rgba(255,255,255,.6);}
.signup-form button{background:var(--ink);color:var(--white);border:1px solid var(--ink);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;padding:0 24px;cursor:pointer;}

/* ---------- 21. Footer ---------- */
footer.site-footer{background:var(--ink);color:var(--text-on-dark-dim);padding-top:76px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(241,238,228,.12);}
.footer-grid h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin:0 0 20px;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:11px;font-size:14px;}
.footer-grid li a:hover{color:var(--white);}
.footer-brand p{font-size:13.5px;line-height:1.7;max-width:260px;color:var(--text-on-dark-dim);margin-top:16px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:26px 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;}

.footer-memberships{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:28px 0;border-bottom:1px solid rgba(241,238,228,.12);}
.footer-memberships img{max-height:36px;width:auto;display:block;filter:grayscale(1) brightness(1.8);opacity:.85;transition:opacity .2s ease,filter .2s ease;}
.footer-memberships a:hover img{filter:none;opacity:1;}

.footer-social{display:flex;gap:12px;}
.footer-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--text-on-dark-dim);transition:background .2s ease,color .2s ease;}
.footer-social a:hover{background:var(--brass);color:var(--ink);}
.footer-bottom .legal a{margin-left:18px;}
.footer-bottom .legal a:first-child{margin-left:0;}

/* ---------- 22. Blog (Inspiration) ---------- */
.category-filter{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px;}
.category-filter-select{
	font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink);
	padding:10px 36px 10px 16px;border-radius:8px;border:1px solid var(--line);background:var(--white);
	cursor:pointer;transition:border-color .2s ease;
	appearance:none;-webkit-appearance:none;-moz-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23706b60' stroke-width='1.4'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;
}
.category-filter-select:hover,
.category-filter-select:focus{border-color:var(--ink);outline:none;}

.blog-layout{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start;}
.blog-main .blog-list{grid-template-columns:repeat(2,1fr);}
.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.blog-card .thumb{height:200px;overflow:hidden;}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .body{padding:20px 22px 24px;}
.blog-single .entry-content{font-size:16.5px;line-height:1.8;max-width:760px;margin:0 auto;}
.blog-single .entry-content p{margin:0 0 20px;}
.blog-single .entry-content a{color:#1a6fc4;text-decoration:underline;}
.blog-single .entry-content a:hover{color:#145a9e;}

.blog-sidebar{position:sticky;top:32px;}
.blog-sidebar>.eyebrow{color:var(--clay);margin-bottom:18px;}
.spotlight-list{display:flex;flex-direction:column;}
.spotlight-card{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.spotlight-card:first-child{padding-top:0;}
.spotlight-card:last-child{border-bottom:none;padding-bottom:0;}
.spotlight-thumb{flex:0 0 72px;width:72px;height:72px;border-radius:10px;overflow:hidden;}
.spotlight-thumb img{width:100%;height:100%;object-fit:cover;}
.spotlight-body{min-width:0;}
.spotlight-body .item-meta{font-family:var(--font-mono);font-size:10px;color:var(--moss);letter-spacing:.04em;margin-bottom:4px;}
.spotlight-body h4{font-size:14.5px;line-height:1.35;margin:0;}
.spotlight-card:hover .spotlight-body h4{color:var(--clay);}

/* ---------- 24. About / CSR ---------- */
.story-row{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
.story-img img{width:100%;border-radius:16px;display:block;}
.story-body p{font-size:15.5px;line-height:1.75;color:var(--text-dim);margin:0 0 18px;}
.story-body h2{margin:14px 0 22px;}

.csr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.csr-card{background:var(--ink-2);border-radius:16px;overflow:hidden;}
.csr-card .thumb{height:220px;overflow:hidden;}
.csr-card .thumb img{width:100%;height:100%;object-fit:cover;}
.csr-card .body{padding:26px 26px 30px;}
.csr-card h3{font-family:var(--font-display);font-size:19px;font-weight:500;margin:0 0 10px;color:var(--white);}
.csr-card p{font-size:13.5px;line-height:1.65;color:var(--text-on-dark-dim);margin:0;}

.team-dept-heading{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin:0 0 22px;padding-top:8px;border-top:1px solid var(--line);}
.team-dept-heading:first-child{border-top:none;padding-top:0;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;}
.team-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.team-card .thumb{aspect-ratio:1 / 1;overflow:hidden;}

/* ---------- 25. Pagination ---------- */
.pagination{margin:56px 0 0;}
.pagination .nav-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;}
.pagination .page-numbers{min-width:44px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-mono);font-size:13px;color:var(--text-dim);text-decoration:none;border:1px solid transparent;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.pagination .page-numbers:hover{background:var(--offwhite);border-color:var(--line);color:var(--ink);}
.pagination .page-numbers.current{background:var(--ink);color:var(--white);}
.pagination .page-numbers.dots{color:var(--text-dim);background:none;min-width:auto;}
.pagination .page-numbers.dots:hover{background:none;border-color:transparent;}
.pagination .page-numbers.first,.pagination .page-numbers.prev,.pagination .page-numbers.next,.pagination .page-numbers.last{width:44px;padding:0;border-color:var(--line);color:var(--ink);}
.pagination .page-numbers.first:hover,.pagination .page-numbers.prev:hover,.pagination .page-numbers.next:hover,.pagination .page-numbers.last:hover{background:var(--ink);border-color:var(--ink);color:var(--white);}
.pagination .page-numbers.first,.pagination .page-numbers.last{margin:0 4px;}
.pagination .page-numbers svg{display:block;}

/* ---------- 27. Brochures ---------- */
.brochure-row{display:grid;grid-template-columns:0.85fr 1.4fr;gap:48px;align-items:start;margin-bottom:56px;}
.brochure-image-col{display:flex;flex-direction:column;gap:16px;}
.brochure-cover{aspect-ratio:3/4;overflow:hidden;background:var(--offwhite);border-radius:16px;}
.brochure-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.brochure-image-col h2{font-size:22px;margin:0;}

.brochure-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px;}
.brochure-tab{background:none;border:none;padding:12px 20px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;color:var(--text-dim);border-bottom:2px solid transparent;cursor:pointer;}
.brochure-tab:hover{color:var(--ink);}
.brochure-tab.is-active{color:var(--ink);border-bottom-color:var(--brass);}

.brochure-name-row{grid-template-columns:110px 1fr 1fr;}
.brochure-optin{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text-dim);margin:4px 0 20px;cursor:pointer;}
.brochure-optin input{margin-top:3px;accent-color:var(--brass);}

@media (max-width:800px){
  .brochure-row{grid-template-columns:1fr;}
  .brochure-name-row{grid-template-columns:1fr;}
}

/* ---------- FAQ accordion ---------- */
.faq-group{margin-bottom:44px;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px;cursor:pointer;font-family:var(--font-display);font-size:16.5px;color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';flex-shrink:0;font-family:var(--font-mono);font-size:18px;color:var(--brass);}
.faq-item[open] summary::after{content:'\2212';}
.faq-answer{padding:0 4px 20px;font-size:14.5px;line-height:1.7;color:var(--text-dim);}
.faq-answer p{margin:0 0 12px;}
.faq-answer p:last-child{margin-bottom:0;}

.form-row{margin-bottom:14px;}
.form-row label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;}
.form-row label .optional{text-transform:none;letter-spacing:0;color:var(--text-dim);opacity:.7;}
.form-row input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--font-body);font-size:14px;background:var(--white);}
.form-row input:focus{outline:2px solid var(--brass);outline-offset:1px;}

/* Phone field — single unified input: custom flag dropdown + number field */
.phone-field-wrap{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--white);position:relative;}
.phone-field-wrap:focus-within{outline:2px solid var(--brass);outline-offset:1px;}
/* Clip inner corners without overflow:hidden (which would trap the dropdown) */
.phone-code-btn{border-radius:7px 0 0 7px;}
.phone-number-input{border-radius:0 7px 7px 0;}
.phone-code-btn{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:10px 10px 10px 12px;background:var(--white);border:none;border-right:1px solid var(--line);cursor:pointer;font-family:var(--font-mono);font-size:13px;color:var(--ink);white-space:nowrap;user-select:none;}
.phone-code-btn:focus{outline:none;}
.phone-code-btn-flag{font-size:16px;line-height:1;}
.phone-code-btn-code{font-size:13px;}
.phone-code-btn-chev{width:10px;opacity:.5;}
.phone-code-dropdown{display:none;position:absolute;top:100%;left:0;z-index:200;background:var(--white);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:220px;max-height:260px;overflow-y:auto;margin-top:2px;}
.phone-code-dropdown.is-open{display:block;}
.phone-code-search{width:100%;border:none;border-bottom:1px solid var(--line);padding:8px 12px;font-size:13px;font-family:var(--font-body);outline:none;box-sizing:border-box;}
.phone-code-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:13px;}
.phone-code-option:hover{background:var(--offwhite);}
.phone-code-option.is-selected{background:var(--offwhite);font-weight:600;}
.phone-code-option-flag{font-size:18px;line-height:1;}
.phone-code-option-name{flex:1;color:var(--ink);}
.phone-code-option-code{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);}
/* Hidden native select — carries the value for form submission */
.phone-code-select-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.phone-number-input{flex:1 1 auto;border:none;border-radius:0;padding:10px 12px;font-family:var(--font-body);font-size:14px;background:transparent;outline:none;min-width:0;}
/* Override the enquiry-form's generic select/input rules for phone components */
.enquiry-form .form-row .phone-field-wrap select{width:auto;border:none;border-radius:0;padding:0;background:none;appearance:auto;}
.enquiry-form .form-row .phone-number-input{width:auto;border:none;border-radius:0;padding:10px 12px;}
.form-row-group{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.brochure-form button[type="submit"]{width:100%;justify-content:center;margin-top:4px;}
.form-status{margin-top:10px;font-size:13px;min-height:1.2em;}
.form-status.is-success{color:var(--moss);}
.form-status.is-error{color:var(--clay);}

.brochure-note{margin-top:16px;font-size:13px;color:var(--text-dim);font-style:italic;}

@media (max-width:600px){
  .form-row-group{grid-template-columns:1fr;}
}

/* ---------- 28. Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start;}
.contact-block{margin-bottom:32px;}
.contact-block .eyebrow{margin-bottom:10px;}
.contact-block address,.contact-block p{font-style:normal;font-size:15px;line-height:1.7;color:var(--text);margin:0;}
.contact-block a{color:var(--text);}
.contact-block a:hover{color:var(--clay);}
.contact-phone a{font-family:var(--font-display);font-size:24px;color:var(--ink);}
.holiday-hours{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.holiday-hours .eyebrow{margin-bottom:8px;}
.holiday-hours-row{font-size:13.5px;color:var(--text-dim);margin:0 0 4px;font-family:var(--font-mono);}

.footer-hours{margin-top:18px;padding-top:14px;border-top:1px solid rgba(241,238,228,.12);}
.footer-hours p{font-size:13px;color:var(--text-on-dark-dim);margin:0 0 4px;}
.footer-hours-heading{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-top:12px;}
.footer-hours-heading:first-child{margin-top:0;}
.footer-hours-row{font-family:var(--font-mono);font-size:12px;}
.contact-map{aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:1px solid var(--line);}

.somak-map{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.somak-map-placeholder{width:100%;display:flex;align-items:center;justify-content:center;background:var(--offwhite);border-radius:16px;border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);font-size:12.5px;text-align:center;padding:20px;}

@media (max-width:760px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-map{aspect-ratio:16/10;}
}

/* ---------- 29. Links Page ---------- */
.links-disclaimer{font-size:13.5px;font-style:italic;color:var(--text-dim);border-left:3px solid var(--brass);padding-left:16px;margin-bottom:36px;}
.links-list{display:flex;flex-direction:column;}
.links-row{display:block;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .2s ease;}
.links-row:hover{padding-left:8px;}
.links-row-title{font-family:var(--font-display);font-size:18px;color:var(--ink);}
.links-row:hover .links-row-title{color:var(--clay);}
.links-row-desc{font-size:13.5px;color:var(--text-dim);margin-top:4px;}
.links-row-logo{display:block;width:200px;max-width:100%;height:auto;margin-bottom:10px;}

/* ---------- 30. Payment Status ---------- */
.payment-status-message{font-family:var(--font-display);font-size:22px;line-height:1.4;padding:24px;border-radius:12px;margin-bottom:16px;}
.payment-status-message.is-success{background:rgba(92,106,80,.1);color:var(--moss);}
.payment-status-message.is-error{background:rgba(156,74,48,.1);color:var(--clay);}
.payment-status-message.is-pending{background:var(--offwhite);color:var(--text-dim);}

/* ---------- 29. Booking Enquiry Form ---------- */
.enquiry-form{max-width:760px;}
.enquiry-form fieldset{border:none;padding:0;margin:0 0 40px;}
.enquiry-form legend{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin:0 0 20px;padding:0;width:100%;border-bottom:1px solid var(--line);padding-bottom:10px;}
.enquiry-form .form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.enquiry-form .form-row-group-title{grid-template-columns:110px 1fr 1fr;}
.enquiry-form .form-row select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--font-body);font-size:14px;background:var(--white);appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M1 1l4 4 4-4" stroke="%235E6459" stroke-width="1.4" fill="none"/></svg>');background-repeat:no-repeat;background-position:right 12px center;}
.enquiry-form .form-row select:focus{outline:2px solid var(--brass);outline-offset:1px;}
.enquiry-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--font-body);font-size:14px;resize:vertical;}
.enquiry-form textarea:focus{outline:2px solid var(--brass);outline-offset:1px;}
.enquiry-form .form-row{margin-bottom:18px;}

.enquiry-form .form-row.field-invalid input,
.enquiry-form .form-row.field-invalid select,
.enquiry-form .form-row.field-invalid textarea,
.enquiry-form .form-row.field-invalid .destination-grid{
	background:#FBEAE7;border-color:var(--clay);
}
.enquiry-form .form-row.field-invalid .destination-grid{padding:10px;border-radius:8px;border:1px solid var(--clay);}
.field-error-message{font-size:12px;color:var(--clay);margin-top:5px;min-height:1.2em;}

.destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
.destination-chip{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:6px 4px;cursor:pointer;}
.destination-chip input{width:16px;height:16px;accent-color:var(--brass);cursor:pointer;flex-shrink:0;}
.is-hidden{display:none;}
.enquiry-form .is-hidden{display:none;}
.form-row-checkbox{margin-bottom:12px;}
.form-row-checkbox label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-dim);cursor:pointer;}
.form-row-checkbox input[type="checkbox"]{margin-top:3px;flex-shrink:0;}
.enquiry-form button[type="submit"]{margin-top:8px;}

@media (max-width:700px){
  .enquiry-form .form-row-group,.enquiry-form .form-row-group-title{grid-template-columns:1fr;}
}

/* ---------- 26. Gallery Lightbox ---------- */
body.somak-lightbox-open{overflow:hidden;}
.js-lightbox-trigger{cursor:pointer;}

.somak-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(24,38,32,.97);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;}
.somak-lightbox.is-open{opacity:1;visibility:visible;transition:opacity .25s ease;}

.lb-stage{max-width:min(1200px,90vw);max-height:66vh;display:flex;align-items:center;justify-content:center;}
.lb-image{max-width:100%;max-height:66vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,.4);}
.lb-video-embed{width:min(1000px,88vw);height:min(562px,50vh);border:none;}

.lb-caption{color:var(--text-on-dark-dim);font-family:var(--font-mono);font-size:12.5px;text-align:center;margin-top:18px;max-width:80vw;min-height:1.2em;}

.lb-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;}
.lb-close:hover{background:rgba(255,255,255,.18);}

.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;}
.lb-arrow:hover{background:rgba(255,255,255,.18);}
.lb-prev{left:20px;}
.lb-next{right:20px;}
.lb-arrow svg{display:block;}

.lb-thumbs{display:flex;gap:10px;margin-top:26px;max-width:92vw;overflow-x:auto;padding:4px 4px 10px;scrollbar-width:thin;}
.lb-thumb{flex:0 0 auto;width:72px;height:52px;border-radius:6px;overflow:hidden;padding:0;border:2px solid transparent;opacity:.55;cursor:pointer;transition:opacity .2s ease,border-color .2s ease;background:none;}
.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.lb-thumb:hover{opacity:.85;}
.lb-thumb.is-active{opacity:1;border-color:var(--brass);}
.lb-thumb{position:relative;}
.lb-thumb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.lb-thumb-play::before{content:'';width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));}

.gallery-item.is-video{position:relative;background:var(--ink);}
.gallery-item .play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(26,26,26,.55);color:var(--white);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);transition:background .2s ease,transform .2s ease;}
.gallery-item.is-video:hover .play-badge{background:var(--brass);transform:translate(-50%,-50%) scale(1.06);}

/* Image badges — admin-uploaded, top-left corner, with a hover/focus/tap popover */
.somak-badge-stack{position:absolute;top:16px;left:16px;z-index:5;display:flex;flex-direction:column;gap:10px;}
.somak-badge{position:relative;}
.somak-badge img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.somak-badge.has-popover{cursor:pointer;}
.somak-badge-stack--large .somak-badge{width:90px;height:90px;}
.somak-badge-stack--small .somak-badge{width:56px;height:56px;}

/* position:fixed, not absolute — its position is calculated and set in
   JS (assets/js/main.js) relative to the viewport, deliberately
   escaping the image container's own overflow:hidden (needed there to
   crop photos to a fixed size), which would otherwise clip this too —
   confirmed that clipping directly (a real hover test showed the
   popover text cut off mid-word) before building it this way. */
.somak-badge-popover{
	position:fixed;z-index:200;
	width:220px;padding:12px 14px;border-radius:8px;
	background:var(--ink);color:var(--white);font-family:var(--font-body);font-size:13px;line-height:1.5;
	opacity:0;visibility:hidden;transform:translateX(-4px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s;
	pointer-events:none;
}
.somak-badge-popover.is-visible{opacity:1;visibility:visible;transform:translateX(0);}
@media (max-width:640px){
  .somak-badge-stack--large .somak-badge{width:64px;height:64px;}
  .somak-badge-popover{width:180px;}
}

@media (max-width:760px){
  .lb-arrow{width:44px;height:44px;}
  .lb-prev{left:8px;}
  .lb-next{right:8px;}
  .lb-stage{max-height:56vh;}
  .lb-image{max-height:56vh;}
  .lb-thumb{width:56px;height:40px;}
}
.team-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.team-card .body{padding:22px 24px 26px;}
.team-card h4{font-size:18px;font-weight:500;margin:0 0 4px;}
.team-card .role{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:14px;}
.team-card p{font-size:13.5px;line-height:1.65;color:var(--text-dim);margin:0;}

/* ---------- 23. Responsive ---------- */
@media (max-width:900px){
  nav.primary{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;gap:0;border-bottom:1px solid var(--line);z-index:20;max-height:calc(100vh - 100%);overflow-y:auto;}
  nav.primary.is-open{display:flex;}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .nav-item{width:100%;border-bottom:1px solid var(--line);}
  .nav-item>a,.nav-link{padding:16px 32px;width:100%;justify-content:space-between;}
  .nav-toggle{display:inline-flex;}

  /* Mega panels become inline accordions on mobile — no absolute
     positioning, no side-by-side columns, no hover: click-to-expand only
     (handled in main.js), matching the "no tabs" preference by unfolding
     content in place instead of hiding it behind a secondary control. */
  .mega-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-radius:0;border-top:none;border-bottom:none;max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .nav-item.is-open .mega-panel{max-height:2000px;transition:max-height .35s ease;}
  .mega-panel-inner{flex-direction:column;gap:0;padding:8px 32px 24px;}
  .mega-col{padding:14px 0;border-top:1px solid var(--line);}
  .mega-col-cta{border-left:none;justify-content:flex-start;padding-left:0;}
  .mega-col-flow{column-count:1;}
  .mega-col-flow-3{column-count:1;}

  .overview-grid,.wwli-grid,.location-grid{grid-template-columns:1fr;}
  .region-strip{grid-template-columns:1fr;}
  .country-grid,.card-grid,.nearby-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;}
  .holiday-grid{grid-template-columns:1fr;grid-auto-rows:220px;}
  .hc-feature,.hc-wide{grid-column:1;}
  .hc-feature{grid-row:span 2;}
  .article-grid{grid-template-columns:1fr;grid-template-rows:none;}
  .article-card.tall{grid-row:auto;height:280px;}
  .article-card{height:220px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}
  .g-a{grid-column:1/3;grid-row:1/2;}
  .g-f{grid-column:1/3;grid-row:2/3;}
  .facility-grid{grid-template-columns:1fr;}
  .day-body.has-img{grid-template-columns:1fr;}
  .timeline::before{left:38px;}
  .day-row{grid-template-columns:38px 1fr;gap:20px;}
  .day-dot{left:34px;}
  .day-badge .num{font-size:17px;}
  .testimonial-grid,.blog-list{grid-template-columns:1fr;}
  .blog-layout{grid-template-columns:1fr;gap:40px;}
  .blog-sidebar{position:static;}
  .story-row{grid-template-columns:1fr;gap:32px;}
  .csr-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:36px;}
  .signup-inner{flex-direction:column;align-items:flex-start;}
  .section-head-row{flex-direction:column;align-items:flex-start;}
  .facts-strip .wrap{flex-direction:column;}
  .fact{border-right:none;border-bottom:1px solid var(--line);}
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr);row-gap:24px;}
}
@media (max-width:600px){
  .country-grid,.card-grid,.nearby-grid{grid-template-columns:1fr;}
}


/* ==========================================================================
   COOKIEYES — Brand overrides
   CookieYes uses .cky- prefixed classes. These overrides apply the Somak
   palette and typography. All rules use !important to win over CookieYes
   defaults without modifying the plugin files.
   ========================================================================== */

/* ---- Banner ---- */
.cky-consent-bar{
  background:var(--ink) !important;
  border-top:3px solid var(--brass) !important;
  box-shadow:0 -4px 24px rgba(0,0,0,.2) !important;
  font-family:var(--font-body) !important;
}
.cky-title{
  font-family:var(--font-display) !important;
  font-size:18px !important;
  color:var(--white) !important;
  letter-spacing:-.005em !important;
}
.cky-notice-des,
.cky-notice-des p{
  color:rgba(255,255,255,.8) !important;
  font-family:var(--font-body) !important;
  font-size:13.5px !important;
  line-height:1.65 !important;
}
.cky-notice-des a{
  color:var(--brass) !important;
}
.cky-notice-des a:hover{
  color:#c9a055 !important;
}

/* ---- Buttons — banner ---- */
/* Accept All — brass solid */
.cky-btn-accept{
  background:var(--brass) !important;
  color:var(--ink) !important;
  border:none !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}
.cky-btn-accept:hover{
  background:#c9a055 !important;
}

/* Reject All — ghost */
.cky-btn-reject{
  background:transparent !important;
  color:rgba(255,255,255,.8) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}
.cky-btn-reject:hover{
  border-color:rgba(255,255,255,.7) !important;
  color:var(--white) !important;
}

/* Customise — text link style */
.cky-btn-customize{
  background:transparent !important;
  color:rgba(255,255,255,.6) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}
.cky-btn-customize:hover{
  color:var(--white) !important;
  border-color:rgba(255,255,255,.5) !important;
}

/* ---- Preferences modal ---- */
.cky-modal{
  font-family:var(--font-body) !important;
}
.cky-modal-title{
  font-family:var(--font-display) !important;
  font-size:22px !important;
  color:var(--ink) !important;
  letter-spacing:-.005em !important;
}
.cky-accordion-header-des,
.cky-accordion-body-text{
  font-family:var(--font-body) !important;
  font-size:13.5px !important;
  color:var(--text) !important;
  line-height:1.65 !important;
}
.cky-accordion-header-btn{
  font-family:var(--font-body) !important;
  font-size:15px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
}
.cky-always-active{
  color:var(--brass) !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.06em !important;
}
/* Toggle — brass when on */
.cky-switch input:checked + .cky-slider{
  background:var(--brass) !important;
}
.cky-slider{
  border-radius:99px !important;
}
/* Category dividers */
.cky-accordion-item{
  border-bottom:1px solid var(--line) !important;
}

/* Modal buttons */
.cky-btn-accept-all{
  background:var(--brass) !important;
  color:var(--ink) !important;
  border:none !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}
.cky-btn-accept-all:hover{ background:#c9a055 !important; }

.cky-btn-preferences{
  background:var(--ink) !important;
  color:var(--white) !important;
  border:none !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}

.cky-btn-reject-all{
  background:transparent !important;
  color:var(--text-dim) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  font-family:var(--font-mono) !important;
  font-size:11px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  padding:10px 20px !important;
}
.cky-btn-reject-all:hover{
  border-color:var(--ink) !important;
  color:var(--ink) !important;
}

/* Close button */
.cky-modal-close svg path{ stroke:var(--ink) !important; }

/* Mobile */
@media(max-width:600px){
  .cky-btn-accept,
  .cky-btn-reject,
  .cky-btn-customize{ width:100% !important; margin-top:6px !important; }
}
