/**
 * NCBA Landing Page Version 2 - "Empower Communities Through Cooperatives"
 * Design System: Archivo + Raleway | Dark Navy + Cyan + Maroon + Gray
 * MOBILE-FIRST RESPONSIVE - MATCHES FIGMA EXACTLY
 */

/* ==========================================
   CSS VARIABLES - VERSION 2 DESIGN SYSTEM
   ========================================== */
:root {
    /* Colors - From Figma */
    --v2-primary-navy: #0A2E4C;
    --v2-accent-cyan: #10AEEE;
    --v2-accent-teal: #129899;
    --v2-accent-maroon: #850A39;
    --v2-bg-gray: #E9E9E9;
    --v2-bg-light: #F4F4F4;
    --v2-white: #FFFFFF;
    --v2-text-dark: #0A2E4C;
    --v2-text-gray: #525252;
    --v2-text-black: #1E1E1E;

    /* Fonts */
    --v2-font-vastago: 'Schibsted Grotesk', sans-serif;
    --v2-font-raleway: 'Raleway', sans-serif;
    --v2-font-anton: 'Anton', sans-serif;

    /* Spacing - Mobile First */
    --v2-section-padding: 48px 20px;
    --v2-container-width: 100%;
}

/* ==========================================
   RESET & BASE STYLES
   ========================================== */
.landing-v2 {
    margin: 0;
    padding: 0;
    font-family: var(--v2-font-raleway);
    font-size: 16px;
    line-height: 1.5;
    color: var(--v2-text-dark);
    background: var(--v2-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Override theme's main.css letter-spacing on headings */
body.page-template-page-landing-v2,
.landing-v2 h1, .landing-v2 .h1,
.landing-v2 h2, .landing-v2 .h2,
.landing-v2 h3, .landing-v2 .h3,
.landing-v2 h4, .landing-v2 .h4,
.landing-v2 h5, .landing-v2 .h5,
.landing-v2 h6, .landing-v2 .h6 {
    letter-spacing: 0 !important;
}

.landing-v2 * {
    box-sizing: border-box;
}

.landing-v2 img {
    max-width: 100%;
    height: auto;
    display: block;
}

.landing-v2 a {
    color: inherit;
    text-decoration: none;
}

/* ==========================================
   HEADER / NAVIGATION - MOBILE (375px)
   ========================================== */
.landing-header-v2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 23px 30px;
    background: var(--v2-white);
    border-bottom: 0.26px solid #ECE7E7;
}

/* Account for WP Admin Bar when logged in */
.admin-bar .landing-header-v2 {
    top: 46px; /* WP admin bar height on mobile */
}

.admin-bar .landing-v2 .hero-text-above {
    padding-top: calc(95px + 46px) !important; /* Add admin bar height to top padding */
}

.landing-header-v2 .landing-logo img {
    height: 33px;
    width: auto;
    max-width: 110px;
}

/* ==========================================
   HERO TEXT ABOVE - ALL SIZES
   ========================================== */
.landing-v2 .hero-text-above {
    background: var(--v2-white) !important;
    padding: 95px 20px 32px !important;
    text-align: center !important;
    display: block !important;
}

.landing-v2 .hero-text-above .hero-title {
    font-family: var(--v2-font-vastago) !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.64px !important;
    color: var(--v2-primary-navy) !important;
    margin: 0 0 16px 0 !important;
    text-transform: none !important;
}

.landing-v2 .hero-text-above .hero-description {
    font-family: var(--v2-font-raleway) !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08px !important;
    color: var(--v2-primary-navy) !important;
    margin: 0 !important;
}

/* ==========================================
   HERO SECTION - MOBILE (375px)
   ========================================== */
.hero-v2 {
    position: relative;
    min-height: 450px; /* Reduced height for mobile */
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Align form to left */
    justify-content: center;
    padding: 80px 20px 80px; /* Increased top padding to show more image */
    overflow: visible; /* Allow dots to show outside */
    background: var(--v2-white);
    border-radius: 20px; /* Rounded slider container */
    margin: 0 16px; /* Add side margins for rounded effect */
}

/* Background Image Rotation */
.hero-backgrounds {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit; /* Match parent's rounded corners */
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    border-radius: 20px; /* Rounded corners on mobile */
    overflow: hidden;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cover the container like background images */
    object-position: center; /* Center the image */
    display: block;
    border-radius: 20px; /* Rounded corners on mobile */
}

.hero-bg.active {
    opacity: 1;
}

/* Dot Indicators */
.hero-v2 .hero-dots {
    position: absolute;
    bottom: 20px; /* Position at bottom of slider */
    top: auto !important;
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    align-items: center !important; /* Vertically center dots */
    gap: 8px;
    z-index: 10 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.hero-dot {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.5) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.hero-dot.active {
    width: 18px !important;
    height: 18px !important;
    background: var(--v2-accent-teal) !important;
}

.hero-dot:hover {
    background: var(--v2-white) !important;
}

/* Hero Overlay - Hidden on mobile and tablet */
.hero-v2 .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, rgba(153,153,153,0) 50%);
    z-index: 1;
    border-radius: inherit; /* Match parent's rounded corners */
    display: none; /* Hidden on mobile and tablet */
}

.hero-v2 .hero-container {
    position: relative;
    z-index: 2;
    max-width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Align form to left */
    width: 100%;
}

/* ==========================================
   HERO FORM CARD - MOBILE
   ========================================== */
.hero-v2 .hero-form-card {
    width: 100%;
    max-width: 100%; /* Full width on mobile */
    background: var(--v2-white);
    border-radius: 12px;
    padding: 17px 12px 28px;
    box-shadow: 0px 0px 99.53px 0px rgba(18, 18, 18, 0.08);
    margin-top: 180px; /* Much more space above form to show more of the image */
}

.landing-v2 .form-placeholder h3,
.landing-v2 .hero-form-card h3 {
    font-family: var(--v2-font-vastago);
    font-size: 31px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.62px;
    text-transform: capitalize;
    color: var(--v2-accent-cyan);
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    margin: 0 0 15px;
    padding: 6px;
    text-align: center;
    text-transform: uppercase;
}

.landing-v2 .hero-form-card > p {
    font-family: var(--v2-font-raleway);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--v2-primary-navy);
    margin: 0 0 20px;
    text-align: center;
}

/* Form Background */
.hero-form-card .form-content {
    background: var(--v2-bg-light);
    border-radius: 12px;
    padding: 12px;
}

/* Donation Toggle Buttons */
.donation-form-wrapper .wpcf7-form fieldset {
    border: none !important;
}

/* ==========================================
   DONATION FORM WRAPPER VISIBILITY
   Toggled by initFrequencyToggle() in landing-v2.js.
   ========================================== */
.donation-form-wrapper {
    display: none;
}

.donation-form-wrapper.is-active {
    display: block;
}

/* ==========================================
   DONATION PRE-FORM (heading + frequency toggle)
   Sits ABOVE the CF7 step bar; hidden by JS on steps 2-3.
   ========================================== */
.donation-pre-form {
    margin-bottom: 24px;
}

.donation-pre-form.is-hidden {
    display: none;
}

.donation-pre-form .donation-heading {
    font-family: var(--v2-font-anton);
    font-size: 40px;
    line-height: 1;
    color: var(--v2-primary-navy);
    text-transform: uppercase;
    margin: 0 0 8px;
}

.donation-pre-form .donation-description {
    font-family: var(--v2-font-raleway);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--v2-primary-navy);
    margin: 0 0 23px;
}

.donation-pre-form .btn-donation {
    font-weight: 600;
    color: var(--v2-accent-cyan) !important;
    padding: 0 !important;
    background: transparent !important;
    letter-spacing: 1px;
}

/* Frequency toggle */
.frequency-toggle {
    display: block;
}

.frequency-toggle-label {
    display: block;
    font-family: var(--v2-font-raleway);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--v2-primary-navy);
    margin: 0 0 8px;
}

