/* ================================================
   RevIVed Events – Custom Styles
   Supplements theme.json for effects Gutenberg
   can't handle natively.

   TABLE OF CONTENTS
   =================
   01. CSS Custom Properties
   02. Shared Utilities (card hover, scroll reveal)
   03. Font Enforcement
   04. Layout Gaps & Spacing
   05. Header
   06. Hero Section
   07. Treatment Cards Grid
   08. Trust Bar
   09. How It Works (homepage pattern)
   10. Why RevIVed
   11. Testimonials
   12. CTA Section
   13. Buttons
   14. Footer
   15. Contact Page
   16. WPForms
   17. About Page
   18. Services Page
   19. IV Therapy Detail Pages
   20. Free Quote Page
   21. How It Works Page (/how-it-works/)
   22. Blog
   23. Single Post
   24. Careers
   25. Single Career
   26. Global Utilities
   27. Responsive — 1024px
   28. Responsive — 900px
   29. Responsive — 768px
   30. Responsive — 540px
   31. Responsive — 480px
   ================================================ */


/* ============================================================
   01. CSS CUSTOM PROPERTIES
   Mirror theme.json palette for use in custom.css.
   Use these instead of hardcoded hex values.
   ============================================================ */
:root {
    /* Colors (match theme.json) */
    --rv-primary:    #0F4C81;
    --rv-secondary:  #3AAA35;
    --rv-accent:     #1B7A6E;
    --rv-dark-navy:  #0A1E36;
    --rv-slate:      #334155;
    --rv-gray:       #94A3B8;
    --rv-ice-blue:   #E3F2FD;
    --rv-mint-wash:  #E8F5E9;
    --rv-cloud:      #F4F8FB;
    --rv-white:      #FFFFFF;
    --rv-black:      #000000;

    /* Derived colors */
    --rv-secondary-dark: #2D8A2A;
    --rv-slate-mid:      #475569;
    --rv-slate-light:    #64748B;
    --rv-border:         rgba(226, 232, 240, 0.8);
    --rv-border-light:   rgba(15, 76, 129, 0.06);

    /* Shadows */
    --rv-shadow-sm:   0 1px 3px rgba(0, 0, 0, 0.04);
    --rv-shadow-md:   0 4px 15px rgba(0, 0, 0, 0.08);
    --rv-shadow-lg:   0 12px 40px rgba(0, 0, 0, 0.08);
    --rv-shadow-hero: 0 20px 60px rgba(15, 76, 129, 0.15);

    /* Fonts */
    --rv-font-heading: 'Montserrat', sans-serif;
    --rv-font-body:    'Open Sans', sans-serif;

    /* Transitions */
    --rv-transition: 0.3s ease;
    --rv-transition-fast: 0.2s ease;
}


/* ============================================================
   02. SHARED UTILITIES
   Consolidated patterns used across many components.
   ============================================================ */

/* --- Card Hover Pattern ---
   Used by: treatment cards, service cards, benefit cards,
   index cards, step cards, use-case cards, blog cards,
   career cards, about values cards, testimonial cards */
.revived-treatment-card,
.revived-service-card,
.revived-ivt-benefit-card,
.revived-ivt-index-card,
.revived-ivt-steps-grid .wp-block-group.has-white-background-color,
.revived-hiw-step-card,
.revived-hiw-usecase-card,
.revived-blog-card,
.revived-career-card,
.revived-about-values > .wp-block-columns > .wp-block-column > .wp-block-group {
    box-shadow: var(--rv-shadow-sm);
    border: 1px solid var(--rv-border);
    transition: transform var(--rv-transition), box-shadow var(--rv-transition), border-color var(--rv-transition);
}

.revived-treatment-card:hover,
.revived-service-card:hover,
.revived-ivt-benefit-card:hover,
.revived-ivt-index-card:hover,
.revived-ivt-steps-grid .wp-block-group.has-white-background-color:hover,
.revived-hiw-step-card:hover,
.revived-hiw-usecase-card:hover,
.revived-blog-card:hover,
.revived-career-card:hover,
.revived-about-values > .wp-block-columns > .wp-block-column > .wp-block-group:hover {
    transform: translateY(-4px);
    box-shadow: var(--rv-shadow-lg);
    border-color: transparent;
}

/* Slightly less lift for step cards */
.revived-hiw-step-card:hover {
    transform: translateY(-3px);
}

/* --- Scroll Reveal Animation --- */
.revived-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.revived-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}


/* ============================================================
   03. FONT ENFORCEMENT
   ============================================================ */
body,
.wp-block-post-content,
.entry-content {
    font-family: var(--rv-font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.has-montserrat-font-family {
    font-family: var(--rv-font-heading) !important;
}


/* ============================================================
   04. LAYOUT GAPS & SPACING
   ============================================================ */

/* Fix Nav-to-Hero Gap */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group {
    margin-top: 0 !important;
}

.wp-block-post-content > .alignfull:first-child,
.entry-content > .alignfull:first-child,
.wp-block-post-content > .revived-hero:first-child {
    margin-top: 0 !important;
}

.revived-hero {
    margin-top: 0 !important;
}

/* Remove empty paragraph gap before hero */
.wp-block-post-content > p:first-child:empty,
.entry-content > p:first-child:empty {
    display: none;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}

/* Content Side Padding */
.revived-hero,
.wp-block-group.alignfull {
    padding-left: clamp(1.5rem, 4vw, 4rem) !important;
    padding-right: clamp(1.5rem, 4vw, 4rem) !important;
}

/* Remove WP default block spacing on full-width sections */
.wp-block-group.alignfull + .wp-block-group.alignfull {
    margin-top: 0;
}

/* Section Headings */
.wp-block-group.alignfull > .wp-block-heading {
    letter-spacing: -0.02em;
}


/* ============================================================
   05. HEADER
   ============================================================ */
.revived-header {
    z-index: 100;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.97) !important;
    transition: box-shadow var(--rv-transition);
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: max(clamp(1.5rem, 4vw, 4rem), calc((100% - 1200px) / 2 + 24px)) !important;
    padding-right: max(clamp(1.5rem, 4vw, 4rem), calc((100% - 1200px) / 2 + 24px)) !important;
}

.revived-header.scrolled {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}


/* ============================================================
   06. HERO SECTION
   ============================================================ */

/* Hero Image */
.revived-hero-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    box-shadow: var(--rv-shadow-hero);
}

