/*!
Theme Name: Anew IOP
Author: Geeks360 (Anatoly)
Author URI: https://geeks360.net/
Description: The custom theme for Anew IOP
Version: 1.0.34
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: anew-iop
Tags: geeks360, custom theme, custom design
*/

/* inter-tight-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/anew-iop/assets/fonts/inter-tight-v9-latin-regular.woff2') format('woff2');
}
/* inter-tight-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/themes/anew-iop/assets/fonts/inter-tight-v9-latin-700.woff2') format('woff2');
}
/* inter-tight-900 - latin */
@font-face {
  font-display: swap;
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  src: url('/wp-content/themes/anew-iop/assets/fonts/inter-tight-v9-latin-900.woff2') format('woff2');
}

*,
*::before,
*::after { box-sizing: border-box; }

img, picture, video, canvas, svg {
    display: block;
}

a{
    text-decoration: none;
}

input, button, textarea, select { font: inherit; }

html, body {
    font-size: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
}

/*---- Global Styles -----*/
.site-container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Blocks carry their own container for plain pages; inside a column that already
   has one it must not add a second width limit or inset. */
.site-container .site-container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

:root {
    /* Colors */
    /* Accessible brand orange: 5.59:1 against white. */
    --color-orange: #A45100;
    /* Lighter orange reserved for accents displayed on the blue footer. */
    --color-orange-on-blue: #F3B36D;
    --color-blue: #004684;

    --color-text-primary: #212121;
    --color-text-white: #ffffff;

    --color-bg-white: #FFFCF9;
    --color-bg-dark: #FFF8F1;

    /* Typography */
    --font-family-base: 'Inter Tight', sans-serif;

    --fs-h1: 65px;
    --fs-h2: 35px;
    --fs-h4: 25px;
    --fs-h6: 18px;

    --fs-subtitle: 18px;
    --fs-primary: 16px;

    --fs-btn: 20px;

    /* Font Weight */
    --fw-regular: 400;
    --fw-semibold: 700;
    --fw-bold: 700;

    /* Padding */
    --sec-pad: 80px 0;

    /* Radius */
    --radius-primary: 14px;

    /* Motion */
    --transition-fast: 0.2s ease;
}

body{
    font-family: var(--font-family-base);
    font-weight: var(--fw-regular);
    font-size: var(--fs-primary);
}

/* Sticky footer: keeps .site-footer pinned to the bottom of the viewport on
   short pages (e.g. /thank-you/) instead of floating mid-screen. Fixed-
   position children (WP admin bar, .popup-form) and display:none children
   (script tags) are excluded from flex layout, so they are unaffected. */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-main {
    flex: 1 0 auto;
}

.site-footer {
    flex-shrink: 0;
}

h1.glodal-h1{
    font-weight: var(--fw-semibold);
    font-size: var(--fs-h1);
    color: var(--color-text-white);
    margin: 0 0 16px 0;
    line-height: 1.0;
}

h2.global-h2{
    font-weight: var(--fw-bold);
    font-size: var(--fs-h2);
    color: var(--color-text-primary);
    margin: 0 0 20px 0;
}

.section-subtitle{
    margin-bottom: 16px;
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
}
/*---- Global Styles End -----*/

/* Top Bar */
.top-bar {
    background-color: #F4F9F9;
    padding: 12px 0;
    text-align: center;
}

.top-bar__text {
    margin: 0;
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
}

.top-bar__phone {
    color: var(--color-blue);
    font-weight: var(--fw-semibold);
    margin-left: 4px;
    transition: color var(--transition-fast);
}

.top-bar__phone:hover {
    color: var(--color-orange);
}

/* Site Header */
.site-header {
    background-color: #fff;
    padding: 20px 0;
}

/* Pinned to the top once the top-bar scrolls out of view (toggled in main.js).
   The top-bar itself always stays static. */
.site-header--fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    box-shadow: 0 4px 16px rgba(0, 70, 132, 0.08);
}

.site-header > .site-container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 40px;
}

.site-header__logo {
    flex-shrink: 0;
    display: inline-flex;
}

.site-header__logo img {
    max-height: 60px;
    width: auto;
}

.site-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.site-header__cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background-color: var(--color-orange);
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    border-radius: 3px;
    transition: background-color var(--transition-fast);
}

.site-header__cta:hover {
    background-color: var(--color-blue);
}

/* Main Menu */
.main-menu {
    display: flex;
    align-items: center;
    gap: 14px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-menu li {
    position: relative;
}

/* Top-level parent items drop their positioning context so the level-2
   sub-menu can span the container (90%) instead of the narrow parent <li> —
   keeps long item labels on one line. Scoped to direct children of
   .main-menu only: nested (level-2) parents like "Drug Addiction" keep
   position:relative so their level-3 flyout can anchor to them instead.
   Desktop only; the mobile query below makes sub-menus inline. */
.main-menu > li.menu-item-has-children {
    position: static;
}

.main-menu > li > a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    color: var(--color-blue);
    font-weight: var(--fw-regular);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: color var(--transition-fast);
}

.main-menu > li > a:hover {
    color: var(--color-orange);
}

.main-menu > li.menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 6px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}

.main-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 5%;
    width: 90%;
    min-width: 0;
    margin: 0;
    padding: 12px 0;
    list-style: none;
    background-color: var(--color-bg-white);
    border-radius: var(--radius-primary);
    box-shadow: 0 8px 24px rgba(0, 70, 132, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);
    /* Delay the HIDE so crossing the gap between the item and the panel doesn't
       flicker it closed; the OPEN below overrides this back to 0s (instant). */
    transition-delay: 0.25s;
    z-index: 100;
}

.main-menu li:hover > .sub-menu,
.main-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

/* When the pointer moves to another top-level item, close every sibling panel
   immediately. Keyboard-only focus remains supported when there is no hover. */
@media (min-width: 992px) {
    .main-menu:hover > li:not(:hover) > .sub-menu {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
        transition: none;
    }
}

.main-menu .sub-menu a {
    display: block;
    padding: 10px 20px;
    color: var(--color-blue);
    font-weight: var(--fw-regular);
    transition: color var(--transition-fast), background-color var(--transition-fast);
}

.main-menu .sub-menu a:hover {
    color: var(--color-orange);
    background-color: var(--color-bg-dark);
}

/* Resources contains only Blog and FAQ, so keep its desktop dropdown compact
   and anchored beneath the parent while preserving the shared menu styling. */
@media (min-width: 1025px) {
    #menu-item-872 {
        position: relative;
    }

    #menu-item-872 > .sub-menu {
        left: 50%;
        width: 220px;
        min-width: 220px;
        transform: translate(-50%, 8px);
    }

    #menu-item-872:hover > .sub-menu,
    #menu-item-872:focus-within > .sub-menu {
        transform: translate(-50%, 0);
    }

    .main-menu:hover > #menu-item-872:not(:hover) > .sub-menu {
        transform: translate(-50%, 8px);
    }
}

/* Level-3 flyout (e.g. Treatment Programs > What We Treat > Drug Addiction).
   Nested li keeps position:relative (see the > li.menu-item-has-children
   scoping above), so this ul anchors to it directly instead of spanning
   the container like the level-2 sub-menu does. */
.main-menu .sub-menu .sub-menu {
    top: -12px;
    left: 100%;
    width: 260px;
}

/* Keep level-3 flyouts inside the wide level-2 panel. Limiting only their
   parent item preserves the full-width hover area for ordinary menu links. */
.main-menu > li > .sub-menu > li.menu-item-has-children {
    width: 260px;
}

/* Right-pointing indicator on level-2 items that open a level-3 flyout,
   instead of the level-1 down-caret. */
.main-menu .sub-menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.main-menu .sub-menu .menu-item-has-children > a::after {
    content: "";
    flex-shrink: 0;
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid currentColor;
}

/* Non-interactive group headings inside a dropdown (e.g. "Therapy Methods",
   "After Program" under Treatment Programs). */
.main-menu .sub-menu .menu-group-label > a {
    pointer-events: none;
    cursor: default;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9a9a9a;
}

/* Treatment Programs uses three semantic menu columns. Column membership is
   stored on the WordPress menu items so labels and links remain editable. */
#menu-item-19 > .sub-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    column-gap: 32px;
    row-gap: 0;
    padding: 24px 28px 30px;
}

#menu-item-19 > .sub-menu > li {
    min-width: 0;
}

#menu-item-19 > .sub-menu > .menu-column-programs {
    grid-column: 1;
}

#menu-item-19 > .sub-menu > .menu-column-therapy {
    grid-column: 2;
}

#menu-item-19 > .sub-menu > .menu-column-after {
    grid-column: 3;
}

#menu-item-19 > .sub-menu > .menu-row-1 {
    grid-row: 1;
}

#menu-item-19 > .sub-menu > .menu-row-2 {
    grid-row: 2;
}

#menu-item-19 > .sub-menu > .menu-row-3 {
    grid-row: 3;
}

#menu-item-19 > .sub-menu > .menu-row-4 {
    grid-row: 4;
}

#menu-item-19 > .sub-menu > .menu-row-5 {
    grid-row: 5;
}

/* What We Treat mirrors the Treatment Programs dropdown presentation:
   Drug Addiction and its types in column one, other conditions in column two. */
#menu-item-20 > .sub-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    column-gap: 32px;
    row-gap: 0;
    padding: 24px 28px 30px;
}

#menu-item-20 > .sub-menu > li {
    min-width: 0;
}

#menu-item-20 > .sub-menu > .menu-column-treat-main {
    grid-column: 2;
}

#menu-item-20 > .sub-menu > .menu-column-treat-drugs {
    grid-column: 1;
}

#menu-item-20 > .sub-menu > .menu-row-1 {
    grid-row: 1;
}

#menu-item-20 > .sub-menu > .menu-row-2 {
    grid-row: 2;
}

#menu-item-20 > .sub-menu > .menu-row-3 {
    grid-row: 3;
}

#menu-item-20 > .sub-menu > .menu-row-4 {
    grid-row: 4;
}

#menu-item-20 > .sub-menu > .menu-row-5 {
    grid-row: 5;
}

#menu-item-20 > .sub-menu > .menu-row-6 {
    grid-row: 6;
}

/* Hero */
.block-hero {
    position: relative;
    overflow: hidden;
    padding: 100px 0 120px;
    color: var(--color-text-white);
}

.block-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.block-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: linear-gradient(90deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.1) 100%); */
    z-index: 1;
}

.block-hero > .site-container {
    position: relative;
    z-index: 2;
}

.block-hero__content {
    max-width: 750px;
}

.block-hero .section-subtitle {
    color: var(--color-text-white);
}

.block-hero .glodal-h1 {
    margin: 0 0 24px;
}

.block-hero__description {
    font-size: var(--fs-subtitle);
    line-height: 1.5;
    margin: 0 0 40px;
    max-width: 480px;
}

.block-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 16px;
}
.block-hero__actions-btns a:first-child{
    margin-right: 16px;
}
.block-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 3px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-btn);
    transition: opacity var(--transition-fast);
}

.block-hero__btn:hover {
    opacity: 0.9;
}

.block-hero__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.block-hero__btn--secondary {
    background-color: #F8EEE5;
    color: var(--color-text-primary);
}

.block-hero__btn-icon img {
    width: 20px;
    height: 20px;
}

.block-hero__as-seen {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    margin-bottom: 30px;
}

.block-hero__as-seen img {
    height: 28px;
    width: auto;
}

.block-hero__features {
    font-size: 15px;
    margin: 14px 0 0 0;
    width: 100%;
    text-align: center;
}

/* What Is */
.block-what-is {
    background-color: var(--color-bg-white);
    padding: var(--sec-pad);
}

.block-what-is__points {
    list-style: none;
    margin: 0 0 60px 0;
    padding: 0 0 40px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    position: relative;
}

