/**
 * Custom CSS for Gravity Forms - převzato z CF7 stylů RF SPIN
 * Aplikuje stejný vzhled jako má CF7 formulář na kontaktní stránce
 *
 * DŮLEŽITÉ: Používá vysokou CSS specificitu pro override GF theme framework
 */

/* === OVERRIDE GF THEME FRAMEWORK === */

/* Override GF theme framework variables POUZE pro submit button */
.gform-theme--framework.gform-theme.gform_wrapper,
.gform-theme--framework.gform_wrapper {
    /* Button Variables - pouze pro submit button styling */
    --gf-btn-bg-color: #bb2018;
    --gf-btn-color: #ffffff;
    --gf-btn-border-color: #bb2018;
    --gf-btn-border-width: 0;
    --gf-btn-padding-x: 21px;
    --gf-btn-padding-y: 14px;
    --gf-btn-font-size: 13px;
    --gf-btn-font-weight: 400;
    --gf-btn-font-family: 'Montserrat', sans-serif;
    --gf-btn-radius: 5px;
}

/* === ZÁKLADNÍ STYLY FORMULÁŘE === */

/* Wrapper pro formulář */
body .gform_wrapper {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
}

/* Jednotlivá pole formuláře */
body .gform_wrapper .gfield {
    margin-bottom: 0px;
}

body .gform_wrapper .gform_fields {
	gap: 30px;
}

/* === STYLY PRO VSTUPNÍ POLE === */