.revived-hero-image-wrapper {
    position: relative;
}

/* Floating Badge on Hero Image */
.revived-floating-badge {
    position: absolute !important;
    bottom: 1.5rem;
    left: -1rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    z-index: 10;
    animation: floatBadge 3s ease-in-out infinite;
}

/* Floating badge checkmark icon */
.revived-floating-badge > .wp-block-group:first-child {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
    background: var(--rv-mint-wash) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.revived-floating-badge > .wp-block-group:first-child p {
    color: var(--rv-secondary) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

@keyframes floatBadge {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* Hero Spacing */
.revived-hero {
    padding-top: clamp(40px, 5vw, 64px) !important;
    padding-bottom: clamp(40px, 5vw, 64px) !important;
}

/* Main hero columns layout */
.revived-hero > .wp-block-columns {
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem) !important;
}

/* Hero eyebrow label */
.revived-hero > .wp-block-columns > .wp-block-column > p.has-secondary-color {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    color: var(--wp--preset--color--secondary) !important;
}

/* Hero h1 spacing */
.revived-hero h1,
.revived-hero .wp-block-heading {
    margin-bottom: 24px !important;
    line-height: 1.14 !important;
}

.revived-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

/* Hero description paragraph */
.revived-hero > .wp-block-columns > .wp-block-column:first-child > p.has-slate-color {
    font-size: 18px !important;
    line-height: 1.65 !important;
    margin-bottom: 40px !important;
    max-width: 520px;
}

/* Stats labels */
.revived-hero .wp-block-column:first-child > .wp-block-columns p {
    font-size: 14px !important;
    font-weight: 500;
    color: var(--rv-gray) !important;
    margin-top: -4px;
}

/* Stats numbers */
.revived-hero .wp-block-column:first-child > .wp-block-columns .wp-block-heading {
    color: var(--rv-primary) !important;
    margin-bottom: 0 !important;
}

/* Hero buttons */
.revived-hero .wp-block-buttons {
    margin-bottom: 40px !important;
    gap: 16px !important;
}

/* Hero stats row */
.revived-hero .wp-block-column:first-child > .wp-block-columns {
    padding-top: 24px !important;
    margin-top: 0 !important;
    border-top: 1px solid rgba(15, 76, 129, 0.1);
}

/* Ensure all child blocks in hero left column have proper spacing */
.revived-hero .wp-block-column:first-child > * {
    margin-top: 0;
}

/* Remove any WordPress default block gap in hero */
.revived-hero .wp-block-column:first-child {
    gap: 0 !important;
}


/* ============================================================
   07. TREATMENT CARDS GRID
   ============================================================ */
.wp-block-columns:has(.revived-treatment-card) {
    gap: 24px !important;
    align-items: stretch !important;
}

.wp-block-columns:has(.revived-treatment-card) > .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

.revived-treatment-card {
    padding: 40px 24px !important;
    flex: 1 !important;
    text-align: center;
}

.revived-treatment-card h3,
.revived-treatment-card .wp-block-heading {
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

.revived-treatment-card p {
    font-size: 14px !important;
    color: var(--rv-gray) !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
}

/* Treatment card icons — image-based */
.revived-treatment-card .revived-treatment-icon {
    margin: 0 auto 12px !important;
}

.revived-treatment-card .revived-treatment-icon img {
    width: 64px !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 8px;
}

/* Treatment card icons — SVG placeholder style */
.revived-treatment-card .revived-icon {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px !important;
    font-size: 24px;
}

.revived-icon-dehydration { background: var(--rv-ice-blue); color: var(--rv-primary); }
.revived-icon-energy      { background: #FFF8E1; color: #F9A825; }
.revived-icon-recover     { background: var(--rv-mint-wash); color: var(--rv-accent); }
.revived-icon-immune      { background: #FFF3E0; color: #E65100; }
.revived-icon-hangover    { background: #FCE4EC; color: #C62828; }

/* Increase bottom padding for treatments section */
.wp-block-group.alignfull:has(.revived-treatment-card) {
    padding-bottom: clamp(64px, 8vw, 96px) !important;
}


/* ============================================================
   08. TRUST BAR
   ============================================================ */
.revived-trust-bar {
    border-top: 1px solid var(--rv-border-light) !important;
    border-bottom: 1px solid var(--rv-border-light) !important;
}

.revived-trust-bar p {
    transition: color var(--rv-transition-fast);
}

.revived-trust-logo {
    opacity: 0.5;
    transition: opacity var(--rv-transition);
}

.revived-trust-logo:hover {
    opacity: 0.8;
}


/* ============================================================
   09. HOW IT WORKS (homepage pattern)
   ============================================================ */
.how-it-works {
    padding-top: clamp(64px, 8vw, 96px) !important;
    padding-bottom: clamp(64px, 8vw, 96px) !important;
}

/* Header area */
.how-it-works > .wp-block-heading,
.how-it-works > p {
    max-width: 520px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Section label */
.how-it-works > p:first-child {
    margin-bottom: 8px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 2.7px !important;
    color: var(--rv-slate) !important;
}

/* Section H2 */
.how-it-works > .wp-block-heading {
    margin-bottom: 16px !important;
}

/* Description paragraph */
.how-it-works > p.has-slate-color {
    margin-bottom: clamp(40px, 5vw, 64px) !important;
}

/* Steps grid with connecting line */
.how-it-works > .wp-block-columns {
    gap: 40px !important;
    position: relative !important;
}

/* Connecting gradient line between step circles */
.how-it-works > .wp-block-columns::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(12.5% + 20px);
    right: calc(12.5% + 20px);
    height: 2px;
    background: linear-gradient(to right, var(--rv-secondary), var(--rv-accent));
    opacity: 0.3;
    z-index: 0;
}

/* Step number circular badges */
.how-it-works .wp-block-column .wp-block-group > p.has-montserrat-font-family:first-child {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: white !important;
    position: relative;
    z-index: 1;
}

.how-it-works .wp-block-column {
    position: relative;
    z-index: 1;
}

/* Step backgrounds by position */
.how-it-works .wp-block-column:nth-child(1) .wp-block-group > p.has-primary-color:first-child {
    background: var(--rv-primary) !important;
}
.how-it-works .wp-block-column:nth-child(2) .wp-block-group > p.has-secondary-color:first-child {
    background: var(--rv-secondary) !important;
}
.how-it-works .wp-block-column:nth-child(3) .wp-block-group > p.has-accent-color:first-child {
    background: var(--rv-accent) !important;
}
.how-it-works .wp-block-column:nth-child(4) .wp-block-group > p.has-dark-navy-color:first-child {
    background: var(--rv-dark-navy) !important;
}

/* Step headings */
.how-it-works .wp-block-column .wp-block-heading {
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

/* Step descriptions */
.how-it-works .wp-block-column .wp-block-group > p.has-slate-color {
    font-size: 14px !important;
    color: var(--rv-gray) !important;
    line-height: 1.5 !important;
}


/* ============================================================
   10. WHY REVIVED
   ============================================================ */
.why-revived {
    padding-top: clamp(64px, 8vw, 96px) !important;
    padding-bottom: clamp(64px, 8vw, 96px) !important;
}

/* 2-column layout */
.why-revived > .wp-block-columns {
    gap: 64px !important;
    align-items: center !important;
    margin-bottom: 96px !important;
}

/* Image placeholder box */
.why-revived .wp-block-column:first-child > .wp-block-group {
    aspect-ratio: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    overflow: hidden;
}

/* Section label */
.why-revived .wp-block-column:last-child > p.has-gray-color {
    margin-bottom: 40px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 2.7px !important;
    color: var(--rv-slate) !important;
    text-transform: uppercase !important;
}

/* H2 heading */
.why-revived .wp-block-column:last-child > .wp-block-heading {
    margin-bottom: 24px !important;
}

/* Description paragraph */
.why-revived .wp-block-column:last-child > p.has-slate-color {
    font-size: 18px !important;
    line-height: 1.65 !important;
    margin-bottom: 40px !important;
}

/* Benefits list wrapper */
.why-revived .wp-block-column:last-child > .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Each benefit item row */
.why-revived .wp-block-column:last-child > .wp-block-group > .wp-block-group.is-layout-flex {
    gap: 16px !important;
    align-items: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: none !important;
    width: 100% !important;
}

/* Checkmark circle */
.why-revived .benefit-check {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 50% !important;
    background: var(--rv-mint-wash) !important;
    color: var(--rv-secondary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
}

/* Benefit title */
.why-revived .is-layout-flex > .wp-block-group.is-layout-constrained p.has-dark-navy-color {
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
    color: var(--rv-dark-navy) !important;
}

/* Benefit description */
.why-revived .is-layout-flex > .wp-block-group.is-layout-constrained p.has-slate-color {
    font-size: 14px !important;
    color: var(--rv-gray) !important;
    line-height: 1.5 !important;
}


/* ============================================================
   11. TESTIMONIALS
   ============================================================ */
.revived-testimonials {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

/* Label "What Clients Say" */
.revived-testimonials > p.has-secondary-color {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

/* H2 heading */
.revived-testimonials > h2,
.revived-testimonials > .wp-block-heading {
    font-size: 32px !important;
    margin-bottom: 64px !important;
}

/* Cards grid */
.revived-testimonials > .wp-block-columns {
    gap: 24px !important;
    align-items: stretch !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.revived-testimonials > .wp-block-columns > .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

/* Testimonial cards */
.revived-testimonials .wp-block-group.has-white-background-color {
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: var(--rv-shadow-sm) !important;
    border: 1px solid var(--rv-border) !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Stars row */
.revived-testimonials .wp-block-group.has-white-background-color > p:first-child {
    display: flex !important;
    flex-direction: row !important;
    gap: 2px !important;
    margin-bottom: 16px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
}

/* Star emoji images */
.revived-testimonials .wp-block-group.has-white-background-color > p:first-child img.emoji {
    width: 18px !important;
    height: 18px !important;
    display: inline !important;
    vertical-align: middle !important;
}

/* Quote text */
.revived-testimonials .wp-block-group.has-white-background-color > p.has-slate-color {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: var(--rv-slate) !important;
    font-style: italic !important;
    margin-bottom: 24px !important;
    flex: 1 !important;
}

/* Author row */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: none !important;
    width: 100% !important;
}

/* Avatar circle */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap > .wp-block-group:first-child {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Avatar initials */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap > .wp-block-group:first-child p {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Author info wrapper */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap > .wp-block-group:last-child {
    padding: 0 !important;
}

/* Author name */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap > .wp-block-group:last-child p.has-dark-navy-color {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

/* Author role */
.revived-testimonials .wp-block-group.has-white-background-color > .wp-block-group.is-nowrap > .wp-block-group:last-child p.has-gray-color {
    font-size: 12px !important;
    color: var(--rv-gray) !important;
    margin-top: 0 !important;
}


/* ============================================================
   12. CTA SECTION
   ============================================================ */
.wp-block-group.alignfull.has-dark-navy-background-color:not(.revived-footer) {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
    margin-bottom: 0 !important;
}

/* Remove gap between CTA and footer */
.wp-block-post-content > .wp-block-group.alignfull.has-dark-navy-background-color:not(.revived-footer) + * {
    margin-top: 0 !important;
}

/* Kill footer margin-top so CTA sits flush against footer */
footer.wp-block-template-part,
.wp-block-template-part[data-type="footer"],
body .wp-site-blocks > footer,
body .wp-site-blocks > .wp-block-template-part:last-child {
    margin-top: 0 !important;
}

/* CTA button hover */
.has-dark-navy-background-color .wp-block-button__link:hover {
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}


/* ============================================================
   13. BUTTONS
   ============================================================ */
.wp-block-button__link {
    transition: all var(--rv-transition);
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(58, 170, 53, 0.3);
}

.is-style-outline .wp-block-button__link:hover {
    box-shadow: 0 4px 15px rgba(15, 76, 129, 0.2);
}


/* ============================================================
   14. FOOTER
   ============================================================ */
.revived-footer a {
    color: var(--wp--preset--color--gray);
    text-decoration: none;
    transition: color var(--rv-transition-fast);
}

.revived-footer a:hover {
    color: var(--wp--preset--color--white);
}

/* No Bullet Lists */
.is-style-no-bullets,
.is-style-no-bullets li {
    list-style: none !important;
    padding-left: 0 !important;
}

/* Better separator styling */
.wp-block-separator.is-style-wide {
    opacity: 0.3;
}

/* Main footer wrapper */
.revived-footer.has-dark-navy-background-color {
    padding-top: 64px !important;
    padding-bottom: 24px !important;
}

/* Constrain footer content */
.revived-footer.has-dark-navy-background-color > * {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Footer columns */
.revived-footer .wp-block-columns {
    gap: 64px !important;
}

/* Footer logo white */
.revived-footer img.custom-logo,
.revived-footer .wp-block-site-logo img,
.revived-footer .wp-block-image img {
    filter: brightness(0) invert(1) !important;
}

/* Footer column headings */
.revived-footer .wp-block-column > p:first-child strong,
.revived-footer .wp-block-column > .wp-block-heading,
.revived-footer .wp-block-column > h4,
.revived-footer .wp-block-column > p.has-white-color:first-child {
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
}

/* Footer description text */
.revived-footer .wp-block-column:first-child > p:not(:first-child) {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
}

/* Footer links */
.revived-footer .wp-block-column a {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
}

.revived-footer .wp-block-column a:hover {
    color: rgba(255, 255, 255, 1) !important;
}

/* Footer link list items */
.revived-footer .wp-block-column p {
    margin-bottom: 8px !important;
}

/* Social icons row */
.revived-footer .wp-block-social-links,
.revived-footer .wp-block-group.is-layout-flex:has(a[href*="instagram"], a[href*="facebook"]) {
    gap: 12px !important;
    margin-top: 24px !important;
}

/* Social icon items */
.revived-footer .wp-block-social-link,
.revived-footer .wp-block-group.is-layout-flex a {
    width: 36px !important;
    height: 36px !important;
}

/* Footer bottom bar */
.revived-footer > .wp-block-group.is-content-justification-space-between,
.revived-footer > .wp-block-group.is-layout-flex:last-child {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding-top: 24px !important;
    margin-top: 48px !important;
}

/* Footer bottom text */
.revived-footer .wp-block-group.is-content-justification-space-between p,
.revived-footer .wp-block-group.is-layout-flex:last-child p {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Footer bottom policy links row */
.revived-footer .wp-block-group.is-nowrap.is-layout-flex {
    gap: 24px !important;
}


/* ============================================================
   15. CONTACT PAGE
   ============================================================ */
.revived-contact-hero {
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

/* Contact hero label */
.revived-contact-hero > p:first-child {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    color: var(--rv-secondary) !important;
    margin-bottom: 12px !important;
}

/* Contact hero heading */
.revived-contact-hero > .wp-block-heading {
    font-size: 42px !important;
    font-weight: 800 !important;
    color: var(--rv-dark-navy) !important;
    margin-bottom: 16px !important;
}

/* Contact hero description */
.revived-contact-hero > p.has-slate-color {
    font-size: 18px !important;
    line-height: 1.65 !important;
    max-width: 1200px !important;
}

/* Contact page main content area */
.revived-contact-content {
    padding: 64px clamp(1.5rem, 4vw, 4rem) 96px !important;
}

.revived-contact-content > * {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Contact columns layout */
.revived-contact-content > .wp-block-columns {
    gap: 64px !important;
    align-items: flex-start !important;
}

/* Form column heading */
.revived-contact-content h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--rv-dark-navy) !important;
    margin-bottom: 8px !important;
}

/* "Contact Information" heading */
.revived-contact-content .wp-block-column:last-child > h2 {
    margin-bottom: 24px !important;
}

/* Info card styling */
.contact-info-card {
    padding: 32px !important;
    border-radius: 12px !important;
    margin-bottom: 24px !important;
}

/* Info card items */
.contact-info-card .wp-block-group.is-layout-flex {
    gap: 12px !important;
    margin-bottom: 20px !important;
    align-items: flex-start !important;
}

.contact-info-card .wp-block-group.is-layout-flex:last-child {
    margin-bottom: 0 !important;
}

/* Info card label */
.contact-info-card p.has-dark-navy-color {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
}

/* Info card value */
.contact-info-card p.has-slate-color {
    font-size: 14px !important;
    color: var(--rv-slate-light) !important;
}

/* Serving Nationwide card */
.contact-nationwide-card {
    padding: 24px 32px !important;
    border-radius: 12px !important;
}

.contact-nationwide-card h3,
.contact-nationwide-card .wp-block-heading {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--rv-dark-navy) !important;
    margin-bottom: 8px !important;
}

.contact-nationwide-card p {
    font-size: 14px !important;
    color: var(--rv-slate) !important;
    line-height: 1.6 !important;
}


/* ============================================================
   16. WPFORMS
   ============================================================ */
.wpforms-container {
    margin-top: 24px !important;
}

/* Input fields */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container textarea,
.wpforms-container select {
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-family: var(--rv-font-body) !important;
    color: var(--rv-slate) !important;
    background: #fff !important;
    transition: border-color var(--rv-transition-fast), box-shadow var(--rv-transition-fast) !important;
    width: 100% !important;
}

.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container textarea:focus {
    border-color: var(--rv-secondary) !important;
    box-shadow: 0 0 0 3px rgba(58, 170, 53, 0.1) !important;
    outline: none !important;
}

/* Form labels */
.wpforms-container .wpforms-field-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--rv-dark-navy) !important;
    font-family: var(--rv-font-body) !important;
    margin-bottom: 6px !important;
}

/* Sub-labels */
.wpforms-container .wpforms-field-sublabel {
    font-size: 13px !important;
    color: var(--rv-gray) !important;
}

/* Required asterisk */
.wpforms-container .wpforms-required-label {
    color: #DC2626 !important;
}

/* Submit button */
.wpforms-container .wpforms-submit-container button,
.wpforms-container .wpforms-submit-container .wpforms-submit {
    background: var(--rv-secondary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: var(--rv-font-heading) !important;
    cursor: pointer !important;
    transition: all var(--rv-transition) !important;
    letter-spacing: 0.02em !important;
}

.wpforms-container .wpforms-submit-container button:hover,
.wpforms-container .wpforms-submit-container .wpforms-submit:hover {
    background: var(--rv-secondary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(58, 170, 53, 0.3) !important;
}

/* Textarea height */
.wpforms-container textarea {
    min-height: 150px !important;
}


/* ============================================================
   17. ABOUT PAGE
   ============================================================ */
.revived-about-hero {
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

.revived-about-hero > p:first-child {
    margin-bottom: 12px !important;
}

.revived-about-hero > .wp-block-heading {
    margin-bottom: 16px !important;
}

.revived-about-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

.revived-about-hero > p.has-slate-color {
    max-width: 1200px !important;
}

.revived-about-content {
    padding: 64px clamp(1.5rem, 4vw, 4rem) 96px !important;
}

/* Values section cards — equal height */
.revived-about-values > .wp-block-columns {
    align-items: stretch !important;
}

.revived-about-values > .wp-block-columns > .wp-block-column {
    display: flex !important;
}

.revived-about-values > .wp-block-columns > .wp-block-column > .wp-block-group {
    flex: 1 !important;
}


/* ============================================================
   18. SERVICES PAGE
   ============================================================ */
.revived-services-hero {
    margin-top: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 64px !important;
}

.revived-services-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

.revived-services-content {
    padding: 64px clamp(1.5rem, 4vw, 4rem) 0 !important;
}

.revived-services-section h2 {
    margin-bottom: 12px !important;
}

.revived-services-section > p {
    margin-bottom: 32px !important;
}

.revived-services-content hr.wp-block-separator {
    border-color: var(--rv-border-light) !important;
    margin: 0 !important;
}

/* Service cards */
.revived-service-card {
    padding: 40px 24px !important;
    text-align: center;
}

.revived-service-card h3 {
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

.revived-service-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.revived-service-card .revived-service-icon {
    margin: 0 auto 12px !important;
}

.revived-service-card .revived-service-icon img {
    width: 64px !important;
    height: auto !important;
    object-fit: contain !important;
}

.revived-services-grid {
    gap: 24px !important;
    align-items: stretch !important;
}

.revived-services-grid > .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

/* Individual therapy pages (old — kept for compat) */
.revived-therapy-hero {
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 48px !important;
}

.revived-therapy-content {
    padding: 0 clamp(1.5rem, 4vw, 4rem) 96px !important;
}

/* Services V2 Cards */
.revived-service-card-v2 {
    border: 1px solid var(--rv-border-light);
}

.revived-service-card-v2 .revived-service-icon img {
    width: 100px !important;
    height: auto;
    max-height: 160px;
    object-fit: contain;
}

/* Services: remove gap between mint-wash section and CTA */
.has-mint-wash-background-color + .alignfull[style*="#0A1E36"] {
    margin-top: 0 !important;
}

.wp-block-group.has-mint-wash-background-color.has-global-padding.alignfull {
    padding-bottom: 48px !important;
}

.has-mint-wash-background-color.has-global-padding.is-layout-constrained > :last-child {
    margin-bottom: 0 !important;
}


/* ============================================================
   19. IV THERAPY DETAIL PAGES (/iv-therapy/*)
   ============================================================ */

/* Hero */
.revived-ivt-hero {
    margin-top: 0 !important;
}

.revived-ivt-hero h1 {
    margin-bottom: 16px !important;
}

.revived-ivt-hero-image {
    margin: 0 auto !important;
}

.revived-ivt-hero-image img {
    max-height: 420px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.10));
}

/* About Section */
.revived-ivt-about h2 {
    margin-bottom: 20px !important;
}

.revived-ivt-image-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
}

.revived-ivt-about-img {
    margin: 0 auto !important;
}

.revived-ivt-about-img img,
.revived-ivt-condition-img img {
    max-height: 300px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0 12px 30px rgba(0, 0, 0, 0.08));
}

/* Conditions Section */
.revived-ivt-conditions h2 {
    margin-bottom: 16px !important;
}

/* Benefits Grid */
.revived-ivt-benefit-card {
    text-align: center;
}

/* IV Therapy Index Page */
.revived-ivt-index-hero {
    margin-top: 0 !important;
}

.revived-ivt-index-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

.revived-ivt-index-card {
    text-align: center;
}

.revived-ivt-index-icon {
    margin: 0 auto 12px !important;
}

.revived-ivt-index-icon img {
    width: 80px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto;
}


/* ============================================================
   20. FREE QUOTE PAGE
   ============================================================ */
.revived-quote-hero {
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

.revived-quote-hero > p:first-child {
    margin-bottom: 12px !important;
}

.revived-quote-hero > .wp-block-heading {
    margin-bottom: 16px !important;
}

.revived-quote-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

.revived-quote-hero > p.has-slate-color {
    max-width: 1200px !important;
}

.revived-quote-content {
    padding: 64px clamp(1.5rem, 4vw, 4rem) 96px !important;
}

/* Quote info card */
.quote-info-card > .wp-block-group.is-layout-flex {
    margin-bottom: 20px !important;
}

.quote-info-card > .wp-block-group.is-layout-flex:last-child {
    margin-bottom: 0 !important;
}

.quote-info-card > .wp-block-group.is-layout-flex > p:first-child {
    min-width: 32px !important;
    line-height: 1 !important;
}


/* ============================================================
   21. HOW IT WORKS PAGE (/how-it-works/)
   ============================================================ */
.revived-hiw-hero {
    margin-top: 0 !important;
}

.revived-hiw-hero h1 {
    margin-bottom: 16px !important;
}

.revived-hiw-hero h1 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

.revived-hiw-hero-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.revived-hiw-hero-img img {
    border-radius: 16px !important;
    max-height: 400px !important;
    width: auto !important;
    object-fit: cover !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

/* Section images */
.revived-hiw-section-img img {
    border-radius: 16px !important;
    max-height: 380px !important;
    width: 100% !important;
    object-fit: cover !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.10);
}

/* Advantage section */
.revived-hiw-advantage h2 em {
    font-style: italic !important;
    color: var(--rv-secondary) !important;
}

/* Step cards (hover handled by shared utility) */
.revived-hiw-step-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.revived-hiw-step-icon svg {
    width: 28px;
    height: 28px;
}

/* Use-case cards */
.revived-hiw-usecase-card {
    height: 100%;
}

.revived-hiw-uc-icon {
    width: 48px;
    height: 48px;
    background: var(--rv-mint-wash);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.revived-hiw-uc-icon svg {
    width: 24px;
    height: 24px;
}

/* Stats section */
.revived-hiw-stats {
    border-radius: 0 !important;
}

/* CTA section */
.revived-hiw-cta {
    text-align: center;
}


/* ============================================================
   22. BLOG
   ============================================================ */

/* Hero */
.revived-blog-hero {
    padding: 80px 5% 60px;
    text-align: center;
}

.revived-blog-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.revived-blog-label {
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--rv-secondary);
    margin-bottom: 12px;
}

.revived-blog-title {
    font-family: var(--rv-font-heading);
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
    color: var(--rv-dark-navy);
}

.revived-blog-title em {
    font-style: italic;
    color: var(--rv-secondary);
}

.revived-blog-subtitle {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rv-slate-mid);
    margin: 0;
}

/* Grid Section */
.revived-blog-grid-section {
    padding: 0 5% 80px;
    background: #F8FAFC;
}

.revived-blog-grid-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 60px;
}

/* 3-column grid */
.revived-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* Card */
.revived-blog-card {
    background: var(--rv-white);
    border-radius: 16px;
    overflow: hidden;
}

.revived-blog-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* Card Image */
.revived-blog-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #EEF2F7;
}

.revived-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--rv-transition);
}

.revived-blog-card:hover .revived-blog-card-image img {
    transform: scale(1.05);
}

.revived-blog-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EEF2F7;
}

.revived-blog-card-placeholder svg {
    width: 48px;
    height: 48px;
    opacity: 0.4;
}

/* Card Content */
.revived-blog-card-content {
    padding: 20px 24px 24px;
}

.revived-blog-card-date {
    font-family: var(--rv-font-heading);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--rv-secondary);
    display: block;
    margin-bottom: 8px;
}

.revived-blog-card-title {
    font-family: var(--rv-font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--rv-dark-navy);
    margin: 0 0 10px;
}

.revived-blog-card-excerpt {
    font-size: 14px;
    line-height: 1.65;
    color: var(--rv-slate-light);
    margin: 0 0 14px;
}

.revived-blog-card-readmore {
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--rv-secondary);
    transition: color var(--rv-transition-fast);
}

.revived-blog-card:hover .revived-blog-card-readmore {
    color: var(--rv-secondary-dark);
}

/* Pagination */
.revived-blog-pagination {
    margin-top: 48px;
    text-align: center;
}

.revived-blog-pagination .page-numbers {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.revived-blog-pagination .page-numbers li {
    display: inline-block;
}

.revived-blog-pagination .page-numbers li a,
.revived-blog-pagination .page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 50px;
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--rv-transition-fast);
    color: var(--rv-slate-mid);
    border: 1px solid var(--rv-border);
    background: var(--rv-white);
}

.revived-blog-pagination .page-numbers li a:hover {
    background: var(--rv-secondary);
    color: var(--rv-white);
    border-color: var(--rv-secondary);
}

.revived-blog-pagination .page-numbers li span.current {
    background: var(--rv-secondary);
    color: var(--rv-white);
    border-color: var(--rv-secondary);
}

.revived-blog-pagination .page-numbers li a.prev,
.revived-blog-pagination .page-numbers li a.next {
    padding: 0 20px;
}

/* Empty state */
.revived-blog-empty {
    text-align: center;
    padding: 60px 20px;
}

.revived-blog-empty h2 {
    font-family: var(--rv-font-heading);
    font-size: 28px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin-bottom: 12px;
}

.revived-blog-empty p {
    font-size: 16px;
    color: var(--rv-slate-light);
}

/* CTA */
.revived-blog-cta {
    background: #0A2540;
    padding: 80px 5%;
    text-align: center;
}

.revived-blog-cta-inner {
    max-width: 700px;
    margin: 0 auto;
}

.revived-blog-cta h2 {
    font-family: var(--rv-font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--rv-white);
    margin: 0 0 16px;
}

.revived-blog-cta p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 32px;
}

.revived-blog-cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.revived-blog-btn-primary {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    background: var(--rv-secondary);
    color: var(--rv-white);
    font-family: var(--rv-font-heading);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 50px;
    transition: background var(--rv-transition-fast);
}

.revived-blog-btn-primary:hover {
    background: var(--rv-secondary-dark);
    color: var(--rv-white);
}

.revived-blog-btn-outline {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    background: transparent;
    color: var(--rv-white);
    font-family: var(--rv-font-heading);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 50px;
    border: 2px solid var(--rv-white);
    transition: all var(--rv-transition-fast);
}

.revived-blog-btn-outline:hover {
    background: var(--rv-white);
    color: #0A2540;
}


/* ============================================================
   23. SINGLE POST
   ============================================================ */
.revived-single-hero {
    padding: 80px 5% 40px;
    text-align: center;
}

.revived-single-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.revived-single-title {
    font-family: var(--rv-font-heading);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--rv-dark-navy);
    margin: 0 0 16px;
}

.revived-single-meta {
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--rv-slate-light);
}

.revived-single-featured {
    padding: 0 5% 40px;
}

.revived-single-featured-inner {
    max-width: 900px;
    margin: 0 auto;
}

.revived-single-featured-inner img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    object-fit: cover;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.10);
}

