/* ============================================================
   AI-managed styles for myairadar.com
   ------------------------------------------------------------
   Rules:
   - Every selector uses the .ar- prefix (example: .ar-card-wide).
   - One commented block per change: date | request | pages affected.
   - Never target auto-generated Spectra classes (uagb-block-xxxx),
     they change when a block is rebuilt. Instead, add a stable
     .ar- class to the block (block settings > Advanced >
     Additional CSS Class) and style that class here.
   - ASCII only. No emojis, no diacritics, no special Unicode.
   ============================================================ */

/* Example, kept as reference. The class is not used on the site yet.

   2026-11-08 | demo entry | none

.ar-card-wide {
    width: 100%;
    border-radius: 12px;
    text-align: justify;
}
*/

/* ============================================================
   2026-11-10 | base stylesheet captured from Customizer > Additional
   CSS on staging, before activating the child theme | all pages
   ------------------------------------------------------------
   Captured verbatim with scripts/server/get_additional_css.sh
   (37033 characters, identical length on production). The
   activation script empties the Customizer box, so this file is
   now the only source of these rules. The selectors predate the
   .ar- rule above and keep their original names. New rules go
   after this block, with the .ar- prefix.
   ============================================================ */

/* ==========================================================================
   myairadar.com - dark business stylesheet
   Paste the whole file into Appearance > Customize > Additional CSS.

   Structure:
     1. tokens        - colours, spacing scale, fluid type scale, measures
     2. page canhas-text-align-left wp-block-paragraphvas   - Astra wrappers, header-to-content gap
     3. typography    - headings, body, links, focus
     4. components    - hero, thesis, grids, cards, tables, quote, buttons, cta
     5. chrome        - header, menu, language switch, footer, blog archive
     6. breakpoints   - 1199 / 1023 / 781 / 599, plus motion and touch

   Sizes are fluid (clamp), so most screen widths need no breakpoint at all.
   Breakpoints only handle layout switches. To reskin, edit section 1 only.
   ========================================================================== */

/* ============================ 1. TOKENS ================================== */

:root {
    /* colour */
    --air-bg:        #0b1528;  /* page background - deep navy               */
    --air-bg-2:      #121e35;  /* surfaces: hero, cards, panels, footer     */
    --air-bg-3:      #1a2a48;  /* elevated: table head, hover, secondary bt */
    --air-line:      #25375c;  /* hairlines and card outlines               */
    --air-text:      #eef2f8;  /* headings, strong, quotes                  */
    --air-body:      #c5cfdf;  /* body copy                                 */
    --air-muted:     #8b9bb4;  /* notes, captions, meta                     */
    --air-accent:    #8b93ff;  /* links, highlights - app indigo, lifted    */
    --air-accent-2:  #5b63f0;  /* button fill - app indigo, deepened        */
    --air-glow:      rgba(99, 102, 241, 0.32);

    /* spacing scale, 4px base - use these, not ad hoc values */
    --sp-1: 0.25rem;   /*  4 */
    --sp-2: 0.5rem;    /*  8 */
    --sp-3: 0.75rem;   /* 12 */
    --sp-4: 1rem;      /* 16 */
    --sp-5: 1.5rem;    /* 24 */
    --sp-6: 2rem;      /* 32 */

    /* fluid type scale: min at 360px, max at 1440px */
    --fs-hero:  clamp(1.85rem, 1.10rem + 2.65vw, 2.70rem);
    --fs-h1:    clamp(1.65rem, 1.28rem + 1.30vw, 2.15rem);
    --fs-h2:    clamp(1.28rem, 1.13rem + 0.52vw, 1.55rem);
    --fs-h3:    clamp(1.00rem, 0.96rem + 0.14vw, 1.08rem);
    --fs-lead:  clamp(1.06rem, 0.99rem + 0.25vw, 1.20rem);
    --fs-body:  clamp(1.00rem, 0.97rem + 0.11vw, 1.0625rem);
    --fs-small: clamp(0.875rem, 0.86rem + 0.05vw, 0.90rem);
    --fs-pull:  clamp(1.10rem, 0.98rem + 0.42vw, 1.32rem);
    --fs-quote: clamp(1.14rem, 0.99rem + 0.52vw, 1.42rem);
    --fs-micro: clamp(0.75rem, 0.73rem + 0.06vw, 0.80rem);

    /* fluid block spacing */
    --gap-section:  clamp(1.75rem, 1.10rem + 2.10vw, 2.60rem);
    --pad-panel:    clamp(1.20rem, 0.55rem + 2.20vw, 2.40rem);
    --pad-card:     clamp(1.00rem, 0.80rem + 0.70vw, 1.25rem);
    --inset:        calc(var(--pad-panel) + 1px);  /* panel padding + border */

    /* line length: keeps body copy inside the 45-75 character band */
    --measure:      66ch;
    --measure-lead: 56ch;
    --measure-h1:   26ch;
    --measure-h2:   46ch;
}

