/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */
.wp-block-paragraph {  margin-bottom: 0px}

/* --- PREMENNÉ PRE JEDNODUCHÚ ÚDRŽBU --- */
:root {
    --kk-primary: #405F55;          /* tmavá šalviová – hlavná CTA farba */
    --kk-primary-hover: #315B58;    /* hlboká šalviovo-petrolejová – hover */
    --kk-text: #2F3433;             /* hlavný text */
    --kk-heading: #315B58;          /* nadpisy a výrazné prvky */
    --kk-border: #D8CDBF;           /* viditeľný, ale jemný border */
    --kk-border-strong: #8FA095;    /* silnejší border pri focuse/selecte */
    --kk-bg-site: #FBF8F1;          /* hlavné pozadie webu */
    --kk-bg-soft: #EFE6D8;          /* jemné sekcie */
    --kk-bg-card: #FFFFFF;          /* formulár/karty */
    --kk-accent-soft: #D9B8AA;      /* púdrový ženský akcent */
    --kk-accent-gold: #B58A4A;      /* decentný teplý akcent */
    --kk-focus-ring: rgba(64, 95, 85, 0.24);
    --kk-error: #B42318;
    --kk-success: #335C43;
    --kk-button-text: #FFFFFF;
}


/* 1. CELKOVÝ KONTAJNER FORMULÁRA */
.fluentform {
    background: var(--kk-bg-card) !important;
    padding: clamp(24px, 4vw, 40px) !important;
    border-radius: 18px !important;
    border: 1px solid var(--kk-border) !important;
    box-shadow: 0 16px 40px rgba(49, 91, 88, 0.08) !important;
}


/* 2. ROZOSTUPY MEDZI POLIAMI */
.fluentform .ff-el-group {
    margin-bottom: 22px !important;
}


/* 3. POPISKY POLÍ */
.ff-el-is-required.ff-el-group label,
.ff-el-group label {
    font-weight: 600 !important;
    color: var(--kk-text) !important;
    margin-bottom: 8px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}


/* Hviezdička pri povinnom poli */
.ff-el-is-required label::after {
    color: var(--kk-error) !important;
}