.revived-single-content {
    padding: 0 5% 60px;
}

.revived-single-content-inner {
    max-width: 760px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.8;
    color: var(--rv-slate);
}

.revived-single-content-inner h2 {
    font-family: var(--rv-font-heading);
    font-size: 28px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin: 40px 0 16px;
}

.revived-single-content-inner h3 {
    font-family: var(--rv-font-heading);
    font-size: 22px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin: 32px 0 12px;
}

.revived-single-content-inner p {
    margin: 0 0 20px;
}

.revived-single-back {
    text-align: center;
    padding: 0 5% 60px;
}

.revived-blog-btn-outline-dark {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: transparent;
    color: var(--rv-primary);
    font-family: var(--rv-font-heading);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    border: 2px solid var(--rv-primary);
    transition: all var(--rv-transition-fast);
}

.revived-blog-btn-outline-dark:hover {
    background: var(--rv-primary);
    color: var(--rv-white);
}


/* ============================================================
   24. CAREERS
   ============================================================ */

/* Hero */
.revived-careers-hero {
    padding: 80px 5% 60px;
    text-align: center;
    background: linear-gradient(135deg, #F8FAFC 0%, #EEF5FF 50%, #F0FAF0 100%);
}

.revived-careers-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.revived-careers-label {
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--rv-secondary);
    margin-bottom: 12px;
}

