/*
Theme Name: Destination Hub
Theme URI: https://www.destinationhub.co.uk/
Author: Destination Hub Limited
Author URI: https://www.destinationhub.co.uk/
Description: Full Destination Hub WordPress theme integrated with the Destination Hub Platform plugin for hotel search, attractions, booking management, competitor price checks, SEO destination pages and customer communications.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: destination-hub
Tags: travel, custom-logo, custom-menu, featured-images, responsive-layout
*/

:root{
  --dh-brand:#3ca6b7;
  --dh-brand-dark:#257e8e;
  --dh-brand-deep:#10343d;
  --dh-ink:#153840;
  --dh-muted:#647d83;
  --dh-line:#d9e9ec;
  --dh-soft:#eefafb;
  --dh-surface:#ffffff;
  --dh-shadow:0 18px 48px rgba(21,56,64,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dh-ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.dh-theme-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Global header shared by normal WordPress pages and Destination Hub platform templates. */
.dhcs-global-header{background:rgba(255,255,255,.97);border-bottom:1px solid rgba(217,233,236,.92);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px)}
.admin-bar .dhcs-global-header{top:32px}
.dhcs-global-nav{width:min(1180px,calc(100% - 36px));min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.dhcs-global-logo{display:inline-flex;align-items:center;line-height:0;flex:0 0 auto}
.dhcs-global-logo img{display:block;width:205px;height:68px;object-fit:contain;object-position:left center;border-radius:4px}
.dhcs-global-links{display:flex;align-items:center;gap:24px;margin-left:auto;color:#46666d;font-weight:750;font-size:.92rem}
.dhcs-global-links a{display:inline-flex;align-items:center;color:#46666d;text-decoration:none;padding:8px 0;white-space:nowrap}
.dhcs-global-links a:hover,.dhcs-global-links a:focus-visible,.dhcs-global-links a[aria-current="page"]{color:var(--dh-brand-dark)}
.dhcs-global-actions{display:flex;align-items:center;gap:10px}
.dhcs-global-search{display:inline-flex;align-items:center;justify-content:center;background:var(--dh-brand);color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:14px;font-weight:850;font-size:.92rem;box-shadow:0 10px 24px rgba(60,166,183,.25)}
.dhcs-global-search:hover,.dhcs-global-search:focus-visible{background:var(--dh-brand-dark)}
.dhcs-menu-toggle{display:none;width:48px;height:48px;padding:0;border:1px solid #d3e6e9;border-radius:14px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.dhcs-menu-toggle>span:not(.dhcs-sr-only){display:block;width:20px;height:2px;background:var(--dh-brand-deep);border-radius:2px}
.dhcs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dhcs-mobile-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;background:#fff;border:1px solid #dcebed;border-radius:0 0 18px 18px;box-shadow:0 18px 40px rgba(21,56,64,.14);padding:10px;z-index:120}
.dhcs-mobile-nav[hidden]{display:none}
.dhcs-mobile-nav a{display:block;padding:13px 14px;border-radius:11px;color:#365c64;text-decoration:none;font-weight:800}
.dhcs-mobile-nav a:hover,.dhcs-mobile-nav a:focus-visible{background:#eef8f9;color:var(--dh-brand-dark)}

/* Standard WordPress content. */
.dh-theme-main{min-height:55vh;padding:48px 0 24px}
.dh-page-shell{width:min(960px,calc(100% - 36px));margin:0 auto}
.dh-page-header{margin-bottom:28px}
.dh-page-title{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 14px;color:var(--dh-brand-deep)}
.dh-page-meta{color:var(--dh-muted)}
.dh-entry-content{font-size:1.02rem;color:#345b63}
.dh-entry-content h2,.dh-entry-content h3{color:var(--dh-brand-deep);letter-spacing:-.02em}
.dh-entry-content a{color:var(--dh-brand-dark);font-weight:700;text-underline-offset:3px}
.dh-entry-content img{border-radius:18px}
.dh-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dh-post-card{border:1px solid var(--dh-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(21,56,64,.06)}
.dh-post-card a{text-decoration:none}
.dh-post-card-body{padding:18px}
.dh-post-card h2{margin:0 0 8px;font-size:1.2rem}

/* Full site footer on every normal and Destination Hub platform page. */
.dhcs-full-footer{background:var(--dh-brand-deep)!important;color:#b9d4d8!important;margin-top:72px!important;padding:42px 0 calc(46px + env(safe-area-inset-bottom))!important;font-size:.88rem!important;line-height:1.6!important;width:100%!important;max-width:none!important;overflow:hidden}
.dhcs-full-footer *{box-sizing:border-box}
.dhcs-full-footer .dhcs-footer-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}
.dhcs-full-footer .dhcs-footer-main{display:grid;grid-template-columns:230px minmax(0,1.15fr) minmax(0,.85fr);gap:34px;align-items:start}
.dhcs-full-footer .dhcs-footer-logo-link{display:inline-flex;line-height:0;text-decoration:none!important;border:0!important}
.dhcs-full-footer .dhcs-footer-logo{display:block;width:210px;height:70px;max-width:210px;object-fit:contain;object-position:left center;border-radius:4px;background:transparent}
.dhcs-full-footer .dhcs-footer-heading{color:#fff;font-size:.84rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px}
.dhcs-full-footer .dhcs-company-details{color:#b9d4d8;line-height:1.7;overflow-wrap:anywhere}
.dhcs-full-footer .dhcs-company-details strong{color:#fff}
.dhcs-full-footer a,.dhcs-full-footer a:visited{color:#c3dadd!important;text-decoration:none!important;border:0!important;box-shadow:none!important}
.dhcs-full-footer a:hover,.dhcs-full-footer a:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
.dhcs-full-footer .dhcs-footer-links{display:grid;gap:7px}
.dhcs-full-footer .dhcs-footer-terms{appearance:none;border:0;background:transparent;padding:0;color:#c3dadd;text-align:left;cursor:pointer;font:inherit;font-weight:800}
.dhcs-full-footer .dhcs-footer-terms:hover,.dhcs-full-footer .dhcs-footer-terms:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dhcs-full-footer .dhcs-footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);color:#8fb4bb;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

.dh-theme-plugin-required{border:1px solid var(--dh-line);border-radius:24px;padding:32px;background:linear-gradient(135deg,#eefafb,#fff);box-shadow:var(--dh-shadow)}

@media(max-width:980px){
  .dhcs-global-links{display:none}
  .dhcs-menu-toggle{display:flex}
  .dh-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:782px){.admin-bar .dhcs-global-header{top:46px}}
@media(max-width:820px){
  .dhcs-full-footer .dhcs-footer-main{grid-template-columns:1fr 1fr}
  .dhcs-full-footer .dhcs-footer-main>:first-child{grid-column:1/-1}
}
@media(max-width:620px){
  .dhcs-global-nav{width:calc(100% - 24px);min-height:72px;gap:10px}
  .dhcs-global-logo img{width:168px;height:56px}
  .dhcs-global-search{min-height:44px;padding:0 13px;font-size:.82rem}
  .dh-theme-main{padding-top:32px}
  .dh-page-shell{width:calc(100% - 24px)}
  .dh-card-list{grid-template-columns:1fr}
  .dhcs-full-footer{margin-top:56px!important;padding-top:34px!important}
  .dhcs-full-footer .dhcs-footer-wrap{width:calc(100% - 24px)}
  .dhcs-full-footer .dhcs-footer-main{grid-template-columns:1fr;gap:25px}
  .dhcs-full-footer .dhcs-footer-main>:first-child{grid-column:auto}
  .dhcs-full-footer .dhcs-footer-logo{width:185px;height:62px}
}

/* Destination Hub platform contrast guardrails. WordPress global styles can
   otherwise force dark heading colours onto teal/blue panels. */
.booking-head,.form-head,.location-results-head{color:#fff!important}
.booking-head h1,.booking-head h2,.booking-head h3,.booking-head strong,.booking-head label,
.form-head h1,.form-head h2,.form-head h3,.form-head strong,.form-head label,
.location-results-head h1,.location-results-head h2,.location-results-head h3,.location-results-head strong,
.location-results-head .location-results-kicker,.location-results-head .result-kicker,.location-results-head .attraction-result-sort{color:#fff!important}
.booking-head p,.form-head p,.location-results-head p{color:#d9eff2!important}
.location-results-head select,.location-results-head option{color:#153840!important;background:#fff!important}
