/* 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.3.0: consistent date-field alignment across Safari, Chrome and Android. */
input[type="date"] {
  box-sizing:border-box !important;
  min-height:48px;
  text-align:center !important;
  text-align-last:center !important;
  padding-left:12px !important;
  padding-right:12px !important;
  font-variant-numeric:tabular-nums;
}
input[type="date"]::-webkit-date-and-time-value {
  text-align:center !important;
  margin:0 auto !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:center !important;
  padding:0 !important;
}
input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  display:flex;
  justify-content:center;
  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; }
}