.revived-careers-title {
    font-family: var(--rv-font-heading);
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
    color: var(--rv-dark-navy);
}

.revived-careers-title em {
    font-style: italic;
    color: var(--rv-secondary);
}

.revived-careers-subtitle {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rv-slate-mid);
    margin: 0;
}

/* Listing Section */
.revived-careers-list-section {
    padding: 0 5% 80px;
    background: #F8FAFC;
}

.revived-careers-list-inner {
    max-width: 900px;
    margin: 0 auto;
    padding-top: 60px;
}

/* List Header */
.revived-careers-list-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #E2E8F0;
}

.revived-careers-list-heading {
    font-family: var(--rv-font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin: 0;
}

.revived-careers-list-count {
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--rv-gray);
    margin: 0;
}

/* Career Cards */
.revived-careers-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.revived-career-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--rv-white);
    border-radius: 16px;
    overflow: hidden;
}

.revived-career-card:hover .revived-career-arrow-circle {
    background: var(--rv-secondary);
    color: var(--rv-white);
}

.revived-career-card-body {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px 36px;
}

.revived-career-card-main {
    flex: 1;
    min-width: 0;
}

.revived-career-card-title {
    font-family: var(--rv-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin: 0 0 8px;
    line-height: 1.3;
}

.revived-career-card-excerpt {
    font-size: 15px;
    line-height: 1.65;
    color: var(--rv-slate-light);
    margin: 0 0 14px;
}

.revived-career-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.revived-career-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--rv-font-heading);
    font-size: 13px;
    font-weight: 600;
    color: var(--rv-gray);
}