/* ---- font loading ----
   Until Inter arrives the browser draws with a system fallback whose metrics
   are wider, so lines take more room and the header can wrap to a second row,
   then snap back once the swap happens. This fallback family is scaled to
   match Inter's metrics, so the swap no longer moves anything. Pair it with
   Astra > Settings > Performance > Load Google Fonts Locally + Preload. */

@font-face {
    font-family: "Inter Fallback";
    src: local("Arial"), local("Helvetica Neue"), local("Roboto"),
         local("Liberation Sans");
    size-adjust: 107%;
    ascent-override: 90%;
    descent-override: 22.5%;
    line-gap-override: 0%;
    font-display: swap;
}

body,
button,
input,
select,
textarea,
.entry-content,
.main-header-menu,
.site-title,
.site-footer {
    font-family: Inter, "Inter Fallback", -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, sans-serif;
}

/* ============================ 2. PAGE CANVAS ============================= */

/* Reserve the scrollbar lane from the first paint. Without this the page is
   laid out at full width while it is still short, then loses ~15px the moment
   the content grows tall enough to need a scrollbar - the container narrows
   and lines rewrap. Costs nothing when a scrollbar was going to appear. */

html { scrollbar-gutter: stable; }

body,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-plain-container .site-content {
    background-color: var(--air-bg);
    color: var(--air-body);
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
    border: 0;
    box-shadow: none;
}

.site-content .ast-container { max-width: 1160px; }

/* Gap between header and content.
   Astra's own rules look like .ast-plain-container.ast-no-sidebar #primary -
   two classes plus an id - so a plain class selector loses to them, and the
   spacing controls are a Pro module. To adjust the gap, change the two values
   in the second rule (and their phone counterparts in section 6). */

body #content.site-content > .ast-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body #content.site-content #primary {
    margin-top: 3.5rem !important;     /* 56px */
    margin-bottom: 3.5rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Pages carry their own H1 in the content, so the theme's title block goes.
   Hiding the whole header, not just the text, or its margins remain. */

.page .ast-single-entry-banner,
.page .ast-archive-description,
.page .entry-header { display: none !important; }

/* ============================ 3. TYPOGRAPHY ============================== */

.entry-content { color: var(--air-body); font-size: var(--fs-body); }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-title,
.site-title,
.site-title a {
    color: var(--air-text);
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.entry-content h1 {
    font-size: var(--fs-h1);
    font-weight: 700;
    line-height: 1.15;
    max-width: var(--measure-h1);
    margin: 0 0 var(--sp-3);
}

.entry-content h2 {
    font-size: var(--fs-h2);
    font-weight: 650;
    line-height: 1.25;
    max-width: var(--measure-h2);
    margin: 0 0 var(--sp-4);
}

.entry-content h2::before {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    margin-bottom: var(--sp-3);
    background: var(--air-accent);
    border-radius: 2px;
}

.entry-content > * + h2 { margin-top: var(--sp-6); }
.entry-content > h2:first-child,
.entry-content .wp-block-column > h2:first-child { margin-top: 0; }

.entry-content h3 {
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: 1.3;
    margin: var(--sp-5) 0 var(--sp-2);
}

.entry-content p {
    line-height: 1.65;
    margin: 0 0 var(--sp-4);
    text-wrap: pretty;
}

/* measure applies to full-width prose only, never inside columns or cards */
.entry-content > p,
.entry-content > .air-section > p { max-width: var(--measure); }

.entry-content strong { color: var(--air-text); }

.entry-content a {
    color: var(--air-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.entry-content a:hover { color: #ffffff; text-decoration-thickness: 2px; }

.entry-content a:focus-visible,
.entry-content .wp-block-button__link:focus-visible,
.main-header-menu a:focus-visible,
.site-footer a:focus-visible {
    outline: 2px solid var(--air-accent);
    outline-offset: 3px;
    border-radius: 4px;
    text-decoration: none;
}

.entry-content p.air-lead {
    color: var(--air-text);
    /* WordPress ships .has-large-font-size with !important, so the fluid scale
       has to match it or the lead renders at the theme preset size */
    font-size: var(--fs-lead) !important;
    font-weight: 400;
    line-height: 1.5;
    max-width: var(--measure-lead);
    padding-bottom: var(--sp-5);
    margin-bottom: var(--sp-6);
    border-bottom: 1px solid var(--air-line);
}

.entry-content p.air-note {
    color: var(--air-muted);
    font-size: var(--fs-small) !important;
    line-height: 1.55;
    max-width: var(--measure);
}

/* ---- lists ---- */

.entry-content ul.wp-block-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: var(--sp-5);
    max-width: var(--measure);
}

.entry-content ul.wp-block-list li {
    position: relative;
    padding-left: 1.35em;
    margin-bottom: var(--sp-2);
    line-height: 1.6;
}

.entry-content ul.wp-block-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 6px;
    height: 6px;
    background: var(--air-accent);
    border-radius: 2px;
}

.entry-content ol.wp-block-list {
    padding-left: 1.3em;
    margin-bottom: var(--sp-5);
    max-width: var(--measure);
}

.entry-content ol.wp-block-list li { margin-bottom: var(--sp-2); line-height: 1.6; }
.entry-content ol.wp-block-list li::marker { color: var(--air-accent); font-weight: 700; }

/* two-column grid for longer lists; full measure per column */
.entry-content .air-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--sp-6);
    row-gap: var(--sp-2);
    max-width: none;
}

