/* Contact form validation UI (works with jQuery Validate + Yii ActiveForm) */

.contact-form .form-col {
    display: block;
}

/* Error message under each field */
.contact-form .help-block-error {
    display: block;
    margin-top: 6px;
    color: #e11d48;
    font-size: .82rem;
    line-height: 1.35;
    font-weight: 600;
}

/* Hide the error slot until it actually has a message (e.g. on first load) */
.contact-form .help-block-error:empty {
    display: none;
}

/* Invalid input highlight */
.contact-form label.error-input .form-control,
.contact-form label.invalid-phone .form-control,
.contact-form label.error-input .iti,
.contact-form label.invalid-phone .iti {
    border-color: #e11d48 !important;
    box-shadow: 0 0 0 3px rgba(225, 29, 72, .12);
}

/* Keep the intl-tel-input wrapper full width inside the field */
.contact-form .iti {
    display: block;
    width: 100%;
}

/* Native select styled to match the theme's text inputs
   (theme's .contact-form input,textarea rule doesn't cover <select>) */
.contact-form select.form-control {
    width: 100%;
    border: 1px solid #dfe2ed;
    background-color: #f8f9fc;
    border-radius: 12px;
    padding: 13px 44px 13px 14px;
    color: var(--ink, #11152e);
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23686d82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer;
}
.contact-form select.form-control:focus {
    border-color: #6878ff;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(84, 101, 255, .12);
}

/* Hero heading: avoid ugly mid-word breaks on long RU/LV words.
   The theme sets h1{overflow-wrap:break-word}, which splits words with no
   hyphen. Keep words whole; hyphenate (lang-aware) only when one won't fit. */
.hero h1 {
    overflow-wrap: normal;
    word-break: normal;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

/* Lift the back-to-top button above the reCAPTCHA v3 badge (bottom-right) */
.back-to-top {
    bottom: 100px !important;
}

/* ---- SweetAlert2: themed success popup ---- */
.swal2-popup.wc-swal {
    border-radius: var(--radius, 24px);
    padding: 2.25rem 2rem 2rem;
    font-family: Manrope, Arial, sans-serif;
    box-shadow: 0 30px 80px rgba(9, 12, 45, .28);
}
.wc-swal .wc-swal-title {
    color: var(--ink, #11152e);
    font-weight: 800;
    font-size: 1.5rem;
}
.wc-swal .wc-swal-text {
    color: var(--muted, #686d82);
    font-size: 1rem;
    line-height: 1.5;
}
.wc-swal .wc-swal-confirm {
    background: linear-gradient(100deg, var(--blue, #4267ff), var(--purple, #8855ff));
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: .8rem 2.2rem;
    font-weight: 700;
    font-size: 1rem;
    box-shadow: 0 14px 35px rgba(87, 79, 255, .35);
    transition: transform .15s ease, box-shadow .15s ease;
}
.wc-swal .wc-swal-confirm:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 40px rgba(87, 79, 255, .45);
}
.wc-swal .wc-swal-confirm:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(136, 85, 255, .35);
}
/* Success check-mark recoloured to the brand palette */
.wc-swal .swal2-success-ring {
    border-color: rgba(66, 103, 255, .3) !important;
}
.wc-swal.swal2-icon.swal2-success [class^='swal2-success-line'],
.wc-swal .swal2-success .swal2-success-line-tip,
.wc-swal .swal2-success .swal2-success-line-long {
    background-color: var(--blue, #4267ff) !important;
}
