.ct-hero-btn{display:inline-block;background:#de543e;color:#fff !important;font-weight:700;padding:14px 28px;border-radius:4px;text-decoration:none;font-size:17px;line-height:1.2;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:background .2s;border:none;cursor:pointer;}
.ct-hero-btn:hover{background:#c8432f;color:#fff !important;}

/* Hero overlay (homepage) */
.ct-hero{position:relative;min-height:300px;}
.ct-hero-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,0) 100%);}
.ct-hero-inner{max-width:620px;padding:0 6%;color:#fff;pointer-events:auto;}
.ct-hero-title{color:#fff;font-size:40px;line-height:1.12;font-weight:700;margin:0 0 14px;text-shadow:0 2px 8px rgba(0,0,0,.55);}
.ct-hero-sub{color:#fff;font-size:18px;line-height:1.45;margin:0 0 22px;text-shadow:0 1px 5px rgba(0,0,0,.65);}
#slider-1-slide-9-layer-4,#slider-1-slide-9-layer-5{display:none !important;}
@media (min-width:779px){.ct-hero{min-height:480px;}}
@media (max-width:778px){
  .ct-hero{min-height:260px;}
  .ct-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.6) 100%);}
  .ct-hero-inner{padding:0 20px;text-align:center;max-width:100%;}
  .ct-hero-title{font-size:25px;}
  .ct-hero-sub{font-size:15px;margin-bottom:16px;}
  .ct-hero-btn{font-size:15px;padding:12px 22px;}
}

/* Mobile sticky contact bar */
#ct-mobile-cta{display:none;}
@media (max-width:778px){
  #ct-mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;box-shadow:0 -2px 10px rgba(0,0,0,.25);}
  #ct-mobile-cta a{flex:1;text-align:center;padding:14px 6px;font-weight:700;font-size:16px;text-decoration:none;color:#fff !important;display:flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.2px;}
  #ct-mobile-cta .ct-cta-call{background:#016668;}
  #ct-mobile-cta .ct-cta-book{background:#de543e;}
  #ct-mobile-cta .ct-cta-call::before{content:"\260E";font-size:17px;}
  body{padding-bottom:56px;}
}

/* Pricing page CTA */
.ct-pricing-cta{background:#f4f8f8;border:1px solid #d8e6e6;border-left:5px solid #016668;border-radius:4px;padding:20px 24px;margin:4px 0 26px;}
.ct-pricing-cta-lead{font-size:17px;line-height:1.5;margin:0 0 16px;color:#333;}
.ct-pricing-cta .ct-hero-btn{margin:0 12px 8px 0;}
.ct-pricing-call{display:inline-block;color:#016668 !important;font-weight:700;text-decoration:none;padding:12px 6px;white-space:nowrap;}
.ct-pricing-call::before{content:"\260E  ";}

/* Reservation form: reassurance + tighten whitespace */
.page-id-816 .page-wrap{padding-top:0;}
.ct-form-reassure{margin:2px 0 22px;}
.ct-form-reassure ul{list-style:none !important;margin:0 !important;padding:0 !important;display:flex;flex-wrap:wrap;gap:10px 28px;}
.ct-form-reassure li{list-style:none !important;position:relative;padding-left:25px;margin:0 !important;font-size:15px;color:#2b6e63;font-weight:600;background:none !important;}
.ct-form-reassure li::marker{content:"" !important;}
.ct-form-reassure li::before{content:"\2714";position:absolute;left:0;top:0;color:#2e9e6b;font-weight:700;}
@media (max-width:778px){.ct-form-reassure ul{flex-direction:column;gap:8px;}}

/* Nav: extra top-level "Pricing" item - keep the menu on one row at mid widths */
@media only screen and (min-width: 769px) and (max-width: 1029px) {
  #top-navigation-menu li .top-navigation-content-wrap { padding-right: 7px; font-size: 0.7em; }
}
@media only screen and (min-width: 1030px) and (max-width: 1289px) {
  #top-navigation-menu li .top-navigation-content-wrap { padding-right: 22px; }
}

/* Enquiry page: the "Check availability" half would link to itself */
@media (max-width:778px){ .page-id-816 #ct-mobile-cta .ct-cta-book{display:none;} }

/* H1 on title-bar pages: look exactly like the old plain title text */
#main-title-wrap h1.ct-h1{display:inline;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;padding:0;border:0;line-height:inherit;}

/* Mobile: the address/phone/email bar duplicates the sticky Call bar and the footer */
@media (max-width:768px){ #top-sticky-bar{display:none !important;} }

/* Homepage guest reviews */
.ct-reviews{background:#f4f8f8;padding:56px 0 48px;}
.ct-reviews-title{text-align:center;text-transform:uppercase;font-weight:900;color:#444;font-size:28px;line-height:1.2;margin:0 0 30px;}
.ct-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ct-review{margin:0;background:#fff;border-radius:4px;border-top:4px solid #016668;padding:22px 24px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;flex-direction:column;justify-content:space-between;}
.ct-review blockquote{margin:0 0 14px;padding:0;border:0;font-size:16px;line-height:1.6;color:#444;font-style:normal;quotes:none;}
.ct-review blockquote:before,.ct-review blockquote:after{content:none;}
.ct-review figcaption{font-weight:700;color:#016668;font-size:14px;}
.ct-reviews-more{text-align:center;margin:26px 0 0;}
.ct-reviews-more a{color:#de543e;font-weight:700;text-decoration:none;border-bottom:2px solid #de543e;padding-bottom:2px;}
@media (max-width:778px){.ct-reviews{padding:40px 0 34px;}.ct-reviews-grid{grid-template-columns:1fr;gap:16px;}.ct-reviews-title{font-size:25.2px;margin-bottom:20px;}.ct-reviews .container{padding:0 20px;box-sizing:border-box;}}

/* Room pages: long-stay + check-in/out line above Book Now */
.ct-room-info{margin:14px 0 18px;}
.ct-room-info p{margin:0 0 6px;font-size:15px;line-height:1.5;}
.ct-room-longstay a{color:#de543e;font-weight:700;}
.ct-room-times{color:#555;}
