/* Elementor owns the fallback arrow; Tevily must not paint a second one. */
.elementor-form .elementor-select-wrapper select { background-image: none; }
/* Preserve Elementor's select, field names and validation underneath Select2. */
.elementor-form .timtours-form-select > .select-caret-down-wrapper { display: none; }
.elementor-form .timtours-form-select > .select2-container { width: 100%; min-width: 0; }
.elementor-form .timtours-form-select .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
    height: 42px;
    min-height: 42px;
    border: 1px solid #d5e0ef !important;
    border-radius: 8px;
    line-height: 24px !important;
    padding: 8px 12px;
}
.elementor-form .timtours-form-select .select2-container .select2-selection__rendered {
    padding: 0 24px 0 0;
    color: inherit !important;
    font-size: inherit;
    line-height: 24px !important;
}
.elementor-form .timtours-form-select .select2-selection__arrow {
    top: 50%;
    right: 10px;
    height: 20px;
    margin-top: 0;
    transform: translateY(-50%);
}
.elementor-form .timtours-form-select .select2-selection__rendered .select2-selection__placeholder { color: #63718b; line-height: inherit; }
.elementor-form .timtours-form-select .select2-container--open .select2-selection__arrow { transform: translateY(-50%) rotate(180deg); }
.elementor-form .timtours-form-select .select2-container--focus .select2-selection,
.elementor-form .timtours-form-select .select2-container--open .select2-selection {
    border-color: #7896b8 !important;
    outline: 2px solid rgba(120, 150, 184, .15);
    outline-offset: 1px;
}
.elementor-form .timtours-form-select .select2-dropdown {
    border: 1px solid #d5e0ef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 42, 66, .14);
    overflow: hidden;
}
.elementor-form .timtours-form-select .select2-results__options {
    max-height: 220px;
    overscroll-behavior: contain;
}
.elementor-form .timtours-form-select .select2-dropdown ul.select2-results__options li {
    padding: 10px 12px;
    color: #26364d;
    font-size: 16px;
    line-height: 1.4;
}
.elementor-form .timtours-form-select .select2-dropdown ul.select2-results__options li.select2-results__option--highlighted[aria-selected] {
    color: #fff;
    background: #ef704d;
}

/* Select2's native AttachContainer adapter: no detached popup coordinates. */
.elementor-form .timtours-form-select .select2-container--open { z-index: 5; }
.elementor-form .timtours-form-select .select2-container:not(.select2-container--open) .select2-dropdown { display: none; }
.elementor-form .timtours-form-select .select2-container--open .select2-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}

