:root {
    --header-ink: #071c2c;
    --notice-yellow: #fff5c9;
    --alaska-header: #eaf8fc;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--header-ink);
    background: #ffffff;
}


/* =========================================================
   FAN PROJECT NOTICE
   Reference: approx. 55px tall at desktop
========================================================= */

.project-notice {
    width: 100%;
    height: 55px;
    background: var(--notice-yellow);
    display: flex;
    align-items: center;
}

.project-notice-inner {
    width: min(1252px, calc(100% - 40px));
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 15px;
}

.notice-icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;

    border: 1.6px solid #111111;
    border-radius: 50%;

    display: grid;
    place-items: center;

    color: #111111;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.project-notice p {
    margin: 0;

    color: #111111;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
}


/* =========================================================
   AIRLINE HEADER
   Reference: approx. 94px tall at desktop
========================================================= */

.airline-header {
    width: 100%;
    height: 94px;
}

.alaska-page .airline-header {
    background: var(--alaska-header);
}

.hawaiian-page .airline-header {
    background: #ffffff;
}

.airline-header-inner {
    width: min(1252px, calc(100% - 40px));
    height: 100%;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* =========================================================
   AIRLINE BRAND / SWITCHER
========================================================= */

.airline-switcher {
    position: relative;
    display: flex;
    align-items: center;
}

.airline-switcher-button {
    appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;

    display: flex;
    align-items: center;

    color: inherit;
    cursor: pointer;
}

/* Separate logo sizing based on the two reference headers. */

.airline-logo {
    display: block;
    object-fit: contain;
    flex: 0 0 auto;
}

.hawaiian-logo {
    width: 157px;
    height: auto;
}

.alaska-logo {
    width: 160px;
    height: auto;
}

.oneworld-logo {
    display: block;
    object-fit: contain;
    flex: 0 0 auto;
}

/* Hawaiian's oneworld mark is very small in the supplied reference. */
.hawaiian-page .oneworld-logo {
    width: 22px;
    height: 22px;
    margin-left: 14px;
}

/* Alaska's oneworld mark is larger in its supplied reference. */
.alaska-page .oneworld-logo {
    width: 38px;
    height: 38px;
    margin-left: 20px;
}

/* No visible extra chevron beside the logos. */
.switcher-chevron {
    display: none;
}


/* Airline dropdown — appears only after clicking the logo area. */

.airline-switcher-menu {
    position: absolute;
    z-index: 1000;

    left: 0;
    top: calc(100% + 18px);

    width: 230px;
    padding: 7px;

    display: none;

    background: #ffffff;
    border: 1px solid #d6dee3;
    border-radius: 12px;
    box-shadow: 0 15px 36px rgba(0, 25, 45, 0.14);
}

.airline-switcher.open .airline-switcher-menu {
    display: block;
}

.airline-switcher-menu a {
    min-height: 44px;
    padding: 0 12px;

    display: flex;
    align-items: center;

    border-radius: 8px;

    color: var(--header-ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.airline-switcher-menu a:hover {
    background: #f4f7f8;
}

.airline-switcher-menu a.active::after {
    content: "✓";
    margin-left: auto;
}


/* =========================================================
   RIGHT-SIDE ICONS
========================================================= */

.header-actions {
    display: flex;
    align-items: center;
    gap: 17px;
}

.icon-button {
    width: 22px;
    height: 22px;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;

    display: grid;
    place-items: center;

    color: var(--header-ink);
    cursor: pointer;
}

.icon-button svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Account pill */

.account-button {
    width: 69px;
    height: 45px;

    margin-left: 4px;
    padding: 0;

    border: 1.35px solid var(--header-ink);
    border-radius: 999px;
    background: transparent;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    color: var(--header-ink);
    cursor: pointer;
}

.account-button svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-chevron {
    width: 7px;
    height: 7px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg) translateY(-1px);
}


/* Menu pill */

.menu-button {
    width: 92px;
    height: 45px;

    padding: 0 13px;

    border: 1.35px solid var(--header-ink);
    border-radius: 999px;
    background: transparent;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    color: var(--header-ink);
    font-size: 15px;
    font-weight: 400;

    cursor: pointer;
}

.menu-lines {
    width: 21px;

    display: flex;
    flex-direction: column;
    gap: 4px;
}

.menu-lines span {
    width: 100%;
    height: 1.4px;

    display: block;

    border-radius: 99px;
    background: currentColor;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.placeholder {
    margin: 0;
    padding: 48px max(20px, calc((100% - 1252px) / 2));

    font-size: 25px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .project-notice-inner,
    .airline-header-inner {
        width: calc(100% - 30px);
    }

    .airline-header {
        height: 82px;
    }

    .hawaiian-logo {
        width: 142px;
    }

    .alaska-logo {
        width: 145px;
    }

    .hawaiian-page .oneworld-logo {
        width: 20px;
        height: 20px;
        margin-left: 11px;
    }

    .alaska-page .oneworld-logo {
        width: 32px;
        height: 32px;
        margin-left: 14px;
    }

    .header-actions {
        gap: 12px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 620px) {

    .project-notice {
        height: auto;
        min-height: 50px;
        padding: 8px 0;
    }

    .project-notice p {
        font-size: 10px;
    }

    .notice-icon {
        width: 21px;
        height: 21px;
        flex-basis: 21px;
        font-size: 12px;
    }

    .airline-header {
        height: 72px;
    }

    .hawaiian-logo {
        width: 116px;
    }

    .alaska-logo {
        width: 120px;
    }

    .hawaiian-page .oneworld-logo {
        width: 17px;
        height: 17px;
        margin-left: 8px;
    }

    .alaska-page .oneworld-logo {
        width: 26px;
        height: 26px;
        margin-left: 10px;
    }

    .header-actions {
        gap: 10px;
    }

    .header-actions .icon-button:first-child {
        display: none;
    }

    .account-button {
        display: none;
    }

    .menu-button {
        width: 47px;
        padding: 0;
    }

    .menu-text {
        display: none;
    }
}

/* =========================================
   AIRLINE SWITCHER LAYER FIX
========================================= */

.project-notice {
    position: relative;
    z-index: 6000;
}

.airline-header {
    position: relative;
    z-index: 5500;
    overflow: visible;
}

.airline-header-inner,
.airline-switcher,
.airline-switcher-button {
    overflow: visible;
}

.airline-switcher-menu {
    z-index: 7000;
    pointer-events: auto;
}

.airline-switcher-menu a {
    position: relative;
    z-index: 7001;
    pointer-events: auto;
}

