/* Creatixbiz Stay — front-end styles */
/* DM Sans (variable, SIL OFL 1.1) — self-hosted, see assets/fonts/OFL.txt */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --cb-font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cb-accent:#1E7F8C;
  --cb-accent-ink:#fff;
  --cb-bg:#F7F5F2;
  --cb-card:#fff;
  --cb-ink:#1A2A28;
  --cb-mut:#566260;
  --cb-line:#E8E4DE;
  --cb-soft:#EEE9E0;
  --cb-dark-green:#12302F;
  --cb-dark:#0F1F1E;
  --cb-radius:14px;
  --cb-nav-shadow:0 4px 24px rgba(15,31,30,.07);
  --cb-shadow:0 2px 4px rgba(15,31,30,.04),0 12px 32px rgba(15,31,30,.06);
}
@media (prefers-color-scheme:dark){
  :root{--cb-bg:#0D1B1B;--cb-card:#152826;--cb-ink:#E6F0EE;--cb-mut:#93ABA8;--cb-line:#223B38;--cb-soft:#1B3330;--cb-dark:#0A1414;--cb-shadow:none;--cb-nav-shadow:0 4px 18px rgba(0,0,0,.4)}
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cb-bg);color:var(--cb-ink);font:16px/1.6 var(--cb-font);-webkit-font-smoothing:antialiased}
body.has-mobile-bar{padding-bottom:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--cb-accent)}
h1,h2,h3{font-family:var(--cb-font);line-height:1.2;margin:0 0 .5em;font-weight:600}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed!important;left:8px;top:8px;width:auto;height:auto;clip:auto;background:#fff;color:#000;padding:8px 12px;z-index:100}
.cb-wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.cb-narrow{max-width:760px}
.cb-center{text-align:center}
.cb-page{padding:36px 0 60px}
.cb-title{font-size:clamp(28px,4.5vw,42px)}
.cb-h2{font-size:clamp(26px,3.4vw,34px);margin:0 0 10px;font-weight:650;letter-spacing:-.02em}
.cb-section-head{margin-bottom:28px}
.cb-section-head .cb-h2:last-child{margin-bottom:0}
.cb-section-head--center{text-align:left} /* kept for BC; all heads are left */
.cb-sub{margin:0;color:var(--cb-mut);font-size:16px;line-height:1.6;max-width:38em}
.cb-h3{font-size:22px;margin:32px 0 12px}
.cb-meta,.cb-fine{color:var(--cb-mut);font-size:14px}
.cb-eyebrow{color:var(--cb-accent);font-size:14px;font-weight:600;margin:0 0 6px}

