/*
 * fitVibe · Κοινό πεδίο ημερομηνίας ηη/μμ/εεεε (js/modules/fv-date-field.js)
 * ----------------------------------------------------------------------------
 * Το ορατό πεδίο παίρνει τις κλάσεις του αρχικού <input type="date">, άρα και
 * το ίδιο περίγραμμα, μέγεθος και focus. Εδώ μπαίνει μόνο η διάταξη του
 * κουμπιού ημερολογίου και η κατάσταση λάθους.
 */
.fv-dmy {
    position: relative;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    vertical-align: middle;
}

.fv-dmy.fv-dmy--block {
    display: flex;
    width: 100%;
}

span.fv-dmy > input.fv-dmy-text {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline-end: 44px;
}

span.fv-dmy.fv-dmy--block > input.fv-dmy-text {
    width: 100%;
}

.fv-dmy-pick {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    color: var(--fv-ui-ink-muted, #5f6e95);
    cursor: pointer;
}

.fv-dmy-pick:hover,
.fv-dmy-pick:focus-visible {
    color: var(--fv-ui-brand-ink, #325de6);
}

.fv-dmy-pick:focus-visible {
    outline: 2px solid var(--fv-ui-brand-ink, #325de6);
    outline-offset: -4px;
}

.fv-dmy-pick svg {
    width: 18px;
    height: 18px;
    pointer-events: none;
}

/* Το αρχικό πεδίο μένει στο DOM (id, name, value σε ISO) και ανοίγει το
   ημερολόγιο του λειτουργικού όταν πατηθεί το κουμπί. */
.fv-dmy-pick > input.fv-dmy-native {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
    font-size: 16px;
}

/* Πεδίο χωρίς περίγραμμα (pill φίλτρου): το κουμπί ακολουθεί το πεδίο και
   κρατά το πλάτος του πεδίου για την ημερομηνία. */
.fv-dmy.fv-dmy--bare {
    gap: 4px;
}

span.fv-dmy.fv-dmy--bare > input.fv-dmy-text {
    padding-inline-end: 0;
}

.fv-dmy--bare .fv-dmy-pick {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: inherit;
    opacity: .75;
}

.fv-dmy--disabled .fv-dmy-pick {
    pointer-events: none;
    opacity: .5;
}

span.fv-dmy > input.fv-dmy-text.fv-dmy--invalid {
    border-color: var(--fv-ui-ink-danger, #c62828);
}

span.fv-dmy.fv-dmy--bare > input.fv-dmy-text.fv-dmy--invalid {
    color: var(--fv-ui-ink-danger, #c62828);
    text-decoration: underline wavy;
}