.entry-content ol.air-grid { padding-left: 1.3em; }

/* ============================ 4. COMPONENTS ============================== */

/* Padded components size themselves by border box, so a percentage flex-basis
   stays predictable even if the theme's own reset ever changes. */

.entry-content .air-hero,
.entry-content .air-thesis,
.entry-content .air-cta,
.entry-content .air-cards .wp-block-column,
.entry-content ol.air-numgrid li,
.entry-content ul.air-chips li { box-sizing: border-box; }


/* ---- one text edge for the whole page ----
   Statement panels (hero, thesis, closing band) carry their own padding, so
   without this their text sits inset from every plain section heading and the
   left edge of the page reads as ragged. The content is inset by the same
   amount and the panels are pulled back out to the container edge, which puts
   every heading, paragraph and list on one vertical line. */

.entry-content { padding-inline: var(--inset); }

/* WordPress's own block layout CSS caps block groups at its content size and
   centres anything carrying a max-width, with margin-left/right: auto
   !important. That made sections narrower than the panels and pushed headings
   inward. Reset here, then rebuilt as one grid that holds across the site:
     - everything that draws a surface (statement panels, section rules, card
       rows) spans the full container width;
     - every heading, paragraph and list sits on one left edge inside it. */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content .wp-block-quote,
.entry-content .wp-block-table,
.entry-content .wp-block-separator,
.entry-content .wp-block-buttons,
.entry-content .wp-block-columns,
.entry-content .wp-block-image,
.entry-content .wp-block-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.entry-content .wp-block-group,
.entry-content .wp-block-columns { max-width: none !important; }

/* one width for every surface */
.entry-content > .air-hero,
.entry-content > .air-thesis,
.entry-content > .air-cta,
.entry-content > .air-section,
.entry-content .air-cards,
.entry-content ol.air-numgrid {
    margin-left: calc(var(--inset) * -1) !important;
    margin-right: calc(var(--inset) * -1) !important;
}

/* plain sections put their own text back on the shared left edge */
.entry-content > .air-section:not(.air-thesis) { padding-inline: var(--inset); }

/* portrait and caption stay against the right edge of their column */
.entry-content figure.air-portrait,
.entry-content p.air-caption {
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* ---- section rhythm ---- */

.entry-content .air-section {
    margin-top: var(--gap-section);
    padding-top: var(--gap-section);
    border-top: 1px solid var(--air-line);
}

.entry-content .air-section > h2 { margin-top: 0; }

/* ---- hero ---- */

.entry-content .air-hero {
    position: relative;
    overflow: hidden;
    padding: var(--pad-panel);
    border: 1px solid var(--air-line);
    border-radius: 18px;
    background: linear-gradient(160deg, var(--air-bg-2) 0%, var(--air-bg) 75%);
}

.entry-content .air-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(55% 60% at 88% 8%, var(--air-glow) 0%, rgba(0, 0, 0, 0) 68%),
        radial-gradient(40% 40% at 5% 100%, rgba(99, 102, 241, 0.14) 0%, rgba(0, 0, 0, 0) 70%);
}

.entry-content .air-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0), var(--air-accent) 40%, var(--air-accent) 60%, rgba(0, 0, 0, 0));
}

.entry-content .air-hero > * { position: relative; }

.entry-content .air-hero-cols {
    gap: clamp(1.5rem, 0.7rem + 2.4vw, 2.5rem);
    align-items: center;
    margin-bottom: 0;
}