/* Buttons */
.cb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cb-accent);color:var(--cb-accent-ink);border:0;border-radius:10px;padding:13px 22px;font:600 15px/1.2 inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s}
.cb-btn:hover{filter:brightness(1.08)}
.cb-btn:active{transform:translateY(1px)}
.cb-btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--cb-accent);outline-offset:2px}
.cb-btn--sm{padding:9px 14px;font-size:14px}
.cb-btn--block{display:flex;width:100%}
.cb-btn--ghost{background:transparent;color:var(--cb-accent);border:1px solid var(--cb-accent)}
.cb-btn--ghost:hover{background:var(--cb-accent);color:var(--cb-accent-ink);filter:none}
.cb-btn--light{background:#fff;color:#12302F}
.cb-btn--wa{background:#1FAF5B;color:#fff}
.cb-btn--dark{background:var(--cb-dark);color:#fff}
.cb-btn[disabled]{opacity:.5;cursor:not-allowed}

/* Header */
.cb-header{background:var(--cb-card);box-shadow:var(--cb-nav-shadow);position:sticky;top:0;z-index:50}
.cb-header-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
.cb-brand{font:600 21px var(--cb-font);color:var(--cb-ink);text-decoration:none}
.cb-brand img{max-height:40px;width:auto}
.cb-nav{display:flex;align-items:center;gap:22px}
.cb-menu{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.cb-menu a{color:var(--cb-ink);text-decoration:none;font-size:15px}
.cb-menu a:hover{color:var(--cb-accent)}
.cb-nav-toggle{display:none;background:none;border:1px solid var(--cb-line);border-radius:8px;width:42px;height:42px;cursor:pointer;color:var(--cb-ink)}
.cb-nav-toggle i,.cb-nav-toggle i::before,.cb-nav-toggle i::after{display:block;width:18px;height:2px;background:currentColor;margin:auto;position:relative;content:""}
.cb-nav-toggle i::before{position:absolute;top:-6px;left:0}
.cb-nav-toggle i::after{position:absolute;top:6px;left:0}
.cb-nav-close,.cb-nav-overlay{display:none}
@media (max-width:820px){
  .cb-nav-toggle{display:block}
  .cb-nav{position:fixed;top:0;right:0;bottom:0;width:clamp(200px,58vw,280px);background:var(--cb-card);box-shadow:-12px 0 40px rgba(0,0,0,.2);flex-direction:column;align-items:stretch;padding:72px 18px 28px;gap:18px;overflow-y:auto;overscroll-behavior:contain;z-index:2;transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}
  .cb-nav.is-open{transform:none;visibility:visible;transition:transform .3s ease,visibility 0s}
  .cb-menu{flex-direction:column;gap:0}
  .cb-menu>li>a{padding:12px 0;border-bottom:1px solid var(--cb-line)}
  .cb-nav .cb-btn{text-align:center}
  .cb-nav-close{display:block;position:absolute;top:14px;right:16px;width:42px;height:42px;background:none;border:1px solid var(--cb-line);border-radius:8px;cursor:pointer;color:var(--cb-ink)}
  .cb-nav-close i,.cb-nav-close i::before{display:block;width:18px;height:2px;background:currentColor;margin:auto;position:relative;content:"";transform:rotate(45deg)}
  .cb-nav-close i::before{position:absolute;top:0;left:0;transform:rotate(90deg)}
  .cb-nav-overlay{display:block;position:fixed;inset:0;background:rgba(10,18,18,.55);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;z-index:1}
  .cb-nav-overlay.is-open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s}
  body.cb-nav-open{overflow:hidden}
  body.cb-nav-open .cb-header.cb-header{z-index:1000}
  body.cb-nav-open .cb-masthead{z-index:1000}
}
@media (max-width:782px){body.admin-bar .cb-nav{top:46px}}
@media (min-width:783px) and (max-width:820px){body.admin-bar .cb-nav{top:32px}}

/* ---- Modern header (transparent over hero / masthead) ---- */
body.cb-header-style-modern .cb-header--modern{
  position:relative;top:auto;background:transparent;box-shadow:none;z-index:60;margin-top:16px
}
body.cb-header-over-hero .cb-header--modern{
  position:absolute;left:0;right:0;top:16px;margin-top:0
}
body.cb-header-style-modern .cb-header--modern .cb-brand{color:#fff}
body.cb-header-style-modern .cb-header--modern .cb-brand img{max-height:65px;}
@media (max-width:720px){
	body.cb-header-style-modern .cb-header--modern .cb-brand img{max-height:45px;}
	body.cb-header-style-modern .cb-header--modern {margin-top: 5px;}
}


body.cb-header-style-modern .cb-header--modern .cb-menu>li>a{
  position:relative;color:rgba(255,255,255,.92);padding:8px 14px;border-radius:8px;transition:color .15s
}
body.cb-header-style-modern .cb-header--modern .cb-menu>li>a:hover,
body.cb-header-style-modern .cb-header--modern .cb-menu>li:hover>a,
body.cb-header-style-modern .cb-header--modern .cb-menu>.current-menu-item>a,
body.cb-header-style-modern .cb-header--modern .cb-menu>.current_page_item>a,
body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-ancestor>a,
body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-parent>a{
  color:#fff;background:none
}
/* Underline under the hovered / current menu item (desktop) */
@media (min-width:821px){
  body.cb-header-style-modern .cb-header--modern .cb-menu>li>a::before{
    content:"";position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:3px;
    background:var(--cb-accent);opacity:0;transform:scaleX(.4);transition:opacity .2s ease,transform .2s ease
  }
  body.cb-header-style-modern .cb-header--modern .cb-menu>li>a:hover::before,
  body.cb-header-style-modern .cb-header--modern .cb-menu>li:hover>a::before,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.current-menu-item>a::before,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.current_page_item>a::before,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-ancestor>a::before,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-parent>a::before{
    opacity:1;transform:scaleX(1)
  }
}
body.cb-header-style-modern .cb-header--modern .cb-btn{
  background:var(--cb-accent);color:#fff;border:0
}
body.cb-header-style-modern .cb-header--modern .cb-btn:hover{
  filter:brightness(1.08)
}
body.cb-header-style-modern .cb-header--modern .cb-nav-toggle{
  border-color:rgba(255,255,255,.35);color:#fff
}
body.cb-header-style-modern .cb-header--modern .cb-menu .sub-menu{
  background:rgba(15,24,28,.94);border-color:rgba(255,255,255,.12);box-shadow:0 16px 40px rgba(0,0,0,.35)
}
body.cb-header-style-modern .cb-header--modern .cb-menu .sub-menu a{color:rgba(255,255,255,.9)}
body.cb-header-style-modern .cb-header--modern .cb-menu .sub-menu a:hover{
  background:var(--cb-accent);color:#fff
}
@media (max-width:820px){
  body.cb-header-style-modern .cb-header--modern .cb-nav{
    background:rgba(12,18,22,.98);box-shadow:-12px 0 40px rgba(0,0,0,.5)
  }
  body.cb-header-style-modern .cb-header--modern .cb-nav-close{border-color:rgba(255,255,255,.35);color:#fff}
  body.cb-header-style-modern .cb-header--modern .cb-menu>li>a{padding:12px;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0}
  body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children>a{padding-right:44px}
  body.cb-header-style-modern .cb-header--modern .cb-menu>li>a:hover,
  body.cb-header-style-modern .cb-header--modern .cb-menu>li:hover>a{background:none;box-shadow:none;color:var(--cb-accent)}
  body.cb-header-style-modern .cb-header--modern .cb-menu>.current-menu-item>a,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.current_page_item>a,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-ancestor>a,
  body.cb-header-style-modern .cb-header--modern .cb-menu>.menu-item-has-children.current-menu-parent>a{background:none;box-shadow:none;color:var(--cb-accent)}
  body.cb-header-style-modern .cb-header--modern .cb-menu .sub-menu{background:transparent;border:0;box-shadow:none}
  body.cb-header-style-modern .cb-header--modern .cb-menu .sub-menu a:hover{background:none;color:var(--cb-accent)}
}

/* Masthead (modern, non-homepage): first hero slide as background + page title */
.cb-masthead{
  position:relative;isolation:isolate;
  background-color:var(--cb-dark);
  min-height:clamp(160px,22vw,260px);
  display:flex;flex-direction:column;justify-content:space-between
}
.cb-masthead.has-image{
  background-image:
    linear-gradient(180deg,rgba(10,14,18,.75) 0%,rgba(10,14,18,.5) 40%,rgba(10,14,18,.65) 100%),
    var(--cb-masthead-img);
  background-size:cover;
  background-position:center
}
/* Masthead without an image: same dark overlays as the hero (slide overlay + header shade) */
.cb-masthead:not(.has-image){
  background-image:
    linear-gradient(180deg,rgba(8,12,16,.55) 0%,rgba(8,12,16,0) 100%),
    linear-gradient(180deg,rgba(8,18,20,.5) 0%,rgba(8,18,20,.28) 45%,rgba(8,18,20,.62) 100%);
  background-size:100% 140px,100% 100%;
  background-repeat:no-repeat
}
.cb-masthead .cb-header--modern{position:relative;z-index:2}
.cb-masthead-title{position:relative;z-index:1;padding:16px 0 28px}
.cb-masthead-heading{
  margin:0;color:#fff;font:600 clamp(24px,3.5vw,36px)/1.2 var(--cb-font);
  text-shadow:0 2px 18px rgba(0,0,0,.35)
}
@media (max-width:820px){
  .cb-masthead{min-height:clamp(140px,28vw,200px)}
  .cb-masthead-title{padding:12px 0 22px}
}
@media (max-width:560px){
  .cb-masthead{min-height:130px}
  .cb-masthead-title{padding:10px 0 18px}
}
body.cb-header-over-hero .cb-hero{position:relative}
body.cb-header-over-hero .cb-hero-stage::before{
  content:"";position:absolute;left:0;right:0;top:0;height:140px;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,12,16,.55) 0%,rgba(8,12,16,0) 100%)
}
body.cb-header-over-hero .cb-header--modern{z-index:5}

/* Menu + dropdown submenu */
.cb-menu{align-items:center}
.cb-menu li{position:relative}
.cb-menu>li{display:flex;align-items:center;min-height:64px}
.cb-menu a{display:block}
.cb-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 8px}
.cb-menu .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:-14px;min-width:200px;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:12px;box-shadow:0 12px 32px rgba(18,48,47,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.cb-menu li:hover>.sub-menu,.cb-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.cb-menu .sub-menu li{display:block;min-height:0}
.cb-menu .sub-menu a{padding:9px 12px;border-radius:8px;white-space:nowrap;font-size:14px}
.cb-menu .sub-menu a:hover{background:var(--cb-soft)}
.cb-menu .sub-menu .menu-item-has-children>a::after{transform:rotate(-45deg);float:right;margin:7px 0 0 14px}
.cb-menu .sub-menu .sub-menu{top:-9px;left:calc(100% + 4px)}
.cb-sub-toggle{display:none}
@media (max-width:820px){
  .cb-menu{align-items:stretch}
  .cb-menu>li{display:block;min-height:0}
  .cb-menu .menu-item-has-children>a::after{display:none}
  .cb-menu .menu-item-has-children{position:relative}
  .cb-menu .menu-item-has-children>a{padding-right:44px}
  .cb-sub-toggle{display:grid;position:absolute;top:3px;right:0;width:38px;height:38px;background:none;border:0;border-radius:8px;cursor:pointer;color:inherit;place-items:center;padding:0}
  .cb-sub-toggle i{display:block;width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .menu-item-has-children.is-sub-open>.cb-sub-toggle i{transform:translateY(2px) rotate(225deg)}
  .cb-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;background:none;padding:2px 0 6px 12px;margin:2px 0 6px 14px;min-width:0;display:none;gap:0}
  .cb-menu .is-sub-open>.sub-menu{display:grid}
  .cb-menu .sub-menu li{display:block}
  .cb-menu .sub-menu a{padding:9px 0;font-size:14px;white-space:normal;border-bottom:0}
  .cb-menu .sub-menu a:hover{background:none;color:var(--cb-accent)}
  .cb-menu .sub-menu .sub-menu{position:static;padding-top:2px}
}

/* Hero */
.cb-hero{position:relative;background:var(--cb-dark);color:#fff;overflow:hidden}
.cb-slide{display:none;position:relative;min-height:clamp(480px,68vw,700px);align-items:flex-start}
.cb-slide.is-active{display:flex;animation:cbfade .7s ease}
@keyframes cbfade{from{opacity:0}to{opacity:1}}
.cb-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cb-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,20,.55) 0%,rgba(8,18,20,.4) 40%,rgba(8,18,20,.65) 100%);pointer-events:none}
.cb-slide--plain{background:linear-gradient(135deg,var(--cb-accent),#0D3B40)}
.cb-slide--plain::after{display:none}
.cb-slide-text{position:relative;z-index:1;padding:56px 0 160px;max-width:720px;margin-left:max(16px,calc((100% - 1120px)/2))}
.cb-slide-text h1{font-size:clamp(36px,6vw,58px);margin-bottom:14px;font-weight:700;letter-spacing:-.03em;line-height:1.08;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.cb-slide-text p{font-size:clamp(16px,2.1vw,20px);opacity:.94;margin:0 0 26px;max-width:48ch;line-height:1.55}
.cb-slide-text .cb-btn{box-shadow:0 8px 28px rgba(0,0,0,.28);padding:14px 26px}
.cb-dots{position:absolute;top:16px;right:20px;left:auto;bottom:auto;display:flex;gap:8px;justify-content:flex-end;z-index:3;padding:0}
.cb-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:transform .15s,background .15s}
.cb-dots button.is-active{background:#fff;transform:scale(1.15)}
.cb-hero-search{position:absolute;left:0;right:0;bottom:28px;z-index:4}
.cb-hero-search .cb-search{margin:0}

/* Search */
.cb-search{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:16px;padding:18px 20px;box-shadow:0 12px 40px rgba(15,31,30,.12)}
.cb-search-wrap{margin-top:-44px;position:relative;z-index:2}
.cb-search-row,.cb-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:end}
.cb-form-row--2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cb-field{display:block;margin-bottom:12px}
.cb-search-row .cb-field{margin:0}
.cb-field span{display:block;font-size:13px;color:var(--cb-mut);margin-bottom:4px}
.cb-field input,.cb-field select,.cb-field textarea,.cb-filters input[type=number],.cb-filters select{width:100%;padding:10px 11px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit}
.cb-seg{display:inline-flex;gap:4px;border:1px solid var(--cb-line);border-radius:9px;padding:3px;margin-bottom:14px;flex-wrap:wrap}
.cb-seg label{margin:0}
.cb-seg input{position:absolute;opacity:0;pointer-events:none}
.cb-seg span{display:block;padding:7px 14px;border-radius:7px;font-size:14px;cursor:pointer;color:var(--cb-mut)}
.cb-seg input:checked+span{background:var(--cb-accent);color:var(--cb-accent-ink)}
.cb-seg input:focus-visible+span{outline:2px solid var(--cb-accent);outline-offset:2px}
.cb-pagehead{background:var(--cb-soft);border-bottom:1px solid var(--cb-line);padding:30px 0 24px}
.cb-pagehead .cb-title{margin-bottom:16px}

/* Sections */
.cb-section{padding:72px 0}
.cb-section--alt{background:var(--cb-soft)}
.cb-section + .cb-section--alt,
.cb-section--alt + .cb-section{/* rhythm */}
.cb-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.cb-feature{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:22px}
.cb-feature h3{font-size:19px}
.cb-feature p{margin:0;color:var(--cb-mut)}
.cb-cta{background:var(--cb-accent);color:var(--cb-accent-ink);text-align:center;padding:54px 0}
.cb-cta h2{font-size:clamp(24px,3.4vw,34px)}
.cb-cta p{opacity:.92;margin:0 0 20px}

/* Cards */
.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.cb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.cb-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cb-grid--3{grid-template-columns:1fr}}
.cb-grid--2{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cb-card{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--cb-shadow);transition:transform .2s ease,box-shadow .2s ease}
.cb-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(15,31,30,.1)}
.cb-card.is-out{opacity:.62}
.cb-card-img{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:var(--cb-soft)}
.cb-card-img img,.cb-placeholder{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cb-card:hover .cb-card-img img{transform:scale(1.04)}
.cb-placeholder{min-height:100%}
.cb-chip{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:3px 9px;border-radius:20px}
.cb-card-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.cb-card-body h3{font-size:19px;margin:0}
.cb-card-body h3 a{color:inherit;text-decoration:none}
.cb-card-body .cb-btn{margin-top:auto;align-self:flex-start}
.cb-specs{margin:0;color:var(--cb-mut);font-size:14px}
.cb-price strong{font:700 24px var(--cb-font);letter-spacing:-.02em}
.cb-price span{color:var(--cb-mut);font-size:13px}
.cb-price--alt{color:var(--cb-mut);font-size:14px}
.cb-avail{margin:2px 0 6px;font-size:13px}
.cb-avail.is-ok{color:#1A7F4B}
.cb-avail.is-no{color:#B4472F}

/* Archive */
.cb-archive{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:28px 0 60px;align-items:start}
.cb-filters{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:16px}
.cb-filters summary{font-weight:600;cursor:pointer;margin-bottom:8px}
.cb-filters fieldset{border:0;padding:0;margin:0 0 16px}
.cb-filters legend{font-size:13px;color:var(--cb-mut);margin-bottom:6px;padding:0}
.cb-check{display:block;font-size:14px;margin-bottom:4px}
.cb-pricerange{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cb-reset{margin-left:10px;font-size:14px}
.cb-summary{margin:0 0 16px;color:var(--cb-mut)}
.cb-notice{background:var(--cb-soft);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:16px 18px;margin-bottom:16px}
.cb-notice h3{font-size:19px;margin-bottom:6px}
.cb-notice p{margin:0 0 8px}
.cb-notice--ok{border-color:#1FAF5B}
.cb-notice--err{border-color:#B4472F;background:rgba(180,71,47,.08)}
.navigation.pagination{margin-top:26px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap}
.page-numbers{padding:8px 13px;border:1px solid var(--cb-line);border-radius:8px;text-decoration:none;color:var(--cb-ink);background:var(--cb-card)}
.page-numbers.current{background:var(--cb-accent);color:var(--cb-accent-ink);border-color:var(--cb-accent)}
@media (max-width:860px){.cb-archive{grid-template-columns:1fr}}

/* Single room */
.cb-crumbbar{background:var(--cb-card);border-bottom:1px solid var(--cb-line)}
.cb-crumbs{font-size:14px;color:var(--cb-mut);padding:14px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cb-crumbs a{color:var(--cb-mut);text-decoration:none}
.cb-crumbs a:hover{color:var(--cb-accent)}
.cb-sep{opacity:.6}
.cb-crumb-now{color:var(--cb-ink);font-weight:600}
.cb-room{padding-top:36px}
@media (max-width:560px){
	.cb-room{padding-top:24px}
	.cb-page{padding-top:30px}
	.cb-checkout{padding-top:24px !important}
	.cb-blog.cb-page{padding-top:24px !important}
}
.cb-room-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;padding-bottom:60px}
.cb-room-main,.cb-gallery,.cb-thumbs-wrap{min-width:0;max-width:100%}
.cb-ico{flex:0 0 auto}
.cb-gallery-main{border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:var(--cb-soft);cursor:zoom-in}
.cb-gallery-main img,.cb-gallery-main .cb-placeholder{width:100%;height:100%;object-fit:cover;display:block}
.cb-thumbs-wrap{position:relative;margin-top:10px}
.cb-thumbs{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}
.cb-thumbs::-webkit-scrollbar{display:none}
.cb-thumb{border:0;border-radius:12px;padding:0;background:none;cursor:pointer;flex:0 0 calc((100% - 30px)/4);max-width:calc((100% - 30px)/4);overflow:hidden;opacity:.4;transition:opacity .15s;min-width:0}
.cb-thumb:hover{opacity:.85}
.cb-thumb.is-active{opacity:1}
.cb-thumb img{width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.cb-thumbs-next{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:var(--cb-card);color:var(--cb-ink);box-shadow:0 2px 8px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cb-thumbs-next .cb-ico{width:18px;height:18px}
.cb-block,.cb-widget,.cb-booking{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:16px;padding:22px;box-shadow:var(--cb-shadow)}
.cb-block{margin-top:20px}
.cb-room-head{margin-top:20px}
.cb-block-title{display:flex;align-items:center;gap:10px;font:600 17px var(--cb-font);margin:0 0 16px}
.cb-block-title .cb-ico{color:var(--cb-accent)}
.cb-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.cb-tag{background:var(--cb-soft);color:var(--cb-accent);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.cb-room-head .cb-title{font-size:clamp(24px,3.4vw,32px);margin-bottom:12px}
.cb-head-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--cb-line);padding-top:16px}
.cb-head-price .cb-price strong{font-size:30px;color:var(--cb-accent)}
.cb-head-price .cb-price--alt{font-size:13px}
.cb-updated{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--cb-mut)}
.cb-updated .cb-ico{width:14px;height:14px}
.cb-specgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.cb-specgrid div{background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:12px;padding:16px 12px;text-align:center}
.cb-spec-ico{display:inline-flex;width:38px;height:38px;border-radius:10px;background:var(--cb-soft);color:var(--cb-accent);align-items:center;justify-content:center;margin-bottom:8px}
.cb-specgrid strong{display:block;font:600 17px var(--cb-font)}
.cb-spec-label{display:block;font-size:12px;color:var(--cb-mut)}
/* Desktop: 5 cards → 3 top + 2 bottom (full width); 6 cards → 3 + 3 */
@media (min-width:721px){
	.cb-specgrid--5{grid-template-columns:repeat(6,minmax(0,1fr))}
	.cb-specgrid--5 > :nth-child(-n+3){grid-column:span 2}
	.cb-specgrid--5 > :nth-child(n+4){grid-column:span 3}
	.cb-specgrid--6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Mobile: 5 cards → 2+2 top, last card full width */
@media (max-width:720px){
	.cb-specgrid--5{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cb-specgrid--5 > :last-child{grid-column:1 / -1}
}
.cb-amenities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.cb-amenities li{display:flex;align-items:center;gap:10px;background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:10px;padding:10px 14px;font-size:14px}
.cb-amenities .cb-ico{width:16px;height:16px;color:var(--cb-accent)}
.cb-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}
.cb-dl dt{color:var(--cb-mut)}.cb-dl dd{margin:0}
.cb-content>:first-child{margin-top:0}.cb-content>:last-child{margin-bottom:0}
.cb-content{color:var(--cb-mut)}
.cb-video,.cb-map{border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--cb-soft)}
.cb-video iframe,.cb-map iframe{width:100%;height:100%;border:0}
.cb-room-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:20px}

body.cb-header-style-modern .cb-room-side{top:36px}

.cb-pricebox .cb-price strong{font-size:32px;color:var(--cb-accent)}
.cb-pricebox p{margin:4px 0 0}
.cb-minispecs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.cb-minispecs div{background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:10px;padding:10px 12px}
.cb-minispecs strong{display:block;font-size:15px;line-height:1.3}
.cb-minispecs span{font-size:12px;color:var(--cb-mut)}
.cb-booking h2{font:600 17px var(--cb-font);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--cb-line)}
.cb-quote{background:var(--cb-soft);border-radius:9px;padding:12px 14px;margin:2px 0 14px;font-size:14px}
.cb-quote p{margin:0}
.cb-quote-total{display:flex;justify-content:space-between;font-size:18px;font-weight:700;margin-top:6px}
.cb-quote.is-bad{background:rgba(180,71,47,.1);color:#B4472F}
.cb-contactbtns{display:grid;gap:10px}
.cb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:960px){.cb-room-grid{grid-template-columns:minmax(0,1fr)}.cb-room-side{position:static}}
@media (max-width:560px){
	.cb-thumb{flex:0 0 calc((100% - 24px)/4);max-width:calc((100% - 24px)/4)}
	.cb-thumbs{gap:8px}
	.cb-thumbs-next{width:24px;height:24px;right:6px}
	.cb-thumbs-next .cb-ico{width:14px;height:14px}
	.cb-block,.cb-widget,.cb-booking{padding:18px}
}

/* Lightbox */
.cb-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;z-index:200;cursor:zoom-out;padding:20px}
.cb-lightbox img{max-height:92vh;max-width:96vw;border-radius:8px}

/* Posts */
.cb-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.cb-post{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:16px}
.cb-post h2{font-size:20px}.cb-post h2 a{color:inherit;text-decoration:none}
.cb-content{overflow-wrap:break-word}.cb-content img{border-radius:8px}
.cb-featured{margin:0 0 20px;border-radius:var(--cb-radius);overflow:hidden}

/* Footer */
.cb-footer{background:var(--cb-footer-bg,#12302F);color:#B4C6C4;padding:56px 0 0;margin-top:0;font-size:15px}
.cb-footer a{color:inherit;text-decoration:none}
.cb-footer a:hover,.cb-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.cb-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px 48px;align-items:start;padding-bottom:44px}
.cb-footer-grid.has-2{grid-template-columns:1.3fr 1fr}
.cb-fcol{min-width:0}
.cb-footer-brand{font:600 22px var(--cb-font);color:inherit;margin:0 0 14px;line-height:1.2}
.cb-footer-logo{display:block;max-height:48px;width:auto;margin:0 0 16px}
.cb-footer-text{margin:0 0 18px;max-width:38ch;line-height:1.65}
.cb-footer-h{font:700 15px var(--cb-font);color:inherit;margin:0 0 16px;letter-spacing:.06em;text-transform:uppercase}
.cb-contact,.cb-footer-menu,.cb-social{list-style:none;margin:0;padding:0}
.cb-footer-menu{display:grid;gap:6px}
.cb-footer-menu li{display:flex;align-items:center;gap:12px;line-height:1.6}
.cb-footer-menu li::before{content:"";flex:0 0 auto;width:6px;height:6px;margin-left:-2px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.cb-contact{display:grid;gap:6px}
.cb-contact li{display:flex;gap:12px;align-items:flex-start;line-height:1.6}
.cb-contact .cb-ico{flex:0 0 16px;width:16px;height:16px;margin-top:4px;color:inherit}
.cb-social{display:flex;flex-wrap:wrap;gap:6px}
.cb-social a{position:relative;display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;color:inherit}
.cb-social a::before{content:"";position:absolute;inset:0;border:1px solid currentColor;border-radius:50%;opacity:.4;transition:opacity .15s}
.cb-social a:hover,.cb-social a:focus-visible{text-decoration:none}
.cb-social a:hover::before,.cb-social a:focus-visible::before{opacity:1}
.cb-copy{position:relative;padding-block:20px;font-size:14px;color:inherit}
.cb-copy::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.18}
@media (max-width:980px){.cb-footer-grid,.cb-footer-grid.has-2{grid-template-columns:1fr 1fr}.cb-fcol--brand{grid-column:1/-1}}
@media (max-width:560px){.cb-footer{padding-top:40px}.cb-footer-grid,.cb-footer-grid.has-2{grid-template-columns:1fr;gap:30px}.cb-footer-text{max-width:none}}

/* Mobile contact bar */
.cb-mobilebar{display:none}
@media (max-width:760px){
  .cb-mobilebar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--cb-card);border-top:1px solid var(--cb-line);z-index:60}
  .cb-mobilebar .cb-btn{flex:1;padding:10px 8px;font-size:14px;white-space:nowrap}
  .cb-mobilebar .cb-btn--call{background:var(--cb-accent);color:var(--cb-accent-ink)}
  body.has-mobile-bar{padding-bottom:64px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Homepage sections */
.cb-section--tight{padding:40px 0 10px}
.cb-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.cb-cat{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--cb-radius);overflow:hidden;text-decoration:none;color:#fff;background:linear-gradient(135deg,hsl(var(--h) 40% 34%),hsl(calc(var(--h) + 40) 45% 58%))}
.cb-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cb-cat:hover img{transform:scale(1.05)}
.cb-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 62%)}
.cb-cat-label{position:absolute;left:14px;bottom:12px;z-index:1;display:flex;flex-direction:column}
.cb-cat-label strong{font:600 19px var(--cb-font)}
.cb-cat-label small{opacity:.88}
.cb-facilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.cb-facilities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cb-facilities{grid-template-columns:1fr}}
.cb-facility{display:flex;gap:16px;align-items:flex-start;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.cb-facility:hover{transform:translateY(-2px);box-shadow:var(--cb-shadow);border-color:transparent}
.cb-facility-icon{flex:0 0 52px;height:52px;border-radius:14px;background:var(--cb-soft);color:var(--cb-accent);display:flex;align-items:center;justify-content:center}
.cb-facility-icon svg{width:24px;height:24px}
.cb-facility h3{font:600 16px var(--cb-font);margin:0 0 4px}
.cb-facility p{margin:0;color:var(--cb-mut);font-size:14px;line-height:1.5}
.cb-about{display:grid;gap:48px;align-items:center}
.cb-about.has-image{grid-template-columns:1.05fr 1fr}
.cb-about-media{position:relative}
.cb-about-img img{border-radius:var(--cb-radius);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--cb-shadow)}
.cb-about-media.has-collage{padding:0 8% 10% 0}
.cb-about-media.has-collage .cb-about-img--main img{aspect-ratio:5/4}
.cb-about-media.has-collage .cb-about-img--sec{position:absolute;right:0;bottom:0;width:48%;}
.cb-about-media.has-collage .cb-about-img--sec img{aspect-ratio:1;border:5px solid var(--cb-card);box-shadow:0 12px 36px rgba(15,31,30,.14)}
.cb-about-text p{color:var(--cb-mut);line-height:1.7;margin:0 0 16px}
.cb-points{list-style:none;margin:16px 0 22px;padding:0;display:grid;gap:8px}
.cb-points li{padding-left:28px;position:relative}
.cb-points li::before{content:"✓";position:absolute;left:0;color:var(--cb-accent);font-weight:700}
.cb-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
@media (max-width:720px){.cb-steps{grid-template-columns:1fr}}
.cb-steps li{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:28px 22px;transition:box-shadow .2s,transform .2s;text-align:center;display:flex;flex-direction:column;align-items:center}
.cb-steps li:hover{box-shadow:var(--cb-shadow);transform:translateY(-2px)}
.cb-steps h3{font-size:19px;margin:0 0 8px}
.cb-steps p{margin:0;color:var(--cb-mut);line-height:1.55;max-width:28em}
.cb-step-n{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--cb-accent);color:var(--cb-accent-ink);align-items:center;justify-content:center;font-weight:700;margin-bottom:14px;font-size:16px}
.cb-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:720px){.cb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cb-gallery-grid--masonry{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:12px;gap:12px}
.cb-gallery-grid--masonry .cb-gimg{grid-row:span 14}
.cb-gallery-grid--masonry .cb-gimg.is-featured{grid-column:span 2;grid-row:span 28}
@media (max-width:900px){
  .cb-gallery-grid--masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  .cb-gallery-grid--masonry .cb-gimg,.cb-gallery-grid--masonry .cb-gimg.is-featured{grid-column:auto;grid-row:auto}
}
.cb-gimg{display:block;width:100%;padding:0;border:0;border-radius:var(--cb-radius);overflow:hidden;cursor:zoom-in;background:var(--cb-soft);aspect-ratio:4/3}
.cb-gimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}
.cb-gimg:hover img{transform:scale(1.05)}
.cb-gallery-grid--masonry .cb-gimg{aspect-ratio:auto;height:100%}
.cb-gallery-grid--masonry .cb-gimg img{min-height:100%}
.cb-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.cb-review{margin:0;background:var(--cb-card);border:1px solid transparent;border-radius:var(--cb-radius);padding:28px 24px;box-shadow:var(--cb-shadow);text-align:center;display:flex;flex-direction:column;align-items:center}
.cb-review .cb-review-foot{justify-content:center}
.cb-review blockquote{text-align:center}
.cb-stars{color:#E3A72F;letter-spacing:2px;font-size:18px}
.cb-review blockquote{margin:10px 0 14px}
.cb-review figcaption{font-size:14px}.cb-review figcaption span{color:var(--cb-mut)}
.cb-location{display:grid;gap:36px;align-items:start}
.cb-location.has-map{grid-template-columns:1fr 1.05fr}
.cb-location .cb-map,.cb-map{border-radius:var(--cb-radius);overflow:hidden;box-shadow:var(--cb-shadow);border:1px solid var(--cb-line)}
.cb-map iframe,.cb-map img{display:block;width:100%;border:0}
.cb-address{color:var(--cb-mut)}
.cb-nearby{list-style:none;margin:14px 0 18px;padding:0;border-top:1px solid var(--cb-line)}
.cb-nearby li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--cb-line)}
.cb-nearby em{font-style:normal;color:var(--cb-mut)}
.cb-faq{max-width:720px;margin-inline:auto}
.cb-faq details{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:12px;padding:16px 18px;margin-bottom:10px;transition:box-shadow .15s}
.cb-faq details[open]{box-shadow:var(--cb-shadow)}
.cb-faq summary{cursor:pointer;font-weight:600;list-style:none}
.cb-faq summary::-webkit-details-marker{display:none}
.cb-faq summary::after{content:"+";float:right;color:var(--cb-mut);font-weight:400}
.cb-faq details[open] summary::after{content:"–"}
.cb-faq details[open] summary{margin-bottom:10px}
.cb-faq p{margin:0;color:var(--cb-mut);line-height:1.6}
.cb-contactcard{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:18px;margin-bottom:18px}
.cb-contact-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}
.cb-contactbtns-inline{display:flex;gap:10px;flex-wrap:wrap;margin:0}
@media (max-width:820px){.cb-about.has-image,.cb-location.has-map{grid-template-columns:1fr}}