.frequency-toggle-buttons {
    display: flex;
    width: 100%;
    gap: 8px;
}

.frequency-btn {
    flex: 1;
    padding: 12px 16px;
    font-family: var(--v2-font-raleway);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: 1px solid var(--v2-primary-navy);
    background: var(--v2-white);
    color: var(--v2-primary-navy);
    border-radius: 44.07px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.frequency-btn:hover {
    background: var(--v2-bg-light);
}

.frequency-btn.is-active,
.frequency-btn.is-active:hover {
    background: var(--v2-primary-navy);
    color: var(--v2-white);
    border-color: var(--v2-primary-navy);
}


.landing-v2 .donation-toggle {
    display: flex;
    flex-direction: row;
    gap: 12px;
    margin-bottom: 18px;
}

.landing-v2 .donation-toggle-btn {
    flex: 1;
    padding: 8px 18px;
    font-family: var(--v2-font-vastago);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.6;
    text-transform: uppercase;
    background: var(--v2-white);
    border: 0.65px solid rgba(10, 46, 76, 0.59);
    border-radius: 31px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.landing-v2 .donation-toggle-btn.active {
    background: var(--v2-primary-navy);
    color: var(--v2-white);
    border-color: var(--v2-primary-navy);
}

/* Amount Buttons */
.landing-v2 .amount-buttons {
    display: flex;
    flex-direction: row;
    gap: 12px;
    margin-bottom: 16px;
}

.landing-v2 .amount-btn {
    flex: 1;
    padding: 3px 27px;
    font-family: var(--v2-font-vastago);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.6;
    color: var(--v2-primary-navy);
    background: var(--v2-white);
    border: 0.62px solid rgba(10, 46, 76, 0.59);
    border-radius: 27px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.landing-v2 .amount-btn.active {
    border-width: 2px;
    border-color: var(--v2-primary-navy);
}

/* Custom Amount Field */
.landing-v2 .custom-amount-field {
    width: 100%;
    padding: 7.5px 10px;
    font-family: var(--v2-font-raleway);
    font-size: 10px;
    font-weight: 400;
    font-style: italic;
    color: var(--v2-primary-navy);
    background: var(--v2-white);
    border: 0.65px solid rgba(10, 46, 76, 0.59);
    border-radius: 33px;
    margin-bottom: 16px;
}

.landing-v2 .custom-amount-field::placeholder {
    color: #ADABAB;
}

/* Submit Button */
.landing-v2 .donation-submit-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 5px 20px;
    background: var(--v2-accent-teal);
    color: var(--v2-white);
    border: none;
    border-radius: 38px;
    font-family: var(--v2-font-vastago);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    transition: all 0.3s ease;
}

.landing-v2 .donation-submit-btn:hover {
    background: #0f8a8a;
    transform: translateY(-2px);
}

/* "Why so many sevens?" Link */
.landing-v2 .sevens-info-trigger {
    display: block;
    text-align: center;
    font-family: var(--v2-font-vastago);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.15px;
    color: var(--v2-primary-navy);
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    margin: 16px 0 0;
    cursor: pointer;
}

/* ==========================================
   STATS CAROUSEL SECTION - MOBILE
   ========================================== */
.landing-v2 .stats-carousel-section {
    background: transparent;
    padding: 0;
    margin-top: -50px;
    position: relative;
    z-index: 10;
}

.landing-v2 .stats-carousel-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 28px 13px;
    background: rgba(205, 223, 219, 0.5);
    backdrop-filter: blur(100px);
}

.landing-v2 .stats-carousel {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.landing-v2 .stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}

.landing-v2 .stat-value {
    font-family: var(--v2-font-anton);
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--v2-white);
}

.landing-v2 .stat-description {
    font-family: var(--v2-font-raleway);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--v2-white);
}

/* ==========================================
   TESTIMONIALS SECTION - MOBILE
   ========================================== */
.landing-v2 .testimonials-section {
    background: var(--v2-white) !important;
    padding: 48px 21px !important;
    display: block !important;
    overflow: visible !important;
}

.landing-v2 .testimonials-container {
    max-width: 100%;
    width: 100% !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
    overflow: visible !important;
}

@media (min-width: 1440px) {
    .landing-v2 .testimonials-container {
        max-width: var(--v2-container-width) !important;
    }
}

.landing-v2 .testimonials-heading {
    font-family: var(--v2-font-raleway) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-transform: capitalize !important;
    color: var(--v2-white) !important;
    background: var(--v2-accent-maroon) !important;
    display: inline-block !important;
    padding: 9px 18px !important;
    margin: 0 !important;
    border-radius: 774px !important;
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 50px !important;
}

.landing-v2 .testimonials-slider {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    width: 100% !important;
    overflow: visible !important;
}

/* Equal heights - apply to track only */
.landing-v2 .testimonials-slider.slick-initialized .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.landing-v2 .testimonials-slider.slick-initialized .slick-slide {
    height: inherit !important;
}

.landing-v2 .testimonial-card,
.landing-v2 .testimonials-slider .testimonial-card,
.landing-v2 .slick-slide .testimonial-card {
    background: var(--v2-white) !important;
    border: 1.92px solid var(--v2-primary-navy) !important;
    border-radius: 18px !important;
    padding: 30px 24px 24px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    position: relative !important;
    min-height: 311px !important;
    height: 100% !important; /* Equal height - cards expand to match tallest */
    transition: all 0.3s ease !important;
}

.landing-v2 .testimonial-image {
    width: 97px !important;
    height: 97px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 0 auto !important;
    flex-shrink: 0 !important;
}

.landing-v2 .testimonial-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.landing-v2 .testimonial-quote {
    font-family: var(--v2-font-vastago);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.27 ;
    letter-spacing: -0.25px;
    color: var(--v2-primary-navy);
    margin: 0;
    flex-grow: 1;
    transition: color 0.3s ease;
    width: 100%;
}

.landing-v2 blockquote {
    background-color: transparent;
    border-left: 0;
    border-radius: 0;
    color: inherit;
    font: inherit;
    font-style: normal;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    text-align: left;
}

.landing-v2 .testimonial-author {
    margin-top: auto; /* Anchor name/title to bottom of card */
    display: flex;
    gap: 8px;
    align-items: center; /* Vertically center name, line, title */
    height: auto;
    width: 100%;
}

.landing-v2 .author-name {
    font-family: var(--v2-font-vastago);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.46;
    letter-spacing: -0.21px;
    color: var(--v2-accent-maroon);
    margin: 0;
    transition: color 0.3s ease;
}

.landing-v2 .author-title {
    font-family: var(--v2-font-vastago);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.09;
    letter-spacing: -0.18px;
    color: var(--v2-accent-maroon);
    margin: 0;
    transition: color 0.3s ease;
}

