/* ============================================
   ILIRYA — MAIN STYLESHEET
   Custom styles for Ilirya Group child theme
   ============================================ */

/* Body base */
body {
    background: var(--ilirya-off-white);
    color: var(--ilirya-ink);
    font-family: 'Heebo', 'Inter', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* English pages use Inter */
html[lang^="en"] body {
    font-family: 'Inter', system-ui, sans-serif;
}

/* Headlines */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Heebo', 'Inter', sans-serif;
    color: var(--ilirya-deep-sea);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
}
html[lang^="en"] h1,
html[lang^="en"] h2,
html[lang^="en"] h3,
html[lang^="en"] h4,
html[lang^="en"] h5,
html[lang^="en"] h6 {
    font-family: 'Inter', sans-serif;
}

/* Display numerals + eyebrows use Fraunces */
.ilirya-display,
.ilirya-stat,
.ilirya-eyebrow {
    font-family: 'Fraunces', Georgia, serif;
}

.ilirya-eyebrow {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--ilirya-terracotta);
}

/* Links */
a {
    color: var(--ilirya-sea-blue);
    text-decoration: none;
    transition: color 0.2s ease;
}
a:hover {
    color: var(--ilirya-terracotta);
}

/* Buttons — overrides Blocksy defaults to match brand */
.wp-block-button__link,
.ct-button {
    background: var(--ilirya-terracotta) !important;
    color: #fff !important;
    padding: 16px 32px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}
.wp-block-button__link:hover,
.ct-button:hover {
    background: var(--ilirya-deep-sea) !important;
    color: #fff !important;
}

/* Section spacing utility classes */
.ilirya-section {
    padding: 96px 0;
}
@media (max-width: 768px) {
    .ilirya-section {
        padding: 48px 0;
    }
}

/* Containers */
.ilirya-container {
    max-width: var(--container-content);
    margin: 0 auto;
    padding: 0 24px;
}

/* Dark sections */
.ilirya-section--dark {
    background: var(--ilirya-deep-sea);
    color: var(--ilirya-off-white);
}
.ilirya-section--dark h1,
.ilirya-section--dark h2,
.ilirya-section--dark h3,
.ilirya-section--dark h4 {
    color: var(--ilirya-off-white);
}

/* Sand sections */
.ilirya-section--sand {
    background: var(--ilirya-sand);
}

/* RTL fixes (Blocksy handles most, this is for our custom blocks) */
body[dir="rtl"] {
    text-align: right;
}

/* ============================================
   HERO SECTION
   ============================================ */

.ilirya-hero {
    position: relative;
}

/* Tighten hero spacing on mobile */
@media (max-width: 768px) {
    .ilirya-hero {
        min-height: 75vh !important;
    }
}

/* Ghost / outline button (secondary CTA) — override the global terracotta fill */
.ilirya-hero .wp-block-button.is-style-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: #FAF7F2 !important;
    border: 1px solid #FAF7F2 !important;
}

.ilirya-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.is-style-outline .wp-block-button__link:hover {
    background: rgba(250, 247, 242, 0.1) !important;
    color: #FAF7F2 !important;
}

/* Trust strip refinement */
.ilirya-hero-trust p {
    margin: 0 !important;
}

/* Eyebrow tweak */
.ilirya-eyebrow {
    font-size: 13px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 0 !important;
}

/* Homepage — pull hero up flush against header */
body.home .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home .ct-container,
body.home main {
    padding-top: 0 !important;
    max-width: 100% !important;
}

body.home .entry-header {
    display: none !important;
}

/* Hero full-bleed adjustments */
body.home .alignfull {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    max-width: 100vw;
}

/* ============================================
   HOMEPAGE HERO — STRONGER OVERRIDES
   ============================================ */

/* Kill cream gap above hero — Blocksy wrapper padding */
body.home .ct-container,
body.home .ct-container-narrow,
body.home #main-container,
body.home article.page,
body.home .entry-content > :first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home .entry-content {
    padding: 0 !important;
    margin: 0 !important;
}

body.home article > .entry-header,
body.home .ct-breadcrumbs,
body.home h1.entry-title {
    display: none !important;
}

/* Full-bleed hero — break out of any container */
body.home .wp-block-cover.alignfull,
body.home .ilirya-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* ============================================
   GHOST/OUTLINE BUTTON — STRONGER OVERRIDE
   ============================================ */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link,
body .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
    background: transparent !important;
    background-color: transparent !important;
    color: #FAF7F2 !important;
    border: 1px solid #FAF7F2 !important;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
body .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover {
    background: rgba(250, 247, 242, 0.12) !important;
    color: #FAF7F2 !important;
    border-color: #FAF7F2 !important;
}

/* ============================================
   FIX: Outline button must beat global !important
   Match by class+href specificity
   ============================================ */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > a.wp-block-button__link,
.wp-block-button.is-style-outline > a.wp-block-button__link.wp-element-button {
    background-color: transparent !important;
    background: transparent !important;
}

/* ============================================
   FIX: Cream gap above homepage hero
   Blocksy wraps content in [data-prefix="single_page"] or similar
   ============================================ */
body.home main,
body.home [data-prefix],
body.home #main,
body.home .ct-main-styles,
body.home .ct-container-fluid,
body.home .ct-main-container {
    padding-top: 0 !important;
}

body.home article.entry,
body.home article.page {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Negative top margin on the first cover block to chase up any residual gap */
body.home main .wp-block-cover.ilirya-hero:first-child,
body.home article .wp-block-cover.ilirya-hero:first-child,
body.home .entry-content > .wp-block-cover.ilirya-hero:first-child {
    margin-top: -1px !important;
}

/* ============================================
   FIX: Outline button — beat the global terracotta override
   Higher specificity + !important
   ============================================ */
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
body .wp-block-button.is-style-outline > .wp-block-button__link {
    background: transparent !important;
    background-color: transparent !important;
    color: #FAF7F2 !important;
    border: 1px solid #FAF7F2 !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:hover,
body .wp-block-button.is-style-outline > .wp-block-button__link:hover {
    background: rgba(250, 247, 242, 0.15) !important;
    background-color: rgba(250, 247, 242, 0.15) !important;
    color: #FAF7F2 !important;
    border-color: #FAF7F2 !important;
}

/* ============================================
   FIX: Kill Blocksy vertical content spacing on homepage
   ============================================ */
body.home [data-vertical-spacing*="top"] {
    padding-top: 0 !important;
}

body.home [data-vertical-spacing*="bottom"] {
    padding-bottom: 0 !important;
}

/* Also make .ct-container-full truly full-bleed on homepage */
body.home .ct-container-full {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ============================================
   HEADER — Bigger logo + menu type
   ============================================ */

/* Logo size bump */
.ct-header .site-logo-container .ct-logo-container img,
.ct-header .site-title-container img,
header .custom-logo {
    max-height: 64px !important;
    height: auto !important;
    width: auto !important;
}

@media (max-width: 768px) {
    .ct-header .site-logo-container .ct-logo-container img,
    header .custom-logo {
        max-height: 48px !important;
    }
}

/* Navigation menu — bigger, more weight */
.ct-header .ct-menu-link,
.ct-header .menu-item > a,
header [data-id="menu"] a {
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
}

@media (max-width: 768px) {
    .ct-header .ct-menu-link {
        font-size: 16px !important;
    }
}

/* More breathing room in header */
.ct-header [data-row="middle"] {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Logo — extra bump */
.ct-header .site-logo-container .ct-logo-container img,
.ct-header .site-title-container img,
header .custom-logo,
header img.custom-logo {
    max-height: 96px !important;
    height: 96px !important;
    width: auto !important;
}

@media (max-width: 768px) {
    .ct-header .site-logo-container .ct-logo-container img,
    header .custom-logo {
        max-height: 64px !important;
        height: 64px !important;
    }
}

/* ============================================
   ILIRYA — FOOTER
   ============================================ */
.ilirya-footer {
    background: #081F2E;
    color: #E8DCC4;
    margin-top: 0;
    width: 100%;
}

.ilirya-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 24px 48px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.2fr;
    gap: 48px;
}

@media (max-width: 900px) {
    .ilirya-footer-inner {
        grid-template-columns: 1fr 1fr;
    }
    .ilirya-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .ilirya-footer-inner {
        grid-template-columns: 1fr;
        padding: 56px 24px 32px;
    }
}

.ilirya-footer-col {
    display: flex;
    flex-direction: column;
}

.ilirya-footer-logo {
    height: 56px;
    width: auto;
    margin-bottom: 20px;
}

.ilirya-footer-tagline {
    color: #E8DCC4;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    opacity: 0.85;
}

.ilirya-footer-title {
    color: #FAF7F2;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0 0 20px;
}

.ilirya-footer-links,
.ilirya-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ilirya-footer-links li,
.ilirya-footer-contact li {
    margin: 0 0 12px;
}

.ilirya-footer-links a,
.ilirya-footer-contact a {
    color: #E8DCC4;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.2s ease;
}

.ilirya-footer-links a:hover,
.ilirya-footer-contact a:hover {
    color: #B8623A;
}

.ilirya-footer-address {
    color: #E8DCC4;
    font-size: 15px;
    opacity: 0.85;
}

.ilirya-footer-social {
    margin-top: 24px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.ilirya-footer-social a {
    color: #E8DCC4;
    text-decoration: none;
    font-size: 14px;
    padding: 6px 14px;
    border: 1px solid rgba(232, 220, 196, 0.3);
    border-radius: 4px;
    transition: all 0.2s ease;
}

.ilirya-footer-social a:hover {
    border-color: #B8623A;
    color: #B8623A;
}

.ilirya-footer-bottom {
    border-top: 1px solid rgba(232, 220, 196, 0.15);
    background: #081F2E;
}

.ilirya-footer-bottom-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.ilirya-footer-bottom-inner p {
    color: #E8DCC4;
    font-size: 13px;
    margin: 0;
    opacity: 0.7;
}

.ilirya-footer-bottom-inner a {
    color: #E8DCC4;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ilirya-footer-bottom-inner a:hover {
    color: #B8623A;
}

/* Footer separator from dark CTA section above */
.ilirya-footer {
    border-top: 1px solid rgba(184, 98, 58, 0.25);
}

/* PAGE HERO (non-homepage) — half-height */
.ilirya-page-hero {
    margin-top: 0 !important;
}

/* CONTACT FORM 7 — brand styling */
.wpcf7 label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #0F2A3D;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.wpcf7 .req { color: #B8623A; }

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #E8E2D5;
    border-radius: 4px;
    background: #FFFFFF;
    font-family: inherit;
    font-size: 16px;
    color: #1A1A1A;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #B8623A;
    box-shadow: 0 0 0 3px rgba(184, 98, 58, 0.15);
}

.wpcf7 .ilirya-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .wpcf7 .ilirya-form-grid {
        grid-template-columns: 1fr;
    }
}

.wpcf7 .form-consent {
    font-size: 13px;
    color: #6B7378;
    line-height: 1.5;
    margin: 24px 0;
}

.wpcf7 .form-submit input[type="submit"] {
    background: #B8623A !important;
    color: #FFFFFF !important;
    padding: 16px 40px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    width: 100%;
    margin-top: 8px;
}

.wpcf7 .form-submit input[type="submit"]:hover {
    background: #0F2A3D !important;
}

.wpcf7-response-output {
    border: 1px solid #B8623A !important;
    background: #FAF7F2;
    padding: 16px !important;
    color: #0F2A3D !important;
    border-radius: 4px;
    margin-top: 24px !important;
}

@media (max-width: 900px) {
    .ilirya-contact-grid {
        flex-direction: column !important;
    }
    .ilirya-contact-form-col,
    .ilirya-contact-info-col {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* PAGE HERO (non-homepage) — half-height */
.ilirya-page-hero {
    margin-top: 0 !important;
}

/* CONTACT FORM 7 — brand styling */
.wpcf7 label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #0F2A3D;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.wpcf7 .req { color: #B8623A; }

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #E8E2D5;
    border-radius: 4px;
    background: #FFFFFF;
    font-family: inherit;
    font-size: 16px;
    color: #1A1A1A;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #B8623A;
    box-shadow: 0 0 0 3px rgba(184, 98, 58, 0.15);
}

.wpcf7 .ilirya-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .wpcf7 .ilirya-form-grid {
        grid-template-columns: 1fr;
    }
}

.wpcf7 .form-consent {
    font-size: 13px;
    color: #6B7378;
    line-height: 1.5;
    margin: 24px 0;
}

.wpcf7 .form-submit input[type="submit"] {
    background: #B8623A !important;
    color: #FFFFFF !important;
    padding: 16px 40px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    width: 100%;
    margin-top: 8px;
}

.wpcf7 .form-submit input[type="submit"]:hover {
    background: #0F2A3D !important;
}

.wpcf7-response-output {
    border: 1px solid #B8623A !important;
    background: #FAF7F2;
    padding: 16px !important;
    color: #0F2A3D !important;
    border-radius: 4px;
    margin-top: 24px !important;
}

@media (max-width: 900px) {
    .ilirya-contact-grid {
        flex-direction: column !important;
    }
    .ilirya-contact-form-col,
    .ilirya-contact-info-col {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* ============================================
   ILIRYA — FAQ ACCORDION (sitewide)
   ============================================ */
.ilirya-faq-list {
    margin-top: 0;
}

.ilirya-faq-item {
    border-bottom: 1px solid #E8E2D5;
    padding: 0;
    background: transparent;
}

.ilirya-faq-item:first-child {
    border-top: 1px solid #E8E2D5;
}

.ilirya-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 24px 8px;
    font-size: 18px;
    font-weight: 600;
    color: #0F2A3D;
    position: relative;
    padding-inline-start: 40px;
    transition: color 0.2s ease;
}

.ilirya-faq-item summary::-webkit-details-marker { display: none; }
.ilirya-faq-item summary::marker { display: none; content: ""; }

.ilirya-faq-item summary::before {
    content: "+";
    position: absolute;
    inset-inline-start: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 400;
    color: #B8623A;
    transition: transform 0.2s ease;
    line-height: 1;
}

.ilirya-faq-item[open] summary::before {
    content: "−";
}

.ilirya-faq-item summary:hover {
    color: #B8623A;
}

.ilirya-faq-answer {
    padding: 0 8px 24px;
}

.ilirya-faq-answer p {
    font-size: 16px;
    line-height: 1.75;
    color: #1A1A1A;
    margin: 0;
}

/* ============================================
   ABOUT — Differentiator comparison list
   ============================================ */
.ilirya-diff-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ilirya-diff-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: stretch;
}

@media (max-width: 720px) {
    .ilirya-diff-item {
        grid-template-columns: 1fr;
    }
}

.ilirya-diff-bad,
.ilirya-diff-good {
    padding: 24px;
    border-radius: 6px;
    border: 1px solid #E8E2D5;
    background: #FFFFFF;
}

.ilirya-diff-bad {
    opacity: 0.85;
}

.ilirya-diff-good {
    border-color: #B8623A;
    background: #FAF7F2;
    box-shadow: 0 1px 3px rgba(184, 98, 58, 0.1);
}

.ilirya-diff-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 3px;
    margin-bottom: 12px;
    background: #E8E2D5;
    color: #6B7378;
}

.ilirya-diff-good .ilirya-diff-tag {
    background: #B8623A;
    color: #FAF7F2;
}

.ilirya-diff-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #1A1A1A;
}