.block-what-is__point {
    display: flex;
    align-items: center;
    gap: 16px;
    border-right: 1px solid #D3D1CE;
    width: 33.33%;
    padding: 6px 60px;
}
.block-what-is__points .block-what-is__point:first-child{
    padding-left: 0;
}
.block-what-is__points .block-what-is__point:last-child{
    padding-right: 0;
    border-right: none;
}

.block-what-is__point-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--color-bg-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.block-what-is__point-icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.block-what-is__point-title {
    margin: 0 0 4px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
}

.block-what-is__point-text {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.7;
}

.block-what-is__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.block-what-is__image {
    border-radius: var(--radius-primary);
    overflow: hidden;
}

.block-what-is__image img,
.block-what-is__image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-what-is .section-subtitle {
    color: var(--color-blue);
}

.block-what-is__content .global-h2 {
    margin: 0 0 24px 0;
}

.block-what-is__text {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
    margin-bottom: 32px;
}

.block-what-is__text p {
    margin: 0 0 16px 0;
}

.block-what-is__text p:last-child {
    margin-bottom: 0;
}

.block-what-is__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 32px;
}

@media (max-width: 900px) {
    .block-what-is__points {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .block-what-is__main {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* What's Included */
.block-included {
    background-color: var(--color-bg-white);
    padding: var(--sec-pad);
}

.block-included__head {
    margin-bottom: 40px;
    max-width: 720px;
}

.block-included__head .global-h2 {
    margin: 0 0 12px 0;
}

.block-included__description {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
}

.block-included__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.block-included__points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.block-included__point {
    background-color: var(--color-bg-white);
    border: 2px solid rgba(199, 113, 36, 0.12);
    border-radius: var(--radius-primary);
    padding: 20px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.block-included__point:hover,
.block-included__point.is-active {
    border-color: var(--color-blue);
    box-shadow: 0 0 0 1px var(--color-blue);
}

.block-included__point-icon {
    flex-shrink: 0;
    color: var(--color-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.block-included__point-icon svg {
    display: block;
}

.block-included__point-content {
    flex: 1;
    min-width: 0;
}

.block-included__point-title {
    margin: 0 0 8px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
    line-height: 1.3;
}

.block-included__point-text {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.75;
    line-height: 1.5;
}

.block-included__image {
    border-radius: var(--radius-primary);
    overflow: hidden;
    height: 100%;
    min-height: 400px;
}

.block-included__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* No-image variant — points span the full row width */
.block-included__main--no-image {
    grid-template-columns: 1fr;
}

.block-included__main--no-image .block-included__points {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
    .block-included__main {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .block-included__points,
    .block-included__main--no-image .block-included__points {
        grid-template-columns: 1fr;
    }

    .block-included__image {
        min-height: 300px;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .block-included__main--no-image .block-included__points {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Conditions We Treat */
.block-conditions {
    background-color: var(--color-blue);
    padding: var(--sec-pad);
    color: var(--color-text-white);
}

.block-conditions__head {
    max-width: 820px;
    margin-bottom: 40px;
}

.block-conditions .section-subtitle {
    color: var(--color-text-white);
}

.block-conditions .global-h2 {
    color: var(--color-text-white);
    font-size: 40px;
    margin: 0 0 16px 0;
}

.block-conditions__description {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-white);
    opacity: 0.9;
}

.block-conditions__cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.block-conditions__card {
    min-height: 340px;
    background-color: rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-primary);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.block-conditions__card:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

.block-conditions__card-image {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.block-conditions__card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-conditions__card-content {
    padding: 0 20px 36px;
}

.block-conditions__card-title {
    margin: 0 0 12px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-text-white);
    line-height: 1.3;
}

.block-conditions__card-text {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-white);
    opacity: 0.85;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .block-conditions__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .block-conditions__cards {
        grid-template-columns: 1fr;
    }

    .block-conditions .global-h2 {
        font-size: var(--fs-h2);
    }
}

/* Meet Doctor */
.block-doctor {
    background-color: var(--color-bg-dark);
    padding: var(--sec-pad);
}

.block-doctor__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.block-doctor__image {
    border-radius: var(--radius-primary);
    overflow: hidden;
    background-color: #e6e6e6;
    aspect-ratio: 1 / 1;
}

.block-doctor__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-doctor__content .section-subtitle {
    color: var(--color-blue);
    margin-bottom: 12px;
}

.block-doctor__content .global-h2 {
    margin: 0 0 12px 0;
}

.block-doctor__description {
    margin: 0 0 24px 0;
    color: var(--color-orange);
    font-weight: var(--fw-semibold);
    font-size: var(--fs-primary);
}

.block-doctor__text {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-doctor__text p {
    margin: 0 0 16px 0;
}

.block-doctor__text p:last-child {
    margin-bottom: 0;
}

.block-doctor__text img {
    display: inline-block;
    vertical-align: middle;
    max-height: 22px;
    width: auto;
}

.block-doctor-featured{
    display: flex;
    align-items: flex-end;
    margin-top: 30px;
}
.block-doctor-featured img{
    margin: 0 10px;
}

@media (max-width: 900px) {
    .block-doctor__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .block-doctor__image {
        aspect-ratio: 4 / 3;
    }
}

/* How It Works */
.block-how {
    background-color: var(--color-bg-dark);
    padding: var(--sec-pad);
}

.block-how__head {
    margin-bottom: 50px;
}

.block-how__head .section-subtitle {
    color: var(--color-blue);
}

.block-how__head .global-h2 {
    margin: 0;
}

.block-how__columns {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.block-how__column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 33.33%;
    padding: 6px 60px;
    border-right: 1px solid #D3D1CE;
}

.block-how__columns .block-how__column:first-child {
    padding-left: 0;
}

.block-how__columns .block-how__column:last-child {
    padding-right: 0;
    border-right: none;
}

.block-how__column-icon {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    background-color: var(--color-bg-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.block-how__column-icon img {
    width: 100%;
}

.block-how__column-title {
    margin: 0 0 12px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
}

.block-how__column-text {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.75;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .block-how__columns {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
    }

    .block-how__column {
        width: 100%;
        padding: 0;
        border-right: none;
    }

    .block-how__columns .block-how__column:not(:last-child) {
        padding-bottom: 32px;
        border-bottom: 1px solid #D3D1CE;
    }
}

/* CTA Section */
.block-cta-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
    text-align: center;
    color: var(--color-text-white);
}

.block-cta-section__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.block-cta-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.block-cta-section > .site-container {
    position: relative;
    z-index: 2;
}

.block-cta-section__title {
    font-weight: var(--fw-bold);
    font-size: var(--fs-h2);
    color: var(--color-text-white);
    margin: 0 0 16px 0;
}

.block-cta-section__description {
    margin: 0 auto 32px;
    font-size: var(--fs-subtitle);
    color: var(--color-text-white);
    opacity: 0.9;
    max-width: 620px;
}

.block-cta-section__support {
    margin: 22px auto 0;
    max-width: 680px;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    line-height: 1.5;
    opacity: 0.9;
}

.block-cta-section__buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}

.block-cta-section__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 3px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-btn);
    transition: opacity var(--transition-fast);
}

.block-cta-section__btn:hover {
    opacity: 0.9;
}

.block-cta-section__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.block-cta-section__btn--secondary {
    background-color: #F8EEE5;
    color: var(--color-text-primary);
}

.block-cta-section__btn-icon img {
    width: 20px;
    height: 20px;
}

/* ==========================================================================
   BLOCK-PROGRAM-SLIDER
   ========================================================================== */

.block-program-slider {
    background-color: var(--color-bg-dark);
    padding: var(--sec-pad);
}

.block-program-slider h2{
    margin-bottom: 50px;
}

.block-program-slider__subtitle {
    color: var(--color-blue);
}

.block-program-slider__title {
    margin: 0 0 40px 0;
}

.block-program-slider__wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.block-program-slider__viewport {
    overflow: hidden;
    width: 100%;
}

.block-program-slider__track {
    display: flex;
    gap: 24px;
}

.block-program-slider__slide {
    flex-shrink: 0;
}

.block-program-slider__slide-image {
    border-radius: var(--radius-primary);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    margin-bottom: 16px;
}

.block-program-slider__slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-program-slider__slide-title {
    margin: 0 0 8px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
}

.block-program-slider__slide-text {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.75;
    line-height: 1.5;
}

.block-program-slider__nav {
    position: absolute;
    top: 90px;
    /* transform: translateY(-50%); */
    z-index: 2;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--color-orange);
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color var(--transition-fast);
}

.block-program-slider__nav:hover {
    background-color: var(--color-blue);
}

/* .block-program-slider__nav img {
    width: 16px;
    height: 16px;
}  */

.block-program-slider__nav--prev {
    /*
     * Keep the arrow visually outside the cards without letting it escape
     * the viewport on desktop widths where the content gutter is under 50px.
     */
    left: max(-50px, calc((100vw - 100%) / -2 + 8px));
}

.block-program-slider__nav--next {
    right: max(-50px, calc((100vw - 100%) / -2 + 8px));
}

@media (max-width: 1023px) {
    .block-program-slider__nav--prev {
        left: -10px;
    }

    .block-program-slider__nav--next {
        right: -10px;
    }
}

@media (max-width: 479px) {
    .block-program-slider__nav {
        width: 32px;
        height: 32px;
    }

    /* .block-program-slider__nav img {
        width: 12px;
        height: 12px;
    } */

    .block-program-slider__nav--prev {
        left: -6px;
    }

    .block-program-slider__nav--next {
        right: -6px;
    }
}

/* ==========================================================================
   BLOCK-SUCCESS-STORIES
   ========================================================================== */

.block-success-stories {
    background-color: #F8EEE5;
    padding: var(--sec-pad);
}

.block-success-stories__subtitle {
    color: var(--color-text-primary);
}

.block-success-stories__title {
    margin: 0 0 40px 0;
}

.block-success-stories__cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.block-success-stories__card {
    background-color: #E8EDF2;
    border-radius: var(--radius-primary);
    padding: 32px;
    display: flex;
    flex-direction: column;
}

.block-success-stories__quote-icon {
    width: 32px;
    height: auto;
    margin-bottom: 20px;
}

.block-success-stories__card-text {
    margin: 0 0 24px 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    line-height: 1.6;
    flex: 1;
}

.block-success-stories__card-author {
    margin: 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    color: var(--color-blue);
}

@media (max-width: 900px) {
    .block-success-stories__cards {
        grid-template-columns: 1fr;
        max-width: 500px;
    }
}

/* ==========================================================================
   BLOCK-INSURANCE-LOGOS
   ========================================================================== */

.block-insurance-logos {
    padding: var(--sec-pad);
}

.block-insurance-logos__card {
    background-color: #F4F8FB;
    border-radius: 20px;
    padding: 50px 30px;
    border: 1px solid transparent;
    background-image:
        linear-gradient(#F4F8FB, #F4F8FB),
        linear-gradient(to right, var(--color-blue), var(--color-orange));
    background-origin: border-box;
    background-clip: padding-box, border-box;
}

.block-insurance-logos__head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 32px;
}

.block-insurance-logos__head .section-subtitle {
    color: var(--color-text-primary);
}

.block-insurance-logos__head .global-h2 {
    margin-bottom: 12px;
}

.block-insurance-logos__description {
    margin: 0;
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
}

.block-insurance-logos__list {
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.block-insurance-logos__item {
    position: relative;
    background-color: var(--color-text-white);
    border: 1px solid #E5E9EE;
    border-radius: 10px;
    min-height: 70px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
    cursor: pointer;
}

.block-insurance-logos__list .block-insurance-logos__item:first-child{
    background: #004684;
}

.block-insurance-logos__item.is-hidden {
    display: none;
}

.block-insurance-logos__logo {
    max-width: 100%;
    max-height: 40px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: filter var(--transition-fast);
}

.block-insurance-logos__check {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: var(--color-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity var(--transition-fast), transform var(--transition-fast);
    pointer-events: none;
}

.block-insurance-logos__check img {
    width: 12px;
    height: 12px;
}

.block-insurance-logos__item:hover {
    border-color: var(--color-blue);
}

.block-insurance-logos__item:hover .block-insurance-logos__check {
    opacity: 1;
    transform: scale(1);
}

/* ==========================================================================
   BLOCK-GET-HELP
   ========================================================================== */

.block-get-help {
    position: relative;
    padding: var(--sec-pad);
    overflow: hidden;
}

.block-get-help__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.block-get-help__inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 480px;
    margin: 0 auto;
}

.block-get-help__subtitle {
    color: var(--color-text-white);
}

.block-get-help__title {
    margin: 0 0 16px 0;
    font-size: 48px;
    font-weight: var(--fw-bold);
    line-height: 1.1;
    color: var(--color-text-white);
}

.block-get-help__description {
    margin: 0;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    line-height: 1.6;
}

.block-get-help__card {
    background-color: var(--color-text-white);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.block-get-help__phone-bar {
    padding: 16px 24px;
    text-align: center;
    background-color: #FBEADC;
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
}

.block-get-help__phone-link {
    color: var(--color-text-primary);
    font-weight: var(--fw-semibold);
    text-decoration: underline;
    margin-left: 4px;
    transition: color var(--transition-fast);
}

.block-get-help__phone-link:hover {
    color: var(--color-orange);
}

.block-get-help__form {
    padding: 28px 24px;
}

.block-get-help__form-title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    color: var(--color-text-primary);
}

.block-get-help__form-bottom {
    margin: 16px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    color: #212121;
}

.block-get-help__lock {
    flex-shrink: 0;
    color: #6B6B6B;
}

@media (min-width: 768px) {
    .block-get-help__inner {
        /* max-width: 420px; */
        margin: 0;
    }
}

/* --- Get Help: Formidable form --- */
.block-get-help__form-fields .frm_fields_container,
.block-get-help__form-fields .frm_form_fields {
    margin: 0;
    padding: 0;
    border: none;
}

.block-get-help__form-fields .frm_fields_container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.block-get-help__form-fields .frm_form_field {
    position: relative;
    margin: 0;
    padding: 0;
}

/* Labels are visually hidden — placeholders carry the field name in the design */
.block-get-help__form-fields .frm_primary_label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.block-get-help__form-fields input[type="text"],
.block-get-help__form-fields input[type="tel"],
.block-get-help__form-fields input[type="email"],
.block-get-help__form-fields textarea {
    width: 100%;
    padding: 20px 52px 20px 24px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    background-color: var(--color-text-white);
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
    line-height: 1.4;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.block-get-help__form-fields textarea {
    padding-right: 24px;
    min-height: 150px;
    resize: vertical;
}

.block-get-help__form-fields input::placeholder,
.block-get-help__form-fields textarea::placeholder {
    color: var(--color-text-primary);
    opacity: 1;
}

.block-get-help__form-fields input:focus,
.block-get-help__form-fields textarea:focus {
    outline: none;
    border-color: var(--color-blue);
    box-shadow: 0 0 0 1px var(--color-blue);
}

/* Field icons — absolutely positioned pseudo-elements scoped to each field container */
#frm_field_8_container::after,
#frm_field_9_container::after,
#frm_field_28_container::after,
#frm_field_4_container::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

#frm_field_8_container::after {
    background-image: url('/wp-content/themes/anew-iop/assets/images/full-name-form-icon.svg');
}

#frm_field_9_container::after {
    background-image: url('/wp-content/themes/anew-iop/assets/images/phone-form-icon.svg');
}

#frm_field_4_container::after {
    background-image: url('/wp-content/themes/anew-iop/assets/images/insurance-form-icon.svg');
}

#frm_field_28_container::after {
    background-image: url('/wp-content/themes/anew-iop/assets/images/email-form-icon.svg');
}

/* Validation errors — small + red, mirrors the insurance-form treatment */
.block-get-help__form-fields .frm_blank_field input,
.block-get-help__form-fields .frm_blank_field textarea {
    border-color: #D64545;
}

.block-get-help__form-fields .frm_error {
    margin-top: 6px;
    font-size: 13px;
    color: #D64545;
}

.block-get-help .frm_error_style {
    margin-bottom: 12px;
    font-size: 13px;
    color: #D64545;
}

/* Honeypot anti-spam field stays in the DOM but out of view */
/* #frm_field_10_container {
    position: absolute;
    left: -9999px;
} */

/* Submit — orange primary CTA (tnp-buttons Variant 1), full width */
.block-get-help__form-fields .frm_submit {
    margin: 8px 0 0 0;
    padding: 0;
}

.block-get-help__form-fields .frm_button_submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 32px;
    border: none;
    border-radius: 8px;
    background-color: var(--color-orange);
    color: var(--color-text-white);
    font-size: var(--fs-btn);
    /* font-weight: var(--fw-semibold); */
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.block-get-help__form-fields .frm_button_submit::before {
    content: "";
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: url('/wp-content/themes/anew-iop/assets/images/left-btn-icon.svg') no-repeat center / contain;
}

.block-get-help__form-fields .frm_button_submit:hover {
    background-color: var(--color-blue);
}

.block-insurance-logos__item--more {
    cursor: default;
    padding: 0;
}

.block-insurance-logos__item--more:hover {
    background-color: var(--color-text-white);
    border-color: #E5E9EE;
}

.block-insurance-logos__more {
    width: 100%;
    height: 100%;
    min-height: 70px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-orange);
    font-family: var(--font-family-base);
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    padding: 12px 16px;
    transition: color var(--transition-fast);
}

.block-insurance-logos__more:hover {
    color: var(--color-blue);
}

.block-insurance-logos__actions {
    display: flex;
    justify-content: center;
}

.block-insurance-logos__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    border-radius: 6px;
    font-size: var(--fs-btn);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast);
}

.block-insurance-logos__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.block-insurance-logos__btn--primary:hover {
    background-color: var(--color-blue);
}

.block-insurance-logos__btn-icon img {
    width: 20px;
    height: 20px;
}

@media (min-width: 600px) {
    .block-insurance-logos__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 900px) {
    .block-insurance-logos__card {
        padding: 60px 80px;
    }

    .block-insurance-logos__list {
        grid-template-columns: repeat(6, 1fr);
        gap: 16px;
    }
}

.block-get-help__form-fields fieldset{
    border: none;
    padding: 0;
    margin: 0;
}

/* ==========================================================================
   SITE FOOTER
   ========================================================================== */

.site-footer {
    background-color: var(--color-blue);
    color: var(--color-text-white);
    padding: 60px 0 32px;
}

.site-footer__top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 40px;
}

