/* Zlatý kabát pro kalendáře převzaté ze starého webu.
   1) Pikaday — datum jízdy ve vyhledávacím boxu.
   2) scroll-datepicker — datum narození (desktop kalendář, mobil kolečka). */

/* ---------- Pikaday ---------- */
.pika-single { z-index: 120; display: block; position: relative; color: #EDEBE4; background: linear-gradient(158deg, #17171c, #0d0d10); border: 1px solid rgba(200, 161, 74, .55); border-radius: 10px; box-shadow: 0 30px 70px -25px #000; font-family: "Montserrat", sans-serif; }
.pika-single.is-hidden { display: none; }
.pika-single.is-bound { position: absolute; box-shadow: 0 30px 70px -25px #000; }
.pika-lendar { float: left; width: 252px; margin: 10px; }
.pika-single:after { content: ''; display: table; clear: both; }
.pika-title { position: relative; text-align: center; padding: 4px 0 8px; }
.pika-label { display: inline-block; position: relative; z-index: 10; overflow: hidden; margin: 0 3px; font-size: 13.5px; font-weight: 600; letter-spacing: .04em; color: #E5C97A; background: transparent; }
.pika-label select { cursor: pointer; position: absolute; z-index: 10; margin: 0; left: 0; top: 0; opacity: 0; }
.pika-prev, .pika-next { display: block; cursor: pointer; position: relative; outline: none; border: 1px solid rgba(200, 161, 74, .35); border-radius: 6px; padding: 0; width: 26px; height: 26px; text-indent: -9999px; white-space: nowrap; overflow: hidden; background-color: transparent; background-size: 9px 12px; background-repeat: no-repeat; background-position: center center; opacity: .8; }
.pika-prev:hover, .pika-next:hover { opacity: 1; border-color: #C8A14A; }
.pika-prev, .is-rtl .pika-next { float: left; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 12'%3E%3Cpath d='M7.5 1 2 6l5.5 5' fill='none' stroke='%23C8A14A' stroke-width='1.8'/%3E%3C/svg%3E"); }
.pika-next, .is-rtl .pika-prev { float: right; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 12'%3E%3Cpath d='M1.5 1 7 6l-5.5 5' fill='none' stroke='%23C8A14A' stroke-width='1.8'/%3E%3C/svg%3E"); }
.pika-prev.is-disabled, .pika-next.is-disabled { cursor: default; opacity: .25; }
.pika-select { display: inline-block; }
.pika-table { width: 100%; border-collapse: collapse; border-spacing: 0; border: 0; }
.pika-table th, .pika-table td { width: 14.2857%; padding: 0; }
.pika-table th { color: #8b8880; font-size: 10.5px; line-height: 26px; font-weight: 600; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.pika-button { cursor: pointer; display: block; box-sizing: border-box; outline: none; border: 0; margin: 1px; width: calc(100% - 2px); padding: 0; color: #EDEBE4; font-size: 12.5px; line-height: 30px; text-align: center; background: rgba(255, 255, 255, .03); border-radius: 6px; font-family: inherit; }
.pika-week { font-size: 11px; color: #8b8880; }
.is-today .pika-button { color: #E5C97A; font-weight: 700; }
.is-selected .pika-button, .has-event .pika-button { color: #14100A; font-weight: 700; background: linear-gradient(135deg, #E5C97A, #C8A14A); box-shadow: none; border-radius: 6px; }
.is-disabled .pika-button, .is-inrange .pika-button { pointer-events: none; cursor: default; color: #55534d; opacity: .5; background: transparent; }
.is-outside-current-month .pika-button { color: #55534d; background: transparent; }
.is-selection-disabled { pointer-events: none; cursor: default; }
.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button { color: #14100A; background: #C8A14A; border-radius: 6px; }
.pika-table abbr { border-bottom: none; cursor: help; text-decoration: none; }

/* ---------- scroll-datepicker (datum narození) ---------- */
.date-popup-picker__trigger { background: rgba(0, 0, 0, .35) !important; border: 1px solid rgba(200, 161, 74, .28) !important; border-radius: 6px !important; color: #EDEBE4 !important; font-family: "Montserrat", sans-serif !important; font-size: 13.5px !important; height: 38px !important; box-shadow: none !important; }
.date-popup-picker__trigger:focus { border-color: #C8A14A !important; outline: none !important; }
.date-popup-picker__toggle-icon { color: #C8A14A !important; }
.date-popup-picker__popup { background: linear-gradient(158deg, #17171c, #0d0d10) !important; border: 1px solid rgba(200, 161, 74, .55) !important; border-radius: 10px !important; color: #EDEBE4 !important; box-shadow: 0 30px 70px -25px #000 !important; }
.date-popup-picker__desktop-title, .date-popup-picker__mobile-title { color: #E5C97A !important; }
.date-popup-picker__desktop-title-button, .date-popup-picker__panel-button, .date-popup-picker__nav { background: transparent !important; border: 1px solid rgba(200, 161, 74, .35) !important; color: #EDEBE4 !important; border-radius: 6px !important; }
.date-popup-picker__desktop-title-button:hover, .date-popup-picker__nav:hover { border-color: #C8A14A !important; }
.date-popup-picker__weekday { color: #8b8880 !important; }
.date-popup-picker__day { color: #EDEBE4 !important; background: rgba(255, 255, 255, .03) !important; border-radius: 6px !important; border: 0 !important; }
.date-popup-picker__day:hover { background: #C8A14A !important; color: #14100A !important; }
.date-popup-picker__day[aria-pressed="true"], .date-popup-picker__day--selected, .date-popup-picker__day.is-selected { background: linear-gradient(135deg, #E5C97A, #C8A14A) !important; color: #14100A !important; font-weight: 700 !important; }
.date-popup-picker__day:disabled, .date-popup-picker__day[disabled] { color: #55534d !important; background: transparent !important; }
.date-popup-picker__month-grid button { background: rgba(255, 255, 255, .03) !important; color: #EDEBE4 !important; border: 0 !important; border-radius: 6px !important; }
.date-popup-picker__month-grid button:hover { background: #C8A14A !important; color: #14100A !important; }
.date-popup-picker__wheel-item { color: #EDEBE4 !important; }
.date-popup-picker__wheel-item[aria-selected="true"] { color: #E5C97A !important; font-weight: 700 !important; }
.date-popup-picker__mobile-action { background: linear-gradient(135deg, #E5C97A, #C8A14A) !important; color: #14100A !important; border: 0 !important; border-radius: 6px !important; font-weight: 700 !important; }
.date-popup-picker__clear { color: #C97A7A !important; background: transparent !important; border: 0 !important; }

/* viditelné pole kalendáře ve vyhledávacím boxu (nahrazuje input[type=date]) */
.sbox input.pikafield { flex: 1; min-width: 0; width: 100%; appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; margin: 0; font-family: var(--txt); font-size: 15.5px; line-height: 1.3; color: inherit; outline: none; cursor: pointer; caret-color: transparent; }
/* obal pickeru data narození v kartě cestujícího */
.dpwrap { display: block; }
.dpwrap .date-popup-picker { width: 100%; }

/* kolonka Cestující — stejná výška jako ostatní kolonky v řadě */
.sbox .paxdrop-h { height: 46px; padding-top: 0; padding-bottom: 0; align-items: center; box-sizing: border-box; }

/* kalendář data narození — kompaktní velikost (byl neúměrně velký) */
.date-popup-picker__popup { width: 300px !important; max-width: calc(100vw - 32px) !important; padding: 14px !important; box-sizing: border-box !important; }
.date-popup-picker__desktop-head { margin-bottom: 8px !important; }
.date-popup-picker__desktop-title-button { font-size: 14px !important; padding: 4px 10px !important; }
.date-popup-picker__nav { width: 26px !important; height: 26px !important; }
.date-popup-picker__weekday { font-size: 10.5px !important; }
.date-popup-picker__day { font-size: 12.5px !important; height: 30px !important; min-height: 0 !important; line-height: 1 !important; padding: 0 !important; }
.date-popup-picker__calendar { gap: 2px !important; }
.date-popup-picker__month-grid { gap: 4px !important; }
.date-popup-picker__month-grid button { font-size: 12.5px !important; padding: 6px 4px !important; }

/* ---------- mobil: kolečkový výběr jako spodní panel (11. 8. 2026) ----------
   Kompaktní šířka 300 px výše patří jen desktopové mřížce — spodní panel
   na telefonu musí být na celou šířku, jinak se kolečka deformují. */
@media (max-width: 767px) {
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__popup:not([hidden]) {
        width: 100vw !important; max-width: 100vw !important; padding: 0 !important;
        border: 0 !important; border-top: 1px solid rgba(200, 161, 74, .55) !important;
        border-radius: 14px 14px 0 0 !important;
    }
    .date-popup-picker__mobile-head { padding: 12px 14px !important; }
    .date-popup-picker__mobile-title { font-size: 15px !important; white-space: nowrap !important; }
    .date-popup-picker__mobile-action { padding: 8px 14px !important; font-size: 14px !important; }
    /* ztmavené přechody nad a pod kolečky (původní byly z bílého vzhledu) */
    .date-popup-picker__calendar::before { background: linear-gradient(180deg, rgba(21, 21, 25, .97) 18%, rgba(21, 21, 25, 0) 100%) !important; }
    .date-popup-picker__calendar::after { background: linear-gradient(0deg, rgba(21, 21, 25, .97) 18%, rgba(21, 21, 25, 0) 100%) !important; }
}

/* ---------- mobil: menší písmo koleček + žádné přibližování (11. 8. 2026 c) ---------- */
@media (max-width: 767px) {
    .date-popup-picker__calendar { --wheel-item-height: 2.5rem !important; --wheel-visible-items: 5 !important; --wheel-side-items: 2 !important; }
    .date-popup-picker__wheel-item { font-size: 1.3rem !important; }
    .date-popup-picker__mobile-title { font-size: 14px !important; }
    .date-popup-picker__mobile-action { font-size: 13px !important; padding: 6px 12px !important; }
    /* iOS přibližuje stránku u polí s písmem pod 16 px — platí i pro pole kalendáře */
    .nl-pass .date-popup-picker__trigger, .date-popup-picker__trigger { font-size: 16px !important; }
}

/* ---------- iOS: vynucená GPU vrstva koleček (11. 8. 2026 d) ----------
   Safari po znovuotevření panelu nevykreslí obsah posuvných koleček,
   dokud se jich uživatel nedotkne. */
.date-popup-picker__wheel, .date-popup-picker__wheel-item { -webkit-transform: translateZ(0); transform: translateZ(0); }

/* Na mobilu 16 px, ať prohlížeč při kliknutí do pole stránku nepřibližuje. */
@media (max-width: 860px) {
    .sbox input.pikafield { font-size: 16px; }
}

/* ---------- 21. 8. 2026: kolečka i na tabletu a počítači ----------
   Desktopový kalendář (mřížka rok → měsíc → den) se už nepoužívá — na iPadu
   nereagoval na volbu roku. Kolečkový výběr je jednotný: na telefonu spodní
   panel přes celou šířku, od 768 px rozbalovací okno V ŠÍŘCE POLE. */
@media (min-width: 768px) {
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__popup {
        position: absolute !important; top: calc(100% + 6px) !important; left: 0 !important;
        right: auto !important; bottom: auto !important;
        width: 100% !important; min-width: 200px !important; max-width: none !important;
        height: auto !important; padding: 0 !important; box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__mobile { display: block !important; padding: 4px 6px 8px !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__mobile-head { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto !important; align-items: center !important; gap: 6px !important; padding: 7px 8px 6px !important; border-bottom: 1px solid rgba(200, 161, 74, .25) !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__mobile-title { font-size: 11.5px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; min-width: 0 !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__mobile-action { font-size: 11.5px !important; padding: 4px 8px !important; white-space: nowrap !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__calendar { --wheel-item-height: 1.8rem !important; --wheel-visible-items: 5 !important; --wheel-side-items: 2 !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__wheel-item { font-size: .9rem !important; letter-spacing: 0 !important; }
    .date-popup-picker[data-scroll-datepicker-mode=mobile] .date-popup-picker__wheels { grid-template-columns: .75fr 1.25fr 1fr !important; gap: .2rem !important; }
    .date-popup-picker__calendar::before { background: linear-gradient(180deg, rgba(21, 21, 25, .97) 18%, rgba(21, 21, 25, 0) 100%) !important; }
    .date-popup-picker__calendar::after { background: linear-gradient(0deg, rgba(21, 21, 25, .97) 18%, rgba(21, 21, 25, 0) 100%) !important; }
}

/* ---------- 22. 8. 2026: administrace — pole jako ostatní kolonky ----------
   Tmavý zlatý kabát triggeru patří webu; v administraci (světlá pole) působil
   šedě. V panelu vypadá pole data narození jako běžný input Filamentu:
   bílé pozadí, jemný šedý rámeček (ring), stejná výška a písmo. */
.fi-body .date-popup-picker__trigger {
    background: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1) !important;
    color: rgb(24, 24, 27) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    height: 36px !important;
    padding: 0 12px !important;
    text-align: left !important;
}
.fi-body .date-popup-picker__trigger:focus { box-shadow: 0 0 0 2px #C8A14A !important; outline: none !important; }
.fi-body .date-popup-picker__toggle-icon { color: rgb(113, 113, 122) !important; }

/* Pole data narození ve formulářích webu (.frm — registrace, profil,
   spolucestující): stejná výška jako ostatní pole formuláře. */
.frm .date-popup-picker__trigger { height: auto !important; padding-top: 9px !important; padding-bottom: 9px !important; padding-left: 11px !important; font-size: 14px !important; line-height: 1.7 !important; }
@media (max-width: 860px) {
    .frm .date-popup-picker__trigger { font-size: 16px !important; }
}