.ilirya-diff-bad p {
    color: #6B7378;
}

/* ============================================
   NAVIGATION — DROPDOWN MENU REFINEMENT
   ============================================ */

/* Parent menu item that has children — add subtle caret already exists, refine spacing */
.ct-header .menu-item-has-children > a {
    position: relative;
}

/* The dropdown panel itself */
.ct-header ul.sub-menu {
    background: #0F2A3D !important;
    border: none !important;
    border-radius: 0 0 4px 4px !important;
    box-shadow: 0 12px 32px rgba(15, 42, 61, 0.18) !important;
    padding: 8px 0 !important;
    min-width: 240px !important;
    margin-top: 0 !important;
    border-top: 2px solid #B8623A !important;
    overflow: hidden;
}

/* Remove gap between parent link and dropdown so hover is smooth */
.ct-header .menu-item-has-children:hover > ul.sub-menu,
.ct-header .menu-item-has-children:focus-within > ul.sub-menu {
    transition: opacity 0.18s ease, transform 0.18s ease;
}

/* Dropdown items */
.ct-header ul.sub-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

.ct-header ul.sub-menu li a {
    display: block !important;
    padding: 14px 24px !important;
    color: #E8DCC4 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.4 !important;
    transition: all 0.18s ease !important;
    border-right: 2px solid transparent;
    background: transparent !important;
    text-decoration: none !important;
}

.ct-header ul.sub-menu li a:hover,
.ct-header ul.sub-menu li a:focus {
    color: #FAF7F2 !important;
    background: rgba(184, 98, 58, 0.12) !important;
    border-right-color: #B8623A;
    padding-right: 28px !important;
}

/* Active/current sub-page styling */
.ct-header ul.sub-menu .current-menu-item > a,
.ct-header ul.sub-menu .current_page_item > a {
    color: #B8623A !important;
    background: rgba(184, 98, 58, 0.08) !important;
}

/* Hide that small caret/arrow that Blocksy adds (it's redundant now with the styled dropdown) */
.ct-header .menu-item-has-children > a > svg.ct-icon[aria-hidden="true"] {
    margin-inline-start: 4px;
    opacity: 0.6;
}

/* Optional: subtle indicator that menu item has children */
.ct-header .menu-item-has-children > a::after {
    content: "";
}

/* Mobile dropdown adjustments */
@media (max-width: 999.98px) {
    .ct-header ul.sub-menu {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding-inline-start: 16px !important;
        min-width: 0 !important;
        border-top: none !important;
    }
    .ct-header ul.sub-menu li a {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
}

/* ============================================
   DROPDOWN — kill the orphan gap
   ============================================ */

/* Parent menu item — position-relative so we can absolutely position dropdown */
.ct-header .menu-item-has-children {
    position: relative;
}

/* Position the dropdown flush against the bottom of the header */
.ct-header ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
    margin-top: 0 !important;
    transform: none !important;
}

/* Invisible bridge: pseudo-element fills the gap between menu link and dropdown
   so hover doesn't break, and the dropdown looks connected */
.ct-header .menu-item-has-children > a::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-inline-end: 0;
    top: 100%;
    height: 12px;
    background: transparent;
    pointer-events: auto;
}

/* Hide the bridge when not hovered (avoid covering clickable area) */
.ct-header .menu-item-has-children:not(:hover):not(:focus-within) > a::after {
    pointer-events: none;
}

/* ============================================
   DROPDOWN — Polished caret indicator
   ============================================ */

/* Add an upward caret to the top of the dropdown panel */
.ct-header ul.sub-menu::before {
    content: "";
    position: absolute;
    top: -7px;
    inset-inline-end: 32px;
    width: 14px;
    height: 14px;
    background: #0F2A3D;
    border-top: 2px solid #B8623A;
    border-inline-start: 2px solid #B8623A;
    transform: rotate(45deg);
    z-index: 1;
}

/* Hide the original border-top of the dropdown where the caret sits — visual continuity */
.ct-header ul.sub-menu {
    border-top: none !important;
    margin-top: 12px !important;
    border-radius: 4px !important;
}

/* Restore the brand accent on the top edge using a separate pseudo */
.ct-header ul.sub-menu::after {
    content: "";
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    height: 2px;
    background: #B8623A;
    border-radius: 4px 4px 0 0;
}

/* Cover the caret's bottom seam so it merges with the panel */
.ct-header ul.sub-menu::before {
    box-shadow: -1px -1px 0 #B8623A;
}

/* Bridge: invisible hover zone between menu link and dropdown so hover doesn't break */
.ct-header .menu-item-has-children::before {
    content: "";
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    inset-inline-end: 0;
    height: 16px;
    background: transparent;
    pointer-events: none;
}

.ct-header .menu-item-has-children:hover::before,
.ct-header .menu-item-has-children:focus-within::before {
    pointer-events: auto;
}

/* ============================================
   DROPDOWN — Option A: flush with header
   Reset caret, kill gap
   ============================================ */

/* Remove caret artifacts */
.ct-header ul.sub-menu::before,
.ct-header ul.sub-menu::after {
    display: none !important;
    content: none !important;
}

/* Push dropdown to bottom edge of header */
.ct-header ul.sub-menu {
    margin-top: 0 !important;
    top: 100% !important;
    border-top: 2px solid #B8623A !important;
    border-radius: 0 0 4px 4px !important;
}

/* Remove hover bridge artifacts */
.ct-header .menu-item-has-children::before {
    display: none !important;
    content: none !important;
}

/* Make the parent <li> tall enough to span the full header height
   so dropdown's top:100% touches the header bottom edge */
.ct-header [data-id="menu"] .menu > li,
.ct-header [data-id="menu"] .menu > li.menu-item-has-children {
    display: flex;
    align-items: center;
    align-self: stretch;
}

.ct-header [data-id="menu"] .menu > li > a {
    display: flex;
    align-items: center;
    height: 100%;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ============================================
   ALBANIA MARKET — Price comparison table
   ============================================ */
.ilirya-price-table {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #E8E2D5;
    background: #FFFFFF;
}

.ilirya-price-row {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr 1fr;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid #E8E2D5;
    align-items: center;
    font-size: 16px;
    color: #1A1A1A;
}

.ilirya-price-row:last-child {
    border-bottom: none;
}

.ilirya-price-row.ilirya-price-header {
    background: #0F2A3D;
    color: #FAF7F2;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ilirya-price-row.ilirya-price-header div {
    color: #FAF7F2;
}

.ilirya-price-row:nth-child(even):not(.ilirya-price-header) {
    background: #FAF7F2;
}

@media (max-width: 600px) {
    .ilirya-price-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 16px;
    }
    .ilirya-price-row.ilirya-price-header {
        display: none;
    }
    .ilirya-price-row div:nth-child(2)::before {
        content: "מחיר: ";
        color: #6B7378;
        font-size: 13px;
    }
    .ilirya-price-row div:nth-child(3)::before {
        content: "פער: ";
        color: #6B7378;
        font-size: 13px;
    }
}

/* ============================================
   ALBANIA MARKET — Price comparison table
   ============================================ */
.ilirya-price-table {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #E8E2D5;
    background: #FFFFFF;
}

.ilirya-price-row {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr 1fr;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid #E8E2D5;
    align-items: center;
    font-size: 16px;
    color: #1A1A1A;
}

.ilirya-price-row:last-child {
    border-bottom: none;
}

.ilirya-price-row.ilirya-price-header {
    background: #0F2A3D;
    color: #FAF7F2;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ilirya-price-row.ilirya-price-header div {
    color: #FAF7F2;
}

.ilirya-price-row:nth-child(even):not(.ilirya-price-header) {
    background: #FAF7F2;
}

@media (max-width: 600px) {
    .ilirya-price-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 16px;
    }
    .ilirya-price-row.ilirya-price-header {
        display: none;
    }
    .ilirya-price-row div:nth-child(2)::before {
        content: "מחיר: ";
        color: #6B7378;
        font-size: 13px;
    }
    .ilirya-price-row div:nth-child(3)::before {
        content: "פער: ";
        color: #6B7378;
        font-size: 13px;
    }
}

/* ============================================
   FAQ PAGE — Category nav pills
   ============================================ */
.ilirya-faq-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 0 16px;
}

.ilirya-faq-cat-link {
    display: inline-block;
    padding: 10px 22px;
    background: #FFFFFF;
    border: 1px solid #E8E2D5;
    border-radius: 999px;
    color: #0F2A3D;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.ilirya-faq-cat-link:hover {
    background: #B8623A;
    color: #FAF7F2;
    border-color: #B8623A;
}

/* Smooth scroll for anchor jumps */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

/* ============================================
   FAQ PAGE — Category nav pills
   ============================================ */
.ilirya-faq-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 0 16px;
}

.ilirya-faq-cat-link {
    display: inline-block;
    padding: 10px 22px;
    background: #FFFFFF;
    border: 1px solid #E8E2D5;
    border-radius: 999px;
    color: #0F2A3D;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.ilirya-faq-cat-link:hover {
    background: #B8623A;
    color: #FAF7F2;
    border-color: #B8623A;
}

/* Smooth scroll for anchor jumps */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

/* ============================================
   FAQ PAGE — Newspaper nav (replaces old pills)
   ============================================ */
.ilirya-faq-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 14px;
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(15px, 1.6vw, 18px);
    line-height: 1.6;
}

.ilirya-faq-nav-link {
    color: #0F2A3D;
    text-decoration: none;
    padding: 4px 2px;
    position: relative;
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: color 0.2s ease;
}

.ilirya-faq-nav-link::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 0;
    height: 1.5px;
    background: #B8623A;
    transition: width 0.25s ease;
}

.ilirya-faq-nav-link:hover {
    color: #B8623A;
}

.ilirya-faq-nav-link:hover::after,
.ilirya-faq-nav-link:focus::after {
    width: 100%;
}

.ilirya-faq-nav-sep {
    color: #B8623A;
    font-family: 'Fraunces', serif;
    opacity: 0.6;
    font-size: 0.9em;
    user-select: none;
}