.revived-career-meta-item svg {
    flex-shrink: 0;
    color: var(--rv-secondary);
}

/* Arrow */
.revived-career-card-arrow {
    flex-shrink: 0;
}

.revived-career-arrow-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #F1F5F9;
    color: var(--rv-gray);
    transition: all var(--rv-transition);
}

/* Empty State */
.revived-careers-empty {
    text-align: center;
    padding: 80px 20px;
}

.revived-careers-empty-icon {
    margin-bottom: 24px;
    opacity: 0.5;
}

.revived-careers-empty h2 {
    font-family: var(--rv-font-heading);
    font-size: 28px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin-bottom: 12px;
}

.revived-careers-empty p {
    font-size: 16px;
    color: var(--rv-slate-light);
    max-width: 480px;
    margin: 0 auto 28px;
    line-height: 1.7;
}

.revived-careers-btn-outline {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: transparent;
    color: var(--rv-primary);
    font-family: var(--rv-font-heading);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    border: 2px solid var(--rv-primary);
    transition: all var(--rv-transition-fast);
}

.revived-careers-btn-outline:hover {
    background: var(--rv-primary);
    color: var(--rv-white);
}

/* Careers CTA */
.revived-careers-cta {
    background: #0A2540;
    padding: 80px 5%;
    text-align: center;
}