.site-footer__logo {
    display: inline-flex;
    margin-bottom: 20px;
}

.site-footer__logo img {
    max-height: 48px;
    width: auto;
}

.site-footer__text {
    margin: 0;
    max-width: 320px;
    font-size: var(--fs-primary);
    line-height: 1.6;
}

.site-footer__col-title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    color: var(--color-orange-on-blue);
}

.site-footer__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.site-footer__menu a {
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    transition: color var(--transition-fast);
}

.site-footer__menu a:hover {
    color: var(--color-orange-on-blue);
}

.site-footer__contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--fs-primary);
}

.site-footer__contact-icon {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--color-orange-on-blue);
}

.site-footer__bottom {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    text-align: center;
}

.site-footer__copyright {
    margin: 0;
    font-size: var(--fs-primary);
}

/* Keep the linked agency credit consistent with the surrounding footer text. */
.site-footer__copyright a {
    color: inherit;
}

/* ==========================================================================
   BLOCK-TREATMENT-SINGLE
   ========================================================================== */

/* Breadcrumbs — full-width orange bar */
.block-treatment-single__breadcrumbs-bar {
    background-color: var(--color-orange);
}

.block-treatment-single__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.block-treatment-single__crumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-white);
    transition: opacity var(--transition-fast);
}

.block-treatment-single__crumb[href]:hover {
    opacity: 0.8;
}

.block-treatment-single__crumb-home {
    font-size: 18px;
    line-height: 1;
}

.block-treatment-single__crumb-sep {
    opacity: 0.7;
}

.block-treatment-single__crumb--current {
    opacity: 0.65;
}

/* Two-column layout */
.block-treatment-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 40px;
    align-items: start;
    padding: 50px 0 80px;
}

/* Main column */
.block-treatment-single__title {
    margin: 0 0 28px 0;
    font-size: 36px;
    font-weight: var(--fw-semibold);
    line-height: 1.05;
    color: var(--color-blue);
}

.block-treatment-single__image {
    width: 100%;
    height: auto;
    border-radius: var(--radius-primary);
    margin-bottom: 28px;
}

.block-treatment-single__description {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-primary);
}

/* Sidebar — sticky within the container.
   Offset = fixed header height (94px) + 20px gap, so once the header pins on
   scroll it clears the sidebar instead of overlapping it. */
.block-treatment-single__sidebar {
    position: sticky;
    top: 114px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* CTA card */
.block-treatment-single__cta {
    background-color: var(--color-blue);
    background-image: url('/wp-content/themes/anew-iop/assets/images/a.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 90%;
    border-radius: var(--radius-primary);
    padding: 32px;
    color: var(--color-text-white);
}

.block-treatment-single__cta-title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.2;
}

.block-treatment-single__cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px 24px;
    margin-bottom: 12px;
    border-radius: 8px;
    background-color: var(--color-orange);
    color: var(--color-text-white);
    font-size: var(--fs-btn);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast);
}

.block-treatment-single__cta-phone:hover {
    background-color: #a95d18;
}

.block-treatment-single__cta-verify {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    padding: 16px 24px;
    border-radius: 8px;
    background-color: var(--color-bg-dark);
    color: var(--color-text-primary);
    font-size: var(--fs-btn);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast);
}

.block-treatment-single__cta-verify:hover {
    background-color: var(--color-text-white);
}

.block-treatment-single__cta-verify-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--color-orange);
}

/* Programs list card */
.block-treatment-single__programs {
    background-color: #FFF8F2;
    border-radius: var(--radius-primary);
    padding: 28px 32px;
}

.block-treatment-single__programs-title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-blue);
}

.block-treatment-single__programs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.block-treatment-single__programs-link {
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
    line-height: 1.4;
    transition: color var(--transition-fast);
}

.block-treatment-single__programs-link:hover,
.block-treatment-single__programs-link--active {
    color: var(--color-orange);
    font-weight: var(--fw-semibold);
}

/* ==========================================================================
   BLOCK-MEDICALLY-REVIEWED
   ========================================================================== */

.block-medically-reviewed {
    margin: 24px 0;
}

.block-medically-reviewed__card {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    padding: 20px;
    background-color: var(--color-text-white);
    border: 1px solid #E5E9EE;
    border-radius: var(--radius-primary);
    box-shadow: 0 4px 16px rgba(0, 70, 132, 0.06);
}

.block-medically-reviewed__avatar {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}

.block-medically-reviewed__avatar--placeholder {
    display: inline-block;
    background-color: #D9D9D9;
}

.block-medically-reviewed__meta {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 2px;
}

.block-medically-reviewed__label {
    font-size: 16px;
    font-weight: var(--fw-bold);
    color: var(--color-text-primary);
}

.block-medically-reviewed__date {
    font-size: var(--fs-primary);
    color: #6B7280;
    white-space: nowrap;
}

.block-medically-reviewed__doctor {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border: 1px solid var(--color-blue);
    border-radius: 999px;
    color: var(--color-blue);
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.block-medically-reviewed__doctor:hover {
    background-color: var(--color-blue);
    color: var(--color-text-white);
}

.block-medically-reviewed__doctor-icon {
    display: inline-flex;
    flex-shrink: 0;
}

.block-medically-reviewed__doctor-name {
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
}

.block-medically-reviewed__right-text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 16px;
    line-height: 1.35;
    color: var(--color-text-primary);
    white-space: nowrap;
}

/* ==========================================================================
   BLOCK-KEY-TAKEAWAYS
   ========================================================================== */

.block-key-takeaways {
    margin: 32px 0;
}