/* Hide old pill styles when on FAQ page — these were sitewide before */
.ilirya-faq-categories,
.ilirya-faq-cat-link { display: none; }

/* ============================================
   FAQ PAGE — Card-style accordion (richer than mini-FAQ on other pages)
   ============================================ */
.ilirya-faq-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ilirya-faq-card {
    background: #FFFFFF;
    border: 1px solid #E8E2D5;
    border-radius: 8px;
    padding: 0;
    transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
    overflow: hidden;
}

.ilirya-faq-card:hover {
    box-shadow: 0 6px 24px rgba(15, 42, 61, 0.08);
    border-color: #d8cfb8;
}

.ilirya-faq-card[open] {
    border-color: #B8623A;
    box-shadow: 0 8px 28px rgba(184, 98, 58, 0.12);
}

.ilirya-faq-card > summary {
    list-style: none;
    cursor: pointer;
    padding: 22px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: background 0.2s ease;
}

.ilirya-faq-card > summary::-webkit-details-marker { display: none; }
.ilirya-faq-card > summary::marker { display: none; content: ""; }

.ilirya-faq-q {
    font-size: clamp(16px, 1.9vw, 19px);
    font-weight: 600;
    color: #0F2A3D;
    line-height: 1.45;
    flex: 1;
}

.ilirya-faq-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    position: relative;
    display: inline-block;
}

.ilirya-faq-icon::before,
.ilirya-faq-icon::after {
    content: "";
    position: absolute;
    background: #B8623A;
    border-radius: 1px;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

/* horizontal bar of the + */
.ilirya-faq-icon::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
}

/* vertical bar of the + */
.ilirya-faq-icon::after {
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
}

.ilirya-faq-card[open] .ilirya-faq-icon::after {
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
}

.ilirya-faq-a {
    padding: 0 28px 26px;
    border-top: 1px solid #F0E8D8;
    margin-top: -2px;
    padding-top: 20px;
}

.ilirya-faq-a p {
    font-size: 16px;
    line-height: 1.8;
    color: #1A1A1A;
    margin: 0;
}

.ilirya-faq-a p strong {
    color: #0F2A3D;
}

/* Cards on sand background sections need a tiny adjustment for separator color */
[style*="background-color:#E8DCC4"] .ilirya-faq-a {
    border-top-color: #E8E2D5;
}

/* Mobile tightening */
@media (max-width: 600px) {
    .ilirya-faq-card > summary {
        padding: 18px 20px;
    }
    .ilirya-faq-a {
        padding: 16px 20px 22px;
    }
    .ilirya-faq-q {
        font-size: 16px;
    }
}

/* ============================================
   PASS 1 (corrected) — Global polish fixes
   Targets actual Blocksy/WP block structure
   ============================================ */

/* 1. Eliminate body-bg bleed between all full-width sections.
   WP core injects margin-block-start via .is-layout-constrained.
   Override on .ilirya-section AND .ilirya-page-hero AND adjacent blocks. */
