/* Hide page title */
.entry-title,
.page-title,
.wp-block-post-title {
    display: none !important;
}
/* ========================================
   FULL-WIDTH MODERN HEADER
   ======================================== */

/* Whole header */
.site-header,
header.site-header {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #f5f1eb !important;
    border: 0 !important;
    border-bottom: 1px solid #d7cec4 !important;
}


/* Break theme's narrow container */
.site-header .wrap,
.site-header .container,
.site-header .site-header-inner,
.site-header .header-inner,
.site-header .site-branding + .main-navigation,
.site-header > div {
    width: 100% !important;
    max-width: none !important;
}


/* Main branding + navigation row */
.site-header .wrap,
.site-header .site-header-inner,
.site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    padding: 22px 5vw !important;
    margin: 0 auto !important;
}


/* -------------------------
   SITE TITLE
   ------------------------- */

.site-branding {
    flex: 0 1 520px !important;
    max-width: 520px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-title {
    margin: 0 !important;
}

.site-title a,
.site-title {
    color: #344b55 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;

    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;

    text-decoration: none !important;
}

/* ========================================
   HEADER — WIDER + DEEPER WARM TONE
   ======================================== */

/* Header full width */
.site-header,
header.site-header {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 20px !important;

    background: #0000 !important;
    border-bottom: 1px solid #b9ada0 !important;

    box-shadow: 0 6px 20px rgba(40, 32, 28, 0.06);
}

/* Break narrow theme container */
.site-header .wrap,
.site-header .container,
.site-header .site-header-inner,
.site-header .header-inner,
.site-header > div {
    width: calc(100% - 64px) !important;
    max-width: 1680px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Main header row */
.site-header .wrap,
.site-header .site-header-inner,
.site-header .header-inner {
    min-height: 92px !important;

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

    gap: 70px !important;
}

/* Branding */
.site-branding {
    flex: 1 1 auto !important;
    max-width: 760px !important;

    margin: 0 !important;
    padding: 0 0 0 18px !important;

    position: relative;
}

/* Accent line */
.site-branding::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 4px;
    height: 38px;

    background: #9f1d2b;

    transform: translateY(-50%);
}

/* Site title */
.site-title,
.site-title a {
    margin: 0 !important;

    color: #263d46 !important;

    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: -0.015em !important;

    text-decoration: none !important;
}

/* Navigation */
.main-navigation,
.menu-primary-container {
    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    margin-left: auto !important;

    background: transparent !important;
}

/* Force menu horizontal */
.main-navigation ul,
.menu-primary-container ul {
    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-end !important;

    flex-wrap: nowrap !important;

    gap: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    width: auto !important;
}

/* Important: stop each menu item becoming full-width */
.main-navigation li,
.menu-primary-container li {
    display: inline-flex !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

/* Links */
.main-navigation a,
.menu-primary-container a {
    position: relative;

    display: inline-block !important;

    width: auto !important;

    padding: 30px 0 27px !important;

    color: #263d46 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing: .14em !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;

    text-decoration: none !important;
}

/* Short red hover line */
.main-navigation a::after,
.menu-primary-container a::after {
    content: "";

    position: absolute;
    left: 50%;
    bottom: 17px;

    width: 0;
    height: 2px;

    background: #9f1d2b;

    transform: translateX(-50%);

    transition: width .25s ease;
}

.main-navigation a:hover {
    color: #9f1d2b !important;
}

.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after {
    width: 30px;
}

/* Current page */
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
    color: #9f1d2b !important;
}


/* Medium screens */
@media (max-width: 1200px) {

    .site-header .wrap,
    .site-header .container,
    .site-header .site-header-inner,
    .site-header .header-inner,
    .site-header > div {
        width: calc(100% - 40px) !important;
    }

    .site-title,
    .site-title a {
        font-size: 18px !important;
    }

    .main-navigation ul,
    .menu-primary-container ul {
        gap: 26px !important;
    }

    .main-navigation a,
    .menu-primary-container a {
        font-size: 12px !important;
    }
}

/* ========================================
   FIX DROPDOWN MENU VISIBILITY
   ======================================== */

/* Do not clip dropdown */
.site-header,
.site-header .wrap,
.site-header .container,
.site-header .site-header-inner,
.site-header .header-inner,
.main-navigation,
.menu-primary-container {
    overflow: visible !important;
}

/* Dropdown positioning */
.main-navigation ul li,
.menu-primary-container ul li {
    position: relative !important;
}

/* Submenu */
.main-navigation ul ul,
.menu-primary-container ul ul {
    position: absolute !important;

    top: 100% !important;
    left: 0 !important;

    z-index: 99999 !important;

    display: none !important;

    min-width: 220px !important;
    width: max-content !important;

    padding: 10px 0 !important;

    background: #00000 !important;

    border: 1px solid #d7cec4 !important;

    box-shadow: 0 16px 35px rgba(20,20,20,.12) !important;
}

/* Show submenu on hover */
.main-navigation ul li:hover > ul,
.main-navigation ul li:focus-within > ul,
.menu-primary-container ul li:hover > ul,
.menu-primary-container ul li:focus-within > ul {
    display: block !important;
}

/* Dropdown items vertical */
.main-navigation ul ul li,
.menu-primary-container ul ul li {
    display: block !important;

    width: 100% !important;
}

/* Dropdown links */
.main-navigation ul ul a,
.menu-primary-container ul ul a {
    display: block !important;

    width: 100% !important;

    padding: 13px 18px !important;

    color: #000000 !important;

    font-size: 13px !important;

    letter-spacing: .06em !important;

    text-transform: none !important;

    white-space: nowrap !important;
}

/* No underline animation inside dropdown */
.main-navigation ul ul a::after,
.menu-primary-container ul ul a::after {
    display: none !important;
}

.main-navigation ul ul a:hover,
.menu-primary-container ul ul a:hover {
    color: #9f1d2b !important;

    background: #ebe4db !important;
}
/* ========================================
   FIX RIGHT-EDGE DROPDOWN
   ======================================== */

/* Default submenu */
.main-navigation ul ul,
.menu-primary-container ul ul {
    left: 0 !important;
    right: auto !important;
}

/* Last top-level menu item: open submenu to the LEFT */
.main-navigation > div > ul > li:last-child > ul,
.menu-primary-container > ul > li:last-child > ul {
    left: auto !important;
    right: 0 !important;
}

/* If second-last item also gets too close to edge */
.main-navigation > div > ul > li:nth-last-child(2) > ul,
.menu-primary-container > ul > li:nth-last-child(2) > ul {
    left: auto !important;
    right: 0 !important;
}
/* Right-most dropdown opens inward */
.main-navigation li:last-child ul {
    left: auto !important;
    right: 0 !important;
}
.main-navigation ul ul a,
.menu-primary-container ul ul a {
    white-space: normal !important;
    line-height: 1.5 !important;
}
/* Refine dropdown style */

.main-navigation ul ul,
.menu-primary-container ul ul {
    min-width: 280px !important;
    max-width: 340px !important;
    width: auto !important;

    padding: 8px 0 !important;

    background: #00000 !important;
    border: 1px solid #d7cec4 !important;

    box-shadow: 0 14px 30px rgba(20,20,20,.10) !important;
}

/* submenu item */
.main-navigation ul ul li,
.menu-primary-container ul ul li {
    background: transparent !important;
}

/* submenu links */
.main-navigation ul ul a,
.menu-primary-container ul ul a {
    display: block !important;

    padding: 12px 18px !important;

    color: #344b55 !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    line-height: 1.45 !important;
    letter-spacing: .03em !important;

    text-transform: none !important;
    white-space: normal !important;

    background: transparent !important;
}

/* hover */
.main-navigation ul ul a:hover,
.menu-primary-container ul ul a:hover {
    color: #9f1d2b !important;
    background: #ebe4db !important;
}

/* current submenu item */
.main-navigation ul ul .current-menu-item > a,
.menu-primary-container ul ul .current-menu-item > a {
    color: #9f1d2b !important;
    background: #f0e7df !important;
}

/* triangle arrow */
.main-navigation ul ul::before,
.menu-primary-container ul ul::before {
    border-bottom-color: #f5f1eb !important;
}