.founder-led__image{
    height: auto;
    object-fit: cover;
}
.why-vanuatu__card-icon-wrap img,
.recognition__item-icon img{
    width: 100%;
    height: auto;
}
.recognition__logo{
    padding: 0;
}
.recognition__logo img{
    height: 100%;
    width: auto;
}
.fade-up.in-view {
    opacity: 1;
    transform: translateY(0);
}
.fade-up {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.9s cubic-bezier(0.22, 0.6, 0.36, 1), transform 0.9s cubic-bezier(0.22, 0.6, 0.36, 1);
}
.partner-footer__desc span{
    color: #FFFFFF;
}
.wpcf7-form-control-wrap, .wpcf7-form-control-wrap input{
    width: 100%;
}
.partner-enquiry__checkbox .wpcf7-list-item{
    margin-left: 0;
    display: inline-flex;
    gap: 12px;
}
.partner-enquiry__form form select{
    background: #fff url('../images/select-arrow.svg') no-repeat right 12px center;
    background-size: 12px;
}

.site-header__nav.nav-mobile{
    display: none;
}

.full-cost__intro.is-hidden{
    display: none;
}

.wraper-configure_fc.is-visible{
    display: block;
}

.full-cost-sec .configure-family.active{
    display: block;
}

.choose-programme__box:not(.selected) .box-btn .text-selected{
    display: none;
}
.choose-programme__box.selected .box-btn .text-default{
    display: none;
}