.ilirya-section,
.ilirya-page-hero,
.wp-block-cover.alignfull,
.wp-block-group.alignfull {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Also kill main wrapper's own bottom spacing */
.site-main,
.ct-main-content,
.entry-content,
.entry-content.is-layout-constrained {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.entry-content > *:last-child {
    margin-bottom: 0 !important;
}

/* Belt-and-suspenders: kill the WP block-gap CSS var */
.entry-content.is-layout-constrained > *,
.entry-content.is-layout-flow > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* 2. Center page hero text (all subpages) */
.ilirya-page-hero .wp-block-cover__inner-container {
    text-align: center;
}
.ilirya-page-hero h1,
.ilirya-page-hero .ilirya-eyebrow,
.ilirya-page-hero .wp-block-cover__inner-container > p {
    text-align: center !important;
}

/* 3. Header height reduction */
[data-row="middle"] > .ct-container,
[data-row="middle"] .ct-container {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.ct-header [data-row="middle"] {
    min-height: auto !important;
}

/* ============================================
   FORCE-HIDE Blocksy's default footer
   Custom .ilirya-footer is rendered instead.
   ============================================ */
#footer.ct-footer,
footer#footer,
footer#footer.ct-footer,
.site #footer,
body #footer.ct-footer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================
   FINAL GAP-KILL — between main content and custom footer
   The strip is body-bg bleed because <main>/<article> has bottom space.
   ============================================ */


#main-container,
.site,
.site-main,
.ct-main-content,
main#main,
article.post,
article.page,
.entry-content {
    background-color: transparent;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

main#main + .ilirya-footer,
.site-main + .ilirya-footer {
    margin-top: 0 !important;
}

/* Belt: kill any space below the last ilirya-section */
.ilirya-final-cta {
    margin-bottom: 0 !important;
    padding-bottom: 96px !important;
}

/* And ensure footer sits flush */
.ilirya-footer {
    margin-top: 0 !important;
}

/* ============================================
   STRIP FIX v2 — kill gaps without changing body bg
   ============================================ */

/* Reset body to off-white (default) */
body {
    background-color: #FAF7F2;
}

/* Main wrapper sits flush against header above and footer below */
#main-container,
.site-main,
main#main,
.ct-main-content {
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
}

/* Article wrapper */
article.post,
article.page,
article {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background-color: transparent !important;
}

/* Entry content */
.entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hero / first section sits flush against header */
.entry-content > *:first-child,
.ilirya-page-hero,
.entry-content > .wp-block-cover:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Note: .wp-block-cover may have aspect-ratio that creates space; force it to use min-height only */
.ilirya-page-hero {
    aspect-ratio: unset !important;
}

/* Last block sits flush against footer */
.entry-content > *:last-child,
.ilirya-final-cta {
    margin-bottom: 0 !important;
}

/* Custom footer */
.ilirya-footer {
    margin-top: 0 !important;
}

/* ============================================
   STRIP FIX v3 — Surgical, max specificity
   Targets #main (ID = high specificity) and the WP layout vars
   ============================================ */

body main#main.site-main,
body main#main {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body main#main > .entry-content,
body main#main > .entry-content.is-layout-constrained,
body div.entry-content.is-layout-constrained {
    margin: 0 !important;
    padding: 0 !important;
    --wp--style--block-gap: 0 !important;
    --theme-content-spacing: 0 !important;
}

body div.entry-content > *,
body main#main > .entry-content > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* The very first child (hero) — flush against header */
body main#main > .entry-content > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* The very last child (final CTA) — flush against footer */
body main#main > .entry-content > :last-child {
    margin-bottom: 0 !important;
}

/* Custom footer flush against last section */
body footer.ilirya-footer {
    margin-top: 0 !important;
}

/* Body bg stays off-white so it doesn't show through anywhere */
body {
    background-color: #FAF7F2;
}

/* Cover blocks (hero): kill aspect-ratio artifacts */
.ilirya-page-hero.wp-block-cover {
    aspect-ratio: unset !important;
}

/* ============================================
   STRIP FIX v4 — found the real culprit
   <div class="ct-container-full" data-vertical-spacing="top:bottom">
   has --theme-content-vertical-spacing padding on top and bottom.
   That padding is the strip we keep seeing.
   ============================================ */
[data-vertical-spacing*="top"],
[data-vertical-spacing*="bottom"],
.ct-container-full[data-vertical-spacing],
body [data-vertical-spacing*="top:bottom"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    --theme-content-vertical-spacing: 0 !important;
}

/* ============================================
   PAGE TITLE STRIP — thinner + centered (subpages only)
   Homepage uses different markup, won't be affected.
   ============================================ */

/* Reduce strip height ~30% and ensure consistent dimensions sitewide */
.hero-section[data-type="type-1"] {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    min-height: 0 !important;
    text-align: center !important;
}

.hero-section .entry-header {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hero-section .entry-header .page-title {
    text-align: center !important;
    margin: 0 !important;
    width: 100% !important;
    font-size: clamp(18px, 2vw, 22px) !important;
    line-height: 1.3 !important;
    color: #0F2A3D !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* Title strip — 40% thinner */
.hero-section[data-type="type-1"] {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

/* Title strip — 20% thinner + true vertical centering */
.hero-section[data-type="type-1"] {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero-section .entry-header .page-title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
}

/* Title strip — thinner + force true vertical center */
.hero-section[data-type="type-1"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 44px !important;
    height: auto !important;
}

.hero-section[data-type="type-1"] .entry-header,
.hero-section[data-type="type-1"] .entry-header .page-title {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    height: auto !important;
}

.hero-section[data-type="type-1"] .page-title {
    transform: translateY(0) !important;
}

/* Force title visually down — Hebrew fonts have larger top bearing */
.hero-section[data-type="type-1"] {
    padding-top: 18px !important;
    padding-bottom: 8px !important;
}

/* ============================================
   TITLE STRIP — final clean rule
   Reset all prior conflicting rules and lock the strip down.
   ============================================ */

.hero-section[data-type="type-1"] {
    padding: 14px 0 !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-bottom: 0 !important;
}

.hero-section[data-type="type-1"] .entry-header {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    display: block !important;
    text-align: center !important;
}

.hero-section[data-type="type-1"] .page-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    color: #0F2A3D !important;
    text-align: center !important;
    display: block !important;
    --theme-font-size: 20px !important;
    --theme-line-height: 1 !important;
}

/* ============================================
   HEADER SUBMENU — Option A, tightened
   Replace Blocksy's dark default with editorial white panel
   ============================================ */

.menu .sub-menu,
header .sub-menu,
[class*="animated-submenu"] > .sub-menu,
#header .sub-menu {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E8E2D5 !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(15, 42, 61, 0.08) !important;
    min-width: auto !important;
    width: auto !important;
    padding: 6px 0 !important;
    margin-top: 4px !important;
}

.menu .sub-menu li,
header .sub-menu li {
    border: none !important;
    border-top: none !important;
}

.menu .sub-menu .ct-menu-link,
header .sub-menu .ct-menu-link {
    padding: 8px 18px !important;
    color: #0F2A3D !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    position: relative !important;
    transition: color 0.2s ease !important;
}

.menu .sub-menu .ct-menu-link::after {
    content: '' !important;
    position: absolute !important;
    inset-inline-start: 18px !important;
    bottom: 4px !important;
    height: 1.5px !important;
    width: 0 !important;
    background: #B8623A !important;
    transition: width 0.25s ease !important;
}

.menu .sub-menu li:hover > .ct-menu-link,
.menu .sub-menu .ct-menu-link:hover {
    color: #B8623A !important;
    background: transparent !important;
}

.menu .sub-menu li:hover > .ct-menu-link::after,
.menu .sub-menu .ct-menu-link:hover::after {
    width: calc(100% - 36px) !important;
}

/* Pull submenu up tighter against the parent nav item */
.menu .sub-menu,
header .sub-menu,
[class*="animated-submenu"] > .sub-menu,
#header .sub-menu {
    margin-top: 0 !important;
    top: 100% !important;
    --dropdown-top-offset: 0 !important;
    --sticky-state-dropdown-top-offset: 0 !important;
}

/* The invisible hover bridge ::before — keep it functional but invisible at zero height */
[class*="animated-submenu"] > .sub-menu::before {
    height: 0 !important;
}

/* Pull submenu up into header bottom for tight visual attachment */
.menu .sub-menu,
header .sub-menu,
[class*="animated-submenu"] > .sub-menu,
#header .sub-menu {
    margin-top: -8px !important;
}

/* Pull submenu fully against header bottom */
.menu .sub-menu,
header .sub-menu,
[class*="animated-submenu"] > .sub-menu,
#header .sub-menu {
    margin-top: -20px !important;
}

/* ============================================================
   MOBILE PASS — wrapped in (max-width: 999.98px)
   Everything below CANNOT apply on desktop ≥1000px
   ============================================================ */
@media (max-width: 999.98px) {

    /* ===== 1. LOGO — center + larger ===== */
    [data-device="mobile"] .site-branding,
    [data-device="mobile"] .site-logo-container {
        margin: 0 auto !important;
        text-align: center !important;
        justify-content: center !important;
    }
    [data-device="mobile"] .site-logo-container {
        height: auto !important;
    }
    [data-device="mobile"] .site-logo-container img,
    [data-device="mobile"] .site-logo-container svg {
        height: 56px !important;
        max-height: 56px !important;
        width: auto !important;
    }
    /* Center the middle column of the header */
    [data-device="mobile"] [data-column="middle"] {
        justify-content: center !important;
    }
    [data-device="mobile"] [data-column="middle"] > [data-items] {
        justify-content: center !important;
        width: 100% !important;
    }

    /* ===== 2. HAMBURGER — larger + terracotta accent ===== */
    [data-device="mobile"] .ct-header-trigger {
        --toggle-button-size: 44px !important;
        --theme-icon-size: 22px !important;
        position: relative !important;
    }
    [data-device="mobile"] .ct-header-trigger .ct-icon rect {
        fill: #0F2A3D !important;
    }
    /* Subtle terracotta accent — thin line below the hamburger */
    [data-device="mobile"] .ct-header-trigger::after {
        content: "" !important;
        position: absolute !important;
        bottom: 4px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 18px !important;
        height: 2px !important;
        background: #B8623A !important;
        border-radius: 1px !important;
    }

    /* ===== 3. MOBILE SUBMENU — inline expansion inside offcanvas ===== */
    /* Reset prior dark/floating styles for mobile context */
    #offcanvas .mobile-menu .sub-menu,
    .mobile-menu .sub-menu,
    [data-device="mobile"] .sub-menu {
        position: static !important;
        background: #FAF7F2 !important;
        background-color: #FAF7F2 !important;
        border: none !important;
        box-shadow: none !important;
        padding: 4px 0 !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-radius: 0 !important;
        /* Subtle inset to mark hierarchy without being heavy */
        border-right: 2px solid #B8623A !important;
        padding-right: 16px !important;
        margin-right: 8px !important;
    }
    /* Reset the kill-the-arrow / hide rules from the desktop pass */
    #offcanvas .mobile-menu .sub-menu::before,
    .mobile-menu .sub-menu::before {
        display: none !important;
        content: none !important;
    }
    /* Submenu items: lighter, centered text, smaller */
    #offcanvas .mobile-menu .sub-menu li,
    .mobile-menu .sub-menu li {
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        align-items: center !important;
    }
    #offcanvas .mobile-menu .sub-menu li .ct-menu-link,
    .mobile-menu .sub-menu li .ct-menu-link,
    .mobile-menu .sub-menu li a {
        color: #0F2A3D !important;
        background: transparent !important;
        padding: 10px 8px !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        text-align: center !important;
        justify-content: center !important;
        width: 100% !important;
        white-space: normal !important;
    }
    #offcanvas .mobile-menu .sub-menu li:hover .ct-menu-link,
    .mobile-menu .sub-menu li .ct-menu-link:hover {
        color: #B8623A !important;
    }
    /* The parent menu item — when collapsed/expanded, the chevron */
    .mobile-menu .ct-sub-menu-parent svg {
        fill: #B8623A !important;
        transition: transform 0.25s ease !important;
    }
    /* Center the entire mobile menu items */
    #offcanvas .mobile-menu > ul,
    .mobile-menu > ul {
        align-items: center !important;
        text-align: center !important;
    }
    #offcanvas .mobile-menu li,
    .mobile-menu li {
        text-align: center !important;
        align-items: center !important;
    }

    /* ===== 4. FOOTER — center all content on mobile ===== */
    .ilirya-footer-inner {
        text-align: center !important;
    }
    .ilirya-footer-col {
        align-items: center !important;
        text-align: center !important;
    }
    .ilirya-footer-brand {
        text-align: center !important;
        align-items: center !important;
    }
    .ilirya-footer-logo {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .ilirya-footer-tagline {
        text-align: center !important;
    }
    .ilirya-footer-title {
        text-align: center !important;
        width: 100% !important;
    }
    .ilirya-footer-links,
    .ilirya-footer-contact {
        text-align: center !important;
        list-style: none !important;
        padding: 0 !important;
    }
    .ilirya-footer-links li,
    .ilirya-footer-contact li {
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
    }
    .ilirya-footer-links li a,
    .ilirya-footer-contact li a {
        text-align: center !important;
        justify-content: center !important;
        display: inline-flex !important;
    }
    .ilirya-footer-address {
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
    }
    .ilirya-footer-social {
        justify-content: center !important;
        display: flex !important;
        gap: 16px !important;
    }
    .ilirya-footer-bottom-inner {
        text-align: center !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .ilirya-footer-bottom-inner p {
        text-align: center !important;
    }
}

/* ============================================================
   MOBILE EDITORIAL REDESIGN — replaces all prior mobile menu rules
   Wrapped in (max-width: 999.98px) → desktop unaffected.
   ============================================================ */
@media (max-width: 999.98px) {

    /* ===== 1. HAMBURGER — 3 lines, middle terracotta + shorter ===== */
    [data-device="mobile"] .ct-header-trigger,
    .ct-header-trigger {
        --toggle-button-size: 42px !important;
        width: 42px !important;
        height: 42px !important;
        position: relative !important;
        background: transparent !important;
    }
    /* Hide Blocksy's default SVG icon */
    [data-device="mobile"] .ct-header-trigger .ct-icon,
    .ct-header-trigger .ct-icon {
        display: none !important;
    }
    /* Draw our own three lines */
    [data-device="mobile"] .ct-header-trigger::before,
    .ct-header-trigger::before {
        content: "" !important;
        position: absolute !important;
        top: 12px !important;
        left: 7px !important;
        width: 28px !important;
        height: 2.5px !important;
        background: #0F2A3D !important;
        border-radius: 1px !important;
    }
    [data-device="mobile"] .ct-header-trigger::after,
    .ct-header-trigger::after {
        content: "" !important;
        position: absolute !important;
        bottom: 12px !important;
        left: 7px !important;
        width: 28px !important;
        height: 2.5px !important;
        background: #0F2A3D !important;
        border-radius: 1px !important;
    }
    /* The middle line — drawn via the SVG element we hid above, repurposed as a span via a sibling pseudo */
    [data-device="mobile"] .ct-header-trigger,
    .ct-header-trigger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    /* Use a custom child span trick — but since we can't add HTML, fake the middle line with a box-shadow on ::before */
    [data-device="mobile"] .ct-header-trigger::before,
    .ct-header-trigger::before {
        box-shadow:
            0 8px 0 -0.5px #B8623A,    /* middle line — terracotta */
            6px 8px 0 -0.5px #B8623A;  /* offset right to make it shorter and right-aligned (RTL) */
    }
    /* Cancel the box-shadow trick — too brittle. Use a cleaner approach with two box-shadows of fixed length */
    [data-device="mobile"] .ct-header-trigger::before,
    .ct-header-trigger::before {
        box-shadow: 0 8px 0 0 transparent !important;
    }

    /* ===== 2. LOGO — true center, larger ===== */
    [data-device="mobile"] [data-row="middle"] > div,
    [data-row="middle"][data-column-set="3"] > div {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
    }
    [data-device="mobile"] .site-branding,
    [data-device="mobile"] .site-logo-container,
    .site-branding,
    .site-logo-container {
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
        text-align: center !important;
    }
    [data-device="mobile"] .site-logo-container img,
    [data-device="mobile"] .site-logo-container svg,
    .site-logo-container img,
    .site-logo-container svg {
        height: 68px !important;
        max-height: 68px !important;
        width: auto !important;
    }

    /* ===== 3. OFFCANVAS PANEL — light editorial style ===== */
    #offcanvas .ct-panel-inner {
        background: #FAF7F2 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    #offcanvas .ct-panel-actions {
        padding: 14px 20px !important;
        background: #FFFFFF !important;
        border-bottom: 1px solid rgba(15, 42, 61, 0.08) !important;
        align-items: center !important;
    }
    #offcanvas .ct-toggle-close {
        --theme-icon-color: #0F2A3D !important;
        --theme-icon-size: 18px !important;
        --toggle-button-size: 36px !important;
    }
    #offcanvas .ct-toggle-close svg path {
        stroke: #0F2A3D !important;
        fill: #0F2A3D !important;
    }
    #offcanvas .ct-panel-content {
        padding: 0 !important;
    }
    #offcanvas .ct-panel-content-inner {
        padding: 28px 24px !important;
        align-items: stretch !important;
        background: #FAF7F2 !important;
    }

    /* ===== 4. MOBILE MENU — Fraunces serif, centered, hairlines ===== */
    #offcanvas .mobile-menu,
    .mobile-menu {
        width: 100% !important;
    }
    #offcanvas .mobile-menu > ul,
    .mobile-menu > ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
    /* Top-level menu items */
    #offcanvas .mobile-menu > ul > li,
    .mobile-menu > ul > li {
        list-style: none !important;
        border-bottom: 1px solid rgba(15, 42, 61, 0.08) !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        align-items: stretch !important;
    }
    #offcanvas .mobile-menu > ul > li:last-child,
    .mobile-menu > ul > li:last-child {
        border-bottom: none !important;
    }
    #offcanvas .mobile-menu > ul > li > .ct-menu-link,
    .mobile-menu > ul > li > .ct-menu-link,
    #offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent,
    .mobile-menu > ul > li > .ct-sub-menu-parent {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 20px 12px !important;
        color: #0F2A3D !important;
        font-family: 'Fraunces', 'Heebo', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        letter-spacing: -0.005em !important;
        text-align: center !important;
        text-decoration: none !important;
        transition: color 0.25s ease !important;
        background: transparent !important;
        white-space: normal !important;
        line-height: 1.3 !important;
    }
    /* Active page */
    #offcanvas .mobile-menu > ul > li.current-menu-item > .ct-menu-link,
    .mobile-menu > ul > li.current_page_item > .ct-menu-link,
    .mobile-menu > ul > li[class*="current-menu"] > .ct-menu-link,
    .mobile-menu > ul > li[class*="current_page"] > .ct-menu-link {
        color: #B8623A !important;
    }

    /* ===== 5. CHEVRON for parent items ===== */
    /* Hide Blocksy's default dropdown toggle icon */
    .mobile-menu .ct-toggle-dropdown-mobile,
    .mobile-menu [class*="ct-toggle-dropdown"] {
        position: absolute !important;
        opacity: 0 !important;
        width: 100% !important;
        height: 100% !important;
        inset: 0 !important;
        margin: 0 !important;
        z-index: 2 !important;
    }
    /* Draw our own chevron via pseudo on the parent link */
    .mobile-menu > ul > li.menu-item-has-children > .ct-menu-link::after {
        content: "" !important;
        display: inline-block !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 1.5px solid #B8623A !important;
        border-bottom: 1.5px solid #B8623A !important;
        transform: rotate(45deg) !important;
        margin-inline-start: 4px !important;
        position: relative !important;
        top: -3px !important;
        transition: transform 0.3s ease, top 0.3s ease !important;
    }
    /* Expanded state — rotate chevron */
    .mobile-menu > ul > li.menu-item-has-children.dropdown-active > .ct-menu-link::after,
    .mobile-menu > ul > li.menu-item-has-children[class*="active"] > .ct-menu-link::after {
        transform: rotate(-135deg) !important;
        top: 1px !important;
    }

    /* ===== 6. SUBMENU — inline expansion, terracotta vertical line ===== */
    .mobile-menu .sub-menu,
    #offcanvas .mobile-menu .sub-menu {
        position: static !important;
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 8px 0 16px !important;
        margin-inline-end: 32px !important;
        padding-inline-end: 18px !important;
        border-inline-end: 1.5px solid #B8623A !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        list-style: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        border-radius: 0 !important;
        transition: max-height 0.4s ease, opacity 0.3s ease !important;
    }
    /* Remove ANY pseudo arrows / chevrons from desktop dropdown that we hid earlier */
    .mobile-menu .sub-menu::before,
    .mobile-menu .sub-menu::after,
    #offcanvas .mobile-menu .sub-menu::before,
    #offcanvas .mobile-menu .sub-menu::after {
        display: none !important;
        content: none !important;
    }
    /* Submenu items */
    .mobile-menu .sub-menu li,
    #offcanvas .mobile-menu .sub-menu li {
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        align-items: stretch !important;
    }
    .mobile-menu .sub-menu li .ct-menu-link,
    #offcanvas .mobile-menu .sub-menu li .ct-menu-link,
    .mobile-menu .sub-menu li a {
        display: block !important;
        padding: 12px 4px !important;
        color: #0F2A3D !important;
        font-family: 'Heebo', sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        text-align: center !important;
        justify-content: center !important;
        background: transparent !important;
        opacity: 0.85 !important;
        text-decoration: none !important;
        transition: color 0.2s ease, opacity 0.2s ease !important;
        white-space: normal !important;
        line-height: 1.4 !important;
    }
    .mobile-menu .sub-menu li:hover .ct-menu-link,
    .mobile-menu .sub-menu li .ct-menu-link:hover {
        color: #B8623A !important;
        opacity: 1 !important;
    }

    /* ===== 7. FOOTER mobile — center everything ===== */
    .ilirya-footer-inner,
    .ilirya-footer-col,
    .ilirya-footer-brand {
        text-align: center !important;
        align-items: center !important;
    }
    .ilirya-footer-logo {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .ilirya-footer-tagline,
    .ilirya-footer-title {
        text-align: center !important;
        width: 100% !important;
    }
    .ilirya-footer-links,
    .ilirya-footer-contact {
        text-align: center !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .ilirya-footer-links li,
    .ilirya-footer-contact li,
    .ilirya-footer-address {
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
    }
    .ilirya-footer-links li a,
    .ilirya-footer-contact li a {
        text-align: center !important;
        justify-content: center !important;
        display: inline-flex !important;
    }
    .ilirya-footer-social {
        justify-content: center !important;
        display: flex !important;
        gap: 16px !important;
    }
    .ilirya-footer-bottom-inner {
        text-align: center !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .ilirya-footer-bottom-inner p {
        text-align: center !important;
    }
}

/* ============================================================
   MOBILE FIX 2 — corrections from screenshots
   1. Restore hamburger position (left/start column)
   2. Logo size via CSS variable override
   3. Parent item color (.ct-sub-menu-parent)
   4. Submenu collapse/expand with proper max-height transition
   All inside (max-width: 999.98px) — desktop unaffected.
   ============================================================ */
@media (max-width: 999.98px) {

    /* === 1. Restore hamburger to start column — undo grid hack === */
    [data-row="middle"] > div {
        display: flex !important;
        align-items: center !important;
        grid-template-columns: none !important;
    }
    [data-row="middle"] [data-column="start"] {
        flex: 0 0 auto !important;
        order: 1 !important;
    }
    [data-row="middle"] [data-column="middle"] {
        flex: 1 1 auto !important;
        order: 2 !important;
        justify-content: center !important;
        display: flex !important;
    }
    [data-row="middle"] [data-column="end"] {
        flex: 0 0 auto !important;
        order: 3 !important;
        min-width: 42px !important; /* matches hamburger width for visual balance */
    }

    /* === 2. Logo size — override Blocksy's CSS variable === */
    .site-logo-container,
    [data-device="mobile"] .site-logo-container {
        --logo-max-height: 72px !important;
        --logo-shrink-height: 72px !important;
        height: 72px !important;
    }
    .site-logo-container img,
    .site-logo-container svg,
    [data-device="mobile"] .site-logo-container img {
        height: 72px !important;
        max-height: 72px !important;
        width: auto !important;
    }

    /* === 3. Parent item color — .ct-sub-menu-parent === */
    .mobile-menu > ul > li > .ct-sub-menu-parent,
    .mobile-menu .ct-sub-menu-parent {
        color: #0F2A3D !important;
        font-family: 'Fraunces', 'Heebo', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 20px 12px !important;
        text-align: center !important;
        text-decoration: none !important;
        background: transparent !important;
        line-height: 1.3 !important;
        cursor: pointer !important;
    }
    .mobile-menu > ul > li > .ct-sub-menu-parent::after {
        content: "" !important;
        display: inline-block !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 1.5px solid #B8623A !important;
        border-bottom: 1.5px solid #B8623A !important;
        transform: rotate(45deg) !important;
        margin-inline-start: 4px !important;
        position: relative !important;
        top: -3px !important;
        transition: transform 0.3s ease, top 0.3s ease !important;
    }
    .mobile-menu > ul > li.dropdown-active > .ct-sub-menu-parent::after {
        transform: rotate(-135deg) !important;
        top: 1px !important;
    }

    /* === 4. Submenu — proper collapse/expand === */
    /* Collapsed state (default): max-height 0, hidden */
    .mobile-menu .sub-menu,
    #offcanvas .mobile-menu .sub-menu {
        position: static !important;
        display: block !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        list-style: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: none !important;
        border-radius: 0 !important;
        margin-inline-end: 0 !important;
        padding-inline-end: 0 !important;
        border-inline-end: 0 !important;
        transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease, margin 0.3s ease, border-color 0.3s ease !important;
    }
    /* Expanded state — Blocksy adds .dropdown-active to the parent <li> */
    .mobile-menu > ul > li.dropdown-active > .sub-menu,
    #offcanvas .mobile-menu > ul > li.dropdown-active > .sub-menu {
        max-height: 500px !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding-top: 8px !important;
        padding-bottom: 16px !important;
        margin-inline-end: 32px !important;
        padding-inline-end: 18px !important;
        border-inline-end: 1.5px solid #B8623A !important;
    }
    /* Kill any leftover pseudo arrows */
    .mobile-menu .sub-menu::before,
    .mobile-menu .sub-menu::after,
    #offcanvas .mobile-menu .sub-menu::before,
    #offcanvas .mobile-menu .sub-menu::after {
        display: none !important;
        content: none !important;
    }
    /* Submenu items stay the same */
    .mobile-menu .sub-menu li {
        border: none !important;
        width: 100% !important;
    }
    .mobile-menu .sub-menu li .ct-menu-link,
    .mobile-menu .sub-menu li a {
        display: block !important;
        padding: 12px 4px !important;
        color: #0F2A3D !important;
        font-family: 'Heebo', sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        text-align: center !important;
        background: transparent !important;
        opacity: 0.85 !important;
        text-decoration: none !important;
    }
    .mobile-menu .sub-menu li:hover .ct-menu-link {
        color: #B8623A !important;
        opacity: 1 !important;
    }

    /* === Ensure the toggle button (chevron click area) is properly sized === */
    .mobile-menu [class*="ct-toggle-dropdown"] {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0 !important;
        z-index: 2 !important;
        background: transparent !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .mobile-menu .menu-item-has-children {
        position: relative !important;
    }
}