.block-key-takeaways__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.1;
    color: var(--color-blue);
}

.block-key-takeaways__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.block-key-takeaways__card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 28px;
    /* background-color: var(--color-bg-dark); */
    border: 1px solid #E5E9EE;
    border-radius: var(--radius-primary);
}

.block-key-takeaways__icon {
    flex-shrink: 0;
    display: inline-flex;
    margin-top: 2px;
}

.block-key-takeaways__icon img {
    width: 24px;
    height: 24px;
}

.block-key-takeaways__card-title {
    margin: 0 0 8px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-key-takeaways__card-text {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
}

@media (min-width: 768px) {
    .block-key-takeaways__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================================================
   BLOCK-TEXT-CONTENT
   ========================================================================== */

.block-text-content {
    margin: 32px 0;
}

.block-text-content__body {
    font-size: var(--fs-subtitle);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-text-content__body h2,
.block-text-content__body h3,
.block-text-content__body h4 {
    margin: 0 0 20px 0;
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-blue);
}

.block-text-content__body h2 {
    font-size: var(--fs-h2);
}

.block-text-content__body h3 {
    font-size: var(--fs-h4);
}

.block-text-content__body h4 {
    font-size: var(--fs-h6);
}

.block-text-content__body p {
    margin: 0 0 20px 0;
}

.block-text-content__body ul,
.block-text-content__body ol {
    margin: 0 0 20px 0;
    padding-left: 22px;
}

.block-text-content__body ul {
    list-style: disc;
}

.block-text-content__body li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.block-text-content__body a {
    color: var(--color-orange);
    text-decoration: underline;
    transition: color var(--transition-fast);
}

.block-text-content__body a:hover {
    color: var(--color-blue);
}

.block-text-content__body > *:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   BLOCK-PROGRAM-SHEDULE
   ========================================================================== */

.block-program-shedule {
    margin: 32px 0;
}

.block-program-shedule__card {
    padding: 40px;
    background-color: var(--color-bg-dark);
    border-radius: var(--radius-primary);
}

.block-program-shedule__title {
    margin: 0 0 28px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.1;
    color: var(--color-blue);
}

.block-program-shedule__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.block-program-shedule__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 18px 0;
    border-bottom: 1px solid #E7DFD5;
}

.block-program-shedule__day {
    font-weight: var(--fw-bold);
    color: var(--color-text-primary);
}

.block-program-shedule__description {
    color: var(--color-text-primary);
}

@media (min-width: 600px) {
    .block-program-shedule__row {
        grid-template-columns: minmax(140px, 220px) 1fr;
        gap: 24px;
        align-items: baseline;
    }
}

/* ==========================================================================
   BLOCK-PROGRAM-FAQS
   ========================================================================== */

.block-program-faqs {
    margin: 32px 0;
}

.block-program-faqs__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-blue);
}

.block-program-faqs__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.block-program-faqs__item {
    border-bottom: 1px solid #E5E9EE;
}

.block-program-faqs__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 20px 0;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
}

.block-program-faqs__question-text {
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-orange);
    transition: color var(--transition-fast);
}

.block-program-faqs__question:hover .block-program-faqs__question-text {
    color: var(--color-blue);
}

/* Plus / minus icon drawn with two bars — vertical bar hides when open */
.block-program-faqs__icon {
    position: relative;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
}

.block-program-faqs__icon::before,
.block-program-faqs__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--color-text-primary);
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.block-program-faqs__icon::before {
    width: 18px;
    height: 2px;
    transform: translate(-50%, -50%);
}

.block-program-faqs__icon::after {
    width: 2px;
    height: 18px;
    transform: translate(-50%, -50%);
}

.block-program-faqs__item.is-open .block-program-faqs__icon::after {
    opacity: 0;
}

.block-program-faqs__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-fast);
}

.block-program-faqs__answer-inner {
    padding: 0 0 20px 0;
}

.block-program-faqs__answer-text {
    margin: 0;
    font-size: var(--fs-subtitle);
    line-height: 1.5;
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-ABOUT-CONTRIBUTOR
   ========================================================================== */

.block-about-contributor {
    margin: 32px 0;
}

.block-about-contributor__card {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    padding: 40px;
    background-color: var(--color-text-white);
    border-radius: var(--radius-primary);
    box-shadow: 0 8px 30px rgba(0, 70, 132, 0.08);
}

.block-about-contributor__avatar {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
}

.block-about-contributor__avatar--placeholder {
    display: inline-block;
    background-color: #D9D9D9;
}

.block-about-contributor__content {
    flex: 1;
}

.block-about-contributor__label {
    display: block;
    margin-bottom: 8px;
    font-size: var(--fs-subtitle);
    color: var(--color-text-primary);
}

.block-about-contributor__name {
    margin: 0 0 16px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.25;
    color: var(--color-blue);
}

.block-about-contributor__quote {
    margin: 0 0 20px 0;
    font-size: var(--fs-subtitle);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-about-contributor__bottom {
    margin: 0;
    font-size: var(--fs-primary);
    color: #6B7280;
}

/* ==========================================================================
   BLOCK-BREADCRUMBS
   ========================================================================== */

/* Reusable Home / Current-page breadcrumb bar (page.php), visually matching the
   breadcrumbs in single-treatment_program.php — full-width orange band. */
.block-breadcrumbs {
    background-color: var(--color-orange);
}

.block-breadcrumbs__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.block-breadcrumbs__crumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-white);
    transition: opacity var(--transition-fast);
}

.block-breadcrumbs__crumb[href]:hover {
    opacity: 0.8;
}

.block-breadcrumbs__crumb-home {
    display: inline-flex;
}

.block-breadcrumbs__crumb-home img {
    width: 18px;
    height: 18px;
}

.block-breadcrumbs__sep {
    opacity: 0.7;
}

.block-breadcrumbs__crumb--current {
    opacity: 0.65;
}

/* ==========================================================================
   BLOCK-OUR-MISSION
   ========================================================================== */

.block-our-mission {
    padding: var(--sec-pad);
}
body.page-id-331 .block-our-mission{
    background: #FFF8F2;
}

.block-our-mission__layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 60px;
    align-items: start;
}

/* Content column */
.block-our-mission__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-our-mission__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-our-mission__text {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-our-mission__text p {
    margin: 0 0 16px 0;
}

.block-our-mission__text ul,
.block-our-mission__text ol {
    margin: 0 0 16px 0;
    padding-left: 22px;
}

.block-our-mission__text li {
    margin-bottom: 8px;
}

.block-our-mission__text > *:last-child {
    margin-bottom: 0;
}

/* Blue quote banner */
.block-our-mission__banner {
    position: relative;
    overflow: hidden;
    padding: 40px;
    background-color: var(--color-blue);
    background-image: url('/wp-content/themes/anew-iop/assets/images/a.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 90%;
    border-radius: var(--radius-primary);
    color: var(--color-text-white);
}

/* Faint decorative swirl echoing the design's background shape */
/* .block-our-mission__banner::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.04);
    pointer-events: none;
} */

.block-our-mission__banner-quote {
    position: relative;
    z-index: 1;
    margin: 0 0 40px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.3;
}

.block-our-mission__banner-quote span{
    font-size: 16px;
    font-weight: normal;
}

.block-our-mission__banner-author {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 16px;
}

.block-our-mission__banner-avatar {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.block-our-mission__banner-avatar--placeholder {
    display: inline-block;
    background-color: #D9D9D9;
}

.block-our-mission__banner-name {
    font-size: var(--fs-primary);
    line-height: 1.4;
}

/* ==========================================================================
   BLOCK-WHAT-WE-BELIEVE
   ========================================================================== */

.block-what-we-believe {
    padding: var(--sec-pad);
    background: #FFF8F2;
}

.block-what-we-believe__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-what-we-believe__title {
    margin: 0 0 56px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-what-we-believe__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px;
}

.block-what-we-believe__col {
    display: flex;
    flex-direction: column;
}

/* Auto-numbered badge — cream rounded square with an orange numeral */
.block-what-we-believe__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 28px;
    border-radius: var(--radius-primary);
    background-color: #F8EEE5;
    color: var(--color-orange);
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
}

.block-what-we-believe__col-title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-what-we-believe__col-text {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-OUR-VISION
   ========================================================================== */

.block-our-vision {
    padding: var(--sec-pad);
}

.block-our-vision__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-our-vision__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-our-vision__top-text {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-our-vision__top-text p {
    margin: 0 0 16px 0;
}

.block-our-vision__top-text > *:last-child {
    margin-bottom: 0;
}

/* Zig-zag image / text rows */
.block-our-vision__rows {
    list-style: none;
    margin: 56px 0 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.block-our-vision__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

/* Reversed rows swap the image to the right via grid order */
.block-our-vision__row--reverse .block-our-vision__row-media {
    order: 1;
}

.block-our-vision__row-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-primary);
}

/* Auto row number — shown only when the row_numbers toggle is on */
.block-our-vision__row-num {
    display: block;
    margin-bottom: 20px;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    color: var(--color-orange);
}

.block-our-vision__row-title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-our-vision__row-text {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-QUOTE-SECTION
   ========================================================================== */

.block-quote-section {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    color: var(--color-text-white);
}

.block-quote-section__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Dark overlay so the white quote stays legible over any photo */
.block-quote-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.block-quote-section > .site-container {
    position: relative;
    z-index: 2;
}

.block-quote-section__content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.block-quote-section__icon {
    display: inline-flex;
    margin-bottom: 20px;
}

.block-quote-section__icon img {
    width: 44px;
    height: auto;
}

.block-quote-section__title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-text-white);
}

.block-quote-section__text {
    margin: 0;
    font-size: var(--fs-subtitle);
    line-height: 1.5;
    color: var(--color-text-white);
}

/* ==========================================================================
   BLOCK-TAKE-THE-FIRST-STEP
   ========================================================================== */

.block-take-the-first-step {
    padding: var(--sec-pad);
}

.block-take-the-first-step__card {
    position: relative;
    padding: 64px;
    border-radius: var(--radius-primary);
    background-color: #FBFCFE;
    text-align: center;
}

/* Gradient (blue → orange) 1px border with rounded corners via mask trick */
.block-take-the-first-step__card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(120deg, var(--color-blue), var(--color-orange));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}

.block-take-the-first-step__subtitle {
    margin: 0 0 12px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-primary);
}

.block-take-the-first-step__title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-text-primary);
}

.block-take-the-first-step__text {
    max-width: 620px;
    margin: 0 auto 40px auto;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-take-the-first-step__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

/* Buttons — canonical TNP primary/secondary (mirrors block-hero__btn) */
.block-take-the-first-step__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 6px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-btn);
    transition: opacity var(--transition-fast);
}

.block-take-the-first-step__btn:hover {
    opacity: 0.9;
}

.block-take-the-first-step__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.block-take-the-first-step__btn--secondary {
    background-color: #F8EEE5;
    color: var(--color-text-primary);
}

.block-take-the-first-step__btn-icon img {
    width: 20px;
    height: 20px;
}

/* ==========================================================================
   BLOCK-WHO-WE-ARE
   ========================================================================== */

.block-who-we-are {
    padding: var(--sec-pad);
}

.block-who-we-are__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-who-we-are__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-who-we-are__description {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

/* Image + doctor info */
.block-who-we-are__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    margin-top: 40px;
}

.block-who-we-are__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-primary);
}

.block-who-we-are__doctor-name {
    margin: 0 0 8px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-text-primary);
}

.block-who-we-are__doctor-job {
    margin: 0 0 24px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-semibold);
    color: var(--color-orange);
}

