/*
 * OAM header + footer — Claude Design "Consolidated Navigation" (direction 2A), inline styles → classes.
 * Scoped under .oamh / .oamf / .oamh-modal. Buttons and headings are reset explicitly because
 * Avada styles bare <button>, .btn and h1–h6 globally. Tablet/phone drawer is new (design is desktop-only).
 */

.oamh, .oamf, .oamh-modal { font-family: Lato, "Helvetica Neue", Arial, sans-serif; -webkit-text-size-adjust: 100%; }
.oamh *, .oamf *, .oamh-modal *, .oamh *::before, .oamh *::after { box-sizing: border-box; }
.oamh a, .oamf a, .oamh-modal a { text-decoration: none; }
.oamh button, .oamh-modal button { font-family: Lato, "Helvetica Neue", Arial, sans-serif; margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; height: auto; line-height: normal; border-radius: 0; -webkit-appearance: none; appearance: none; }
.oamh-wrap, .oamf-wrap { max-width: 1240px; margin: 0 auto; }

/* ---------- Header shell ---------- */
.oamh { position: sticky; top: 0; z-index: 90; box-shadow: 0 1px 0 rgba(1,47,80,0.4); }
.admin-bar .oamh { top: 32px; }
@media (max-width: 782px) { .admin-bar .oamh { top: 46px; } }
@media (max-width: 600px) { .admin-bar .oamh { top: 0; } }