.modal-estimate-status {
    font-size: 13px;
    margin-top: 8px;
}
.modal-estimate-status.is-pending { color: #888; }
.modal-estimate-status.is-success { color: #2e7d32; }
.modal-estimate-status.is-error   { color: #c62828; }

.btn-primary.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

.choose-programme__bottom{
    margin-top: 64px;
}

.choose-programme__bottom--text{
    max-width: 846px;
    margin: 0 auto;
    font-weight: 500;
    font-style: italic;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}

.featured-image img{
    object-fit: cover;
}

.blog-breadcrumb{
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.blog-breadcrumb .sepa{
    line-height: 0;
}

.blog-content__main h2{
    font-size: 64px;
}
.blog-content__main h3{
    font-size: 44px;
}
.blog-content__main h4{
    font-size: 34px;
}
.blog-content__main h5{
    font-size: 24px;
}
.blog-content__main h6{
    font-size: 20px;
}

.blog-content__main figure{
    padding-top: 40px;
    padding-bottom: 40px;
}

figure img{
    border-radius: 8px;
}

.timeline-application .timeline__list::before{
    border-radius: 100px 100px 0 0;
    background: var(--border-cyan, rgba(10, 215, 244, 0.7));
}

.toc-list { list-style: none; margin: 0; padding: 0; }
.toc-list a {
    display: block;
    padding: 6px 0;
    text-decoration: none;
    transition: color .2s;
}
.toc-list .heading-3 { padding-left: 12px;}
.toc-list .heading-4 { padding-left: 24px;}
.toc-list .heading-5,
.toc-list .heading-6 { padding-left: 36px;}

.toc-list a.active {
    /*color: #0066cc;*/
}

.hero__booking.iframe{
    height: 711px;
}

.hero__booking.iframe iframe{
    width: 100%;
    height: 100%;
    border: 0;
}

.blog-content__main h2{
    margin-top: 30px;
    line-height: 1;
}

.toc-list .heading-2{
    font-size: 40px;
    margin-bottom: 15px;
}

.toc-list .heading-3{
    font-size: 30px;
    margin-bottom: 12px;
}

.toc-list .heading-4{
    font-size: 24px;
}
.toc-list .heading-5{
    font-size: 20px;
}
.toc-list .heading-6{
    font-size: 18px;
}
.blog-content__main ul{
    padding-left: 20px;
}
.blog-content__main ul li{
    margin-bottom: 10px;
}
.subscribe-message .success-mes{
    color: #026a02;
    display: block;
    margin-top: 20px;
}
.footer-cta__form.submitting button{
    pointer-events: none;
    opacity: 0.5;
}
.phone-country{
    min-width: 115px;
}

/* Partner Enquiry Form Submission States */
.partner-enquiry-form.submitting .partner-enquiry__submit {
    pointer-events: none;
    opacity: 0.7;
}

.partner-enquiry-form .form-response-output {
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    display: none;
}

.partner-enquiry-form .form-response-output.success {
    display: block;
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.partner-enquiry-form .form-response-output.error {
    display: block;
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@media(max-width: 1200px){
    .lines {
        transition: transform 380ms;
        transition:
                transform 380ms,
                -webkit-transform 380ms;
    }
    .container, .site-header__main,.site-header__wrap-topbar{
        transition: all 0.38s;
    }
    .site-header.open .container{
       padding: 0;
    }
    .site-header.open .site-header__wrap-topbar{
        margin-bottom: 0;
    }
    .site-header__main{
        z-index: 2;
    }
    .site-header.open .site-header__main{
        border-radius: 0;
    }
    .site-header__main .site-header__nav{
        display: none !important;
    }
    .site-header__nav.nav-mobile{
        width: calc(100% - 32px);
        left: 16px;
        top: 100%;
        background: var(--background-white-2560, rgba(247, 247, 247, 0.6));
        backdrop-filter: blur(50px);
        transition: width 0.38s, left 0.38s, border-radius 0.38s;
        border-radius: 16px;
        max-height: calc(100dvh - 130px);
        overflow-y: auto;
    }
    .site-header.open .site-header__nav.nav-mobile{
        left: 0;
        width: 100%;
        border-radius: 0;
    }
    .site-header__nav.nav-mobile ul.site-header__menu{
        padding: 0;
        gap: 0;
    }
    .site-header__menu > li > a{
        padding: 16px;
        border-top: 1px solid rgba(88, 105, 129, 0.30);
        justify-content: space-between;
        line-height: 1;
    }
    .site-header__menu > li{
        width: 100%;
    }
    .site-header__nav ul{
        padding-top: 0 !important;
    }
    .site-header__nav ul.sub-menu{
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .site-header__nav .sub-menu > li{
        width: 100%;
        margin-bottom: 16px;
    }
    .site-header__nav .sub-menu > li a{
        padding: 8px 4px;
        justify-content: flex-start;
        font-weight: normal;
        line-height: 1;
    }
    .site-header__nav .sub-menu > li:last-child{
        margin-bottom: 16px;
    }
    .hero__booking.iframe{
        height: 688px;
    }
}

@media(max-width: 767px){
    .blog-content__main h2{
        font-size: 40px;
    }
    .blog-content__main h3{
        font-size: 34px;
    }
    .blog-content__main h4{
        font-size: 24px;
    }
    .blog-content__main h5{
        font-size: 18px;
    }
    .blog-content__main h6{
        font-size: 16px;
    }
}

/* Contact Form Submission States */
.contact-form.submitting .contact__submit {
    pointer-events: none;
    opacity: 0.7;
}

.contact-form .form-response-output {
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    display: none;
}

.contact-form .form-response-output.success {
    display: block;
    background-color: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.contact-form .form-response-output.error {
    display: block;
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.contact__submit{
    width: 100%;
}

/* ==========================================================================
   Inline Validation Styles (Partner & Contact Forms)
   ========================================================================== */
.partner-enquiry__field input.is-invalid,
.partner-enquiry__field select.is-invalid,
.partner-enquiry__field textarea.is-invalid,
.contact-form input.is-invalid,
.contact-form select.is-invalid,
.contact-form textarea.is-invalid,
.partner-enquiry__field input.is-invalid:focus,
.partner-enquiry__field select.is-invalid:focus,
.partner-enquiry__field textarea.is-invalid:focus,
.contact-form input.is-invalid:focus,
.contact-form select.is-invalid:focus,
.contact-form textarea.is-invalid:focus {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px #dc2626 !important;
    outline: none !important;
}

.partner-enquiry__field .phone-input.is-invalid,
.contact-form .phone-input.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px #dc2626 !important;
}

.partner-enquiry__select.is-invalid select {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px #dc2626 !important;
}

.partner-enquiry__checkbox.is-invalid input[type="checkbox"] {
    outline: 2px solid #dc2626 !important;
    outline-offset: 1px;
}

.field-error-msg {
    display: block;
    color: #dc2626;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 6px;
    animation: fieldErrorFadeIn 0.2s ease-in-out;
}

@keyframes fieldErrorFadeIn {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