.revived-careers-cta-inner {
    max-width: 700px;
    margin: 0 auto;
}

.revived-careers-cta h2 {
    font-family: var(--rv-font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--rv-white);
    margin: 0 0 16px;
}

.revived-careers-cta p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 32px;
}

.revived-careers-cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}


/* ============================================================
   25. SINGLE CAREER
   ============================================================ */
.revived-career-hero {
    padding: 80px 5% 48px;
    text-align: center;
    background: linear-gradient(135deg, #F8FAFC 0%, #EEF5FF 50%, #F0FAF0 100%);
}

.revived-career-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.revived-career-back-link {
    display: inline-flex;
    align-items: center;
    font-family: var(--rv-font-heading);
    font-size: 14px;
    font-weight: 600;
    color: var(--rv-primary);
    text-decoration: none;
    margin-bottom: 24px;
    transition: color var(--rv-transition-fast);
}

.revived-career-back-link:hover {
    color: var(--rv-secondary);
}

.revived-career-single-title {
    font-family: var(--rv-font-heading);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--rv-dark-navy);
    margin: 0 0 20px;
}

/* Hero Meta */
.revived-career-hero-meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}

.revived-career-hero-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--rv-font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--rv-slate-mid);
    background: rgba(255, 255, 255, 0.7);
    padding: 8px 18px;
    border-radius: 50px;
}