.entry-content .air-eyebrow {
    display: flex;
    align-items: baseline;
    gap: var(--sp-3);
    margin: 0 0 var(--sp-4);
    font-size: var(--fs-micro);
    font-weight: 600;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
    color: var(--air-accent);
}

.entry-content .air-eyebrow::before {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--air-accent);
    flex: 0 0 auto;
    transform: translateY(-0.35em);
}

.entry-content .air-hero h1 {
    font-size: var(--fs-hero);
    line-height: 1.08;
    letter-spacing: -0.03em;
    max-width: 24ch;
    margin: 0 0 var(--sp-4);
}

.entry-content .air-hero h1 em { font-style: normal; color: var(--air-accent); }

.entry-content .air-hero p.air-lead {
    color: var(--air-body);
    font-size: var(--fs-lead) !important;
    border: 0;
    padding: 0;
    margin: 0 0 var(--sp-5);
    max-width: 46ch;
}

.entry-content .air-hero .wp-block-buttons { margin-bottom: var(--sp-5); }

.entry-content ul.air-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
    margin: 0;
    max-width: none;
}

.entry-content ul.air-chips li {
    padding: 5px 12px;
    margin: 0;
    border: 1px solid var(--air-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    font-size: var(--fs-small);
    font-weight: 500;
    color: var(--air-muted);
    line-height: 1.5;
}

.entry-content ul.air-chips li::before { display: none; }

.entry-content .air-portrait {
    position: relative;
    margin: 0 0 0 auto;
    max-width: 400px;
}

.entry-content .air-portrait::before {
    content: "";
    position: absolute;
    inset: 14px -14px -14px 14px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.55), rgba(99, 102, 241, 0.05));
    z-index: 0;
}

.entry-content .air-portrait img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
    border: 1px solid var(--air-line);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}

.entry-content .air-caption {
    max-width: 400px;
    margin: var(--sp-3) 0 0 auto;
    font-size: var(--fs-small);
    color: var(--air-muted);
}

/* ---- thesis panel ---- */

.entry-content .air-thesis {
    border-top: 0;
    padding: var(--pad-panel);
    border: 1px solid var(--air-line);
    border-radius: 16px;
    background: var(--air-bg-2);
}

.entry-content .air-thesis h2 { max-width: 42ch; margin-bottom: var(--sp-4); }

.entry-content .air-thesis .wp-block-columns {
    gap: clamp(1.25rem, 0.5rem + 2.2vw, 2.2rem);
    align-items: center;
    margin-bottom: 0;
}

.entry-content .air-thesis p { max-width: var(--measure); }
.entry-content .air-thesis p:last-child { margin-bottom: 0; }

.entry-content .air-pull {
    font-size: var(--fs-pull);
    font-weight: 600;
    line-height: 1.32;
    color: var(--air-text);
    padding-left: var(--sp-4);
    border-left: 3px solid var(--air-accent);
    margin: 0;
    max-width: none;
}

/* ---- numbered grid ---- */

.entry-content ol.air-numgrid {
    list-style: none;
    counter-reset: air;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-3);
    padding: 0;
    margin: 0;
    max-width: none;
}

.entry-content ol.air-numgrid li {
    counter-increment: air;
    position: relative;
    margin: 0;
    padding: var(--pad-card) var(--pad-card) var(--pad-card) 3.1rem;
    background: var(--air-bg-2);
    border: 1px solid var(--air-line);
    border-radius: 12px;
    line-height: 1.55;
    color: var(--air-body);
}

.entry-content ol.air-numgrid li::before {
    content: counter(air, decimal-leading-zero);
    position: absolute;
    left: var(--pad-card);
    top: var(--pad-card);
    font-size: var(--fs-small);
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--air-accent);
}

/* ---- split section ---- */

.entry-content .air-split {
    gap: clamp(1.5rem, 0.6rem + 2.6vw, 2.5rem);
    margin-bottom: 0;
}

.entry-content .air-split h3:first-child { margin-top: 0; }
.entry-content .air-split ul.wp-block-list { margin-bottom: var(--sp-4); }
.entry-content .air-split .air-pull { font-size: var(--fs-body); margin-top: var(--sp-3); }

/* ---- offer cards ---- */

.entry-content .air-cards { gap: var(--sp-4); margin-bottom: 0; }

.entry-content .air-cards .wp-block-column {
    position: relative;
    background: var(--air-bg-2);
    border: 1px solid var(--air-line);
    border-radius: 12px;
    padding: var(--pad-card);
    transition: border-color .18s ease, transform .18s ease;
}