.block-who-we-are__doctor-text {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-who-we-are__doctor-text p {
    margin: 0 0 16px 0;
}

.block-who-we-are__doctor-text > *:last-child {
    margin-bottom: 0;
}

/* Static "As Featured On" row */
.block-who-we-are__featured {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
}

.block-who-we-are__featured-label {
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
}

.block-who-we-are__featured-img {
    height: 22px;
    width: auto;
}

/* ==========================================================================
   BLOCK-OUR-TEAM
   ========================================================================== */

.block-our-team {
    padding: var(--sec-pad);
    background: #FFF8F2;
}

.block-our-team__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-our-team__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-our-team__description {
    max-width: 900px;
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-our-team__list {
    list-style: none;
    margin: 56px 0 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px 48px;
}

.block-our-team__member {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Round avatar — square source images are cropped to a circle via cover */
.block-our-team__avatar {
    width: 100%;
    max-width: 300px;
    aspect-ratio: 1 / 1;
    margin-bottom: 24px;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-bg-dark);
}

.block-our-team__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-our-team__member-title {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-TEAM-BELIEVES
   ========================================================================== */

.block-team-believes {
    padding: var(--sec-pad);
}

.block-team-believes__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-team-believes__title {
    margin: 0 0 56px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-team-believes__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.block-team-believes__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 28px;
    /* background-color: var(--color-bg-white); */
    border: 1px solid #E5E9EE;
    border-radius: var(--radius-primary);
}

.block-team-believes__icon {
    display: inline-flex;
    margin-bottom: 20px;
}

.block-team-believes__icon img {
    width: 32px;
    height: 32px;
}

.block-team-believes__card-title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-team-believes__card-text {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-ABOUT-DOCTOR
   ========================================================================== */

/* --ad-card-h drives the upward overlap: the card row is pulled up by half of
   this height so its top half sits in the previous section, bottom half here. */
.block-about-doctor {
    --ad-card-h: 130px;
    position: relative;
    padding: 0 0 80px;
}

.block-about-doctor__cards {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: calc(var(--ad-card-h) / -2);
    margin-bottom: 60px;
}

.block-about-doctor__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: var(--ad-card-h);
    padding: 24px;
    border-radius: var(--radius-primary);
    background-color: var(--color-blue);
    color: var(--color-text-white);
}

.block-about-doctor__card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.block-about-doctor__card-icon img {
    width: 28px;
    height: 28px;
}

.block-about-doctor__card-value {
    font-size: 32px;
    font-weight: var(--fw-bold);
    line-height: 1;
}

.block-about-doctor__card-desc {
    margin: 0;
    font-size: var(--fs-primary);
}

/* Last card — light "As Seen On" variant */
.block-about-doctor__card--last {
    gap: 6px;
    background-color: var(--color-bg-dark);
    border: 1px solid #E7C9A8;
    color: var(--color-text-primary);
}

.block-about-doctor__card-top {
    margin: 0;
    font-size: var(--fs-primary);
}

.block-about-doctor__last-img {
    height: 30px;
    width: auto;
}

.block-about-doctor__card-bottom {
    margin: 0;
    font-size: var(--fs-primary);
}

/* Body */
.block-about-doctor__subtitle {
    margin: 0 0 40px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-about-doctor__text {
    font-size: var(--fs-primary);
    line-height: 1.7;
    color: var(--color-text-primary);
}

.block-about-doctor__text p {
    margin: 0 0 20px 0;
}

.block-about-doctor__text > *:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   BLOCK-DOCTOR-APPROACH
   ========================================================================== */

.block-doctor-approach {
    padding: var(--sec-pad);
    background: #FFF8F2;
}

.block-doctor-approach__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-doctor-approach__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-doctor-approach__description {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-doctor-approach__description p {
    margin: 0 0 16px 0;
}

.block-doctor-approach__description > *:last-child {
    margin-bottom: 0;
}

.block-doctor-approach__list {
    list-style: none;
    margin: 56px 0 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px 48px;
}

.block-doctor-approach__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Round image — square sources cropped to a circle via cover */
.block-doctor-approach__image {
    width: 100%;
    max-width: 200px;
    aspect-ratio: 1 / 1;
    margin-bottom: 24px;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-bg-dark);
}

.block-doctor-approach__image-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-doctor-approach__item-title {
    margin: 0 0 12px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-doctor-approach__item-text {
    max-width: 420px;
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-DOCTOR-WORDS
   ========================================================================== */

.block-doctor-words {
    padding: var(--sec-pad);
    background-color: var(--color-blue);
    color: var(--color-text-white);
}

.block-doctor-words__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-white);
}

.block-doctor-words__title {
    margin: 0 0 48px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-white);
}

.block-doctor-words__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.block-doctor-words__card {
    position: relative;
    padding: 40px;
    border-radius: var(--radius-primary);
    background-color: #0B5192;
}

.block-doctor-words__icon {
    position: absolute;
    top: 32px;
    right: 32px;
    display: inline-flex;
}

.block-doctor-words__icon img {
    width: 28px;
    height: auto;
}

.block-doctor-words__quote {
    max-width: 80%;
    margin: 0 0 40px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.4;
    color: var(--color-text-white);
}

.block-doctor-words__author {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Round avatar — square sources cropped to a circle via cover */
.block-doctor-words__avatar {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #D9D9D9;
}

.block-doctor-words__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-doctor-words__author-name {
    font-size: var(--fs-primary);
    color: var(--color-text-white);
}

/* ==========================================================================
   BLOCK-PUBLIC-EYE
   ========================================================================== */

.block-public-eye {
    padding: var(--sec-pad);
}

.block-public-eye__subtitle {
    margin: 0 0 16px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-blue);
}

.block-public-eye__title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    color: var(--color-text-primary);
}

.block-public-eye__description {
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-public-eye__description p {
    margin: 0 0 16px 0;
}

.block-public-eye__description > *:last-child {
    margin-bottom: 0;
}

/* Video player */
.block-public-eye__player {
    position: relative;
    margin-top: 32px;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-primary);
    overflow: hidden;
    background-color: #E9EAEB;
}

.block-public-eye__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-public-eye__embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
}

.block-public-eye__iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.block-public-eye__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: inline-flex;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    transition: transform var(--transition-fast);
}

.block-public-eye__play:hover {
    transform: translate(-50%, -50%) scale(1.06);
}

.block-public-eye__play img {
    width: 88px;
    height: 88px;
}

/* Once playing: reveal the embed, hide the poster + play button */
.block-public-eye__player.is-playing .block-public-eye__embed {
    opacity: 1;
    visibility: visible;
}

.block-public-eye__player.is-playing .block-public-eye__poster,
.block-public-eye__player.is-playing .block-public-eye__play {
    opacity: 0;
    visibility: hidden;
}

/* ==========================================================================
   BLOCK-INSURANCE-FORM
   ========================================================================== */

.block-insurance-form {
    padding: var(--sec-pad);
}

.block-insurance-form__inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 48px;
    background-color: var(--color-bg-dark);
    border-radius: var(--radius-primary);
    border: 1px solid transparent;
    background-image: linear-gradient(#F8EEE5, #F4F8FB), linear-gradient(to right, var(--color-blue), var(--color-orange));
    background-origin: border-box;
    background-clip: padding-box, border-box;
}

/* --- Insurance: Formidable form (mirrors the get-help form styling) --- */
.block-insurance-form__inner .frm_forms,
.block-insurance-form__inner .frm_form_fields,
.block-insurance-form__inner .frm_fields_container {
    margin: 0;
    padding: 0;
    border: none;
}

.block-insurance-form__inner fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
}

/* Fields stack with even spacing */
.block-insurance-form__inner .frm_fields_container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.block-insurance-form__inner .frm_form_field {
    position: relative;
    margin: 0;
    padding: 0;
}

/* Section headings (HTML fields) */
.block-insurance-form__inner .insurance-form-title {
    margin: 12px 0 0 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    color: var(--color-text-primary);
}

/* Visible field labels */
.block-insurance-form__inner .frm_primary_label {
    display: block;
    margin-bottom: 8px;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
}

.block-insurance-form__inner .frm_required {
    color: var(--color-orange);
}

/* Inputs — same look as get-help, without the field-icon right padding */
.block-insurance-form__inner input[type="text"],
.block-insurance-form__inner input[type="tel"],
.block-insurance-form__inner input[type="email"],
.block-insurance-form__inner textarea {
    width: 100%;
    padding: 16px 20px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    background-color: var(--color-text-white);
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
    line-height: 1.4;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.block-insurance-form__inner textarea {
    min-height: 120px;
    resize: vertical;
}

/* Date fields are picker-only (readonly via JS) — hint that they're clickable */
.block-insurance-form__inner .frm_date {
    cursor: pointer;
}

.block-insurance-form__inner input::placeholder,
.block-insurance-form__inner textarea::placeholder {
    color: var(--color-text-primary);
    opacity: 1;
}

.block-insurance-form__inner input:focus,
.block-insurance-form__inner textarea:focus {
    outline: none;
    border-color: var(--color-blue);
    box-shadow: 0 0 0 1px var(--color-blue);
}

/* Invalid state (custom email/phone validation + Formidable errors) */
.block-insurance-form__inner input.is-invalid,
.block-insurance-form__inner .frm_blank_field input,
.block-insurance-form__inner .frm_blank_field textarea {
    border-color: #D64545;
}

.block-insurance-form__inner .frm_error {
    margin-top: 6px;
    font-size: 13px;
    color: #D64545;
}

/* First / Last name combo side by side */
.block-insurance-form__inner .frm_combo_inputs_container {
    display: flex;
    gap: 16px;
}

.block-insurance-form__inner .frm_form_subfield-first,
.block-insurance-form__inner .frm_form_subfield-last {
    flex: 1;
    min-width: 0;
}

.block-insurance-form__inner .frm_description {
    margin-top: 6px;
    font-size: 13px;
    color: #6B6B6B;
}

/* Radio groups */
.block-insurance-form__inner .frm_opt_container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.block-insurance-form__inner .frm_radio {
    margin: 0;
}

.block-insurance-form__inner .frm_radio label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    cursor: pointer;
}

.block-insurance-form__inner .frm_radio input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-blue);
}

/* Screen-reader-only helpers from Formidable markup */
.block-insurance-form__inner .frm_screen_reader {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Honeypot anti-spam field stays in the DOM but out of view */
.block-insurance-form__inner #frm_field_28_container {
    position: absolute;
    left: -9999px;
}

/* Submit — orange primary CTA (same as get-help) */
.block-insurance-form__inner .frm_submit {
    margin: 8px 0 0 0;
    padding: 0;
}

.block-insurance-form__inner .frm_button_submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 32px;
    border: none;
    border-radius: 8px;
    background-color: var(--color-orange);
    color: var(--color-text-white);
    font-size: var(--fs-btn);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.block-insurance-form__inner .frm_button_submit::before {
    content: "";
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: url('/wp-content/themes/anew-iop/assets/images/left-btn-icon.svg') no-repeat center / contain;
}

.block-insurance-form__inner .frm_button_submit:hover {
    background-color: var(--color-blue);
}

/* ==========================================================================
   ARCHIVE — TREATMENT PROGRAMS
   ========================================================================== */

.archive-treatment-programs {
    padding: var(--sec-pad);
}

.archive-treatment-programs__title {
    margin: 0 0 48px 0;
    font-size: 48px;
    font-weight: var(--fw-semibold);
    line-height: 1.05;
    color: var(--color-blue);
    text-align: center;
}

.archive-treatment-programs__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.archive-treatment-programs__card {
    display: flex;
    background-color: var(--color-text-white);
    border: 1px solid #E5E9EE;
    border-radius: var(--radius-primary);
    overflow: hidden;
    transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.archive-treatment-programs__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 70, 132, 0.1);
}

.archive-treatment-programs__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
}

/* Media area keeps a uniform card height even when an image is missing */
.archive-treatment-programs__media {
    display: block;
    aspect-ratio: 3 / 2;
    background-color: var(--color-bg-dark);
}

.archive-treatment-programs__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-treatment-programs__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px;
}

.archive-treatment-programs__card-title {
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.25;
    color: var(--color-blue);
}