.revived-career-hero-meta-item svg {
    flex-shrink: 0;
    color: var(--rv-secondary);
}

/* Content */
.revived-career-content {
    padding: 0 5% 60px;
    background: #F8FAFC;
}

.revived-career-content-inner {
    max-width: 760px;
    margin: 0 auto;
    padding-top: 48px;
}

.revived-career-body {
    background: var(--rv-white);
    border-radius: 16px;
    padding: 48px;
    border: 1px solid var(--rv-border);
    box-shadow: var(--rv-shadow-sm);
}

.revived-career-body h2 {
    font-family: var(--rv-font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--rv-dark-navy);
    margin: 40px 0 16px;
}

.revived-career-body h2:first-child {
    margin-top: 0;
}

.revived-career-body p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--rv-slate);
    margin: 0 0 20px;
}

.revived-career-body ul {
    padding-left: 20px;
    margin: 0 0 24px;
}

.revived-career-body li {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rv-slate-mid);
    margin-bottom: 8px;
    padding-left: 4px;
}

.revived-career-body li::marker {
    color: var(--rv-secondary);
}

/* Apply CTA */
.revived-career-apply {
    margin-top: 40px;
}

.revived-career-apply-inner {
    background: linear-gradient(135deg, var(--rv-dark-navy) 0%, var(--rv-primary) 100%);
    border-radius: 16px;
    padding: 40px;
    text-align: center;
}

.revived-career-apply-inner h3 {
    font-family: var(--rv-font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--rv-white);
    margin: 0 0 12px;
}

.revived-career-apply-inner p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 24px;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.revived-career-apply-inner .revived-blog-btn-primary {
    font-size: 15px;
}