.entry-content .air-cards .wp-block-column::before {
    content: "";
    position: absolute;
    left: var(--pad-card);
    right: var(--pad-card);
    top: 0;
    height: 2px;
    border-radius: 0 0 2px 2px;
    background: var(--air-accent);
    opacity: 0;
    transition: opacity .18s ease;
}

.entry-content .air-cards .wp-block-column:hover {
    border-color: var(--air-accent);
    transform: translateY(-2px);
}

.entry-content .air-cards .wp-block-column:hover::before { opacity: 1; }

.entry-content .air-cards h3 { margin: 0 0 var(--sp-2); max-width: none; }
.entry-content .air-cards p { font-size: var(--fs-small); line-height: 1.55; margin-bottom: var(--sp-3); }
.entry-content .air-cards p:last-child { margin-bottom: 0; }

.entry-content .air-cards a {
    text-decoration: none;
    font-weight: 600;
}

.entry-content .air-cards a::after { content: " \2192"; }

/* ---- tables ---- */

.entry-content .wp-block-table {
    overflow-x: auto;
    margin: var(--sp-5) 0;
    -webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table {
    border-collapse: collapse;
    border: 1px solid var(--air-line);
    background: var(--air-bg-2);
    min-width: 540px;
}

.entry-content .wp-block-table th {
    background: var(--air-bg-3);
    color: var(--air-text);
    font-weight: 600;
    text-align: left;
    font-size: var(--fs-small);
    letter-spacing: 0.02em;
    padding: var(--sp-3) var(--sp-4);
    border: 1px solid var(--air-line);
}

.entry-content .wp-block-table td {
    padding: var(--sp-3) var(--sp-4);
    border: 1px solid var(--air-line);
    font-size: var(--fs-small);
    line-height: 1.5;
    vertical-align: top;
    color: var(--air-body);
}

.entry-content .wp-block-table td:first-child { color: var(--air-text); font-weight: 600; }

/* ---- quote, separator, buttons ---- */

.entry-content .wp-block-quote {
    border-left: 3px solid var(--air-accent);
    background: transparent;
    padding: 0.1em 0 0.1em var(--sp-5);
    margin: var(--sp-6) 0;
}

.entry-content .wp-block-quote p {
    font-size: var(--fs-quote);
    line-height: 1.45;
    color: var(--air-text);
    font-style: normal;
    max-width: 46ch;
}

.entry-content .wp-block-separator {
    border: 0;
    border-top: 1px solid var(--air-line);
    max-width: 100%;
    margin: var(--sp-6) 0;
    opacity: 1;
}

.entry-content .wp-block-buttons { gap: var(--sp-3); }

.entry-content .wp-block-button__link {
    display: inline-block;
    background: var(--air-accent-2);
    color: #ffffff;
    border: 1px solid var(--air-accent-2);
    border-radius: 8px;
    padding: 12px 22px;
    font-weight: 600;
    font-size: var(--fs-small);
    letter-spacing: 0.01em;
    line-height: 1.5;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.entry-content .wp-block-button__link:hover {
    background: var(--air-accent);
    border-color: var(--air-accent);
    color: #0b1528;
}

.entry-content .wp-block-buttons .wp-block-button:not(:first-child) .wp-block-button__link {
    background: transparent;
    border-color: var(--air-line);
    color: var(--air-text);
}

.entry-content .wp-block-buttons .wp-block-button:not(:first-child) .wp-block-button__link:hover {
    background: var(--air-bg-3);
    border-color: var(--air-accent);
    color: #ffffff;
}

/* ---- closing band ---- */

.entry-content .air-cta {
    position: relative;
    overflow: hidden;
    margin-top: var(--gap-section);
    padding: var(--pad-panel);
    border: 1px solid var(--air-line);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.28) 0%, var(--air-bg-2) 55%);
}

.entry-content .air-cta .wp-block-quote { margin: 0 0 var(--sp-5); }
.entry-content .air-cta .wp-block-quote p { max-width: 52ch; }
.entry-content .air-cta .wp-block-buttons { margin: 0; }

/* ============================ 5. CHROME ================================== */

.ast-primary-header-bar,
.main-header-bar,
.ast-header-break-point .main-header-bar,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    background-color: var(--air-bg);
    border-bottom: 1px solid var(--air-line);
}

.main-header-menu a,
.ast-header-break-point .main-navigation a,
.ast-mobile-popup-drawer .ast-mobile-popup-inner a {
    color: var(--air-body);
    font-weight: 500;
}

