/* ================================================================================================================== */
/* WPForms */
/* ================================================================================================================== */

div.wpforms-container-full:not(:empty) {
    margin: 0;
}

.wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
    padding-top: 0;
    padding-bottom: 20px;
}

div.wpforms-container-full .wpforms-field-medium {
    max-width: none;
    width: 100%;
}

div.wpforms-container-full .wpforms-field-small {
    max-width: 25%;
    width: 100%;
}

div.wpforms-container-full .wpforms-field-large {
    max-width: 100%;
    width: 100%;
}

div.wpforms-container-full .wpforms-field-label {
    font-weight: 500;
    color: var(--heading-color);
    margin-bottom: 8px;
    font-size: 14px;
    display: block;
}


div.wpforms-container-full input,
div.wpforms-container-full select,
div.wpforms-container-full textarea {
    height: auto;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
    color: var(--default-color);
    background-color: var(--surface-color);
    font-size: 14px !important;
}

.wpforms-field-label-inline {
    padding-left: 2rem !important;
    user-select: none;
}

div.wpforms-container-full .wpforms-field-description {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.65rem;
    align-items: flex-start;
}

div.wpforms-container-full input,
div.wpforms-container-full input[type=text],
div.wpforms-container-full input[type=email],
div.wpforms-container-full input[type=tel],
div.wpforms-container-full input[type=number],
div.wpforms-container-full input[type=password],
div.wpforms-container-full input[type=range],
div.wpforms-container-full input[type=search],
div.wpforms-container-full select,
div.wpforms-container-full textarea {
    background: var(--surface-color);
    color: var(--default-color);
    border-radius: var(--radius-md);
    border: 1px solid color-mix(in srgb, var(--heading-color) 14%, transparent);
    padding: .7rem .95rem;
    box-shadow: var(--shadow-sm);
    transition: border-color .2s ease, background-color .2s ease;
    box-shadow: none !important;
    outline: none !important;
    max-width: none;
    width: 100%;
}

div.wpforms-container-full input:focus,
div.wpforms-container-full input[type=text]:focus,
div.wpforms-container-full input[type=email]:focus,
div.wpforms-container-full input[type=tel]:focus,
div.wpforms-container-full input[type=number]:focus,
div.wpforms-container-full input[type=password]:focus,
div.wpforms-container-full input[type=range]:focus,
div.wpforms-container-full input[type=search]:focus,
div.wpforms-container-full select:focus,
div.wpforms-container-full textarea:focus,

div.wpforms-container-full input:focus:invalid,
div.wpforms-container-full input[type=text]:focus:invalid,
div.wpforms-container-full input[type=email]:focus:invalid,
div.wpforms-container-full input[type=tel]:focus:invalid,
div.wpforms-container-full input[type=number]:focus:invalid,
div.wpforms-container-full input[type=password]:focus:invalid,
div.wpforms-container-full input[type=range]:focus:invalid,
div.wpforms-container-full input[type=search]:focus:invalid,
div.wpforms-container-full select:focus:invalid,
div.wpforms-container-full textarea:focus:invalid {
    background: #fff;
    border-color: var(--accent-color);
    outline: 0;
}

/* Placeholder */
div.wpforms-container-full input::placeholder,
div.wpforms-container-full input[type=text]::placeholder,
div.wpforms-container-full input[type=email]::placeholder,
div.wpforms-container-full input[type=tel]::placeholder,
div.wpforms-container-full input[type=number]::placeholder,
div.wpforms-container-full input[type=password]::placeholder,
div.wpforms-container-full input[type=range]::placeholder,
div.wpforms-container-full input[type=search]::placeholder,
div.wpforms-container-full select::placeholder,
div.wpforms-container-full textarea::placeholder {
    color: color-mix(in srgb, var(--default-color) 48%, transparent);
    opacity: 1;
}

/* Disabled / Readonly */
div.wpforms-container-full input[readonly],
div.wpforms-container-full input[type=text][readonly],
div.wpforms-container-full input[type=email][readonly],
div.wpforms-container-full input[type=tel][readonly],
div.wpforms-container-full input[type=number][readonly],
div.wpforms-container-full input[type=password][readonly],
div.wpforms-container-full input[type=range][readonly],
div.wpforms-container-full input[type=search][readonly],
div.wpforms-container-full select[readonly] {
    background: color-mix(in srgb, var(--surface-color) 94%, var(--heading-color) 6%);
    color: color-mix(in srgb, var(--default-color) 60%, transparent);
    border-color: color-mix(in srgb, var(--heading-color) 10%, transparent);
    box-shadow: none;
    opacity: 1;
}

/* Сглаживание для больших/малых */
div.wpforms-container-full input-lg{ border-radius: var(--radius-lg); padding: .9rem 1.05rem; }
div.wpforms-container-full input-sm{ border-radius: 8px; padding: .5rem .7rem; }

div.wpforms-container-full input[type=submit], div.wpforms-container-full button[type=submit], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type=submit], .wp-core-ui div.wpforms-container-full button[type=submit], .wp-core-ui div.wpforms-container-full .wpforms-page-button {
    background-color: var(--accent-color) !important;
    color: var(--contrast-color) !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

div.wpforms-container-full input[type=submit]:hover, div.wpforms-container-full input[type=submit]:active, div.wpforms-container-full button[type=submit]:hover, div.wpforms-container-full button[type=submit]:active, div.wpforms-container-full .wpforms-page-button:hover, div.wpforms-container-full .wpforms-page-button:active, .wp-core-ui div.wpforms-container-full input[type=submit]:hover, .wp-core-ui div.wpforms-container-full input[type=submit]:active, .wp-core-ui div.wpforms-container-full button[type=submit]:hover, .wp-core-ui div.wpforms-container-full button[type=submit]:active, .wp-core-ui div.wpforms-container-full .wpforms-page-button:hover, .wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
    background-color: color-mix(in srgb, var(--accent-color) 80%, transparent) !important;
}

div.wpforms-container-full input[type=submit]:focus:after, div.wpforms-container-full button[type=submit]:focus:after, div.wpforms-container-full .wpforms-page-button:focus:after, .wp-core-ui div.wpforms-container-full input[type=submit]:focus:after, .wp-core-ui div.wpforms-container-full button[type=submit]:focus:after, .wp-core-ui div.wpforms-container-full .wpforms-page-button:focus:after {
    display: none;
}

div.wpforms-container-full .wpforms-confirmation-container-full, div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
    background: #f1f5ed;
    border: none;
}

.wpforms-field-checkbox input {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

.wpforms-error-container {

    margin-bottom: 1rem !important;
}

/* ================================================================================================================== */

.ttcg-modal .wpforms-field-checkbox legend.wpforms-field-label {

    font-weight: normal !important;
    margin-bottom: 1rem !important;
}

.ttcg-modal .wpforms-field-checkbox .wpforms-required-label {
    display: none !important;
}

/* ================================================================================================================== */

.dropdown .toggle-dropdown {
    
    flex-shrink: 0;
}

.dropdown a, .dropdown a:focus, .dropdown:active, .dropdown:hover {

    white-space: normal;
    align-items: baseline;
}

@media (min-width: 769px) {
    .dropdown--auto > ul {
        max-height: 400px;
        overflow-y: auto;
    }
}

@media (max-width: 768px) {
    .hide-on-mobile {
        display: none;
    }
}

/* ================================================================================================================== */