.archive-treatment-programs__card-text {
    margin-top: 12px;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
    /* Clamp to keep card heights even */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.archive-treatment-programs__more {
    margin-top: auto;
    padding-top: 4px;
    font-weight: var(--fw-semibold);
    color: var(--color-orange);
    transition: color var(--transition-fast);
}

.archive-treatment-programs__card:hover .archive-treatment-programs__more {
    color: var(--color-blue);
}

.archive-treatment-programs__empty {
    font-size: var(--fs-subtitle);
    color: var(--color-text-primary);
}

/* Pagination (standard WP the_posts_pagination markup) */
.archive-treatment-programs .pagination {
    margin-top: 56px;
}

.archive-treatment-programs .pagination .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.archive-treatment-programs .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.archive-treatment-programs .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #E5E9EE;
    border-radius: 8px;
    background-color: var(--color-text-white);
    color: var(--color-blue);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.archive-treatment-programs .page-numbers:hover {
    border-color: var(--color-blue);
    background-color: var(--color-bg-dark);
}

.archive-treatment-programs .page-numbers.current {
    background-color: var(--color-orange);
    border-color: var(--color-orange);
    color: var(--color-text-white);
}

.archive-treatment-programs .page-numbers.dots {
    border: none;
    background: none;
}

/* ==========================================================================
   ARCHIVE — BLOG (post archive, styled to match Treatment Programs)
   ========================================================================== */

.archive-blog {
    padding: var(--sec-pad);
}

.archive-blog__title {
    margin: 0 0 48px 0;
    font-size: 48px;
    font-weight: var(--fw-semibold);
    line-height: 1.05;
    color: var(--color-blue);
    text-align: center;
}

.archive-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.archive-blog__card {
    background-color: var(--color-text-white);
    border: 1px solid #E5E9EE;
    border-radius: var(--radius-primary);
    overflow: hidden;
    transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.archive-blog__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 70, 132, 0.1);
}

.archive-blog__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
}

.archive-blog__media {
    display: block;
    aspect-ratio: 3 / 2;
    background-color: var(--color-bg-dark);
}

.archive-blog__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-blog__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px;
}

.archive-blog__card-title {
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.25;
    color: var(--color-blue);
}

.archive-blog__card-text {
    margin-top: 12px;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.archive-blog__more {
    margin-top: 20px;
    padding-top: 4px;
    font-weight: var(--fw-semibold);
    color: var(--color-orange);
    transition: color var(--transition-fast);
}

.archive-blog__card:hover .archive-blog__more {
    color: var(--color-blue);
}

.archive-blog__empty {
    font-size: var(--fs-subtitle);
    color: var(--color-text-primary);
}

/* Pagination (standard WP the_posts_pagination markup) */
.archive-blog .pagination {
    margin-top: 56px;
}

.archive-blog .pagination .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.archive-blog .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.archive-blog .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #E5E9EE;
    border-radius: 8px;
    background-color: var(--color-text-white);
    color: var(--color-blue);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.archive-blog .page-numbers:hover {
    border-color: var(--color-blue);
    background-color: var(--color-bg-dark);
}

.archive-blog .page-numbers.current {
    background-color: var(--color-orange);
    border-color: var(--color-orange);
    color: var(--color-text-white);
}

.archive-blog .page-numbers.dots {
    border: none;
    background: none;
}

/* ==========================================================================
   POPUP-FORM
   ========================================================================== */

/* Hidden by default; open/close logic adds .is-open later */
.popup-form {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.popup-form.is-open {
    display: flex;
}

.popup-form__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
}

.popup-form__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 48px 40px 40px;
    background-color: var(--color-bg-white);
    border-radius: var(--radius-primary);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

.popup-form__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    background: none;
    font-size: 30px;
    line-height: 1;
    color: var(--color-text-primary);
    cursor: pointer;
    transition: color var(--transition-fast);
}

.popup-form__close:hover {
    color: var(--color-orange);
}

.popup-form__title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    color: var(--color-text-primary);
}

/* ==========================================================================
   BLOCK-SINGLE-POST
   ========================================================================== */

/* Breadcrumbs — full-width orange bar */
.block-single-post__breadcrumbs-bar {
    background-color: var(--color-orange);
}

.block-single-post__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    color: var(--color-text-white);
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.block-single-post__crumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-white);
    transition: opacity var(--transition-fast);
}

.block-single-post__crumb[href]:hover {
    opacity: 0.8;
}

.block-single-post__crumb-home {
    font-size: 18px;
    line-height: 1;
}

.block-single-post__crumb-sep {
    opacity: 0.7;
}

.block-single-post__crumb--current {
    opacity: 0.65;
}

/* Two-column layout */
.block-single-post__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 40px;
    align-items: start;
    padding: 50px 0 80px;
}

/* Main column */
.block-single-post__title {
    margin: 0 0 28px 0;
    font-size: 36px;
    font-weight: var(--fw-semibold);
    line-height: 1.05;
    color: var(--color-blue);
}

.block-single-post__image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-primary);
    margin-bottom: 28px;
}

.block-single-post__intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-primary);
    margin-bottom: 28px;
}

/* Sidebar — sticky within the container (matches header offset). */
.block-single-post__sidebar {
    position: sticky;
    top: 114px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* CTA card */
.block-single-post__cta {
    background-color: var(--color-blue);
    background-image: url('/wp-content/themes/anew-iop/assets/images/a.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 90%;
    border-radius: var(--radius-primary);
    padding: 32px;
    color: var(--color-text-white);
}

.block-single-post__cta-title {
    margin: 0 0 24px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.2;
}

.block-single-post__cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px 24px;
    margin-bottom: 12px;
    border-radius: 8px;
    background-color: var(--color-orange);
    color: var(--color-text-white);
    font-size: var(--fs-btn);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast);
}

.block-single-post__cta-phone:hover {
    background-color: #a95d18;
}

.block-single-post__cta-verify {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    padding: 16px 24px;
    border-radius: 8px;
    background-color: var(--color-bg-dark);
    color: var(--color-text-primary);
    font-size: var(--fs-btn);
    font-weight: var(--fw-semibold);
    transition: background-color var(--transition-fast);
}

.block-single-post__cta-verify:hover {
    background-color: var(--color-text-white);
}

.block-single-post__cta-verify-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--color-orange);
}

/* Latest articles list card */
.block-single-post__recent {
    background-color: #FFF8F2;
    border-radius: var(--radius-primary);
    padding: 28px 32px;
}

.block-single-post__recent-title {
    margin: 0 0 20px 0;
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-blue);
}

.block-single-post__recent-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.block-single-post__recent-link {
    color: var(--color-text-primary);
    font-size: var(--fs-primary);
    line-height: 1.4;
    transition: color var(--transition-fast);
}

.block-single-post__recent-link:hover {
    color: var(--color-orange);
    font-weight: var(--fw-semibold);
}

/* ==========================================================================
   GLOBAL BUTTON INTERACTIONS
   Rounded left-to-right color fill adapted to the approved reference. The
   existing button markup, dimensions, brand colors, and icons stay unchanged.
   ========================================================================== */

:where(
    .site-header__cta,
    .block-hero__btn,
    .block-cta-section__btn,
    .block-insurance-logos__btn,
    .block-take-the-first-step__btn,
    .block-inline-cta__btn,
    .block-treatment-single__cta-phone,
    .block-treatment-single__cta-verify,
    .block-single-post__cta-phone,
    .block-single-post__cta-verify,
    .block-get-help__form-fields .frm_button_submit,
    .block-insurance-form__inner .frm_button_submit
) {
    --button-hover-fill: var(--color-blue);
    isolation: isolate;
    overflow: hidden;
    position: relative;
    z-index: 0;
    transition:
        color 0.3s ease,
        opacity 0.3s ease;
}

/* The rounded fill sits above the base color and behind button content. */
:where(
    .site-header__cta,
    .block-hero__btn,
    .block-cta-section__btn,
    .block-insurance-logos__btn,
    .block-take-the-first-step__btn,
    .block-inline-cta__btn,
    .block-treatment-single__cta-phone,
    .block-treatment-single__cta-verify,
    .block-single-post__cta-phone,
    .block-single-post__cta-verify,
    .block-get-help__form-fields .frm_button_submit,
    .block-insurance-form__inner .frm_button_submit
)::after {
    background-color: var(--button-hover-fill);
    border-radius: inherit;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: width 0.34s cubic-bezier(0.4, 0, 0.2, 1);
    width: 0;
    z-index: -1;
}

:is(
    .block-hero__btn--secondary,
    .block-cta-section__btn--secondary,
    .block-take-the-first-step__btn--secondary,
    .block-inline-cta__btn--secondary
) {
    --button-hover-fill: var(--color-blue);
}

/* Dark verify CTAs keep their existing light sweep. */
:is(
    .block-treatment-single__cta-verify,
    .block-single-post__cta-verify
) {
    --button-hover-fill: var(--color-text-white);
}

:is(
    .block-treatment-single__cta-phone,
    .block-single-post__cta-phone
) {
    --button-hover-fill: #a95d18; /* hardcoded: darker orange hover from existing CTA design */
}

:is(
    .site-header__cta,
    .block-hero__btn,
    .block-cta-section__btn,
    .block-insurance-logos__btn,
    .block-take-the-first-step__btn,
    .block-inline-cta__btn,
    .block-treatment-single__cta-phone,
    .block-treatment-single__cta-verify,
    .block-single-post__cta-phone,
    .block-single-post__cta-verify,
    .block-get-help__form-fields .frm_button_submit,
    .block-insurance-form__inner .frm_button_submit
):focus-visible {
    outline: 3px solid rgba(0, 70, 132, 0.35);
    outline-offset: 3px;
}

/* The phone icon keeps its separate, short ringing motion. */
@keyframes anew-phone-ring {
    0%,
    100% { transform: rotate(0); }
    20% { transform: rotate(14deg); }
    40% { transform: rotate(-12deg); }
    60% { transform: rotate(9deg); }
    80% { transform: rotate(-6deg); }
}

.site-header__cta-icon {
    display: inline-flex;
    transform-origin: 50% 50%;
}

@media (hover: hover) and (pointer: fine) {
    :is(
        .site-header__cta,
        .block-hero__btn,
        .block-cta-section__btn,
        .block-insurance-logos__btn,
        .block-take-the-first-step__btn,
        .block-inline-cta__btn,
        .block-treatment-single__cta-phone,
        .block-treatment-single__cta-verify,
        .block-single-post__cta-phone,
        .block-single-post__cta-verify,
        .block-get-help__form-fields .frm_button_submit,
        .block-insurance-form__inner .frm_button_submit
    ):is(:hover, :focus-visible)::after {
        width: 100%;
    }

    /* Preserve base colors so the fill, rather than the button, animates. */
    .site-header__cta:hover,
    .block-insurance-logos__btn--primary:hover,
    .block-get-help__form-fields .frm_button_submit:hover,
    .block-insurance-form__inner .frm_button_submit:hover {
        background-color: var(--color-orange);
    }

    .block-treatment-single__cta-phone:hover,
    .block-single-post__cta-phone:hover {
        background-color: var(--color-orange);
    }

    .block-treatment-single__cta-verify:hover,
    .block-single-post__cta-verify:hover {
        background-color: var(--color-bg-dark);
    }

    :is(
        .block-hero__btn,
        .block-cta-section__btn,
        .block-take-the-first-step__btn,
        .block-inline-cta__btn
    ):hover {
        opacity: 1;
    }

    :is(
        .block-hero__btn--secondary,
        .block-cta-section__btn--secondary,
        .block-take-the-first-step__btn--secondary,
        .block-inline-cta__btn--secondary
    ):is(:hover, :focus-visible) {
        color: var(--color-text-white);
    }

    /*
     * The shield SVG is an external image, so a filter keeps it legible over
     * the blue fill without duplicating or editing the shared icon asset.
     */
    :is(
        .block-hero__btn--secondary,
        .block-cta-section__btn--secondary,
        .block-take-the-first-step__btn--secondary,
        .block-inline-cta__btn--secondary
    ) img {
        transition: filter 0.3s ease;
    }

    :is(
        .block-hero__btn--secondary,
        .block-cta-section__btn--secondary,
        .block-take-the-first-step__btn--secondary,
        .block-inline-cta__btn--secondary
    ):is(:hover, :focus-visible) img {
        filter: brightness(0) invert(1);
    }

    .site-header__cta:hover .site-header__cta-icon,
    .site-header__cta:focus-visible .site-header__cta-icon {
        animation: anew-phone-ring 0.58s ease-in-out;
    }
}

