/* Start custom CSS for text-editor, class: .elementor-element-bf2ecea */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --primary:       #A01825;
      --primary-dark:  #8B1520;
      --primary-light: #FDF0F1;
      --primary-border:#F0DCDE;
      --navy:          #003B5C;
      --text:          #2C2C3E;
      --text-muted:    #5A6A7A;
    }
    body { font-family: 'Poppins', sans-serif; background: #fff; -webkit-font-smoothing: antialiased; color: #4A4A5A; }

    .reveal { opacity: 0; transform: translateY(36px); transition: opacity 0.7s cubic-bezier(.22,1,.36,1), transform 0.7s cubic-bezier(.22,1,.36,1); }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal-right { opacity: 0; transform: translateX(40px); transition: opacity 0.75s cubic-bezier(.22,1,.36,1), transform 0.75s cubic-bezier(.22,1,.36,1); }
    .reveal-right.visible { opacity: 1; transform: translateX(0); }
    .delay-1 { transition-delay: 0.08s !important; }
    .delay-2 { transition-delay: 0.16s !important; }
    .delay-3 { transition-delay: 0.24s !important; }
    .delay-4 { transition-delay: 0.32s !important; }

    .cps-section { padding: 90px 48px; position: relative; overflow: hidden; }
    .cps-container { max-width: 1140px; margin: 0 auto; }
    @media(max-width:768px) { .cps-section { padding: 64px 24px; } }

    .cps-heading { font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; color: #1A1A2E; line-height: 1.2; margin-bottom: 16px; letter-spacing: -0.3px; }
    .cps-heading span { color: var(--primary); }
    .cps-body { font-size: 15.5px; font-weight: 400; color: #4A4A5A; line-height: 1.85; margin-bottom: 14px; }
    .cps-body:last-of-type { margin-bottom: 0; }
    .cps-body strong { font-weight: 600; color: #1A1A2E; }

    .section-a { background: #fff; border-bottom: 1px solid #EBEBF2; }
    .section-a::before { content: ''; position: absolute; width: 420px; height: 420px; background: radial-gradient(circle, var(--primary-light) 0%, transparent 70%); top: -120px; right: -80px; border-radius: 50%; pointer-events: none; }
    .section-b { background: var(--primary-light); position: relative; border-bottom: 1px solid var(--primary-border); }
    .section-b::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(160,24,37,0.06) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none; }

    .hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
    .hero-badge { display: inline-flex; align-items: center; gap: 7px; background: var(--primary-light); border: 1px solid var(--primary-border); border-radius: 100px; padding: 6px 14px; font-size: 13px; font-weight: 500; color: #6E0F18; }
    .hero-badge svg { width: 13px; height: 13px; stroke: var(--primary); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

    .discount-note { font-size: 12.5px; color: #7A7A8C; margin-top: 10px; line-height: 1.6; }

    .steps-list { margin-top: 28px; }
    .step-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-bottom: 1px dashed #EBEBF2; }
    .step-item:last-child { border-bottom: none; }
    .step-num { width: 32px; height: 32px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
    .step-text { font-size: 15px; color: #4A4A5A; line-height: 1.7; }

    .check-list { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    @media(max-width:640px) { .check-list { grid-template-columns: 1fr; } }
    .check-item { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1.5px solid #EBEBF2; border-radius: 12px; padding: 14px 16px; transition: border-color 0.2s, box-shadow 0.2s; }
    .check-item:hover { border-color: var(--primary); box-shadow: 0 4px 16px rgba(160,24,37,0.07); }
    .check-icon { width: 22px; height: 22px; flex-shrink: 0; background: var(--primary-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
    .check-icon svg { width: 11px; height: 11px; stroke: var(--primary); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
    .check-text { font-size: 14px; color: #4A4A5A; line-height: 1.6; }

    .info-card { background: #fff; border: 1.5px solid #EBEBF2; border-left: 4px solid var(--primary); border-radius: 16px; padding: 26px 28px; margin-top: 28px; }
    .who-card  { background: #fff; border: 1.5px solid #EBEBF2; border-left: 4px solid var(--primary); border-radius: 16px; padding: 26px 28px; margin-top: 28px; }

    .acc-list { margin-top: 28px; }
    .acc-item { border: 1.5px solid #EBEBF2; border-radius: 14px; margin-bottom: 10px; overflow: hidden; background: #fff; transition: border-color 0.2s, box-shadow 0.2s; }
    .acc-item.open { border-color: var(--primary); box-shadow: 0 4px 20px rgba(160,24,37,0.08); }
    .acc-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: #fff !important; border: none; outline: none; cursor: pointer; text-align: left; gap: 12px; font-family: 'Poppins', sans-serif; color: #1A1A2E; -webkit-appearance: none; appearance: none; }
    .acc-btn:hover { background: var(--primary-light) !important; }
    .acc-item.open .acc-btn { background: #fff !important; }
    .acc-left { display: flex; align-items: center; gap: 14px; }
    .acc-num { width: 26px; height: 26px; border-radius: 50%; background: var(--primary-light); border: 1.5px solid var(--primary-border); font-size: 12px; font-weight: 700; color: var(--primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .acc-item.open .acc-num { background: var(--primary); color: #fff; border-color: var(--primary); }
    .acc-title { font-size: 15px; font-weight: 600; color: #1A1A2E; }
    .acc-icon { width: 18px; height: 18px; flex-shrink: 0; stroke: var(--primary); fill: none; stroke-width: 2.5; stroke-linecap: round; transition: transform 0.3s cubic-bezier(.22,1,.36,1); }
    .acc-item.open .acc-icon { transform: rotate(45deg); }
    .acc-body { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(.22,1,.36,1); }
    .acc-item.open .acc-body { max-height: 300px; }
    .acc-body-inner { margin: 0 22px; padding: 14px 0 18px 23px; font-size: 14.5px; line-height: 1.8; color: #4A4A5A; border-top: 1px dashed #EBEBF2; }

    .section-cta { background: #1A1A2E; border-bottom: none; }
    .section-cta::before { display: none; }
    .cta-wrap { text-align: center; position: relative; z-index: 1; }
    .cta-heading { font-size: clamp(24px, 3vw, 38px); font-weight: 800; color: #fff; line-height: 1.25; margin-bottom: 14px; letter-spacing: -0.3px; }
    .cta-heading span { color: #FFBEC4; }
    .cta-list { list-style: none; display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
    .cta-list li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: rgba(255,255,255,0.75); }
    .cta-list li svg { width: 14px; height: 14px; stroke: #FFBEC4; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
    .cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
    .cta-btn { display: inline-flex; align-items: center; gap: 9px; padding: 14px 28px; border-radius: 100px; font-size: 14.5px; font-weight: 600; font-family: 'Poppins', sans-serif; cursor: pointer; text-decoration: none; transition: transform 0.18s, box-shadow 0.18s; border: none; }
    .cta-btn:hover { transform: translateY(-2px); }
    .cta-btn-primary { background: var(--primary); color: #fff; box-shadow: 0 6px 20px rgba(160,24,37,0.35); }
    .cta-btn-primary:hover { box-shadow: 0 10px 28px rgba(160,24,37,0.5); }
    .cta-btn-outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.3) !important; }
    .cta-btn-outline:hover { border-color: rgba(255,255,255,0.7) !important; background: rgba(255,255,255,0.07); }
    .cta-btn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; }

    /* ── Voucher hero section ── */
    .section-voucher-hero {
      background: var(--primary-light);
      border-bottom: 1px solid var(--primary-border);
      padding: 56px 48px;
      position: relative;
      overflow: hidden;
    }
    .section-voucher-hero::before {
      content: '';
      position: absolute;
      width: 500px; height: 500px;
      background: radial-gradient(circle, rgba(160,24,37,0.10) 0%, transparent 70%);
      top: -150px; right: -100px;
      border-radius: 50%;
      pointer-events: none;
    }
    @media(max-width:768px) { .section-voucher-hero { padding: 40px 24px; } }

    .voucher-layout {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 36px;
      align-items: start;
    }
    @media(max-width:960px) { .voucher-layout { grid-template-columns: 1fr; } }

    .voucher-meta { margin-bottom: 28px; }
    .voucher-meta-row { display: flex; align-items: flex-start; gap: 8px; font-size: 15px; color: var(--text); line-height: 1.6; margin-bottom: 8px; }
    .voucher-meta-row strong { font-weight: 600; color: var(--navy); min-width: 190px; }
    .voucher-meta-link { color: var(--primary); font-size: 14.5px; font-weight: 600; text-decoration: none; display: inline-block; margin-top: 6px; }
    .voucher-meta-link:hover { text-decoration: underline; }

    /* ── Product card ── */
    .voucher-product-card {
      background: #fff;
      border: 1.5px solid var(--primary-border);
      border-radius: 20px;
      padding: 28px;
      box-shadow: 0 8px 32px rgba(160,24,37,0.09);
      margin-top: 4px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px 32px;
      align-items: start;
    }
    @media(max-width:640px) { .voucher-product-card { grid-template-columns: 1fr; } }

    .vpc-left { display: flex; flex-direction: column; gap: 16px; }

    /* Mock test icon block */
    .vpc-mock-icon {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }
    .vpc-mock-badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--primary-light);
      border: 1.5px solid var(--primary-border);
      border-radius: 14px;
      padding: 12px 18px;
    }
    .vpc-mock-icon-circle {
      width: 48px; height: 48px;
      background: var(--primary);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .vpc-mock-icon-circle svg {
      width: 24px; height: 24px;
      stroke: #fff; fill: none;
      stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
    }
    .vpc-mock-label { display: flex; flex-direction: column; }
    .vpc-mock-title { font-size: 17px; font-weight: 800; color: #1A1A2E; line-height: 1.2; letter-spacing: -0.2px; }
    .vpc-mock-sub   { font-size: 11.5px; color: var(--text-muted); margin-top: 2px; letter-spacing: 0.2px; }

    /* Count pill */
    .vpc-count-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--primary);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      padding: 5px 14px;
      border-radius: 100px;
    }
    .vpc-count-pill svg { width: 13px; height: 13px; stroke: #fff; fill: none; stroke-width: 2.5; stroke-linecap: round; }

    .vpc-note {
      font-size: 12.5px;
      color: #555;
      background: #F0EFFF;
      border: 1.5px solid #C8C5E8;
      border-radius: 10px;
      padding: 12px 16px;
      line-height: 1.7;
      text-align: center;
    }

    .vpc-right { display: flex; flex-direction: column; gap: 10px; }

    .vpc-actual-price { font-size: 15.5px; color: var(--navy); font-weight: 600; }
    .vpc-actual-price .price-val { font-weight: 700; }
    .vpc-actual-price .price-strike { text-decoration: line-through; color: #999; font-weight: 400; font-size: 13px; margin-left: 4px; }
    .vpc-actual-price .gst-note { font-size: 11.5px; color: #888; font-weight: 400; }

    .vpc-our-price { font-size: 15.5px; color: var(--navy); font-weight: 600; }
    .vpc-our-price .price-val { font-weight: 700; }
    .vpc-our-price .gst-note { font-size: 11.5px; color: #888; font-weight: 400; }

    .vpc-save-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--navy);
      color: #fff;
      font-size: 15px;
      font-weight: 700;
      padding: 9px 24px;
      border-radius: 100px;
      align-self: center;
    }

    .vpc-quantity-row { display: flex; align-items: center; gap: 14px; font-size: 15px; font-weight: 700; color: #1A1A2E; }
    .vpc-qty-input { width: 64px; padding: 7px 10px; border: 1.5px solid #CCC; border-radius: 8px; font-size: 15px; font-family: 'Poppins', sans-serif; text-align: center; color: var(--navy); font-weight: 700; outline: none; }
    .vpc-qty-input:focus { border-color: var(--primary); }

    .vpc-btns { display: flex; gap: 10px; }
    .vpc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 11px 20px; border-radius: 8px; font-size: 14.5px; font-weight: 600; font-family: 'Poppins', sans-serif; cursor: pointer; border: none; transition: transform 0.15s, box-shadow 0.15s; text-decoration: none; }
    .vpc-btn:hover { transform: translateY(-2px); }
    .vpc-btn-whatsapp { background: #25803A; color: #fff; box-shadow: 0 4px 14px rgba(37,128,58,0.25); }
    .vpc-btn-whatsapp:hover { box-shadow: 0 7px 20px rgba(37,128,58,0.4); }
    .vpc-btn-book { background: var(--navy); color: #fff; box-shadow: 0 4px 14px rgba(0,59,92,0.25); }
    .vpc-btn-book:hover { box-shadow: 0 7px 20px rgba(0,59,92,0.4); }

    /* What's included strip */
    .included-strip {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 16px;
    }
    .included-tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: #fff;
      border: 1px solid var(--primary-border);
      border-radius: 100px;
      padding: 5px 12px;
      font-size: 12px;
      font-weight: 500;
      color: #6E0F18;
    }
    .included-tag svg { width: 11px; height: 11px; stroke: var(--primary); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

    /* Enquire form */
    .enquire-card { background: #fff; border: 1.5px solid var(--primary-border); border-radius: 20px; padding: 28px 24px; box-shadow: 0 8px 32px rgba(160,24,37,0.09); }
    .enquire-card-title { font-size: 18px; font-weight: 700; color: var(--primary); text-align: center; margin-bottom: 20px; letter-spacing: -0.2px; }

    .enq-field { display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--primary-border); border-radius: 10px; padding: 11px 14px; margin-bottom: 12px; background: #FFFAFA; transition: border-color 0.2s; }
    .enq-field:focus-within { border-color: var(--primary); }
    .enq-field svg { width: 16px; height: 16px; stroke: var(--primary); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
    .enq-field input, .enq-field select, .enq-field textarea { border: none; background: transparent; font-family: 'Poppins', sans-serif; font-size: 13.5px; color: var(--text); outline: none; width: 100%; resize: none; }
    .enq-field input::placeholder, .enq-field textarea::placeholder { color: #BBA8AA; }
    .enq-field select { color: #BBA8AA; cursor: pointer; }
    .enq-field select option { color: var(--text); }
    .enq-prefix { font-size: 13.5px; font-weight: 600; color: var(--navy); white-space: nowrap; border-right: 1px solid var(--primary-border); padding-right: 10px; margin-right: 2px; }

    .enq-checkbox-row { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 16px; margin-top: 4px; }
    .enq-checkbox-row input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--primary); margin-top: 2px; flex-shrink: 0; cursor: pointer; }
    .enq-checkbox-row label { font-size: 12.5px; color: var(--text-muted); line-height: 1.6; cursor: pointer; }

    .enq-submit { width: 100%; padding: 14px; background: var(--primary); color: #fff; font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 700; border: none; border-radius: 12px; cursor: pointer; letter-spacing: 0.3px; transition: background 0.2s, box-shadow 0.2s, transform 0.15s; box-shadow: 0 4px 18px rgba(160,24,37,0.25); }
    .enq-submit:hover { background: var(--primary-dark); box-shadow: 0 8px 24px rgba(160,24,37,0.4); transform: translateY(-1px); }/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-2557e54 */.enq-field{ padding:0 14px !important;}/* End custom CSS */