/* Keep the date affordance on every field enhanced by the existing site calendar. */
input.timtours-elementor-datepicker {
 padding-right:44px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:18px 18px!important;
}
/* User's compact calendar reference, using the installed jQuery UI widget. */
@font-face {font-family:TTCalendarInter;src:url('/wp-content/mu-plugins/timtours-operator/miniapp/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap;}
#ui-datepicker-div.timtours-datepicker {
 width:256px;max-width:calc(100vw - 24px);padding:14px;box-sizing:border-box;
 border:1px solid #f1f5f9;border-radius:16px;background:#fff;color:#334155;
 box-shadow:0 10px 15px -3px rgb(15 23 42 / 10%),0 4px 6px -4px rgb(15 23 42 / 10%);
 font-family:TTCalendarInter,Inter,sans-serif;font-size:12px;font-weight:500;line-height:1.4;
}
#ui-datepicker-div.timtours-datepicker * {box-sizing:border-box;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header {
 position:relative;min-height:40px;margin:0 0 8px;padding:0 36px;display:flex;align-items:center;justify-content:center;
 border:1px solid #e2e8f099;border-radius:12px;background:#f8fafc;color:#1e293b;
}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-title {margin:0;padding:0;line-height:18px;font-size:12px;font-weight:600;letter-spacing:.2px;text-align:center;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev,
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-next {
 position:absolute;display:flex;align-items:center;justify-content:center;top:50%;bottom:auto;transform:translateY(-50%);
 width:28px;height:28px;margin:0;padding:0;border:0;border-radius:8px;background:#f8fafc;color:#475569;
 box-shadow:0 1px 2px rgb(15 23 42 / 5%);cursor:pointer;text-decoration:none;
}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev {left:7px;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-next {right:7px;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev::after,
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-next::after {
 content:'';position:static;display:block;width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;
 transform:rotate(-45deg);margin-left:-2px;
}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev::after {transform:rotate(135deg);margin-left:2px;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev span,
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-next span {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-prev:hover,
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-datepicker-next:hover {background:#fff;}
#ui-datepicker-div.timtours-datepicker table {width:100%;margin:0;table-layout:fixed;border:0;border-collapse:collapse;border-spacing:0;}
#ui-datepicker-div.timtours-datepicker th {height:24px;padding:0;text-align:center;vertical-align:middle;font-size:10px;line-height:14px;font-weight:500;color:#8b9db8;border:0;background:none;}
#ui-datepicker-div.timtours-datepicker td {height:30px;padding:1px;border:0;text-align:center;vertical-align:middle;background:none;}
#ui-datepicker-div.timtours-datepicker td :is(a,span) {
 display:flex;align-items:center;justify-content:center;width:28px;height:28px;max-width:100%;margin:0 auto;padding:0;
 border:0;border-radius:8px;background:transparent;color:#334155;line-height:1;font-size:12px;font-weight:500;text-align:center;text-decoration:none;
}
#ui-datepicker-div.timtours-datepicker td a:hover {background:#fff7ed;color:#ea580c;}
#ui-datepicker-div.timtours-datepicker :is(a,button):focus-visible {outline:2px solid #f97316;outline-offset:1px;}
#ui-datepicker-div.timtours-datepicker td .ui-state-highlight {background:transparent;color:#334155;box-shadow:none;}
#ui-datepicker-div.timtours-datepicker td .ui-state-highlight::after {display:none;}
#ui-datepicker-div.timtours-datepicker td .ui-state-active {background:#ff6b17;color:#fff;font-weight:600;box-shadow:0 1px 2px #f9731633;}
#ui-datepicker-div.timtours-datepicker td.ui-state-disabled {opacity:1;}
#ui-datepicker-div.timtours-datepicker td.ui-state-disabled span {color:#a8b6ca;}
#ui-datepicker-div.timtours-datepicker td.ui-datepicker-other-month span {color:#cbd5e1;font-size:11px;}
#ui-datepicker-div.timtours-datepicker .ui-datepicker-header .ui-state-disabled {opacity:.35;cursor:default;box-shadow:none;}
#ui-datepicker-div.timtours-datepicker .timtours-datepicker-selection {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #f1f5f9;font-size:11px;line-height:16px;color:#8b9db8;}
#ui-datepicker-div.timtours-datepicker .timtours-datepicker-selection strong {color:#f97316;font-size:11px;font-weight:600;text-align:right;}
/* Center the existing contact icons within their own native widget boxes. */
.tt-contact-reference .elementor-icon-box-wrapper {align-items:center;}
.tt-contact-reference :is(.elementor-icon-box-icon,.elementor-icon-list-icon,.elementor-button-icon) {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;}
.tt-contact-reference :is(.elementor-icon,.elementor-button-content-wrapper) {display:inline-flex;align-items:center;justify-content:center;}
.tt-contact-reference .elementor-button-content-wrapper {gap:8px;}
.tt-contact-reference :is(.elementor-icon-box-icon,.elementor-icon-list-icon,.elementor-button-icon) :is(i,svg) {display:block;line-height:1;margin:0;}
.tt-contact-reference .elementor-button-icon {margin:0;}

.tt-contact-reference .elementor-icon-list-icon {padding:0!important;}

/* Contact annotations: cancel Tevily's -5px margin without changing other selects. */
.tt-contact-reference .elementor-form .timtours-form-select .select2-selection .select2-selection__arrow {
    margin: 0 !important;
    transform: translateY(-50%);
    transform-origin: center;
    transition: transform .16s ease;
    pointer-events: none;
}
.tt-contact-reference .elementor-form .timtours-form-select .select2-container--open .select2-selection .select2-selection__arrow {
    transform: translateY(-50%) rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
    .tt-contact-reference .elementor-form .timtours-form-select .select2-selection .select2-selection__arrow { transition: none; }
}