/* Všechna textová pole, email, textarea - vyšší specificita */
body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper input[type="url"],
body .gform_wrapper input[type="password"],
body .gform_wrapper input[type="number"],
body .gform_wrapper textarea {
    background-color: #ffffff;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    padding: 14px;
    margin: 0;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    color: #333333;
    height: 48px;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

/* Textarea specifické nastavení */
body .gform_wrapper textarea {
    height: auto;
    min-height: 120px;
    resize: vertical;
}

/* Focus stavy pro pole */
body .gform_wrapper input[type="text"]:focus,
body .gform_wrapper input[type="email"]:focus,
body .gform_wrapper input[type="tel"]:focus,
body .gform_wrapper input[type="url"]:focus,
body .gform_wrapper input[type="password"]:focus,
body .gform_wrapper input[type="number"]:focus,
body .gform_wrapper textarea:focus {
    border-color: #bb2018;
    outline: none;
    box-shadow: 0 0 5px rgba(187, 32, 24, 0.3);
}

/* === STYLY PRO SELECT POLE === */

body .gform_wrapper select {
    border: 1px solid #cccccc;
    border-radius: 5px;
    padding: 12px 14px;
    margin: 0;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    color: #333333;
    height: 48px;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%23333" d="M6 9L1.5 4.5h9z"/></svg>');
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    cursor: pointer;
}

body .gform_wrapper select:focus {
    border-color: #bb2018;
    outline: none;
    box-shadow: 0 0 5px rgba(187, 32, 24, 0.3);
}

/* === PLACEHOLDER STYLY === */

body .gform_wrapper input::-webkit-input-placeholder,
body .gform_wrapper textarea::-webkit-input-placeholder {
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #3a426d;
    opacity: 0.5;
}

body .gform_wrapper input::-moz-placeholder,
body .gform_wrapper textarea::-moz-placeholder {
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #3a426d;
    opacity: 0.5;
}

body .gform_wrapper input:-ms-input-placeholder,
body .gform_wrapper textarea:-ms-input-placeholder {
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #3a426d;
    opacity: 0.5;
}

/* === SUBMIT BUTTON === */

body .gform_wrapper .gform_footer input[type="submit"],
body .gform_wrapper .rf_spin_new_form .gform_footer .gform_button {
    background-color: #bb2018 !important;
    border: 0 none;
    border-radius: 5px !important;
    padding: 14px 21px !important;
    margin: 0;
    font-size: 14px !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500 !important;
    color: #ffffff;
    height: 48px !important;
    min-height: 50px;
    width: 150px;
    cursor: pointer !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: normal;
    line-height: 20px !important;
    display: inline-block;
    box-sizing: border-box;
    transition: background-color 0.3s ease;
}

body .gform_wrapper .gform_footer input[type="submit"]:hover,
body .gform_wrapper .gform_footer .gform_button:hover {
    background-color: #9a1a14;
}

body .gform_wrapper .gform_footer input[type="submit"]:active,
body .gform_wrapper .gform_footer .gform_button:active {
    background-color: #7d1511;
}

/* === LABEL STYLY === */

body .gform_wrapper .gfield_label {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    margin-bottom: 8px;
    display: block;
}

/* Povinná pole - červená hvězdička */
body .gform_wrapper .gfield_required .gfield_required_asterisk {
    color: #bb2018;
    font-weight: bold;
}

/* === CHYBOVÉ STAVY === */

body .gform_wrapper .gfield_error input,
body .gform_wrapper .gfield_error textarea,
body .gform_wrapper .gfield_error select {
    border-color: #bb2018 !important;
    background-color: #fff5f5;
}

body .gform_wrapper .validation_error {
    background-color: #fff5f5;
    border: 1px solid #bb2018;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
    color: #bb2018;
    font-family: 'Montserrat', sans-serif;
}

body .gform_wrapper .gfield_error .validation_message {
    color: #bb2018;
    font-size: 12px;
    margin-top: 5px;
    font-family: 'Montserrat', sans-serif;
}

/* === LOADING/AJAX STAVY === */

body .gform_wrapper .gform_ajax_spinner {
    margin-left: 10px;
    vertical-align: middle;
}

/* Skrytí výchozích stylů */
body .gform_wrapper .gform_footer {
    position: relative;
    margin-top: 20px;
    padding: 0;
}

/* === RESPONZIVITA === */

@media (max-width: 768px) {
    body .gform_wrapper .gform_footer input[type="submit"],
    body .gform_wrapper .gform_footer .gform_button {
        width: 100%;
        max-width: 300px;
    }

    body .gform_wrapper input[type="text"],
    body .gform_wrapper input[type="email"],
    body .gform_wrapper input[type="tel"],
    body .gform_wrapper input[type="url"],
    body .gform_wrapper input[type="password"],
    body .gform_wrapper input[type="number"],
    body .gform_wrapper textarea,
    body .gform_wrapper select {
        font-size: 16px; /* Zabrání zoomování na iOS */
    }
}

/* === VÍCEŘÁDKOVÉ LAYOUTY === */

/* Pro formuláře s více sloupci */
body .gform_wrapper .gfield.gf_left_half,
body .gform_wrapper .gfield.gf_right_half {
    margin-right: 2%;
    width: 49%;
    float: left;
}

body .gform_wrapper .gfield.gf_right_half {
    margin-right: 0;
}

body .gform_wrapper .gfield.gf_left_third,
body .gform_wrapper .gfield.gf_middle_third,
body .gform_wrapper .gfield.gf_right_third {
    margin-right: 2%;
    width: 32%;
    float: left;
}

body .gform_wrapper .gfield.gf_right_third {
    margin-right: 0;
}

/* Clearfix pro plovoucí elementy */
body .gform_wrapper .gform_body:after,
body .gform_wrapper .gform_footer:after {
    content: "";
    display: table;
    clear: both;
}

/* === SPECIFICKÉ ÚPRAVY PRO RF SPIN DESIGN === */

/* Přizpůsobení hlavního brandového červeného (#bb2018) */
body .gform_wrapper .ginput_container_fileupload .gform_button {
    background-color: #bb2018;
    border-color: #bb2018;
}

body .gform_wrapper .gform_page_footer input[type="button"] {
    background-color: #bb2018;
    border-color: #bb2018;
}

/* Úprava pro konzistenci s CF7 formulářem */
body .gform_wrapper .gform_footer {
    text-align: left;
	justify-content: center;
}

/* Skrytí nepotřebných prvků */
body .gform_wrapper .gform_validation_container {
    display: none !important;
    position: absolute !important;
    left: -9000px;
}