/* Guest picker (adults + children) */
.cb-guests{position:relative}
.cb-guests .cb-guests-label{display:block;font-size:13px;color:var(--cb-mut);margin-bottom:4px}
.cb-guests-toggle{display:none;width:100%;text-align:left;padding:10px 11px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;cursor:pointer;position:relative;padding-right:30px}
.cb-guests-toggle::after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);opacity:.6}
.cb-guests-toggle[aria-expanded=true]::after{transform:translateY(-30%) rotate(225deg)}
.cb-guests .cb-guests-summary{display:inline;margin:0;font-size:inherit;color:inherit}
.cb-guests.is-js .cb-guests-toggle{display:block}
.cb-guests.is-js .cb-guests-panel{display:none}
.cb-guests.is-js.is-open .cb-guests-panel{display:block}
.cb-guests-panel{padding:6px 0}
.cb-guests--popover.is-js .cb-guests-panel{position:absolute;z-index:30;left:0;top:calc(100% + 6px);min-width:280px;background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:12px;padding:8px 16px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.cb-guests--inline.is-js .cb-guests-panel{margin-top:8px;border:1px solid var(--cb-line);border-radius:10px;padding:4px 14px}
.cb-guests-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.cb-guests-row+.cb-guests-row{border-top:1px solid var(--cb-line)}
.cb-guests-text strong{display:block;font-size:15px}
.cb-guests-text small{display:block;font-size:12px;color:var(--cb-mut)}
.cb-step{display:flex;align-items:center;gap:8px}
.cb-step-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--cb-line);background:var(--cb-bg);color:var(--cb-ink);font-size:18px;line-height:1;cursor:pointer;padding:0}
.cb-step-btn:hover:not(:disabled){border-color:var(--cb-ink)}
.cb-step-btn:disabled{opacity:.35;cursor:not-allowed}
.cb-guests .cb-step-input{width:48px;text-align:center;padding:6px 2px;border:0;background:transparent;font-weight:600;-moz-appearance:textfield}
.cb-guests .cb-step-input::-webkit-outer-spin-button,.cb-guests .cb-step-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cb-guests.is-js .cb-step-input{pointer-events:none}
.cb-guests-note{margin:4px 0 8px;font-size:12px;color:var(--cb-mut)}