/* 4. JEDNOTNÝ ŠTÝL PRE VSTUPNÉ POLIA */
.ff-el-form-control {
    width: 100% !important;
    min-height: 52px !important;
    border: 1.5px solid var(--kk-border) !important;
    color: var(--kk-text) !important;
    background-color: #FFFFFF !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}


/* Placeholder text */
.ff-el-form-control::placeholder {
    color: #6F7975 !important;
    opacity: 1 !important;
}


/* 5. TEXTOVÁ OBLASŤ */
textarea.ff-el-form-control {
    height: auto !important;
    min-height: 150px !important;
    resize: vertical !important;
    line-height: 1.65 !important;
}


/* 6. FOCUS STAV – DÔLEŽITÉ PRE PRÍSTUPNOSŤ */
.ff-el-form-control:focus {
    border-color: var(--kk-primary) !important;
    box-shadow: 0 0 0 4px var(--kk-focus-ring) !important;
    outline: none !important;
    background-color: #FFFFFF !important;
}


/* 7. TLAČIDLO ODOSLANIA */
.ff-btn-submit,
.fluentform .ff-btn-submit,
.fluentform button[type="submit"],
.fluentform input[type="submit"] {
    background-color: var(--kk-primary) !important;
    color: var(--kk-button-text) !important;
    border: 1px solid var(--kk-primary) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.2px !important;
    padding: 15px 30px !important;
    min-height: 52px !important;
    width: 100% !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.15s ease !important;
}

.ff-btn-submit:hover,
.ff-btn-submit:focus,
.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-submit:focus,
.fluentform button[type="submit"]:hover,
.fluentform button[type="submit"]:focus,
.fluentform input[type="submit"]:hover,
.fluentform input[type="submit"]:focus {
    background-color: var(--kk-primary-hover) !important;
    border-color: var(--kk-primary-hover) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(49, 91, 88, 0.22) !important;
    outline: none !important;
}

.ff-btn-submit:focus-visible,
.fluentform .ff-btn-submit:focus-visible,
.fluentform button[type="submit"]:focus-visible,
.fluentform input[type="submit"]:focus-visible {
    outline: 3px solid rgba(181, 138, 74, 0.45) !important;
    outline-offset: 3px !important;
}

/* 8. SELECT / COMBOBOX – Choices.js */
.fluentform .choices__inner {
    background-color: #FFFFFF !important;
    border: 1.5px solid var(--kk-border) !important;
    border-radius: 10px !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding: 6px 16px !important;
    color: var(--kk-text) !important;
    box-shadow: none !important;
}


/* Select focus */
.fluentform .choices.is-focused .choices__inner,
.fluentform .choices.is-open .choices__inner {
    border-color: var(--kk-primary) !important;
    box-shadow: 0 0 0 4px var(--kk-focus-ring) !important;
}


/* Text vo vybranom selecte */
.fluentform .choices__list--single .choices__item {
    color: var(--kk-text) !important;
    font-size: 16px !important;
}


/* Dropdown selectu */
.fluentform .choices__list--dropdown,
.fluentform .choices__list[aria-expanded] {
    border: 1.5px solid var(--kk-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 30px rgba(49, 91, 88, 0.12) !important;
    overflow: hidden !important;
}


/* Položky v dropdowne */
.fluentform .choices__list--dropdown .choices__item {
    color: var(--kk-text) !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
}


/* Hover/active položka v selecte */
.fluentform .choices__list--dropdown .choices__item--selectable.is-highlighted {
    background-color: var(--kk-bg-soft) !important;
    color: var(--kk-heading) !important;
}


/* Šípka v selecte */
.fluentform .choices[data-type*="select-one"]::after {
    border-color: var(--kk-heading) transparent transparent transparent !important;
    right: 16px !important;
}


/* 9. CHECKBOX A RADIO */
.ff-el-group input[type="checkbox"],
.ff-el-group input[type="radio"] {
    width: 19px !important;
    height: 19px !important;
    accent-color: var(--kk-primary);
    cursor: pointer !important;
    margin-right: 8px !important;
}


/* Text pri checkboxoch/radio */
.ff-el-form-check-label,
.ff-el-form-check-label span {
    color: var(--kk-text) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}


/* 10. GDPR / POMOCNÝ TEXT */
.ff_en_wrapper .ff-el-group p,
.fluentform .ff-el-help-message {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #4F5A56 !important;
}


/* Linky vo formulári */
.fluentform a {
    color: var(--kk-primary) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.fluentform a:hover,
.fluentform a:focus {
    color: var(--kk-accent-gold) !important;
}


/* 11. CHYBOVÉ HLÁŠKY */
.fluentform .error,
.fluentform .text-danger,
.fluentform .ff-el-is-error .text-danger {
    color: var(--kk-error) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
}


/* Pole s chybou */
.fluentform .ff-el-is-error .ff-el-form-control,
.fluentform .ff-el-is-error .choices__inner {
    border-color: var(--kk-error) !important;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.14) !important;
}


/* 12. ÚSPEŠNÁ HLÁŠKA PO ODOSLANÍ */
.fluentform .ff-message-success,
.fluentform .ff_success_message {
    background-color: #F1F7F3 !important;
    color: var(--kk-success) !important;
    border: 1px solid rgba(51, 92, 67, 0.28) !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}


/* 13. RESPONSIVE ÚPRAVY */
@media (max-width: 767px) {
    .fluentform {
        padding: 22px !important;
        border-radius: 14px !important;
    }

    .ff-el-form-control {
        min-height: 50px !important;
        font-size: 16px !important;
    }

    .ff-btn-submit {
        min-height: 50px !important;
        padding: 14px 22px !important;
    }
}