/* Tom Select - stile AutoPro (ispirato Skorta, no @apply) */

/* FOUC: select nativo prima di Tom Select */
select.ap-select {
    width: 100%;
    height: var(--ap-control-h);
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0.5rem;
    border: 1px solid rgba(108, 117, 125, 0.25);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1em 1em;
    padding: 0.375rem 2rem 0.375rem 0.625rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    color: #212529;
    box-sizing: border-box;
}

select.ap-select:disabled {
    background-color: #F8F9FA;
    opacity: 0.7;
    cursor: not-allowed;
}

.ts-wrapper.ap-select {
    width: 100%;
}

.ts-wrapper.ap-select .ts-control {
    display: flex;
    align-items: center;
    height: var(--ap-control-h);
    min-height: 0;
    max-height: var(--ap-control-h);
    padding: 0 2rem 0 0.625rem;
    border: 1px solid rgba(108, 117, 125, 0.25);
    border-radius: 0.5rem;
    background-color: #fff;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.8125rem;
    line-height: 1.25;
    color: #212529;
    box-shadow: none;
    box-sizing: border-box;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ts-wrapper.ap-select.single .ts-control,
.ts-wrapper.ap-select.single.input-active .ts-control {
    min-height: 0;
    height: var(--ap-control-h);
    max-height: var(--ap-control-h);
}

.ts-wrapper.ap-select .ts-control .item {
    padding: 0;
    line-height: 1.25;
    pointer-events: none;
}

.ts-wrapper.ap-select .ts-control .item[data-value=""],
.ts-wrapper.ap-select.single .ts-control > .item:empty,
.ts-wrapper.ap-select .ts-control > .item[data-value=""] {
    color: rgba(108, 117, 125, 0.6);
}

/* controlInput: null rimuove l'input; resta un fallback se Tom Select ne crea uno */
.ts-wrapper.ap-select .ts-control > input {
    display: none !important;
}

.ts-wrapper.ap-select.focus .ts-control,
.ts-wrapper.ap-select.dropdown-active .ts-control,
.ts-wrapper.ap-select .ts-control:focus {
    border-color: var(--ap-focus-border, color-mix(in srgb, var(--color-primary) 55%, #fff));
    box-shadow: var(--ap-focus-ring, 0 0 0 0.25rem color-mix(in srgb, var(--color-primary) 25%, transparent));
}

.ts-wrapper.ap-select.disabled .ts-control {
    background-color: #F8F9FA;
    opacity: 0.7;
    cursor: not-allowed;
}

.ts-wrapper.ap-select.single .ts-control::after {
    display: none;
}

.ts-wrapper.ap-select.single .ts-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1em 1em;
    transition: background-image 0.15s ease;
}

.ts-wrapper.ap-select.dropdown-active.single .ts-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M14 12l-4-4-4 4'/%3e%3c/svg%3e");
}

.ts-wrapper.ap-select .ts-control input {
    display: none !important;
}

body > .ts-dropdown,
.ts-dropdown {
    z-index: 60;
}

/* Pannello (dropdownParent: body -> .ts-dropdown.ap-select) */
.ts-wrapper.ap-select .ts-dropdown,
.ts-dropdown.ap-select {
    margin-top: 0.25rem;
    border: 1px solid rgba(108, 117, 125, 0.2);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(33, 37, 41, 0.08);
    overflow: hidden;
    padding: 0;
}

.ts-wrapper.ap-select .ts-dropdown .ts-dropdown-content,
.ts-dropdown.ap-select .ts-dropdown-content {
    padding: 0.25rem;
    max-height: 16rem;
}

/* Cerca in tendina (Tom Select 2: .dropdown-input-wrap > input.dropdown-input) */
.ts-wrapper.ap-select .dropdown-input-wrap,
.ts-dropdown.ap-select .dropdown-input-wrap {
    position: relative;
    padding: 0.5rem 0.5rem 0.375rem;
    margin: 0;
    border-bottom: 1px solid rgba(108, 117, 125, 0.12);
    background: #fff;
}

.ts-wrapper.ap-select .dropdown-input-wrap::before,
.ts-dropdown.ap-select .dropdown-input-wrap::before {
    content: '';
    position: absolute;
    left: 0.875rem;
    top: 50%;
    width: 0.875rem;
    height: 0.875rem;
    transform: translateY(calc(-50% - 0.0625rem));
    pointer-events: none;
    z-index: 1;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.75' stroke='%236C757D'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.85;
}

.ts-wrapper.ap-select input.dropdown-input,
.ts-dropdown.ap-select input.dropdown-input {
    width: 100%;
    height: 2rem;
    margin: 0;
    padding: 0.25rem 0.625rem 0.25rem 1.875rem;
    border: 1px solid rgba(108, 117, 125, 0.2) !important;
    border-radius: 0.375rem;
    background: #F8F9FA !important;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.8125rem;
    line-height: 1.25;
    color: #212529;
    box-sizing: border-box;
    box-shadow: none !important;
}

.ts-wrapper.ap-select input.dropdown-input::placeholder,
.ts-dropdown.ap-select input.dropdown-input::placeholder {
    color: rgba(108, 117, 125, 0.65);
}

.ts-wrapper.ap-select input.dropdown-input:focus,
.ts-dropdown.ap-select input.dropdown-input:focus {
    border-color: color-mix(in srgb, var(--color-primary) 45%, #fff) !important;
    background: #fff !important;
    outline: 0;
    /* Anello leggero: nel pannello l'anello 0.25rem full-size distorce la tendina */
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 18%, transparent) !important;
}

/* Righe opzione */
.ts-wrapper.ap-select .ts-dropdown .option,
.ts-dropdown.ap-select .option {
    position: relative;
    border-radius: 0.375rem;
    padding: 0.375rem 1.75rem 0.375rem 0.5rem;
    font-size: 0.8125rem;
    color: #212529;
    cursor: pointer;
}

.ts-wrapper.ap-select .ts-dropdown .option.active,
.ts-wrapper.ap-select .ts-dropdown .option:hover,
.ts-dropdown.ap-select .option.active,
.ts-dropdown.ap-select .option:hover {
    background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
    color: #212529;
}

.ts-wrapper.ap-select .ts-dropdown .option.selected,
.ts-dropdown.ap-select .option.selected {
    font-weight: 500;
}

.ts-wrapper.ap-select .ts-dropdown .option.selected::after,
.ts-dropdown.ap-select .option.selected::after {
    content: '';
    position: absolute;
    right: 0.5rem;
    top: 50%;
    width: 0.875rem;
    height: 0.875rem;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23047336' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M20 6 9 17l-5-5'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
}

.ts-wrapper.ap-select .ts-dropdown .option.disabled,
.ts-dropdown.ap-select .option.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ts-wrapper.ap-select .ts-dropdown .no-results,
.ts-dropdown.ap-select .no-results {
    padding: 0.5rem;
    font-size: 0.8125rem;
    color: #6C757D;
    text-align: center;
}

/* Flatpickr - stile AutoPro */

.flatpickr-calendar {
    z-index: 210;
    border: 1px solid rgba(108, 117, 125, 0.2);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(33, 37, 41, 0.08);
    font-family: 'DM Sans', system-ui, sans-serif;
}

.flatpickr-months .flatpickr-month {
    color: #212529;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    font-weight: 600;
    color: #212529;
}

.flatpickr-weekdays {
    background: #F8F9FA;
}

span.flatpickr-weekday {
    color: #6C757D;
    font-weight: 500;
}

.flatpickr-day {
    color: #212529;
    border-radius: 0.375rem;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
    border-color: transparent;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.flatpickr-day.today {
    border-color: #8BC34A;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
    background: #8BC34A;
    border-color: #8BC34A;
    color: #fff;
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
    color: #212529;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

input.ap-date,
input.ap-datetime,
input.ap-date-year,
input.ap-flatpickr-alt {
    cursor: pointer;
}

.ap-date-wrap {
    position: relative;
    width: 100%;
}

.ap-date-wrap::after {
    content: '';
    position: absolute;
    right: 0.625rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%236C757D'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.75;
}

.ap-date-wrap input.ap-flatpickr-alt,
.ap-date-wrap input.ap-date,
.ap-date-wrap input.ap-datetime {
    padding-right: 2rem;
}

.ap-date-wrap:has(> input.ap-flatpickr-alt) > input.ap-date,
.ap-date-wrap:has(> input.ap-flatpickr-alt) > input.ap-datetime,
.ap-date-wrap:has(> input.ap-flatpickr-alt) > input.ap-date-year,
.ap-date-wrap > input.ap-date-value {
    display: none !important;
}

input.ap-flatpickr-alt {
    width: 100%;
    height: var(--ap-control-h);
    padding: 0.375rem 2rem 0.375rem 0.625rem;
    border: 1px solid rgba(108, 117, 125, 0.25);
    border-radius: 0.5rem;
    background-color: #fff;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.8125rem;
    line-height: 1.25;
    color: #212529;
    box-sizing: border-box;
}

input.ap-flatpickr-alt::placeholder {
    color: rgba(108, 117, 125, 0.6);
}

input.ap-flatpickr-alt:focus-visible {
    border-color: var(--ap-focus-border, color-mix(in srgb, var(--color-primary) 55%, #fff));
    outline: 0;
    box-shadow: var(--ap-focus-ring, 0 0 0 0.25rem color-mix(in srgb, var(--color-primary) 25%, transparent));
}

input.ap-flatpickr-alt:disabled,
input.ap-flatpickr-alt[readonly] {
    background: #F8F9FA;
    opacity: 0.7;
    cursor: not-allowed;
}