.main-header-menu a:hover,
.ast-mobile-popup-drawer .ast-mobile-popup-inner a:hover { color: #ffffff; }
.main-header-menu .current-menu-item > a { color: var(--air-accent); }

.ast-mobile-menu-trigger-fill,
.ast-button-wrap .menu-toggle { color: var(--air-text); background: transparent; }

/* language switch (Polylang menu item: li.lang-item) */

.main-header-menu .lang-item:first-child,
.main-header-menu :not(.lang-item) + .lang-item { margin-left: auto; }

/* Astra sizes menu links to the full header bar via a large line-height,
   which turned the pills into tall ovals. Fixed height, centred in the row. */
.main-header-menu .lang-item {
    display: flex !important;
    align-items: center;
}

.main-header-menu .lang-item > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: 30px;
    min-width: 40px;
    min-height: 0;
    line-height: 1 !important;
    border: 1px solid var(--air-line);
    border-radius: 999px;
    padding: 0 11px !important;
    margin: 0 3px 0 0;
    font-size: var(--fs-micro);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--air-muted);
}

.main-header-menu .lang-item > a:hover {
    border-color: var(--air-accent);
    color: var(--air-accent);
}

.main-header-menu .lang-item.current-lang > a {
    background: var(--air-accent-2);
    border-color: var(--air-accent-2);
    color: #ffffff;
}



/* ---- mobile off-canvas drawer ----
   Astra renders the menu a second time inside a drawer that ships its own
   light panel, full-width links and item padding, so everything here needs
   !important. The two language items become a segmented control sized in
   percentages, so no combination of theme padding can push it off the edge. */

/* Astra paints the menu LIST itself, via
   .ast-builder-menu-mobile .main-navigation .main-header-menu - not the drawer
   wrappers. Colouring only the wrappers left a white panel under white text.
   Only containers are painted here; the item and pill backgrounds are set on
   their own anchors further down and must not be overridden. */

.ast-builder-menu-mobile .main-navigation,
.ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-builder-menu-mobile .main-navigation .sub-menu,
.ast-mobile-popup-drawer .main-header-menu,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-drawer .ast-mobile-popup-content,
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
.ast-mobile-popup-drawer.active .ast-mobile-popup-content,
#ast-mobile-popup .ast-mobile-popup-inner,
#ast-mobile-popup .ast-mobile-popup-content,
.ast-header-break-point .main-header-bar-navigation,
.ast-mobile-header-wrap .ast-mobile-header-content {
    background-color: var(--air-bg) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header,
.ast-mobile-header-wrap .ast-mobile-popup-header {
    background: var(--air-bg-2) !important;
    border-bottom: 1px solid var(--air-line) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-close,
.ast-mobile-popup-drawer .menu-toggle-close,
.ast-mobile-popup-drawer .ast-close-btn {
    color: var(--air-text) !important;
    border-color: var(--air-line) !important;
    background: transparent !important;
}

/* menu items: bigger targets, brighter text, hairline separators */

.ast-mobile-popup-drawer .main-header-menu .menu-item,
.ast-mobile-header-wrap .main-header-menu .menu-item {
    border-bottom: 1px solid var(--air-line) !important;
    background: transparent !important;
}

.ast-mobile-popup-drawer .main-header-menu .menu-item > a,
.ast-mobile-header-wrap .main-header-menu .menu-item > a {
    color: var(--air-text) !important;
    background: transparent !important;
    text-align: left !important;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.4 !important;
    padding: 15px 24px !important;
    border-left: 3px solid transparent;
}

.ast-mobile-popup-drawer .main-header-menu .menu-item > a:hover,
.ast-mobile-popup-drawer .main-header-menu .menu-item > a:focus {
    background: var(--air-bg-2) !important;
}

.ast-mobile-popup-drawer .main-header-menu .current-menu-item > a,
.ast-mobile-header-wrap .main-header-menu .current-menu-item > a {
    color: var(--air-accent) !important;
    border-left-color: var(--air-accent);
    background: rgba(99, 102, 241, 0.10) !important;
}

/* language segmented control, pinned to the list padding on both sides */

.ast-mobile-popup-drawer .lang-item,
.ast-mobile-header-wrap .lang-item {
    display: inline-block !important;
    vertical-align: middle;
    width: calc(50% - 30px) !important;
    max-width: calc(50% - 30px) !important;
    border-bottom: 0 !important;
    padding: 0 !important;
}

.ast-mobile-popup-drawer .lang-item:nth-last-of-type(2),
.ast-mobile-header-wrap .lang-item:nth-last-of-type(2) {
    margin: 22px 0 22px 24px !important;
    position: relative;
}

.ast-mobile-popup-drawer .lang-item:last-of-type,
.ast-mobile-header-wrap .lang-item:last-of-type {
    margin: 22px 0 22px 8px !important;
}

/* one hairline across the whole control, not one per half */
.ast-mobile-popup-drawer .lang-item:nth-last-of-type(2)::before,
.ast-mobile-header-wrap .lang-item:nth-last-of-type(2)::before {
    content: "";
    position: absolute;
    left: -24px;
    right: calc(-100% - 32px);
    top: -22px;
    border-top: 1px solid var(--air-line);
}

.ast-mobile-popup-drawer .main-header-menu .lang-item > a,
.ast-mobile-header-wrap .main-header-menu .lang-item > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100% !important;
    height: 46px;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    border: 1px solid var(--air-line) !important;
    border-radius: 10px;
    font-size: var(--fs-small);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--air-muted) !important;
    background: var(--air-bg-2) !important;
}