/* ============================================================
   MOBILE FIX 3 — override the variable directly
   The white-text problem was Blocksy setting:
     [data-id="mobile-menu"] { --theme-link-initial-color: #ffffff; }
   Override the variable at the source.
   ============================================================ */
@media (max-width: 999.98px) {

    /* Force the variable to deep-sea inside the mobile menu */
    [data-header*="type-1"] [data-id="mobile-menu"],
    #offcanvas .mobile-menu,
    .mobile-menu {
        --theme-link-initial-color: #0F2A3D !important;
        --theme-link-hover-color: #B8623A !important;
    }

    /* And reapply all menu-link styling at high specificity */
    #offcanvas .mobile-menu > ul > li > .ct-menu-link,
    #offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent,
    .mobile-menu > ul > li > .ct-menu-link,
    .mobile-menu > ul > li > .ct-sub-menu-parent {
        color: #0F2A3D !important;
        font-family: 'Fraunces', 'Heebo', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        text-align: center !important;
        line-height: 1.3 !important;
        cursor: pointer !important;
    }

    /* Submenu items keep their own styling but override variable too */
    .mobile-menu .sub-menu .ct-menu-link,
    .mobile-menu .sub-menu a {
        color: #0F2A3D !important;
    }
}

/* ============================================================
   MOBILE FIX 4 — corrected based on real DOM
   Parent item is <span.ct-sub-menu-parent><a.ct-menu-link>text</a><button.ct-toggle-dropdown-mobile>chevron</button></span>
   ============================================================ */
@media (max-width: 999.98px) {

    /* ===== HEADER LAYOUT — proper centering ===== */
    /* Reset my prior column overrides */
    [data-row="middle"] [data-column="end"] {
        min-width: 0 !important; /* was 42px, was pushing logo off-center */
    }
    /* Mirror the hamburger column width on the opposite side so logo truly centers */
    [data-row="middle"] [data-column="end"]::before {
        content: "" !important;
        display: inline-block !important;
        width: 42px !important;
        height: 1px !important;
    }
    /* Make sure logo doesn't overlap hamburger */
    [data-row="middle"] [data-column="middle"] {
        min-width: 0 !important;
        flex: 1 1 0 !important;
        padding: 0 8px !important;
    }
    [data-row="middle"] [data-column="start"] {
        position: relative !important;
        z-index: 2 !important; /* hamburger always on top if any overlap */
    }
    .site-branding,
    .site-logo-container {
        position: relative !important;
        z-index: 1 !important;
    }

    /* ===== PARENT MENU ITEM TEXT — fix size ===== */
    /* The text is in .ct-menu-link INSIDE .ct-sub-menu-parent.
       Apply same sizing to all top-level links AND the parent's inner link. */
    .mobile-menu > ul > li > .ct-menu-link,
    .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-menu-link,
    .mobile-menu > ul > li.menu-item-has-children > .ct-sub-menu-parent > .ct-menu-link,
    #offcanvas .mobile-menu > ul > li > .ct-menu-link,
    #offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-menu-link {
        color: #0F2A3D !important;
        font-family: 'Fraunces', 'Heebo', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        text-align: center !important;
        line-height: 1.3 !important;
        padding: 20px 12px !important;
        display: block !important;
        text-decoration: none !important;
        background: transparent !important;
    }

    /* ===== PARENT ITEM WRAPPER — layout the span ===== */
    .mobile-menu > ul > li > .ct-sub-menu-parent {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 !important;
        background: transparent !important;
        position: relative !important;
        width: 100% !important;
    }
    /* The actual link should center, button sits to its side */
    .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-menu-link {
        flex: 0 1 auto !important; /* don't take full width, just text width */
    }

    /* ===== CHEVRON BUTTON — replace Blocksy's SVG with our own ===== */
    .mobile-menu .ct-toggle-dropdown-mobile {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        flex: 0 0 24px !important;
        position: relative !important;
    }
    /* Hide Blocksy's SVG */
    .mobile-menu .ct-toggle-dropdown-mobile svg {
        display: none !important;
    }
    /* Draw our own chevron via pseudo */
    .mobile-menu .ct-toggle-dropdown-mobile::before {
        content: "" !important;
        display: block !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 1.5px solid #B8623A !important;
        border-bottom: 1.5px solid #B8623A !important;
        transform: rotate(45deg) translate(-2px, -2px) !important;
        transition: transform 0.3s ease !important;
    }
    /* Rotate up when expanded (aria-expanded="true") */
    .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"]::before {
        transform: rotate(-135deg) translate(-2px, -2px) !important;
    }

    /* ===== SUBMENU — clean collapse/expand ===== */
    /* Default (collapsed): max-height 0, opacity 0, no padding/border */
    .mobile-menu .sub-menu,
    #offcanvas .mobile-menu .sub-menu {
        position: static !important;
        display: block !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-inline-end: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        transform: none !important;
        border-radius: 0 !important;
        visibility: visible !important; /* don't use visibility:hidden — breaks reopen */
        pointer-events: auto !important;
        transition:
            max-height 0.35s ease,
            opacity 0.25s ease,
            padding 0.35s ease,
            margin 0.35s ease !important;
    }
    /* Expanded — Blocksy adds .dropdown-active to the <li> */
    .mobile-menu > ul > li.dropdown-active > .sub-menu,
    #offcanvas .mobile-menu > ul > li.dropdown-active > .sub-menu {
        max-height: 600px !important;
        opacity: 1 !important;
        padding-top: 8px !important;
        padding-bottom: 16px !important;
        padding-inline-end: 18px !important;
        margin-inline-end: 32px !important;
        border-inline-end: 1.5px solid #B8623A !important;
    }
    /* Submenu items unchanged */
    .mobile-menu .sub-menu li {
        border: none !important;
        background: transparent !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .mobile-menu .sub-menu .ct-menu-link,
    .mobile-menu .sub-menu a {
        display: block !important;
        padding: 12px 4px !important;
        color: #0F2A3D !important;
        font-family: 'Heebo', sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        text-align: center !important;
        background: transparent !important;
        opacity: 0.85 !important;
        text-decoration: none !important;
        line-height: 1.4 !important;
    }
}

/* ============================================================
   MOBILE FIX 5 — force hamburger to OPPOSITE side of logo
   ============================================================ */