/* Add-ons */
.cb-addons{border:0;padding:0;margin:0 0 14px}
.cb-addons legend{font-weight:600;font-size:14px;margin-bottom:8px;padding:0}
.cb-addon{border:1px solid var(--cb-line);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.cb-addon-main{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.cb-addon-main input{margin-top:4px}
.cb-addon-name{flex:1}
.cb-addon-name small{display:block;font-size:12px;color:var(--cb-mut)}
.cb-addon-price{text-align:right;font-weight:600;white-space:nowrap}
.cb-addon-price small{display:block;font-size:12px;font-weight:400;color:var(--cb-mut)}
.cb-addon-qty{display:flex;gap:12px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--cb-line)}
.cb-addon-qty[hidden]{display:none}
.cb-addon-qty label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--cb-mut);flex:1}
.cb-addon-qty input{width:100%;padding:8px 10px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit}

/* Price breakdown */
.cb-breakdown{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--cb-line)}
.cb-breakdown li{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:2px 0}


/* "Need more guests?" accordion */
.cb-extra{margin:-4px 0 14px}
.cb-extra-toggle{display:none;width:100%;text-align:left;background:none;border:0;padding:6px 0;color:var(--cb-ink);font:inherit;cursor:pointer;position:relative;padding-right:24px}
.cb-extra-toggle span{font-weight:600;font-size:14px}
.cb-extra-toggle small{display:block;font-weight:400;font-size:12px;color:var(--cb-mut)}
.cb-extra-toggle::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);opacity:.6}
.cb-extra-toggle[aria-expanded=true]::after{transform:translateY(-30%) rotate(225deg)}
.cb-extra.is-js .cb-extra-toggle{display:block}
.cb-extra.is-js .cb-extra-panel{display:none}
.cb-extra.is-js.is-open .cb-extra-panel{display:block}
.cb-extra-panel{border:1px solid var(--cb-line);border-radius:10px;padding:4px 14px;margin-top:6px}
.cb-extra .cb-step-input{width:48px;text-align:center;padding:6px 2px;border:0;background:transparent;font-weight:600;-moz-appearance:textfield;color:var(--cb-ink);font:inherit;font-weight:600}
.cb-extra .cb-step-input::-webkit-outer-spin-button,.cb-extra .cb-step-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cb-extra.is-js .cb-step-input{pointer-events:none}

/* Booking form: one column, evenly spaced */
.cb-bookform .cb-form-row{grid-template-columns:1fr;gap:0;align-items:stretch}
.cb-bookform .cb-form-row .cb-field{margin-bottom:12px}
.cb-bookform .cb-form-row.cb-form-row--2{grid-template-columns:1fr}

/* Date picker */
.cb-date{position:relative}
.cb-date-btn{display:block;width:100%;text-align:left;padding:10px 38px 10px 11px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;cursor:pointer;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238a9a97' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.cb-date-btn.is-empty{color:var(--cb-mut)}
.cb-date-pop{position:absolute;z-index:40;left:0;top:calc(100% + 6px);width:292px;max-width:calc(100vw - 32px);background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:12px;padding:12px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.cb-date-pop[hidden]{display:none}
.cb-date-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cb-date-head strong{font-size:14px;text-transform:capitalize}
.cb-date-head button{width:30px;height:30px;border:1px solid var(--cb-line);border-radius:50%;background:var(--cb-bg);color:var(--cb-ink);font-size:18px;line-height:1;cursor:pointer;padding:0}
.cb-date-head button:disabled{opacity:.35;cursor:not-allowed}
.cb-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cb-date-grid span{font-size:11px;color:var(--cb-mut);padding:4px 0;text-transform:uppercase}
.cb-date-grid button{height:34px;border:0;border-radius:8px;background:none;color:var(--cb-ink);font:inherit;font-size:13px;cursor:pointer;padding:0}
.cb-date-grid button:hover:not(:disabled){background:var(--cb-soft)}
.cb-date-grid button:disabled{opacity:.3;cursor:not-allowed}
.cb-date-grid .is-today{font-weight:700;box-shadow:inset 0 0 0 1px var(--cb-line)}
.cb-date-grid .is-sel,.cb-date-grid .is-sel:hover{background:var(--cb-accent);color:var(--cb-accent-ink)}

.cb-date-grid .is-full{text-decoration:line-through;opacity:.45;cursor:not-allowed}

/* Checkout */
.cb-checkout{padding:36px 0 60px}
.cb-checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.cb-cobox{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:20px;margin-bottom:18px}
.cb-cobox h2,.cb-cobox h3{font-size:20px;margin-bottom:14px}
.cb-checkout-side{position:sticky;top:84px;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:20px;box-shadow:var(--cb-shadow)}

body.cb-header-style-modern .cb-checkout-side{top:36px}

.cb-checkout-side h2{font-size:20px}
.cb-sum-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.cb-sum-img{flex:0 0 72px;height:72px;border-radius:10px;overflow:hidden;background:var(--cb-soft)}
.cb-sum-img img,.cb-sum-img .cb-placeholder{width:100%;height:100%;object-fit:cover}
.cb-sum-head h3{font-size:18px;margin:0 0 2px}
.cb-sum-edit{font-size:13px}
.cb-sum-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px;font-size:14px}
.cb-sum-dl dt{color:var(--cb-mut)}.cb-sum-dl dd{margin:0}
.cb-breakdown{list-style:none;margin:0;padding:10px 0 0;border-top:1px solid var(--cb-line);font-size:14px}
.cb-breakdown li{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.cb-breakdown li.is-discount{color:#1A7F4B}
.cb-sum-total{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--cb-line)}
.cb-sum-total strong{font:600 24px Georgia,serif}
.cb-coupon{display:flex;gap:8px}
.cb-coupon input{flex:1;padding:10px 11px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;text-transform:uppercase}
.cb-coupon-msg{margin:8px 0 0;font-size:14px;min-height:1.4em}
.cb-coupon-msg.is-ok{color:#1A7F4B}.cb-coupon-msg.is-bad{color:#B4472F}
.cb-pay{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--cb-line);border-radius:10px;padding:12px 14px;margin-bottom:10px;cursor:pointer}
.cb-pay:has(input:checked){border-color:var(--cb-accent);background:var(--cb-soft)}
.cb-pay input{margin-top:4px}
.cb-pay strong{display:block}
.cb-pay small{display:block;color:var(--cb-mut);margin-top:2px}
.cb-confirm{padding:15px 20px;font-size:16px}
.cb-checkoutform .cb-field small{display:block;margin-top:4px}
.cb-thanks-head{text-align:center;max-width:720px;margin:0 auto 26px}
.cb-thanks-icon{display:inline-flex;width:56px;height:56px;border-radius:50%;background:#1FAF5B;color:#fff;font-size:28px;align-items:center;justify-content:center;margin-bottom:10px}
.cb-thanks-head h2{font-size:clamp(26px,4vw,34px)}
.cb-thanks-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.cb-bank-amount{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;margin:0 0 6px}
.cb-bank-amount strong{font:600 26px Georgia,serif}
.cb-accounts{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}
.cb-accounts li{border:1px dashed var(--cb-line);border-radius:10px;padding:12px 14px;display:grid;gap:2px}
.cb-acc-no{font:600 20px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;user-select:all}
.cb-deadline{color:#B4472F;font-weight:600}
@media (max-width:900px){.cb-checkout-grid,.cb-thanks-grid{grid-template-columns:1fr}.cb-checkout-side{position:static;order:-1}}

/* Comments (single post) */
.comment-respond{margin-top:32px}
.comment-reply-title{font-size:22px;margin:0 0 14px}
.comment-form label{display:block;font-size:13px;color:var(--cb-mut);margin-bottom:4px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:10px 11px;border:1px solid var(--cb-line);border-radius:8px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;margin-bottom:12px}
.comment-form .form-submit{margin:8px 0 0}
.comment-form .form-submit input[type=submit],.comment-form input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cb-accent);color:var(--cb-accent-ink);border:0;border-radius:8px;padding:12px 20px;font:600 15px/1.2 var(--cb-font);cursor:pointer;transition:filter .15s,transform .15s}
.comment-form .form-submit input[type=submit]:hover,.comment-form input[type=submit]:hover{filter:brightness(1.08)}
.comment-form .form-submit input[type=submit]:active,.comment-form input[type=submit]:active{transform:translateY(1px)}
.comment-list{list-style:none;margin:0 0 28px;padding:0}
.comment-list .comment{padding:16px 0;border-bottom:1px solid var(--cb-line)}
.comment-meta{font-size:13px;color:var(--cb-mut);margin-bottom:6px}
.comment-content{color:var(--cb-ink)}

/* —— Homepage polish: reviews foot, points, posts —— */
.cb-stars{color:#C9A227;letter-spacing:2px;font-size:15px;line-height:1}
.cb-review blockquote{margin:14px 0 18px;font-size:15.5px;line-height:1.6;color:var(--cb-ink)}
.cb-review-foot{display:flex;align-items:center;gap:12px}
.cb-review-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--cb-soft)}
.cb-review-avatar img{width:100%;height:100%;object-fit:cover}
.cb-review-avatar--initial{display:flex;align-items:center;justify-content:center;font:600 16px var(--cb-font);color:var(--cb-accent)}
.cb-review-who{display:flex;flex-direction:column;gap:1px;font-size:14px}
.cb-review-who strong{font-weight:600}
.cb-review-who span{color:var(--cb-mut);font-size:13px}
.cb-points{list-style:none;margin:0 0 22px;padding:0}
.cb-points li{position:relative;padding:6px 0 6px 28px;color:var(--cb-ink)}
.cb-points li::before{content:"";position:absolute;left:0;top:12px;width:16px;height:16px;border-radius:50%;background:var(--cb-accent);box-shadow:inset 0 0 0 4px var(--cb-soft)}
.cb-points li::after{content:"";position:absolute;left:5px;top:15px;width:6px;height:4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg)}
.cb-posts article{background:var(--cb-card);border-radius:var(--cb-radius);overflow:hidden;box-shadow:var(--cb-shadow);border:1px solid var(--cb-line);transition:transform .2s,box-shadow .2s}
.cb-posts article:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(15,31,30,.1)}
.cb-posts .cb-card-img,.cb-posts a.cb-thumb-link{display:block;aspect-ratio:16/10;overflow:hidden}
.cb-posts img{width:100%;height:100%;object-fit:cover}
.cb-cat{box-shadow:var(--cb-shadow)}
@media (max-width:820px){
  .cb-about.has-image{grid-template-columns:1fr}
  .cb-about-media.has-collage{padding:0 12% 12% 0;max-width:480px}
  .cb-slide-text{padding:56px 0 72px}
}