/* ==========================================================================
   BLOCK-WHY-CHOOSE
   ========================================================================== */

.block-why-choose {
    position: relative;
    overflow: hidden;
    margin: 32px 0;
    padding: 40px;
    background-color: var(--color-blue);
    background-image: url('/wp-content/themes/anew-iop/assets/images/a.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 90%;
    border-radius: var(--radius-primary);
}

.block-why-choose__title {
    position: relative;
    z-index: 1;
    margin: 0 0 24px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.1;
    color: var(--color-text-white);
}

.block-why-choose__list {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.block-why-choose__card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.block-why-choose__icon {
    flex-shrink: 0;
    display: inline-flex;
    margin-top: 4px;
}

.block-why-choose__icon img {
    width: 14px;
    height: 14px;
}

.block-why-choose__card-title {
    margin: 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-semibold);
    line-height: 1.5;
    color: var(--color-text-white);
}

.block-why-choose__card-text {
    margin: 6px 0 0 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-regular);
    line-height: 1.5;
    color: var(--color-text-white);
}

/* Links on the dark blue panel default to the browser blue and are unreadable - force white + underline */
.block-why-choose a,
.block-why-choose a:visited {
    color: var(--color-text-white);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.block-why-choose a:hover,
.block-why-choose a:focus-visible {
    color: var(--color-orange-on-blue);
}

@media (max-width: 640px) {
    .block-why-choose {
        padding: 24px;
        background-image: none;
    }
}

/* ==========================================================================
   BLOCK-CHECK-CALLOUT
   ========================================================================== */

.block-check-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 32px 0;
    padding: 32px 40px;
    background-color: var(--color-blue);
    border-radius: var(--radius-primary);
}

.block-check-callout__content {
    flex: 1;
    min-width: 0;
}

.block-check-callout__main-text {
    margin: 0;
    font-size: var(--fs-subtitle);
    font-weight: var(--fw-bold);
    line-height: 1.5;
    color: var(--color-text-white);
}

.block-check-callout__sub-text {
    margin: 6px 0 0 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-regular);
    line-height: 1.5;
    color: var(--color-text-white);
    opacity: 0.8;
}

/* Links on the dark blue panel (main text and sub text) default to the browser blue and are unreadable - force white + underline */
.block-check-callout a,
.block-check-callout a:visited {
    color: var(--color-text-white);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.block-check-callout a:hover,
.block-check-callout a:focus-visible {
    color: var(--color-orange-on-blue);
}

.block-check-callout__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.block-check-callout__icon img {
    width: 40px;
    height: 40px;
}

@media (max-width: 640px) {
    .block-check-callout {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
    }

    .block-check-callout__icon {
        align-self: flex-end;
        margin-top: -8px;
    }
}

/* ==========================================================================
   BLOCK-TREAT-METHODS
   ========================================================================== */

.block-treat-methods {
    margin: 32px 0;
}

.block-treat-methods__head {
    margin-bottom: 32px;
    max-width: 720px;
}

.block-treat-methods__head .global-h2 {
    margin: 0 0 12px 0;
}

.block-treat-methods__description {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-treat-methods__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.block-treat-methods__card {
    background-color: var(--color-bg-dark);
    border-radius: var(--radius-primary);
    padding: 28px;
    text-align: left;
}

.block-treat-methods__card--linked {
    padding: 0;
}

.block-treat-methods__card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px;
    border-radius: inherit;
    color: inherit;
    text-decoration: none;
}

.block-treat-methods__card-link:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 6px;
    border-radius: calc(var(--radius-primary) / 2);
}

.block-treat-methods__card-more {
    display: inline-block;
    margin-top: auto;
    padding-top: 18px;
    color: var(--color-secondary);
    font-size: 24px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.block-treat-methods__card-link:hover .block-treat-methods__card-more,
.block-treat-methods__card-link:focus-visible .block-treat-methods__card-more {
    transform: translateX(5px);
}

.block-treat-methods__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    background-color: var(--color-bg-white);
    border-radius: 50%;
}

.block-treat-methods__icon img {
    width: 24px;
    height: 24px;
}

.block-treat-methods__card-title {
    margin: 0 0 8px 0;
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    color: var(--color-text-primary);
}

.block-treat-methods__card-text {
    margin: 0;
    font-size: var(--fs-primary);
    line-height: 1.5;
    color: var(--color-text-primary);
    opacity: 0.75;
}

@media (max-width: 768px) {
    .block-treat-methods__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   BLOCK-INLINE-CTA
   ========================================================================== */

.block-inline-cta {
    padding: var(--sec-pad);
}

.block-inline-cta__card {
    padding: 40px;
    border: 1px solid #E2E2E2;
    border-radius: var(--radius-primary);
    background-color: var(--color-bg-white);
    text-align: center;
}

.block-inline-cta__eyebrow {
    margin: 0 0 12px 0;
    font-size: var(--fs-primary);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-orange);
}

.block-inline-cta__title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-text-primary);
}

.block-inline-cta__text {
    max-width: 620px;
    margin: 0 auto 32px auto;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.block-inline-cta__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-bottom: 24px;
}

.block-inline-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 6px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-btn);
    transition: opacity var(--transition-fast);
}

.block-inline-cta__btn:hover {
    opacity: 0.9;
}

.block-inline-cta__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.block-inline-cta__btn--secondary {
    background-color: #F8EEE5;
    color: var(--color-text-primary);
}

.block-inline-cta__btn-icon img {
    width: 20px;
    height: 20px;
}

.block-inline-cta__support {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.6;
}

@media (max-width: 640px) {
    .block-inline-cta__card {
        padding: 28px 24px;
    }
}

/* ==========================================================================
   BLOCK-CONTACT-PAGE
   ========================================================================== */

.block-contact-page {
    background-color: var(--color-bg-white);
}

.block-contact-page__hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 400px;
    padding: 88px 0 84px;
    overflow: hidden;
    color: var(--color-text-white);
}

.block-contact-page__hero-bg,
.block-contact-page__hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.block-contact-page__hero-bg {
    object-fit: cover;
    object-position: center 52%;
}

.block-contact-page__hero-overlay {
    background: linear-gradient(
        90deg,
        rgba(5, 13, 21, 0.76) 0%,
        rgba(5, 13, 21, 0.58) 54%,
        rgba(5, 13, 21, 0.68) 100%
    );
}

.block-contact-page__hero .site-container {
    position: relative;
    z-index: 1;
}

.block-contact-page__hero-content {
    max-width: 940px;
}

.block-contact-page__title {
    margin: 0 0 18px;
    font-size: clamp(52px, 5vw, 72px);
    font-weight: var(--fw-bold);
    line-height: 1;
    letter-spacing: -0.025em;
    color: var(--color-text-white);
}

.block-contact-page__description {
    max-width: 760px;
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
    color: var(--color-text-white);
}

.block-contact-page__actions {
    display: flex;
    align-items: center;
    gap: 34px;
    margin-top: 32px;
}

.block-contact-page__hero-button {
    justify-content: center;
    min-width: 260px;
    padding: 18px 36px;
}

.block-contact-page__hero-phone {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.block-contact-page__hero-phone-label {
    font-size: 18px;
    font-weight: var(--fw-semibold);
    line-height: 1.2;
}

.block-contact-page__hero-phone-link {
    width: fit-content;
    font-size: 20px;
    font-weight: var(--fw-regular);
    line-height: 1.2;
    color: var(--color-text-white);
    transition: color var(--transition-fast);
}

.block-contact-page__hero-phone-link:hover,
.block-contact-page__hero-phone-link:focus-visible {
    color: #F5A65F;
}

.block-contact-page__details {
    padding: 72px 0 94px;
}

.block-contact-page__details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 64px;
}

.block-contact-page__detail {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.block-contact-page__detail-icon {
    flex: 0 0 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 12px;
    background-color: #F8EEE5;
}

.block-contact-page__detail-icon img {
    width: 32px;
    height: 32px;
}

.block-contact-page__detail--email .block-contact-page__detail-icon img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(69%) saturate(755%) hue-rotate(345deg) brightness(91%) contrast(88%);
}

.block-contact-page__detail-content {
    min-width: 0;
}

.block-contact-page__detail-title {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-text-primary);
}

.block-contact-page__detail-value {
    display: block;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 18px;
    line-height: 1.45;
    color: var(--color-text-primary);
}

.block-contact-page__detail-link {
    width: fit-content;
    transition: color var(--transition-fast);
}

.block-contact-page__detail-link:hover,
.block-contact-page__detail-link:focus-visible {
    color: var(--color-orange);
}

.block-contact-page__form-section {
    padding: 0 0 104px;
}

.block-contact-page__form-panel {
    padding: 64px 118px 72px;
    border: 2px solid transparent;
    border-radius: var(--radius-primary);
    background:
        linear-gradient(#F7FAFC, #F7FAFC) padding-box,
        linear-gradient(90deg, rgba(0, 70, 132, 0.42), rgba(199, 113, 36, 0.42)) border-box;
}

.block-contact-page__form-title {
    margin: 0 0 46px;
    text-align: center;
    font-size: 48px;
    font-weight: var(--fw-bold);
    line-height: 1.12;
    color: var(--color-text-primary);
}

.block-contact-page__form-fields .frm_forms,
.block-contact-page__form-fields .frm_form_fields,
.block-contact-page__form-fields fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.block-contact-page__form-fields .frm_fields_container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
}

.block-contact-page__form-fields .frm_form_field {
    min-width: 0;
    margin: 0;
}

.block-contact-page__form-fields #frm_field_8_container,
.block-contact-page__form-fields #frm_field_9_container,
.block-contact-page__form-fields #frm_field_28_container,
.block-contact-page__form-fields #frm_field_4_container {
    grid-column: auto !important;
}

.block-contact-page__form-fields .frm_primary_label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.block-contact-page__form-fields input:not([type="hidden"]),
.block-contact-page__form-fields textarea {
    width: 100%;
    min-height: 62px;
    margin: 0;
    padding: 18px 52px 18px 20px;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    background-color: var(--color-text-white);
    color: var(--color-text-primary);
    box-shadow: none;
    outline: none;
    transition:
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

.block-contact-page__form-fields textarea {
    min-height: 112px;
    resize: vertical;
}

.block-contact-page__form-fields input:not([type="hidden"]):focus,
.block-contact-page__form-fields textarea:focus {
    border-color: var(--color-blue);
    box-shadow: 0 0 0 3px rgba(0, 70, 132, 0.12);
}

.block-contact-page__form-fields #frm_field_5_container,
.block-contact-page__form-fields #frm_field_29_container {
    grid-column: 1 / -1 !important;
}

.block-contact-page__form-fields #frm_field_6_container {
    display: none;
}

.block-contact-page__form-fields .frm_error {
    margin-top: 6px;
    color: #A32929;
    font-size: 13px;
}

.block-contact-page__form-footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 24px;
    margin-top: 24px;
}

.block-contact-page__submit {
    width: 100%;
    justify-content: center;
    border: 0;
    cursor: pointer;
}

.block-contact-page__form-bottom {
    margin: 0;
    font-size: 16px;
    font-weight: var(--fw-semibold);
    line-height: 1.45;
    color: var(--color-text-primary);
}

/* ==========================================================================
   ADMISSIONS DETAIL PAGE
   Reuses the existing Hero, Text Content, CTA Section, Check Callout,
   Program FAQs, Inline CTA, and treatment sidebar components.
   ========================================================================== */

.admissions-page {
    background-color: var(--color-bg-white);
}

