/**
 * VITSA — global form fields (design only).
 */

:root {
    --vitsa-field-radius: 8px;
    --vitsa-field-border-color: hsl(150, 12%, 88%);
    --vitsa-field-border: 1px solid var(--vitsa-field-border-color);
    --vitsa-field-padding-y: 0.875rem;
    --vitsa-field-padding-x: 1.25rem;
    --vitsa-field-min-height: 3rem;
    --vitsa-field-font-size: 0.9375rem;
    --vitsa-field-bg: #fff;
    --vitsa-field-color: #1a231f;
    --vitsa-field-placeholder: hsl(150, 8%, 52%);
    --vitsa-field-focus-border: var(--primary-color, #6eb12e);
    --vitsa-field-focus-ring: 0 0 0 3px hsla(100, 55%, 45%, 0.12);
    --vitsa-search-bg: #f4f6f5;
    --vitsa-search-bg-hover: #e8ece9;
}

.form-control,
.form-select,
select.form-control,
select.form-select,
textarea.form-control,
textarea,
.bb-form-body .form-control,
.bb-form-body input[type="text"],
.bb-form-body input[type="email"],
.bb-form-body input[type="password"],
.bb-form-body input[type="tel"],
.bb-form-body input[type="number"],
.bb-form-body input[type="search"],
.bb-form-body input[type="url"],
.bb-form-body textarea,
.bb-form-body select,
.order-tracking input[type="text"],
.order-tracking input[type="tel"],
.order-tracking input[type="email"],
.order-tracking input[type="number"],
.order-tracking input[type="password"],
.order-tracking select,
.order-tracking textarea,
.vitsa-footer-newsletter__input,
.vitsa-home-newsletter__input,
input[type="text"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="tel"].form-control,
input[type="number"].form-control,
input[type="search"].form-control,
input[type="url"].form-control,
input[type="date"].form-control,
input[type="datetime-local"].form-control {
    border-radius: var(--vitsa-field-radius) !important;
    border: var(--vitsa-field-border) !important;
    background-color: var(--vitsa-field-bg) !important;
    color: var(--vitsa-field-color) !important;
    padding: var(--vitsa-field-padding-y) var(--vitsa-field-padding-x) !important;
    font-size: var(--vitsa-field-font-size) !important;
    line-height: 1.5 !important;
    min-height: var(--vitsa-field-min-height) !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none;
    appearance: none;
}

textarea.form-control,
textarea,
.order-tracking textarea,
.bb-form-body textarea {
    min-height: 7rem !important;
    border-radius: var(--vitsa-field-radius) !important;
    resize: vertical;
}

.form-control::placeholder,
.bb-form-body input::placeholder,
.bb-form-body textarea::placeholder,
.order-tracking input::placeholder,
.order-tracking textarea::placeholder,
.vitsa-footer-newsletter__input::placeholder,
.vitsa-home-newsletter__input::placeholder {
    color: var(--vitsa-field-placeholder) !important;
    opacity: 1 !important;
}

.form-control:focus,
.form-select:focus,
select.form-control:focus,
select.form-select:focus,
textarea.form-control:focus,
textarea:focus,
.bb-form-body .form-control:focus,
.bb-form-body input:focus,
.bb-form-body textarea:focus,
.bb-form-body select:focus,
.order-tracking input:focus,
.order-tracking select:focus,
.order-tracking textarea:focus,
.vitsa-footer-newsletter__input:focus,
.vitsa-home-newsletter__input:focus {
    border-color: var(--vitsa-field-focus-border) !important;
    box-shadow: var(--vitsa-field-focus-ring) !important;
    outline: none !important;
}

/* Auth — keep icon padding, apply pill shape */
.auth-card form .form-control,
.auth-card form input[data-bb-password] {
    border-radius: var(--vitsa-field-radius) !important;
    border: var(--vitsa-field-border) !important;
    background-color: var(--vitsa-field-bg) !important;
    padding: 1rem 1.25rem !important;
    min-height: var(--vitsa-field-min-height) !important;
    box-shadow: none !important;
}

.auth-card form .form-control.ps-5,
.auth-card form input[data-bb-password].ps-5 {
    padding-inline-start: 3rem !important;
}

.auth-card form input[data-bb-password] {
    padding-inline-end: 3rem !important;
}

.auth-card form .form-control:focus,
.auth-card form input[data-bb-password]:focus {
    border-color: var(--vitsa-field-focus-border) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Shop price filter — pill on wrapper, borderless inner input */
.vitsa-filter-card__price-field {
    border-radius: var(--vitsa-field-radius) !important;
    border: var(--vitsa-field-border) !important;
    background: var(--vitsa-field-bg) !important;
    padding: 0.625rem 1rem !important;
}

.vitsa-filter-card__price-field:focus-within {
    border-color: var(--vitsa-field-focus-border) !important;
    box-shadow: var(--vitsa-field-focus-ring) !important;
}

/* Header search — pill on outer row only; gray fill beats style.css white overrides */
.header--vitsa .form--quick-search-vitsa .vitsa-search-row,
.header.header--vitsa .header-middle .header__center .form--quick-search-vitsa .vitsa-search-row {
    border-radius: var(--vitsa-field-radius) !important;
    border: var(--vitsa-field-border) !important;
    background: var(--vitsa-search-bg) !important;
    background-color: var(--vitsa-search-bg) !important;
}

.header--vitsa .form--quick-search-vitsa .vitsa-search-row:focus-within {
    border-color: var(--vitsa-field-focus-border) !important;
    box-shadow: var(--vitsa-field-focus-ring) !important;
}

/* Input groups — pill on outer edges */
.input-group > .form-control:not(:last-child),
.input-group > input:not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group > .form-control:not(:first-child),
.input-group > input:not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group > .form-control:first-child,
.input-group > input:first-child {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group > .btn:last-child,
.input-group > .input-group-text:last-child {
    border-top-right-radius: var(--vitsa-field-radius) !important;
    border-bottom-right-radius: var(--vitsa-field-radius) !important;
}

.input-group > .btn:first-child,
.input-group > .input-group-text:first-child {
    border-top-left-radius: var(--vitsa-field-radius) !important;
    border-bottom-left-radius: var(--vitsa-field-radius) !important;
}

/* Exclusions — controls that are not standard text fields */
input[type="checkbox"],
input[type="radio"],
input[type="hidden"],
input[type="file"],
input[type="range"],
input[type="color"],
input[type="submit"],
input[type="button"],
input[type="image"],
input[type="reset"],
.vitsa-filter-toggle__input,
.vitsa-home-newsletter__privacy input[type="checkbox"] {
    border-radius: initial !important;
    border: initial !important;
    min-height: initial !important;
    padding: initial !important;
    box-shadow: initial !important;
    background-color: initial !important;
}

.qty-box input.qty,
.quantity input.qty {
    min-height: unset !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.vitsa-filter-card__price-input {
    min-height: unset !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.header--vitsa .form--quick-search-vitsa .vitsa-search-row .vitsa-search-input,
.header--vitsa .form--quick-search-vitsa .vitsa-search-row input[type="search"],
.header--vitsa .form--quick-search-vitsa .vitsa-search-row input[type="text"],
.header--vitsa .form--quick-search-vitsa .vitsa-search-row input.form-control,
.header.header--vitsa .header-middle .header__center .form--quick-search-vitsa .vitsa-search-input,
.header.header--vitsa .header-middle .header__center .form--quick-search-vitsa input[type="search"],
.header.header--vitsa .header-middle .header__center .form--quick-search-vitsa input[type="text"],
.header--vitsa .form--quick-search-vitsa .product-category-select {
    border: none !important;
    border-radius: 0 !important;
    min-height: auto !important;
    box-shadow: none !important;
    background: var(--vitsa-search-bg) !important;
    background-color: var(--vitsa-search-bg) !important;
}

.header--vitsa .form--quick-search-vitsa .vitsa-search-row .vitsa-search-submit,
.header--vitsa .form--quick-search-vitsa .vitsa-search-row button.vitsa-search-submit,
.header--vitsa .form--quick-search-vitsa .vitsa-search-row button.vitsa-search-submit[type="submit"],
.header.header--vitsa .header-middle .header__center .form--quick-search-vitsa .vitsa-search-submit,
.header.header--vitsa .header-middle .header__center .form--quick-search.form--quick-search-vitsa .vitsa-search-row button.vitsa-search-submit,
.header.header--vitsa .header-middle .header__center .form--quick-search.form--quick-search-vitsa button.vitsa-search-submit {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: var(--vitsa-search-bg) !important;
    background-color: var(--vitsa-search-bg) !important;
    border: none !important;
    box-shadow: none !important;
}

.header--vitsa .form--quick-search-vitsa .vitsa-search-row .vitsa-search-submit:hover,
.header--vitsa .form--quick-search-vitsa .vitsa-search-row .vitsa-search-submit:focus,
.header.header--vitsa .header-middle .header__center .form--quick-search.form--quick-search-vitsa .vitsa-search-row button.vitsa-search-submit:hover,
.header.header--vitsa .header-middle .header__center .form--quick-search.form--quick-search-vitsa .vitsa-search-row button.vitsa-search-submit:focus {
    background: var(--vitsa-search-bg-hover) !important;
    background-color: var(--vitsa-search-bg-hover) !important;
}

/* iOS: inputs below 16px trigger focus zoom — mobile header search must stay 16px+ */
@media (max-width: 1199.98px) {
    .header--vitsa .header-mobile .vitsa-header-mobile__search.form--quick-search-vitsa .vitsa-search-row .vitsa-search-input,
    .header--vitsa .header-mobile .vitsa-header-mobile__search.form--quick-search-vitsa .vitsa-search-row input[type="search"],
    .header--vitsa .header-mobile .vitsa-header-mobile__search.form--quick-search-vitsa .vitsa-search-row input[type="search"].form-control,
    .header--vitsa .header-mobile .vitsa-header-mobile__search.form--quick-search-vitsa .vitsa-search-row input.form-control.vitsa-search-input {
        font-size: 16px !important;
        line-height: 1.25 !important;
        min-height: 2.5rem !important;
        padding: 0.5rem 0.625rem !important;
        min-width: 0 !important;
        -webkit-text-size-adjust: 100%;
    }

    .header--vitsa .header-mobile .vitsa-header-mobile__search.form--quick-search-vitsa .vitsa-search-row {
        min-height: 2.5rem;
    }

    .header--vitsa .header-mobile .vitsa-header-mobile__search .bb-quick-search-results,
    .header--vitsa .header-mobile .vitsa-header-mobile__search .bb-quick-search-results.show {
        position: fixed !important;
        left: 0.75rem !important;
        right: 0.75rem !important;
        width: auto !important;
        max-width: none !important;
        top: var(--vitsa-mobile-search-dropdown-top, 4.25rem) !important;
        max-height: min(52vh, 22rem) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        z-index: 10002 !important;
        margin-top: 0 !important;
    }

    .header--vitsa .header-mobile .vitsa-header-mobile__search .bb-quick-search-results .bb-quick-search-content {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        max-height: none !important;
    }
}

/* Auth login/register — password uses input-group; keep all corners rounded */
.auth-card form .input-group > input[data-bb-password],
.auth-card form .input-group > .form-control {
    border-radius: var(--vitsa-field-radius) !important;
}

.auth-card form .input-group > input[data-bb-password]:first-child,
.auth-card form .input-group > .form-control:first-child {
    border-top-right-radius: var(--vitsa-field-radius) !important;
    border-bottom-right-radius: var(--vitsa-field-radius) !important;
}

/* Order tracking — compact page, brand CTA */
body:has(.vitsa-order-tracking) #main-content {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
}

.vitsa-order-tracking {
    margin: 0;
}

.vitsa-order-tracking__card {
    padding: 0.25rem 0 0;
}

.vitsa-order-tracking__title {
    margin: 0 0 1.25rem;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    color: #1a231f;
    text-align: center;
    overflow: visible;
}

.vitsa-order-tracking .form-group {
    margin-bottom: 1rem;
}

.vitsa-order-tracking__submit,
.vitsa-order-tracking .btn-primary,
.order-tracking .vitsa-order-tracking__submit,
.order-tracking button[type="submit"].btn-primary {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.875rem 1.25rem !important;
    min-height: 3rem;
    border: none !important;
    border-radius: var(--vitsa-field-radius) !important;
    background-color: #367c2b !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease;
}

.vitsa-order-tracking__submit:hover,
.vitsa-order-tracking__submit:focus,
.vitsa-order-tracking .btn-primary:hover,
.vitsa-order-tracking .btn-primary:focus,
.order-tracking .vitsa-order-tracking__submit:hover,
.order-tracking .vitsa-order-tracking__submit:focus,
.order-tracking button[type="submit"].btn-primary:hover,
.order-tracking button[type="submit"].btn-primary:focus {
    background-color: #2f5e27 !important;
    color: #fff !important;
}

.vitsa-order-tracking__alert {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border-radius: var(--vitsa-field-radius, 8px);
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    font-size: 0.9375rem;
    line-height: 1.4;
    text-align: center;
}
