/* G.B. Tours & Travels shared identity: midnight blue, muted gold and warm ivory. */
:root {
  --green: #173b63;
  --green-deep: #102b49;
  --gold: #b49a6a;
  --paper: #f5f2eb;
  --paper2: #ebe6db;
  --ink: #202833;
  --muted: #737b83;
  --line: rgba(23, 59, 99, .18);
}
.kea-global-announcement {
  min-height: 28px; padding: 7px clamp(20px, 5vw, 76px);
  display:flex; justify-content:space-between; gap:14px;
  background:#102b49; color:#f5f2eb; font:500 9px/1.4 "DM Sans",Arial,sans-serif;
  letter-spacing:.1em; text-transform:uppercase;
}
.kea-global-header {
  min-height:78px; padding:12px clamp(20px,5vw,76px); display:flex; align-items:center;
  justify-content:space-between; gap:22px; position:relative; z-index:100;
  background:#f5f2eb !important; border-bottom:1px solid rgba(23,59,99,.16);
}
.kea-global-header .brand, .kea-global-footer .brand {display:inline-flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.kea-header-logo {display:block;width:auto!important;height:auto!important;max-width:54px;max-height:48px;object-fit:contain}
.kea-global-header .brand-copy strong {font:500 17px/1.05 "Playfair Display",Georgia,serif;color:#173b63}
.kea-global-header .brand-copy small {font:600 8px/1.3 "DM Sans",Arial,sans-serif;color:#737b83;letter-spacing:.09em;text-transform:uppercase}
.kea-global-header .desktop-nav {display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.55vw,25px)}
.kea-global-header .desktop-nav a {font:500 10px/1.4 "DM Sans",Arial,sans-serif;color:#35475b;text-decoration:none;transition:color .2s ease}
.kea-global-header .desktop-nav a:hover,.kea-global-header .desktop-nav a:focus-visible {color:#a18450}
.kea-global-header .header-cta,.kea-global-header a.header-cta {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:12px 17px;
  background:#173b63!important;color:#fff!important;border:1px solid #173b63;text-decoration:none;
  font:600 10px/1.2 "DM Sans",Arial,sans-serif;transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.kea-global-header .header-cta:hover,.kea-global-header .header-cta:focus-visible {background:#b49a6a!important;border-color:#b49a6a!important;color:#102b49!important;transform:translateY(-1px)}
.kea-global-header .menu-toggle {display:none}
.kea-global-mobile-menu {display:none}
.kea-global-footer {padding:36px clamp(20px,5vw,76px) 20px!important;background:#173b63!important;color:#f5f2eb!important}
.kea-global-footer .footer-top {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:26px;border-bottom:1px solid rgba(245,242,235,.2)}
.kea-global-footer .footer-brand .brand-copy strong {font:500 17px/1.1 "Playfair Display",Georgia,serif;color:#fff}
.kea-global-footer .footer-brand .brand-copy small {font:600 8px/1.4 "DM Sans",Arial,sans-serif;color:rgba(245,242,235,.7);letter-spacing:.1em;text-transform:uppercase}
.kea-global-footer .footer-brand .kea-header-logo {filter:brightness(0) invert(1);max-width:48px;max-height:42px}
.kea-global-footer .footer-top>p {margin:0;color:#f5f2eb;font:400 17px/1.35 "Playfair Display",Georgia,serif}
.kea-global-footer .footer-contact {color:#f5f2eb!important;text-decoration:none;font:600 10px "DM Sans",Arial,sans-serif;border-bottom:1px solid #b49a6a;padding-bottom:6px}
.kea-footer-columns {display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:35px;padding:24px 0;border-bottom:1px solid rgba(245,242,235,.2)}
.kea-footer-columns>div {display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.kea-footer-columns .eyebrow {margin:0 0 5px;color:#c5b18b;font:600 9px "DM Sans",Arial,sans-serif;letter-spacing:.14em}
.kea-footer-columns a,.kea-footer-columns span:not(.eyebrow) {color:rgba(245,242,235,.82);font:400 10px/1.6 "DM Sans",Arial,sans-serif;text-decoration:none}
.kea-footer-columns a:hover {color:#d4bd91;text-decoration:underline;text-underline-offset:3px}
.kea-footer-promise p {max-width:320px;margin:0;color:#f5f2eb;font:400 21px/1.25 "Playfair Display",Georgia,serif}
.kea-global-footer .footer-bottom {display:flex;justify-content:space-between;gap:15px;padding-top:15px;color:rgba(245,242,235,.65);font:400 9px/1.6 "DM Sans",Arial,sans-serif}
.kea-global-footer .footer-bottom a {color:#fff;text-decoration:none}
.kea-global-footer .footer-bottom a:hover {color:#d4bd91}
.kea-global-whatsapp {right:20px!important;bottom:18px!important;z-index:150!important;background:#173b63!important;color:#fff!important;border:1px solid #b49a6a;min-height:44px!important;padding:0 16px!important}
.kea-global-whatsapp:hover {background:#b49a6a!important;color:#102b49!important}
/* Keep every button label readable and provide a visible hover/focus state. */
a.btn,a.button,button.btn,input[type=submit],button.filter-btn,.header-cta,.footer-contact {
  text-decoration:none; transition:background-color .2s,color .2s,border-color .2s,transform .2s;
}
a.btn:not(.btn-light),.btn-dark,button.btn:not(.btn-light),input[type=submit] {color:#fff!important}
a.btn:not(.btn-light):hover,.btn-dark:hover,button.btn:not(.btn-light):hover,input[type=submit]:hover {background:#b49a6a!important;border-color:#b49a6a!important;color:#102b49!important}
.btn-light {background:#f5f2eb!important;color:#173b63!important;border:1px solid #f5f2eb!important}
.btn-light:hover {background:#b49a6a!important;border-color:#b49a6a!important;color:#102b49!important}
button.filter-btn:hover,button.filter-btn:focus-visible {background:#b49a6a!important;border-color:#b49a6a!important;color:#102b49!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {outline:2px solid #b49a6a!important;outline-offset:3px}
@media(max-width:1050px){.kea-global-header .desktop-nav{gap:11px}.kea-global-header .desktop-nav a{font-size:9px}.kea-global-header .brand-copy small{font-size:7px}}
@media(max-width:820px){
 .kea-global-header{min-height:70px;padding:10px 20px;gap:12px}
 .kea-global-header .desktop-nav,.kea-global-header>.header-cta{display:none!important}
 .kea-global-header .menu-toggle{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:#173b63;padding:10px 0 10px 10px;font:600 11px "DM Sans",Arial,sans-serif;cursor:pointer}
 .kea-global-header .menu-toggle .close-word{display:none}
 .kea-global-header .menu-toggle[aria-expanded=true] .menu-word{display:none}
 .kea-global-header .menu-toggle[aria-expanded=true] .close-word{display:inline}
 .kea-global-header .menu-toggle i{display:flex;flex-direction:column;gap:5px;width:18px}
 .kea-global-header .menu-toggle i b{height:1px;width:18px;background:currentColor}
 .kea-global-mobile-menu{display:flex!important;position:absolute;z-index:99;top:106px;left:0;right:0;padding:14px 22px 24px;background:#173b63!important;color:#fff!important;flex-direction:column;gap:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-7px);transition:opacity .2s,transform .2s,visibility .2s;border-bottom:2px solid #b49a6a}
 .kea-global-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .kea-global-mobile-menu>a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.17);color:#fff!important;text-decoration:none;font:400 21px/1.2 "Playfair Display",Georgia,serif}
 .kea-global-mobile-menu>a:hover{color:#d4bd91!important}
 .kea-global-mobile-menu p{margin:17px 0 0;color:rgba(255,255,255,.7);font:500 9px "DM Sans",Arial,sans-serif;letter-spacing:.08em}
 .kea-global-footer .footer-top{align-items:flex-start;flex-direction:column}
 .kea-footer-columns{grid-template-columns:1fr 1fr;gap:25px}
 .kea-footer-promise{grid-column:1/-1}
 .kea-global-footer .footer-bottom{flex-wrap:wrap}
}
@media(max-width:480px){.kea-global-announcement{font-size:8px}.kea-global-header .kea-header-logo{max-width:43px;max-height:40px}.kea-global-header .brand-copy strong{font-size:15px}.kea-footer-columns{grid-template-columns:1fr 1fr}.kea-global-whatsapp{right:12px!important;bottom:12px!important}}
.hajj-submit,.umrah-submit,.ziyarat-submit {background:#173b63!important;border:1px solid #173b63!important;color:#fff!important}
.hajj-submit:hover,.hajj-submit:focus-visible,.umrah-submit:hover,.umrah-submit:focus-visible,.ziyarat-submit:hover,.ziyarat-submit:focus-visible {background:#b49a6a!important;border-color:#b49a6a!important;color:#102b49!important}


/* Mobile navigation reliability patch */
@media (max-width: 820px) {
  body .kea-global-announcement { display: none !important; }
  body .kea-global-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10020 !important;
    min-height: 70px !important;
  }
  body .kea-global-header .menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 10022 !important;
    min-width: 64px;
    min-height: 44px;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body nav.kea-global-mobile-menu {
    display: flex !important;
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    max-height: calc(100dvh - 70px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 10021 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    background: #173b63 !important;
    box-shadow: 0 16px 30px rgba(16,43,73,.18);
  }
  body nav.kea-global-mobile-menu.is-open,
  body nav.kea-global-mobile-menu[aria-hidden="false"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  body.admin-bar nav.kea-global-mobile-menu { top: 102px !important; max-height: calc(100dvh - 102px) !important; }
}
@media (max-width: 782px) {
  body.admin-bar .kea-global-header { top: 46px !important; }
  body.admin-bar nav.kea-global-mobile-menu { top: 116px !important; max-height: calc(100dvh - 116px) !important; }
}
@media (max-width: 480px) {
  body nav.kea-global-mobile-menu { padding: 12px 22px 22px !important; }
  body nav.kea-global-mobile-menu > a { min-height: 48px; }
}


/* Floating WhatsApp: consistent branded icon button on every template. */
body a.kea-global-whatsapp,
body a.floating-whatsapp.kea-global-whatsapp {
  position: fixed !important; right: 20px !important; bottom: 18px !important;
  z-index: 10030 !important; width: 58px !important; height: 58px !important;
  min-width: 58px !important; min-height: 58px !important; max-width: 58px !important;
  padding: 0 !important; margin: 0 !important; border-radius: 50% !important;
  display: grid !important; place-items: center !important;
  background: #173b63 !important; color: #fff !important;
  border: 2px solid #b49a6a !important; box-shadow: 0 7px 24px rgba(16,43,73,.28) !important;
  text-decoration: none !important; line-height: 1 !important; font-size: 0 !important;
  overflow: visible !important; transform: none;
}
body a.kea-global-whatsapp:hover,
body a.kea-global-whatsapp:focus-visible {
  background: #b49a6a !important; color: #102b49 !important;
  border-color: #173b63 !important; transform: translateY(-3px) !important;
}
.kea-global-whatsapp .kea-whatsapp-icon {display:block!important;width:30px!important;height:30px!important;color:currentColor!important;}
/* Umrah enquiry submit button: force readable text and gold hover regardless of inherited page styles. */
.umrah-form button.umrah-submit,
.umrah-form button.umrah-submit.btn-light {
  position: relative !important; isolation: isolate; background:#173b63!important;
  border:1px solid #173b63!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
  opacity:1!important; text-shadow:none!important;
}
.umrah-form button.umrah-submit::before {z-index:-1!important;background:#b49a6a!important;}
.umrah-form button.umrah-submit:hover,
.umrah-form button.umrah-submit:focus-visible {
  background:#b49a6a!important; border-color:#b49a6a!important;
  color:#102b49!important; -webkit-text-fill-color:#102b49!important;
}
.umrah-form button.umrah-submit:hover .btn-arrow,
.umrah-form button.umrah-submit:focus-visible .btn-arrow {color:#102b49!important;}
@media(max-width:480px){body a.kea-global-whatsapp,body a.floating-whatsapp.kea-global-whatsapp{right:13px!important;bottom:13px!important;width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important}.kea-global-whatsapp .kea-whatsapp-icon{width:28px!important;height:28px!important}}


/* Definitive mobile menu controller styles (v2.1.3). */
@media (max-width:820px) {
  html.kea-menu-open, body.kea-menu-open { overflow:hidden !important; }
  body .kea-global-header { position:sticky !important; top:0 !important; z-index:10020 !important; }
  body .kea-global-header .menu-toggle { display:inline-flex !important; position:relative !important; z-index:10022 !important; min-width:64px; min-height:46px; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
  body nav.kea-global-mobile-menu {
    display:flex !important; position:fixed !important; top:70px !important; left:0 !important; right:0 !important;
    bottom:0 !important; max-height:calc(100vh - 70px) !important; max-height:calc(100dvh - 70px) !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
    z-index:10021 !important; flex-direction:column !important; opacity:0 !important; visibility:hidden !important;
    pointer-events:none !important; transform:translateY(-8px) !important;
    background:#173b63 !important; color:#fff !important; box-shadow:0 16px 30px rgba(16,43,73,.22);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  body nav.kea-global-mobile-menu.is-open,
  body nav.kea-global-mobile-menu[aria-hidden="false"] {
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:translateY(0) !important;
  }
  body nav.kea-global-mobile-menu>a { display:flex !important; align-items:center; min-height:52px; padding:14px 0; color:#fff !important; }
}
@media (max-width:782px) {
  body.admin-bar .kea-global-header { top:46px !important; }
  body.admin-bar nav.kea-global-mobile-menu { top:116px !important; max-height:calc(100vh - 116px) !important; }
}

/* G.B. Tours & Travels wordmark and accreditation presentation */
.kea-global-header .brand-copy strong,.kea-global-footer .brand-copy strong {color:#173b63!important;font-family:"DM Sans",Arial,sans-serif!important;font-weight:700!important;letter-spacing:-.035em!important;font-size:clamp(15px,1.45vw,21px)!important}
.kea-global-header .brand-copy small,.kea-global-footer .brand-copy small {display:block;color:#737b83!important;font-size:8px!important;letter-spacing:.08em!important}
.kea-global-header .brand {min-width:190px}
.kea-global-footer .footer-brand .brand-copy strong {color:#fff!important}
.kea-global-footer .footer-brand .brand-copy small {color:rgba(255,255,255,.72)!important}
.kea-accreditations {padding:30px 0 34px;border-top:1px solid rgba(245,242,235,.2);border-bottom:1px solid rgba(245,242,235,.2)}
.kea-accreditations-heading {text-align:center;margin:0 auto 22px}
.kea-accreditations-heading .eyebrow {color:#d4bd91;letter-spacing:.15em;font:600 9px "DM Sans",Arial,sans-serif}
.kea-accreditations-heading h2 {margin:8px 0 5px;color:#fff;font:500 clamp(20px,2.5vw,28px)/1.2 "Playfair Display",Georgia,serif}
.kea-accreditations-heading p {margin:0;color:rgba(255,255,255,.7);font:400 11px/1.5 "DM Sans",Arial,sans-serif}
.kea-accreditation-logos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:clamp(14px,3vw,36px);max-width:960px;margin:0 auto}
.kea-accreditation-logos img {display:block;width:100%;height:94px;object-fit:contain;padding:10px 16px;background:#fff;border-radius:5px}
@media(max-width:600px){.kea-accreditation-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kea-accreditation-logos img{height:84px;padding:8px 12px}.kea-accreditations{padding:24px 0}}


/* v2.2.1: remove announcement strip; compact accreditation signatures. */
.kea-global-announcement { display:none !important; }
.kea-accreditations { padding:18px 0 16px !important; }
.kea-accreditations-heading { margin:0 auto 10px !important; }
.kea-accreditations-heading h2 { font-size:15px !important; margin:3px 0 !important; }
.kea-accreditations-heading p { font-size:9px !important; }
.kea-accreditation-logos {
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  justify-content:center !important; gap:18px !important; max-width:620px !important;
}
.kea-accreditation-logos img {
  display:block !important; width:auto !important; height:auto !important;
  max-width:58px !important; max-height:42px !important; object-fit:contain !important;
  padding:0 !important; margin:0 !important; background:transparent !important;
  border:0 !important; border-radius:0 !important;
}
@media(max-width:600px) {
  .kea-accreditations { padding:14px 0 12px !important; }
  .kea-accreditation-logos { gap:12px !important; }
  .kea-accreditation-logos img { max-width:46px !important; max-height:34px !important; }
}


/* v2.2.2: force any uploaded header mark to the G.B. navy brand colour. */
.kea-global-header .kea-header-logo {
  filter: brightness(0) saturate(100%) invert(17%) sepia(42%) saturate(1780%) hue-rotate(169deg) brightness(91%) contrast(96%) !important;
}
.kea-global-footer .kea-header-logo { filter: brightness(0) invert(1) !important; }

/* Accreditation marks are deliberately subordinate to the business identity. */
.kea-accreditation-logos { gap:14px !important; }
.kea-accreditation-logos img {
  max-width:30px !important; max-height:24px !important;
  width:auto !important; height:auto !important; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
@media(max-width:600px) {
  .kea-accreditation-logos { gap:10px !important; }
  .kea-accreditation-logos img { max-width:25px !important; max-height:20px !important; }
}


/* v2.2.3: accreditation logos sized near the footer brand mark. */
.kea-accreditation-logos {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:22px !important;
}
.kea-accreditation-logos img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:64px !important;
  max-height:52px !important;
  object-fit:contain !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
@media(max-width:600px) {
  .kea-accreditation-logos { gap:16px !important; }
  .kea-accreditation-logos img {
    max-width:52px !important;
    max-height:42px !important;
  }
}


/* v2.5.9: native date controls aligned consistently in Safari on macOS, iPadOS and iOS. */
input[type="date"] {
  -webkit-appearance:auto !important;
  appearance:auto !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:48px;
  text-align:left !important;
  text-align-last:left !important;
  padding-left:12px !important;
  padding-right:12px !important;
  font-variant-numeric:tabular-nums;
}
input[type="date"]::-webkit-date-and-time-value {
  text-align:left !important;
  margin:0 !important;
  min-height:1.4em;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  margin:0 0 0 8px !important;
  opacity:.75;
}
input[type="date"]::-webkit-datetime-edit {
  text-align:left !important;
  padding:0 !important;
}
input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  display:flex;
  justify-content:flex-start !important;
  padding:0 !important;
}
/* Contact page */
.gb-contact-page { background:#f5f2eb; color:#172b43; }
.gb-contact-hero { background:#162b43; color:#fff; padding:clamp(64px,10vw,130px) max(6vw,24px); }
.gb-contact-hero .eyebrow { color:#b99c69; letter-spacing:.18em; }
.gb-contact-hero h1 { max-width:900px; font-size:clamp(42px,7vw,88px); line-height:1.02; }
.gb-contact-hero h1 em, .gb-contact-map h2 em { color:#b99c69; }
.gb-contact-hero>p:last-child { max-width:620px; color:#d3d7dc; font-size:18px; }
.gb-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.gb-contact-card { background:#ebe6db; padding:clamp(22px,4vw,42px); min-width:0; }
.gb-contact-card .eyebrow { color:#9b8157; letter-spacing:.15em; }
.gb-contact-card h2 { font:500 clamp(25px,3vw,36px)/1.1 "Playfair Display",serif; margin:18px 0 12px; }
.gb-contact-card p, .gb-contact-card a { overflow-wrap:anywhere; color:#26384c; }
.gb-contact-map { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr); gap:36px; align-items:start; }
.gb-contact-map iframe { width:100%; min-height:390px; border:0; }
@media(max-width:700px) {
 .gb-contact-grid { grid-template-columns:1fr; }
 .gb-contact-map { grid-template-columns:1fr; gap:20px; }
 .gb-contact-map iframe { min-height:300px; }
}


/* v2.4.0: contact page balanced editorial layout */
.gb-contact-page { min-height:60vh; }
.gb-contact-hero { padding:clamp(54px,7vw,88px) max(6vw,24px) !important; }
.gb-contact-hero h1 { max-width:1000px; }
.gb-contact-grid {
  width:min(1180px,88vw) !important; margin:0 auto !important;
  padding:clamp(42px,6vw,76px) 0 !important;
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important; align-items:stretch !important;
}
.gb-contact-card {
  padding:28px !important; min-height:230px; background:#ebe6db;
  border:1px solid rgba(23,59,99,.12); display:flex; flex-direction:column;
  align-items:flex-start; justify-content:flex-start;
}
.gb-contact-card p { line-height:1.7; overflow-wrap:anywhere; }
.gb-contact-map {
  width:min(1180px,88vw) !important; margin:0 auto !important;
  padding:20px 0 clamp(60px,8vw,100px) !important;
}
.gb-contact-map iframe {
  display:block; width:100% !important; height:clamp(320px,42vw,520px) !important;
  border:0; border-radius:2px; margin-top:24px;
}
@media(max-width:850px) {
 .gb-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:560px) {
 .gb-contact-grid { width:calc(100% - 40px) !important; grid-template-columns:1fr !important; gap:12px !important; padding:30px 0 !important; }
 .gb-contact-card { min-height:0; padding:22px !important; }
 .gb-contact-map { width:calc(100% - 40px) !important; }
}


/* v2.4.0: dynamic destination package listings and single package detail */
.kea-destination-packages { background:#ebe6db; }
.kea-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.kea-package-grid .journey-card { display:block; color:inherit; text-decoration:none; }
.kea-package-grid .journey-image { aspect-ratio:1.45; overflow:hidden; }
.kea-package-grid .journey-image img { width:100%; height:100%; object-fit:cover; }
.kea-package-meta { color:#173b63; font-weight:600; font-size:13px; }
.kea-single { background:#f5f2eb; }
.kea-reading-width { width:min(900px,88vw); margin:0 auto; }
.kea-single .display { margin:14px 0 28px; }
.kea-single .kea-article-image img { width:100%; max-height:560px; object-fit:cover; }
.kea-package-facts { display:flex; flex-wrap:wrap; gap:14px 28px; margin:24px 0; padding:18px 0; border-top:1px solid rgba(23,59,99,.2); border-bottom:1px solid rgba(23,59,99,.2); }
.kea-package-facts p { margin:0; }
.kea-single .kea-content { margin:28px 0; line-height:1.8; }
@media(max-width:760px) { .kea-package-grid { grid-template-columns:1fr; } }

/* v2.5.0 policy and editable pilgrim reviews */
.kea-policy-page{max-width:1000px;margin:0 auto;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.kea-policy-page h1{max-width:850px;margin:12px 0 28px}.kea-policy-page>section{max-width:820px;border-top:1px solid rgba(23,59,99,.18);padding:25px 0}.kea-policy-page h2{font:500 clamp(23px,3vw,32px)/1.2 "Playfair Display",Georgia,serif;color:#173b63;margin:0 0 12px}.kea-policy-page p{font:400 15px/1.8 "DM Sans",Arial,sans-serif;color:#555b61}
.kea-global-header .brand-copy small{display:block!important;text-transform:none!important;letter-spacing:.04em!important;font-size:10px!important;color:#7b828a!important;margin-top:4px}
.kea-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.kea-review-card{padding:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);min-width:0}.kea-review-stars{color:#c1a36b;letter-spacing:3px;margin-bottom:12px}.kea-review-card h3{font:500 23px/1.2 "Playfair Display",Georgia,serif;color:inherit;margin:0 0 12px}.kea-review-copy{font:400 14px/1.7 "DM Sans",Arial,sans-serif;color:inherit}.kea-google-reviews-link{margin-top:22px}.kea-policy-page a{color:#173b63;text-decoration:underline}
@media(max-width:760px){.kea-review-grid{grid-template-columns:1fr}.kea-review-card{padding:20px}}


/* v2.5.2: form containment repair only. Preserve page-specific layouts. */
.umrah-form,
.hajj-form,
.ziyarat-form,
.booking-form,
.booking-widget,
#umrahForm,
#hajjEnquiryForm,
#ziyaratForm {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.umrah-form *,
.hajj-form *,
.ziyarat-form *,
.booking-form *,
.booking-widget *,
#umrahForm *,
#hajjEnquiryForm *,
#ziyaratForm * {
  min-width: 0;
  box-sizing: border-box;
}
.umrah-form input:not([type="checkbox"]):not([type="radio"]),
.umrah-form select,
.umrah-form textarea,
.hajj-form input:not([type="checkbox"]):not([type="radio"]),
.hajj-form select,
.hajj-form textarea,
.ziyarat-form input:not([type="checkbox"]):not([type="radio"]),
.ziyarat-form select,
.ziyarat-form textarea,
.booking-form input:not([type="checkbox"]):not([type="radio"]),
.booking-form select,
.booking-form textarea,
.booking-widget input:not([type="checkbox"]):not([type="radio"]),
.booking-widget select,
.booking-widget textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.umrah-form-row,
.hajj-form-row,
.ziyarat-form-row,
.booking-fields,
.booking-grid {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 600px) {
  .umrah-form-row,
  .hajj-form-row,
  .ziyarat-form-row,
  .booking-fields,
  .booking-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* v2.5.3: keep the primary navigation available while scrolling. */
.kea-global-header {
  position:sticky!important;
  top:0!important;
  z-index:10020!important;
}
body.admin-bar .kea-global-header { top:32px!important; }
.gb-contact-page .btn,
.gb-contact-page a.btn,
.gb-contact-page .btn-dark {
  background:#173b63!important;
  border:1px solid #173b63!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.gb-contact-page .btn *,
.gb-contact-page a.btn * { color:inherit!important; }
.gb-contact-page .btn:hover,
.gb-contact-page a.btn:hover,
.gb-contact-page .btn-dark:hover {
  background:#b49a6a!important;
  border-color:#b49a6a!important;
  color:#102b49!important;
}
@media(max-width:820px) {
  body .kea-global-header { position:sticky!important; top:0!important; }
  body.admin-bar .kea-global-header { top:46px!important; }
}


/* v2.5.5 — cross-page mobile overflow, native date inputs, CTA text and destination cards */
html, body { max-width:100%; overflow-x:clip; }
body, #page, main, main > section { min-width:0; }
img, iframe, video { max-width:100%; }
.booking-form, .booking-fields, .booking-field, .hajj-form, .hajj-form-grid, .hajj-form-field, .umrah-form, .umrah-form-grid, .umrah-form-field, .ziyarat-form, .ziyarat-form-grid, .ziyarat-form-field { min-width:0!important; max-width:100%; }
.booking-field input, .booking-field select, .hajj-form-field input, .hajj-form-field select, .umrah-form-field input, .umrah-form-field select, .ziyarat-form-field input, .ziyarat-form-field select, .booking-form input[type=date], .hajj-form input[type=date], .umrah-form input[type=date], .ziyarat-form input[type=date] { display:block!important; inline-size:100%!important; width:100%!important; min-inline-size:0!important; min-width:0!important; max-inline-size:100%!important; max-width:100%!important; box-sizing:border-box!important; margin-inline:0!important; -webkit-appearance:auto!important; appearance:auto!important; }
.booking-fields > *, .hajj-form-grid > *, .umrah-form-grid > *, .ziyarat-form-grid > * { min-width:0!important; }
.umrah-form.hajj-form { display:block!important; width:100%!important; max-width:100%!important; padding:clamp(22px,3vw,35px)!important; background:#fffdf8!important; border:1px solid var(--line)!important; }
.umrah-form .hajj-form-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px 14px!important; }
.umrah-form .hajj-form-field { display:flex!important; flex-direction:column!important; gap:8px!important; }
.umrah-form .hajj-form-field input, .umrah-form .hajj-form-field select { height:46px!important; min-height:46px!important; padding:0 10px!important; font:11px var(--body)!important; background:#fffdf8!important; }
.umrah-form .hajj-form-note { margin:20px 0!important; }
.umrah-form .hajj-submit { width:100%!important; min-height:50px!important; display:flex!important; justify-content:space-between!important; align-items:center!important; box-sizing:border-box!important; }
.umrah-form .hajj-submit, .umrah-form .hajj-submit * { color:#fff!important; }
.umrah-form .hajj-submit:hover, .umrah-form .hajj-submit:focus-visible { background:#b49a6a!important; border-color:#b49a6a!important; }
.umrah-form .hajj-submit:hover, .umrah-form .hajj-submit:hover * { color:#102b49!important; }
.gb-contact-page a.btn::before, .gb-contact-page .btn-dark::before { display:none!important; content:none!important; }
.gb-contact-page a.btn, .gb-contact-page a.btn-dark { position:relative!important; z-index:1!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:16px!important; min-height:48px!important; padding:15px 20px!important; background:#173b63!important; color:#fff!important; border:1px solid #173b63!important; opacity:1!important; text-shadow:none!important; }
.gb-contact-page a.btn:hover, .gb-contact-page a.btn-dark:hover { background:#b49a6a!important; border-color:#b49a6a!important; color:#102b49!important; }
.kea-destination-packages { width:100%!important; max-width:100%!important; min-width:0!important; margin-inline:0!important; overflow:hidden; }
.kea-destination-packages .section-heading, .kea-destination-packages .journey-grid { width:100%!important; max-width:100%!important; min-width:0!important; }
.kea-package-grid { grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0!important; }
.kea-package-grid .journey-card { display:block!important; width:100%!important; max-width:100%!important; min-width:0!important; overflow:hidden; }
.kea-package-grid .journey-image { display:block!important; width:100%!important; max-width:100%!important; aspect-ratio:1.45!important; height:auto!important; overflow:hidden!important; }
.kea-package-grid .journey-image img { display:block!important; width:100%!important; max-width:100%!important; height:100%!important; object-fit:cover!important; }
@media(max-width:760px) { .kea-destination-packages { padding-left:20px!important; padding-right:20px!important; } .kea-package-grid { grid-template-columns:minmax(0,1fr)!important; gap:28px!important; } .kea-package-grid .journey-image { aspect-ratio:1.35!important; } .umrah-form.hajj-form { padding:22px!important; } }
@media(max-width:480px) { .umrah-form .hajj-form-grid { grid-template-columns:minmax(0,1fr)!important; gap:16px!important; } .booking-fields { grid-template-columns:minmax(0,1fr)!important; } .booking-field input[type=date] { text-align:left!important; padding-inline:10px!important; } }


/* v2.5.7: keep the footer promise exactly on the viewport centre line. */
.kea-global-footer .footer-top {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(220px,1fr) minmax(0,1fr) !important;
  align-items:center !important;
}
.kea-global-footer .footer-top > .footer-brand {justify-self:start;}
.kea-global-footer .footer-top > p {justify-self:center;text-align:center;max-width:260px;}
.kea-global-footer .footer-top > .footer-contact {justify-self:end;}
@media(max-width:820px) {
  .kea-global-footer .footer-top {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }
  .kea-global-footer .footer-top > .footer-brand,
  .kea-global-footer .footer-top > p,
  .kea-global-footer .footer-top > .footer-contact {justify-self:auto;align-self:center;}
}

@media(max-width:820px) {
  html.kea-menu-open, body.kea-menu-open {overscroll-behavior:none;}
  body.kea-menu-open {overflow:hidden !important;}
  body nav.kea-global-mobile-menu {isolation:isolate;touch-action:pan-y;}
  body nav.kea-global-mobile-menu > a {flex:0 0 auto;}
}


/* v2.5.10: Safari homepage booking dates — force the native date segments to the left. */
@supports (-webkit-appearance: none) {
  body .booking-form .booking-fields .booking-field input[type="date"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    text-align: left !important;
    text-align-last: left !important;
    direction: ltr !important;
    padding-left: 10px !important;
    padding-right: 6px !important;
  }

  body .booking-form .booking-fields .booking-field input[type="date"]::-webkit-date-and-time-value {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }

  body .booking-form .booking-fields .booking-field input[type="date"]::-webkit-datetime-edit {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body .booking-form .booking-fields .booking-field input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
}

/* =====================================================
   SECTION 01 — CONSISTENT WIDTH AND CENTERING
   Applies to the first introductory section on the
   Our Story, Hajj, Umrah, Ziyarat and Knowledge pages.
   ===================================================== */

/* Keep the intro content group centred and use the available width. */
body.page-template-page-our-story .story-intro,
body.page-template-page-hajj .hajj-intro,
body.page-template-page-umrah main > .story#overview,
body.page-template-page-ziyarat main > .story#overview,
body.page-template-page-knowledge-guidance .library-intro {
  width: 100%;
  max-width: 1440px;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Two balanced columns: section label + main introduction. */
body.page-template-page-our-story .story-intro,
body.page-template-page-hajj .hajj-intro,
body.page-template-page-umrah main > .story#overview,
body.page-template-page-ziyarat main > .story#overview {
  grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1.58fr) !important;
  column-gap: clamp(36px, 5vw, 76px) !important;
}

/* Let the main copy occupy the full second column. */
body.page-template-page-our-story .story-intro-copy,
body.page-template-page-hajj .hajj-intro-copy,
body.page-template-page-umrah main > .story#overview .story-main,
body.page-template-page-ziyarat main > .story#overview .story-main {
  width: 100%;
  max-width: none !important;
  min-width: 0;
}

body.page-template-page-our-story .story-intro-copy .body-copy,
body.page-template-page-hajj .hajj-intro-copy .body-copy,
body.page-template-page-umrah main > .story#overview .body-copy,
body.page-template-page-ziyarat main > .story#overview .body-copy {
  max-width: 850px;
}

/* Knowledge page: centre both columns as one wider content group. */
body.page-template-page-knowledge-guidance .library-intro {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: clamp(48px, 7vw, 100px) !important;
}

body.page-template-page-knowledge-guidance .library-intro > * {
  min-width: 0;
  max-width: none !important;
}

body.page-template-page-knowledge-guidance .library-intro .body-copy {
  max-width: 760px;
}

@media (max-width: 760px) {
  body.page-template-page-our-story .story-intro,
  body.page-template-page-hajj .hajj-intro,
  body.page-template-page-umrah main > .story#overview,
  body.page-template-page-ziyarat main > .story#overview,
  body.page-template-page-knowledge-guidance .library-intro {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 26px !important;
    column-gap: 0 !important;
  }
}