/* Vertical separator line between name and title */
.landing-v2 .author-separator {
    width: 1px;
    height: 33px;
    background: var(--v2-primary-navy);
    opacity: 0.3;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* Hover Effect - Navy Background with White Text */
.landing-v2 .testimonial-card:hover {
    background: var(--v2-primary-navy) !important;
    border-color: var(--v2-primary-navy) !important;
}

.landing-v2 .testimonial-card:hover .testimonial-quote,
.landing-v2 .testimonial-card:hover .author-name,
.landing-v2 .testimonial-card:hover .author-title {
    color: var(--v2-white) !important;
}

.landing-v2 .testimonial-card:hover .author-separator {
    background: var(--v2-white) !important;
}

.landing-v2 .testimonial-card:hover::after {
    color: var(--v2-white) !important;
}

/* Decorative Quote Marks - Show on all sizes */
.landing-v2 .testimonial-card::after {
    content: '';
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 0;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTIiIGhlaWdodD0iOTIiIHZpZXdCb3g9IjAgMCA5MiA5MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE4MjZfMTg1KSI+CjxwYXRoIGQ9Ik0wIDQ2Vjg1LjQyODdIMzkuNDI4NlY0NkgxMy4xNDNDMTMuMTQzIDMxLjUwNjQgMjQuOTM1IDE5LjcxNDQgMzkuNDI4NiAxOS43MTQ0VjYuNTcxNDFDMTcuNjg2NCA2LjU3MTQxIDAgMjQuMjU3OCAwIDQ2WiIgZmlsbD0iIzAwM0M2MiIvPgo8cGF0aCBkPSJNOTIgMTkuNzE0NFY2LjU3MTQxQzcwLjI1NzggNi41NzE0MSA1Mi41NzE0IDI0LjI1NzggNTIuNTcxNCA0NlY4NS40Mjg3SDkyVjQ2SDY1LjcxNDRDNjUuNzE0NCAzMS41MDY0IDc3LjUwNjQgMTkuNzE0NCA5MiAxOS43MTQ0WiIgZmlsbD0iIzAwM0M2MiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzE4MjZfMTg1Ij4KPHJlY3Qgd2lkdGg9IjkyIiBoZWlnaHQ9IjkyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}

/* Change quote icon to white on hover */
.landing-v2 .testimonial-card:hover::after {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTIiIGhlaWdodD0iOTIiIHZpZXdCb3g9IjAgMCA5MiA5MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE4MjZfMTg1KSI+CjxwYXRoIGQ9Ik0wIDQ2Vjg1LjQyODdIMzkuNDI4NlY0NkgxMy4xNDNDMTMuMTQzIDMxLjUwNjQgMjQuOTM1IDE5LjcxNDQgMzkuNDI4NiAxOS43MTQ0VjYuNTcxNDFDMTcuNjg2NCA2LjU3MTQxIDAgMjQuMjU3OCAwIDQ2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTkyIDE5LjcxNDRWNi41NzE0MUM3MC4yNTc4IDYuNTcxNDEgNTIuNTcxNCAyNC4yNTc4IDUyLjU3MTQgNDZWODUuNDI4N0g5MlY0Nkg2NS43MTQ0QzY1LjcxNDQgMzEuNTA2NCA3Ny41MDY0IDE5LjcxNDQgOTIgMTkuNzE0NFoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTgyNl8xODUiPgo8cmVjdCB3aWR0aD0iOTIiIGhlaWdodD0iOTIiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==');
}

/* Testimonials Navigation - Positioned Above Cards */
.landing-v2 .testimonials-nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    z-index: 10 !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0 !important;
    height: auto !important;
    padding: 10px 0 10px 10px;
}


/* Circular arrow buttons - Filled maroon circles */
.landing-v2 .testimonials-prev,
.landing-v2 .testimonials-next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: var(--v2-accent-maroon) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-size: 0 !important; /* Hide text */
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
}

/* Arrow SVG using background image or pseudo-element */
.landing-v2 .testimonials-prev::before,
.landing-v2 .testimonials-next::before {
    content: '' !important;
    display: block !important;
    width: 23px !important;
    height: 19px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Left arrow */
.landing-v2 .testimonials-prev::before {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyMyAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuODY2MDg3IDguMzIxMDdDMC4zNzc5MzIgOC44MDkyMyAwLjM3NzkzMiA5LjYwMDY4IDAuODY2MDg3IDEwLjA4ODhMOC44MjEwMyAxOC4wNDM4QzkuMzA5MTkgMTguNTMxOSAxMC4xMDA2IDE4LjUzMTkgMTAuNTg4OCAxOC4wNDM4QzExLjA3NyAxNy41NTU2IDExLjA3NyAxNi43NjQyIDEwLjU4ODggMTYuMjc2TDMuNTE3NzkgOS4yMDQ5NkwxMC41ODg4IDIuMTMzODlDMTEuMDc3IDEuNjQ1NzMgMTEuMDc3IDAuODU0Mjc3IDEwLjU4ODggMC4zNjYxMjJDMTAuMTAwNiAtMC4xMjIwMzMgOS4zMDkxOSAtMC4xMjIwMzMgOC44MjEwMyAwLjM2NjEyMkwwLjg2NjA4NyA4LjMyMTA3Wk0yMS43NSAxMC40NTVDMjIuNDQwNCAxMC40NTUgMjMgOS44OTUzMSAyMyA5LjIwNDk2QzIzIDguNTE0NiAyMi40NDA0IDcuOTU0OTYgMjEuNzUgNy45NTQ5NkwyMS43NSA5LjIwNDk2TDIxLjc1IDEwLjQ1NVpNMS43NSA5LjIwNDk2TDEuNzUgMTAuNDU1TDIxLjc1IDEwLjQ1NUwyMS43NSA5LjIwNDk2TDIxLjc1IDcuOTU0OTZMMS43NSA3Ljk1NDk2TDEuNzUgOS4yMDQ5NloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=') !important;
}

/* Right arrow */
.landing-v2 .testimonials-next::before {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyMyAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIyLjEzMzkgOC4zMjEwN0MyMi42MjIgOC44MDkyMyAyMi42MjIgOS42MDA2OCAyMi4xMzM5IDEwLjA4ODhMMTQuMTc4OSAxOC4wNDM4QzEzLjY5MDggMTguNTMxOSAxMi44OTkzIDE4LjUzMTkgMTIuNDExMiAxOC4wNDM4QzExLjkyMyAxNy41NTU2IDExLjkyMyAxNi43NjQyIDEyLjQxMTIgMTYuMjc2TDE5LjQ4MjIgOS4yMDQ5NkwxMi40MTEyIDIuMTMzODlDMTEuOTIzIDEuNjQ1NzMgMTEuOTIzIDAuODU0Mjc3IDEyLjQxMTIgMC4zNjYxMjJDMTIuODk5MyAtMC4xMjIwMzMgMTMuNjkwOCAtMC4xMjIwMzMgMTQuMTc4OSAwLjM2NjEyMkwyMi4xMzM5IDguMzIxMDdaTTEuMjUgMTAuNDU1QzAuNTU5NjQ1IDEwLjQ1NSA2LjAzNTI4ZS0wOCA5Ljg5NTMxIDAgOS4yMDQ5NkMtNi4wMzUyOGUtMDggOC41MTQ2IDAuNTU5NjQ1IDcuOTU0OTYgMS4yNSA3Ljk1NDk2TDEuMjUgOS4yMDQ5NkwxLjI1IDEwLjQ1NVpNMjEuMjUgOS4yMDQ5NkwyMS4yNSAxMC40NTVMMS4yNSAxMC40NTVMMS4yNSA5LjIwNDk2TDEuMjUgNy45NTQ5NkwyMS4yNSA3Ljk1NDk2TDIxLjI1IDkuMjA0OTZaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K') !important;
}

.landing-v2 .testimonials-prev:hover,
.landing-v2 .testimonials-next:hover {
    opacity: 0.8 !important;
}

/* ==========================================
   IMAGE CARDS SECTION - MOBILE
   ========================================== */
.landing-v2 .image-cards-section {
    background: var(--v2-white);
    padding: 48px 30px;
}

.landing-v2 .image-cards-container {
    max-width: 100%;
    margin: 0 auto;
}

@media (min-width: 1440px) {
    .landing-v2 .image-cards-container {
        max-width: var(--v2-container-width);
    }
}

.landing-v2 .cards-heading {
    font-family: var(--v2-font-vastago);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.64px;
    color: var(--v2-primary-navy);
    text-align: center;
    margin: 0 0 16px;
    text-transform: none;
}

.landing-v2 .cards-description {
    font-family: var(--v2-font-raleway);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.22px;
    color: var(--v2-primary-navy);
    text-align: center;
    margin: 0 auto 32px;
}

.landing-v2 .image-cards-slider {
    display: flex !important;
    flex-direction: column;
    gap: 25px;
}

/* Equal heights for image cards slider */
.landing-v2 .image-cards-slider.slick-initialized .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.landing-v2 .image-cards-slider.slick-initialized .slick-slide {
    height: inherit !important;
}

.landing-v2 .image-cards-slider .image-card {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.landing-v2 .image-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 19px !important;
    height: 100% !important; /* Equal height - cards expand to match tallest */
}

.landing-v2 .card-image {
    height: 194px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    display: block !important;
    visibility: visible !important;
    flex-shrink: 0; /* Prevent image from shrinking */
}

.landing-v2 .card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

.landing-v2 .card-image::after {
    display: none;
}

.landing-v2 .card-title {
    font-family: var(--v2-font-vastago);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--v2-primary-navy);
    border: none;
    padding: 0;
    margin: 0;
    text-transform: none;
    padding-bottom: 1rem;
}

