.booking-page{background:#f8fbfa;color:var(--color-text,#153f3b)}.booking-hero{padding:clamp(9rem,14vw,12rem) 0 5rem;background:radial-gradient(circle at 20% 30%,rgba(255,190,60,.42),transparent 34%),linear-gradient(135deg,#076960 0%,#145e58 52%,#f6b93b 160%);color:#fff;overflow:hidden}.booking-hero-inner{max-width:900px;text-align:center}.booking-hero .eyebrow{display:inline-flex;padding:.55rem 1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);font-weight:700}.booking-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:1rem 0 .8rem;color:#fff}.booking-hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:720px;margin:auto;color:rgba(255,255,255,.88)}.booking-section{padding:clamp(3rem,7vw,6rem) 0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:2rem;align-items:start}.booking-form-card,.booking-summary-card{background:#fff;border:1px solid rgba(7,105,96,.12);border-radius:28px;box-shadow:0 22px 60px rgba(12,68,64,.1)}.booking-form-card{padding:clamp(1.25rem,4vw,2.5rem)}.booking-summary-card{padding:2rem;position:sticky;top:120px;background:linear-gradient(165deg,#fff,#eef7f5)}.booking-summary-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#f8ba3f;color:#075f58;font-size:1.6rem;font-weight:900}.booking-summary-card h2{margin:1.1rem 0}.booking-summary-card ol{padding-right:1.4rem;line-height:2.2}.booking-summary-card p{padding-top:1rem;border-top:1px solid #dcebe8;color:#55716e}.booking-section-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem}#courses-grid{display:grid;grid-template-columns:1fr !important;gap:24px}.booking-section-head>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:16px;background:#087068;color:#fff;font-weight:800}.booking-section-head h2{margin:0 0 .2rem;font-size:1.45rem}.booking-section-head p{margin:0;color:#66807d}.booking-details-head{margin-top:2.5rem}.appointment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.appointment-option{position:relative;cursor:pointer}.appointment-option input{position:absolute;opacity:0;pointer-events:none}.appointment-card{display:block;border:1.5px solid #d7e7e4;border-radius:18px;padding:1rem;transition:.2s;background:#fff}.appointment-option input:checked+.appointment-card{border-color:#087068;background:#eef8f6;box-shadow:0 0 0 3px rgba(8,112,104,.12)}.appointment-card strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.appointment-card small{display:block;color:#607975}.appointment-card em{display:inline-flex;margin-top:.65rem;padding:.25rem .65rem;border-radius:99px;background:#fff1ce;color:#825b0a;font-style:normal;font-size:.82rem}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-fields label{display:grid;gap:.45rem;font-weight:700}.booking-fields b{color:#c44141}.booking-fields span{font-weight:400;color:#728582}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;border:1px solid #cedfdd;border-radius:14px;padding:.9rem 1rem;background:#fbfdfd;color:#153f3b;font:inherit;outline:none}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{border-color:#087068;box-shadow:0 0 0 3px rgba(8,112,104,.1)}.booking-field-wide{grid-column:1/-1}.booking-consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;color:#425f5c}.booking-consent input{width:19px;height:19px;margin-top:.25rem;accent-color:#087068}.booking-submit{width:100%;justify-content:center;min-height:54px}.booking-submit[disabled]{opacity:.65;cursor:wait}.booking-message{padding:.9rem 1rem;border-radius:14px;margin-bottom:1rem;background:#fff0f0;color:#9d2f2f}.booking-loading,.booking-empty{text-align:center;padding:2rem;border:1px dashed #b9d4d0;border-radius:18px;color:#5f7975}.booking-success{text-align:center;padding:2rem .5rem}.booking-success-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:#087068;color:#fff;font-size:2rem}.booking-success h2{max-width:600px;margin:0 auto 1.5rem}.booking-success dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:620px;margin:0 auto 1.5rem}.booking-success dl div{padding:1rem;border-radius:15px;background:#f1f8f6}.booking-success dt{font-size:.82rem;color:#68807d}.booking-success dd{margin:.25rem 0 0;font-weight:800}.booking-success .button{margin:auto}.contact-booking-card{margin:0;align-self:start}.contact-booking-card>.section-head{margin-bottom:1.5rem}.contact-booking-card .appointment-list{grid-template-columns:1fr}.contact-booking-card .booking-fields{grid-template-columns:1fr}.contact-booking-card .booking-submit{display:flex}.contact-booking-card .booking-success{padding-inline:0}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-summary-card{position:static;order:2}.appointment-list,.booking-fields{grid-template-columns:1fr}.booking-field-wide{grid-column:auto}.booking-hero{padding-top:8rem}.booking-success dl{grid-template-columns:1fr 1fr}}@media(max-width:480px){.booking-form-card{border-radius:20px;padding:1rem}.booking-success dl{grid-template-columns:1fr}.booking-section-head>span{flex-basis:42px;height:42px}.booking-hero h1{font-size:2.35rem}}

/* SLOGAN VISIBILITY OVERRIDE */
.site-header.premium-header .logo-slogan,
.premium-header .logo-slogan,
.logo-slogan {
    display: block !important;
    font-size: 11px !important;
    color: #7c9494 !important;
    font-weight: 500 !important;
    white-space: normal !important;
    margin-top: 2px !important;
}

.footer-slogan {
    display: block !important;
    font-weight: 700 !important;
    color: #faba3d !important;
    margin: 0.35rem 0 0.55rem !important;
}


/* ==========================================================================
   GLOBAL MOBILE HERO TEXT REDUCTION (ALL PAGES)
   ========================================================================== */
@media (max-width: 991px) {
  body .hero h1,
  body .hero-copy h1,
  body .page-hero-copy h1,
  body .hero-showcase .hero-copy h1,
  body .hero-homepage .hero-copy h1,
  body .course-header h1,
  body .post-header h1,
  body .page-header h1,
  body .hero-content h1,
  body .section-hero h1,
  body h1.hero-title,
  body h1.page-title {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 0.75rem !important;
    max-width: 100% !important;
  }
  
  body .hero p,
  body .hero-copy p,
  body .page-hero-copy p,
  body .hero-showcase .hero-copy p,
  body .hero-homepage .hero-copy p,
  body .page-header p,
  body .hero-content p,
  body .section-hero p,
  body p.hero-subtitle {
    font-size: clamp(0.9rem, 4.5vw, 1.1rem) !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
    max-width: 100% !important;
  }
}



/* ==========================================================================
   CENTERED MOBILE HEADER SLOGAN - V4 (ABSOLUTE CENTERING)
   ========================================================================== */
@media (max-width: 991px) {
  /* 1. Ensure header-shell is the relative parent */
  body .site-header .header-shell,
  body .site-header.premium-header .header-shell {
    position: relative !important;
  }
  
  /* 2. Remove any relative positioning from brand link and its wrappers */
  body .site-header .brand,
  body .site-header.premium-header .brand,
  html[dir="rtl"] body .site-header.premium-header .brand,
  body a.brand,
  body a.brand-saas {
    position: static !important;
  }

  /* 3. Absolute position the slogan in the exact center of header-shell */
  body .site-header .brand .logo-slogan,
  body .site-header.premium-header .brand .logo-slogan,
  body .site-header.premium-header .brand-saas .logo-slogan,
  body a.brand span.logo-slogan,
  html[dir="rtl"] body .site-header.premium-header a.brand span.logo-slogan,
  html[dir="rtl"] body .site-header a.brand span.logo-slogan {

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    
    /* 4. Formatting */
    width: 125px !important;
    max-width: 130px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    font-size: 8.5px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: var(--color-text-muted, rgba(255, 255, 255, 0.7)) !important;
    direction: rtl !important;
  }
}


/* ==========================================================================
   MOBILE MENU CONTAINER OVERFLOW FIX - V7 (ALLOW FULL TEXT)
   ========================================================================== */
@media (max-width: 991px) {
  /* Remove overflow-x: hidden from parent containers that clip the text */
  body .premium-header .site-nav.site-nav-saas .drawer-content,
  body .premium-header .site-nav.site-nav-saas .navigation-container,
  body .site-nav .drawer-content,
  body .site-nav .navigation-container {
    overflow-x: visible !important;
    overflow: visible !important;
  }

  /* nav-panel must allow overflow too */
  body .premium-header .site-nav.site-nav-saas .nav-panel {
    overflow-x: visible !important;
  }

  /* nav-list items should not clip */  
  body .premium-header .site-nav.site-nav-saas .nav-list,
  body .nav-list {
    overflow: visible !important;
  }

  /* nav-item-dropdown should not clip */
  body .nav-item-dropdown,
  body .premium-header .nav-item-dropdown {
    overflow: visible !important;
  }

  /* open dropdown menu must show all content */
  body .premium-header .site-nav.site-nav-saas .nav-item-dropdown.open .nav-dropdown-menu,
  body .nav-item-dropdown.open .nav-dropdown-menu {
    overflow: visible !important;
    max-height: 2500px !important;
  }

  /* Force dropdown links to wrap text */
  body .nav-dropdown-link,
  body .premium-header .nav-dropdown-link,
  body .site-nav .nav-dropdown-link {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    text-overflow: unset !important;
    overflow: visible !important;
    display: block !important;
    height: auto !important;
    line-height: 1.5 !important;
  }
}



/* ==========================================================================
   MOBILE MENU DROPDOWN FIX - V8 (ACCORDION STYLE FOR MOBILE)
   ========================================================================== */
@media (max-width: 991px) {
  body .premium-header .nav-dropdown-menu,
  body .site-header .nav-dropdown-menu,
  body .site-nav-saas .nav-dropdown-menu,
  body .site-header.premium-header .nav-dropdown-menu {
    position: static !important;
    transform: none !important;
    inset-inline-start: 0 !important;
    left: 0 !important;
    right: auto !important;
    margin-top: 0.5rem !important;
    min-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