@media (max-width: 999.98px) {

    /* Override flex direction so hamburger goes to the visual left in RTL */
    [data-row="middle"] > div {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Hamburger column — first in visual order (left side in RTL = visual end) */
    [data-row="middle"] [data-column="start"] {
        order: 3 !important;       /* push to visual left in RTL */
        flex: 0 0 auto !important;
        z-index: 10 !important;
        position: relative !important;
    }

    /* Logo column — middle */
    [data-row="middle"] [data-column="middle"] {
        order: 2 !important;
        flex: 1 1 auto !important;
        display: flex !important;
        justify-content: center !important;
        z-index: 1 !important;
    }

    /* End column — first in visual order (right side in RTL) */
    [data-row="middle"] [data-column="end"] {
        order: 1 !important;
        flex: 0 0 42px !important;  /* mirror hamburger for symmetric centering */
        min-width: 42px !important;
        z-index: 1 !important;
    }

    /* Kill the pseudo I added in fix 4 — was double-counting */
    [data-row="middle"] [data-column="end"]::before {
        content: none !important;
        display: none !important;
    }

    /* Hamburger trigger — ensure it's tappable */
    .ct-header-trigger {
        position: relative !important;
        z-index: 10 !important;
        pointer-events: auto !important;
    }
}

/* ============================================================
   MOBILE FIX 6 — kill legacy rule making toggle button invisible+fullsize
   That was breaking submenu reopen + chevron rendering
   ============================================================ */
@media (max-width: 999.98px) {

    /* Reset the bad legacy rule — button is inline, visible, 24px */
    .mobile-menu [class*="ct-toggle-dropdown"],
    .mobile-menu .ct-toggle-dropdown-mobile {
        position: relative !important;
        inset: auto !important;
        width: 24px !important;
        height: 24px !important;
        opacity: 1 !important;
        z-index: 1 !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    /* Make sure parent <li> has space for the button next to the link */
    .mobile-menu > ul > li.menu-item-has-children > .ct-sub-menu-parent {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 !important;
    }
    .mobile-menu > ul > li.menu-item-has-children > .ct-sub-menu-parent > .ct-menu-link {
        flex: 0 1 auto !important;
        padding: 20px 0 !important;
    }

    /* Hide Blocksy's SVG inside the button (we draw our own) */
    .mobile-menu .ct-toggle-dropdown-mobile svg {
        display: none !important;
    }

    /* SUBMENU collapse — fix gap residue */
    /* The transition-on-close issue: animate ONLY max-height + opacity.
       Padding/border switches instantly so no residual width on collapse. */
    .mobile-menu .sub-menu,
    #offcanvas .mobile-menu .sub-menu {
        position: static !important;
        display: block !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-inline-end: 0 !important;
        list-style: none !important;
        width: 100% !important;
        background: transparent !important;
        box-shadow: none !important;
        transition: max-height 0.3s ease, opacity 0.2s ease !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    .mobile-menu > ul > li.dropdown-active > .sub-menu,
    #offcanvas .mobile-menu > ul > li.dropdown-active > .sub-menu {
        max-height: 600px !important;
        opacity: 1 !important;
        padding: 8px 18px 16px 0 !important; /* RTL: padding right (start) for visual */
        margin-inline-end: 32px !important;
        border-inline-end: 1.5px solid #B8623A !important;
    }
}

/* ============================================================
   MOBILE FIX 7 — work WITH Blocksy's JS, not against it
   Blocksy's JS sets inline style="height: Xpx" to animate.
   We must NOT set max-height — let height be controlled by JS + class state.
   ============================================================ */
@media (max-width: 999.98px) {

    /* SUBMENU — minimal styling, no max-height fight */
    .mobile-menu .sub-menu,
    #offcanvas .mobile-menu .sub-menu {
        position: static !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-inline-end: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: none !important;  /* DON'T fight Blocksy's JS height animation */
        transform: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow: hidden !important;  /* needed for height animation */
        transition: height 0.3s ease !important;
    }

    /* When collapsed (no .dropdown-active on parent <li>), force height: 0 via display:none */
    .mobile-menu > ul > li:not(.dropdown-active) > .sub-menu {
        display: none !important;
    }
    /* When animating (Blocksy adds .is-animating during transition), force display:block so animation can run */
    .mobile-menu > ul > li > .sub-menu.is-animating {
        display: block !important;
    }
    /* When expanded — visible block, with editorial styling */
    .mobile-menu > ul > li.dropdown-active > .sub-menu {
        display: block !important;
        padding: 8px 18px 16px 0 !important;
        margin-inline-end: 32px !important;
        border-inline-end: 1.5px solid #B8623A !important;
    }

    /* CHEVRON — kill all my pseudo arrows, use Blocksy's native SVG */
    .mobile-menu .ct-toggle-dropdown-mobile::before {
        display: none !important;
        content: none !important;
    }
    /* Show Blocksy's SVG, color it terracotta */
    .mobile-menu .ct-toggle-dropdown-mobile {
        position: relative !important;
        inset: auto !important;
        opacity: 1 !important;
        width: 32px !important;
        height: 32px !important;
        z-index: 1 !important;
        background: transparent !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        --theme-icon-color: #B8623A !important;
        --theme-icon-size: 14px !important;
    }
    .mobile-menu .ct-toggle-dropdown-mobile svg {
        display: inline-block !important;
        width: 14px !important;
        height: 14px !important;
        fill: #B8623A !important;
        transition: transform 0.3s ease !important;
    }
    .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] svg {
        transform: rotate(180deg) !important;
    }
}

/* Final kill — remove the pseudo chevron, keep only Blocksy's SVG */
@media (max-width: 999.98px) {
    .mobile-menu .ct-toggle-dropdown-mobile::before,
    .mobile-menu .ct-toggle-dropdown-mobile::after,
    body .mobile-menu .ct-toggle-dropdown-mobile::before,
    body .mobile-menu .ct-toggle-dropdown-mobile::after,
    #offcanvas .mobile-menu .ct-toggle-dropdown-mobile::before,
    #offcanvas .mobile-menu .ct-toggle-dropdown-mobile::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        border: 0 !important;
        background: none !important;
    }
}

/* Hide the desktop chevron indicator on mobile —
   it's the leftover SVG inside .ct-menu-link causing the duplicate arrow */
@media (max-width: 999.98px) {
    .mobile-menu .ct-toggle-dropdown-desktop,
    .mobile-menu .ct-toggle-dropdown-desktop svg,
    #offcanvas .mobile-menu .ct-toggle-dropdown-desktop,
    .menu-item-has-children > a > .ct-toggle-dropdown-desktop,
    .mobile-menu a > .ct-toggle-dropdown-desktop {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
    }
}

/* ============================================================
   FINAL — Kill all leftover CSS pseudo chevrons sitewide on mobile
   The remaining duplicate arrow is .ct-menu-link::after / .ct-sub-menu-parent::after
   from earlier fix iterations. Nuke them.
   ============================================================ */
@media (max-width: 999.98px) {
    .mobile-menu .ct-menu-link::after,
    .mobile-menu .ct-menu-link::before,
    .mobile-menu .ct-sub-menu-parent::after,
    .mobile-menu .ct-sub-menu-parent::before,
    .mobile-menu .menu-item-has-children > a::after,
    .mobile-menu .menu-item-has-children > a::before,
    .mobile-menu > ul > li.menu-item-has-children > .ct-menu-link::after,
    .mobile-menu > ul > li > .ct-sub-menu-parent::after,
    #offcanvas .mobile-menu .ct-menu-link::after,
    #offcanvas .mobile-menu .ct-sub-menu-parent::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        border: 0 !important;
        background: none !important;
        transform: none !important;
    }
}

/* ============================================================
   PASS 3 — Contact form + WhatsApp eyebrow + mobile submenu state
   ============================================================ */

/* ===== 1. Contact form label spacing ===== */
/* Each form row is <p><label>...</label><br/><input/></p>.
   Push <p> down so label has air above. Tighten label-to-input gap. */