.landing-v2 .card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex-grow: 1; /* Expands to push link to bottom */
}

.landing-v2 .card-description {
    font-family: var(--v2-font-vastago);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--v2-primary-navy);
    margin: 0;
    flex-grow: 1; /* Expands to fill space */
}

.landing-v2 .card-link {
    margin-top: auto; /* Anchor link to bottom */
}

/* Image Cards Navigation - Hidden on mobile */
.landing-v2 .image-cards-nav {
    display: none;
}

/* ==========================================
   DISCLAIMER SECTION - MOBILE
   ========================================== */
.landing-v2 .disclaimer-section {
    background: var(--v2-white);
    padding: 30px 20px;
}

.landing-v2 .disclaimer-container {
    max-width: 100%;
    margin: 0 auto;
}

@media (min-width: 1440px) {
    .landing-v2 .disclaimer-container {
        max-width: var(--v2-container-width);
    }
}

.landing-v2 .disclaimer-text {
    background: rgba(10, 46, 76, 0.15);
    border-radius: 15px;
    padding: 17px 24px;
    font-family: var(--v2-font-vastago);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.42;
    color: var(--v2-primary-navy);
    text-align: center;
    margin: 0;
    opacity: 0.65;
}

/* ==========================================
   FOOTER - MOBILE
   ========================================== */
.landing-footer-v2 {
    background: var(--v2-bg-gray);
    padding: 48px 30px;
}

body.landing-v2 .landing-footer-v2 .footer-container,
.landing-footer-v2 .footer-container {
    max-width: 100%;
    margin: 0 auto !important;
    display: block !important;
}

/* Footer 4-Column Grid */
body.landing-v2 .landing-footer-v2 .footer-columns,
.landing-footer-v2 .footer-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
}

/* Mobile column order to match Figma */
.landing-footer-v2 .footer-col-1 {
    order: 1;
}

.landing-footer-v2 .footer-col-2 {
    order: 2;
}

.landing-footer-v2 .footer-col-3 {
    order: 3;
}

.landing-footer-v2 .footer-col-4 {
    order: 4;
}

/* Column 1: Logo & Newsletter */
body.landing-v2 .landing-footer-v2 .footer-col-1,
.landing-footer-v2 .footer-col-1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.landing-footer-v2 .v2-footer-logo img {
    height: auto !important;
    width: 100% !important;
    max-width: 200px !important;
}

.landing-footer-v2 .footer-newsletter {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 352px !important;
}

/* Columns 2-4: Info blocks */
.landing-footer-v2 .footer-col-2,
.landing-footer-v2 .footer-col-3,
.landing-footer-v2 .footer-col-4 {
    display: flex !important;
    flex-direction: column !important;
}

.landing-footer-v2 .newsletter-heading {
    font-family: var(--v2-font-raleway);
    font-size: 16px !important; /* Desktop size for all */
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.14px;
    color: var(--v2-text-gray);
    margin: 0;
    text-transform: none;
}

.newsletter-form-default {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #F5F5F5;
    border-radius: 22px;
    padding: 5px 5px 5px 11px;
}

.newsletter-form-default input[type="email"] {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--v2-font-raleway);
    font-size: 11px;
    color: var(--v2-primary-navy);
    padding: 0;
}

.newsletter-form-default input[type="email"]::placeholder {
    color: #A7A2A2;
}

.newsletter-form-default button {
    background: var(--v2-white);
    border: 0.68px solid #E7E6E6;
    border-radius: 137px;
    padding: 5.5px 9.5px;
    font-family: var(--v2-font-vastago);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--v2-text-black);
    cursor: pointer;
    transition: all 0.3s ease;
}

.newsletter-form-default button::after {
    display: none !important;
}

.newsletter-form-default button:hover {
    background: #F0F0F0;
}

/* Footer Info - Mobile Stacked */
.footer-info-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-info-block .info-label {
    font-family: var(--v2-font-raleway);
    font-size: 16px; /* Desktop size for all */
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2px;
    color: var(--v2-text-black);
    margin: 0 0 4px;
}

.landing-footer-v2 .footer-info-block .info-value {
    font-family: var(--v2-font-raleway);
    font-size: 18px; /* Desktop size for all */
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.2px;
    color: var(--v2-text-black);
    margin: 0;
}

/* Bold links in phone and website */
.landing-footer-v2 .footer-col-3 .info-value a,
.landing-footer-v2 .footer-col-4 .info-value a {
    font-weight: 700 !important;
    color: inherit;
    text-decoration: none;
}

.landing-footer-v2 .footer-col-3 .info-value a:hover,
.landing-footer-v2 .footer-col-4 .info-value a:hover {
    text-decoration: underline;
}

.landing-footer-v2 .footer-links a {
    font-family: var(--v2-font-raleway);
    font-size: 16px; /* Desktop size for all */
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2px;
    color: var(--v2-text-black); /* Same as address text */
    display: block;
    margin-bottom: 8px;
    text-decoration: none;
}

.landing-footer-v2 .footer-links a:hover {
    text-decoration: underline;
    color: var(--v2-text-black);
}

/* Footer Bottom Bar - Social Left, Copyright Right (mobile/tablet) */
.footer-bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-top: 33px;
}

.footer-copyright-v2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-family: var(--v2-font-vastago);
    font-size: 16px; /* Desktop size for all */
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.2px;
    color: var(--v2-text-gray);
}

.landing-footer-v2 .footer-social {
    display: flex;
    gap: 8px;
    justify-content: flex-start;
}

.landing-footer-v2 .social-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.714px solid #E5E5E5;
    border-radius: 8px;
    color: var(--v2-text-black);
    transition: all 0.3s ease;
}

.landing-footer-v2 .social-icon:hover {
    background: rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.landing-footer-v1 .lp-footer-social svg {
    width: 36px !important;
    height: 36px !important;
}

.footer-disclaimer {
    margin-top: 16px;
}

.landing-footer-v2 .footer-disclaimer p {
    font-family: var(--v2-font-raleway);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--v2-text-gray);
    text-align: center;
    margin: 0;
}

.landing-footer-v2 .footer-col-2 .footer-links {
    margin-top: 50px;
}

/* ==========================================
   SMALL MOBILE (500px and down)
   ========================================== */
