/* Theme-owned /kontaktai composition. The native form posts to WordPress'
 * mail transport (SureMail/SureSMTP can provide the configured transport). */
body.sv-page-contact #sv-contact-content {
    width: 100%;
    margin: 0;
}

body.sv-page-contact .sv-contact-section,
body.sv-page-contact .sv-contact-section * {
    box-sizing: border-box;
}

body.sv-page-contact .sv-contact-section {
    width: 100%;
    padding: clamp(42px, 5vw, 64px) 0 clamp(48px, 6vw, 72px);
    background: var(--sv-color-paper, #F7FAF8);
}

body.sv-page-contact .sv-contact-section__panel {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    width: min(calc(100% - 64px), var(--sv-container-width, 1440px));
    max-width: var(--sv-container-width, 1440px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--sv-color-line, #E2ECE6);
    border-radius: 26px;
    background: #fff;
    box-shadow: var(--sv-shadow-md, 0 14px 36px rgba(16, 35, 27, .09));
}

body.sv-page-contact .sv-contact-details,
body.sv-page-contact .sv-contact-form-panel {
    min-width: 0;
    align-self: stretch;
    padding: clamp(34px, 4vw, 50px);
}

body.sv-page-contact .sv-contact-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
}

body.sv-page-contact .sv-contact-details__heading {
    margin: 0 0 26px;
}

body.sv-page-contact .sv-contact-details__heading h2,
body.sv-page-contact .sv-contact-form-panel__heading h2 {
    margin: 0;
    color: var(--sv-color-ink, #10231B);
    font-family: var(--sv-font-heading, Outfit, sans-serif);
    font-weight: 500;
    letter-spacing: -.035em;
}

body.sv-page-contact .sv-contact-details__heading h2 {
    font-size: clamp(28px, 2.2vw, 34px);
    line-height: 1.12;
}

body.sv-page-contact .sv-contact-details__rule {
    display: block;
    width: 54px;
    height: 4px;
    margin: 10px 0 18px;
    border-radius: 999px;
    background: var(--sv-color-green, #1BA365);
}

body.sv-page-contact .sv-contact-details__heading p,
body.sv-page-contact .sv-contact-form-panel__heading p {
    margin: 0;
    color: var(--sv-color-muted, #5C6F67);
    font-size: 16px;
    line-height: 1.62;
}

body.sv-page-contact .sv-contact-details__heading p {
    max-width: 460px;
}

body.sv-page-contact .sv-contact-details__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

body.sv-page-contact .sv-contact-details__action {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 11px;
    min-height: 54px;
    padding: 11px 13px;
    border: 1px solid var(--sv-color-line, #E2ECE6);
    border-radius: 14px;
    background: var(--sv-color-paper, #F7FAF8);
    color: var(--sv-color-ink, #10231B);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

body.sv-page-contact .sv-contact-details__action:hover,
body.sv-page-contact .sv-contact-details__action:focus-visible {
    border-color: rgba(27, 163, 101, .42);
    background: var(--sv-color-paper, #F7FAF8);
    color: var(--sv-color-ink, #10231B);
    transform: translateY(-1px);
}

body.sv-page-contact .sv-contact-details__action > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.sv-page-contact .sv-contact-details__action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    margin: 0;
    border-radius: 10px;
    background: var(--sv-color-green-soft, #E8F3EE);
    color: var(--sv-color-green, #1BA365);
}

body.sv-page-contact .sv-contact-details__action-icon svg {
    display: block;
    width: 16px;
    height: 16px;
}

body.sv-page-contact .sv-contact-socials {
    margin-top: 28px;
}

body.sv-page-contact .sv-contact-socials__label {
    margin: 0 0 11px;
    color: var(--sv-color-muted, #5C6F67);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.sv-page-contact .sv-contact-socials__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

body.sv-page-contact .sv-contact-socials__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 8px;
    border: 1px solid var(--sv-color-line, #E2ECE6);
    border-radius: 11px;
    background: var(--sv-color-paper, #F7FAF8);
    color: var(--sv-color-green, #1BA365);
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}

body.sv-page-contact .sv-contact-socials__link:hover,
body.sv-page-contact .sv-contact-socials__link:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(27, 163, 101, .42);
    background: var(--sv-color-green-soft, #E8F3EE);
    color: var(--sv-color-ink, #10231B);
}

body.sv-page-contact .sv-contact-socials__link svg {
    display: block;
    width: 19px;
    height: 19px;
}

body.sv-page-contact .sv-contact-form-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid var(--sv-color-line, #E2ECE6);
    background: var(--sv-color-paper, #F7FAF8);
}

body.sv-page-contact .sv-contact-form-panel__heading {
    margin: 0 0 22px;
}

body.sv-page-contact .sv-contact-form-panel__heading h2 {
    margin-bottom: 7px;
    font-size: 22px;
    line-height: 1.22;
}

body.sv-page-contact .sv-contact-form-panel__heading p {
    max-width: 500px;
    font-size: 15px;
    line-height: 1.55;
}

body.sv-page-contact .sv-contact-form {
    width: 100%;
    min-width: 0;
}

body.sv-page-contact .sv-contact-form .srfm-form-container {
    --srfm-form-padding-top: 0px !important;
    --srfm-form-padding-right: 0px !important;
    --srfm-form-padding-bottom: 0px !important;
    --srfm-form-padding-left: 0px !important;
    --srfm-row-gap-between-blocks: 0px !important;
    --srfm-row-gap-between-fields: 0px !important;
    --srfm-input-field-margin-top: 0px !important;
    --srfm-input-field-margin-bottom: 0px !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
}

body.sv-page-contact .sv-contact-form .srfm-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    width: 100% !important;
    margin: 0 !important;
}

body.sv-page-contact .sv-contact-form .srfm-form > .srfm-block,
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-submit-container,
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-error-message {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.sv-page-contact .sv-contact-form .srfm-form > .srfm-block:nth-of-type(1) { grid-column: 1; }
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-block:nth-of-type(2) { grid-column: 2; }
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-block:nth-of-type(n+3),
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-submit-container,
body.sv-page-contact .sv-contact-form .srfm-form > .srfm-error-message { grid-column: 1 / -1; }

body.sv-page-contact .sv-contact-form .srfm-block-wrap,
body.sv-page-contact .sv-contact-form .srfm-error-wrap,
body.sv-page-contact .sv-contact-form .srfm-email-block {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.sv-page-contact .sv-contact-form .srfm-input-common {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid var(--sv-color-line, #E2ECE6) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--sv-color-ink, #10231B) !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

body.sv-page-contact .sv-contact-form .srfm-input-common:hover {
    border-color: var(--sv-color-green-hi, #37D48C) !important;
}

body.sv-page-contact .sv-contact-form .srfm-input-common:focus {
    border-color: var(--sv-color-green, #1BA365) !important;
    outline: none !important;
    box-shadow: var(--sv-focus-ring, 0 0 0 3px rgba(27, 163, 101, .22)) !important;
}

body.sv-page-contact .sv-contact-form textarea.srfm-input-common {
    min-height: 118px !important;
    max-height: 220px !important;
    resize: vertical !important;
}

body.sv-page-contact .sv-contact-form .srfm-submit-container {
    padding: 2px 0 0 !important;
}

body.sv-page-contact .sv-contact-form .srfm-submit-container .wp-block-button,
body.sv-page-contact .sv-contact-form .srfm-submit-button {
    width: 100% !important;
    margin: 0 !important;
}

body.sv-page-contact .sv-contact-form .srfm-submit-button {
    min-height: 48px !important;
    padding: 11px 20px !important;
    border: 1px solid var(--sv-color-green, #1BA365) !important;
    border-radius: 12px !important;
    background: var(--sv-color-green, #1BA365) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.sv-page-contact .sv-contact-form .srfm-submit-button:hover,
body.sv-page-contact .sv-contact-form .srfm-submit-button:focus-visible {
    border-color: var(--sv-color-ink, #10231B) !important;
    background: var(--sv-color-ink, #10231B) !important;
}

@media (max-width: 900px) {
    body.sv-page-contact .sv-contact-section__panel {
        width: min(calc(100% - 48px), 680px);
        grid-template-columns: minmax(0, 1fr);
    }

    body.sv-page-contact .sv-contact-form-panel {
        border-top: 1px solid var(--sv-color-line, #E2ECE6);
        border-left: 0;
    }
}

@media (max-width: 767px) {
    body.sv-page-contact .sv-contact-section {
        padding-top: 30px;
        padding-bottom: 40px;
    }

    body.sv-page-contact .sv-contact-section__panel {
        width: calc(100% - 32px);
        border-radius: 20px;
    }

    body.sv-page-contact .sv-contact-details,
    body.sv-page-contact .sv-contact-form-panel {
        padding: 26px 20px;
    }

    body.sv-page-contact .sv-contact-details__actions {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    body.sv-page-contact .sv-contact-socials {
        margin-top: 22px;
    }

    body.sv-page-contact .sv-contact-form-panel__heading {
        margin-bottom: 18px;
    }

    body.sv-page-contact .sv-contact-form .srfm-form {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
    }

    body.sv-page-contact .sv-contact-form .srfm-form > .srfm-block,
    body.sv-page-contact .sv-contact-form .srfm-form > .srfm-submit-container,
    body.sv-page-contact .sv-contact-form .srfm-form > .srfm-error-message {
        display: block !important;
        flex: 0 0 auto !important;
        grid-column: auto !important;
    }

    body.sv-page-contact .sv-contact-form textarea.srfm-input-common {
        min-height: 104px !important;
    }
}

/* Native theme-owned contact form. Keeping the field contract here avoids a
 * dependency on a saved SureForms layout while wp_mail/SureMail handles
 * delivery on the active site. */
body.sv-page-contact .sv-contact-form__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    width: 100%;
    margin: 0;
}

body.sv-page-contact .sv-contact-form__field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

body.sv-page-contact .sv-contact-form__field--subject,
body.sv-page-contact .sv-contact-form__field--message,
body.sv-page-contact .sv-contact-form__submit {
    grid-column: 1 / -1;
}

body.sv-page-contact .sv-contact-form__field label {
    color: var(--sv-color-ink, #10231B);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
}

body.sv-page-contact .sv-contact-form__field label span {
    color: var(--sv-color-muted, #5C6F67);
}

body.sv-page-contact .sv-contact-form__field input,
body.sv-page-contact .sv-contact-form__field textarea {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid var(--sv-color-line, #E2ECE6);
    border-radius: 12px;
    background: #fff;
    color: var(--sv-color-ink, #10231B);
    font: inherit;
    line-height: 1.35;
    box-shadow: none;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.sv-page-contact .sv-contact-form__field input:hover,
body.sv-page-contact .sv-contact-form__field textarea:hover {
    border-color: var(--sv-color-green-hi, #37D48C);
}

body.sv-page-contact .sv-contact-form__field input:focus,
body.sv-page-contact .sv-contact-form__field textarea:focus {
    border-color: var(--sv-color-green, #1BA365);
    box-shadow: var(--sv-focus-ring, 0 0 0 3px rgba(27, 163, 101, .22));
}

body.sv-page-contact .sv-contact-form__field textarea {
    min-height: 118px;
    resize: vertical;
}

body.sv-page-contact .sv-contact-form__submit {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 20px;
    border: 1px solid var(--sv-color-green, #1BA365);
    border-radius: 12px;
    background: var(--sv-color-green, #1BA365);
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    line-height: 1;
    box-shadow: none;
}

body.sv-page-contact .sv-contact-form__submit:hover,
body.sv-page-contact .sv-contact-form__submit:focus-visible {
    border-color: var(--sv-color-ink, #10231B);
    background: var(--sv-color-ink, #10231B);
    color: #fff;
}

body.sv-page-contact .sv-contact-form__notice {
    margin: 0 0 16px;
    padding: 11px 13px;
    border: 1px solid var(--sv-color-line, #E2ECE6);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.45;
}

body.sv-page-contact .sv-contact-form__notice--success {
    border-color: rgba(27, 163, 101, .34);
    background: var(--sv-color-green-soft, #E8F3EE);
    color: var(--sv-color-ink, #10231B);
}

body.sv-page-contact .sv-contact-form__notice--error {
    border-color: rgba(196, 83, 74, .34);
    background: #FFF4F2;
    color: #8F2E28;
}

@media (max-width: 767px) {
    body.sv-page-contact .sv-contact-form__fields {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    body.sv-page-contact .sv-contact-form__field--subject,
    body.sv-page-contact .sv-contact-form__field--message,
    body.sv-page-contact .sv-contact-form__submit {
        grid-column: auto;
    }
}