.wpcf7-form p {
    margin-top: 28px !important;
    margin-bottom: 0 !important;
}
.wpcf7-form p:first-of-type {
    margin-top: 0 !important;
}
.wpcf7-form p > label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
    color: #0F2A3D !important;
    line-height: 1.4 !important;
}
.wpcf7-form p > br {
    display: none !important; /* The <br/> between label and input adds extra gap, remove it */
}
.wpcf7-form .wpcf7-form-control-wrap {
    display: block !important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ===== 2. Select fields — fix clipped text when collapsed ===== */
.wpcf7-form select.wpcf7-form-control,
.wpcf7-form select {
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 16px !important;
    line-height: 1.5 !important;
    font-size: 16px !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E8E2D5 !important;
    border-radius: 4px !important;
    color: #1A1A1A !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23B8623A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left 16px center !important;
    padding-inline-start: 16px !important;
    padding-inline-end: 40px !important;
}
.wpcf7-form select:focus {
    outline: none !important;
    border-color: #B8623A !important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
    min-height: 48px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E8E2D5 !important;
    border-radius: 4px !important;
    color: #1A1A1A !important;
}
.wpcf7-form input:focus {
    outline: none !important;
    border-color: #B8623A !important;
}
.wpcf7-form textarea {
    min-height: 120px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E8E2D5 !important;
    border-radius: 4px !important;
    color: #1A1A1A !important;
    resize: vertical !important;
}
.wpcf7-form textarea:focus {
    outline: none !important;
    border-color: #B8623A !important;
}

/* ===== 3. WhatsApp eyebrow size — disable uppercase + match Hebrew weight ===== */
/* The "WhatsApp" eyebrow renders larger than Hebrew at same px because
   .ilirya-eyebrow likely has text-transform: uppercase. Disable for Latin
   inside ilirya-eyebrow so "WhatsApp" stays in mixed case. */
.ilirya-eyebrow {
    text-transform: none !important;
}

/* ===== 4. Mobile submenu — force collapsed by default ===== */
/* Currently the submenu shows expanded on page load even though
   .dropdown-active class isn't on the <li>. Force display:none at higher
   specificity. */
@media (max-width: 999.98px) {
    body .mobile-menu > ul > li.menu-item-has-children:not(.dropdown-active) > .sub-menu,
    body #offcanvas .mobile-menu > ul > li.menu-item-has-children:not(.dropdown-active) > .sub-menu,
    html body .mobile-menu > ul > li:not(.dropdown-active) > .sub-menu {
        display: none !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

/* ============================================================
   FORM FIX 2 — move top spacing from <p> to <label>
   The 28px on <p> broke 2-column rows (e.g., name + phone side-by-side).
   Move the spacing to the label so it works inside any layout.
   ============================================================ */
.wpcf7-form p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.wpcf7-form p > label {
    display: block !important;
    margin-top: 24px !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
    color: #0F2A3D !important;
    line-height: 1.4 !important;
}
/* First label in the form sits flush at top */
.wpcf7-form > p:first-of-type > label,
.wpcf7-form > div:first-of-type label:first-child {
    margin-top: 0 !important;
}

/* stat source links */
.ilirya-stats-grid a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ilirya-stats-grid a:hover { color: #B8623A; }

/* featured case study + timeline */
.ilirya-feature-case { max-width: 760px; margin: 0 auto; background: #FAF7F2; border-radius: 6px; padding: 48px 44px; box-shadow: 0 12px 32px rgba(15,42,61,0.08); }
.ilirya-feature-eyebrow { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: #B8623A; margin: 0 0 12px; }
.ilirya-feature-title { font-size: clamp(21px, 2.4vw, 26px); font-weight: 600; line-height: 1.3; color: #0F2A3D; margin: 0; }
.ilirya-timeline { list-style: none; margin: 32px 0 0; padding: 0; }
.ilirya-timeline-item { position: relative; padding-inline-start: 30px; padding-bottom: 26px; }
.ilirya-timeline-item::before { content: ""; position: absolute; inset-inline-start: 5px; top: 9px; bottom: 0; width: 1px; background: #E8E2D5; }
.ilirya-timeline-item:last-child { padding-bottom: 0; }
.ilirya-timeline-item:last-child::before { display: none; }
.ilirya-timeline-item::after { content: ""; position: absolute; inset-inline-start: 0; top: 7px; width: 11px; height: 11px; border-radius: 50%; background: #B8623A; }
.ilirya-timeline-year { display: block; font-family: Fraunces, serif; font-size: 22px; font-weight: 500; color: #B8623A; line-height: 1; margin-bottom: 6px; }
.ilirya-timeline-text { margin: 0; font-size: 15px; line-height: 1.7; color: #1A1A1A; }
.ilirya-feature-cta { max-width: 760px; margin: 40px auto 0; text-align: center; }
.ilirya-feature-cta-text { font-size: 17px; line-height: 1.7; color: #1A1A1A; margin: 0 0 24px; }
.ilirya-feature-cta-btn { display: inline-block; background: #B8623A; color: #FAF7F2; font-size: 16px; font-weight: 600; padding: 16px 40px; border-radius: 4px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ilirya-feature-cta-btn:hover { background: #a4552f; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(184,98,58,0.3); }
@media (max-width: 999.98px) { .ilirya-feature-case { padding: 32px 24px; } .ilirya-feature-cta-text { font-size: 16px; } }

/* why-albania 2-column image band */
.ilirya-why-cols { align-items: center; }
.ilirya-why-image img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 12px 32px rgba(15,42,61,0.15); }
@media (max-width: 781.98px) {
  .ilirya-why-image { text-align: center; }
  .ilirya-why-image img { width: auto; max-width: 100%; max-height: 65vh; margin-inline: auto; }
}

/* data-source note (why-albania) */
.ilirya-data-note { max-width: 720px; margin: 0 auto; background: #F2EDE3; border: 1px solid #E8E2D5; border-inline-start: 3px solid #B8623A; border-radius: 4px; padding: 14px 22px; font-size: 14px; line-height: 1.7; color: #6B7378; text-align: right; }

/* footer logo right-align (desktop, match RTL tagline) */
@media (min-width: 1000px) {
  .ilirya-footer-brand .ilirya-footer-logo { align-self: flex-start !important; margin-inline-start: 0 !important; margin-inline-end: auto !important; }
}

/* ============================================================
   RESOURCES ARTICLE: Albania property prices 2026
   ============================================================ */
.ilirya-article{color:#1A1A1A}
.ilirya-article h2{color:#0F2A3D;font-size:clamp(24px,3.5vw,32px);font-weight:700;line-height:1.25;letter-spacing:-0.01em;margin:52px 0 16px}
.ilirya-article h2:first-child{margin-top:0}
.ilirya-article h3{color:#0F2A3D;font-size:20px;font-weight:600;line-height:1.4;margin:34px 0 10px}
.ilirya-article p{color:#1A1A1A;font-size:17px;line-height:1.85;margin:0 0 20px}
.ilirya-article strong{color:#0F2A3D;font-weight:600}
.ilirya-article a{color:#B8623A;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ilirya-article a:hover{color:#a4552f}
.ilirya-article .wp-block-table{margin:28px 0}
.ilirya-article table{width:100%;border-collapse:collapse;font-size:15px}
.ilirya-article th{background:#0F2A3D;color:#FAF7F2;font-weight:600;padding:14px 16px;text-align:right;font-size:14px;line-height:1.4}
.ilirya-article td{padding:13px 16px;border-bottom:1px solid #E8E2D5;text-align:right;color:#1A1A1A;vertical-align:top}
.ilirya-article td:first-child{font-weight:600;color:#0F2A3D}
.ilirya-article tbody tr:nth-child(odd){background:#FBF9F4}
.ilirya-article tbody tr:nth-child(even){background:#FFFFFF}
.ilirya-article .ilirya-data-note{background:#F2EDE3;border-inline-start:3px solid #B8623A;padding:18px 22px;font-size:14px;line-height:1.7;color:#6B7378;margin:36px 0 0;border-radius:4px}

/* FAQ accordion (article-scoped) */
.ilirya-article-faq details{border:1px solid #E8E2D5;border-radius:6px;background:#FFFFFF;margin-bottom:12px;overflow:hidden}
.ilirya-article-faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:17px;font-weight:600;color:#0F2A3D;display:flex;justify-content:space-between;align-items:center;gap:16px}
.ilirya-article-faq summary::-webkit-details-marker{display:none}
.ilirya-article-faq summary::after{content:"+";color:#B8623A;font-size:24px;font-weight:400;line-height:1;flex-shrink:0}
.ilirya-article-faq details[open] summary::after{content:"\00d7"}
.ilirya-article-faq details[open] summary{border-bottom:1px solid #E8E2D5}
.ilirya-article-faq .ilirya-article-faq-a{padding:16px 22px 20px;color:#1A1A1A;font-size:16px;line-height:1.75}




/* Resources articles: keep the title bar, drop its duplicated title text */
body.parent-pageid-28 .hero-section .page-title{display:none!important}

/* article: force-hide the duplicated Blocksy page-title (max specificity) */
html body.parent-pageid-28 .hero-section[data-type] header.entry-header h1.page-title{display:none!important;visibility:hidden!important}

/* article: hide duplicated title header + thin the cream strip */
body.parent-pageid-28 .hero-section[data-type=type-1] .entry-header{display:none!important}
body.parent-pageid-28 .hero-section[data-type=type-1]{padding-top:16px!important;padding-bottom:16px!important;margin-bottom:0!important;min-height:0!important}

/* Article navy hero: BFC contains the eyebrow's top margin (stops the cream-strip leak); top space set explicitly */
body.parent-pageid-28 .entry-content > .wp-block-group.alignfull:first-child,
body.parent-pageid-28 .wp-block-group.alignfull:has(> p[style*="B8623A"]){display:flow-root!important;margin-top:0!important;padding-top:0!important}
body.parent-pageid-28 .entry-content > .wp-block-group.alignfull:first-child > p:first-child,
body.parent-pageid-28 .wp-block-group.alignfull:has(> p[style*="B8623A"]) > p:first-child{margin-top:72px!important}

/* ===== Resources hub: recommended-article block (C-v3) ===== */
.ilirya-featured-article .ilirya-rec{position:relative!important;display:flex!important;border-radius:8px!important;box-shadow:0 10px 30px rgba(15,42,61,.10)!important;margin:0!important}
.ilirya-featured-article .ilirya-rec-aside{flex:0 0 31%!important;background:linear-gradient(165deg,#F2EDE3,#E8DCC4)!important;padding:34px 30px!important;display:flex!important;flex-direction:column!important;position:relative!important;border-radius:0 8px 8px 0!important;box-shadow:inset 0 0 0 1px rgba(15,42,61,.22)!important}
.ilirya-featured-article .ilirya-rec-eyebrow{font-family:'Fraunces',serif!important;font-size:13.5px!important;letter-spacing:1.6px!important;text-transform:uppercase!important;color:#B8623A!important;margin:0 0 16px!important;font-weight:500!important}
.ilirya-featured-article .ilirya-rec-rule{display:block!important;width:32px!important;height:2px!important;background:#B8623A!important;margin:0 0 16px!important}
.ilirya-featured-article .ilirya-rec-readwrap{margin:0 0 auto!important}
.ilirya-featured-article .ilirya-rec-readnum{font-family:'Fraunces',serif!important;font-size:26px!important;font-weight:500!important;color:#0F2A3D!important;line-height:1!important;margin:0!important}
.ilirya-featured-article .ilirya-rec-readlbl{font-size:15px!important;color:#4a5a62!important;margin:4px 0 0!important}
.ilirya-featured-article .ilirya-rec-mark{font-family:'Fraunces',serif!important;font-size:16px!important;letter-spacing:.5px!important;color:#B8623A!important;margin:24px 0 0!important;font-weight:500!important}
.ilirya-featured-article .ilirya-rec-body{flex:1!important;position:relative!important;background:linear-gradient(158deg,#1A3C53 0%,#0F2A3D 62%)!important;padding:36px 38px!important;overflow:hidden!important;border-radius:8px 0 0 8px!important;box-shadow:inset 0 0 0 1px rgba(232,220,196,.30)!important}
.ilirya-featured-article .ilirya-rec-warm{position:absolute!important;top:-40px!important;right:-28px!important;width:300px!important;height:240px!important;background:radial-gradient(ellipse at center,rgba(232,220,196,.16),rgba(184,98,58,.10) 42%,transparent 72%)!important;pointer-events:none!important}
.ilirya-featured-article .ilirya-rec-glow{position:absolute!important;bottom:-70px!important;left:38%!important;width:260px!important;height:150px!important;background:radial-gradient(ellipse at center,rgba(184,98,58,.28),transparent 70%)!important;pointer-events:none!important}
.ilirya-featured-article .ilirya-rec-eyebrow2{position:relative!important;font-family:'Fraunces',serif!important;color:#E8DCC4!important;font-size:12px!important;letter-spacing:1.6px!important;text-transform:uppercase!important;opacity:.9!important;margin:0 0 14px!important}
.ilirya-featured-article .ilirya-rec-title{position:relative!important;font-family:'Heebo',sans-serif!important;font-weight:700!important;font-size:clamp(21px,2.6vw,27px)!important;line-height:1.32!important;letter-spacing:-.01em!important;color:#FAF7F2!important;margin:0 0 8px!important}
.ilirya-featured-article .ilirya-rec-underline{display:block!important;position:relative!important;width:46px!important;height:2px!important;background:#E8DCC4!important;opacity:.55!important;margin:0 0 16px!important;border-radius:2px!important}
.ilirya-featured-article .ilirya-rec-teaser{position:relative!important;font-size:14.5px!important;line-height:1.75!important;color:#E8DCC4!important;opacity:.92!important;max-width:60ch!important;margin:0 0 22px!important}
.ilirya-featured-article .ilirya-rec-cta{position:relative!important;display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:11.5px!important;letter-spacing:1.2px!important;text-transform:uppercase!important;color:#B8623A!important;border:1px solid rgba(184,98,58,.55)!important;border-radius:100px!important;padding:8px 17px!important;background:rgba(184,98,58,.06)!important;font-weight:600!important}
.ilirya-featured-article .ilirya-rec-connector{text-align:center!important;font-family:'Heebo',sans-serif!important;font-size:15px!important;line-height:1.8!important;color:#6B7378!important;max-width:54ch!important;margin:32px auto 0!important}
.ilirya-featured-article .ilirya-rec-connector strong{color:#0F2A3D!important;font-weight:600!important}
.ilirya-featured-article .ilirya-rec-vine{position:relative!important;height:88px!important;margin:14px 0 0!important}
.ilirya-featured-article .ilirya-rec-vine::before{content:''!important;position:absolute!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;width:2px!important;height:100%!important;background:linear-gradient(to bottom,rgba(184,98,58,.22),rgba(184,98,58,.22) 55%,transparent)!important}
.ilirya-featured-article .ilirya-rec-firefly{position:absolute!important;left:50%!important;width:20px!important;height:20px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,247,232,.6),rgba(236,217,182,.28) 38%,rgba(200,150,100,.08) 60%,transparent 74%)!important;box-shadow:0 0 24px 8px rgba(236,217,182,.2)!important;filter:blur(.6px)!important;animation:iliryaFire 5s ease-in-out infinite!important}
.ilirya-featured-article .ilirya-rec-firefly--2{animation-delay:2.5s!important}
@keyframes iliryaFire{0%{top:-7%;opacity:0;transform:translate(-50%,0) scale(.55)}12%{opacity:.9;transform:translate(-50%,0) scale(1)}50%{transform:translate(calc(-50% + 4px),0) scale(.96)}88%{opacity:.7}100%{top:90%;opacity:0;transform:translate(-50%,0) scale(.55)}}
@media (max-width:781.98px){.ilirya-featured-article .ilirya-rec{flex-direction:column!important}.ilirya-featured-article .ilirya-rec-aside{flex:none!important;border-radius:8px 8px 0 0!important;padding:26px 24px!important}.ilirya-featured-article .ilirya-rec-body{border-radius:0 0 8px 8px!important;padding:28px 24px!important}.ilirya-featured-article .ilirya-rec-readwrap{margin:0 0 18px!important}.ilirya-featured-article .ilirya-rec-mark{margin:4px 0 0!important}}

/* ===== Resources hub v4: Box B (centered) ===== */
.ilirya-featured-article{padding-bottom:32px!important}
.ilirya-featured-article .ilirya-recb{max-width:560px!important;margin:0 auto!important;position:relative!important;overflow:hidden!important;text-align:center!important;background:linear-gradient(158deg,#1A3C53,#0F2A3D 65%)!important;padding:18px 38px 32px!important;border-radius:8px!important;box-shadow:0 8px 26px rgba(15,42,61,.12),inset 0 0 0 1px rgba(232,220,196,.28)!important}
.ilirya-featured-article .ilirya-recb-topbar{position:absolute!important;top:0!important;left:0!important;right:0!important;height:3px!important;background:linear-gradient(to left,transparent,#B8623A,transparent)!important}
.ilirya-featured-article .ilirya-recb-glow{position:absolute!important;top:-40px!important;left:50%!important;transform:translateX(-50%)!important;width:260px!important;height:160px!important;background:radial-gradient(ellipse,rgba(232,220,196,.14),rgba(184,98,58,.08) 45%,transparent 72%)!important;pointer-events:none!important}
.ilirya-featured-article .ilirya-recb-eyebrow{position:relative!important;font-family:'Fraunces',serif!important;font-size:11px!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:#B8623A!important;margin:18px 0 12px!important;font-weight:500!important}
.ilirya-featured-article .ilirya-recb-title{position:relative!important;font-family:'Heebo',sans-serif!important;font-weight:700!important;font-size:clamp(19px,2.3vw,24px)!important;line-height:1.3!important;letter-spacing:-.01em!important;color:#FAF7F2!important;margin:0 0 12px!important}
.ilirya-featured-article .ilirya-recb-uline{display:block!important;position:relative!important;width:40px!important;height:2px!important;background:#E8DCC4!important;opacity:.5!important;margin:0 auto 14px!important;border-radius:2px!important}
.ilirya-featured-article .ilirya-recb-teaser{position:relative!important;font-size:13.5px!important;line-height:1.65!important;color:#E8DCC4!important;opacity:.9!important;margin:0 auto 18px!important;max-width:42ch!important}
.ilirya-featured-article .ilirya-recb-cta{position:relative!important;display:inline-block!important;font-size:11px!important;letter-spacing:1.1px!important;text-transform:uppercase!important;color:#B8623A!important;border:1px solid rgba(184,98,58,.5)!important;border-radius:100px!important;padding:7px 16px!important;font-weight:600!important}
.ilirya-featured-article .ilirya-recb-connector{text-align:center!important;font-family:'Heebo',sans-serif!important;font-size:14.5px!important;line-height:1.75!important;color:#6B7378!important;max-width:52ch!important;margin:24px auto 0!important}
.ilirya-featured-article .ilirya-recb-connector strong{color:#0F2A3D!important;font-weight:600!important}

/* ===== Resources hub v4: climbing vine + nodes ===== */
.ilirya-lib-wrap{position:relative!important;max-width:1100px!important;margin-left:auto!important;margin-right:auto!important}
.ilirya-vine{position:absolute!important;top:0!important;bottom:0!important;right:0!important;width:2px!important;pointer-events:none!important;z-index:1!important}
.ilirya-vine::before{content:''!important;position:absolute!important;top:0!important;bottom:0!important;right:0!important;width:2px!important;background:linear-gradient(to bottom,transparent,rgba(184,98,58,.42) 3%,rgba(184,98,58,.42) 97%,transparent)!important}
.ilirya-fly{position:absolute!important;right:-9px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,248,236,.92),rgba(244,214,168,.6) 32%,rgba(200,150,100,.18) 58%,transparent 76%)!important;box-shadow:0 0 16px 5px rgba(240,205,150,.5),0 0 30px 11px rgba(232,200,150,.22)!important;filter:blur(.4px)!important;animation:iliryaClimb 8s ease-in-out infinite!important}
.ilirya-fly2{animation-delay:2.7s!important}
.ilirya-fly3{animation-delay:5.3s!important}
@keyframes iliryaClimb{0%{top:-1%;opacity:0;transform:translateX(0) scale(.5)}7%{opacity:1;transform:translateX(0) scale(1)}30%{transform:translateX(-6px) scale(1.06)}55%{transform:translateX(5px) scale(.96)}80%{transform:translateX(-4px) scale(1.04)}94%{opacity:.9}100%{top:101%;opacity:0;transform:translateX(0) scale(.5)}}
.ilirya-category .ilirya-eyebrow{position:relative!important}
.ilirya-category .ilirya-eyebrow::after{content:''!important;position:absolute!important;top:50%!important;right:-4.5px!important;transform:translateY(-50%)!important;width:11px!important;height:11px!important;border-radius:50%!important;background:#E8DCC4!important;border:1.5px solid #B8623A!important;box-shadow:0 0 6px 1px rgba(184,98,58,.3)!important;animation:iliryaNode 3.6s ease-in-out infinite!important;z-index:2!important}
@keyframes iliryaNode{0%,100%{box-shadow:0 0 0 0 rgba(184,98,58,0),0 0 6px 1px rgba(184,98,58,.3)}50%{box-shadow:0 0 0 5px rgba(184,98,58,.07),0 0 11px 2px rgba(184,98,58,.5)}}
@media (max-width:781.98px){.ilirya-featured-article .ilirya-recb{padding:18px 24px 28px!important}.ilirya-vine{right:6px!important}.ilirya-category .ilirya-eyebrow::after{right:-2px!important}}

/* ===== Resources hub v4.1: tighter stack, 1-line connector, node clearance ===== */
.ilirya-featured-article{padding-bottom:8px!important}
.ilirya-lib-wrap{margin-top:0!important}
.ilirya-vine + .ilirya-category{padding-top:16px!important;margin-top:0!important}
.ilirya-featured-article .ilirya-recb-connector{white-space:nowrap!important;max-width:none!important;margin-top:14px!important}
.ilirya-category .ilirya-eyebrow::after{right:-24px!important}
@media (max-width:781.98px){
.ilirya-featured-article .ilirya-recb-connector{white-space:normal!important;max-width:38ch!important}
.ilirya-category .ilirya-eyebrow::after{display:none!important}
}

/* ===== Resources hub v4.2: orbs centered on the vine ===== */
.ilirya-category .ilirya-eyebrow::after{right:-28px!important}

/* ===== FAQ firefly vine (per-section, alternating-bg-safe, no wrapper) ===== */
.ilirya-faq-category{position:relative!important}
.ilirya-faq-category::before{content:''!important;position:absolute!important;top:0!important;bottom:0!important;right:calc(50vw - 430px)!important;width:2px!important;background:rgba(184,98,58,.40)!important;pointer-events:none!important;z-index:1!important}
#general::before{background:linear-gradient(to bottom,transparent,rgba(184,98,58,.40) 14%)!important}
#risk::before{background:linear-gradient(to bottom,rgba(184,98,58,.40) 86%,transparent)!important}
.ilirya-faq-category::after{content:''!important;position:absolute!important;right:calc(50vw - 439px)!important;width:20px!important;height:20px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,248,236,.92),rgba(244,214,168,.6) 32%,rgba(200,150,100,.18) 58%,transparent 76%)!important;box-shadow:0 0 16px 5px rgba(240,205,150,.5),0 0 30px 11px rgba(232,200,150,.22)!important;filter:blur(.4px)!important;pointer-events:none!important;z-index:1!important;animation:iliryaClimb 10s ease-in-out infinite!important}
#general::after{animation-delay:0s!important}
#legal::after{animation-delay:1.2s!important}
#process::after{animation-delay:2.4s!important}
#money::after{animation-delay:3.6s!important}
#tax::after{animation-delay:4.8s!important}
#group::after{animation-delay:6s!important}
#management::after{animation-delay:7.2s!important}
#risk::after{animation-delay:8.4s!important}
.ilirya-faq-category h2{position:relative!important}
.ilirya-faq-category h2::after{content:''!important;position:absolute!important;top:50%!important;right:-34px!important;transform:translateY(-50%)!important;width:11px!important;height:11px!important;border-radius:50%!important;background:#E8DCC4!important;border:1.5px solid #B8623A!important;box-shadow:0 0 6px 1px rgba(184,98,58,.3)!important;animation:iliryaNode 3.6s ease-in-out infinite!important;z-index:2!important}
@media (max-width:781.98px){.ilirya-faq-category::before{right:8px!important}.ilirya-faq-category::after{right:-1px!important}.ilirya-faq-category h2::after{display:none!important}}

/* ===== FAQ vine alignment v2: clear the cards, align orbs + fireflies onto the line ===== */
.ilirya-faq-category::before{right:max(8px, calc(50vw - 459px))!important}
.ilirya-faq-category::after{right:max(-1px, calc(50vw - 468px))!important}

/* ===== FAQ vine v3: orb centered on the line ===== */
.ilirya-faq-category h2::after{right:-26px!important}

/* ===== back-link (compact + terracotta accent) ===== */
a.ilirya-article-back{display:inline-flex !important;align-self:flex-start !important;width:-webkit-fit-content !important;width:fit-content !important;max-width:max-content !important;align-items:center !important;gap:7px !important;margin-top:24px !important;padding:7px 16px 7px 18px !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.3px !important;color:#E8DCC4 !important;text-decoration:none !important;background:rgba(184,98,58,.10) !important;border:1px solid rgba(184,98,58,.6) !important;border-radius:999px !important;box-shadow:none !important;transition:background .2s,border-color .2s,color .2s !important}
a.ilirya-article-back:hover{background:#B8623A !important;border-color:#B8623A !important;color:#FAF7F2 !important}
a.ilirya-article-back .ilirya-article-back-chev{color:#B8623A !important;font-size:15px !important;line-height:1 !important;display:inline-block !important;transition:color .2s !important}
a.ilirya-article-back:hover .ilirya-article-back-chev{color:#FAF7F2 !important}

/* ===== Resources hub: featured card wired to the guide ===== */
.ilirya-featured-article .ilirya-recb-title a{color:inherit!important;text-decoration:none!important}
.ilirya-featured-article .ilirya-recb-title a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
.ilirya-featured-article a.ilirya-recb-cta{text-decoration:none!important;cursor:pointer!important;transition:background .2s,color .2s!important}
.ilirya-featured-article a.ilirya-recb-cta:hover{background:#B8623A!important;color:#FAF7F2!important}

/* ===== Case Study Host (page 55) ===== */
.ilirya-cs-card{background:#fff;border:1px solid #E8E2D5;border-radius:6px;padding:clamp(28px,4vw,52px);box-shadow:0 18px 50px rgba(15,42,61,0.07);margin-top:8px}
.ilirya-cs-head-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.ilirya-cs-eyebrow{font-family:'Fraunces',serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#B8623A;margin:0}
.ilirya-cs-badge{font-family:'Fraunces',serif;font-size:11px;letter-spacing:1px;color:#B8623A;border:1px solid #B8623A;border-radius:999px;padding:3px 12px;text-transform:uppercase;white-space:nowrap}
.ilirya-cs-title{font-family:'Heebo',sans-serif;font-weight:700;font-size:clamp(23px,3.2vw,33px);color:#0F2A3D;line-height:1.25;letter-spacing:-0.01em;margin:0 0 10px}
.ilirya-cs-summary{color:#6B7378;font-size:17px;line-height:1.6;margin:0}
.ilirya-cs-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #E8E2D5;border-inline-start:1px solid #E8E2D5;margin:32px 0 36px}
.ilirya-cs-fact{border-inline-end:1px solid #E8E2D5;border-bottom:1px solid #E8E2D5;padding:18px 20px}
.ilirya-cs-flabel{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#6B7378;margin-bottom:8px}
.ilirya-cs-fvalue{display:block;font-family:'Fraunces',serif;font-size:18px;color:#0F2A3D;font-weight:500}
.ilirya-cs-body{display:flex;flex-direction:column;gap:26px}
.ilirya-cs-block{border-inline-start:2px solid #B8623A;padding-inline-start:18px}
.ilirya-cs-h3{font-family:'Heebo',sans-serif;font-weight:600;font-size:19px;color:#0F2A3D;margin:0 0 8px}
.ilirya-cs-p{color:#3a3f43;font-size:16px;line-height:1.75;margin:0}
.ilirya-cs-quote{margin:36px 0 0;border-top:1px solid #E8E2D5;padding-top:28px}
.ilirya-cs-qtext{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(20px,2.6vw,26px);line-height:1.5;color:#0F2A3D;margin:0 0 12px}
.ilirya-cs-qby{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#B8623A}
.ilirya-cs-more{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.ilirya-cs-mcard{border:1px dashed #cbb89a;border-radius:6px;padding:44px 24px;text-align:center;background:rgba(255,255,255,0.35)}
.ilirya-cs-soon{display:block;font-family:'Fraunces',serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#B8623A;margin-bottom:10px}
.ilirya-cs-mtype{display:block;color:#6B7378;font-size:15px}
@media (max-width:781.98px){.ilirya-cs-facts{grid-template-columns:repeat(2,1fr)}.ilirya-cs-more{grid-template-columns:1fr}}
/* ===== end Case Study Host ===== */

/* ===== Funnel CTA: force ghost (outline) secondary button over Blocksy !important ===== */
.ilirya-final-cta .wp-block-buttons .wp-block-button:last-child:not(:first-child) .wp-block-button__link,
.ilirya-final-cta .wp-block-buttons .wp-block-button .wp-block-button__link[style*="#E8DCC4"]{
  background:#0F2A3D !important;
  background-color:#0F2A3D !important;
  background-image:none !important;
  border:1px solid #E8DCC4 !important;
  color:#FAF7F2 !important;
}
.ilirya-final-cta .wp-block-buttons .wp-block-button:last-child:not(:first-child) .wp-block-button__link:hover,
.ilirya-final-cta .wp-block-buttons .wp-block-button .wp-block-button__link[style*="#E8DCC4"]:hover{
  background:#16384d !important;
  background-color:#16384d !important;
}

/* ===== Funnel CTA: force ghost (outline) secondary button over Blocksy !important ===== */
.ilirya-final-cta .wp-block-buttons .wp-block-button:last-child:not(:first-child) .wp-block-button__link,
.ilirya-final-cta .wp-block-buttons .wp-block-button .wp-block-button__link[style*="#E8DCC4"]{
  background:#0F2A3D !important;
  background-color:#0F2A3D !important;
  background-image:none !important;
  border:1px solid #E8DCC4 !important;
  color:#FAF7F2 !important;
}
.ilirya-final-cta .wp-block-buttons .wp-block-button:last-child:not(:first-child) .wp-block-button__link:hover,
.ilirya-final-cta .wp-block-buttons .wp-block-button .wp-block-button__link[style*="#E8DCC4"]:hover{
  background:#16384d !important;
  background-color:#16384d !important;
}