@media (max-width: 500px) {
    .hero-v2 {
        padding: 60px 12px 80px; /* Reduce horizontal padding to give form more room */
    }

    .hero-v2 .hero-form-card {
        margin-top: 100px; /* Less margin on smaller screens */
        padding: 16px 12px 24px; /* Tighter padding */
    }

    .landing-v2 .hero-form-card h3 {
        font-size: 24px !important; /* Smaller heading */
        margin-bottom: 8px;
        letter-spacing: -0.5px;
    }

    .landing-v2 .hero-form-card > p {
        font-size: 11px !important; /* Smaller text */
        margin-bottom: 12px;
    }

    /* Form content background */
    .hero-form-card .form-content {
        padding: 10px; /* Less padding */
    }

    /* Step 1 row padding */
    .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] > .row {
        background: #F4F4F4;
        border-radius: 20.22px;
        padding: 1rem 0.5rem; /* Less horizontal padding on small screens */
    }

    /* Step 1 radio buttons - full width and smaller on small screens */
    html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-form-control-wrap[data-name="frequency"] .wpcf7-radio {
        flex-direction: column !important; /* Stack vertically */
        gap: 10px !important;
    }

    html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item {
        width: 100% !important; /* Full width */
    }

    html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item label {
        font-size: 18px !important; /* Smaller button text */
        padding: 6px 10px !important;
        width: 100% !important; /* Full width */
    }

    html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] label[for="Frequency"] {
        font-size: 13px !important;
        padding-bottom: 6px !important;
    }

    /* Amount buttons */
    .landing-v2 .button-number {
        font-size: 16px !important;
        padding: 8px 12px !important;
    }

    /* Other amount field */
    .landing-v2 .box-input {
        font-size: 16px !important;
        padding: 10px !important;
    }

    /* Submit button */
    .landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn {
        font-size: 16px !important;
        padding: 12px 16px !important;
    }
}

/* ==========================================
   TABLET BREAKPOINT (768px and up)
   ========================================== */
