/* Reference v2 refinements. Opt-in travel pages only; native inputs stay authoritative. */
body.utTravelSurface .utHomePlanForm {
    position: relative;
    grid-template-columns: 1fr 1fr 1.15fr 52px;
    align-items: center;
    gap: 18px;
    padding: 16px 19px;
}
body.utTravelSurface .utHomePlanForm label { position: relative; display: block; min-width: 0; }
body.utTravelSurface .utHomePlanForm label > span {
    position: absolute; z-index: 1; top: 7px; left: 12px; right: 12px;
    font: 750 9px/12px Arial,sans-serif; letter-spacing: .08em;
    white-space: nowrap; pointer-events: none; color: #4e6879;
}
body.utTravelSurface .utHomePlanForm :is(select,input:not([type=hidden])) {
    box-sizing: border-box; width: 100%; height: 57px; min-height: 57px;
    padding: 24px 12px 7px !important; font: 600 14px/20px Arial,sans-serif;
    border: 1px solid #e1ebed; border-radius: 10px; background-color: #fff; color: #11314a;
}
body.utTravelSurface .utHomePlanForm button {
    width: 52px; height: 52px; min-height: 52px; padding: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
body.utTravelSurface .utHomePlanForm :is(select,input,button):focus-visible {
    outline: 3px solid #086fb5; outline-offset: 3px;
}
body.utTravelSurface .utHomePlanEntry > #homePlannerScope {
    margin: 8px 18px 0; color: #4e6879; text-align: center; font: 12px/1.6 Arial,sans-serif;
}
body.utTravelSurface .utHomeEditorial > #intelligence { padding-top: 40px; }
/* Card shells only. Legal wording and language notices are unchanged. */
body.utTravelSurface.utPublicTravel .uk-legal {
    max-width: 820px; padding: 0; border: 0; background: transparent; border-radius: 0;
}
body.utTravelSurface .utRefLegalSection {
    margin: 13px 0; padding: 26px 29px; background: #fff;
    border: 1px solid #e1ebed; border-radius: 16px;
}
body.utTravelSurface .utRefLegalSection h2 { margin: 0 0 12px !important; font-size: 19px !important; line-height: 1.3 !important; }
body.utTravelSurface .utRefLegalSection p { font-size: 14px; line-height: 1.75; }
body.utTravelSurface .utRefLegalSection p:last-child { margin-bottom: 0; }
/* This credited Lviv editorial photo is independent of route geometry and evidence. */
body.utTravelSurface.utJourneyTravel .uk-journey-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; }
body.utTravelSurface.utJourneyTravel .uk-journey-hero > .uk-shell { position: relative; z-index: 1; }
body.utTravelSurface.utJourneyTravel .uk-journey-hero .utTravelPhoto figcaption { bottom: 44px; }
/* Reuse the existing real locale link. Auth/account and Planner remain in the mobile menu. */
@media (max-width:820px) {
    body.utTravelSurface .utChromeV2 .utNavInner { display: flex !important; gap: 8px !important; }
    body.utTravelSurface .utChromeV2 .utNavLinks { display: none !important; }
    body.utTravelSurface .utChromeV2 .utNavTools {
        display: flex !important; order: 2; margin-left: auto !important; gap: 0 !important;
    }
    body.utTravelSurface .utChromeV2 .utNavTools > :not(:first-child) { display: none !important; }
    body.utTravelSurface .utChromeV2 .utNavTools > a.utLanguage:first-child {
        display: inline-flex !important; align-items: center; justify-content: center;
        min-width: 44px !important; min-height: 44px !important; height: 44px !important;
        max-height: none !important; padding: 4px; gap: 4px; font-size: 12px;
    }
    body.utTravelSurface .utChromeV2 .utNavTools > a.utLanguage:first-child svg { width: 16px; height: 16px; }
    body.utTravelSurface .utChromeV2 .utMobileMenu { order: 3; margin-left: 0 !important; }
}
@media (max-width:600px) {
    body.utTravelSurface .utHomePlanForm { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 11px 9px; }
    body.utTravelSurface .utHomePlanForm label > span { top: 4px; left: 8px; right: 8px; font-size: 8px; line-height: 10px; }
    body.utTravelSurface .utHomePlanForm :is(select,input:not([type=hidden])) {
        height: 48px; min-height: 48px; padding: 20px 8px 5px !important; font-size: 12px !important;
    }
    body.utTravelSurface .utHomePlanForm .utHomePlanDate { grid-column: 1/-1; margin-right: 59px; }
    body.utTravelSurface .utHomePlanForm button { position: absolute; right: 11px; bottom: 11px; width: 48px; height: 48px; min-width: 48px; min-height: 48px; }
    body.utTravelSurface .utHomeEditorial > #intelligence { padding-top: 32px; }
    body.utTravelSurface .utRefLegalSection { padding: 18px; }
    body.utTravelSurface .utRefLegalSection h2 { font-size: 17px !important; }
    body.utTravelSurface .utRefLegalSection p { font-size: 13px; }
}