/* Utility bar */
.oamh-util { background: #012f50; }
.oamh-util__in { padding: 0 24px; display: flex; align-items: center; justify-content: flex-end; gap: 26px; min-height: 44px; font-size: 14px; }
.oamh .oamh-util__link { color: #93b6c9; white-space: nowrap; background: none; border: 0; padding: 0; font-size: 14px; font-weight: 400; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.oamh .oamh-util__link:hover { color: #ffffff; text-decoration: none; }
.oamh .oamh-util__phone { display: inline-flex; align-items: center; gap: 8px; color: #ffffff; font-weight: 700; white-space: nowrap; }
.oamh .oamh-util__phone:hover { color: #ffffff; text-decoration: underline; }
.oamh .oamh-util__portal { display: inline-flex; align-items: center; gap: 9px; border: 1px solid #f2c744; color: #f2c744; font-weight: 700; font-size: 13.5px; padding: 6px 15px; white-space: nowrap; }
.oamh .oamh-util__portal:hover { background: #f2c744; color: #012f50; text-decoration: none; }
.oamh-util__diamond { width: 7px; height: 7px; background: currentColor; transform: rotate(45deg); display: inline-block; }
.oamh-util__drop { position: relative; }
.oamh-util__menu { position: absolute; top: calc(100% + 12px); left: 0; z-index: 95; min-width: 280px; background: #ffffff; border-top: 4px solid #649734; box-shadow: 0 18px 30px -18px rgba(1,63,106,0.45); padding: 10px 0; }
.oamh-util__menu[hidden] { display: none; }
.oamh .oamh-util__menu a { display: block; padding: 10px 20px; }
.oamh .oamh-util__menu a:hover { background: #eef4f8; text-decoration: none; }
.oamh-util__mt { display: block; font-size: 15px; font-weight: 700; color: #013f6a; }
.oamh-util__md { display: block; font-size: 13px; color: #587584; margin-top: 2px; }
.oamh-caret { font-size: 10px; opacity: 0.75; }

/* Main bar */
.oamh-bar { background: #013f6a; }
.oamh-bar__in { padding: 10px 24px; display: flex; align-items: stretch; flex-wrap: wrap; gap: 16px 24px; min-height: 84px; }
.oamh-logo { display: flex; align-items: center; flex-shrink: 0; }
.oamh-logo img { display: block; height: 50px; width: auto; }
.oamh-nav { display: flex; align-items: stretch; flex-wrap: wrap; gap: 2px; margin-left: auto; font-size: 15.5px; font-weight: 700; }
.oamh .oamh-tab { display: flex; align-items: center; gap: 8px; padding: 12px 14px; background: transparent; color: #ffffff; border: none; font-size: 15.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.oamh .oamh-tab[aria-expanded="true"] { background: #ffffff; color: #013f6a; }
.oamh .oamh-tab--link { padding: 0 16px; }
.oamh .oamh-tab--link:hover { background: #012f50; color: #ffffff; text-decoration: none; }
.oamh-cta { display: flex; align-items: center; flex-shrink: 0; }
.oamh .oamh-book { background: #649734; color: #ffffff; font-size: 15px; font-weight: 900; letter-spacing: 0.3px; padding: 15px 26px; border: none; border-radius: 3px; cursor: pointer; white-space: nowrap; }
.oamh .oamh-book:hover { background: #547e2b; color: #ffffff; }

/* Mega panels */
.oamh-panel { background: #ffffff; border-bottom: 1px solid #dbe8ef; box-shadow: 0 18px 30px -18px rgba(1,63,106,0.35); }
.oamh-panel[hidden] { display: none; }
.oamh-panel__in { padding: 32px 24px 36px; display: grid; gap: 40px; }
.oamh-mega__col { display: grid; align-content: start; gap: 12px; }
.oamh-mega__head { font-size: 11.5px; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; color: #7d9aa9; }
.oamh .oamh-mega__link { font-size: 15.5px; color: #33454f; }
.oamh .oamh-mega__link:hover { color: #013f6a; text-decoration: underline; }
.oamh .oamh-mega__link.is-featured { color: #013f6a; font-weight: 700; }
.oamh .oamh-mega__link.is-current { color: #025c98; font-weight: 700; }
.oamh-aside { background: #eef4f8; border-top: 4px solid #649734; padding: 22px 24px; display: grid; align-content: start; gap: 10px; }
.oamh-aside__title { font-family: 'Source Serif 4', Georgia, serif; font-size: 20px; font-weight: 700; color: #013f6a; line-height: 1.25; }
.oamh-aside__text { font-size: 14.5px; line-height: 1.6; color: #587584; }
.oamh .oamh-aside__link { font-size: 14.5px; font-weight: 900; color: #025c98; }
.oamh .oamh-aside__link:hover { color: #013f6a; text-decoration: underline; }

/* Burger + drawer (new: < 1180px) */
.oamh .oamh-burger { display: none; align-self: center; width: 46px; height: 46px; padding: 12px 11px; background: transparent; border: 1px solid rgba(255,255,255,0.35); border-radius: 3px; cursor: pointer; flex-direction: column; justify-content: space-between; }
.oamh-burger span { display: block; height: 2px; background: #ffffff; transition: transform .2s ease, opacity .2s ease; }
.oamh-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.oamh-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.oamh-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.oamh-drawer { background: #ffffff; max-height: calc(100vh - 84px); overflow-y: auto; box-shadow: 0 18px 30px -18px rgba(1,63,106,0.35); }
.oamh-drawer[hidden] { display: none; }
.oamh-drawer__nav { padding: 8px 24px 16px; }
.oamh-acc { border-bottom: 1px solid #dbe8ef; }
.oamh-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 18px 0; font-size: 17px; font-weight: 700; color: #013f6a; }
.oamh-acc summary::-webkit-details-marker { display: none; }
.oamh-acc__icon { font-size: 22px; font-weight: 300; color: #025c98; transition: transform .2s ease; }
.oamh-acc[open] .oamh-acc__icon { transform: rotate(45deg); }
.oamh-acc__body { display: grid; gap: 12px; padding: 0 0 20px; }
.oamh-acc__body .oamh-mega__head { margin-top: 8px; }
.oamh .oamh-acc__link { display: block; padding: 18px 0; font-size: 17px; font-weight: 700; color: #013f6a; border-bottom: 1px solid #dbe8ef; }
.oamh-drawer__util { background: #012f50; padding: 20px 24px 24px; display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }

/* ---------- Booking modal ---------- */
.oamh-modal { position: fixed; inset: 0; background: rgba(1,47,80,0.55); display: grid; place-items: center; padding: 40px; z-index: 100000; }
.oamh-modal[hidden] { display: none; }
.oamh-modal__box { background: #ffffff; width: 620px; max-width: 100%; box-shadow: 0 30px 60px -20px rgba(1,47,80,0.6); }
.oamh-modal__head { background: #013f6a; color: #ffffff; padding: 22px 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.oamh-modal__title { font-family: 'Source Serif 4', Georgia, serif; font-size: 24px; font-weight: 700; }
.oamh-modal .oamh-modal__close { background: transparent; border: none; color: #93b6c9; font-size: 24px; line-height: 1; cursor: pointer; padding: 0; }
.oamh-modal .oamh-modal__close:hover { color: #ffffff; }
.oamh-modal__body { padding: 28px 30px 30px; display: grid; gap: 14px; }
.oamh-modal .oamh-modal__opt { display: block; border: 1px solid #c0d4df; padding: 20px 22px; }
.oamh-modal .oamh-modal__opt:hover { background: #f5f9fb; text-decoration: none; }
.oamh-modal .oamh-modal__opt--primary { border: 2px solid #649734; }
.oamh-modal .oamh-modal__opt--primary:hover { background: #f4f8ee; }
.oamh-modal__opt-title { font-size: 17.5px; font-weight: 900; color: #013f6a; margin-bottom: 5px; }
.oamh-modal__opt-text { font-size: 15px; line-height: 1.6; color: #587584; }
.oamh-modal__talk { display: flex; align-items: center; gap: 10px; padding-top: 4px; font-size: 15px; color: #587584; }
.oamh-modal .oamh-modal__talk a { font-weight: 900; color: #025c98; }
body.oamh-lock { overflow: hidden; }

/* ---------- Footer ---------- */
.oamf { background: #012f50; color: #ffffff; }
.oamf-top { padding: 56px 24px 32px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 48px; }
.oamf-logo { display: block; height: 46px; width: auto; margin-bottom: 22px; }
.oamf-addr { font-size: 15px; line-height: 1.7; }
.oamf-phone { font-size: 15px; margin-top: 10px; }
.oamf .oamf-phone a { color: #ffffff; font-weight: 700; }
.oamf-follow { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: #ffffff; margin: 24px 0 10px; }
.oamf-social { display: flex; gap: 10px; }
.oamf .oamf-social a { width: 34px; height: 34px; border: 1px solid #2f6f9e; display: grid; place-items: center; color: #ffffff; font-size: 13px; font-weight: 700; }
.oamf .oamf-social a:hover { color: #ffffff; border-color: #ffffff; }
.oamf-social svg { display: block; width: 16px; height: 16px; }
.oamf-links { display: grid; gap: 12px; align-content: start; font-size: 15px; }
.oamf .oamf-links a, .oamf .oamf-legal a { color: #ffffff; }
.oamf .oamf-links a:hover, .oamf .oamf-legal a:hover { color: #ffffff; text-decoration: underline; }
.oamf-bottom { border-top: 1px solid #024e80; }
.oamf-bottom__in { padding: 20px 24px; display: flex; justify-content: space-between; gap: 20px; font-size: 13.5px; flex-wrap: wrap; }
.oamf-legal { display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------- Homepage hero slider ----------
 * The Slider Revolution hero has a ~149px blue strip at the top that was built to sit UNDER
 * Avada's old header, which floated over the page at ≥1400px (position:absolute, 149px tall).
 * Reproduce that overlap so the strip stays hidden behind the new header. Remove this rule
 * once the strip is taken out of the slide in Slider Revolution. */
@media (min-width: 1400px) {
	body.home.oamc-on #main { margin-top: -149px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1240px) {
	.oamh-util__in { gap: 20px; }
}
@media (max-width: 1180px) {
	.oamh-nav, .oamh-panel { display: none !important; }
	.oamh .oamh-burger { display: flex; }
	.oamh-bar__in { flex-wrap: nowrap; align-items: center; min-height: 72px; }
	.oamh-cta { margin-left: auto; }
	.oamh-util__in > :not(.oamh-util__phone):not(.oamh-util__portal) { display: none; }
}
@media (max-width: 640px) {
	.oamh-util__in, .oamh-bar__in, .oamh-drawer__nav, .oamh-drawer__util { padding-left: 16px; padding-right: 16px; }
	.oamh-bar__in { gap: 12px; min-height: 64px; }
	.oamh-logo img { height: 38px; }
	.oamh .oamh-book { padding: 12px 14px; font-size: 14px; }
	.oamh-util__in { justify-content: space-between; gap: 12px; }
	.oamf-top { grid-template-columns: 1fr; gap: 32px; padding: 44px 16px 28px; }
	.oamf-bottom__in { padding: 18px 16px; }
	.oamh-modal { padding: 16px; }
	.oamh-modal__body, .oamh-modal__head { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 380px) {
	.oamh-logo img { height: 32px; }
	.oamh .oamh-book { padding: 11px 10px; font-size: 13px; }
}