/* Room detail reviews (speech-bubble layout) */
.cb-room-review-list{display:flex;flex-direction:column;gap:22px}
.cb-room-review{display:flex;gap:16px;align-items:flex-start}
.cb-room-review-photo{flex:0 0 72px;width:72px;height:72px;border-radius:10px;overflow:hidden;background:var(--cb-soft)}
.cb-room-review-photo img{width:100%;height:100%;object-fit:cover}
.cb-room-review-photo--initial{display:flex;align-items:center;justify-content:center;font:600 24px var(--cb-font);color:var(--cb-accent)}
.cb-room-review-body{position:relative;flex:1;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:12px;padding:16px 18px 18px;box-shadow:var(--cb-shadow)}
.cb-room-review-body::before{content:"";position:absolute;left:-8px;top:22px;width:14px;height:14px;background:var(--cb-card);border-left:1px solid var(--cb-line);border-bottom:1px solid var(--cb-line);transform:rotate(45deg)}
.cb-room-review-meta{margin:8px 0 10px;color:var(--cb-mut);font-size:14px}
.cb-room-review-text{margin:0;color:var(--cb-ink);line-height:1.6}
.cb-similar-rooms .cb-grid{margin-top:8px}
.cbstay-rooms-pick{display:flex;flex-wrap:wrap;gap:6px 14px;max-width:640px}

/* Gallery slider */
.cb-gslide{position:relative;display:flex;align-items:center;gap:8px}
.cb-gslide-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 12px;flex:1}
.cb-gslide-track::-webkit-scrollbar{display:none}
.cb-gslide-item{flex:0 0 calc((100% - 28px)/3);scroll-snap-align:start;border:0;padding:0;border-radius:var(--cb-radius);overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;background:var(--cb-soft)}
@media (max-width:800px){.cb-gslide-item{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:520px){.cb-gslide-item{flex-basis:85%}}
.cb-gslide-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.cb-gslide-item:hover img{transform:scale(1.04)}
.cb-gslide-nav{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:1px solid var(--cb-line);background:var(--cb-card);color:var(--cb-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--cb-shadow);transition:background .15s,color .15s}
.cb-gslide-nav:hover{background:var(--cb-accent);color:#fff;border-color:var(--cb-accent)}
.cb-gslide-nav:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}

/* Blog cards + no-photo */
.cb-post{background:var(--cb-card);border-radius:var(--cb-radius);overflow:hidden;box-shadow:var(--cb-shadow);border:1px solid var(--cb-line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.cb-post:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(15,31,30,.1)}
.cb-post-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cb-soft)}
.cb-post-thumb img{width:100%;height:100%;object-fit:cover}
.cb-post-body{padding:16px 18px 18px}
.cb-post-body h3{font-size:18px;margin:0 0 6px}
.cb-post-body h3 a{color:inherit;text-decoration:none}
.cb-post-body h3 a:hover{color:var(--cb-accent)}
.cb-placeholder--post{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:160px;color:var(--cb-mut);font-size:13px;font-weight:500}
.cb-hero.has-search .cb-slide-text{padding-bottom:180px}
@media (max-width:820px){
  .cb-slide-text{padding:40px 0 150px}
  .cb-hero-search{bottom:16px}
  .cb-dots{top:12px;right:12px}
}

/* =====================================================================
   Design refinement (v1.3) — hero, booking bar, rhythm, dark sections
   ===================================================================== */

/* ---- Section tones: text colours follow the background ---- */
.cb-section[data-tone="dark"],
.cb-main .cb-section[data-section="steps"]:not([data-tone]){
  --cb-ink:#F3F8F7;--cb-mut:#B7CBC8;--cb-card:rgba(255,255,255,.07);--cb-line:rgba(255,255,255,.18);--cb-soft:rgba(255,255,255,.09);
  --cb-shadow:none;--cb-on-dark:color-mix(in srgb,var(--cb-accent) 55%,#fff);
  color:var(--cb-ink)
}
.cb-main .cb-section[data-section="steps"]:not([data-tone]){background-color:var(--cb-dark-green)}
.cb-section[data-tone="light"]{
  --cb-ink:#1A2A28;--cb-mut:#566260;--cb-card:#fff;--cb-line:#E8E4DE;--cb-soft:#EEE9E0;
  --cb-shadow:0 2px 4px rgba(15,31,30,.04),0 12px 32px rgba(15,31,30,.06);
  color:var(--cb-ink)
}
.cb-section[data-tone="dark"] .cb-btn--ghost,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-btn--ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.cb-section[data-tone="dark"] .cb-btn--ghost:hover,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-btn--ghost:hover{background:#fff;color:#12302F}
.cb-section[data-tone="dark"] a:not(.cb-btn),
.cb-main .cb-section[data-section="steps"]:not([data-tone]) a:not(.cb-btn){color:var(--cb-on-dark)}

/* ---- Rhythm: sections alternate cream / warm tint automatically ---- */
.cb-section{padding:clamp(56px,7.5vw,96px) 0}
.cb-section--tight{padding:clamp(48px,6vw,72px) 0}
.cb-hero ~ .cb-section[data-section]{background-color:var(--cb-bg)}
.cb-hero ~ .cb-section[data-section]:nth-of-type(odd){background-color:var(--cb-soft)}
.cb-main .cb-hero ~ .cb-section[data-section="steps"]:not([data-tone]){background-color:var(--cb-dark-green)}

/* ---- Section headings ---- */
.cb-section-head{margin-bottom:clamp(30px,4vw,48px)}
.cb-section-head::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--cb-accent);margin-bottom:18px}
.cb-section[data-tone="dark"] .cb-section-head::before,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-section-head::before{background:var(--cb-on-dark)}
.cb-h2{font-size:clamp(30px,4vw,44px);font-weight:650;letter-spacing:-.03em;line-height:1.1}
.cb-sub{font-size:clamp(16px,1.6vw,18px);max-width:40em;line-height:1.65}
.cb-btn{letter-spacing:.005em}

/* ---- Hero ---- */
.cb-hero{overflow:visible;background:none}
.cb-hero-stage{position:relative;overflow:hidden;background:var(--cb-dark)}
.cb-slide{min-height:clamp(540px,62vw,740px);align-items:center}
.cb-slide::after{background:linear-gradient(180deg,rgba(8,18,20,.5) 0%,rgba(8,18,20,.28) 45%,rgba(8,18,20,.62) 100%)}
.cb-slide-text{padding:80px 0 56px;max-width:760px}
.cb-hero.has-search .cb-slide-text{padding-bottom:calc(var(--cb-sh,200px)/2 + 64px)}
.cb-slide-text h1{font-size:clamp(38px,6.2vw,68px);font-weight:650;letter-spacing:-.035em;line-height:1.05;margin-bottom:18px}
.cb-slide-text p{font-size:clamp(16px,2vw,21px);max-width:44ch;margin-bottom:30px}
.cb-slide-text .cb-btn{padding:16px 32px;font-size:16px;border-radius:12px}
.cb-hero--center .cb-slide-text{margin-inline:auto;text-align:center;max-width:860px}
.cb-hero--center .cb-slide-text p{margin-inline:auto}
.cb-dots{top:auto;right:auto;left:50%;transform:translateX(-50%);bottom:24px;gap:8px;align-items:center}
.cb-hero.has-search .cb-dots{bottom:calc(var(--cb-sh,200px)/2 + 22px)}
.cb-dots button{width:8px;height:8px;background:rgba(255,255,255,.5);transition:width .25s,background .25s}
.cb-dots button.is-active{width:28px;border-radius:99px;background:#fff;transform:none}

/* ---- Booking bar (straddles the hero's bottom edge) ---- */
.cb-hero-search{position:absolute;left:0;right:0;bottom:0;transform:translateY(50%);z-index:4}
.cb-hero.has-search + .cb-section{padding-top:calc(var(--cb-sh,200px)/2 + clamp(48px,6vw,72px))}
.cb-search--hero{padding:24px 28px 28px;border-radius:22px;border:1px solid rgba(255,255,255,.65);box-shadow:0 28px 70px rgba(15,31,30,.25)}
:is(.cb-search--hero,.cb-search--bar) .cb-seg{background:var(--cb-soft);border:0;padding:4px;border-radius:13px;gap:2px;margin-bottom:20px}
:is(.cb-search--hero,.cb-search--bar) .cb-seg span{padding:10px 22px;font-size:15px;font-weight:600;border-radius:10px}
:is(.cb-search--hero,.cb-search--bar) .cb-seg input:checked+span{box-shadow:0 4px 14px rgba(15,31,30,.22)}
:is(.cb-search--hero,.cb-search--bar) .cb-search-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.7fr) minmax(0,1fr) auto;gap:14px;align-items:end}
:is(.cb-search--hero,.cb-search--bar) .cb-field span,:is(.cb-search--hero,.cb-search--bar) .cb-guests .cb-guests-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cb-mut);margin-bottom:7px}
:is(.cb-search--hero,.cb-search--bar) .cb-field input,:is(.cb-search--hero,.cb-search--bar) .cb-field select,:is(.cb-search--hero,.cb-search--bar) .cb-guests-toggle{height:54px;padding:0 15px;border-radius:12px;font-size:16px;background:var(--cb-bg)}
:is(.cb-search--hero,.cb-search--bar) .cb-guests-toggle{padding-right:34px}
:is(.cb-search--hero,.cb-search--bar) .cb-btn{height:54px;padding:0 38px;font-size:16px;border-radius:12px;box-shadow:0 10px 24px rgba(15,31,30,.2)}
@media (max-width:960px){
  :is(.cb-search--hero,.cb-search--bar) .cb-search-row{grid-template-columns:1fr 1fr}
  :is(.cb-search--hero,.cb-search--bar) .cb-btn{grid-column:1/-1;width:100%}
}
@media (max-width:560px){
  .cb-search--hero{padding:18px 16px 20px;border-radius:18px}
  :is(.cb-search--hero,.cb-search--bar) .cb-seg{display:flex;width:100%}
  :is(.cb-search--hero,.cb-search--bar) .cb-seg label{flex:1}
  :is(.cb-search--hero,.cb-search--bar) .cb-seg span{text-align:center;padding:10px 4px;font-size:14px}
  :is(.cb-search--hero,.cb-search--bar) .cb-search-row{grid-template-columns:1fr}
  .cb-slide-text{padding:56px 0 40px}
}

