/* HTG-DP unified public shell. Theme owns header, footer and navigation. */

:root {
    --ht-shell-dark: #071116;
    --ht-shell-deep: #0b161c;
    --ht-shell-panel: #10232c;
    --ht-shell-gold: #d6aa6d;
    --ht-shell-gold-light: #e4bd87;
    --ht-shell-text: #ffffff;
    --ht-shell-muted: #c2c9cc;
    --ht-shell-line: rgba(255, 255, 255, 0.14);
    --ht-shell-container: 1240px;
    --ht-shell-header: 88px;
}

body.ht-unified-public-shell {
    background: var(--ht-shell-deep);
    color: var(--ht-shell-text);
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 500;
}

/* Remove legacy shell that may still exist inside imported concept content. */
body.ht-unified-public-shell .htfc-site > .htfc-header,
body.ht-unified-public-shell .htfc-site > .htfc-footer,
body.ht-unified-public-shell .htfc-site > .htfc-skip-link {
    display: none !important;
}

body.ht-unified-public-shell .htfc-site {
    min-height: 0;
    overflow: visible;
    font-family: inherit;
}

/* Header */
.ht-site-header {
    position: sticky;
    z-index: 200;
    top: 0;
    min-height: var(--ht-shell-header);
    border-bottom: 1px solid var(--ht-shell-line);
    background: rgba(7, 17, 22, 0.97);
    color: var(--ht-shell-text);
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.16);
    backdrop-filter: blur(16px);
}

.admin-bar .ht-site-header { top: 32px; }

.ht-header-inner {
    width: min(calc(100% - 48px), var(--ht-shell-container));
    min-height: var(--ht-shell-header);
    margin-inline: auto;
    gap: 28px;
}

.ht-brand { min-width: 220px; gap: 13px; }
.ht-brand-logo img { width: auto; max-width: 172px; max-height: 58px; object-fit: contain; }
.ht-brand-copy { max-width: 190px; }

.ht-brand-title,
.ht-site-header .wp-block-site-title {
    margin: 0;
    color: var(--ht-shell-text);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.035em;
    line-height: 1.18;
    text-transform: uppercase;
}

.ht-brand-title a,
.ht-site-header .wp-block-site-title a { color: inherit; text-decoration: none; }

.ht-brand-tagline,
.ht-site-header .wp-block-site-tagline {
    margin: 4px 0 0;
    color: var(--ht-shell-muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ht-header-actions { min-width: 0; gap: 18px; }
.ht-primary-nav .wp-block-navigation__container { gap: clamp(10px, 1.15vw, 20px); }

.ht-site-header .wp-block-navigation-item__content {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    color: var(--ht-shell-text);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.ht-site-header .wp-block-navigation-item__content:hover,
.ht-site-header .wp-block-navigation-item__content:focus-visible,
.ht-site-header .current-menu-item > .wp-block-navigation-item__content {
    color: var(--ht-shell-gold-light);
}

.ht-site-header .wp-block-navigation__submenu-container {
    min-width: 250px !important;
    padding: 10px !important;
    border: 1px solid var(--ht-shell-line) !important;
    background: #0a1823 !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.35);
}

.ht-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    min-height: 42px;
    padding: 9px 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    color: #e9eef0;
    font-size: 14px;
    white-space: normal;
}

.ht-header-cta .wp-block-button__link {
    min-height: 46px;
    padding: 10px 17px;
    border: 1px solid var(--ht-shell-gold);
    border-radius: 4px;
    background: transparent;
    color: var(--ht-shell-gold-light);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.ht-header-cta .wp-block-button__link:hover {
    background: var(--ht-shell-gold);
    color: var(--ht-shell-dark);
}

.ht-site-header .wp-block-navigation__responsive-container-open,
.ht-site-header .wp-block-navigation__responsive-container-close { color: var(--ht-shell-gold-light); }

/* Shared layout */
.ht-unified-public-shell .wp-site-blocks { padding: 0; }
.ht-unified-public-shell .alignwide {
    width: min(calc(100% - 48px), var(--ht-shell-container));
    max-width: var(--ht-shell-container);
    margin-inline: auto;
}

.ht-unified-public-shell .wp-element-button,
.ht-unified-public-shell .wp-block-button__link,
.ht-unified-public-shell :where(input, select, textarea) { border-radius: 5px; }

/* Footer */
.ht-site-footer {
    border-top: 1px solid var(--ht-shell-line);
    background: var(--ht-shell-dark);
    color: var(--ht-shell-text);
}

.ht-footer-grid {
    width: min(calc(100% - 48px), var(--ht-shell-container));
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(150px, .65fr) minmax(180px, .8fr) minmax(250px, 1fr);
    gap: clamp(32px, 5vw, 72px);
    margin-inline: auto;
    padding-block: clamp(58px, 7vw, 94px);
}

.ht-footer-logo img { width: auto; max-width: 190px; max-height: 68px; object-fit: contain; }
.ht-footer-brand-block p,
.ht-footer-action p { margin-top: 22px; color: var(--ht-shell-muted); font-size: 15px; line-height: 1.75; }

.ht-footer-nav-group h3,
.ht-footer-action h3 {
    margin-bottom: 18px;
    color: var(--ht-shell-text);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ht-footer-links,
.ht-footer-contact { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ht-footer-links a,
.ht-footer-contact a,
.ht-footer-contact li { color: var(--ht-shell-muted); font-size: 14px; line-height: 1.55; text-decoration: none; }
.ht-footer-links a:hover,
.ht-footer-contact a:hover { color: var(--ht-shell-gold-light); }

.ht-footer-bottom {
    width: min(calc(100% - 48px), var(--ht-shell-container));
    margin-inline: auto;
    padding-block: 22px;
    border-top: 1px solid var(--ht-shell-line);
    color: #9ca9ae;
    font-size: 12px;
}

.ht-footer-bottom p { margin: 0; }
.ht-footer-bottom a { color: var(--ht-shell-gold-light); text-decoration: none; }

@media (max-width: 960px) {
    :root { --ht-shell-header: 76px; }
    .admin-bar .ht-site-header { top: 46px; }
    .ht-header-inner,
    .ht-unified-public-shell .alignwide,
    .ht-footer-grid,
    .ht-footer-bottom { width: min(calc(100% - 36px), var(--ht-shell-container)); }
    .ht-brand-copy,
    .ht-header-cta { display: none !important; }
    .ht-brand { min-width: 154px; }
    .ht-brand-logo img { max-width: 154px; max-height: 52px; }
    .ht-site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 22px;
        background: var(--ht-shell-dark);
        color: var(--ht-shell-text);
    }
    .ht-site-header .wp-block-navigation__responsive-container-content { padding-top: 54px; }
    .ht-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
    .ht-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
    .ht-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        width: 100%;
        min-height: 50px;
        border-bottom: 1px solid var(--ht-shell-line);
        font-size: 17px;
    }
    .ht-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 0 10px 14px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none;
    }
    .ht-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .admin-bar .ht-site-header { top: 0; }
    .ht-header-inner,
    .ht-unified-public-shell .alignwide,
    .ht-footer-grid,
    .ht-footer-bottom { width: min(calc(100% - 32px), var(--ht-shell-container)); }
    .ht-footer-grid { grid-template-columns: 1fr; gap: 34px; padding-block: 52px; }
    .ht-footer-bottom { display: grid !important; gap: 10px; justify-content: start !important; }
}