.ast-mobile-popup-drawer .main-header-menu .lang-item.current-lang > a,
.ast-mobile-header-wrap .main-header-menu .lang-item.current-lang > a {
    background: var(--air-accent-2) !important;
    border-color: var(--air-accent-2) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(91, 99, 240, 0.35);
}

.ast-mobile-popup-drawer .main-header-menu .lang-item:not(.current-lang) > a:hover,
.ast-mobile-header-wrap .main-header-menu .lang-item:not(.current-lang) > a:hover {
    border-color: var(--air-accent) !important;
    color: var(--air-text) !important;
}

/* footer *//* footer *//* footer */

.site-footer,
.ast-small-footer,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
    background-color: var(--air-bg-2);
    border-top: 1px solid var(--air-line);
    color: var(--air-muted);
}

.site-footer a,
.ast-small-footer a,
.site-below-footer-wrap a { color: var(--air-body); }

.site-footer a:hover,
.ast-small-footer a:hover,
.site-below-footer-wrap a:hover { color: #ffffff; }

/* single post and blog archive */

.single-post .entry-title {
    color: var(--air-text);
    font-size: var(--fs-h1);
    letter-spacing: -0.02em;
}

.single-post .entry-meta,
.single-post .entry-meta a,
.single-post .ast-single-post-meta { color: var(--air-muted); }

.blog .ast-article-post,
.archive .ast-article-post,
.ast-separate-container .ast-article-post {
    background: var(--air-bg-2);
    border: 1px solid var(--air-line);
    border-radius: 12px;
    padding: var(--pad-panel);
    margin-bottom: var(--sp-5);
}

.ast-article-post .entry-title,
.ast-article-post .entry-title a { color: var(--air-text); font-size: var(--fs-h2); }
.ast-article-post .entry-title a:hover { color: var(--air-accent); }
.ast-article-post .entry-meta,
.ast-article-post .entry-meta a,
.ast-article-post .ast-excerpt-container,
.ast-article-post .entry-content { color: var(--air-body); }
.ast-article-post .ast-the-content-more-link,
.ast-article-post .read-more a { color: var(--air-accent); }

/* ============================ 6. BREAKPOINTS ============================= */

/* --- 1199: four offer cards become two by two ---------------------------- */

@media (max-width: 1199px) {
    .entry-content .air-cards { flex-wrap: wrap; }
    .entry-content .air-cards > .wp-block-column {
        flex-basis: calc(50% - var(--sp-3)) !important;
        flex-grow: 1;
    }
}

/* --- 1023: tablet portrait. Two-prose-column layouts stack.
       WordPress core only stacks columns at 781px, which is too late for
       58/42 and 46/54 splits, so they are stacked explicitly here. -------- */

@media (max-width: 1023px) {
    .entry-content .air-split,
    .entry-content .air-thesis .wp-block-columns { flex-wrap: wrap; }

    .entry-content .air-split > .wp-block-column,
    .entry-content .air-thesis .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
    }

    /* headline needs more room than 58/42 leaves it at this width */
    .entry-content .air-hero-cols > .wp-block-column:first-child {
        flex-basis: 64% !important;
    }
    .entry-content .air-hero-cols > .wp-block-column:last-child {
        flex-basis: 36% !important;
    }
    .entry-content .air-portrait,
    .entry-content .air-caption { max-width: 260px; }

    .entry-content .air-split p,
    .entry-content .air-split ul.wp-block-list { max-width: var(--measure); }

    .entry-content .air-pull { margin-top: var(--sp-4); }
    .entry-content .air-split .air-pull { margin-top: var(--sp-3); }
}

/* --- 781: WordPress stacks all columns. Single-column grids. ------------- */