/* ---- Room cards ---- */
.cb-card{border-radius:18px;border-color:transparent;box-shadow:0 1px 2px rgba(15,31,30,.05),0 14px 36px rgba(15,31,30,.08)}
.cb-card:hover{box-shadow:0 2px 4px rgba(15,31,30,.06),0 22px 48px rgba(15,31,30,.13)}
.cb-card-body{padding:22px 22px 24px;gap:10px}
.cb-card-body h3{font-size:21px;letter-spacing:-.01em;line-height:1.25}
.cb-specs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14.5px;color:var(--cb-mut)}
.cb-spec{display:inline-flex;align-items:center;gap:6px}
.cb-spec svg{flex:none;color:var(--cb-accent)}
.cb-card-body .cb-price:not(.cb-price--alt){margin-top:6px;padding-top:14px;border-top:1px solid var(--cb-line)}
.cb-price strong{font-size:28px}
.cb-price span{font-size:14px}
.cb-price--alt{font-size:15px;color:var(--cb-mut)}
.cb-card-more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--cb-accent);text-decoration:none}
.cb-card-more svg{transition:transform .2s}
.cb-card:hover .cb-card-more svg{transform:translateX(4px)}

/* ---- Categories ---- */
.cb-cat{aspect-ratio:3/2;border-radius:18px}
.cb-cat-label{left:20px;bottom:18px}
.cb-cat-label strong{font-size:21px}

/* ---- Facilities: open layout, no boxed cards ---- */
.cb-facilities{gap:0 44px}
.cb-facility{background:none;border:0;border-top:1px solid var(--cb-line);border-radius:0;box-shadow:none;padding:26px 0;align-items:center;gap:20px}
.cb-facility:hover{transform:none;box-shadow:none}
.cb-facility-icon{flex:0 0 60px;height:60px;border-radius:50%;background:var(--cb-soft);background:color-mix(in srgb,var(--cb-accent) 11%,transparent);color:var(--cb-accent)}
.cb-facility-icon svg{width:26px;height:26px}
.cb-facility h3{font-size:17px;margin-bottom:3px}
.cb-facility p{font-size:15px;line-height:1.55}

/* ---- About ---- */
.cb-about{gap:clamp(32px,6vw,72px)}
.cb-about-text p{font-size:17px;line-height:1.75}
.cb-about-img img{border-radius:20px}