/* Back Bottom */
.revived-career-back-bottom {
    text-align: center;
    padding: 0 5% 60px;
    background: #F8FAFC;
}


/* ============================================================
   26. GLOBAL UTILITIES
   ============================================================ */
html {
    scroll-behavior: smooth;
}

.wp-block-navigation a {
    text-decoration: none;
}

.wp-block-image img {
    border-radius: inherit;
}


/* ============================================================
   27. RESPONSIVE — 1024px
   ============================================================ */
@media (max-width: 1024px) {
    .revived-hero .wp-block-columns {
        gap: 2rem;
    }

    /* Hide connecting line when steps wrap */
    .how-it-works > .wp-block-columns::before {
        display: none;
    }
}


/* ============================================================
   28. RESPONSIVE — 900px
   ============================================================ */
@media (max-width: 900px) {
    .revived-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ============================================================
   29. RESPONSIVE — 768px
   ============================================================ */
@media (max-width: 768px) {
    /* Hero */
    .revived-hero .wp-block-column:first-child { order: 2; }
    .revived-hero .wp-block-column:last-child { order: 1; }
    .revived-hero h1 { font-size: 2.25rem !important; }

    .revived-floating-badge {
        position: relative !important;
        bottom: auto;
        left: auto;
        margin-top: 1rem;
    }

    /* Treatment Cards */
    .wp-block-columns:has(.revived-treatment-card) { flex-wrap: wrap; }
    .wp-block-columns:has(.revived-treatment-card) > .wp-block-column {
        flex-basis: calc(50% - 0.5rem) !important;
    }

    /* Services */
    .revived-services-grid { flex-wrap: wrap !important; }
    .revived-services-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
    .revived-services-hero .wp-block-columns { flex-direction: column-reverse; }

    /* IV Therapy */
    .revived-ivt-hero .wp-block-columns { flex-direction: column-reverse !important; }
    .revived-ivt-hero h1 { font-size: 36px !important; }
    .revived-ivt-hero-image img { max-height: 280px !important; }
    .revived-ivt-about .wp-block-columns,
    .revived-ivt-conditions .wp-block-columns { flex-direction: column !important; }
    .revived-ivt-benefits .wp-block-columns { flex-wrap: wrap !important; }
    .revived-ivt-benefits .wp-block-columns > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
    .revived-ivt-steps-grid { flex-direction: column !important; }
    .revived-ivt-index-grid .wp-block-columns { flex-wrap: wrap !important; }
    .revived-ivt-index-grid .wp-block-columns > .wp-block-column { flex-basis: calc(50% - 12px) !important; }

    /* How It Works Page */
    .revived-hiw-hero { padding-top: 40px !important; padding-bottom: 40px !important; }
    .revived-hiw-hero h1 { font-size: 32px !important; }
    .revived-hiw-hero .wp-block-columns { flex-direction: column !important; }
    .revived-hiw-hero .wp-block-column { flex-basis: 100% !important; }
    .revived-hiw-hero-image { margin-top: 32px; }

    .revived-hiw-advantage .wp-block-columns,
    .revived-hiw-engagement .wp-block-columns { flex-direction: column !important; }
    .revived-hiw-advantage .wp-block-column,
    .revived-hiw-engagement .wp-block-column { flex-basis: 100% !important; }
    .revived-hiw-step-card .wp-block-columns { flex-direction: row !important; }
    .revived-hiw-usecases .wp-block-columns { flex-direction: column !important; }
    .revived-hiw-usecases .wp-block-column { flex-basis: 100% !important; margin-bottom: 16px; }
    .revived-hiw-stats .wp-block-columns { flex-direction: column !important; gap: 16px; }

    /* Blog */
    .revived-blog-hero { padding: 50px 5% 40px; }
    .revived-blog-title { font-size: 32px; }
    .revived-single-title { font-size: 30px; }
    .revived-blog-grid { gap: 20px; }

    /* Careers */
    .revived-careers-hero { padding: 50px 5% 40px; }
    .revived-careers-title { font-size: 32px; }
    .revived-career-single-title { font-size: 30px; }
    .revived-career-card-body { padding: 24px; flex-direction: column; align-items: flex-start; gap: 16px; }
    .revived-career-card-arrow { align-self: flex-end; margin-top: -12px; }
    .revived-careers-list-header { flex-direction: column; gap: 4px; }
    .revived-career-body { padding: 32px 24px; }
    .revived-career-apply-inner { padding: 32px 24px; }
}


/* ============================================================
   30. RESPONSIVE — 540px
   ============================================================ */
@media (max-width: 540px) {
    .revived-blog-grid { grid-template-columns: 1fr; }
    .revived-blog-title { font-size: 28px; }
    .revived-blog-cta h2 { font-size: 26px; }
    .revived-blog-cta-buttons { flex-direction: column; align-items: center; }

    .revived-careers-title { font-size: 28px; }
    .revived-career-single-title { font-size: 26px; }
    .revived-careers-cta h2 { font-size: 26px; }
    .revived-careers-cta-buttons { flex-direction: column; align-items: center; }
    .revived-career-card-meta { flex-direction: column; gap: 8px; }
    .revived-career-hero-meta { flex-direction: column; align-items: center; gap: 12px; }
}


/* ============================================================
   31. RESPONSIVE — 480px
   ============================================================ */
@media (max-width: 480px) {
    .revived-hero h1 { font-size: 1.85rem !important; }

    .wp-block-columns:has(.revived-treatment-card) > .wp-block-column {
        flex-basis: 100% !important;
    }

    .revived-services-grid > .wp-block-column { flex-basis: 100% !important; }

    .revived-ivt-hero h1 { font-size: 30px !important; }
    .revived-ivt-benefits .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
    .revived-ivt-index-grid .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }

    .revived-hiw-hero h1 { font-size: 26px !important; }
    .revived-hiw-advantage h2,
    .revived-hiw-steps h2,
    .revived-hiw-engagement h2,
    .revived-hiw-usecases h2,
    .revived-hiw-cta h2 { font-size: 28px !important; }
    .revived-hiw-step-card { padding: 20px 20px !important; }
    .revived-hiw-step-card .wp-block-columns { flex-direction: column !important; }
    .revived-hiw-step-icon { margin-bottom: 12px; }
}