.admissions-page > .block-hero {
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 110px 0 120px;
}

.admissions-page > .block-hero::before {
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.58) 42%,
        rgba(0, 0, 0, 0.24) 72%,
        rgba(0, 0, 0, 0.12) 100%
    );
}

.admissions-page > .block-hero .block-hero__bg {
    object-position: center 42%;
}

.admissions-page > .block-hero .block-hero__content {
    max-width: 880px;
}

.admissions-page > .block-hero .section-subtitle {
    margin-bottom: 24px;
}

.admissions-page > .block-hero .block-hero__description {
    max-width: 590px;
    margin-bottom: 0;
}

.admissions-page > .block-hero .block-hero__actions {
    margin: 0;
}

.admissions-page__layout {
    padding: 56px 0 72px;
}

.admissions-page__main > .block-text-content:first-child {
    margin-top: 0;
}

.admissions-page__main .block-text-content {
    margin: 0 0 52px;
}

.admissions-page__main .block-text-content__body {
    font-size: var(--fs-subtitle);
    line-height: 1.62;
}

.admissions-page__main .block-text-content__body h2 {
    margin-bottom: 22px;
    font-size: 28px;
    color: var(--color-blue);
}

.admissions-page__main .block-text-content__body h2:not(:first-child) {
    margin-top: 58px;
}

.admissions-page__main .block-text-content__body h3 {
    margin-bottom: 16px;
    font-size: 21px;
    color: var(--color-text-primary);
}

.admissions-page__main .block-text-content__body p {
    margin-bottom: 24px;
}

.admissions-page__main .admissions-step-label {
    margin: 32px 0 14px;
    color: var(--color-orange);
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.admissions-page__main .admissions-inline-link {
    font-weight: var(--fw-semibold);
}

.admissions-page__main .admissions-inline-action {
    margin: 6px 0 36px;
}

.admissions-page__main .admissions-inline-button {
    min-width: 210px;
    justify-content: center;
    color: var(--color-text-primary);
    text-decoration: none;
}

.admissions-page__main .admissions-inline-button:is(:hover, :focus-visible) {
    color: var(--color-text-white);
    text-decoration: none;
}

.admissions-page__main .admissions-checklist {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 28px 0 34px;
    padding: 0;
    list-style: none;
}

.admissions-page__main .admissions-checklist li {
    position: relative;
    min-height: 34px;
    margin: 0;
    padding: 4px 0 0 52px;
    color: #5A5A5A;
}

.admissions-page__main .admissions-checklist li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 34px;
    height: 34px;
    background: url('/wp-content/themes/anew-iop/assets/images/check-circle-orange.svg') center / contain no-repeat;
}

.admissions-page__main .block-cta-section {
    display: flex;
    align-items: center;
    min-height: 455px;
    margin: 58px 0;
    padding: 46px;
    border-radius: var(--radius-primary);
    text-align: left;
}

.admissions-page__main .block-cta-section > .site-container {
    width: 100%;
    max-width: none;
    padding: 0;
}

.admissions-page__main .block-cta-section::before {
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.62) 55%,
        rgba(0, 0, 0, 0.2) 100%
    );
}

.admissions-page__main .block-cta-section__content {
    max-width: 650px;
}

.admissions-page__main .block-cta-section__title {
    font-size: 30px;
}

.admissions-page__main .block-cta-section__description {
    max-width: 610px;
    margin: 0 0 32px;
}

.admissions-page__main .block-cta-section__buttons {
    justify-content: flex-start;
}

.admissions-care-card {
    margin: 58px 0;
    padding: 38px;
    border-radius: var(--radius-primary);
    background-color: var(--color-blue);
}

.admissions-care-card .block-text-content {
    margin: 0;
}

.admissions-care-card .block-text-content__body,
.admissions-care-card .block-text-content__body h2,
.admissions-care-card .block-text-content__body p {
    color: var(--color-text-white);
}

.admissions-care-card .block-text-content__body h2 {
    margin-top: 0;
}

.admissions-care-card .block-text-content__body p {
    margin-bottom: 0;
    opacity: 0.92;
}

.admissions-care-card .block-check-callout {
    margin: 30px 0 0;
    background-color: #0B5A9E;
}

.admissions-care-card .block-check-callout__icon img {
    width: 56px;
    height: 56px;
}

.admissions-page__main .block-program-faqs {
    margin: 58px 0 0;
}

.admissions-page__main .block-program-faqs__title {
    font-size: 30px;
}

.admissions-page > .block-take-the-first-step {
    padding: 56px 0 92px;
}

.admissions-page__final-cta {
    padding: 56px 0 92px;
}

.admissions-page__final-cta .block-inline-cta {
    padding: 0;
}

.admissions-page__final-cta .block-inline-cta__card {
    position: relative;
    padding: 64px;
    border: 0;
    border-radius: var(--radius-primary);
    background-color: #FBFCFE;
}

.admissions-page__final-cta .block-inline-cta__card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, #6EB1E1 0%, #E0A36B 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}

.admissions-page__final-cta .block-inline-cta__eyebrow {
    color: var(--color-text-primary);
}

/* ==========================================================================
   ADMISSIONS: WHAT TO EXPECT
   Page-specific composition of existing ACF blocks.
   ========================================================================== */

.admissions-page--what-to-expect > .block-hero .block-hero__bg {
    object-position: center 46%;
    transform: scaleX(-1);
}

.admissions-first-day-card {
    margin: 58px 0;
    padding: 38px;
    border-radius: var(--radius-primary);
    background-color: var(--color-blue);
}

.admissions-first-day-card .block-text-content {
    margin: 0;
}

.admissions-first-day-card .block-text-content__body,
.admissions-first-day-card .block-text-content__body h2,
.admissions-first-day-card .block-text-content__body h3,
.admissions-first-day-card .block-text-content__body p {
    color: var(--color-text-white);
}

.admissions-first-day-card .block-text-content__body h2 {
    margin-top: 0;
}

.admissions-first-day-card .block-text-content__body h3 {
    font-size: var(--fs-h6);
}

.admissions-first-day-card .block-text-content__body p {
    margin-bottom: 0;
    opacity: 0.92;
}

.admissions-first-day-card .block-check-callout {
    margin: 30px 0 0;
    background-color: #0B5A9E;
}

.admissions-first-day-card .block-check-callout__main-text {
    text-transform: none;
}

.admissions-first-day-card .block-check-callout__icon img {
    display: none;
}

.admissions-first-day-card .block-check-callout__icon::before {
    content: "\201C";
    color: var(--color-orange);
    font-family: Georgia, serif;
    font-size: 74px;
    font-weight: var(--fw-bold);
    line-height: 0.7;
}

.admissions-page--what-to-expect .block-text-content:has(.admissions-week-intro) {
    margin-bottom: 24px;
}

.admissions-page--what-to-expect .block-how {
    margin: 0 0 58px;
    padding: 0;
    background-color: transparent;
}

.admissions-page--what-to-expect .block-how > .site-container {
    width: 100%;
    max-width: none;
    padding: 0;
}

.admissions-page--what-to-expect .block-how__head {
    margin: 0;
}

.admissions-page--what-to-expect .block-how__columns {
    align-items: stretch;
    gap: 24px;
}

.admissions-page--what-to-expect .block-how__column {
    width: calc(50% - 12px);
    min-height: 230px;
    justify-content: center;
    padding: 34px 30px;
    border: 0;
    border-radius: var(--radius-primary);
    background-color: #FBF7F3;
}

.admissions-page--what-to-expect .block-how__column-title {
    margin-bottom: 18px;
}

.admissions-week-card__eyebrow,
.admissions-week-card__title {
    display: block;
}

.admissions-week-card__eyebrow {
    margin-bottom: 20px;
    color: var(--color-orange);
    font-size: var(--fs-h6);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.admissions-week-card__title {
    color: var(--color-text-primary);
    font-size: 21px;
    font-weight: var(--fw-bold);
}

.admissions-page--what-to-expect .block-how__column-text {
    max-width: 330px;
    color: #5A5A5A;
}

.admissions-page--what-to-expect .block-key-takeaways {
    margin: 58px 0;
}

.admissions-page--what-to-expect .block-key-takeaways__title {
    font-size: 28px;
}

.admissions-page--what-to-expect .block-key-takeaways__card {
    min-height: 190px;
    padding: 28px;
    border-color: #D5E1EB;
    background-color: var(--color-bg-white);
    box-shadow: inset -1px -1px 0 #EFDCC9;
}

.admissions-page--what-to-expect .block-about-contributor {
    margin: 58px 0;
}

.admissions-page--what-to-expect .block-about-contributor__card {
    align-items: center;
    padding: 38px;
    background-color: #FBF7F3;
    box-shadow: none;
}

.admissions-page--what-to-expect .block-about-contributor__avatar {
    width: 160px;
    height: 160px;
}

.admissions-page--what-to-expect .block-about-contributor__label {
    display: none;
}

.admissions-page--what-to-expect .block-about-contributor__name {
    font-size: 25px;
}

.admissions-page--what-to-expect .block-about-contributor__quote {
    font-size: var(--fs-primary);
}

.admissions-page--what-to-expect .block-about-contributor__bottom {
    color: var(--color-orange);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}

.admissions-page--what-to-expect .admissions-duration-kicker {
    margin-bottom: 8px;
    font-weight: var(--fw-bold);
    /* Preserve the editorial casing stored in ACF. */
    text-transform: none;
}

/* ==========================================================================
   THANK-YOU PAGE
   ========================================================================== */

.thank-you {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--sec-pad);
    text-align: center;
}

.thank-you .thank-you__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    margin: 0 auto 24px;
    border-radius: 50%;
    /* Brand orange at ~10% opacity for the soft badge background. */
    background-color: rgba(164, 81, 0, 0.1);
}

.thank-you .thank-you__icon img {
    width: 44px;
    height: 44px;
}

.thank-you .thank-you__title {
    margin: 0 0 16px 0;
    font-size: var(--fs-h1);
    font-weight: var(--fw-semibold);
    line-height: 1.1;
    color: var(--color-text-primary);
}

.thank-you .thank-you__lead {
    max-width: 560px;
    margin: 0 auto 20px;
    font-size: var(--fs-subtitle);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.thank-you .thank-you__text {
    max-width: 560px;
    margin: 0 auto 40px;
    font-size: var(--fs-primary);
    line-height: 1.6;
    color: var(--color-text-primary);
}

.thank-you .thank-you__text a {
    color: var(--color-blue);
    font-weight: var(--fw-semibold);
}

.thank-you .thank-you__text a:hover {
    text-decoration: underline;
}

.thank-you .thank-you__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.thank-you .thank-you__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 6px;
    font-weight: var(--fw-semibold);
    font-size: var(--fs-btn);
    transition: opacity var(--transition-fast);
}

.thank-you .thank-you__btn,
.thank-you .thank-you__btn:hover,
.thank-you .thank-you__btn:focus-visible {
    text-decoration: none;
}

.thank-you .thank-you__btn:hover {
    opacity: 0.9;
}

.thank-you .thank-you__btn--primary {
    background-color: var(--color-orange);
    color: var(--color-text-white);
}

.thank-you .thank-you__btn--secondary {
    background-color: #F8EEE5;
    color: var(--color-text-primary);
}

.thank-you .thank-you__btn-icon img {
    width: 20px;
    height: 20px;
}

.thank-you .thank-you__note {
    margin: 0;
    font-size: var(--fs-primary);
    color: var(--color-text-primary);
    opacity: 0.6;
}

@media (max-width: 640px) {
    .thank-you {
        padding: 48px 0;
    }

    .thank-you .thank-you__icon {
        width: 72px;
        height: 72px;
        margin-bottom: 20px;
    }

    .thank-you .thank-you__icon img {
        width: 36px;
        height: 36px;
    }

    .thank-you .thank-you__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .thank-you .thank-you__btn {
        justify-content: center;
        width: 100%;
        padding: 14px 24px;
    }
}
