/* ============================================================================
   Voucher page skin — CSS VERBATIM from gre-voucher-code.html comp
   (inline <style> block, lines 26-2456).
   ALL rules scoped under body.galv-voucher so nothing leaks into the Bricks
   header / footer chrome. Do NOT re-skin — fixes go through the comp first.
   Loaded on the gre-voucher-code page by includes/voucher_styles.php.

   SCOPING: comp :root{--token} -> body.galv-voucher{--token}. The bare body{}
   rule is scoped to body.galv-voucher{}. html{} and @keyframes global.
   @media inner selectors scoped. body.galv-voucher .swiper-* keeps carousel
   page-scoped.
   ============================================================================ */

        body.galv-voucher {
            --bg-navy: #13217c;
            --primary-blue: #3b5bff;
            --cta-magenta: #cc00cc;
            --accent-blue: #e6ebff;
            --text-white: #fffdfe;
            --text-dark: #333;
            --text-gray: #808080;
            --success-green: #2d8a4e;
            --font-heading: 'Poppins', sans-serif;
            --font-body: 'Inter', sans-serif;
            --container-width: 1920px;
        }

        body.galv-voucher *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body.galv-voucher {
            font-family: var(--font-body);
            color: var(--text-dark);
        }

        body.galv-voucher h1, body.galv-voucher h2, body.galv-voucher h3, body.galv-voucher h4, body.galv-voucher h5, body.galv-voucher h6{
            font-family: var(--font-heading);
            font-weight: 600;
        }

        body.galv-voucher h2.section-title{
            font-size: 36px;
            line-height: 48px;
            color: var(--primary-blue);
            text-align: center;
            margin-bottom: 15px;
        }

        body.galv-voucher .section-subtitle{
            font-family: var(--font-heading);
            font-size: 20px;
            line-height: 30px;
            color: var(--text-dark);
            text-align: center;
            font-weight: 500;
        }

        body.galv-voucher .container{
            width: 100%;
            max-width: var(--container-width);
            padding: 0 80px;
            margin: 0 auto;
        }

        body.galv-voucher section{
            display: flex;
            justify-content: center;
            padding: 60px 0;
        }

        body.galv-voucher .section-for-desktop{
            display: flex;
            justify-content: center;
            padding: 60px 0;
        }

        body.galv-voucher .text-center{
            text-align: center;
        }

        body.galv-voucher .btn{
            display: inline-block;
            padding: 12px 24px;
            border-radius: 10px;
            font-weight: 600;
            text-decoration: none;
            cursor: pointer;
            transition: all .3s ease;
            border: none;
            font-family: var(--font-heading);
        }

        body.galv-voucher .btn-magenta{
            background-color: var(--cta-magenta);
            color: var(--text-white);
        }

        body.galv-voucher .btn-magenta:hover{
            background-color: #a600a6;
        }

        body.galv-voucher .btn-blue{
            background-color: var(--primary-blue);
            border-radius: 10px;
            font-size: 18px;
            color: var(--text-white);
        }

        body.galv-voucher .btn-blue:hover{
            background-color: #13217c;
        }

        body.galv-voucher .btn-ghost-blue{
            background-color: var(--primary-blue);
            color: var(--text-white);
            font-size: 18px;
        }

        body.galv-voucher .btn-ghost-blue:hover{
            background-color: #13217c;
        }

        body.galv-voucher section{
            padding: 0 0 0px;
        }

        body.galv-voucher .hero{
            background-color: var(--bg-navy);
            color: var(--text-white);
            padding: 60px 0 140px;
            position: relative;
            overflow: hidden;
        }

        body.galv-voucher .hero .container{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 30px;
            align-items: center;
        }

        body.galv-voucher .hero-content, body.galv-voucher .hero-testimonial{
            min-width: 0;
        }

        body.galv-voucher .hero-content .ambassador-img{
            max-height: 80px;
            margin-bottom: 20px;
            display: block;
        }

        body.galv-voucher .hero-content h1{
            font-size: 42px;
            line-height: 1.2;
            margin-bottom: 20px;
            overflow-wrap: break-word;
        }

        body.galv-voucher .hero-content p{
            font-family: var(--font-heading);
            font-weight: 500;
            font-size: 22px;
            line-height: 30px;
            margin-bottom: 20px;
            overflow-wrap: break-word;
        }

        body.galv-voucher .hero-features{
            list-style: none;
            margin-bottom: 30px;
        }

        body.galv-voucher .hero-feature-item{
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 20px;
            font-size: 18px;
            flex-wrap: nowrap;
        }

        body.galv-voucher .hero-feature-item img{
            flex-shrink: 0;
            margin-top: 3px;
            width: 24px;
            height: 24px;
        }

        body.galv-voucher .hero-offers{
            display: flex;
            flex-direction: column;
            gap: 30px;
            width: 100%;
            justify-self: center;
        }

        body.galv-voucher .offer-card{
            background: #fff;
            border-radius: 20px;
            overflow: hidden;
        }

        body.galv-voucher .offer-card-header{
            background: var(--cta-magenta);
            color: white;
            padding: 15px 20px;
            display: flex;
            align-items: center;
            gap: 15px;
        }

        body.galv-voucher .offer-icon-wrapper{
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background: white;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        body.galv-voucher .offer-icon{
            width: 46px;
            height: 46px;
            border-radius: 50%;
            object-fit: contain;
        }

        body.galv-voucher .offer-header-text h3{
            font-size: 26px;
            margin-bottom: 2px;
            font-family: var(--font-heading);
            font-weight: 600;
        }

        body.galv-voucher .offer-header-text p{
            font-size: 14px;
            line-height: 22px;
            margin: 0;
            font-family: var(--font-body);
        }

        body.galv-voucher .offer-table{
            width: 100%;
            border-collapse: collapse;
            text-align: center;
            color: var(--text-dark);
        }

        body.galv-voucher .offer-table th, body.galv-voucher .offer-table td{
            padding: 12px 10px;
            border: 1px solid #e0e0e0;
            border-top: none;
        }

        body.galv-voucher .offer-table th{
            background: #E6EBFF;
            font-weight: 600;
            font-size: 14px;
            line-height: 22px;
            color: var(--text-dark);
            border-bottom: 1px solid #d0d5f0;
        }

        body.galv-voucher .offer-table th:first-child, body.galv-voucher .offer-table td:first-child{
            text-align: left;
            border-left: none;
            width: 42%;
            padding-left: 20px;
        }

        body.galv-voucher .offer-table th:last-child, body.galv-voucher .offer-table td:last-child{
            border-right: none;
        }

        body.galv-voucher .offer-table td{
            font-size: 14px;
            font-weight: 500;
            background: #fff;
            color: var(--text-dark);
        }

        body.galv-voucher .offer-table td.code-text{
            color: var(--primary-blue);
            font-weight: 700;
            letter-spacing: 0.5px;
        }

        body.galv-voucher .btn-sm{
            padding: 8px 16px;
            font-size: 14px;
            border-radius: 10px;
        }


        body.galv-voucher .stats-bar{
            background: #FFFDFE;
            border-radius: 20px;
            padding: 30px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin: -80px auto 0;
            max-width: 1062px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, .1);
            text-align: center;
            position: relative;
            z-index: 20;
        }

        body.galv-voucher .stat-item h2{
            font-size: 40px;
            color: var(--bg-navy);
            margin-bottom: 4px;
            font-weight: 600;
        }

        body.galv-voucher .stat-item p{
            font-size: 16px;
            color: var(--text-dark);
            line-height: 26px;
            max-width: 220px;
            margin: 0 auto;
        }

        body.galv-voucher .stat-item p span{
            color: var(--cta-magenta);
            font-weight: 600;
        }

        body.galv-voucher .register{
            background-color: #fffdfe;
            padding: 60px 0;
            overflow: hidden;
        }

        body.galv-voucher .register-carousel-container{
            width: 100%;
            overflow: hidden;
            margin-top: 40px;
            position: relative;
        }

        body.galv-voucher .register-track{
            /* Let Swiper handle layout */
        }

        body.galv-voucher .register-step-card{
            background: #e6ebff;
            border-radius: 20px;
            padding: 20px;
            text-align: left;
            height: auto;
            position: relative;
            display: flex;
            flex-direction: column;
        }

        body.galv-voucher .register-step-card span{
            color: var(--cta-magenta);
            font-weight: 600;
        }

        body.galv-voucher .step-image-box{
            background: #fff;
            border-radius: 10px;
            padding: 12px;
            margin-bottom: 24px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        body.galv-voucher .step-image-box img{
            width: 100%;
            height: auto;
            border-radius: 8px;
            object-fit: cover;
        }

        body.galv-voucher .step-label{
            font-size: 18px;
            line-height: 29px;
            color: var(--text-dark);
            font-weight: 700;
            margin-bottom: 8px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        body.galv-voucher .step-desc{
            font-size: 14px;
            line-height: 22px;
            color: var(--text-dark);
            margin: 0;
            flex-grow: 1;
        }

        body.galv-voucher .register-notes-container{
            display: flex;
            gap: 30px;
            justify-content: center;
            margin-top: 40px;
        }

        body.galv-voucher .register-note-box{
            background: var(--accent-blue);
            border-radius: 12px;
            padding: 24px 30px;
            text-align: center;
            flex: 1;
            max-width: 420px;
        }

        body.galv-voucher .register-note-box p{
            font-size: 18px;
            line-height: 29px;
            color: var(--text-dark);
            margin: 0;
        }

        body.galv-voucher .register-note-box .magenta-text{
            color: var(--cta-magenta);
            font-weight: 700;
        }

        body.galv-voucher .register-note-box .blue-link{
            color: var(--primary-blue);
            text-decoration: underline;
            font-weight: 600;
        }


        body.galv-voucher .register-help-container{
            text-align: center;
            margin-top: 0;
        }

        body.galv-voucher .register-help-container h3{
            font-size: 22px;
            line-height: 30px;
            color: var(--text-dark);
            font-weight: 500;
            margin-bottom: 15px;
            font-family: var(--font-heading);
        }

        body.galv-voucher .register-help-container p{
            font-size: 18px;
            line-height: 29px;
            color: var(--text-dark);
            margin-bottom: 30px;
        }

        body.galv-voucher .register-help-container .btn{
            font-size: 18px;
        }

        /* ETS PARTNER SECTION */

        body.galv-voucher .ets-partner{
            background-color: #e6ebff;
            padding: 60px 0px 160px;
        }

        body.galv-voucher .partner-cards-grid{
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-top: 40px;
        }

        body.galv-voucher .partner-card{
            /* SUBASH-V9 2026-07-16: was var(--accent-blue) (#e6ebff). He asked for
               #FFFDFE, which is this file's own --text-white token — using the token,
               not the raw hex. Same rendered colour. */
            background: var(--text-white);
            border-radius: 40px;
            padding: 20px;
            display: flex;
            flex-direction: column;
        }

        body.galv-voucher .partner-img-wrapper{
            position: relative;
            margin-bottom: 15px;
            width: 100%;
            border-radius: 25px;
            overflow: hidden;
            background: #fdfdfd;
        }

        body.galv-voucher .partner-img-wrapper::after{
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 50%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
            pointer-events: none;
            z-index: 1;
        }

        body.galv-voucher .partner-main-img{
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
        }

        body.galv-voucher .partner-badge{
            position: absolute;
            bottom: 12px;
            left: 12px;
            width: 44px;
            height: 44px;
            background: rgba(243, 243, 243, 0.4);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
        }

        body.galv-voucher .partner-badge img{
            width: 22px;
            height: 22px;
            object-fit: contain;
        }

        body.galv-voucher .partner-title{
            font-size: 18px;
            line-height: 29px;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 25px;
            flex-grow: 1;
            font-family: var(--font-heading);
            padding: 0 8px;
        }

        body.galv-voucher .partner-footer{
            background: #FFFDFE;
            border-radius: 40px;
            padding: 10px 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        body.galv-voucher .continue-reading{
            font-family: var(--font-heading);
            font-size: 14px;
            line-height: 22px;
            color: var(--text-gray);
            font-weight: 500;
        }

        body.galv-voucher .partner-socials{
            display: flex;
            gap: 8px;
        }

        body.galv-voucher .social-icon{
            width: 32px;
            height: 32px;
            background: var(--accent-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #999;
            transition: all 0.3s ease;
        }

        body.galv-voucher .social-icon:hover{
            background: var(--primary-blue);
            color: #fff;
        }

        body.galv-voucher .social-icon svg{
            width: 16px;
            height: 16px;
        }

        body.galv-voucher .partner-connect-section{
            text-align: center;
            margin-top: 50px;
        }

        body.galv-voucher .connect-text{
            font-size: 22px;
            line-height: 30px;
            font-weight: 500;
            color: var(--text-dark);


            margin-bottom: 30px;
            font-family: var(--font-heading);
        }

        body.galv-voucher .connect-socials{
            display: flex;
            justify-content: center;
            gap: 20px;
        }

        body.galv-voucher .connect-social-icon{
            width: 44px;
            height: 44px;
            background: var(--primary-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            transition: all 0.3s ease;
        }

        body.galv-voucher .connect-social-icon:hover{
            background: var(--bg-navy);
        }

        body.galv-voucher .connect-social-icon svg{
            width: 22px;
            height: 22px;
        }


        /* UNIVERSITIES SECTION */
        body.galv-voucher .universities-section{
            background-color: var(--accent-blue);
            padding: 60px 0;
            overflow: hidden;
        }

        body.galv-voucher .uni-wrapper{
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 60px;
        }

        body.galv-voucher .uni-left{
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            grid-template-areas:
                "title logos"
                "subtitle logos"
                "cards logos"
                "cta logos";
            gap: 0 60px;
            align-items: center;
        }

        body.galv-voucher .uni-title{
            grid-area: title;
            color: var(--primary-blue);
            font-size: 36px;
            line-height: 48px;
            font-weight: 600;
            margin-bottom: 15px;
            font-family: var(--font-heading);
        }

        body.galv-voucher .uni-subtitle{
            grid-area: subtitle;
            color: var(--text-dark);
            font-size: 18px;
            margin-bottom: 40px;
            line-height: 29px;
        }

        body.galv-voucher .uni-cards-grid{
            grid-area: cards;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin-bottom: 30px;
        }

        body.galv-voucher .uni-feature-card{
            background: #fff;
            border-radius: 20px;
            padding: 24px;
            text-align: left;
        }

        body.galv-voucher .uni-icon{
            margin-bottom: 12px;
        }

        body.galv-voucher .uni-icon img{
            width: 36px;
            height: 36px;
            object-fit: contain;
        }

        body.galv-voucher .uni-feature-title{
            font-family: var(--font-heading);
            font-size: 18px;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 5px;
            line-height: 29px;
        }

        body.galv-voucher .uni-feature-desc{
            font-size: 16px;
            color: var(--text-dark);
            line-height: 26px;
            margin: 0;
        }

        body.galv-voucher .uni-cta-box{
            grid-area: cta;
            margin-top: 20px;
            text-align: left;
        }

        body.galv-voucher .uni-cta-box p{
            font-family: var(--font-heading);
            font-size: 20px;
            line-height: 30px;
            font-weight: 500;
            color: var(--text-dark);
            margin-bottom: 30px;
        }


        body.galv-voucher .uni-logos-grid{
            grid-area: logos;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
            position: relative;
        }

        body.galv-voucher .uni-logos-grid::after{
            content: "";
            position: absolute;
            inset: -20px;
            background: radial-gradient(circle, transparent 35%, var(--accent-blue) 75%);
            pointer-events: none;
            z-index: 1;
        }

        body.galv-voucher .uni-logo-box{
            background: #fff;
            border-radius: 16px;
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            aspect-ratio: 1;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
            position: relative;
            transition: transform 0.3s;
        }

        body.galv-voucher .uni-logo-box img{
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            transition: all 0.3s;
        }

        body.galv-voucher .uni-logo-highlight{
            border: 2px solid var(--cta-magenta);
            box-shadow: 0 8px 25px rgba(214, 0, 214, 0.15);
            z-index: 2;
        }

        body.galv-voucher .uni-logo-highlight img{
            opacity: 1;
            filter: grayscale(0%);
        }

        body.galv-voucher .uni-tooltip-container{
            position: absolute;
            bottom: -2px;
            right: -90px;
            z-index: 10;
            animation: bounce 2s infinite;
        }

        body.galv-voucher .uni-tooltip-container svg{
            width: 60px;
            height: 60px;
            fill: var(--cta-magenta);
        }

        body.galv-voucher .cursor-pointer{
            width: 32px;
            height: 32px;
            fill: var(--cta-magenta);
            transform: rotate(-15deg);
            position: absolute;
            top: -20px;
            left: -15px;
        }

        body.galv-voucher .tooltip-text{
            background: var(--cta-magenta);
            color: #fff;
            font-weight: 600;
            font-size: 13px;
            padding: 8px 16px;
            border-radius: 20px;
            white-space: nowrap;
            display: inline-block;
        }

        @keyframes bounce {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-8px);
            }
        }



        /* CONTACT FORM */
        body.galv-voucher .contact-form{
            padding: 60px 0;
            background-color: var(--bg-navy);

        }

        body.galv-voucher .contact-form-wrapper{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
        }

        body.galv-voucher .contact-form-left{
            display: flex;
            align-items: center;
            justify-content: center;
        }

        body.galv-voucher .contact-form-left img{
            width: 100%;
            height: auto;
        }

        body.galv-voucher .contact-form-right form{
            display: flex;
            flex-direction: column;
            gap: 0px;
        }

        body.galv-voucher .contact-form-right form .form-group{
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        body.galv-voucher .contact-form-right form .form-group label{
            font-weight: 600;
        }

        body.galv-voucher .contact-form-right form .form-group input, body.galv-voucher .contact-form-right form .form-group textarea{
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }

        body.galv-voucher .contact-form-right form .form-group input:focus, body.galv-voucher .contact-form-right form .form-group textarea:focus{
            outline: none;
            border-color: var(--cta-magenta);
        }

        body.galv-voucher .contact-form-right form .btn-blue{
            background-color: var(--cta-magenta);
            color: #fff;
            border: none;
            padding: 10px;
            border-radius: 5px;
            cursor: pointer;
        }

        body.galv-voucher .contact-form-right form .btn-blue:hover{
            background-color: var(--cta-magenta);
        }


        /* FAQ */
        body.galv-voucher .faq-section{
            padding: 60px 0;
        }

        body.galv-voucher .section-header{
            margin-bottom: 50px;
        }

        body.galv-voucher .faq-container{
            max-width: 900px;
            margin: 0 auto;
            padding: 0 20px;
        }

        body.galv-voucher .faq-title{
            font-family: var(--font-heading);
            font-size: 36px;
            line-height: 48px;
            font-weight: 600;
            color: var(--primary-blue);
            margin-bottom: 30px;
        }

        body.galv-voucher .faq-item{
            background: var(--primary-blue);
            margin-bottom: 18px;
            overflow: hidden;
        }

        body.galv-voucher .faq-question{
            padding: 20px 50px 20px 20px;
            font-size: 20px;
            line-height: 30px;
            font-weight: 400;
            color: var(--text-white);
            cursor: pointer;
            position: relative;
            transition: all 0.3s ease;
            user-select: none;
        }

        body.galv-voucher .faq-question::after{
            content: "›";
            position: absolute;
            right: 28px;
            top: 50%;
            transform: translateY(-50%) rotate(0deg);
            font-size: 28px;
            color: #fff;
            font-weight: 400;
            transition: transform 0.3s ease;
            line-height: 1;
        }

        body.galv-voucher .faq-question.active::after{
            content: "›";
            transform: translateY(-50%) rotate(90deg);
        }

        body.galv-voucher .faq-answer{
            background-color: var(--accent-blue);
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.4s ease;
            padding: 0 28px;
            font-size: 20px;
            line-height: 30px;
            font-weight: 400;
            color: var(--primary-blue);
        }

        body.galv-voucher .faq-answer.active{
            max-height: 500px;
            padding: 20px;
        }


        /* FAQ Layout */
        body.galv-voucher .faq-layout{
            display: grid;
            grid-template-columns: 2fr 3fr;
            gap: 20px;
            align-items: start;
        }

        body.galv-voucher .faq-image-col{
            position: sticky;
            top: 40px;
        }

        body.galv-voucher .faq-image-col img{
            width: 100%;
            max-width: 420px;
            height: auto;
            border-radius: 20px;
            display: block;
        }

        body.galv-voucher .faq-layout .faq-container{
            max-width: 100%;
            margin: 0;
            padding: 0;
        }

        /* GRE APP SECTION */
        body.galv-voucher .gre-app{
            background-color: #fff;
            padding: 60px 0;
        }

        body.galv-voucher .gre-app-card{
            background: var(--accent-blue);
            border-radius: 50px;
            padding: 0;
            display: grid;
            grid-template-columns: 1.15fr 0.85fr;
            gap: 0;
            align-items: stretch;
            text-align: left;
            max-width: 1400px;
            margin: 0 auto;
            overflow: hidden;
            margin-top: 40px;
        }

        body.galv-voucher .gre-app-content{
            padding: 50px;
            display: flex;
            flex-direction: column;
            justify-content: start;
        }

        body.galv-voucher .gre-app-content h3{
            font-size: 24px;
            line-height: 32px;
            color: var(--primary-blue);
            margin-bottom: 25px;
        }

        body.galv-voucher .gre-app-features{
            list-style: none;
            margin-bottom: 35px;
        }

        body.galv-voucher .gre-app-features li{
            position: relative;
            padding-left: 25px;
            margin-bottom: 15px;
            font-size: 18px;
            line-height: 29px;
            color: var(--text-dark);
        }

        body.galv-voucher .gre-app-features li::before{
            content: "•";
            position: absolute;
            left: 0;
            color: var(--text-dark);
            font-weight: bold;
            font-size: 24px;
            line-height: 24px;
        }

        body.galv-voucher .gre-app-buttons{
            display: flex;
            gap: 20px;
        }

        body.galv-voucher .gre-app-buttons img{
            height: 55px;
            width: auto;
            transition: transform 0.3s ease;
        }

        body.galv-voucher .gre-app-buttons img:hover{
            transform: scale(1.05);
        }

        body.galv-voucher .gre-app-image{
            width: 100%;
            height: 100%;
            display: flex;
            position: relative;
            overflow: hidden;
        }

        body.galv-voucher .gre-app-image img{
            height: 260%;
            width: auto;
            max-width: none;
            position: absolute;
            top: 70%;
            left: -80%;
            transform: translateY(-50%);
            object-fit: contain;
        }

        /* UNI PARTNERS CAROUSEL */

        body.galv-voucher .uni-partners{
            background: var(--text-white);
            border-radius: 20px;
            padding: 30px;
            display: grid;
            margin: -100px auto 0;
            max-width: 1062px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, .1);
            text-align: center;
            position: relative;
            z-index: 20;
        }

        body.galv-voucher .uni-partners h2{
            font-family: var(--font-heading);
            font-size: 22px;
            line-height: 30px;
            font-weight: 600;
            color: var(--primary-blue);
            margin-bottom: 30px;
        }

        body.galv-voucher .partners{
            background: linear-gradient(to bottom, var(--bg-navy) 50%, #e6ebff 50%);
            padding: 60px 0 0;
            overflow: hidden;
        }

        body.galv-voucher .university-card{
            background: #fff;
            border-radius: 30px;
            padding: 40px 30px;
            max-width: 1062px;
            margin: 0 auto;
        }

        body.galv-voucher .university-card h2{
            font-size: 22px;
            color: #3b5bff;
            margin-bottom: 30px;
            font-weight: 600;
        }

        body.galv-voucher .logo-carousel{
            width: 100%;
            overflow: hidden;
            position: relative;
            padding: 10px 0;
        }

        body.galv-voucher .logo-track{
            display: flex;
            width: max-content;
            animation: scroll 40s linear infinite;
            gap: 30px;
        }

        @keyframes scroll {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(calc(-140px * 20));
            }
        }

        body.galv-voucher .logo-track:hover{
            animation-play-state: paused;
        }

        body.galv-voucher .logo-item{
            width: 110px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
        }

        body.galv-voucher .logo-item img{
            height: 45px;
            width: auto;
            max-width: 180px;
            object-fit: contain;
            transition: all .5s ease;
        }

        body.galv-voucher .logo-item:hover img{
            transform: scale(1.08);
        }

        /* PLAN CTA */
        body.galv-voucher .plan-cta{
            background-color: var(--bg-navy);
            color: var(--text-white);
            padding: 40px 0 30px;
        }

        body.galv-voucher .btn-margin{
            margin-top: 30px;
        }

        body.galv-voucher .flex-cta{
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 30px;
            justify-content: center;
        }

        body.galv-voucher .flex-cta h2{
            text-align: left;
            font-size: 30px;
            line-height: 40px;
            font-weight: 600;
        }

        body.galv-voucher .flex-cta p{
            text-align: left;
            font-size: 18px;
            font-weight: 400;
            line-height: 29px;
        }

        body.galv-voucher .flex-cta-content{
            width: 60%;
        }



        body.galv-voucher .diagnostic{
            background-color: var(--text-white);
            padding: 60px 0;
        }

        body.galv-voucher .diagnostic-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 30px;
            margin-top: 50px;
            align-items: flex-start;
        }

        body.galv-voucher .test-card{
            background: var(--accent-blue);
            border-radius: 20px;
            padding: 30px;
            border: 1px solid #e6ebff;
            display: flex;
            flex-direction: column;
        }

        body.galv-voucher .test-card.blue{
            background: #e6ebff;
        }

        body.galv-voucher .test-title{
            font-size: 22px;
            color: var(--primary-blue);
            margin-bottom: 8px;
            font-weight: 600;
        }

        body.galv-voucher .test-card p{
            font-size: 18px;
            color: #808080;
            margin-bottom: 20px;
        }

        body.galv-voucher .test-details{
            display: flex;
            gap: 30px;
            margin-bottom: 15px;
        }

        body.galv-voucher .detail-item{
            font-size: 18px;
            color: #333;
        }

        body.galv-voucher .detail-item strong{
            font-weight: 600;
        }

        body.galv-voucher .test-divider{
            border: 0;
            border-top: 1px solid #bdbdbd;
            margin: 0 0 20px;
            width: 100%;
        }

        body.galv-voucher .test-features{
            list-style: none;
            margin-bottom: 10px;
            flex-grow: 1;
        }

        body.galv-voucher .test-feature-item{
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
            font-size: 16px;
        }

        body.galv-voucher .test-feature-item svg{
            color: var(--success-green);
            flex-shrink: 0;
        }

        body.galv-voucher .test-button-container{
            text-align: center;
            margin-top: 20px;
        }

        body.galv-voucher .test-button-container .btn{
            width: 100%;
            box-sizing: border-box;
        }

        body.galv-voucher .accordion-item{
            background: #eef2ff;
            border: 1px solid #c7d2fe;
            border-radius: 12px;
            margin-bottom: 12px;
            overflow: hidden;
            transition: all .3s ease;
        }

        body.galv-voucher .accordion-header{
            padding: 16px 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-weight: 500;
            font-size: 18px;
            color: #1e293b;
            user-select: none;
        }

        body.galv-voucher .accordion-icon{
            font-size: 20px;
            color: #333;
            transition: transform .3s ease;
        }

        body.galv-voucher .accordion-content{
            max-height: 0;
            overflow: hidden;
            transition: max-height .3s ease-out, padding .3s ease;
            background: #eef2ff;
        }

        body.galv-voucher .accordion-item.active .accordion-content{
            max-height: 500px;
            padding: 0 20px 20px;
        }

        body.galv-voucher .accordion-list{
            list-style: none;
            padding: 0;
            margin: 0;
        }

        body.galv-voucher .accordion-list li{
            position: relative;
            padding-left: 20px;
            margin-bottom: 8px;
            font-size: 16px;
            color: #475569;
            line-height: 1.5;
        }

        body.galv-voucher .accordion-list li::before{
            content: "•";
            position: absolute;
            left: 0;
            color: #1e293b;
            font-weight: 600;
        }

        body.galv-voucher .text-left{
            text-align: left;
        }

        body.galv-voucher .video-modal-overlay{
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.7);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }

        body.galv-voucher .video-modal-overlay .video-modal-content{
            position: relative;
            width: min(90vw, 800px);
            aspect-ratio: 16/9;
            background: #000;
        }

        body.galv-voucher .video-modal-overlay .video-modal-content iframe{
            width: 100%;
            height: 100%;
            border: none;
        }

        body.galv-voucher .video-modal-overlay .video-modal-close{
            position: absolute;
            top: -36px;
            right: 0;
            background: #fff;
            border-radius: 50%;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-weight: bold;
        }

        /* Consolidated Media Queries */
        @media (max-width: 1024px) {
            body.galv-voucher .hero-offers{
                display: flex;
                flex-direction: column;
                width: 100%;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table{
                display: block;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table thead, body.galv-voucher .offer-card:nth-child(2) .offer-table tbody{
                display: block;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table thead tr, body.galv-voucher .offer-card:nth-child(2) .offer-table tbody tr{
                display: flex;
                flex-wrap: wrap;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table thead tr th:nth-child(3){
                display: none;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table th:first-child, body.galv-voucher .offer-card:nth-child(2) .offer-table td:first-child, body.galv-voucher .offer-card:nth-child(2) .offer-table th:nth-child(2), body.galv-voucher .offer-card:nth-child(2) .offer-table td:nth-child(2){
                flex: 1;
                width: 50%;
            }

            body.galv-voucher .offer-card:nth-child(2) .offer-table tbody tr td:nth-child(3){
                flex: 0 0 100%;
                width: 100%;
                text-align: center;
                border: none;
                padding: 25px 0;
                background: transparent;
                display: flex;
                justify-content: center;
            }

            body.galv-voucher .btn-sm{
                font-size: 14px;
                line-height: 24px;
                padding: 8px 16px;
            }

            body.galv-voucher .free-sample-test{
                padding: 40px 0;
            }

            body.galv-voucher .sample-test-wrapper{
                flex-direction: row;
                gap: 20px;
            }

            body.galv-voucher .uni-wrapper{
                flex-direction: row;
            }

            body.galv-voucher .uni-cards-grid{
                margin-bottom: 40px;
            }

            body.galv-voucher .uni-left{
                display: flex;
                flex-direction: column;
                max-width: 100%;
                text-align: center;
                gap: 0;
            }

            body.galv-voucher .uni-logos-grid{
                margin-bottom: 40px;
            }

            body.galv-voucher .uni-logo-box{
                padding: 15px;
            }

            body.galv-voucher .uni-cta-box{
                text-align: center;
                margin-top: 0;
            }

            body.galv-voucher .uni-right{
                flex: 0.5;
            }


            body.galv-voucher .container{
                padding: 0 40px;
            }

            body.galv-voucher .diagnostic-grid{
                grid-template-columns: 1fr;
                margin-top: 40px;
            }

            body.galv-voucher .hero{
                padding: 40px 0 120px;
            }

            body.galv-voucher .hero .container{
                display: flex;
                flex-direction: column;
                gap: 10px;
                align-items: start;
            }

            body.galv-voucher .hero-content h1{
                font-size: 38px;
            }

            body.galv-voucher .hero-content p{
                font-size: 16px;
                margin-bottom: 20px;
            }

            body.galv-voucher .hero-feature-item{
                font-size: 16px;
                gap: 10px;
                margin-bottom: 20px;
            }

            body.galv-voucher .hero-features{
                margin-bottom: 30px;
            }

            body.galv-voucher .hero-img{
                max-width: 380px;
            }

            body.galv-voucher .register{
                padding: 40px 0;
            }

            body.galv-voucher .ets-partner{
                padding: 40px 0 140px;
            }

            body.galv-voucher .partner-connect-section{
                margin-top: 40px;
            }

            body.galv-voucher .partner-cards-grid{
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 20px;
            }

            body.galv-voucher .partner-card{
                flex: 0 1 calc(50% - 10px);
            }

            body.galv-voucher .features-grid{
                grid-template-columns: repeat(2, 1fr);
            }

            body.galv-voucher .flex-cta img{
                width: 40%;
            }

            body.galv-voucher .gre-app{
                padding: 40px 0;
            }

            body.galv-voucher .gre-app-image img{
                top: 90%;
                left: -120%;
            }

            body.galv-voucher .universities-section{
                padding: 40px 0;
            }

            body.galv-voucher .diagnostic{
                padding: 40px 0;
            }

            body.galv-voucher .contact-form{
                padding: 40px 0;
            }

            body.galv-voucher .faq-section{
                padding: 40px 0;
            }
        }

        @media (max-width: 860px) {
            body.galv-voucher .gre-app-card{
                grid-template-columns: 1fr;
                border-radius: 30px;
                gap: 0;
            }

            body.galv-voucher .gre-app-content{
                padding: 30px;
                align-items: start;
                order: 2;
            }

            body.galv-voucher .gre-app-features{
                text-align: left;
                margin-bottom: 25px;
                padding-left: 0;
            }

            body.galv-voucher .gre-app-features li{
                font-size: 16px;
                line-height: 24px;
            }

            body.galv-voucher .gre-app-image{
                height: 300px;
                justify-content: center;
                align-items: center;
                order: 1;
            }

            body.galv-voucher .gre-app-image img{
                height: 500%;
                width: auto;
                position: relative;
                top: 40%;
                left: -8%;
                transform: none;
                margin: 0 auto;
                display: block;
            }
        }

        @media (max-width: 768px) {
            /* SUBASH-V9 2026-07-16: mobile-only hero breathing room. Deliberately
               inside this breakpoint, NOT on the base .hero-content rule — desktop
               hero spacing must not move. */
            body.galv-voucher .hero-content{
                padding-bottom: 40px;
            }

            body.galv-voucher .register-notes-container{
                flex-direction: column;
                align-items: center;
                gap: 20px;
                margin-top: 30px;
            }

            body.galv-voucher .register-carousel-container{
                margin-top: 30px;
            }

            body.galv-voucher .register-help-container{
                margin-top: 30px;
            }

            body.galv-voucher .register-help-container h3{
                font-size: 20px;
            }

            body.galv-voucher .partner-cards-grid{
                margin-top: 30px;
            }

            body.galv-voucher .connect-text{
                font-size: 20px;
            }

            body.galv-voucher .ets-partner{
                padding: 40px 0 160px;
            }

            body.galv-voucher .register-note-box{
                max-width: 100%;
                width: 100%;
                box-sizing: border-box;
            }

            body.galv-voucher .uni-partners h2{
                font-size: 20px;
            }

            body.galv-voucher .uni-cards-grid{
                grid-template-columns: 1fr;
                margin-bottom: 30px;
            }

            body.galv-voucher .uni-logos-grid{
                grid-template-columns: repeat(3, 1fr);
                gap: 10px;
                margin-bottom: 40px;
            }

            body.galv-voucher .uni-logo-box{
                padding: 10px;
                border-radius: 10px;
            }

            body.galv-voucher .uni-tooltip-container{
                bottom: -50px;
                right: -40px;

                /* Move tooltip closer */
            }

            body.galv-voucher .flex-cta{
                flex-direction: column;
            }

            body.galv-voucher .flex-cta h2{
                text-align: center;
            }

            body.galv-voucher .flex-cta p{
                text-align: center;
            }

            body.galv-voucher .flex-cta img{
                display: none;
            }

            body.galv-voucher .plan-cta{
                padding: 40px 0;
            }

            body.galv-voucher .flex-cta-content{
                width: 100%;
                text-align: center;
            }

            body.galv-voucher .diagnostic-grid{
                margin-top: 30px;
            }

            body.galv-voucher .test-card{
                padding: 20px;
            }

            body.galv-voucher .test-card p{
                text-align: left;
            }


            body.galv-voucher .gre-app-image img{
                height: 480%;
            }

            body.galv-voucher .gre-app-content{
                padding: 20px;
            }

            body.galv-voucher .gre-app-buttons img{
                height: 40px;
                width: auto;
            }

            body.galv-voucher .uni-title{
                font-size: 24px;
                line-height: 38px;
                margin-bottom: 10px;
            }

            body.galv-voucher .uni-subtitle{
                font-size: 18px;
                line-height: 29px;
                font-weight: 500;
            }

            body.galv-voucher .contact-form-wrapper{
                display: flex;
                flex-direction: column;
                gap: 30px;
            }

            body.galv-voucher .faq-layout{
                display: flex;
                flex-direction: column;
                gap: 30px;
            }

            body.galv-voucher .faq-image-col{
                display: none;
            }

            body.galv-voucher .faq-title{
                font-size: 24px;
                line-height: 38px;
            }

            body.galv-voucher nav button, body.galv-voucher nav a{
                padding: 10px 14px;
            }

            body.galv-voucher .container{
                padding: 0 20px;
            }

            body.galv-voucher .register, body.galv-voucher .testimonials-video, body.galv-voucher .diagnostic{
                padding: 40px 0;
            }

            body.galv-voucher h2.section-title{
                font-size: 24px;
                line-height: 38px;
                margin-bottom: 10px;
            }

            body.galv-voucher .section-subtitle{
                font-size: 18px;
                line-height: 29px;
            }

            body.galv-voucher .hero{
                padding: 40px 0 250px;
            }

            body.galv-voucher .hero .container{
                grid-template-columns: 1fr;
                gap: 0px;
                text-align: left;
                padding: 0 20px;
            }

            body.galv-voucher .hero-offers{
                display: flex;
                flex-direction: column;
            }

            body.galv-voucher .hero-content .ambassador-img{
                max-height: 50px;
            }

            body.galv-voucher .hero-content h1{
                font-size: 36px;
                line-height: 42px;
                text-align: left;
                width: 100%;
                overflow-wrap: break-word;
                word-break: break-word;
                white-space: normal !important;
            }

            body.galv-voucher .hero-content p{
                font-size: 20px;
                margin-bottom: 20px;
            }

            body.galv-voucher .hero-feature-item{
                font-size: 16px;
                margin-bottom: 20px;
            }

            body.galv-voucher .hero-testimonial{
                width: 100%;
                justify-content: center;
            }

            body.galv-voucher .hero-img{
                max-width: 100%;
                border-radius: 12px;
            }

            body.galv-voucher .offer-table td{
                font-size: 12px;
                padding: 14px 8px;
            }

            body.galv-voucher .offer-table td:first-child{
                padding-left: 10px;
            }

            body.galv-voucher .btn-sm{
                font-size: 16px;
                line-height: 26px;
                padding: 12px 24px;
            }

            body.galv-voucher .features-grid, body.galv-voucher .stats-bar{
                grid-template-columns: 1fr;
                margin-top: 20px;
            }

            body.galv-voucher .partner-card{
                flex: 0 1 100%;
            }

            body.galv-voucher .stat-item p{
                font-size: 16px;
                line-height: 26px;
                max-width: 200px;
            }

            body.galv-voucher .video-carousel-container{
                max-width: 297px;
                margin: 20px auto;
            }

            body.galv-voucher .video-card{
                /* Let Swiper set the width */
                margin: 0;
            }

            body.galv-voucher .video-carousel-dots{
                display: none;
            }

            body.galv-voucher .register-name{
                font-size: 18px;
                line-height: 29px;
            }

            body.galv-voucher .register-country{
                font-size: 16px;
                line-height: 26px;
            }

            body.galv-voucher .stats-bar{
                margin-top: -200px;
            }

            body.galv-voucher .feature-card h3{
                font-size: 20px;
            }

            body.galv-voucher .feature-card p{
                font-size: 18px;
            }

            body.galv-voucher .university-card h2{
                font-size: 20px;
                line-height: 29px;
            }

            body.galv-voucher .partners{
                padding: 20px 0 0;
            }
            
            body.galv-voucher .gre-code-box{
                border: 2px dashed var(--primary-blue);
                border-radius: 8px;
                padding: 12px 30px;
                width: 40%;
                box-sizing: border-box;
            }            
            
        }

        @media (max-width: 350px) {
            body.galv-voucher .continue-reading{
                font-size: 12px;
            }

            body.galv-voucher .partner-footer{
                padding: 10px 12px;
                gap: 4px;
            }

            body.galv-voucher .partner-socials{
                gap: 4px;
            }

            body.galv-voucher .social-icon{
                width: 28px;
                height: 28px;
            }

            body.galv-voucher .social-icon svg{
                width: 12px;
                height: 12px;
            }

            body.galv-voucher .btn{
                font-size: 16px;
                padding: 12px 16px;
            }
        }

        /* GRE DISCOUNT CARD */
        body.galv-voucher .gre-discount-header{
            justify-content: center;
        }

        body.galv-voucher .gre-discount-header .offer-header-text{
            text-align: center;
        }

        body.galv-voucher .gre-discount-body{
            padding: 20px 25px 25px;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 15px;
        }

        body.galv-voucher .gre-validity{
            font-size: 15px;
            font-weight: 600;
            color: var(--text-dark);
            margin: 0;
        }

        body.galv-voucher .gre-save{
            font-size: 22px;
            font-weight: 700;
            color: var(--cta-magenta);
            margin: 0;
            font-family: var(--font-heading);
        }

        body.galv-voucher .gre-code-box{
            border: 2px dashed var(--primary-blue);
            border-radius: 10px;
            padding: 12px 30px;
            width: 100%;
            box-sizing: border-box;
        }

        body.galv-voucher .gre-code{
            font-size: 20px;
            font-weight: 700;
            color: var(--primary-blue);
            letter-spacing: 1px;
            font-family: var(--font-heading);
        }

        body.galv-voucher .gre-btn-group{
            display: flex;
            gap: 12px;
            justify-content: center;
            width: 100%;
        }

        body.galv-voucher .gre-email-btn{
            background: #3b5bff;
            color: #fffdfe;
            font-size: 16px;
        }

        body.galv-voucher .gre-email-btn:hover{
            background: #13217c;
            color: #fffdfe;
        }
        
    
        /* ===== PRICING SECTION (from GRE page) ===== */
        body.galv-voucher .pricing{
            background-color: var(--bg-navy);
            color: var(--text-white);
            padding: 60px 0 0;
        }

        body.galv-voucher .pricing .pricing-subheading{
            font-family: 'Poppins', sans-serif;
            font-size: 18px;
            font-weight: 400;
            color: var(--text-white);
            margin-bottom: 40px;
            max-width: 844px;
            margin-left: auto;
            margin-right: auto;
        }

        body.galv-voucher .section-subheading{
            font-family: 'Poppins', sans-serif;
            font-size: 20px;
            font-weight: 500;
            color: #333333;
            margin-top: 10px;
            margin-bottom: 60px;
            text-align: center;
            max-width: 844px;
            margin-left: auto;
            margin-right: auto;
        }

        body.galv-voucher .pricing-card-wrapper{
            position: relative;
            overflow: hidden;
            border-radius: 20px;
        }

        body.galv-voucher .pricing-card-wrapper-margin{
            max-width: 600px;
            margin: 0 auto 40px;
        }

        body.galv-voucher .ribbon{
            position: absolute;
            top: 15px;
            left: -35px;
            background: #cc00cc;
            color: #fff;
            padding: 8px 40px;
            font-size: 11px;
            font-weight: 600;
            transform: rotate(-45deg);
            z-index: 10;
            text-transform: uppercase;
            box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
        }

        body.galv-voucher .pricing-featured{
            max-width: 600px;
            margin: 0 auto 10px;
            background: var(--text-white);
            color: var(--text-dark);
            border-radius: 20px;
            padding: 30px;
            position: relative;
            border: 2px solid transparent;
            transition: all .2s ease;
            text-align: center;
        }

        body.galv-voucher .pricing-featured:hover{
            border: 2px solid #a0aeff
        }

        body.galv-voucher .pricing-grid{
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
            max-width: 1200px;
            margin: 0 auto;
        }

        body.galv-voucher .pricing-card{
            background: var(--text-white);
            color: var(--text-dark);
            border-radius: 20px;
            padding: 30px 20px;
            display: flex;
            flex-direction: column;
            position: relative;
            border: 2px solid transparent;
            transition: all .2s ease;
            text-align: center;
        }

        body.galv-voucher .pricing-card:hover{
            border: 2px solid #a0aeff;
        }

        body.galv-voucher .price-title{
            font-size: 22px;
            font-weight: 600;
            margin-bottom: 15px;
            color: #4466ff;
        }

        body.galv-voucher .price-section{
            margin-bottom: 25px;
        }

        body.galv-voucher .original-price{
            font-size: 16px;
            color: #808080;
            position: relative;
            display: inline-block;
            margin-bottom: 5px;
        }

        body.galv-voucher .original-price::after{
            content: "";
            position: absolute;
            left: 0;
            top: 55%;
            width: 100%;
            height: 1.2px;
            background: #808080;
            transform: translateY(-50%);
        }

        body.galv-voucher .gst-label{
            font-size: 10px;
            color: #808080;
            font-weight: 500;
            margin-left: 4px;
        }

        body.galv-voucher .price-value{
            font-size: 36px;
            font-weight: 600;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        body.galv-voucher .pricing-features-header{
            color: #333333;
            font-size: 16px;
            font-weight: 600;
            text-align: left;
            margin: 20px 0 15px;
            padding-top: 15px;
            border-top: 1px solid #d9d9d9;
        }

        body.galv-voucher .price-features{
            list-style: none;
            margin: 0;
            padding: 0;
            text-align: left;
        }

        body.galv-voucher .price-feature-item{
            display: flex;
            align-items: flex-start;
            justify-content: flex-start;
            gap: 8px;
            margin-bottom: 12px;
            font-size: 16px;
            color: #333;
            line-height: 1.4;
            text-align: left;
        }

        body.galv-voucher .price-feature-item svg{
            color: #22c55e;
            flex-shrink: 0;
            margin-top: 2px;
        }

        body.galv-voucher .price-feature-item div{
            flex: 1;
        }

        body.galv-voucher .price-feature-item strong{
            font-weight: 600;
            color: #1e293b;
        }

        body.galv-voucher .featured-features-list{
            display: flex;
            justify-content: left;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 15px;
        }

        body.galv-voucher .consultation-cta{
            margin-top: 40px;
            margin-bottom: 60px;
            font-size: 18px;
            text-align: center;
        }

        body.galv-voucher .consultation-cta p{
            margin-bottom: 20px;
            font-size: 22px;
        }

        /* Pricing section enhancements */
        body.galv-voucher .validity-badge{
            display: inline-block;
            background: #fffdfe;
            color: var(--cta-magenta);
            padding: 2px 16px;
            font-size: 20px;
            font-weight: 600;
            margin-top: -10px;
            margin-bottom: 14px;
        }

        body.galv-voucher .whats-included-box{
            background: var(--text-white);
            border-radius: 20px;
            padding: 30px 40px;
            max-width: 844px;
            margin: 30px auto 30px;
            text-align: left;
        }

        body.galv-voucher .whats-included-box h4{
            font-size: 20px;
            color: var(--primary-blue);
            font-weight: 600;
            margin-bottom: 8px;
        }

        body.galv-voucher .whats-included-box > p{
            font-size: 14px;
            color: #808080;
            margin-bottom: 16px;
        }

        body.galv-voucher .whats-included-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px 30px;
        }

        body.galv-voucher .wi-item{
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 15px;
            color: #333;
            font-weight: 500;
        }

        body.galv-voucher .wi-item svg{
            flex-shrink: 0;
        }

        @media(max-width:600px) {
            body.galv-voucher .whats-included-grid{
                grid-template-columns: 1fr;
            }

            body.galv-voucher .whats-included-box{
                padding: 20px 16px;
            }
        }

        /* Pricing Popup Modal */
        body.galv-voucher .pricing-popup-overlay{
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.6);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }

        body.galv-voucher .pricing-popup-overlay.active{
            display: flex;
        }

        body.galv-voucher .pricing-popup-content{
            background: #fff;
            border-radius: 20px;
            padding: 40px;
            max-width: 500px;
            width: 90%;
            position: relative;
        }

        body.galv-voucher .pricing-popup-close{
            position: absolute;
            top: 15px;
            right: 20px;
            background: none;
            border: none;
            font-size: 22px;
            cursor: pointer;
            color: #333;
            line-height: 1;
        }

        /* Payment Gateway: India = Instamojo, International = Razorpay */
        body.galv-voucher .gateway-india{ display: none; }
        body.galv-voucher .gateway-intl{ display: none; }
        body.galv-voucher body.is-india .gateway-india{ display: block; }
        body.galv-voucher body.is-intl  .gateway-intl{ display: block; }

        /* Price display: India vs International */
        body.galv-voucher .price-section-india, body.galv-voucher .price-section-intl{ margin-bottom: 25px; }
        body.galv-voucher .price-section-india{ display: none; }
        body.galv-voucher .price-section-intl{ display: none; }
        body.galv-voucher body.is-india .price-section-india{ display: block; }
        body.galv-voucher body.is-intl  .price-section-intl{ display: block; }
        /* Hide Practice Test Series for international users */
        body.galv-voucher body.is-intl .practice-test-wrapper{ display: none; }

        @media (max-width: 1200px) {
            body.galv-voucher #pay-btn-crash form, body.galv-voucher #pay-btn-90 form, body.galv-voucher #pay-btn-plus form, body.galv-voucher #pay-btn-360 form, body.galv-voucher #pay-btn-practice form{
                transform: scale(0.82);
                transform-origin: center center;
            }

            body.galv-voucher #pay-btn-crash, body.galv-voucher #pay-btn-90, body.galv-voucher #pay-btn-plus, body.galv-voucher #pay-btn-360, body.galv-voucher #pay-btn-practice{
                overflow: hidden;
            }
        }

        @media (max-width: 1024px) {
            body.galv-voucher .pricing-grid{
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            body.galv-voucher .pricing-grid{
            grid-template-columns: 1fr;
            max-width: 400px;
            margin: 0 auto;
        }
            body.galv-voucher .pricing-card-wrapper-margin, body.galv-voucher .pricing-featured{
            width: 100%;
        }
            body.galv-voucher .pricing-card-wrapper-margin{
            margin: 0 auto 20px;
        }
    }
    

/* Subash voucher review v2 (2026-06-15): the GRE app screenshot used the same
   height:260% absolute-positioned crop as the TOEFL pages, so it overflowed its frame
   and looked oversized. Replace the crop uniformly (wins over the comp's per-breakpoint
   img rules by source order) with a naturally-fit image: full image, aspect preserved,
   centered, proportionate across desktop / tablet / mobile. */
body.galv-voucher .gre-app-image {
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}
body.galv-voucher .gre-app-image img {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    height: auto;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    object-fit: contain;
}

/* Subash voucher review v3 (2026-06-15): stats section background behind the card #FFFDFE -> #E6EBFF (card unchanged). */
body.galv-voucher .stats-section {
    background-color: #E6EBFF;
}

/* Subash voucher review v2 (2026-06-15): register step cards were stretched to equal
   height (Swiper default — no autoHeight), so short-text cards (e.g. "Verify your
   location and proceed!") showed a large gap between .step-desc and the card bottom in
   the first visible set, while longer-text cards looked right. (superseded by the v4 stretch rule below) */
body.galv-voucher .register-step-card.swiper-slide {
    /* v4 2026-06-15: equal height (stretch) fixes a lazy-load-dependent dead-space gap
       (measured up to ~155px) below shorter cards before .register-help-container, which
       varied as step images loaded / the carousel scrolled. Replaces v2/v3 flex-start. */
    align-self: stretch;
}

/* Subash voucher review v5 (2026-06-15): register-step-card dead-space + carousel gap.
   ROOT CAUSE (measured via Playwright on staging, not guessed): .step-image-box img had
   no reserved aspect ratio, so a LiteSpeed lazy-load 1x1 placeholder — and the always-
   offscreen Swiper loop clones — rendered as a 325x325 SQUARE, forcing slide height to
   ~494px. Swiper's default align-items:stretch then propagated that to every visible
   card, leaving ~146px of dead space below .step-desc (and, once cards hug content, the
   same 146px reappears as a gap before .register-help-container). Real image is 351x193;
   loaded cards are 348px. Reserving the ratio makes every slide (loaded, unloaded, or
   clone) a deterministic 348px regardless of lazy-load timing -> no dead space, carousel
   hugs content. Root-cause fix; supersedes the v2 flex-start / v4 stretch workarounds
   (symptom treatments, left in place — harmless once heights are equal). Verified on
   staging: wrapper 494->348, carousel->help gap 0. */
body.galv-voucher .step-image-box img {
    aspect-ratio: 351 / 193;
}

/* Subash voucher review v6 (2026-06-16): +20px breathing room above the help-section heading. */
body.galv-voucher .register-help-container h3 {
    margin-top: 20px;
}

/* ============================================================================
   Subash GRE round-2 (2026-07-15; Ram-ratified canon reversal): hero redesign +
   a NEW "Other TOEFL Discount Codes" cross-sell section. The GRE skin never had an
   other-codes section, so this ports Subash's comp CSS for it wholesale, plus the
   new hero classes (form-intro note, inline ETS link, the offer-table hero card).
   Both the hero table and the cross-sell table use .offer-table, so the merged-table
   stacked-card mobile view is scoped to .offer-table (the page's only two tables).
   Values from Subash's comp; offer STRINGS live in the partial, reconciled to canon.
   ============================================================================ */

/* Hero: form-intro note above the lead form */
body.galv-voucher .hero-content p.hero-form-note {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 12px;
    opacity: 0.85;
}

/* Feature items now carry multi-line copy -> top-align the tick */
body.galv-voucher .hero-feature-item {
    align-items: flex-start;
    line-height: 28px;
}

body.galv-voucher .hero-feature-link {
    color: var(--text-white);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 400;
    white-space: nowrap;
}

body.galv-voucher .hero-feature-link:hover {
    opacity: 0.85;
}

/* Hero offer card is now a table */
body.galv-voucher .offer-table-wrap {
    width: 100%;
}

/* offer-note: hero "see below" note + the country-varies footnote */
body.galv-voucher .offer-note {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 20px;
    font-style: italic;
    color: var(--text-gray);
    padding: 12px 20px 14px;
    margin: 0;
}

body.galv-voucher .offer-note a {
    color: var(--primary-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.galv-voucher .hero-offers .offer-note {
    color: #808080;
}

body.galv-voucher .hero-offers .offer-table td.product-cell {
    font-weight: 600;
}

/* Other-codes cross-sell section (new to this page) — overlaps the stats bar */
body.galv-voucher .other-codes-section {
    background-color: var(--accent-blue);
    padding: 60px 0;
    margin-top: -100px;
    padding-top: 150px;
}

body.galv-voucher .other-codes-layout {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

body.galv-voucher .other-codes-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}

body.galv-voucher .other-codes-title {
    font-family: var(--font-heading);
    font-size: 36px;
    line-height: 48px;
    color: var(--primary-blue);
    font-weight: 600;
    margin: 0;
}

body.galv-voucher .other-codes-desc {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 29px;
    color: var(--text-dark);
    margin: 0;
}

body.galv-voucher .other-codes-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 820px;
    margin: 0 auto;
    width: 100%;
}

body.galv-voucher .other-codes-card-header {
    background: var(--bg-navy) !important;
}

@media (max-width: 1024px) {
    body.galv-voucher .other-codes-layout {
        gap: 30px;
    }

    body.galv-voucher .other-codes-title {
        font-size: 26px;
        line-height: 40px;
    }
}

@media (max-width: 768px) {
    body.galv-voucher .other-codes-section {
        padding: 40px 0;
        margin-top: -280px;
        padding-top: 330px;
    }

    body.galv-voucher .other-codes-layout {
        gap: 30px;
    }

    body.galv-voucher .other-codes-title {
        font-size: 26px;
        line-height: 38px;
    }

    body.galv-voucher .other-codes-desc {
        font-size: 16px;
        line-height: 26px;
    }
}

/* Merged codes tables -> stacked cards on phones (both hero + cross-sell tables) */
@media (max-width: 600px) {
    body.galv-voucher .offer-table {
        display: block;
        padding: 12px;
    }

    body.galv-voucher .offer-table thead {
        display: none;
    }

    body.galv-voucher .offer-table tbody,
    body.galv-voucher .offer-table tr,
    body.galv-voucher .offer-table td {
        display: block;
        width: 100%;
    }

    body.galv-voucher .offer-table tr {
        border: none;
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 14px;
        background: var(--accent-blue);
    }

    body.galv-voucher .offer-table tr:last-child {
        margin-bottom: 0;
    }

    body.galv-voucher .offer-table tbody td {
        position: relative;
        text-align: left;
        padding: 6px 16px 6px 42%;
        border: none;
        background: transparent;
        font-size: 14px;
    }

    body.galv-voucher .offer-table tbody td:first-of-type {
        padding-top: 14px;
    }

    body.galv-voucher .offer-table tbody td:last-child {
        padding-bottom: 14px;
    }

    body.galv-voucher .offer-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 16px;
        top: 6px;
        width: 38%;
        text-align: left;
        font-weight: 600;
        color: var(--text-gray);
    }

    body.galv-voucher .offer-table tbody td:first-of-type::before {
        top: 14px;
    }

    body.galv-voucher .offer-table td.product-cell {
        width: 100%;
        text-align: left;
        background: var(--accent-blue);
        padding: 6px 16px;
        font-size: 15px;
        font-weight: 600;
    }

    body.galv-voucher .offer-table td.product-cell::before {
        content: none;
    }

    body.galv-voucher .offer-table td .btn-sm {
        display: inline-block;
        width: auto;
        padding: 8px 18px;
    }

    body.galv-voucher .offer-table tbody td:has(.btn-sm)::before {
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
    }
}


/* ============================================================================
   VOUCHER FLOW REDESIGN — Subash comp `toefl-voucher-hero-redesign.html`
   (drop 2026-07-28). Extracted verbatim; only the `body.galv-voucher` scope
   prefix is added, per this file's SCOPING convention (see header).

   DELIBERATELY NOT PORTED from the comp — do not "fix" these back:
   - The comp's `.hero { padding: 60px 0 }`. Ours is `60px 0 160px`; the 160px
     bottom is load-bearing for .stats-section's negative-margin overlap
     (see the .hero rule above). The comp has no stats bar, so it never needed it.
   - The comp's `.btn-magenta { font-size: 18px }`. Ours has no font-size, and
     .btn-magenta is used site-wide on this page — the comp's value would resize
     buttons in sections the redesign does not touch.
   - The comp's `.offer-table { text-align: left }` and its `td` left-padding.
     Ours centres; changing it reflows all six rows, which is not part of this change.
   - The comp's page-global `*`, `html`, `body`, `h1`-`h6` and `:root` blocks.
     Those leak into the Bricks header/footer chrome; the tokens they define
     already exist in the body.galv-voucher block above.
   ============================================================================ */

body.galv-voucher .is-hidden { display: none !important; }

/* Inline email widget (locked pattern: 44px, magenta CTA).
   Intent: FREE codes by email. Optional — every code stays visible in the
   table beside it, so this is a soft opt-in, not a gate. */
body.galv-voucher .email-widget {
    display: flex;
    gap: 10px;
    max-width: 480px;
}
body.galv-voucher .email-widget input[type="email"] {
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: none;
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--text-dark);
    background: var(--text-white);
}
body.galv-voucher .email-widget input[type="email"]:focus {
    outline: 2px solid var(--primary-blue);
}
body.galv-voucher .email-widget .btn {
    height: 44px;
    padding: 0 22px;
    font-size: 16px;
    line-height: 44px;
    white-space: nowrap;
}
/* Success/error text. The comp styles a standalone `.email-widget-done` <p>,
   but galvanize-forms owns the success state for bare comp forms and injects
   its own `.galv-form__status` node (setStatus overwrites className, so the
   comp's class cannot survive on it). Both selectors carry the comp's type. */
body.galv-voucher .email-widget-done,
body.galv-voucher .hero-content .galv-form__status {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
}

/* Code string + Copy button share one line in the code cell. Full-width +
   space-between anchors every Copy button at the same x-position regardless
   of code length. */
body.galv-voucher .code-cell-inner {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
body.galv-voucher .code-copy {
    font-family: var(--font-heading);
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    color: var(--primary-blue);
    background: #fff;
    border: 1px solid var(--primary-blue);
    border-radius: 5px;
    padding: 3px 10px;
    cursor: pointer;
    transition: all .2s ease;
}
body.galv-voucher .code-copy:hover,
body.galv-voucher .code-copy.is-copied {
    background: var(--primary-blue);
    color: var(--text-white);
}

/* Paid voucher row. No tint — the row reads as paid via the magenta Buy
   Voucher button and the .voucher-row-label, not a background fill. */
body.galv-voucher .voucher-row-label {
    display: block;
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    color: var(--cta-magenta);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

/* GRE cross-link callout (inside the offer card) */
body.galv-voucher .offer-outside {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 22px;
    font-weight: 500;
    color: var(--text-dark);
    background: var(--accent-blue);
    border-left: 4px solid var(--primary-blue);
    padding: 12px 16px;
    margin: 14px 16px 0;
    border-radius: 8px;
}
body.galv-voucher .offer-outside a {
    color: var(--primary-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
body.galv-voucher .offer-outside a:hover { color: var(--bg-navy); }

@media (max-width: 768px) {
    body.galv-voucher .email-widget { flex-direction: column; }
    /* In column direction flex-basis governs HEIGHT — without this reset,
       flex:1 collapses the input to ~20px despite height:44px */
    body.galv-voucher .email-widget input[type="email"] { flex: 0 0 auto; }
    body.galv-voucher .email-widget .btn { width: 100%; text-align: center; }
    /* Same line here too: tighter code type + button so the longest code fits
       beside Copy; wrap stays as last-resort fallback. justify-content resets
       so Copy hugs the code text (desktop's space-between would push it to
       the cell's far edge). */
    body.galv-voucher .code-cell-inner {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 6px;
        font-size: 12px;
        letter-spacing: 0;
    }
    body.galv-voucher .code-cell-inner .code-copy { padding: 2px 8px; }
    /* Vertically centre the stacked-mobile row label against the taller
       Copy button, matching the existing .btn-sm rule at the 600px stop. */
    body.galv-voucher .offer-table tbody td:has(.code-copy)::before {
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
    }
}

/* --- offer-row emphasis (comp 2026-07-28, per-page) --- */
body.galv-voucher .offer-table tr.voucher-row td { background: #FFF6E5; }
@media (max-width: 768px) {
    /* rows stack into cards here, so the tint re-applies to the row and its product cell */
    body.galv-voucher .offer-table tr.voucher-row,
    body.galv-voucher .offer-table tr.voucher-row td.product-cell { background: #FFF6E5; }
}

/* ---- Form section, Subash feedback v2 (2026-07-28) ----------------------------
   The support opt-in checkbox is injected by the paired JS (.support-optin-label)
   and had no styles of its own, so it inherited body colour. Subash asked for the
   same muted grey the offer notes now use.

   This is the checkbox that REMAINS after the visible consent row moved to the
   implicit pattern. It is `upgrade_interest` -- a progressive-disclosure toggle,
   NOT a consent control. Do not relabel it as consent. */
body.galv-voucher .support-optin-label {
    /* v3 2026-07-29 (Subash): supersedes the v2 muted grey -- this label was getting
       lost against the offer notes it was matched to. Text is UNCHANGED; styling only. */
    color: #333333;
    font-size: 16px;
    font-weight: 500;
}