@media (max-width: 781px) {
    /* The 1023 hero ratio outranks WordPress core's stacking rule, so the
       hero columns have to be released back to full width explicitly. */
    .entry-content .air-hero-cols { flex-wrap: wrap; }
    .entry-content .air-hero-cols > .wp-block-column:first-child,
    .entry-content .air-hero-cols > .wp-block-column:last-child,
    .entry-content .air-cards > .wp-block-column { flex-basis: 100% !important; }
    .entry-content .air-grid,
    .entry-content ol.air-numgrid { grid-template-columns: 1fr; }
    .entry-content .wp-block-table table { min-width: 460px; }
    .entry-content .air-hero h1,
    .entry-content .air-hero p.air-lead { max-width: 34ch; }
    .entry-content figure.air-portrait,
    .entry-content p.air-caption {
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: var(--sp-3);
        max-width: 280px;
    }
    .entry-content p.air-caption { text-align: center; }
    body #content.site-content #primary {
        margin-top: 2.25rem !important;
        margin-bottom: 2.5rem !important;
    }
}

/* --- 599: phone. Tighter panels, smaller portrait, full-width buttons. --- */

@media (max-width: 599px) {
    .entry-content .air-hero { border-radius: 14px; }
    .entry-content .air-hero h1,
    .entry-content .air-hero p.air-lead { max-width: none; }
    .entry-content .air-portrait,
    .entry-content .air-caption { max-width: 240px; }
    .entry-content .air-hero h1,
    .entry-content .air-hero p.air-lead { max-width: none; }
    .entry-content .air-cta,
    .entry-content .air-thesis { border-radius: 12px; }
    .entry-content .wp-block-quote { padding-left: var(--sp-4); margin: var(--sp-5) 0; }
    .entry-content ol.air-numgrid li { padding-left: 2.8rem; }
    .entry-content .wp-block-buttons { gap: var(--sp-2); }
    .entry-content .air-hero .wp-block-button,
    .entry-content .air-cta .wp-block-button { flex: 1 1 100%; }
    .entry-content .air-hero .wp-block-button__link,
    .entry-content .air-cta .wp-block-button__link {
        display: block;
        text-align: center;
    }
}

/* --- touch pointers: 44px minimum tap targets --------------------------- */

@media (pointer: coarse) {
    .entry-content .wp-block-button__link { min-height: 48px; padding: 14px 22px; }
    .entry-content .air-cards a { display: inline-block; padding: var(--sp-1) 0; }
}

/* --- reduced motion ----------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .entry-content .air-cards .wp-block-column,
    .entry-content .air-cards .wp-block-column::before,
    .entry-content .wp-block-button__link { transition: none; }
    .entry-content .air-cards .wp-block-column:hover { transform: none; }
}
/* Ascunde ultimul element din Primary Menu - desktop + mobile 
.ast-builder-menu-1 .main-header-menu > li:last-child {
    display: none !important;
}
*/
/*====================*/
/* header after reset: menu and site title on the dark bar */
.site-header .site-title a,
.site-header .site-title a:visited { color: var(--air-text) !important; }
.site-header .site-title a:hover { color: var(--air-accent) !important; }

.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
    color: var(--air-body) !important;
    font-size: 15px;
    font-weight: 500;
}
.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link:hover,
.ast-builder-menu-1 .main-header-menu .menu-item:hover > .menu-link { color: #ffffff !important; }
.ast-builder-menu-1 .main-header-menu .current-menu-item > .menu-link,
.ast-builder-menu-1 .main-header-menu .current-menu-ancestor > .menu-link { color: var(--air-accent) !important; }

/* language switch: two small codes, current one in accent, hairline between */
.ast-builder-menu-1 .main-header-menu .lang-item > .menu-link {
    height: 26px !important;
    min-width: 0 !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1 !important;
    color: var(--air-muted) !important;
}
.ast-builder-menu-1 .main-header-menu .lang-item > .menu-link:hover { color: var(--air-text) !important; }
.ast-builder-menu-1 .main-header-menu .lang-item.current-lang > .menu-link {
    color: var(--air-accent) !important;
    box-shadow: inset 0 0 0 1px var(--air-line);
}
.ast-builder-menu-1 .main-header-menu .lang-item + .lang-item::before {
    content: "";
    display: block;
    width: 1px;
    height: 14px;
    margin: 0 4px;
    background: var(--air-line);
}

/*====*/
/* closing quote with button: smaller text, wider line */
.entry-content .wp-block-quote:has(.wp-block-buttons) p {
    font-size: var(--fs-body);
    line-height: 1.6;
		margin-top: var(--sp-5);
    max-width: 100ch;
}

.entry-content .wp-block-quote:has(.wp-block-buttons) p + p {
    color: var(--air-body);
}