@media (min-width: 768px) {
    /* Tablet Footer Layout */
    .landing-footer-v2 .footer-columns {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 32px !important;
    }

    /* Row 1: Logo & Newsletter full width */
    .landing-footer-v2 .footer-col-1 {
        flex: 0 0 100% !important;
        width: 100% !important;
        order: 1 !important;
    }

    /* Row 2: Address, Phone, Website - 3 equal columns */
    .landing-footer-v2 .footer-col-2 {
        flex: 1 1 calc(33.33% - 22px) !important;
        order: 2 !important;
        min-width: 150px !important;
    }

    .landing-footer-v2 .footer-col-3 {
        flex: 1 1 calc(33.33% - 22px) !important;
        order: 3 !important;
        min-width: 150px !important;
    }

    .landing-footer-v2 .footer-col-4 {
        flex: 1 1 calc(33.33% - 22px) !important;
        order: 4 !important;
        min-width: 150px !important;
    }


    /* Tablet Footer - 2 row layout */
    body.landing-v2 .landing-footer-v2 .footer-columns,
    .landing-footer-v2 .footer-columns {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        gap: 32px !important;
    }

    /* Row 1: Logo & Newsletter full width */
    body.landing-v2 .landing-footer-v2 .footer-col-1,
    .landing-footer-v2 .footer-col-1 {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        order: 1 !important;
    }

    /* Row 2: Address, Phone, Website - 3 equal columns */
    body.landing-v2 .landing-footer-v2 .footer-col-2,
    .landing-footer-v2 .footer-col-2 {
        flex: 1 1 calc(33.33% - 22px) !important;
        min-width: 150px !important;
        max-width: 33.33% !important;
        order: 2 !important;
    }

    body.landing-v2 .landing-footer-v2 .footer-col-3,
    .landing-footer-v2 .footer-col-3 {
        flex: 1 1 calc(33.33% - 22px) !important;
        min-width: 150px !important;
        max-width: 33.33% !important;
        order: 3 !important;
    }

    body.landing-v2 .landing-footer-v2 .footer-col-4,
    .landing-footer-v2 .footer-col-4 {
        flex: 1 1 calc(33.33% - 22px) !important;
        min-width: 150px !important;
        max-width: 33.33% !important;
        order: 4 !important;
    }

    :root {
        --v2-section-padding: 64px 40px;
    }

    .landing-header-v2 {
        padding: 32px 40px;
    }

    .landing-header-v2 .landing-nav {
        max-width: 100%;
        margin: 0 auto;
    }

    .landing-header-v2 .landing-logo img {
        /* height: 44px; */
        max-width: 145px;
        height: auto;
        max-height: 44px;
    }

    .landing-footer-v2 {
        padding: 64px 40px;
    }

    .landing-v2 .hero-text-above {
        padding: 148px 52px 48px !important;
    }

    .landing-v2 .hero-text-above .hero-title {
        font-size: 48px !important;
        letter-spacing: -0.96px !important;
    }

    .landing-v2 .hero-text-above .hero-description {
        font-size: 30px !important;
        letter-spacing: 0.08px !important;
    }

    .hero-v2 {
        min-height: 600px; /* Adjusted height for tablet */
        padding: 100px 52px 80px; /* Increased top padding to show more image */
        border-radius: 24px; /* Larger rounded corners on tablet */
        margin: 0 32px;
    }

    /* Ensure background images have rounded corners on tablet */
    .hero-v2 .hero-bg {
        border-radius: 24px;
    }

    .hero-v2 .hero-bg img {
        border-radius: 24px;
    }

    .hero-v2 .hero-form-card {
        max-width: 100%; /* Full width on tablet */
        width: 100%;
        border-radius: 21px;
        padding: 29px 21px;
        margin-top: 200px; /* Much more space above form to show more of the image */
    }

    .landing-v2 .hero-form-card h3 {
        font-size: 53px;
        letter-spacing: -1.06px;
        padding: 10px;
    }

    .landing-v2 .hero-form-card > p {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .landing-v2 .donation-toggle-btn {
        font-size: 19.5px;
        padding: 14px 31px;
        border-width: 1.12px;
        border-radius: 53px;
    }

    .landing-v2 .amount-btn {
        font-size: 22px;
        padding: 5px 46px;
        border-width: 1.06px;
        border-radius: 47px;
    }

    .landing-v2 .custom-amount-field {
        font-size: 17px;
        padding: 13px 18px;
        border-width: 1.12px;
        border-radius: 57px;
    }

    .landing-v2 .donation-submit-btn {
        font-size: 21px;
        padding: 8.5px 97px;
        border-radius: 65px;
    }

    .landing-v2 .sevens-info-trigger {
        font-size: 17px;
        letter-spacing: -0.26px;
    }

    .landing-v2 .stats-carousel-wrapper {
        padding: 48px 40px;
    }

    .landing-v2 .stats-carousel {
        flex-direction: row;
        gap: 48px;
        max-width: var(--v2-container-width);
    }

    .landing-v2 .stat-item {
        flex-direction: row;
        text-align: left;
        align-items: flex-end;
    }

    .landing-v2 .stat-value {
        font-size: 64px;
    }

    .landing-v2 .stat-description {
        font-size: 16px;
    }

    .landing-v2 .testimonials-section {
        padding: 64px 53px !important;
    }

    .landing-v2 .testimonials-heading {
        font-size: 24px !important;
        padding: 0px 24px !important;
        margin-bottom: 72px !important;
        border-radius: 1102px !important;
    }

    .landing-v2 .testimonials-slider {
        flex-direction: row !important;
    }

    .landing-v2 .testimonials-slider.slick-initialized .slick-track {
        gap: 25px !important;
    }

    .landing-v2 .testimonial-card {
        flex: 1;
        border-width: 3.49px;
        border-radius: 34px;
        padding: 42px 30px 30px;
        min-height: 566px;
    }

    .landing-v2 .testimonial-image {
        width: 177px;
        height: 177px;
        margin: 0;
        position: absolute;
        top: 42px;
        right: 30px;
    }

    .landing-v2 .testimonial-quote {
        font-size: 22px;
        line-height: 1.27;
        letter-spacing: -0.33px;
        margin-top: 106px;
    }

    .landing-v2 .author-name {
        font-size: 18px;
        letter-spacing: -0.27px;
    }

    .landing-v2 .author-title {
        font-size: 16px;
        letter-spacing: -0.24px;
    }

    .landing-v2 .author-separator {
        height: 43px;
    }

    .landing-v2 .image-cards-section {
        padding: 64px 43px;
    }

    .landing-v2 .cards-heading {
        font-size: 48px;
        letter-spacing: -0.96px;
    }

    .landing-v2 .cards-description {
        font-size: 20px;
    }

    .landing-v2 .image-cards-slider {
        flex-direction: column;
    }

    .landing-v2 .image-cards-slider.slick-initialized .slick-track {
        gap: 25px !important;
    }

    .landing-v2 .card-image {
        height: 353px !important;
        border-radius: 23px;
    }

    .landing-v2 .card-title {
        font-size: 28px;
    }

    .landing-v2 .card-description {
        font-size: 16px;
    }

    .landing-v2 .disclaimer-text {
        font-size: 22px;
        padding: 20px 40px;
        border-radius: 27px;
    }

    .footer-info-grid {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 32px;
    }

    .footer-info-block {
        flex: 1 1 45%;
    }

    .footer-info-block .info-label,
    .footer-info-block .info-value,
    .footer-links a {
        font-size: 16px;
    }

    .newsletter-logo img {
        height: 53px;
        max-width: 350px;
    }

    .newsletter-heading {
        font-size: 13px;
    }

    .newsletter-form-default {
        padding: 6px 6px 6px 13px;
        border-radius: 27px;
    }


}

/* ==========================================
   DESKTOP BREAKPOINT (1440px and up)
   ========================================== */
@media (min-width: 1440px) {
    :root {
        --v2-section-padding: 88px 80px;
        --v2-container-width: 1440px;
    }

    .landing-header-v2 {
        padding: 40px 80px;
    }

    .landing-header-v2 .landing-nav {
        max-width: var(--v2-container-width);
        margin: 0 auto;
    }

    /* WP Admin Bar - Desktop */
    .admin-bar .landing-header-v2 {
        top: 32px; /* WP admin bar height on desktop */
    }

    .admin-bar .landing-v2 .hero-text-above {
        padding-top: calc(177px + 32px) !important; /* Add admin bar height to top padding */
    }

    .landing-header-v2 .landing-logo img {
        height: auto;
        max-width: 200px;
    }

    .landing-v2 .hero-text-above {
        padding: 177px 86px 48px !important;
        max-width: var(--v2-container-width) !important;
        margin: 0 auto !important;
    }

    .landing-v2 .hero-text-above .hero-title {
        font-size: 65px !important;
        letter-spacing: -1.3px !important;
        max-width: 1269px !important;
        margin: 0 auto 16px auto !important;
    }

    .landing-v2 .hero-text-above .hero-description {
        font-size: 27px !important;
        letter-spacing: 0.22px !important;
        margin: 0 auto !important;
    }

    .hero-v2 {
        min-height: 650px; /* Adjusted height for desktop */
        padding: 120px 86px 100px; /* Increased top padding to show more image */
        border-radius: 26px; /* Larger rounded corners on desktop */
        margin: 0 80px; /* Side margins to create rounded slider effect */
        max-width: var(--v2-container-width) !important;
        margin: 0 auto;
    }

    /* Show overlay on desktop */
    .hero-v2 .hero-overlay {
        display: block !important;
    }

    /* Ensure background images have rounded corners on desktop */
    .hero-v2 .hero-bg {
        border-radius: 26px;
    }

    .hero-v2 .hero-bg img {
        border-radius: 26px;
    }

    .hero-v2 .hero-container {
        max-width: var(--v2-container-width);
        margin: 0; /* Remove auto centering */
        align-items: flex-start; /* Align form to left */
    }

    .hero-dots {
        bottom: 30px !important; /* More space from bottom on desktop */
    }

    .hero-dot {
        width: 17px !important;
        height: 17px !important;
    }

    .hero-dot.active {
        width: 25px !important;
        height: 25px !important;
    }

    .hero-v2 .hero-form-card {
        max-width: 638px;
        border-radius: 20px;
        padding: 28px 40px;
        margin-top: 0 !important; /* Reset margin-top on desktop */
    }

    .landing-v2 .hero-form-card h3 {
        font-size: 50px;
        letter-spacing: -1px;
        padding: 10px;
        margin-bottom: 24px;
    }

    .landing-v2 .hero-form-card > p {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .landing-v2 .donation-toggle {
        gap: 0;
    }

    .landing-v2 .donation-toggle-btn {
        font-size: 18px;
        padding: 13px 29px;
        border-width: 1.05px;
        border-radius: 50px;
    }

    .landing-v2 .amount-buttons {
        gap: 12px;
    }

    .landing-v2 .amount-btn {
        font-size: 21px;
        padding: 5px 43px;
        border-width: 1px;
        border-radius: 44px;
    }

    .landing-v2 .custom-amount-field {
        font-size: 16px;
        padding: 13px 17px;
        border-width: 1.05px;
        border-radius: 53px;
    }

    .landing-v2 .donation-submit-btn {
        font-size: 20px;
        padding: 8px 91px;
        border-radius: 61px;
    }

    .landing-v2 .sevens-info-trigger {
        font-size: 16px;
        letter-spacing: -0.24px;
    }

    .hero-v2 .hero-dots {
        bottom: 30px !important;
        top: auto !important;
    }

    .hero-dot {
        width: 17px;
        height: 17px;
    }

    .hero-dot.active {
        width: 25px;
        height: 25px;
    }

    .landing-v2 .stats-carousel-section {
        margin-top: -100px;
    }

    .landing-v2 .stats-carousel-wrapper {
        padding: 48px 80px;
    }

    .landing-v2 .stats-carousel {
        gap: 102px;
    }

    .landing-v2 .stat-value {
        font-size: 72px;
    }

    .landing-v2 .testimonials-section {
        padding: 80px 80px 100px !important;
    }

    .landing-v2 .testimonials-heading {
        font-size: 32px !important;
        font-weight: 700 !important;
        padding: 0px 24px 0px !important;
        margin-bottom: 88px !important;
        border-radius: 1438px !important;
    }

    .landing-v2 .testimonials-slider.slick-initialized .slick-track {
        gap: 25px !important;
    }

    .landing-v2 .testimonial-card {
        border-radius: 24px;
        padding: 40px 24px 30px;
        min-height: 405px;
    }

    .landing-v2 .testimonial-image {
        width: 127px;
        height: 127px;
        top: 30px;
        right: 24px;
    }

    .landing-v2 .testimonial-quote {
        font-size: 22px;
        line-height: 1.27;
        letter-spacing: -0.33px;
        margin-top: 106px;
    }

    .landing-v2 .author-name {
        font-size: 18px;
        letter-spacing: -0.27px;
    }

    .landing-v2 .author-title {
        font-size: 16px;
        letter-spacing: -0.24px;
    }

    .landing-v2 .author-separator {
        height: 43px;
    }

    /* Quote icon larger on desktop */
    .landing-v2 .testimonial-card::after {
        width: 80px;
        height: 80px;
        top: 30px;
        left: 30px;
    }

    .landing-v2 .testimonial-quote,
    .landing-v2 .testimonial-author {
        position: relative;
        z-index: 1;
    }

    .landing-v2 .image-cards-section {
        padding: 88px 80px;
    }

    .landing-v2 .cards-heading {
        font-size: 64px;
        letter-spacing: -1.28px;
    }

    .landing-v2 .cards-description {
        font-size: 27px;
        letter-spacing: 0.22px;
        max-width: 1180px;
    }

    .landing-v2 .image-cards-slider {
        flex-direction: row;
    }

    .landing-v2 .image-cards-slider.slick-initialized .slick-track {
        gap: 25px !important;
    }

    .landing-v2 .image-card {
        flex: 1;
        gap: 24px;
    }

    .landing-v2 .card-image {
        height: 250px !important;
        border-radius: 16px;
    }

    .landing-v2 .card-title {
        font-size: 28px;
    }

    .landing-v2 .card-description {
        font-size: 16px;
    }

    .landing-v2 .image-cards-nav {
        display: flex;
        justify-content: center; /* Centered */
        margin-top: 52px;
        gap: 8px;
    }

    .landing-v2 .cards-prev,
    .landing-v2 .cards-next {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 18px 30px;
        border-radius: 1000px;
        font-family: var(--v2-font-raleway);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        cursor: pointer;
        transition: all 0.3s ease;
        border: none;
    }

    /* Arrow SVG icons */
    .landing-v2 .cards-prev::before,
    .landing-v2 .cards-next::after {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        flex-shrink: 0;
    }

    .landing-v2 .cards-prev {
        background: rgba(10, 46, 76, 0.15);
        color: var(--v2-primary-navy);
    }

    /* Left arrow SVG - Before text */
    .landing-v2 .cards-prev::before {
        background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuOTc0OTggMTUuMDU4M0wyLjkxNjY0IDEwTDcuOTc0OTggNC45NDE2OCIgc3Ryb2tlPSIjMEEyRTRDIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE3LjA4MzMgMTBMMy4wNTgzMiAxMCIgc3Ryb2tlPSIjMEEyRTRDIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==');
    }

    .landing-v2 .cards-next {
        background: var(--v2-primary-navy);
        color: var(--v2-white);
    }

    /* Right arrow SVG - After text */
    .landing-v2 .cards-next::after {
        background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjAyNSA0Ljk0MTY4TDE3LjA4MzMgMTBMMTIuMDI1IDE1LjA1ODMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMi45MTY2OCAxMEwxNi45NDE3IDEwIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==');
    }

    .landing-v2 .cards-prev:hover {
        background: rgba(10, 46, 76, 0.25);
        transform: translateX(-2px);
    }

    .landing-v2 .cards-next:hover {
        background: #002A47;
        transform: translateX(2px);
    }

    .landing-v2 .disclaimer-section {
        padding: 47px 80px;
    }

    .landing-v2 .disclaimer-text {
        font-size: 25px;
        line-height: 1.6;
        padding: 30px 56px;
    }

    .landing-footer-v2 {
        padding: 65px 80px;
    }

    body.landing-v2 .landing-footer-v2 .footer-container {
        max-width: var(--v2-container-width);
        margin: 0 auto;
    }

    /* 4-column layout on desktop - Override tablet wrap */
    body.landing-v2 .landing-footer-v2 .footer-columns,
    .landing-footer-v2 .footer-columns {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 60px !important;
        align-items: flex-start !important;
    }

    body.landing-v2 .landing-footer-v2 .footer-col-1,
    .landing-footer-v2 .footer-col-1 {
        flex: 0 0 352px !important;
        width: 352px !important;
        max-width: 352px !important;
    }

    body.landing-v2 .landing-footer-v2 .footer-col-2,
    body.landing-v2 .landing-footer-v2 .footer-col-3,
    body.landing-v2 .landing-footer-v2 .footer-col-4,
    .landing-footer-v2 .footer-col-2,
    .landing-footer-v2 .footer-col-3,
    .landing-footer-v2 .footer-col-4 {
        flex: 1 !important;
        width: auto !important;
        max-width: none !important;
    }

    .landing-footer-v2 .footer-col-2 .footer-links {
        margin-top: 24px;
    }

    .landing-footer-v2 .v2-footer-logo img {
        height: 54px;
    }

    .landing-footer-v2 .footer-newsletter {
        max-width: 352px;
        gap: 24px;
    }

    /* Swap order on desktop - Copyright left, Social right */
    .footer-bottom {
        flex-direction: row-reverse;
    }

    /* Larger social icons on desktop (match V1) */
    .landing-footer-v2 .social-icon {
        width: 52px !important;
        height: 52px !important;
        border-radius: 12px !important;
    }

    .landing-footer-v2 .v2-footer-logo img {
        height: 54px;
    }

    /* Larger newsletter form text on desktop */
    .landing-footer-v2 .newsletter-heading {
        font-size: 20px !important;
    }

    .landing-footer-v2 .newsletter-form-default input[type="email"] {
        font-size: 16px !important;
    }

    .landing-footer-v2 .newsletter-form-default button {
        font-size: 16px !important;
        padding: 12px 24px !important;
    }

    .footer-newsletter {
        max-width: 352px;
        gap: 24px;
    }


    .newsletter-form-default {
        padding: 8px 8px 8px 16px;
        border-radius: 32px;
    }


    .footer-info-grid {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 64px;
    }

    .footer-info-block {
        flex: 0 1 auto;
    }



}

/* ==========================================
   SLICK CAROUSEL OVERRIDES
   ========================================== */
.slick-slider {
    position: relative;
}

.slick-list {
    overflow: hidden;
}

.slick-track {
    display: flex;
    align-items: stretch;
}

.slick-slide {
    height: auto;
}

.slick-slide > div {
    height: 100%;
}

/* Ensure images are visible before slider initializes */
.image-cards-slider .image-card,
.testimonials-slider .testimonial-card {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Handle non-slider display (3 or fewer items) - ensure no cutoff */
.landing-v2 .testimonials-section.no-auto-slider,
.landing-v2 .testimonials-slider:not(.slick-initialized) {
    overflow: visible !important;
}

.landing-v2 .testimonials-section.no-auto-slider .testimonial-card,
.landing-v2 .testimonials-slider:not(.slick-initialized) .testimonial-card {
    height: auto !important;
    overflow: visible !important;
}

/* Handle non-slider display (3 or fewer items) */
@media (min-width: 1440px) {
    .image-cards-slider:not(.slick-initialized) {
        display: flex;
        gap: 32px;
    }

    .testimonials-slider:not(.slick-initialized) {
        display: flex;
        gap: 25px;
    }
}

/* ==========================================
   UTILITY CLASSES
   ========================================== */
.text-center {
    text-align: center;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

/* ==========================================
   DONATION FORM STYLES
   ========================================== */

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-top-text {
    display: none;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] label[for="Frequency"] {
    margin-top: 0;
}

/* Step 1 row - applies only to screens above 500px */
@media (min-width: 501px) {
    .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] > .row {
        background: #F4F4F4;
        border-radius: 20.22px;
        padding: 1rem 2rem;
    }
}

/* Small mobile version at 500px and down already defined above */

/* ==========================================
   LANDING V2 DONATION FORM STYLES
   ========================================== */

/* Progress Steps */
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .progress-step.active .step-number {
    background-color: var(--v2-primary-navy);
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .progress-step.active .step-label {
    color: var(--v2-primary-navy);
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .progress-step.completed .step-number {
    background-color: var(--v2-accent-teal);
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .progress-step.completed .step-label {
    color: var(--v2-accent-teal);
}

/* Form Fields */
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .button-number,
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .box-input {
    border: 0;
    box-shadow: inset 0 0 0 1px var(--v2-primary-navy);
    border-radius: 44.07px;
    padding: 0.5rem;
    background-color: #fff;
    color: var(--v2-primary-navy);
    font-weight: 700;
    font-family: var(--v2-font-raleway);
    font-size: 24px;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .button-number.active,
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .button-number:hover,
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .box-input.active {
    box-shadow: inset 0 0 0 2px var(--v2-accent-teal);
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .box-input {
    padding: 1rem;
}

/* Form Bottom Text */
.landing-v2 .form-bottom-text-title,
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-bottom-text-title {
    font-size: 18px;
    text-decoration: underline;
}

.landing-v2 .form-bottom-text-copy {
    background-color: rgba(18, 152, 153, 0.35);
    color: var(--v2-primary-navy);
    text-align: center;
    font-size: 18px !important;
    display: none;
    border-radius: 20px;
    font-weight: 500;
    box-shadow: inset 0 0 0 3px var(--v2-accent-teal);
    padding: 1.5rem;
}

/* Navigation Buttons */
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn, .landing-v2 .payment-form .btn {
    padding: 0.75rem 2rem;
    font-size: 20px;
    border-radius: 44.07px;
    border-bottom: 0;
    font-family: var(--v2-font-vastago);
    letter-spacing: normal;
    font-weight: 700;
    background: var(--v2-accent-teal);
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: none;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn::after,
.landing-v2 .payment-form .btn::after {
    content: '';
    display: inline-block;
    width: 21px;
    height: 20px;
    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.0154 10.6978L9.67596 17.0372C9.43962 17.2736 9.32145 17.5519 9.32145 17.8722C9.32145 18.1925 9.43962 18.4703 9.67596 18.7055C9.9123 18.9407 10.1903 19.0586 10.5101 19.0592C10.8298 19.0597 11.1079 18.9419 11.3442 18.7055L19.6856 10.3642C19.9219 10.1278 20.0398 9.84978 20.0393 9.53003C20.0387 9.21028 19.9208 8.93223 19.6856 8.69589L11.3442 0.354546C11.1079 0.118208 10.8296 3.98378e-05 10.5093 3.98016e-05C10.189 3.97654e-05 9.91119 0.118208 9.67596 0.354546C9.44073 0.590885 9.32256 0.869207 9.32145 1.18951C9.32034 1.50982 9.43851 1.78759 9.67596 2.02282L16.0154 8.36224L1.16779 8.36224C0.861936 8.36224 0.59084 8.48041 0.354502 8.71675C0.118163 8.95309 -3.16063e-06 9.22418 -3.8092e-06 9.53003C-3.10907e-06 9.83588 0.118163 10.107 0.354502 10.3433C0.59084 10.5797 0.861936 10.6978 1.16779 10.6978L16.0154 10.6978Z" fill="white"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .form-navigation .btn {
    width: 100%;
}

/* Back button - icon on LEFT and flipped */
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn.btn-back::after,
.landing-v2 .payment-form .btn.btn-back::after {
    display: none !important;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn.btn-back::before,
.landing-v2 .payment-form .btn.btn-back::before {
    content: '';
    display: inline-block;
    width: 21px;
    height: 20px;
    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.0154 10.6978L9.67596 17.0372C9.43962 17.2736 9.32145 17.5519 9.32145 17.8722C9.32145 18.1925 9.43962 18.4703 9.67596 18.7055C9.9123 18.9407 10.1903 19.0586 10.5101 19.0592C10.8298 19.0597 11.1079 18.9419 11.3442 18.7055L19.6856 10.3642C19.9219 10.1278 20.0398 9.84978 20.0393 9.53003C20.0387 9.21028 19.9208 8.93223 19.6856 8.69589L11.3442 0.354546C11.1079 0.118208 10.8296 3.98378e-05 10.5093 3.98016e-05C10.189 3.97654e-05 9.91119 0.118208 9.67596 0.354546C9.44073 0.590885 9.32256 0.869207 9.32145 1.18951C9.32034 1.50982 9.43851 1.78759 9.67596 2.02282L16.0154 8.36224L1.16779 8.36224C0.861936 8.36224 0.59084 8.48041 0.354502 8.71675C0.118163 8.95309 -3.16063e-06 9.22418 -3.8092e-06 9.53003C-3.10907e-06 9.83588 0.118163 10.107 0.354502 10.3433C0.59084 10.5797 0.861936 10.6978 1.16779 10.6978L16.0154 10.6978Z" fill="white"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    transform: scaleX(-1);
    padding-right: 5px;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn.btn-back:hover:before,
.landing-v2 .payment-form .btn.btn-back:hover:before {
    position: relative;
    right: 4px;
}

.landing-v2 :is(#paymentForm, #paymentFormRecurring) .form-navigation .btn.btn-back {
    justify-content: space-between;
    flex-direction: row-reverse;
}

/* Choices Dropdown */
.landing-v2 :is(#paymentForm, #paymentFormRecurring) .choices__inner {
    border-radius: 44.07px;
    border-color: var(--v2-primary-navy);
}

/* Payment Form */
.landing-v2 .payment-form {
    border: 0 !important;
}

.landing-v2 .payment-form #submitPayment {
    margin-top: 0 !important;
}

.landing-v2 .payment-form #submitPayment:hover {
    background-color: var(--v2-primary-navy) !important;
}

.landing-v2 .payment-form h4 {
    font-family: var(--v2-font-vastago) !important;
}

/* Radio Button Toggle Styling - Step 1 Frequency Field */

/* Hide actual radio inputs */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* Flex container for toggle buttons */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-form-control-wrap[data-name="frequency"] .wpcf7-radio {
    display: flex !important;
    width: 100% !important;
    gap: 10px !important; /* 10px space between buttons */
    margin: 0 !important;
}

/* List items take equal space */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item {
    flex: 1 !important;
    margin: 0 !important;
}

/* Label as button - DEFAULT state */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item label {
    display: block !important;
    width: 100% !important;
    padding: 12px 16px !important;
    margin: 0 !important;

    font-family: var(--v2-font-vastago) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-align: center !important;

    border: 1px solid #129899 !important;
    border-color: #129899 !important;
    border-radius: 44.07px !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: var(--v2-primary-navy) !important;

    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item-label {
    margin-left: 0 !important;
}

/* Both buttons fully rounded - no overrides needed */

/* HOVER state - only on unchecked buttons - Teal background */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:not(:checked) + label:hover,
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item:not(.checked):not(.active) label:hover,
body.landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:not(:checked) + label:hover,
body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:not(:checked) + label:hover {
    background: #129899 !important;
    background-color: #129899 !important;
    color: white !important;
    border: 1px solid #129899 !important;
    border-color: #129899 !important;
}

/* CHECKED/ACTIVE state - Navy background */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label,
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item.checked label,
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item.active label,
body.landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label,
body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label {
    background: var(--v2-primary-navy) !important;
    background-color: var(--v2-primary-navy) !important;
    color: white !important;
    border: 1px solid var(--v2-primary-navy) !important;
    border-color: var(--v2-primary-navy) !important;
}

/* Prevent checked button from showing hover effects */
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label:hover,
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item.checked label:hover,
html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] .wpcf7-list-item.active label:hover,
body.landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label:hover,
body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] input[type="radio"]:checked + label:hover {
    background: var(--v2-primary-navy) !important;
    background-color: var(--v2-primary-navy) !important;
    color: white !important;
    border: 1px solid var(--v2-primary-navy) !important;
    border-color: var(--v2-primary-navy) !important;
}

html body .landing-v2 :is(#paymentForm, #paymentFormRecurring) [data-step="1"] label[for="Frequency"] {
    padding-bottom: 10px !important;
}


/* Thank you section */

.container.thank-you-container {
    max-width: 1470px;
}


.thank-you-block__content {
    display: flex;
    align-items: center;
    min-height: calc(100vh - 100px);
    justify-content: center;
    padding: 150px 20px 80px;
    text-align: center;
}

.thank-you-image {
    position: relative;
    min-height: 250px;
}

.thank-you-image .hero-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.thank-you-image img {
    border-radius: 26px;
    overflow: hidden;
}

h2.thank-you-title {
    font-size: 32px;
    font-family: var(--v2-font-vastago);
    font-weight: 900;
    text-transform: none;
    max-width: 850px;
    margin: auto auto 30px;
    line-height: 1.1;
}


p.thank-you-description {
    font-size: 20px;
    margin-bottom: 20px;
}

.thank-you-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

p.thank-you-social-title {
    font-size: 24px;
    text-decoration: underline;
    margin-bottom: 20px;
}

.thank-you-social {
    padding-top: 50px;
}

@media (min-width: 768px) {
    h2.thank-you-title {
        font-size: 48px;
    }
    p.thank-you-description {
        font-size: 30px;
    }

    .thank-you-image {
        min-height: 450px;
    }
}
@media (min-width: 1025px) {

    .thank-you-block__content {
        padding: 200px 20px 100px;
    }

    h2.thank-you-title {
        font-size: 65px;
    }

    p.thank-you-description {
        font-size: 27px;
        margin-bottom: 20px;
    }
}

@media (min-width: 1440px) {
    .thank-you-image {
        min-height: 800px;
        min-width: 1470px;
    }
}