/* ---- How booking works: numbered path ---- */
.cb-steps{gap:32px}
.cb-steps li{position:relative;background:none;border:0;box-shadow:none;padding:8px 12px;transform:none}
.cb-steps li:hover{box-shadow:none;transform:none}
.cb-step-n{width:56px;height:56px;font-size:20px;margin-bottom:22px;box-shadow:0 0 0 8px color-mix(in srgb,var(--cb-accent) 18%,transparent)}
.cb-steps li:not(:last-child)::after{content:"";position:absolute;top:35px;left:calc(50% + 44px);width:calc(100% - 56px);border-top:2px dashed color-mix(in srgb,var(--cb-accent) 45%,transparent)}
.cb-steps h3{font-size:21px;margin-bottom:10px}
.cb-steps p{font-size:16px;line-height:1.65}
.cb-section[data-tone="dark"] .cb-step-n,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-step-n{background:var(--cb-on-dark);color:#0B2B2E}
.cb-section[data-tone="dark"] .cb-steps li:not(:last-child)::after,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-steps li:not(:last-child)::after{border-top-color:rgba(255,255,255,.28)}
@media (max-width:720px){.cb-steps li:not(:last-child)::after{display:none}.cb-steps{gap:36px}}

/* ---- Gallery: exactly 3 photos per view, arrows over the edges ---- */
.cb-gslide{position:relative;display:block}
.cb-gslide-track{padding:4px 0 12px;gap:14px;scroll-padding-inline:0}
.cb-gslide-item{flex:0 0 calc((100% - 28px)/3);border-radius:18px}
@media (max-width:800px){.cb-gslide-item{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:520px){.cb-gslide-item{flex-basis:100%}}
.cb-gslide-nav{position:absolute;top:calc(50% - 4px);transform:translateY(-50%);z-index:3;width:50px;height:50px;flex:none;border:0;box-shadow:0 8px 24px rgba(15,31,30,.22)}
.cb-gslide-prev{left:14px}
.cb-gslide-next{right:14px}

/* ---- Reviews ---- */
.cb-review{position:relative;padding:54px 30px 30px;border-radius:20px}
.cb-review::before{content:"\201C";position:absolute;top:10px;left:50%;transform:translateX(-50%);font:700 76px/1 Georgia,"Times New Roman",serif;color:var(--cb-accent);opacity:.2}
.cb-stars{font-size:20px;letter-spacing:3px}
.cb-review blockquote{font-size:17px;line-height:1.65}
.cb-review-avatar--initial{background:color-mix(in srgb,var(--cb-accent) 12%,transparent);color:var(--cb-accent)}

/* ---- Location ---- */
.cb-nearby li{padding:15px 0;font-size:16px}
.cb-nearby em{color:var(--cb-ink);font-weight:600}
.cb-location .cb-map,.cb-map{border-radius:20px}

/* ---- FAQ: heading beside the list ---- */
.cb-section[data-section="faq"] .cb-narrow{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:24px clamp(32px,6vw,80px);align-items:start}
.cb-section[data-section="faq"] .cb-section-head{position:sticky;top:110px;margin:0}
.cb-section[data-section="faq"] .cb-faq{max-width:none;margin:0}
.cb-section[data-section="faq"] .cb-section-head ~ .cb-faq{grid-column:2}
.cb-section[data-section="faq"] .cb-faq:first-child{grid-column:1/-1;max-width:760px;margin-inline:auto}
.cb-faq details{border-radius:14px;padding:20px 24px;margin-bottom:12px}
.cb-faq summary{font-size:17px}
.cb-faq summary::after{font-size:24px;line-height:1;color:var(--cb-accent)}
.cb-faq p{font-size:16px;line-height:1.7}
@media (max-width:860px){
  .cb-section[data-section="faq"] .cb-narrow{grid-template-columns:1fr}
  .cb-section[data-section="faq"] .cb-section-head{position:static;margin-bottom:12px}
  .cb-section[data-section="faq"] .cb-section-head ~ .cb-faq{grid-column:1}
}

/* ---- Blog ---- */
.cb-post{border-radius:18px;border-color:transparent;box-shadow:0 1px 2px rgba(15,31,30,.05),0 14px 36px rgba(15,31,30,.08)}
.cb-post-body{padding:22px}
.cb-post-body h3{font-size:20px;line-height:1.3}
.cb-post-body .cb-meta{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.cb-post-body p:not(.cb-meta){color:var(--cb-mut);font-size:15.5px;line-height:1.65}

/* ---- Homepage news: image cards with overlaid title ---- */
.cb-posts--feature{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cb-posts--feature .cb-post{position:relative;display:block;height:clamp(320px,34vw,420px);padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--cb-dark-green);box-shadow:0 14px 36px rgba(15,31,30,.14);transform:none}
.cb-posts--feature .cb-post:first-child{grid-column:span 2}
.cb-posts--feature .cb-post:hover{transform:none;box-shadow:0 20px 44px rgba(15,31,30,.22)}
.cb-posts--feature .cb-post-thumb{position:absolute;inset:0;aspect-ratio:auto;display:block}
.cb-posts--feature .cb-post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cb-posts--feature .cb-post:hover .cb-post-thumb img{transform:scale(1.05)}
.cb-posts--feature .cb-placeholder--post{min-height:0;background:linear-gradient(135deg,var(--cb-dark-green),color-mix(in srgb,var(--cb-accent) 60%,#0F1F1E))}
.cb-posts--feature .cb-post::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,14,14,.78) 0%,rgba(8,14,14,.35) 38%,rgba(8,14,14,0) 65%);pointer-events:none}
.cb-posts--feature .cb-post-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 24px 24px;color:#fff}
.cb-posts--feature .cb-post-body .cb-post-cats{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0 0 5px;font-size:14px;font-weight:300;line-height:1.4;color:#ffffffd4}
.cb-posts--feature .cb-post-body h3{margin:0;font-size:clamp(17px,1.5vw,19px);font-weight:400;line-height:1.3;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.cb-posts--feature .cb-post-body h3 a{color:#fff}
.cb-posts--feature .cb-post-body h3 a:hover{color:#fff}
.cb-posts--feature .cb-post-body h3 a::after{content:"";position:absolute;inset:0;z-index:3}
.cb-posts--feature .cb-post:first-child .cb-post-body h3{font-size:clamp(19px,1.8vw,22px)}
@media (max-width:960px){
  .cb-posts--feature{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-posts--feature .cb-post:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  .cb-posts--feature{grid-template-columns:1fr;gap:16px}
  .cb-posts--feature .cb-post{height:300px}
}

/* ---- Location: full-width heading, text + map side by side ---- */
.cb-location{display:block}
.cb-location-body{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:stretch}
.cb-location-body.has-map{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.cb-location-info > *{min-width:0}
.cb-location .cb-location-text{margin:0 0 20px;font-size:17px;line-height:1.7}
.cb-location .cb-address{display:block;margin:0;padding:2px 0 2px 18px;background:none;border:0;border-left:4px solid var(--cb-accent);border-radius:0;color:var(--cb-ink);font-size:16px;line-height:1.6}
.cb-location .cb-address .cb-ico{display:none}
.cb-location .cb-nearby{margin:16px 0 0;border-top:1px solid color-mix(in srgb,var(--cb-ink) 16%,transparent)}
.cb-location .cb-nearby li{padding:9px 0;border-bottom-color:color-mix(in srgb,var(--cb-ink) 16%,transparent);font-size:15.5px;line-height:1.4}
.cb-location .cb-nearby em{color:var(--cb-accent);font-weight:400}
.cb-map-wrap{position:relative;aspect-ratio:16/9;width:100%;max-width:100%}
.cb-map-wrap .cb-map{position:absolute;inset:0}
.cb-map-wrap .cb-map iframe{position:absolute;inset:0;width:100%;height:100%}
.cb-map-btn{position:absolute;top:16px;right:16px;left:auto;z-index:2;box-shadow:0 10px 28px rgba(15,31,30,.28)}
@media (max-width:820px){
  .cb-location-body.has-map{grid-template-columns:minmax(0,1fr)}
}

/* ---- Section head with a "view all" link at the top right ---- */
.cb-section-head.has-action{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:start}
.cb-section-head.has-action::before{grid-column:1/-1}
.cb-section-head-action{padding-top:clamp(6px,1.2vw,12px)}
.cb-link-all{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1.5px solid transparent;font-size:16px;font-weight:600;color:var(--cb-accent);text-decoration:none;white-space:nowrap;transition:border-color .2s}
.cb-link-all svg{transition:transform .2s}
.cb-link-all:hover{border-bottom-color:currentColor}
.cb-link-all:hover svg{transform:translateX(4px)}
.cb-section[data-tone="dark"] .cb-link-all,
.cb-main .cb-section[data-section="steps"]:not([data-tone]) .cb-link-all{color:var(--cb-on-dark)}

/* ---- Room cards: whole card clickable, prices grouped ---- */
.cb-card{position:relative}
.cb-card-body h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.cb-card .cb-btn{position:relative;z-index:2}
.cb-card-body .cb-price:not(.cb-price--alt){margin-top:0;padding-top:0;border-top:0}
.cb-card .cb-prices{margin-top:6px;padding-top:14px;border-top:1px solid var(--cb-line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px}
.cb-card .cb-prices .cb-price{white-space:nowrap}
.cb-card .cb-price-alts{display:flex;flex-direction:column;gap:2px;margin-left:auto;text-align:right}
.cb-card .cb-price:not(.cb-price--alt){display:flex;align-items:center;gap:6px}
.cb-card .cb-price:not(.cb-price--alt) strong{line-height:1}
.cb-card .cb-price:not(.cb-price--alt) span{line-height:1}

/* ---- Similar rooms: two roomy cards; prices adapt to card width ---- */
.cb-similar-rooms .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){.cb-similar-rooms .cb-grid{grid-template-columns:1fr}}
.cb-card{container-type:inline-size}
.cb-card-body > .cb-btn{margin-top:auto;align-self:flex-start}
@container (max-width:270px){
  .cb-card .cb-prices{flex-direction:column;align-items:flex-start;gap:6px}
  .cb-card .cb-price-alts{margin-left:0;text-align:left}
}

/* ---- Rooms archive: same search bar as the homepage, two roomy columns ---- */
.cb-search--bar{padding:24px 28px 28px;border-radius:22px;border:1px solid var(--cb-line);box-shadow:0 14px 40px rgba(15,31,30,.10)}
@media (max-width:560px){.cb-search--bar{padding:18px 16px 20px;border-radius:18px}}
.cb-pagehead{padding:clamp(28px,4vw,44px) 0 clamp(36px,4.5vw,52px)}
.cb-pagehead .cb-title{margin-bottom:22px;font-weight:650;letter-spacing:-.03em}
.cb-results .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cb-results .cb-card-img{aspect-ratio:16/10}
@media (max-width:560px){.cb-results .cb-grid{grid-template-columns:1fr}}

/* ---- Archive: header band matches the content, results header ---- */
.cb-pagehead{background:var(--cb-bg);border-bottom:0}
.cb-results-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:0 0 16px}
.cb-count{margin:0;font-size:17px;font-weight:600}
.cb-results-head .cb-summary{margin:0;font-size:15px}
.cb-filters button[hidden]{display:none}

/* ---- Archive: coloured filter heading, results card, share button, tighter header ---- */
.cb-pagehead{padding:clamp(24px,3.5vw,36px) 0 0}
.cb-pagehead .cb-title{margin-bottom:18px}
.cb-archive{padding-top:20px}
.cb-filters{padding:0;overflow:hidden;border-radius:16px;box-shadow:0 1px 2px rgba(15,31,30,.04)}
.cb-filters summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:15px 18px;background:var(--cb-accent);color:var(--cb-accent-ink,#fff);font-size:16px;font-weight:600;list-style:none}
.cb-filters summary::-webkit-details-marker{display:none}
.cb-filters-title{display:inline-flex;align-items:center;gap:10px}
.cb-reset-all{font-size:14px;font-weight:400;color:inherit;opacity:.85;text-decoration:none}
.cb-reset-all:hover{opacity:1;text-decoration:underline}
.cb-filters form{padding:18px}
.cb-filters fieldset{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid var(--cb-line)}
.cb-filters fieldset:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.cb-filters legend{margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cb-ink)}
.cb-check{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-size:15px}
.cb-check input{width:16px;height:16px;margin:0;accent-color:var(--cb-accent)}
.cb-check small{margin-left:auto;padding:1px 8px;border-radius:99px;background:var(--cb-soft);font-size:12px;color:var(--cb-mut)}
.cb-filter-actions{margin-top:18px}
@media (max-width:860px){
  .cb-filters summary{cursor:pointer}
  .cb-filters summary::after{content:"";width:8px;height:8px;margin-left:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
  .cb-filters details[open] summary::after{transform:rotate(-135deg)}
  .cb-reset-all{margin-left:auto}
}
@media (min-width:861px){.cb-filters summary{cursor:default}}

.cb-results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 20px;margin:0 0 20px;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:16px;box-shadow:0 1px 2px rgba(15,31,30,.04)}
.cb-results-info{min-width:0}
.cb-count{margin:0;font-size:16px;font-weight:400;color:var(--cb-ink)}
.cb-count strong{font-weight:700}
.cb-results-head .cb-summary{margin:2px 0 0;font-size:14px}
.cb-sort{margin:0}
.cb-sort select{min-width:190px;padding:10px 14px;border:1px solid var(--cb-line);border-radius:10px;background:var(--cb-card);color:var(--cb-ink);font:inherit;font-size:15px}

.cb-share{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:rgba(255,255,255,.93);color:var(--cb-ink);box-shadow:0 4px 14px rgba(15,31,30,.18);cursor:pointer;transition:background .2s,color .2s}
.cb-share:hover,.cb-share:focus-visible{background:var(--cb-accent);color:var(--cb-accent-ink,#fff)}
.cb-share.is-copied::after{content:attr(data-copied);position:absolute;top:calc(100% + 6px);right:0;padding:5px 10px;border-radius:6px;background:var(--cb-ink);color:#fff;font-size:12px;white-space:nowrap}

/* ---- Archive: three compact columns, availability beside the price ---- */
.cb-results .cb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1060px){.cb-results .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cb-results .cb-grid{grid-template-columns:1fr}}
.cb-results .cb-card-body{padding:18px 18px 20px}
.cb-results .cb-card-body h3{font-size:19px}
.cb-results .cb-price strong{font-size:26px}
.cb-prices.has-avail{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px}
.cb-prices.has-avail .cb-avail{margin:0;font-size:12.5px;line-height:1.3;white-space:nowrap}
.cb-prices.has-avail .cb-price-alts{flex:0 0 100%;flex-direction:row;flex-wrap:wrap;gap:2px 14px;margin:0;text-align:left}

.cb-archive.is-loading .cb-results{opacity:.45;pointer-events:none;transition:opacity .15s}

/* ---- Pagination: centred, equal-size boxes ---- */
.navigation.pagination{margin-top:44px}
.navigation.pagination .nav-links{justify-content:center;align-items:center;gap:10px}
.page-numbers{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0;border-radius:12px;font-size:15px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.page-numbers.prev,.page-numbers.next{padding:0 20px}
.page-numbers.dots{border-color:transparent;background:transparent;min-width:28px}
a.page-numbers:hover{border-color:var(--cb-accent);color:var(--cb-accent)}
.page-numbers.current:hover{color:var(--cb-accent-ink)}

/* About: "More about us" button reversed — filled by default, outline on hover. */
.cb-about-text .cb-btn--ghost{background:var(--cb-accent);color:var(--cb-accent-ink);border-color:var(--cb-accent)}
.cb-about-text .cb-btn--ghost:hover{background:transparent;color:var(--cb-accent);border-color:var(--cb-accent);filter:none}
.cb-section[data-tone="dark"] .cb-about-text .cb-btn--ghost{background:#fff;color:#12302F;border-color:#fff}
.cb-section[data-tone="dark"] .cb-about-text .cb-btn--ghost:hover{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}

/* Reviews: name and detail line aligned left. */
.cb-review-who{text-align:left;align-items:flex-start}

/* ===== Single post layout with right sidebar ===== */
.cb-single.has-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,56px);align-items:start}
.cb-single-main{min-width:0}
.cb-single-main .cb-featured img{width:100%}
.cb-sidebar{position:sticky;top:88px;display:flex;flex-direction:column;gap:24px;min-width:0}
body.admin-bar .cb-sidebar{top:120px}
body.cb-header-style-modern .cb-sidebar{top:36px}
body.cb-header-style-modern.admin-bar .cb-sidebar{top:60px}
@media (max-width:960px){
  .cb-single.has-sidebar{grid-template-columns:minmax(0,1fr)}
  .cb-sidebar{position:static;margin-top:12px}
}

/* ===== Widgets ===== */
.cb-widget{background:var(--cb-card);border:1px solid var(--cb-line);border-radius:var(--cb-radius);padding:22px 22px 20px;box-shadow:var(--cb-shadow);font-size:15px;color:var(--cb-mut);overflow-wrap:anywhere}
.cb-widget>:last-child{margin-bottom:0}
.cb-widget-title{position:relative;margin:0 0 18px;padding-bottom:12px;font-size:17px;font-weight:650;letter-spacing:-.01em;color:var(--cb-ink)}
.cb-widget-title::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;border-radius:3px;background:var(--cb-accent)}
.cb-widget a{color:var(--cb-ink);text-decoration:none;transition:color .15s}
.cb-widget a:hover{color:var(--cb-accent)}
.cb-widget a.cb-btn,.cb-widget a.cb-btn:hover{color:var(--cb-accent-ink)}
.cb-widget a.cb-btn--ghost{color:var(--cb-accent)}
.cb-widget p{margin:0 0 12px;line-height:1.65}
.cb-widget img{border-radius:10px}
.cb-widget ul,.cb-widget ol{list-style:none;margin:0;padding:0}
.cb-widget li{padding:10px 0;border-bottom:1px solid var(--cb-line);line-height:1.45}
.cb-widget li:first-child{padding-top:0}
.cb-widget li:last-child{padding-bottom:0;border-bottom:0}

/* Lists with a trailing count (categories, archives) and menus */
.widget_categories li,.widget_archive li,.widget_pages li,.widget_nav_menu li,.widget_meta li,.widget_rss li,.cb-widget .wp-block-categories li,.cb-widget .wp-block-archives li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}
.cb-widget li>ul,.cb-widget li>.children,.cb-widget li>.sub-menu{flex-basis:100%;margin-top:10px;padding-left:14px;border-left:2px solid var(--cb-line)}

/* Recent posts and comments */
.widget_recent_entries li,.widget_recent_comments li,.cb-widget .wp-block-latest-posts li,.cb-widget .wp-block-latest-comments li{display:block}
.widget_recent_entries li>a,.cb-widget .wp-block-latest-posts__post-title{display:block;font-weight:600;line-height:1.4}
.widget_recent_entries .post-date,.cb-widget .wp-block-latest-posts__post-date{display:block;margin-top:4px;font-size:13px;color:var(--cb-mut)}
.widget_recent_comments .comment-author-link a{font-weight:600}

/* Search */
.cb-widget .search-form,.cb-widget .wp-block-search__inside-wrapper{display:flex;gap:8px;align-items:stretch}
.cb-widget .search-form label{flex:1;min-width:0;margin:0}
.cb-widget .search-field,.cb-widget .wp-block-search__input{width:100%;min-width:0;padding:11px 14px;border:1px solid var(--cb-line);border-radius:10px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;font-size:15px}
.cb-widget .search-field:focus,.cb-widget .wp-block-search__input:focus{outline:2px solid var(--cb-accent);outline-offset:1px;border-color:var(--cb-accent)}
.cb-widget .search-submit,.cb-widget .wp-block-search__button{flex:none;padding:0 18px;border:0;border-radius:10px;background:var(--cb-accent);color:var(--cb-accent-ink);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:filter .15s}
.cb-widget .search-submit:hover,.cb-widget .wp-block-search__button:hover{filter:brightness(1.08)}

/* Tags */
.cb-widget .tagcloud,.cb-widget .wp-block-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.cb-widget .tagcloud a,.cb-widget .wp-block-tag-cloud a{font-size:13px!important;line-height:1.2;padding:7px 13px;border-radius:999px;background:var(--cb-soft);color:var(--cb-ink);transition:background .15s,color .15s}
.cb-widget .tagcloud a:hover,.cb-widget .wp-block-tag-cloud a:hover{background:var(--cb-accent);color:var(--cb-accent-ink)}

/* Dropdowns (categories, archives) */
.cb-widget select{width:100%;padding:11px 12px;border:1px solid var(--cb-line);border-radius:10px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;font-size:15px}

/* Calendar */
.cb-widget table{width:100%;border-collapse:collapse;font-size:14px;text-align:center}
.cb-widget caption{padding-bottom:10px;font-weight:600;color:var(--cb-ink)}
.cb-widget th,.cb-widget td{padding:7px 2px}
.cb-widget th{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--cb-mut)}
.cb-widget td a{font-weight:700;color:var(--cb-accent)}
.cb-widget td#today{background:var(--cb-accent);color:var(--cb-accent-ink);border-radius:8px}
.cb-widget td#today a{color:var(--cb-accent-ink)}
.cb-widget .wp-calendar-nav{display:flex;justify-content:space-between;margin-top:10px;font-size:13px}

/* Text, custom HTML, images */
.cb-widget .textwidget>:last-child{margin-bottom:0}
.cb-widget figure{margin:0}

/* Post meta under the title: date, author, categories */
.cb-post-meta{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.cb-post-meta li{display:inline-flex;align-items:center;gap:8px;line-height:1.4}
.cb-post-meta .cb-ico{flex:none;color:var(--cb-accent)}
.cb-post-meta a{color:inherit;text-decoration:none;transition:color .15s}
.cb-post-meta a:hover{color:var(--cb-accent)}

/* ===== Blog index and archives ===== */
.cb-pagehead--blog{padding:clamp(28px,4vw,48px) 0 0}
.cb-archive-eyebrow{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cb-accent)}
.cb-pagehead--blog .cb-title{margin-bottom:12px}
.cb-archive-desc{max-width:680px;margin:0 0 10px;color:var(--cb-mut);font-size:17px;line-height:1.65}
.cb-archive-desc>:last-child{margin-bottom:0}
.cb-archive-count{margin:0;font-size:14px;color:var(--cb-mut)}
.cb-blog.cb-page{padding-top:36px}

.cb-blog.has-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,56px);align-items:start}
.cb-blog-main{min-width:0}
@media (max-width:960px){
  .cb-blog.has-sidebar{grid-template-columns:minmax(0,1fr)}
}
.cb-blogs{display:flex;flex-direction:column;gap:22px}

.cb-blogcard{display:flex;flex-direction:row;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:18px;overflow:hidden;box-shadow:var(--cb-shadow);transition:transform .2s,box-shadow .2s}
.cb-blogcard:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(15,31,30,.1)}
.cb-blogcard-thumb{position:relative;display:block;flex:0 0 240px;min-height:210px;overflow:hidden;background:var(--cb-soft)}
.cb-blogcard-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cb-blogcard:hover .cb-blogcard-thumb img{transform:scale(1.04)}
.cb-nophoto{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--cb-soft);color:var(--cb-mut);font-size:13px;font-weight:500}
.cb-blogcard-body{display:flex;flex-direction:column;flex:1;min-width:0;justify-content:center;padding:22px 26px}
.cb-blogcard-cats{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.cb-blogcard-cats a{color:var(--cb-accent);text-decoration:none}
.cb-blogcard-cats a:hover{text-decoration:underline}
.cb-blogcard-title{margin:0 0 8px;font-size:clamp(19px,1.7vw,22px);font-weight:650;line-height:1.3;letter-spacing:-.01em}
.cb-blogcard-title a{color:inherit;text-decoration:none;transition:color .15s}
.cb-blogcard-title a:hover{color:var(--cb-accent)}
.cb-blogcard .cb-post-meta{margin:0 0 12px;gap:6px 16px;font-size:13px}
.cb-blogcard-excerpt{margin:0 0 14px;color:var(--cb-mut);font-size:15px;line-height:1.65}
.cb-readmore{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-weight:600;color:var(--cb-accent);text-decoration:none}
.cb-readmore svg{transition:transform .2s}
.cb-readmore:hover svg{transform:translateX(4px)}
@media (max-width:640px){
  .cb-blogcard{flex-direction:column}
  .cb-blogcard-thumb{flex:none;min-height:0;aspect-ratio:16/10}
  .cb-blogcard-body{padding:20px}
}

/* Empty state */
.cb-empty{padding:40px 28px;text-align:center;background:var(--cb-card);border:1px solid var(--cb-line);border-radius:18px;box-shadow:var(--cb-shadow)}
.cb-empty h2{margin:0 0 8px;font-size:22px}
.cb-empty p{margin:0 0 20px;color:var(--cb-mut)}
.cb-empty .search-form{display:flex;gap:8px;max-width:420px;margin:0 auto}
.cb-empty .search-form label{flex:1;min-width:0;margin:0}
.cb-empty .search-field{width:100%;padding:11px 14px;border:1px solid var(--cb-line);border-radius:10px;background:var(--cb-bg);color:var(--cb-ink);font:inherit;font-size:15px}
.cb-empty .search-submit{padding:0 18px;border:0;border-radius:10px;background:var(--cb-accent);color:var(--cb-accent-ink);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}

/* Breadcrumbs on every inner page */
.cb-crumbs .cb-crumb-now{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.cb-crumbs{font-size:13px;gap:6px;padding:12px 0}}

/* ===== Static pages: full container width ===== */
.cb-page-full{max-width:none}

/* ===== Share icons under the post meta ===== */
.cb-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-10px 0 28px}
.cb-share-label{margin-right:4px;font-size:14px;font-weight:600;color:var(--cb-mut)}
.cb-share-link{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--cb-line);border-radius:50%;background:var(--cb-card);color:var(--cb-ink);text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cb-share-link:hover,.cb-share-link:focus-visible{background:var(--cb-accent);border-color:var(--cb-accent);color:var(--cb-accent-ink,#fff)}

/* ===== Modern header on mobile: header closer to top, hero text lower ===== */
@media (max-width:820px){
  body.cb-header-over-hero .cb-header--modern{top:0}
  body.cb-header-over-hero .cb-hero .cb-slide-text{padding-top:100px}
}

/* ===== [cbstay_contact]: map flush to the right edge of the card, equal widths ===== */
.cb-contactcard.has-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;align-items:stretch}
.cb-contactcard.has-map .cb-contactcard-info{padding:28px 30px}
.cb-contactcard.has-map .cb-contact-list{margin-bottom:20px}
.cb-contact-map{position:relative;min-height:300px}
.cb-contact-map .cb-map-btn{top:16px;right:16px;left:auto;bottom:auto;white-space:nowrap}
.cb-contactcard.has-map .cb-contact-map .cb-map{position:absolute;inset:0;aspect-ratio:auto;height:100%;border:0;border-radius:0;box-shadow:none}
@media (max-width:820px){
  .cb-contactcard.has-map{grid-template-columns:minmax(0,1fr)}
  .cb-contactcard.has-map .cb-contactcard-info{padding:20px}
  .cb-contact-map{min-height:0;aspect-ratio:16/9}
}

/* ===== Modern header over the hero: keep it below the WordPress admin bar ===== */
body.admin-bar.cb-header-over-hero .cb-header--modern{top:48px}
@media (max-width:820px){body.admin-bar.cb-header-over-hero .cb-header--modern{top:32px}}
@media (max-width:782px){body.admin-bar.cb-header-over-hero .cb-header--modern{top:46px}}

/* ===== Blog sidebar: also style WordPress block widgets (Search, Recent Posts, Recent Comments, ...) ===== */
.cb-widget{border-radius:20px;padding:24px;transition:box-shadow .2s ease,transform .2s ease}
.cb-widget .wp-block-group{margin:0}
.cb-widget .wp-block-heading,
.cb-widget .wp-block-search__label,
.cb-widget>h2,.cb-widget .wp-block-group>h2{
  position:relative;display:block;margin:0 0 18px;padding:0 0 12px;font-size:17px;font-weight:650;line-height:1.3;letter-spacing:-.01em;color:var(--cb-ink)
}
.cb-widget .wp-block-heading::after,
.cb-widget .wp-block-search__label::after,
.cb-widget>h2::after,.cb-widget .wp-block-group>h2::after{
  content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;border-radius:3px;background:var(--cb-accent)
}
/* Search */
.cb-widget .wp-block-search__inside-wrapper,.cb-widget .search-form{gap:8px}
.cb-widget .wp-block-search__input,.cb-widget .search-field{min-height:46px;padding:0 14px;border-radius:12px;background:var(--cb-soft);border-color:transparent;transition:border-color .15s,background .15s,box-shadow .15s}
.cb-widget .wp-block-search__input:focus,.cb-widget .search-field:focus{background:var(--cb-card);outline:0;border-color:var(--cb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cb-accent) 22%,transparent)}
.cb-widget .wp-block-search__button,.cb-widget .search-submit{min-height:46px;padding:0 20px;border-radius:12px;margin:0}
/* Lists (Recent posts, Archives, Categories, ...) */
.cb-widget ul{margin:0}
.cb-widget li{padding:12px 0}
.cb-widget .wp-block-latest-posts__list{margin:0;padding:0}
.cb-widget .wp-block-latest-posts__post-title,.widget_recent_entries li>a{position:relative;display:block;padding-left:0;font-weight:600;line-height:1.45;transition:color .15s,padding-left .2s ease}
.cb-widget .wp-block-latest-posts__post-title:hover,.widget_recent_entries li>a:hover{padding-left:6px}
.cb-widget .wp-block-latest-posts__post-date{display:block;margin-top:4px;font-size:13px;color:var(--cb-mut)}
/* Recent comments */
.cb-widget .wp-block-latest-comments{margin:0;padding:0}
.cb-widget .wp-block-latest-comments__comment{margin:0;padding:12px 0;border-bottom:1px solid var(--cb-line);line-height:1.5}
.cb-widget .wp-block-latest-comments__comment:last-child{padding-bottom:0;border-bottom:0}
.cb-widget .wp-block-latest-comments__comment:first-child{padding-top:0}
.cb-widget .wp-block-latest-comments__comment-author,.cb-widget .wp-block-latest-comments__comment-link{font-weight:600}
.cb-widget .no-comments{padding:12px 14px;border-radius:12px;background:var(--cb-soft);color:var(--cb-mut);font-size:14px}

/* ===== Standard header: same underline as the modern header + roomier spacing (desktop) ===== */
@media (min-width:821px){
  .cb-header:not(.cb-header--modern) .cb-menu>li>a{position:relative;padding:8px 14px;border-radius:8px}
  .cb-header:not(.cb-header--modern) .cb-menu>li>a:hover,
  .cb-header:not(.cb-header--modern) .cb-menu>li:hover>a,
  .cb-header:not(.cb-header--modern) .cb-menu>.current-menu-item>a,
  .cb-header:not(.cb-header--modern) .cb-menu>.current_page_item>a,
  .cb-header:not(.cb-header--modern) .cb-menu>.menu-item-has-children.current-menu-ancestor>a,
  .cb-header:not(.cb-header--modern) .cb-menu>.menu-item-has-children.current-menu-parent>a{color:var(--cb-ink)}
  .cb-header:not(.cb-header--modern) .cb-menu>li>a::before{
    content:"";position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:3px;
    background:var(--cb-accent);opacity:0;transform:scaleX(.4);transition:opacity .2s ease,transform .2s ease
  }
  .cb-header:not(.cb-header--modern) .cb-menu>li>a:hover::before,
  .cb-header:not(.cb-header--modern) .cb-menu>li:hover>a::before,
  .cb-header:not(.cb-header--modern) .cb-menu>.current-menu-item>a::before,
  .cb-header:not(.cb-header--modern) .cb-menu>.current_page_item>a::before,
  .cb-header:not(.cb-header--modern) .cb-menu>.menu-item-has-children.current-menu-ancestor>a::before,
  .cb-header:not(.cb-header--modern) .cb-menu>.menu-item-has-children.current-menu-parent>a::before{opacity:1;transform:scaleX(1)}
}

/* ===== Sidebar widgets: normal weight everywhere except the widget titles ===== */
.cb-sidebar .cb-widget a,
.cb-sidebar .cb-widget caption,
.cb-sidebar .cb-widget th,
.cb-sidebar .cb-widget td a,
.cb-sidebar .cb-widget .wp-block-latest-posts__post-title,
.cb-sidebar .cb-widget .wp-block-latest-comments__comment-author,
.cb-sidebar .cb-widget .wp-block-latest-comments__comment-link,
.cb-sidebar .cb-widget .comment-author-link a,
.cb-sidebar .cb-widget .search-submit,
.cb-sidebar .cb-widget .wp-block-search__button{font-weight:400}
