/* ==========================================================================
   Build 152 · catalog search and filters. Loaded after v146.css.
   Scope: the «Экскурсии» search form (#search2), the quick actions under the page title
   and the catalog toolbar (categories, format, price, sorting). Nothing else is restyled.
   Light theme only. Uses the existing --apple-* and --control-* tokens.
   ========================================================================== */

:root{
  --v152-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%236e6e73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --v152-chev-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 7.5 6 4l3.5 3.5' fill='none' stroke='%236e6e73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --v152-chev-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%230071e3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --v152-sort:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 13V3M2.5 5.5 5 3l2.5 2.5M11 3v10M8.5 10.5 11 13l2.5-2.5' fill='none' stroke='%231d1d1f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --v152-pill-h:40px;
  --v152-pill-line:inset 0 0 0 1px var(--apple-hairline,rgba(0,0,0,.1));
  --v152-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Quick actions under the title: one row of equal chips ---------- */
html body #app .page-head+.comfort-actions{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:14px 0 0!important;padding:2px 0!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body #app .page-head+.comfort-actions::-webkit-scrollbar{display:none}
html body #app .page-head+.comfort-actions>.btn{flex:none!important;display:inline-flex!important;align-items:center;gap:6px;width:auto!important;height:36px!important;min-height:36px!important;padding:0 14px!important;border:0!important;border-radius:999px!important;background:var(--apple-surface,#fff)!important;color:var(--apple-ink,#1d1d1f)!important;box-shadow:var(--v152-pill-line)!important;font-size:14px!important;font-weight:500!important;line-height:1!important;letter-spacing:-.01em;white-space:nowrap!important;transition:background-color .15s ease,transform .1s ease-out}
html body #app .page-head+.comfort-actions>.btn [data-compare-count]:not(:empty){display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--apple-blue,#0071e3);color:#fff;font-size:11px;font-weight:600}
html body #app .page-head+.comfort-actions>.btn:active{transform:scale(.97);transition-duration:60ms}
@media (hover:hover){html body #app .page-head+.comfort-actions>.btn:hover{background:var(--apple-surface-2,#f5f5f7)!important}}

/* ---------- Search: one bar on a computer ---------- */
html body #app #search2.search.search-departures{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr) auto!important;align-items:center!important;gap:0!important;margin:20px 0 0!important;padding:6px!important;border:0!important;border-radius:999px!important;background:var(--apple-surface,#fff)!important;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.07)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body #app #search2 .field{position:relative!important;display:block!important;border:0!important;box-shadow:none!important;grid-column:auto!important;grid-row:auto!important;order:0!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important}
html body #app #search2>.btn{grid-column:auto!important;grid-row:auto!important;order:0!important}
html body #app #search2 .field>span{display:block!important;position:absolute!important;z-index:2;top:11px;left:22px;right:40px;margin:0!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:12px!important;font-weight:500!important;line-height:16px!important;letter-spacing:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
html body #app #search2 .field .sbtn{position:relative!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;gap:0!important;width:100%!important;height:60px!important;min-height:60px!important;margin:0!important;padding:27px 40px 10px 22px!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f)!important;text-align:left!important;cursor:pointer;transition:background-color .15s ease}
html body #app #search2 .field .sbtn>.icon:not(.chev){display:none!important}
html body #app #search2 .field .sbtn>.chev{position:absolute!important;right:16px;top:50%;width:16px!important;height:16px!important;margin:-8px 0 0!important;color:var(--apple-ink-2,#6e6e73)!important;transition:transform .2s var(--v152-ease)}
html body #app #search2 .field .sbtn[aria-expanded=true]>.chev{transform:rotate(180deg)}
html body #app #search2 .field .sbtn b{display:block!important;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px!important;font-weight:600!important;line-height:22px!important;letter-spacing:-.01em}
html body #app #search2 .field .people-open b::after{content:" чел.";font-weight:400;color:var(--apple-ink-2,#6e6e73)}
html body #app #search2 .field .sbtn[aria-expanded=true]{background:var(--apple-surface-2,#f5f5f7)!important}
html body #app #search2 .field .sbtn:focus-visible{outline:2px solid var(--apple-blue,#0071e3)!important;outline-offset:-2px}
@media (hover:hover){html body #app #search2 .field .sbtn:hover{background:var(--apple-surface-2,#f5f5f7)!important}}
/* Hairline dividers between segments; they step aside for the hovered or open segment. */
html body #app #search2 .field+.field::before{content:"";position:absolute;z-index:1;left:0;top:18px;bottom:18px;width:1px;background:var(--apple-hairline,rgba(0,0,0,.1));transition:opacity .15s ease}
html body #app #search2 .field:has(.sbtn[aria-expanded=true])::before,html body #app #search2 .field:has(.sbtn[aria-expanded=true])+.field::before{opacity:0}
@media (hover:hover){html body #app #search2 .field:hover::before,html body #app #search2 .field:hover+.field::before{opacity:0}}
html body #app #search2>.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;height:48px!important;min-height:48px!important;margin:0 0 0 6px!important;padding:0 24px!important;border-radius:999px!important;font-size:16px!important;font-weight:600!important;white-space:nowrap}
html body #app #search2>.btn span{display:inline!important}
html body #app #search2>.btn:active{transform:scale(.97);transition:transform 60ms ease-out}

/* ---------- Search: a grouped card on tablets and phones ---------- */
@media (max-width:1000px){
 html body #app #search2.search.search-departures{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;border-radius:22px!important}
 html body #app #search2 .field+.field::before{display:none}
 html body #app #search2 .field>span{top:9px;left:16px;right:36px}
 html body #app #search2 .field .sbtn{height:58px!important;min-height:58px!important;padding:26px 36px 9px 16px!important;border-radius:14px!important;background:var(--apple-surface-2,#f5f5f7)!important}
 html body #app #search2 .field .sbtn>.chev{right:12px}
 html body #app #search2 .field:nth-child(odd){grid-column:1!important}
 html body #app #search2 .field:nth-child(even){grid-column:2!important}
 html body #app #search2>.btn{grid-column:1/-1!important;width:100%!important;height:50px!important;min-height:50px!important;margin:2px 0 0!important;border-radius:14px!important}
}
@media (max-width:640px){
 html body #app #search2.search.search-departures{margin-top:16px!important}
 html body #app #search2 .field:nth-child(1),html body #app #search2 .field:nth-child(2){grid-column:1/-1!important}
 html body #app #search2 .field:nth-child(3){grid-column:1!important}
 html body #app #search2 .field:nth-child(4){grid-column:2!important}
}

/* ---------- Catalog toolbar ---------- */
html body #app .catalog-compact-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin:0 0 20px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html body #app .catalog-compact-toolbar>*{min-width:0;margin:0!important}

/* Categories: a scroller that fades only on the side where more chips are hidden. */
html body #app .catalog-compact-toolbar .category-rail{--fade-l:56px;--fade-r:56px;position:relative!important;display:block!important;width:100%!important;padding:0!important}
html body #app .catalog-compact-toolbar .category-rail:has([data-category-scroll="-1"]:disabled){--fade-l:0px}
html body #app .catalog-compact-toolbar .category-rail:has([data-category-scroll="1"]:disabled){--fade-r:0px}
html body #app .catalog-compact-toolbar .category-rail .chips{display:flex!important;flex-wrap:nowrap!important;flex:none!important;width:100%!important;max-width:none!important;min-width:0!important;gap:8px!important;margin:0!important;padding:2px 0!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%)}
html body #app .catalog-compact-toolbar .category-rail .chips::-webkit-scrollbar{display:none}
html body #app .catalog-compact-toolbar .category-rail .chip{flex:none!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:999px!important;background:var(--control-bg,#e8e8ed)!important;color:var(--apple-ink,#1d1d1f)!important;box-shadow:none!important;font-size:15px!important;font-weight:500!important;line-height:38px!important;letter-spacing:-.01em;white-space:nowrap;scroll-snap-align:start;transition:background-color .15s ease,color .15s ease,transform .1s ease-out}
html body #app .catalog-compact-toolbar .category-rail .chip[aria-pressed=true]{background:var(--control-accent,#0071e3)!important;color:var(--control-accent-ink,#fff)!important}
html body #app .catalog-compact-toolbar .category-rail .chip:active{transform:scale(.96);transition-duration:60ms}
@media (hover:hover){html body #app .catalog-compact-toolbar .category-rail .chip:not([aria-pressed=true]):hover{background:var(--control-hover,#dcdce1)!important}}
html body #app .catalog-compact-toolbar .category-arrow{position:absolute!important;z-index:2;top:50%;display:grid!important;place-items:center;width:34px!important;height:34px!important;min-height:0!important;margin:-17px 0 0!important;padding:0 0 2px!important;border:0!important;border-radius:50%!important;background:var(--apple-surface,#fff)!important;color:var(--apple-ink,#1d1d1f)!important;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.12)!important;font-size:22px!important;line-height:1!important;cursor:pointer;transition:opacity .2s ease,transform .1s ease-out}
html body #app .catalog-compact-toolbar .category-arrow[data-category-scroll="-1"]{left:0}
html body #app .catalog-compact-toolbar .category-arrow[data-category-scroll="1"]{right:0}
html body #app .catalog-compact-toolbar .category-arrow:disabled{opacity:0!important;pointer-events:none}
html body #app .catalog-compact-toolbar .category-arrow:active{transform:scale(.92)}
/* Touch screens scroll with a finger; the arrows only cover chips there. */
@media (hover:none){html body #app .catalog-compact-toolbar .category-arrow{display:none!important}}

/* Format · price · sorting: one row of pills. */
html body #app .catalog-compact-toolbar .catalog-selects{position:relative!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;grid-template-columns:none!important}
html body #app .catalog-selects>.sort{position:relative!important;display:block!important;flex:none!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important}
html body #app .catalog-selects>.sort>span{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html body #app .catalog-selects>.sort-order{margin-left:auto!important}
html body #app .catalog-selects select.input{-webkit-appearance:none!important;appearance:none!important;field-sizing:content;display:block!important;width:auto!important;max-width:100%;height:var(--v152-pill-h)!important;min-height:var(--v152-pill-h)!important;margin:0!important;padding:0 34px 0 16px!important;border:0!important;border-radius:999px!important;background:var(--apple-surface,#fff) var(--v152-chev) no-repeat right 14px center/12px 12px!important;box-shadow:var(--v152-pill-line)!important;color:var(--apple-ink,#1d1d1f)!important;font-size:15px!important;font-weight:500!important;line-height:var(--v152-pill-h)!important;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}
html body #app .catalog-selects #sort.input{padding-left:38px!important;background:var(--v152-sort) no-repeat left 14px center/16px 16px,var(--v152-chev) no-repeat right 14px center/12px 12px,var(--apple-surface,#fff)!important}
html body #app .catalog-selects select[data-format-filter]:has(option[value=""]:not(:checked)){background-color:var(--apple-blue-soft,rgba(0,113,227,.1))!important;background-image:var(--v152-chev-blue)!important;box-shadow:none!important;color:var(--apple-blue,#0071e3)!important}
html body #app .catalog-selects select.input:focus-visible{outline:2px solid var(--apple-blue,#0071e3)!important;outline-offset:2px}
@media (hover:hover){html body #app .catalog-selects select.input:hover{background-color:var(--apple-surface-2,#f5f5f7)!important}}

/* Price: a pill like the others. Its panel is a popover anchored to the pill. */
html body #app .catalog-selects>.catalog-price{position:relative!important;flex:none!important;overflow:visible!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
html body #app .catalog-price>summary{position:relative;z-index:31;display:flex!important;align-items:center!important;gap:0!important;height:var(--v152-pill-h)!important;min-height:var(--v152-pill-h)!important;margin:0!important;padding:0 34px 0 16px!important;border:0!important;border-radius:999px!important;background:var(--apple-surface,#fff) var(--v152-chev) no-repeat right 14px center/12px 12px!important;box-shadow:var(--v152-pill-line)!important;color:var(--apple-ink,#1d1d1f)!important;font-size:15px!important;font-weight:500!important;line-height:1!important;white-space:nowrap;list-style:none!important;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,transform .1s ease-out}
html body #app .catalog-price>summary::-webkit-details-marker{display:none}
html body #app .catalog-price>summary::marker{content:""}
html body #app .catalog-price>summary::after{content:none!important;display:none!important}
html body #app .catalog-price>summary:active{transform:scale(.97);transition-duration:60ms}
html body #app .catalog-price>summary:focus-visible{outline:2px solid var(--apple-blue,#0071e3)!important;outline-offset:2px}
html body #app .catalog-price[open]>summary{background-color:var(--apple-surface-2,#f5f5f7)!important;background-image:var(--v152-chev-up)!important}
html body #app .catalog-price.is-active>summary{background-color:var(--apple-blue-soft,rgba(0,113,227,.1))!important;background-image:var(--v152-chev-blue)!important;box-shadow:none!important;color:var(--apple-blue,#0071e3)!important}
@media (hover:hover){html body #app .catalog-price:not(.is-active)>summary:hover{background-color:var(--apple-surface-2,#f5f5f7)!important}}
/* An invisible layer behind the open panel: a tap outside lands on the summary and closes it. */
html body #app .catalog-price[open]>summary::before{content:"";position:fixed;inset:0;z-index:-1;cursor:default;background:transparent}

html body #app .catalog-price>fieldset{position:absolute!important;z-index:32;top:calc(100% + 8px);left:0;display:grid!important;gap:16px!important;width:360px!important;max-width:calc(100vw - 32px);margin:0!important;padding:18px 20px 16px!important;border:0!important;border-radius:22px!important;background:var(--apple-surface,#fff)!important;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 18px 50px rgba(0,0,0,.16)!important;transform-origin:24px 0;animation:v152-pop-in .24s var(--v152-ease) both}
html body #app .catalog-price.is-closing>fieldset{animation:v152-pop-out .16s ease-in both}
@keyframes v152-pop-in{from{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}
@keyframes v152-pop-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px) scale(.96)}}
html body #app .catalog-price legend{float:left;display:grid!important;gap:2px;width:100%;margin:0!important;padding:0!important;color:var(--apple-ink,#1d1d1f)!important}
html body #app .catalog-price legend b{font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:22px}
html body #app .catalog-price legend small{color:var(--apple-ink-2,#6e6e73);font-size:13px;font-weight:400;line-height:18px}
html body #app .catalog-price .price-values{clear:both;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;margin:0!important}
html body #app .catalog-price .price-values>span{color:var(--apple-ink-2,#6e6e73)}
html body #app .catalog-price .price-values>label{display:grid!important;gap:1px!important;min-width:0;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:12px!important;background:var(--apple-surface-2,#f5f5f7)!important;box-shadow:none!important;cursor:text;transition:box-shadow .15s ease}
html body #app .catalog-price .price-values>label:focus-within{box-shadow:inset 0 0 0 2px var(--apple-blue,#0071e3)!important}
html body #app .catalog-price .price-values>label>span{color:var(--apple-ink-2,#6e6e73)!important;font-size:12px!important;font-weight:500!important;line-height:16px!important}
html body #app .catalog-price .price-values input{width:100%!important;min-width:0;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:var(--apple-ink,#1d1d1f)!important;font-size:17px!important;font-weight:600!important;line-height:22px!important;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
html body #app .catalog-price .price-values input::-webkit-outer-spin-button,html body #app .catalog-price .price-values input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Two thumbs on one track. The track spans the thumb centres, so the fill lines up with them. */
html body #app .catalog-price .price-range{position:relative!important;height:28px!important;margin:0!important;padding:0!important}
html body #app .catalog-price .price-range-track{position:absolute!important;left:14px!important;right:14px!important;top:50%!important;height:4px!important;margin:-2px 0 0!important;border-radius:2px!important;background:linear-gradient(90deg,var(--apple-fill-strong,rgba(120,120,128,.2)) var(--range-start),var(--apple-blue,#0071e3) var(--range-start),var(--apple-blue,#0071e3) var(--range-end),var(--apple-fill-strong,rgba(120,120,128,.2)) var(--range-end))!important}
html body #app .catalog-price .price-range input[type=range]{position:absolute!important;inset:0!important;width:100%!important;height:28px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;pointer-events:none;outline:0}
html body #app .catalog-price .price-range input[type=range]::-webkit-slider-runnable-track{height:28px;background:transparent;border:0}
html body #app .catalog-price .price-range input[type=range]::-moz-range-track{height:28px;background:transparent;border:0}
html body #app .catalog-price .price-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin:0;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.06),0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);pointer-events:auto;cursor:grab;transition:transform .12s ease-out}
html body #app .catalog-price .price-range input[type=range]::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.06),0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);pointer-events:auto;cursor:grab}
html body #app .catalog-price .price-range input[type=range]:active::-webkit-slider-thumb{transform:scale(1.1);cursor:grabbing}
html body #app .catalog-price .price-range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(0,113,227,.35),0 3px 8px rgba(0,0,0,.15)}
html body #app .catalog-price .price-actions{display:flex;justify-content:space-between;gap:8px;margin:0;padding-top:4px}
html body #app .catalog-price .price-actions .btn{height:36px!important;min-height:36px!important;padding:0 16px!important;border-radius:999px!important;font-size:15px!important;font-weight:500!important}
html body #app .catalog-price .price-actions [data-price-done]{min-width:96px}

/* Results line above the cards. */
html body #app .section>.section-head:has(#resCount){align-items:center!important;margin:0 0 12px!important;min-height:32px}
html body #app .section>.section-head #resCount{margin:0!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:15px!important}

/* ---------- Phones ---------- */
@media (max-width:640px){
 /* Rows of chips run to the screen edges, like a native scroller. */
 html body #app .page-head+.comfort-actions,html body #app .catalog-compact-toolbar .category-rail,html body #app .catalog-compact-toolbar .catalog-selects{margin-inline:calc(-1 * var(--v152-gutter,16px))!important;width:auto!important}
 html body #app .page-head+.comfort-actions,html body #app .catalog-compact-toolbar .category-rail .chips{padding-inline:var(--v152-gutter,16px)!important;scroll-padding-inline:var(--v152-gutter,16px)}
 html body #app .catalog-compact-toolbar .category-rail{--fade-l:28px;--fade-r:28px}
 html body #app .catalog-compact-toolbar .catalog-selects{padding-inline:var(--v152-gutter,16px)!important;overflow-x:auto;scrollbar-width:none}
 html body #app .catalog-compact-toolbar .catalog-selects::-webkit-scrollbar{display:none}
 html body #app .catalog-selects>.sort-order{margin-left:0!important}
 /* 16 px keeps iOS from zooming the page when a select opens. */
 html body #app .catalog-selects select.input,html body #app .catalog-price>summary{font-size:16px!important}
 html body #app .catalog-price .price-values input{font-size:17px!important}
 /* The price panel becomes a bottom sheet above everything, with a dimmed backdrop. */
 html body #app .catalog-price>summary{z-index:auto!important}
 html body #app .catalog-price[open]>summary::before{z-index:1000;background:rgba(0,0,0,.32);animation:v152-fade-in .24s ease both}
 html body #app .catalog-price.is-closing>summary::before{animation:v152-fade-out .2s ease-in both}
 html body #app .catalog-price>fieldset{position:fixed!important;z-index:1001;top:auto!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;padding:22px 20px calc(16px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important;box-shadow:0 -8px 40px rgba(0,0,0,.18)!important;animation:v152-sheet-in .32s var(--v152-ease) both}
 html body #app .catalog-price>fieldset::before{content:"";position:absolute;top:7px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:var(--apple-fill-strong,rgba(120,120,128,.2))}
 html body #app .catalog-price.is-closing>fieldset{animation:v152-sheet-out .22s cubic-bezier(.4,0,1,1) both}
 html body #app .catalog-price .price-actions .btn{flex:1;height:46px!important;min-height:46px!important;border-radius:14px!important;font-size:16px!important}
}
@keyframes v152-fade-in{from{opacity:0}to{opacity:1}}
@keyframes v152-fade-out{from{opacity:1}to{opacity:0}}
@keyframes v152-sheet-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes v152-sheet-out{from{transform:none}to{transform:translateY(100%)}}

/* ---------- Reduced motion: no slides or scaling, a short fade at most ---------- */
@media (prefers-reduced-motion:reduce){
 html body #app .catalog-price>fieldset,html body #app .catalog-price.is-closing>fieldset{animation:none!important}
 html body #app .catalog-price[open]>summary::before{animation:none!important}
 html body #app .catalog-compact-toolbar .chip:active,html body #app .catalog-selects .catalog-price>summary:active,html body #app #search2>.btn:active,html body #app .page-head+.comfort-actions>.btn:active{transform:none!important}
}

/* ==========================================================================
   Admin · build 152: always-visible menu, quick jump ⌘K, phone bottom bar, «Сегодня».
   ========================================================================== */
html body #app .adm .adm-sheet-head{display:none}
html body #app .adm .adm-scrim{display:none}
#admTabbar{display:none}

/* ---------- Menu: every section visible, grouped by task ---------- */
html body #app .adm .adm-side{display:flex!important;flex-direction:column!important;gap:14px!important;padding:16px 12px 20px!important;box-sizing:border-box}
html body #app .adm .adm-brand{display:grid;gap:2px;padding:0 6px!important}
html body #app .adm .adm-brand b{font-size:15px!important;font-weight:600}
html body #app .adm .adm-brand .adm-status{font-size:11px!important;line-height:1.4!important;color:var(--apple-ink-2,#6e6e73)}
html body #app .adm .adm-brand #admStatus{color:var(--apple-red,#ff3b30)}
html body #app .adm .adm-search-open{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin:0;padding:0 8px 0 10px;border:0;border-radius:10px;background:var(--apple-surface,#fff);box-shadow:var(--v152-pill-line);color:var(--apple-ink-2,#6e6e73);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:box-shadow .15s ease}
html body #app .adm .adm-search-open>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #app .adm .adm-search-open kbd,.adm-palette kbd{flex:none;padding:2px 6px;border-radius:6px;background:var(--apple-surface-2,#f5f5f7);color:var(--apple-ink-2,#6e6e73);font:inherit;font-size:11px;font-weight:600}
html body #app .adm .adm-search-open:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:2px}
@media (hover:hover){html body #app .adm .adm-search-open:hover{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}}
html body #app .adm .adm-nav{display:flex;flex-direction:column;gap:14px}
html body #app .adm .adm-nav-section{display:flex;flex-direction:column;gap:1px}
html body #app .adm .adm-nav-heading{margin:0;padding:0 10px 4px;color:var(--apple-ink-2,#6e6e73);font-size:11px;font-weight:600;letter-spacing:.06em;line-height:16px;text-transform:uppercase}
html body #app .adm .adm-nav a{display:flex!important;align-items:center;gap:10px;min-height:34px;margin:0!important;padding:0 10px!important;border-radius:10px!important;background:transparent;color:var(--apple-ink,#1d1d1f)!important;font-size:14px!important;font-weight:500;line-height:1.25!important;text-decoration:none!important;transition:background-color .15s ease,color .15s ease}
html body #app .adm .adm-nav a .adm-nav-icon{flex:none;color:var(--apple-ink-2,#6e6e73)}
html body #app .adm .adm-nav a .adm-nav-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #app .adm .adm-nav a[aria-current=page]{background:var(--apple-blue-soft,rgba(0,113,227,.1))!important;color:var(--apple-blue,#0071e3)!important;font-weight:600}
html body #app .adm .adm-nav a[aria-current=page] .adm-nav-icon{color:var(--apple-blue,#0071e3)}
html body #app .adm .adm-nav a:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:-2px}
@media (hover:hover){html body #app .adm .adm-nav a:not([aria-current=page]):hover{background:rgba(0,0,0,.04)}}
html body #app .adm .adm-nav-badge{flex:none;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;background:var(--control-bg,#e8e8ed);color:var(--apple-ink,#1d1d1f);font-size:12px;font-weight:600;line-height:20px;text-align:center}
html body #app .adm .adm-nav-badge.is-accent{background:var(--apple-blue,#0071e3);color:#fff}
html body #app .adm .adm-nav-count{flex:none;color:var(--apple-ink-2,#6e6e73);font-size:12px}
html body #app .adm .adm-side-foot{display:grid;gap:6px;margin-top:auto}

@media (min-width:901px){
 html body #app .adm{grid-template-columns:248px minmax(0,1fr)!important}
 html body #app .adm .adm-side{max-height:calc(100vh - 69px);max-height:calc(100dvh - 69px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}

/* ---------- Phone: own bottom bar, «Ещё» opens the menu as a sheet ---------- */
@media (max-width:900px){
 html body:has(#app .adm) #admTabbar{position:fixed;z-index:900;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(var(--adm-tabs,4),minmax(0,1fr));height:calc(58px + env(safe-area-inset-bottom,0px));padding:5px 8px env(safe-area-inset-bottom,0px);box-sizing:border-box;background:rgba(251,251,253,.94);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(0,0,0,.08)}
 #admTabbar>a,#admTabbar>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--apple-ink-2,#6e6e73);font:inherit;font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
 #admTabbar .adm-nav-icon{width:24px;height:24px}
 #admTabbar>a[aria-current=page],#admTabbar>button.is-current,#admTabbar>button[aria-expanded=true]{color:var(--apple-blue,#0071e3);font-weight:600}
 #admTabbar>a:active,#admTabbar>button:active{transform:scale(.94);transition:transform 60ms ease-out}
 #admTabbar .adm-tab-badge{position:absolute;top:1px;left:50%;margin-left:5px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--apple-red,#ff3b30);color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}
 html body #app .adm .adm-main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
 html.adm-more-lock,html.adm-more-lock body{overflow:hidden}

 html body #app .adm .adm-side{position:fixed!important;z-index:1001;left:0;right:0;bottom:0;top:auto!important;height:auto!important;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;gap:14px!important;padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0;background:var(--apple-surface-2,#f5f5f7)!important;box-shadow:0 -8px 40px rgba(0,0,0,.18);transform:translateY(105%);visibility:hidden;transition:transform .34s var(--v152-ease),visibility 0s linear .34s}
 html body #app .adm.is-more-open .adm-side{transform:none;visibility:visible;transition:transform .34s var(--v152-ease),visibility 0s}
 html body #app .adm .adm-side::before{content:"";align-self:center;flex:none;width:36px;height:5px;margin-top:2px;border-radius:3px;background:rgba(120,120,128,.3)}
 html body #app .adm .adm-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 0}
 html body #app .adm .adm-sheet-head b{font-size:22px;font-weight:700;letter-spacing:-.02em}
 html body #app .adm .adm-sheet-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--control-bg,#e8e8ed);color:var(--apple-ink-2,#6e6e73);cursor:pointer}
 html body #app .adm .adm-scrim{position:fixed;z-index:1000;inset:0;display:block;background:rgba(0,0,0,.32);animation:v152-fade-in .24s ease both}
 html body #app .adm .adm-scrim[hidden]{display:none!important}
 html body #app .adm .adm-brand{order:5;padding:0 4px!important}
 html body #app .adm .adm-search-open{height:40px;border-radius:12px;background:rgba(120,120,128,.12);box-shadow:none;font-size:16px}
 html body #app .adm .adm-search-open kbd{display:none}
 html body #app .adm .adm-nav-section{padding:4px;border-radius:14px;background:var(--apple-surface,#fff)}
 html body #app .adm .adm-nav-heading{padding:8px 10px 4px}
 html body #app .adm .adm-nav a{min-height:46px;font-size:16px!important}
 html body #app .adm .adm-side-foot{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
 html body #app .adm .adm-side-foot .btn{min-height:44px!important;font-size:15px!important}
}

/* ---------- Quick jump ---------- */
html.adm-palette-lock,html.adm-palette-lock body{overflow:hidden}
.adm-palette-layer{position:fixed;z-index:1200;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;box-sizing:border-box;font-family:var(--apple-font,-apple-system,BlinkMacSystemFont,sans-serif);color:var(--apple-ink,#1d1d1f)}
.adm-palette-scrim{position:absolute;inset:0;background:rgba(0,0,0,.22);animation:v152-fade-in .18s ease both}
.adm-palette{position:relative;display:flex;flex-direction:column;width:min(600px,100%);max-height:min(560px,76vh);border-radius:20px;background:var(--apple-surface,#fff);box-shadow:0 0 0 1px rgba(0,0,0,.05),0 24px 70px rgba(0,0,0,.25);overflow:hidden;transform-origin:50% 0;animation:v152-pop-in .22s var(--v152-ease) both}
.adm-palette-layer.is-closing .adm-palette{animation:v152-pop-out .16s ease-in both}
.adm-palette-layer.is-closing .adm-palette-scrim{animation:v152-fade-out .16s ease-in both}
.adm-palette-field{display:flex;align-items:center;gap:12px;height:58px;padding:0 18px;border-bottom:1px solid rgba(0,0,0,.08);color:var(--apple-ink-2,#6e6e73)}
.adm-palette-field .adm-nav-icon{width:20px;height:20px}
.adm-palette-field input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;color:var(--apple-ink,#1d1d1f);font:inherit;font-size:18px;-webkit-appearance:none;appearance:none}
.adm-palette-field input::-webkit-search-cancel-button{display:none}
.adm-palette-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 8px}
.adm-palette-group{margin:0;padding:12px 12px 4px;color:var(--apple-ink-2,#6e6e73);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.adm-palette-item{display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 12px;border-radius:12px;cursor:pointer}
.adm-palette-item .adm-nav-icon{flex:none;color:var(--apple-ink-2,#6e6e73)}
.adm-palette-item[aria-selected=true]{background:var(--apple-blue-soft,rgba(0,113,227,.1))}
.adm-palette-item[aria-selected=true] .adm-nav-icon{color:var(--apple-blue,#0071e3)}
.adm-palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500}
.adm-palette-item small{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--apple-ink-2,#6e6e73);font-size:13px}
.adm-palette-empty{margin:0;padding:28px 12px;color:var(--apple-ink-2,#6e6e73);text-align:center}
.adm-palette-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid rgba(0,0,0,.08);color:var(--apple-ink-2,#6e6e73);font-size:12px}
@media (max-width:640px){
 .adm-palette-layer{padding:max(8px,env(safe-area-inset-top,0px)) 8px 8px}
 .adm-palette{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
 .adm-palette-field input{font-size:17px}
 .adm-palette-item{min-height:46px}
}
@media (hover:none){.adm-palette-foot,.adm-palette-field kbd{display:none}}

/* ---------- «Сегодня» ---------- */
html body #app .adm-main .adm-today-head{display:flex!important;flex-wrap:wrap;align-items:flex-end!important;justify-content:space-between;gap:12px!important}
html body #app .adm-main .adm-today-head h1{margin:0;font-size:34px!important;font-weight:700;line-height:1.1;letter-spacing:-.02em}
html body #app .adm-main .adm-today-head .sub{margin:6px 0 0!important;font-size:15px!important}
html body #app .adm-main .adm-head-actions{display:flex;flex-wrap:wrap;gap:8px}
html body #app .adm-main .adm-head-actions .btn{display:inline-flex;align-items:center;gap:6px;min-height:38px!important;padding:0 16px!important;border-radius:999px!important;font-size:14px!important;font-weight:600}
html body #app .adm-main .adm-today-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important}
html body #app .adm-main .adm-today-stats .adm-stat{display:flex!important;flex-direction:column;gap:4px;padding:16px 18px!important;border-radius:18px!important;background:var(--apple-surface,#fff);box-shadow:var(--apple-card-shadow,0 2px 12px rgba(0,0,0,.06));color:var(--apple-ink,#1d1d1f);text-decoration:none;transition:transform .12s ease-out}
html body #app .adm-main .adm-today-stats .adm-stat span{color:var(--apple-ink-2,#6e6e73);font-size:13px}
html body #app .adm-main .adm-today-stats .adm-stat b{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.02em}
html body #app .adm-main .adm-today-stats .adm-stat:first-child b{color:var(--apple-blue,#0071e3)}
html body #app .adm-main .adm-today-stats .adm-stat:active{transform:scale(.98)}
html body #app .adm-main .adm-today-actions{display:flex;flex-wrap:nowrap;gap:8px;padding:2px 0;overflow-x:auto;scrollbar-width:none}
html body #app .adm-main .adm-today-actions::-webkit-scrollbar{display:none}
html body #app .adm-main .adm-today-actions .btn{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px!important;padding:0 14px!important;border:0;border-radius:999px!important;background:var(--apple-surface,#fff)!important;box-shadow:var(--v152-pill-line)!important;color:var(--apple-ink,#1d1d1f)!important;font-size:14px!important;font-weight:500;white-space:nowrap}
html body #app .adm-main .adm-today-list{display:flex;flex-direction:column;margin:-6px -8px}
html body #app .adm-main .adm-today-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px;border-radius:12px;color:var(--apple-ink,#1d1d1f);text-decoration:none;transition:background-color .15s ease}
html body #app .adm-main .adm-today-row+.adm-today-row{box-shadow:0 -1px 0 rgba(0,0,0,.06)}
@media (hover:hover){html body #app .adm-main .adm-today-row:hover{background:var(--apple-surface-2,#f5f5f7)}}
html body #app .adm-main .adm-today-row:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:-2px}
html body #app .adm-main .adm-today-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--apple-blue,#0071e3)}
html body #app .adm-main .adm-today-dot.is-awaiting_payment{background:var(--apple-orange,#ff9500)}
html body #app .adm-main .adm-today-dot.is-question{background:#8e8e93}
html body #app .adm-main .adm-today-dot.is-story{background:#af52de}
html body #app .adm-main .adm-today-text{flex:1;min-width:0;display:grid;gap:2px}
html body #app .adm-main .adm-today-text b{font-size:15px;font-weight:600;line-height:1.3}
html body #app .adm-main .adm-today-text small{overflow:hidden;color:var(--apple-ink-2,#6e6e73);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
html body #app .adm-main .adm-today-go{flex:none;height:32px;padding:0 14px;border-radius:999px;background:var(--control-bg,#e8e8ed);color:var(--apple-ink,#1d1d1f);font-size:13px;font-weight:500;line-height:32px}
html body #app .adm-main .adm-today-trip img,html body #app .adm-main .adm-today-icon{flex:none;width:52px;height:38px;border-radius:8px;object-fit:cover}
html body #app .adm-main .adm-today-icon{display:grid;place-items:center;background:var(--apple-surface-2,#f5f5f7);color:var(--apple-ink-2,#6e6e73)}
html body #app .adm-main .adm-today-more{display:block;padding:10px 8px;color:var(--apple-link,#0066cc);font-size:14px;text-decoration:none}
html body #app .adm-main .adm-today-note{margin:10px 0 0!important}
html body #app .adm-main .adm-today-empty{margin:0!important;font-size:14px!important}
@media (max-width:900px){
 html body #app .adm-main .adm-today-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
 html body #app .adm-main .adm-today-head h1{font-size:30px!important}
 html body #app .adm-main .adm-today-actions{margin-inline:-14px;padding-inline:14px}
 html body #app .adm-main .adm-today-go{display:none}
 html body #app .adm-main .adm-today-row{min-height:60px}
}

@media (prefers-reduced-motion:reduce){
 html body #app .adm .adm-side,html body #app .adm.is-more-open .adm-side{transition:none!important}
 html body #app .adm .adm-scrim,.adm-palette,.adm-palette-scrim,.adm-palette-layer.is-closing .adm-palette,.adm-palette-layer.is-closing .adm-palette-scrim{animation:none!important}
 #admTabbar>a:active,#admTabbar>button:active,html body #app .adm-main .adm-today-stats .adm-stat:active{transform:none!important}
}

/* ---------- Admin: guards against the shared control styles ---------- */
html body #app .adm .sr-only,#admTabbar .sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html body #app .adm .adm-nav{overflow:visible!important;max-height:none!important}
html body #app .adm .adm-nav a{border:0!important;box-shadow:none!important;outline-offset:-2px}
html body #admTabbar>a,html body #admTabbar>button{min-height:0!important;height:auto!important;width:auto!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body .adm-palette-field input,html body .adm-palette-field input:focus,html body .adm-palette-field input:focus-visible{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;min-height:0!important;padding:0!important}
@media (max-width:640px){
 .adm-palette-item{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:1px;padding:8px 12px}
 .adm-palette-item .adm-nav-icon{grid-row:span 2}
 .adm-palette-item small{max-width:none}
}
html body #admTabbar>a,html body #admTabbar>button{color:var(--apple-ink-2,#6e6e73)!important;font-size:11px!important;font-weight:500!important;letter-spacing:0!important}
html body #admTabbar>a[aria-current=page],html body #admTabbar>button.is-current,html body #admTabbar>button[aria-expanded=true]{color:var(--apple-blue,#0071e3)!important;font-weight:600!important}

/* ==========================================================================
   Customer tickets, build 152 — «Мои заказы» and «Мои бронирования».
   White ticket, mint stub for excursions, blue for transfers; the stub is always on the right.
   The look follows data-ticket-visual, which the app sets from the real order.status.
   ========================================================================== */
html body #app .apsua-ticket{--at-accent:#2fb37d;--at-soft:#e9f8f0;--at-stub:linear-gradient(160deg,#a6ecc4 0%,#79dcc0 100%);--at-stub-ink:#0f3b2f;--at-badge:#20a46c;--ticket-bg:var(--apple-bg,#f5f5f7);--at-line:#e6eaf0;position:relative;display:block!important;margin:0 0 28px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f);line-height:1.4}
html body #app .apsua-ticket[data-ticket-kind="transfers"]{--at-accent:#1a86f0;--at-soft:#eaf4ff;--at-stub:linear-gradient(160deg,#bfe0fd 0%,#8cc6f8 100%);--at-stub-ink:#0a3463;--at-badge:#0a84ff}
html body #app .account-section .apsua-ticket,html body #app .panel .apsua-ticket{--ticket-bg:var(--apple-surface,#fff)}
html body #app .apsua-ticket-paper{display:grid;grid-template-columns:minmax(0,1fr) clamp(124px,24%,220px);align-items:stretch;min-width:0;padding-right:10px;filter:drop-shadow(0 12px 28px rgba(20,38,60,.07)) drop-shadow(0 2px 6px rgba(20,38,60,.04))}

/* Main part */
html body #app .apsua-ticket-main{position:relative;isolation:isolate;overflow:hidden;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;gap:0;padding:22px 28px 20px 30px;border:1px solid var(--at-line);border-right:0;border-radius:22px 0 0 22px;background:#fff}
html body #app .apsua-ticket-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.9)}
html body #app .apsua-ticket-photo-wash{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.86),rgba(255,255,255,.78) 58%,rgba(255,255,255,.72))}
html body #app .apsua-ticket-main>*:not(.apsua-ticket-photo):not(.apsua-ticket-photo-wash){position:relative;z-index:1}
html body #app .apsua-ticket-main::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;border-radius:22px 0 0 22px;background:var(--at-accent)}
html body #app .apsua-ticket-main::after{content:"";position:absolute;right:0;top:16px;bottom:16px;border-right:2px dashed #d7dee8}
html body #app .apsua-ticket-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;margin:0;padding:0;border:0}
html body #app .apsua-ticket-kind{position:relative;display:inline-flex;align-items:center;gap:10px;min-width:0;color:#68758a;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
html body #app .apsua-ticket-badge{position:relative;display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--at-soft);color:var(--at-badge);overflow:visible}
html body #app .apsua-ticket-badge img{width:100%;height:100%;border-radius:10px;object-fit:cover}
html body #app .apsua-ticket-badge svg{width:18px;height:18px}
html body #app .apsua-ticket-badge .order-unread-dot{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--apple-orange,#ff9500)}
html body #app .apsua-ticket-kind>.order-unread-dot{width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--apple-orange,#ff9500);box-shadow:0 1px 3px rgba(0,0,0,.15)}
html body #app .apsua-ticket-state{flex:none;max-width:100%;padding:5px 11px;border-radius:999px;background:var(--at-soft);color:#24684a;font-size:12px;font-weight:600;line-height:1.35;white-space:normal;text-align:center}
html body #app .apsua-ticket[data-ticket-kind="transfers"] .apsua-ticket-state{color:#0b5aa8}
html body #app .apsua-ticket:is([data-ticket-status="awaiting_payment"],[data-ticket-status="needs_info"]) .apsua-ticket-state{background:#fff4e2;color:#8a4d00}
html body #app .apsua-ticket:is([data-ticket-status="cancelled"],[data-ticket-status="rejected"]) .apsua-ticket-state{background:#ffeeee;color:#b3261e}
html body #app .apsua-ticket[data-ticket-status="completed"] .apsua-ticket-state{background:#f1f2f4;color:#4b5563}
html body #app .apsua-ticket-title{margin:14px 0 4px!important;font-size:clamp(21px,2.3vw,28px)!important;font-weight:700!important;line-height:1.18!important;letter-spacing:-.03em;overflow-wrap:anywhere}
html body #app .apsua-ticket-code{display:block;color:#6b7686;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html body #app .apsua-ticket-facts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px!important;margin:18px 0 0!important;padding:16px 0 0!important;border:0!important;border-top:1px solid var(--at-line)!important}
html body #app .apsua-ticket-facts>div{min-width:0}
html body #app .apsua-ticket-facts .apsua-ticket-wide{grid-column:1/-1}
html body #app .apsua-ticket-facts dt{margin:0 0 5px;color:#6b7686;font-size:11px!important;font-weight:500;line-height:1.3}
html body #app .apsua-ticket-facts dd{margin:0!important;color:var(--apple-ink,#1d1d1f);font-size:14px!important;font-weight:600;line-height:1.4!important;overflow-wrap:anywhere}
html body #app .apsua-ticket-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-top:auto;padding-top:16px;text-align:right}
html body #app .apsua-ticket-total b{color:var(--apple-ink,#1d1d1f)!important;font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.1;overflow-wrap:anywhere}
html body #app .apsua-ticket-total span{color:#6b7686;font-size:12px}

/* Stub: two die-cut notches, soft rings, dark ink for legibility */
html body #app .apsua-ticket-stub{position:relative;min-width:0;box-sizing:border-box;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:20px 18px 18px;border-radius:0 22px 22px 0;background:radial-gradient(circle at 115% 42%,transparent 0 62px,rgba(255,255,255,.22) 63px 64px,transparent 65px 96px,rgba(255,255,255,.16) 97px 98px,transparent 99px),var(--at-stub);color:var(--at-stub-ink);transition:transform .45s var(--v152-ease)}
html body #app .apsua-ticket-stub::before,html body #app .apsua-ticket-stub::after{content:"";position:absolute;left:-11px;width:22px;height:22px;border-radius:50%;background:var(--ticket-bg)}
html body #app .apsua-ticket-stub::before{top:-11px}
html body #app .apsua-ticket-stub::after{bottom:-11px}
html body #app .apsua-ticket-stub-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
html body #app .apsua-ticket-stub-top span{flex:none;font-size:13px;font-weight:700;letter-spacing:-.01em}
html body #app .apsua-ticket-stub-top small{min-width:0;font-size:11px;font-weight:600;line-height:1.35;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html body #app .apsua-ticket-stub-date{display:flex;flex-direction:column;gap:6px}
html body #app .apsua-ticket-stub-date b{font-size:48px;font-weight:700;line-height:.9;letter-spacing:-.05em}
html body #app .apsua-ticket-stub-date span{font-size:12px;font-weight:700;letter-spacing:.18em}
html body #app .apsua-ticket-stub-foot{padding-top:9px;border-top:1px solid rgba(0,0,0,.14);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
/* The stamp has its own slot between the date and the footer, so it never covers the number or the date. */
html body #app .apsua-ticket-stamp{position:relative;z-index:3;align-self:center;max-width:100%;box-sizing:border-box;margin:2px 0;padding:6px 9px;border:2.5px solid #d4202c;border-radius:6px;background:rgba(255,255,255,.85);color:#c4161f;outline:1px solid rgba(212,32,44,.45);outline-offset:3px;font-size:15px;font-weight:800;letter-spacing:.08em;line-height:1;white-space:nowrap;transform:rotate(-9deg)}

/* Completed: the stub is torn off along the perforation and sits a little apart */
html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub{transform:translate(8px,5px) rotate(2.6deg);transform-origin:10% 50%;border-radius:2px 22px 22px 2px;clip-path:polygon(7% 0,100% 0,100% 100%,7% 100%,9.5% 96%,5% 91%,9% 86%,4.5% 81%,8.5% 76%,5% 71%,9.5% 66%,4% 61%,8% 56%,5% 51%,9.5% 46%,4.5% 41%,8.5% 36%,5% 31%,9% 26%,4% 21%,8.5% 16%,5% 11%,9% 6%,5.5% 2%)}
html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub::before,html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub::after{display:none}
/* The torn edge eats into the left side, so its content moves right to stay whole. */
html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub{padding-left:calc(18px + 9%)}
html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-main::after{border-right-style:dotted;border-right-color:#cfd7e2}

/* Under the ticket */
html body #app .apsua-ticket>.order-card-note{margin:14px 0 0!important;color:#5f6b7a;font-size:13px!important;line-height:1.45}
html body #app .apsua-ticket>.trip-manager-note,html body #app .apsua-ticket>.fleet-assigned-summary{margin:8px 0 0!important;font-size:13px}
html body #app .apsua-ticket>.order-answer-form{margin-top:12px}
html body #app .apsua-ticket>.order-card-actions{display:flex!important;flex-wrap:wrap;gap:8px!important;margin:12px 0 0!important}
html body #app .apsua-ticket>.order-card-actions .btn{min-height:40px;white-space:normal}

@media (max-width:840px){
 html body #app .apsua-ticket-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
 html body #app .apsua-ticket-paper{grid-template-columns:minmax(0,1fr) clamp(100px,31%,132px);padding-right:6px}
 html body #app .apsua-ticket-main{padding:16px 12px 16px 17px;border-radius:18px 0 0 18px}
 html body #app .apsua-ticket-main::before{border-radius:18px 0 0 18px}
 html body #app .apsua-ticket-heading{align-items:flex-start}
 html body #app .apsua-ticket-kind{gap:8px;font-size:10px;letter-spacing:.08em}
 html body #app .apsua-ticket-badge{width:28px;height:28px;border-radius:9px}
 html body #app .apsua-ticket-state{padding:4px 9px;font-size:11px}
 html body #app .apsua-ticket-title{margin-top:12px!important;font-size:19px!important}
 html body #app .apsua-ticket-code{font-size:11px}
 html body #app .apsua-ticket-facts{gap:12px 10px!important;margin-top:14px!important;padding-top:13px!important}
 html body #app .apsua-ticket-facts dd{font-size:13px!important}
 html body #app .apsua-ticket-total b{font-size:20px}
 html body #app .apsua-ticket-stub{padding:14px 10px 14px 12px;border-radius:0 18px 18px 0}
 html body #app .apsua-ticket-stub-top{flex-direction:column;gap:8px}
 html body #app .apsua-ticket-stub-top small{font-size:10px;text-align:left}
 html body #app .apsua-ticket-stub-date b{font-size:34px}
 html body #app .apsua-ticket-stub-date span{font-size:11px;letter-spacing:.14em}
 html body #app .apsua-ticket-stub-foot{font-size:9px;letter-spacing:.08em}
 html body #app .apsua-ticket-stamp{padding:4px 5px;border-width:2px;outline-offset:2px;font-size:10.5px;letter-spacing:.02em}
 html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub{padding-left:calc(12px + 9%)}
 html body #app .apsua-ticket[data-ticket-visual="completed"] .apsua-ticket-stub{transform:translate(5px,4px) rotate(2deg)}
}
@media (max-width:360px){
 html body #app .apsua-ticket-paper{grid-template-columns:minmax(0,1fr) 96px}
 html body #app .apsua-ticket-main{padding-left:14px;padding-right:9px}
 html body #app .apsua-ticket-facts{grid-template-columns:minmax(0,1fr)}
 html body #app .apsua-ticket-stub{padding:13px 8px 13px 11px}
 html body #app .apsua-ticket-stamp{font-size:9.5px;letter-spacing:0;padding:3px 4px}
}
@media (prefers-reduced-motion:reduce){html body #app .apsua-ticket-stub{transition:none}}
@media print{
 html body #app .apsua-ticket{break-inside:avoid}
 html body #app .apsua-ticket-paper{filter:none}
 html body #app .apsua-ticket-main{border-right:1px dashed #9aa4b2}
 html body #app .apsua-ticket-stub,html body #app .apsua-ticket-photo{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 html body #app .apsua-ticket>.order-card-actions{display:none!important}
}

/* 19.1 — compact mobile booking and transfer flow. */
html body .time[aria-pressed="true"] small{color:rgba(255,255,255,.88)!important;opacity:1!important}
html body:has(#app .tour-page) #contacts,
html body:has(#app .tr-layout) #contacts,
html body:has(#app #search2) #contacts{display:none!important}
html body .tr-layout{grid-template-columns:minmax(0,760px)!important;justify-content:center!important}
html body #trRates{display:none!important}
html body #trForm .vehicle-icon{display:grid;place-items:center;width:34px;height:25px;color:var(--apple-ink,#1d1d1f)}
html body #trForm .vehicle-icon svg{display:block;width:32px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html body #trForm .class>span{align-content:center;justify-items:start}

@media(max-width:900px){
 html body:not(.is-admin):not(:has(#app .tour-page)):not(:has(#app .tr-layout)):not(:has(#app #search2)) #contacts{margin-top:36px!important;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}
 html body:not(.is-admin) #contacts .footer-compact{padding-bottom:0!important}
}

@media(max-width:700px){
 html body .tour-page .booking{padding:14px!important;gap:12px!important;border-radius:20px!important}
 html body .tour-page .booking-price{gap:6px!important}
 html body .tour-page .booking .booking-calendar{margin-top:2px!important}
 html body .tour-page .booking .calendar-head{margin-bottom:6px!important}
 html body .tour-page .booking .days{gap:4px!important}
 html body .tour-page .booking .times{gap:7px!important}
 html body .tour-page .booking .time{min-height:44px!important;padding:7px 10px!important}
 html body .tour-page .booking .people{gap:7px!important}
 html body .tour-page .booking .person{padding-block:5px!important}
 html body .tour-page .booking .total{padding-top:10px!important;margin-top:2px!important}
 html body .tour-page .booking .assure{gap:5px!important;font-size:11px!important;line-height:1.35!important}

 html body .acc-grid:has(.account-section){gap:7px!important;margin-bottom:20px!important}
 html body .acc-grid .account-section{border-radius:17px!important}
 html body .acc-grid .account-section>summary{min-height:54px!important;padding:10px 14px!important;font-size:14px!important}
 html body .acc-grid .account-section>summary small{width:24px!important;min-width:24px!important;height:24px!important}

 html body .category-rail .chips,
 html body .catalog-selects{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;gap:7px!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x;scrollbar-width:none}
 html body .category-rail .chips::-webkit-scrollbar,
 html body .catalog-selects::-webkit-scrollbar{display:none}
 html body .category-rail .chip,
 html body .catalog-selects>*{flex:0 0 auto!important;scroll-snap-align:start}
 html body .catalog-selects .sort-format{width:150px!important}
 html body .catalog-selects .catalog-price{width:120px!important;margin-top:0!important;align-self:end}
 html body .catalog-selects .sort-order{width:176px!important}

 html body #trPanel{padding:13px!important;border-radius:20px!important}
 html body #trForm{gap:10px!important}
 html body #trForm>.grid2:has(#tr-time){align-items:stretch!important}
 html body #trForm>.grid2:has(#tr-time)>.field{display:grid!important;grid-template-rows:minmax(34px,auto) 42px auto!important;align-content:start!important}
 html body #trForm>.grid2:has(#tr-time) .field>span{min-height:34px!important;align-items:end!important;line-height:1.25!important}
 html body #trForm .tr-address-block{padding:0!important;border:0!important;background:transparent!important;gap:9px!important}
 html body #trForm .classes{gap:7px!important}
 html body #trForm .class{min-height:76px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--apple-surface,#fff)!important;overflow:hidden}
 html body #trForm .class>span{min-height:76px!important;padding:7px 6px!important;border:0!important;display:grid!important;grid-template-rows:25px auto auto!important;justify-items:center!important;text-align:center!important;gap:1px!important}
 html body #trForm .class:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--apple-ink,#1d1d1f)!important}
 html body #trForm .class b{font-size:11px!important;line-height:1.15!important}
 html body #trForm .class small{font-size:9.5px!important;line-height:1.2!important;color:var(--apple-ink-2,#6e6e73)!important}
 html body #trForm .tr-passengers{padding-block:1px!important}
 html body #trForm .tr-passengers .person{padding:4px 0!important}
 html body #trForm .check{min-height:38px!important}
 html body #trForm>.total{padding:8px 0!important}
}
/* ==========================================================================
   Build 152 · compact forms: excursion booking, transfer, draft offer, account, catalog rails.
   ========================================================================== */

/* ---------- Catalog: the filter rows scroll instead of growing to their content ---------- */
/* A wrapping column flexbox sizes each line by its content; without wrapping the rows get the
   container width and become real horizontal scrollers (also on iOS). */
html body #app .catalog-compact-toolbar{flex-wrap:nowrap!important}
html body #app .catalog-compact-toolbar .category-rail .chips,html body #app .catalog-compact-toolbar .catalog-selects{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
html body #app .section>.section-head:has(#resCount){display:flex!important;flex-wrap:nowrap!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important}
html body #app .section>.section-head:has(#resCount) #resCount{min-width:0}
html body #app #resetPlace{flex:none;min-height:32px!important;height:auto!important;margin:0!important;padding:0 2px!important;border:0!important;border-radius:6px!important;background:none!important;box-shadow:none!important;color:var(--apple-link,#0066cc)!important;font-size:15px!important;font-weight:500!important;white-space:nowrap}
@media (max-width:640px){html body #app .catalog-compact-toolbar .catalog-selects::after{content:"";flex:none;width:8px}}

/* ---------- Shared: grouped rows (label left, value right) ---------- */
html body #app .v152-group{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:14px!important;background:var(--apple-surface-2,#f5f5f7)!important;box-shadow:none!important;grid-template-columns:none!important}
html body #app .v152-rows>:is(.field,label.field,.person,label.check){display:grid!important;grid-template-columns:minmax(84px,34%) minmax(0,1fr);align-items:center;column-gap:12px;row-gap:0;min-height:50px;margin:0!important;padding:3px 0!important;border:0!important;border-top:1px solid rgba(0,0,0,.08)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
html body #app .v152-rows>:first-child{border-top:0!important}
html body #app .v152-rows>:is(.field,label.field)>span:first-child,html body #app .v152-rows>.person>div:first-child{margin:0!important;padding:0!important;color:var(--apple-ink,#1d1d1f)!important;font-size:15px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important}
html body #app .v152-rows>.person>div:first-child small{display:block;margin:1px 0 0!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important;font-weight:400!important}
html body #app .v152-rows>:is(.field,label.field)>.input{box-sizing:border-box;width:100%!important;min-width:0;height:auto!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f)!important;font-size:16px!important;font-weight:400!important;line-height:1.3!important;text-align:right;text-align-last:right;outline-offset:2px;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body #app .v152-rows>:is(.field,label.field)>.input::placeholder{color:#a1a1a6;opacity:1}
html body #app .v152-rows>:is(.field,label.field)>.input:focus{outline:none;box-shadow:none!important}
html body #app .v152-rows>:is(.field,label.field):focus-within{box-shadow:inset 3px 0 0 var(--apple-blue,#0071e3)!important;margin-left:-14px!important;padding-left:14px!important}
html body #app .v152-rows select.input{-webkit-appearance:none!important;appearance:none!important;padding-right:20px!important;background:var(--v152-chev) no-repeat right center/12px 12px!important;cursor:pointer}
html body #app .v152-rows input[type=time].input{display:flex;justify-content:flex-end}
html body #app .v152-rows input[type=time].input::-webkit-date-and-time-value{text-align:right}
html body #app .v152-rows .sbtn{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;cursor:pointer}
html body #app .v152-rows .sbtn>.icon:not(.chev){display:none!important}
html body #app .v152-rows .sbtn>.chev{flex:none;width:14px;height:14px;color:#a1a1a6;transform:rotate(-90deg)}
html body #app .v152-rows .sbtn b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400!important}
html body #app .v152-rows .err{grid-column:1/-1;margin:0 0 8px!important;padding:0!important;font-size:13px!important;line-height:1.35}
html body #app .v152-rows .err:empty{display:none}
html body #app .v152-rows .hint{grid-column:1/-1}
html body #app .v152-rows :is(.input.invalid,[aria-invalid=true]){color:var(--apple-red,#ff3b30)!important}
html body #app .v152-rows>:is(.field,label.field):has([aria-invalid=true]){box-shadow:inset 3px 0 0 var(--apple-red,#ff3b30)!important;margin-left:-14px!important;padding-left:14px!important}
/* Stepper: small, white, on the right */
html body #app .v152-rows .stepper{justify-self:end;display:inline-flex!important;align-items:center;gap:2px!important;width:auto!important;height:auto!important;padding:2px!important;border:0!important;border-radius:999px!important;background:var(--apple-surface,#fff)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)!important}
html body #app .v152-rows .stepper button{display:grid;place-items:center;width:34px!important;height:34px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f)!important;font-size:19px!important;line-height:1!important}
html body #app .v152-rows .stepper button:disabled{color:#c7c7cc!important}
html body #app .v152-rows .stepper button:not(:disabled):active{background:var(--control-bg,#e8e8ed)!important}
html body #app .v152-rows .stepper output{min-width:26px;text-align:center;font-size:16px!important;font-weight:600}
/* Switch row (iOS style) */
html body #app .v152-switch{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;cursor:pointer}
html body #app .v152-switch span{color:var(--apple-ink,#1d1d1f)!important;font-size:15px!important;font-weight:500}
html body #app .v152-switch input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;position:relative;flex:none;width:51px!important;height:31px!important;margin:0!important;border:0!important;border-radius:999px!important;background:#e3e3e8!important;box-shadow:none!important;cursor:pointer;transition:background-color .2s ease}
html body #app .v152-switch input[type=checkbox]::before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);transition:transform .25s var(--v152-ease)}
html body #app .v152-switch input[type=checkbox]::after{content:none!important}
html body #app .v152-switch input[type=checkbox]:checked{background:var(--apple-green,#34c759)!important}
html body #app .v152-switch input[type=checkbox]:checked::before{transform:translateX(20px)}
html body #app .v152-switch input[type=checkbox]:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:2px}
/* Segmented choice */
html body #app .v152-seg{justify-self:end;display:inline-flex;max-width:100%;padding:2px;border-radius:9px;background:rgba(120,120,128,.12)}
html body #app .v152-seg button{min-width:0;height:32px!important;min-height:0!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f)!important;font-size:14px!important;font-weight:500!important;white-space:nowrap}
html body #app .v152-seg button[aria-checked=true]{background:#fff!important;box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)!important;font-weight:600!important}
html body #app .v152-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;border:0!important;opacity:0!important;pointer-events:none!important}

/* ---------- 1. Selected time keeps its note readable ---------- */
html body #app .times .time[aria-pressed=true] small,html body #app .times .time[aria-pressed=true] small *{color:rgba(255,255,255,.85)!important;opacity:1!important}

/* ---------- 2. Excursion booking ---------- */
html body #app #booking:has(.v152-dates){display:flex!important;flex-direction:column!important;gap:14px!important}
html body #app #booking:has(.v152-dates)>*{margin-top:0!important;margin-bottom:0!important}
html body #app #booking .v152-eyebrow{margin:0!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important;line-height:1.35}
html body #app #booking .booking-price{display:flex!important;flex-wrap:wrap;align-items:baseline!important;justify-content:space-between!important;gap:4px 10px!important;margin:-6px 0 0!important;padding:0!important;border:0!important}
html body #app #booking .booking-price .price{font-size:24px!important;font-weight:700!important;letter-spacing:-.02em;line-height:1.2}
html body #app #booking .booking-price .hint{margin:0!important;padding:0!important;background:none!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important}
html body #app #booking .label{display:flex!important;justify-content:space-between;align-items:baseline;margin:0 0 8px!important;font-size:13px!important}
html body #app #booking .label span:first-child{color:var(--apple-ink-2,#6e6e73);font-weight:500;text-transform:none}
html body #app #booking .label span+span{color:var(--apple-ink,#1d1d1f);font-weight:600}
html body #app .v152-dates{display:grid;gap:10px}
html body #app .v152-day-strip{display:flex;gap:6px;margin:0;padding:2px 2px 4px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body #app .v152-day-strip::-webkit-scrollbar{display:none}
html body #app .v152-day{flex:none;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:54px;height:62px!important;min-height:0!important;margin:0!important;padding:0 8px!important;border:0!important;border-radius:14px!important;background:var(--apple-surface-2,#f5f5f7)!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f)!important;scroll-snap-align:start;cursor:pointer;transition:background-color .15s ease,transform .1s ease-out}
html body #app .v152-day small{color:var(--apple-ink-2,#6e6e73);font-size:11px!important;font-weight:500;line-height:1.2;white-space:nowrap}
html body #app .v152-day b{font-size:19px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}
html body #app .v152-day .v152-day-month{min-height:13px;font-size:10px!important;text-transform:lowercase}
html body #app .v152-day[aria-pressed=true]{background:var(--apple-blue,#0071e3)!important;color:#fff!important}
html body #app .v152-day[aria-pressed=true] small{color:rgba(255,255,255,.85)!important}
html body #app .v152-day:active{transform:scale(.96)}
html body #app .v152-day-more{gap:4px;color:var(--apple-blue,#0071e3)!important;background:var(--apple-blue-soft,rgba(0,113,227,.1))!important}
html body #app .v152-day-more .icon{width:18px;height:18px}
html body #app .v152-day-more small{color:inherit!important}
html body #app .v152-dates .booking-calendar .cal-shortcuts{display:none!important}
html body #app #booking .times{display:flex!important;flex-wrap:wrap;gap:8px!important}
html body #app #booking .times .time{min-height:40px!important;height:auto!important;padding:6px 14px!important;border-radius:999px!important;font-size:16px!important}
html body #app #booking .people.v152-group>.label{display:none!important}
html body #app #booking .people.v152-group>.person{grid-template-columns:minmax(0,1fr) auto}
html body #app #booking .v152-cta{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:0!important}
html body #app #booking .v152-cta .total{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;margin:0!important;padding:0!important;border:0!important}
html body #app #booking .v152-cta .total span{color:var(--apple-ink-2,#6e6e73);font-size:12px!important;line-height:1.3}
html body #app #booking .v152-cta .total b{font-size:21px!important;font-weight:700;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
html body #app #booking .v152-cta .btn{width:100%!important;min-height:50px!important;margin:0!important;border-radius:14px!important;font-size:17px!important}
html body #app #booking .assure{display:block!important;margin:-4px 0 0!important;padding:0!important;border:0!important}
html body #app #booking .assure span{display:flex!important;align-items:center;gap:6px;margin:0!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:12px!important;line-height:1.35}
html body #app #booking .assure .icon,html body #app #booking .assure svg{flex:none;width:14px!important;height:14px!important;color:var(--apple-green,#34c759)}
html body #app #booking>p.hint:last-child{margin:-6px 0 0!important;padding:0!important;background:none!important;color:#8e8e93!important;font-size:12px!important;line-height:1.35}
@media (max-width:900px){
 html body #app #booking .v152-cta{position:sticky;z-index:6;bottom:calc(var(--v152-tab-h,63px) + env(safe-area-inset-bottom,0px) + 8px);margin:0 -10px!important;padding:10px!important;border-radius:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 0 0 1px rgba(0,0,0,.05),0 10px 30px rgba(0,0,0,.12)}
}
@media (prefers-reduced-transparency:reduce){html body #app #booking .v152-cta{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}


/* ---------- 4. Account: one grouped list ---------- */
html body #app .acc-head .account-actions{display:flex!important;flex-wrap:wrap;gap:8px!important;width:auto!important;grid-template-columns:none!important}
html body #app .acc-head .account-actions .btn{flex:none!important;width:auto!important;min-height:36px!important;height:36px!important;padding:0 16px!important;border-radius:999px!important;font-size:15px!important;font-weight:500!important}
html body #app .acc-head .avatar{display:grid;place-items:center;color:var(--apple-ink-2,#6e6e73)}
html body #app .v152-account-list{grid-column:1/-1;display:flex;flex-direction:column;margin:0!important;border-radius:16px;background:var(--apple-surface,#fff);box-shadow:var(--apple-card-shadow,0 2px 12px rgba(0,0,0,.06));overflow:clip}
html body #app .v152-account-list>details{margin:0!important;padding:0!important;border:0!important;border-top:1px solid rgba(0,0,0,.08)!important;border-radius:0!important;background:none!important;box-shadow:none!important;grid-column:auto!important}
html body #app .v152-account-list>details:first-child{border-top:0!important}
html body #app .v152-account-list>details>summary{display:flex!important;align-items:center!important;gap:10px!important;min-height:54px!important;margin:0!important;padding:0 16px!important;border:0!important;background:none!important;list-style:none;cursor:pointer;color:var(--apple-ink,#1d1d1f)!important;font-size:17px!important;font-weight:500!important;line-height:1.3!important}
html body #app .v152-account-list>details>summary::-webkit-details-marker{display:none}
html body #app .v152-account-list>details>summary>span{flex:1;min-width:0}
html body #app .v152-account-list>details>summary>small{flex:none;min-width:0;padding:0!important;border-radius:0!important;background:none!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:16px!important;font-weight:400!important}
html body #app .v152-account-list>details#myTripOrders>summary>small:not(:empty){color:var(--apple-blue,#0071e3)!important;font-weight:600!important}
html body #app .v152-account-list>details>summary::after{content:""!important;display:block!important;flex:none;width:8px!important;height:8px!important;margin:0 2px 0 4px!important;border:0!important;border-right:2px solid #c7c7cc!important;border-bottom:2px solid #c7c7cc!important;background:none!important;transform:rotate(-45deg);transition:transform .2s var(--v152-ease)}
html body #app .v152-account-list>details[open]>summary::after{transform:rotate(45deg)}
html body #app .v152-account-list>details>summary>svg,html body #app .v152-account-list>details>summary .chev{display:none!important}
html body #app .v152-account-list .account-section-content{margin:0!important;padding:0 16px 16px!important;border:0!important}
html body #app .v152-account-list .my-order-tools{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px!important}
@media (prefers-reduced-motion:reduce){html body #app .v152-account-list>details>summary::after{transition:none}}

/* ---------- 5–6. Transfer: aligned rows, quiet car icons, thin floating bar ---------- */
html body #app #trForm{display:flex!important;flex-direction:column!important;gap:14px!important}
html body #app #trForm>*{margin-top:0!important;margin-bottom:0!important}
html body #app #trForm .tr-direction{margin:0!important}
html body #app #trForm .tr-direction label span{min-height:38px!important;padding:6px 12px!important;font-size:15px!important}
html body #app #trForm .tr-address-block{border:0!important}
html body #app #trForm .field:has(>.v152-cars){display:grid!important;gap:8px!important;margin:0!important}
html body #app #trForm .field:has(>.v152-cars)>span{color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important;font-weight:500!important}
html body #app .v152-cars{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
html body #app .v152-cars label.class{position:relative;display:block!important;min-width:0;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;background:none!important;box-shadow:none!important;cursor:pointer}
html body #app .v152-cars label.class input{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer}
html body #app .v152-cars label.class>span{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center;gap:2px!important;min-height:92px;box-sizing:border-box;padding:12px 6px 10px!important;border-radius:14px!important;background:var(--apple-surface,#fff)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)!important;color:var(--apple-ink,#1d1d1f)!important;text-align:center;transition:box-shadow .15s ease,background-color .15s ease}
html body #app .v152-cars .v152-car-icon{width:34px;height:34px;margin-bottom:4px;color:#1d1d1f}
html body #app .v152-cars label.class b{display:block;font-size:15px!important;font-weight:600!important;line-height:1.2;white-space:nowrap}
html body #app .v152-cars label.class small{display:block;color:var(--apple-ink-2,#6e6e73)!important;font-size:12px!important;line-height:1.3;white-space:nowrap}
html body #app .v152-cars label.class:has(input:checked)>span{background:var(--apple-surface-2,#f5f5f7)!important;box-shadow:inset 0 0 0 2px #1d1d1f!important}
html body #app .v152-cars label.class:has(input:checked)>span::after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:#1d1d1f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5 8.2 9 4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
html body #app .v152-cars label.class:has(input:focus-visible)>span{outline:2px solid var(--apple-blue,#0071e3);outline-offset:2px}
html body #app .v152-cars label.class:active>span{transform:scale(.98)}
html body #app #trForm .tr-passengers.v152-group>.person{grid-template-columns:minmax(0,1fr) auto}
html body #app #trForm .tr-passengers.v152-group>label.check{grid-template-columns:none}
html body #app #trForm .v152-rows>label.field:has(.v152-seg){grid-template-columns:auto minmax(0,1fr)}
body.has-mbar #trForm :is(input,select,button,textarea),body.has-mbar #booking :is(input,select,button){scroll-margin-top:150px;scroll-margin-bottom:120px}
@media (max-width:640px){
 html body #app .v152-rows>:is(.field,label.field){grid-template-columns:minmax(78px,32%) minmax(0,1fr)}
 html body #app .v152-cars label.class>span{min-height:86px;padding:10px 4px 8px!important}
 html body #app .v152-cars label.class b{font-size:14px!important}
 html body #app .v152-seg button{padding:0 10px!important}
}
@media (max-width:360px){html body #app .v152-cars .v152-car-icon{width:28px;height:28px}html body #app .v152-cars label.class small{font-size:11px!important}}
@media (prefers-reduced-motion:reduce){html body #app .v152-switch input[type=checkbox],html body #app .v152-switch input[type=checkbox]::before{transition:none}}

/* Build 152 · grouped rows: win over the older form layers (two-id selectors) */
html body #app :is(#trForm,#booking) .v152-group{align-items:stretch!important;justify-items:stretch!important}
html body #app :is(#trForm,#booking) .v152-group>*{width:auto!important;max-width:none!important;align-self:stretch!important}
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field){grid-template-columns:auto minmax(0,1fr)!important}
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>span:first-child{white-space:nowrap}
html body #app :is(#trForm,#booking) .v152-rows>.person{grid-template-columns:minmax(0,1fr) auto!important}
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>:is(.input,select,input){width:100%!important;min-width:0!important;height:auto!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;text-align:right!important}
html body #app :is(#trForm,#booking) .v152-rows select.input{padding-right:20px!important;background-image:var(--v152-chev)!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:12px 12px!important}
html body #app :is(#trForm,#booking) .v152-rows .sbtn.input{display:flex!important;justify-content:flex-end!important}
html body #app :is(#trForm,#booking) .v152-rows>:first-child,html body #app :is(#trForm,#booking) .v152-rows>.label:first-child+*{border-top:0!important}
html body #app :is(#trForm,#booking) .v152-rows>label.check.v152-switch{display:flex!important;flex-direction:row-reverse!important;justify-content:space-between!important;align-items:center!important;grid-template-columns:none!important}
html body #app :is(#trForm,#booking) .v152-rows>label.check.v152-switch span{flex:1;text-align:left!important}
html body #app #trForm .v152-rows>label.field:has(.v152-seg)>.v152-seg{justify-self:end}
@media (max-width:900px){html body:has(.orders-banner:not([hidden])) #app #booking .v152-cta{bottom:calc(var(--v152-tab-h,63px) + env(safe-area-inset-bottom,0px) + 74px)}}
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>select.input{padding-right:22px!important}
html body #app :is(#trForm,#booking) .v152-rows select.v152-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important}
html body #app .field:has(>.v152-native){position:relative}
html body #app :is(#trForm,#booking) .v152-native{top:0!important;left:0!important;right:auto!important;bottom:auto!important}
html body #app .v152-cars label.class small,html body #app .v152-cars label.class b{width:auto!important;max-width:100%!important}
html body #app :is(#trForm,#booking) .v152-rows>*{align-items:center!important}
html body #app :is(#trForm,#booking) .v152-rows>*>:is(span,div):first-child{align-self:center!important}
html body #app .acc-head:has(~.acc-grid .v152-account-list),html body #app .acc-grid:has(.v152-account-list)~.acc-head{box-sizing:border-box;width:100%;max-width:900px;margin-inline:auto}
html body #app .v152-account-list .my-order-tools{margin-top:0!important;padding-top:0!important}
html body #app .acc-grid:has(.v152-account-list){margin-top:16px!important}
/* Narrow phones: label above value so nothing gets cut */
@media (max-width:374px){
 html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field){grid-template-columns:minmax(0,1fr)!important;row-gap:0!important;padding:8px 0 4px!important}
 html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>span:first-child{align-self:start!important;color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important}
 html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>:is(.input,select,input){min-height:34px!important;text-align:left!important;text-align-last:left!important}
 html body #app :is(#trForm,#booking) .v152-rows .sbtn.input,html body #app :is(#trForm,#booking) .v152-rows input[type=time].input{justify-content:flex-start!important}
 html body #app :is(#trForm,#booking) .v152-rows .v152-seg{justify-self:stretch;margin:4px 0 6px}
 html body #app :is(#trForm,#booking) .v152-rows .v152-seg button{flex:1}
}
@media (max-width:374px){html body #app :is(#trForm,#booking) .v152-rows>.person.field{grid-template-columns:minmax(0,1fr) auto!important;padding:3px 0!important}html body #app :is(#trForm,#booking) .v152-rows>.person.field>div:first-child{color:var(--apple-ink,#1d1d1f)!important;font-size:15px!important;align-self:center!important}}
/* Rows win over the 19.1 two-row field template and the label outline on car tiles */
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field){grid-template-rows:none!important;align-content:center!important}
html body #app :is(#trForm,#booking) .v152-rows>:is(.field,label.field)>span:first-child{min-height:0!important;align-items:center!important}
html body #app .v152-cars label.class{min-height:0!important;overflow:visible!important;box-shadow:none!important;border:0!important}

/* ==========================================================================
   Build 152 · home destinations grid, story cards, story page
   ========================================================================== */

/* ---------- «Куда поехать»: every category fits, no sideways scrolling ---------- */
html body #app #v4Places.v152-places{display:grid!important;grid-template-columns:repeat(var(--v152-n,4),minmax(0,1fr))!important;gap:clamp(10px,1.4vw,16px)!important;width:auto!important;margin:0!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important;mask-image:none!important;-webkit-mask-image:none!important}
html body #app #v4Places.v152-places::before,html body #app #v4Places.v152-places::after{content:none!important;display:none!important}
html body #app #v4Places.v152-places .v4-place{width:auto!important;min-width:0;margin:0!important;aspect-ratio:4/5;flex:none!important}
html body #app #v4Places.v152-places .v4-place strong{right:clamp(48px,4.8vw,62px)!important;font-size:clamp(17px,1.65vw,24px)!important;line-height:1.15!important;overflow-wrap:anywhere;hyphens:auto}
html body #app .v152-count{position:absolute;z-index:1;right:clamp(10px,1.2vw,16px);bottom:clamp(14px,1.8vw,22px);display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;box-sizing:border-box;border-radius:999px;background:rgba(255,255,255,.22);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.35);color:#fff;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
@media (max-width:1100px) and (min-width:641px){html body #app #v4Places.v152-places{grid-template-columns:repeat(min(var(--v152-n,4),3),minmax(0,1fr))!important}html body #app #v4Places.v152-places .v4-place{aspect-ratio:4/3}}
@media (min-width:1101px){html body #app #v4Places.v152-places:not([style*="--v152-n: 1"]):not([style*="--v152-n: 2"]):not([style*="--v152-n: 3"]) .v4-place{aspect-ratio:3/4}}
@media (max-width:640px){
 html body #app #v4Places.v152-places{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body #app #v4Places.v152-places .v4-place{aspect-ratio:1/1;border-radius:18px!important}
 html body #app #v4Places.v152-places.is-odd .v4-place:last-child{grid-column:1/-1;aspect-ratio:2/1}
 html body #app #v4Places.v152-places .v4-place strong{left:14px!important;bottom:14px!important;right:52px!important;font-size:17px!important}
 html body #app .v152-count{right:12px;bottom:12px;height:28px;min-width:28px;font-size:13px}
}
@media (prefers-reduced-transparency:reduce){html body #app .v152-count{background:rgba(0,0,0,.55);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---------- «Истории из дневника»: two-line titles and quiet numbers ---------- */
html body #app #v4Stories .v4-story strong{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin-top:12px!important;font-size:clamp(16px,1.35vw,18px)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.01em;white-space:normal!important}
html body #app #v4Stories .v4-story small{margin-top:4px!important;overflow:hidden;color:var(--apple-ink-2,#6e6e73)!important;font-size:13px!important;text-overflow:ellipsis;white-space:nowrap}
html body #app .v152-stats{display:flex;align-items:center;gap:14px;margin-top:6px;color:var(--apple-ink-2,#6e6e73);font-size:13px;line-height:1;font-variant-numeric:tabular-nums}
html body #app .v152-stats>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
html body #app .v152-stats svg{flex:none;width:15px;height:15px}
html body #app .v152-stats>span+span svg{color:#ff9f0a}
html body #app .v4-head:has(.v4-arrows){min-width:0}
html body #app .v4-head .v4-arrows{flex:none}

/* ---------- Story page ---------- */
html body #app .v152-story{--v152-col:680px;max-width:none!important;padding-top:clamp(16px,3vw,28px)!important;padding-bottom:clamp(40px,6vw,72px)!important}
html body #app .v152-story>*{box-sizing:border-box;width:100%;max-width:var(--v152-col);margin-left:auto!important;margin-right:auto!important}
html body #app .v152-story>.v152-story-back{width:auto;max-width:none;margin:0 0 8px!important}
html body #app .v152-story-head{margin:clamp(10px,2vw,20px) auto clamp(18px,2.6vw,28px)!important}
html body #app .v152-story-eyebrow{margin:0 0 8px;color:var(--apple-ink-2,#6e6e73);font-size:14px;font-weight:600;letter-spacing:0}
html body #app .v152-story-head h1{margin:0!important;color:var(--apple-ink,#1d1d1f);font-size:clamp(30px,4.6vw,48px)!important;font-weight:700;line-height:1.08!important;letter-spacing:-.03em!important;overflow-wrap:anywhere;text-wrap:balance}
html body #app .v152-story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:14px 0 0;color:var(--apple-ink-2,#6e6e73);font-size:15px;line-height:1.3}
html body #app .v152-story-meta>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
html body #app .v152-story-meta svg{width:16px;height:16px;flex:none}
html body #app .v152-story-meta>span:last-child:not(:first-child):not(:nth-child(2)) svg{color:#ff9f0a}
html body #app .v152-story-meta small{font-size:inherit}
html body #app .v152-story-author{color:var(--apple-ink,#1d1d1f);font-weight:600;white-space:normal!important}
/* Media: the photo keeps its own shape; several photos swipe */
html body #app .v152-story-media{position:relative;max-width:min(880px,100%)!important;margin-bottom:clamp(22px,3vw,32px)!important}
html body #app .v152-story-photo{display:block;width:100%;margin:0;padding:0;border:0;background:none;cursor:zoom-in;border-radius:clamp(16px,2vw,22px)}
html body #app .v152-story-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:min(78vh,760px);margin:0 auto;border-radius:clamp(16px,2vw,22px);object-fit:contain}
html body #app .v152-story-photo:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:3px}
html body #app .v152-story-track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:clamp(16px,2vw,22px);background:var(--apple-surface-2,#f5f5f7)}
html body #app .v152-story-track::-webkit-scrollbar{display:none}
html body #app .v152-story-track .v152-story-photo{flex:0 0 100%;display:grid;place-items:center;height:min(68vh,620px);scroll-snap-align:center;border-radius:0}
html body #app .v152-story-track .v152-story-photo img{max-height:100%;border-radius:0}
html body #app .v152-story-count{position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none}
html body #app .v152-story-arrow{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 4px 14px rgba(0,0,0,.14);color:var(--apple-ink,#1d1d1f);cursor:pointer;transition:opacity .2s ease}
html body #app .v152-story-arrow svg{width:18px;height:18px}
html body #app .v152-story-arrow.prev{left:12px}html body #app .v152-story-arrow.next{right:12px}
html body #app .v152-story-arrow:disabled{opacity:0;pointer-events:none}
@media (hover:none){html body #app .v152-story-arrow{display:none}}
/* Text */
html body #app .v152-prose{margin-bottom:clamp(24px,3vw,36px)!important;color:var(--apple-ink,#1d1d1f);font-size:clamp(17px,1.5vw,19px);line-height:1.6;letter-spacing:-.005em;overflow-wrap:anywhere}
html body #app .v152-prose p{margin:0 0 .85em}
html body #app .v152-prose p:last-child,html body #app .v152-prose blockquote:last-child{margin-bottom:0}
html body #app .v152-prose blockquote{margin:1.1em 0;padding:2px 0 2px 16px;border-left:3px solid var(--control-bg,#e8e8ed);color:var(--apple-ink-2,#6e6e73);font-style:normal}
html body #app .v152-story-video{display:block;max-width:min(880px,100%)!important;max-height:72vh;margin-top:0!important;margin-bottom:clamp(24px,3vw,36px)!important;border-radius:clamp(16px,2vw,22px);background:#000}
/* Cards */
html body #app .v152-story-card{margin-top:0!important;margin-bottom:16px!important;padding:clamp(18px,2.4vw,24px);border-radius:20px;background:var(--apple-surface,#fff);box-shadow:var(--apple-card-shadow,0 2px 12px rgba(0,0,0,.06))}
html body #app .v152-story-card h2{display:flex;align-items:baseline;gap:8px;margin:0 0 14px!important;color:var(--apple-ink,#1d1d1f);font-size:clamp(20px,2vw,24px)!important;font-weight:700;letter-spacing:-.02em;line-height:1.2}
html body #app .v152-story-card h2 span{color:var(--apple-ink-2,#6e6e73);font-weight:500}
html body #app .v152-rate-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px}
html body #app .v152-rate-card h2{margin:0!important}
html body #app .v152-rate{display:flex;gap:2px;grid-row:span 2}
html body #app .v152-rate button{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:none!important;box-shadow:none!important;color:#d2d2d7;cursor:pointer;transition:transform .15s ease,color .15s ease}
html body #app .v152-rate button svg{width:30px;height:30px}
html body #app .v152-rate button.on{color:#ff9f0a}
html body #app .v152-rate:hover button{color:#ff9f0a}
html body #app .v152-rate button:hover~button{color:#d2d2d7}
html body #app .v152-rate button:active{transform:scale(.88)}
html body #app .v152-rate button:focus-visible{outline:2px solid var(--apple-blue,#0071e3);outline-offset:-2px}
html body #app .v152-rate-hint{margin:0;color:var(--apple-ink-2,#6e6e73);font-size:14px}
@media (max-width:560px){html body #app .v152-rate-card{grid-template-columns:1fr}html body #app .v152-rate{grid-row:auto;margin:6px 0 2px -8px}}
/* Discussion */
html body #app .v152-comments{margin:0 0 16px;padding:0;list-style:none}
html body #app .v152-comment{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid rgba(0,0,0,.08)}
html body #app .v152-comment:first-child{padding-top:2px;border-top:0}
html body #app .v152-avatar{display:grid;place-items:center;width:36px;height:36px;overflow:hidden;border-radius:50%;background:var(--apple-blue-soft,rgba(0,113,227,.1));color:var(--apple-blue,#0071e3);font-size:15px;font-weight:600;cursor:pointer}
html body #app .v152-avatar img{width:100%;height:100%;object-fit:cover}
html body #app .v152-comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0 0 3px;line-height:1.3}
html body #app .v152-comment-head b{color:var(--apple-ink,#1d1d1f);font-size:15px;font-weight:600;cursor:pointer}
html body #app .v152-comment-head time{color:var(--apple-ink-2,#6e6e73);font-size:13px}
html body #app .v152-comment-text{margin:0;color:var(--apple-ink,#1d1d1f);font-size:16px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
html body #app .v152-empty{margin:0 0 16px;color:var(--apple-ink-2,#6e6e73);font-size:15px}
html body #app .v152-compose{display:flex;align-items:flex-end;gap:8px;margin:0;padding:6px 6px 6px 16px;border-radius:22px;background:var(--apple-surface-2,#f5f5f7);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s ease,background-color .15s ease}
html body #app .v152-compose:focus-within{background:var(--apple-surface,#fff);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 4px rgba(0,113,227,.15)}
html body #app .v152-compose textarea{flex:1;min-width:0;min-height:32px;max-height:240px;margin:0;padding:6px 0;border:0!important;border-radius:0;outline:0;background:transparent!important;box-shadow:none!important;color:var(--apple-ink,#1d1d1f);font:inherit;font-size:16px;line-height:1.4;resize:none;overflow-y:auto;scroll-margin-bottom:calc(var(--v152-tab-h,63px) + 90px)}
html body #app .v152-compose textarea::placeholder{color:#8e8e93}
html body #app .v152-send{flex:none;height:34px;margin:0;padding:0 14px;border:0;border-radius:999px;background:var(--apple-blue,#0071e3);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s ease}
html body #app .v152-send:disabled{opacity:.35;cursor:default}
html body #app .v152-signin{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--apple-blue,#0071e3);color:#fff!important;font-size:15px;font-weight:600;text-decoration:none!important}
html body .v152-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:640px){
 html body #app .v152-story{padding-left:16px!important;padding-right:16px!important}
 html body #app .v152-story-media{margin-left:-16px!important;margin-right:-16px!important;width:calc(100% + 32px)!important;max-width:none!important}
 html body #app .v152-story-photo,html body #app .v152-story-photo img,html body #app .v152-story-track{border-radius:0!important}
 html body #app .v152-story-photo img{max-height:80vh;width:100%;object-fit:cover}
 html body #app .v152-story-track .v152-story-photo{height:auto;aspect-ratio:4/5}
 html body #app .v152-story-track .v152-story-photo img{width:100%;height:100%;max-height:none;object-fit:cover}
 html body #app .v152-story-card{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){html body #app .v152-rate button,html body #app .v152-compose,html body #app .v152-send{transition:none}html body #app .v152-story-track{scroll-behavior:auto}}
html body #app .v152-rate button{color:#d2d2d7!important}
html body #app .v152-rate button.on,html body #app .v152-rate:hover button{color:#ff9f0a!important}
html body #app .v152-rate button:hover~button{color:#d2d2d7!important}
html body #app .v152-story-track .v152-story-photo img{max-height:min(68vh,620px)!important;width:auto!important;max-width:100%!important}
html body #app .v152-send:disabled{display:none}
html body #app .v152-compose:has(.v152-send:disabled){padding-right:16px}
@media (max-width:640px){
 html body #app .v152-story-arrow{display:none}
 html body #app .v152-story-track .v152-story-photo img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover}
}
html body #app .v152-story-track{background:transparent!important}
html body #app .v152-story-photo{background:transparent!important;box-shadow:none!important;min-height:0!important;height:auto;border:0!important}
html body #app .v152-story-track .v152-story-photo{height:min(68vh,620px)}
@media (max-width:640px){html body #app .v152-story-track .v152-story-photo{height:auto}}

/* ==========================================================================
   Build 152 · transfer card as wide as the excursion search card; page end clears the tab bar
   ========================================================================== */
@media (max-width:900px){
 html body #app .tr-layout #trPanel{padding:0!important;border-radius:22px!important;background:transparent!important;box-shadow:none!important}
 html body #app #trForm{padding:8px!important;gap:8px!important;border-radius:22px!important}
 html body #app #trForm .tr-direction{margin:0!important;border-radius:16px!important}
 html body #app #trForm .tr-direction label span{border-radius:13px!important}
 html body #app #trForm .v152-group{border-radius:16px!important}
 html body #app #trForm .field:has(>.v152-cars){margin:6px 0 0!important}
 html body #app #trForm .field:has(>.v152-cars)>span{padding:0 6px}
 html body #app #trForm>:is(.total,.trip-review,#transferReview,.hint,p,label.check,.btn,button[type=submit]){margin-left:6px!important;margin-right:6px!important}
 html body #app #trForm>:is(.btn,button[type=submit]){width:calc(100% - 12px)!important}
}
/* The last block of every page ends above the tab bar (height measured, so iPhone's home bar is included) */
@media (max-width:900px){
 html body .v152-page-end>:last-child{margin-bottom:0!important}
}
/* Install offer: what the app adds */
.install-offer .v152-install-perks{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:3px}
.install-offer .v152-install-perks li{position:relative;padding-left:20px;color:#3a3a3c;font-size:14px;line-height:1.35}
.install-offer .v152-install-perks li::before{content:"";position:absolute;left:2px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--apple-blue,#0071e3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2 5 8 8.8 4.2' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.v152-push-nudge .sub{font-size:14px;line-height:1.4}

/* 20.1 — Telegram profile photo in the compact header account control. */
#accBtn.has-avatar{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:3px!important;overflow:hidden;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important}
#accBtn.has-avatar>.icon{display:none!important}
#accBtn .header-account-avatar{display:block;width:38px;height:38px;min-width:38px;max-width:none;aspect-ratio:1;border:0;border-radius:50%;clip-path:circle(50%);object-fit:cover;object-position:center;background:transparent;box-shadow:none;flex:0 0 38px}

.staff-search{max-width:460px}.staff-list{display:grid;margin-top:14px}.staff-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(190px,240px);gap:14px;align-items:center;padding:14px 2px;border-top:1px solid var(--line,#e5e5e8)}.staff-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#eeeef2;display:grid;place-items:center;font-weight:800}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-person,.staff-role{display:grid;gap:2px;min-width:0}.staff-person span,.staff-person small,.staff-role small{color:var(--muted,#777);overflow:hidden;text-overflow:ellipsis}.staff-role small{min-height:1.2em}.staff-observer .order-manager-editor,.staff-observer .order-clarification-editor{opacity:.65}
@media(max-width:600px){.staff-row{grid-template-columns:44px minmax(0,1fr);gap:10px}.staff-role{grid-column:1/-1}.staff-role .input{width:100%}}

/* ==========================================================================
   Build 152 · Telegram sign-in through the bot: phone button, desktop QR
   ========================================================================== */
html body .telegram-signin-dialog:has(.v152-tg.is-desktop){width:min(560px,calc(100vw - 32px))}
html body .v152-tg .tg-app-open{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;text-decoration:none!important}
html body .v152-tg .tg-app-open svg{width:20px;height:20px;flex:none}
html body .v152-tg .tg-app-open[aria-disabled]{opacity:.45;pointer-events:none}
html body .v152-tg-steps{margin:10px 2px 0;color:var(--apple-ink-2,#6e6e73);font-size:14px;line-height:1.45;text-align:center}
html body .v152-tg-alt{display:block;margin:14px auto 0;padding:6px 8px;border:0;background:none;color:var(--apple-link,#0066cc);font:inherit;font-size:14px;cursor:pointer;text-align:center}
html body .v152-tg-alt:hover{text-decoration:underline}
html body .v152-tg-alt.is-main{display:inline-flex;width:100%;min-height:48px;margin:0;justify-content:center;align-items:center;gap:8px;border-radius:16px;color:#fff;text-decoration:none!important}
html body .v152-tg-alt.is-main svg{width:20px;height:20px}
html body .v152-tg.no-bot :is(.tg-app-open,.v152-tg-steps,.v152-tg-qr){display:none!important}
html body .v152-tg-qr{display:grid;grid-template-columns:184px minmax(0,1fr);gap:20px;align-items:center}
html body .v152-tg-qr-box{display:grid;place-items:center;width:184px;height:184px;padding:6px;box-sizing:border-box;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
html body .v152-tg-qr-box .v152-qr-svg{display:block;width:100%;height:100%}
html body .v152-tg-qr-wait{color:var(--apple-ink-2,#6e6e73);font-size:13px}
html body .v152-tg-qr-text h3{margin:0 0 6px;color:var(--apple-ink,#1d1d1f);font-size:17px;font-weight:600;letter-spacing:-.01em}
html body .v152-tg-qr-text p{margin:0 0 14px;color:var(--apple-ink-2,#6e6e73);font-size:14px;line-height:1.45}
html body .v152-tg-actions{display:flex;flex-wrap:wrap;gap:8px}
html body .v152-tg-actions .tg-app-open{width:auto!important;min-height:40px!important;padding:0 16px!important;border-radius:999px!important;font-size:15px!important}
html body .v152-tg.is-desktop .tg-app-status{text-align:left}
@media (max-width:520px){html body .v152-tg-qr{grid-template-columns:1fr;justify-items:center;text-align:center}html body .v152-tg-actions{justify-content:center}}
html body [data-tg-login].v152-tg{display:block!important;width:100%;flex-direction:column}
html body .v152-tg .tg-app-open.btn-primary{width:100%;min-height:50px;border:0!important;border-radius:16px!important;background:var(--apple-blue,#0071e3)!important;color:#fff!important;font-size:17px!important;font-weight:600!important}
html body .v152-tg .tg-app-open.btn-ghost{background:var(--control-bg,#e8e8ed)!important;color:var(--apple-ink,#1d1d1f)!important;border:0!important}
html body .v152-tg .v152-tg-alt:not(.is-main){width:auto;min-height:0;border:0!important;border-radius:8px;background:none!important;box-shadow:none!important;color:var(--apple-link,#0066cc)!important;font-weight:500}
html body .v152-tg .v152-tg-alt.is-main{background:var(--apple-blue,#0071e3)!important;font-size:17px;font-weight:600}
html body .v152-tg.is-desktop .v152-tg-actions .tg-app-open.btn-primary{width:auto;min-height:40px;font-size:15px!important}
html body .v152-tg .v152-tg-alt.is-main{color:#fff!important}
html body .v152-tg .v152-tg-alt.is-main svg{color:#fff}
html body .v152-tg-qr{grid-template-columns:repeat(auto-fit,minmax(184px,1fr))!important}
html body .v152-tg-qr-box{justify-self:center}

/* ==========================================================================
   Build 152 · catalog on phones: title, then categories and filters
   ========================================================================== */
@media (max-width:767px){
 html body #app .wrap:has(>#search2)>.comfort-actions,html body #app .wrap:has(>#search2)>#search2{display:none!important}
 html body #app .wrap:has(>#search2) #resCount{display:none!important}
 html body #app .wrap:has(>#search2) .section-head:has(#resCount):not(:has(#resetPlace:not([hidden]))){display:none!important}
 html body #app .wrap:has(>#search2) .section-head:has(#resCount){justify-content:flex-end!important}
 html body #app .wrap:has(>#search2)>.page-head{margin-bottom:14px!important}
}

/* ==========================================================================
   Build 152 · three rotating seasonal video banners
   ========================================================================== */
html body #app .v152-season-sec{margin-top:clamp(8px,1.5vw,16px)!important}
html body #app .v152-season{position:relative;display:block;overflow:hidden;aspect-ratio:2/1;border-radius:clamp(20px,2.4vw,28px);background:#e9ece8;box-shadow:0 1px 2px rgba(0,0,0,.06),0 14px 34px rgba(30,46,38,.18);transform:translateZ(0);transition:transform .25s var(--v152-ease),box-shadow .25s var(--v152-ease)}
html body #app .v152-season-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
html body #app .v152-season-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
html body #app .v152-season video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--v152-ease)}
html body #app .v152-season:focus-visible{outline:3px solid var(--apple-blue,#0071e3);outline-offset:3px}
html body #app .v152-season-dots{position:absolute;z-index:3;left:50%;bottom:10px;display:flex;gap:6px;translate:-50% 0;pointer-events:none}
html body #app .v152-season-dots i{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.22);transition:width .25s ease,background .25s ease}
html body #app .v152-season-dots i.is-active{width:22px;background:#fff}
@media (hover:hover){html body #app .v152-season:hover{box-shadow:0 1px 2px rgba(0,0,0,.06),0 20px 44px rgba(30,46,38,.24)}html body #app .v152-season:hover .v152-season-slide.is-active video{transform:scale(1.018)}}
html body #app .v152-season:active{transform:scale(.985)}
@media (min-width:901px){html body #app .v152-season{aspect-ratio:3/1}}
@media (prefers-reduced-motion:reduce){html body #app .v152-season,html body #app .v152-season-slide,html body #app .v152-season video{transition:none}html body #app .v152-season:hover video{transform:none}}
html body .v152-season-admin-list{display:grid;gap:14px}
html body .v152-season-admin{display:grid;grid-template-columns:minmax(180px,32%) minmax(0,1fr);gap:16px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.65)}
html body .v152-season-admin video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#ececef}
html body .v152-season-admin>div{display:grid;gap:10px;min-width:0}
@media (max-width:640px){html body .v152-season-admin{grid-template-columns:minmax(0,1fr)}html body .v152-season-admin video{max-height:210px}}

/* Responsive corrections: account, cards and original banner proportions. */
html body #accBtn.has-avatar{display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;flex:0 0 44px!important}
html body #accBtn.has-avatar [data-acc-label]{display:none!important}
html body #accBtn.has-avatar .header-account-avatar{margin:0!important;position:static!important;transform:none!important}
html body #app .card.v4-card .card-body{padding:12px 16px 14px;flex:0 0 auto}
html body #app .card.v4-card h3{min-height:0;margin:4px 0 6px}
html body #app .card.v4-card .desc{margin:5px 0;font-size:14px;line-height:1.4}
html body #app .card.v4-card .v4-meta{margin-top:8px}
html body #app .card.v4-card .compare-toggle{position:static;display:inline-flex;margin-top:8px;min-height:36px;padding:6px 10px}
html body #app .v152-season{aspect-ratio:16/9}
html body #app .v152-season video{object-fit:contain}
html body #app .v152-season:hover .v152-season-slide.is-active video{transform:none}
.booking-messenger{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.booking-messenger legend{font-size:14px;margin-bottom:8px}
.booking-messenger label{display:flex;align-items:center;gap:5px;padding:8px;border:1px solid var(--line,#ddd);border-radius:10px;cursor:pointer;min-height:44px}
.booking-messenger input{accent-color:var(--apple-blue,#0071e3)}
.compare-selected-names{display:block;max-width:460px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.booking-calendar{width:100%;min-width:0}.booking-calendar .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}

/* Compact comparison picker uses the standard type and control tokens. */
html body #app .comparison-picker{width:min(100%,360px);position:relative;flex:0 1 360px;font-family:var(--f-body)}
html body #app .comparison-picker>summary{font:600 14px/1.3 var(--f-body);padding:11px 16px;min-height:44px;cursor:pointer;list-style:none}
html body #app .comparison-picker>summary::-webkit-details-marker{display:none}
html body #app .comparison-picker .comparison-picker-panel{position:static;width:100%;min-width:0;max-width:none;box-sizing:border-box;margin-top:10px;padding:12px;border:1px solid var(--line,#e5e5e8);border-radius:18px;box-shadow:none;background:var(--apple-surface,#fff);display:block}
.comparison-search{display:grid;gap:6px;font-size:13px;font-weight:600;margin-bottom:8px}.comparison-search input{width:100%;min-width:0;font:400 14px var(--f-body)}
html body #app .comparison-picker-list{display:grid;gap:0;max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0}
html body #app .comparison-picker button.comparison-picker-item{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;white-space:normal;padding:10px 6px;border:0;border-bottom:1px solid var(--line,#eee);border-radius:0!important;background:transparent!important;box-shadow:none!important;font:500 14px/1.4 var(--f-body);color:var(--apple-ink,#1d1d1f)!important}
html body #app .comparison-picker button.comparison-picker-item:hover{background:var(--control-hover,#f5f5f7)!important}
html body #app .comparison-picker button.comparison-picker-item[hidden]{display:none}
.comparison-picker-item>span:first-child{min-width:0;overflow-wrap:anywhere}.comparison-picker-plus{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--control-bg,#eeeef2);color:var(--apple-blue,#0071e3);font-size:19px}
.comparison-picker-empty{margin:12px 0 4px;font-size:14px;color:var(--muted)}
html body #app .card.v4-card .card-body{display:flex;flex-direction:column;flex:1;padding:12px 16px 14px;gap:0}
html body #app .card.v4-card h3{min-height:2.4em;line-height:1.2;margin:4px 0 6px}
html body #app .card.v4-card .desc,html body #app .card.v4-card .v4-routeline{min-height:2.8em;line-height:1.4;font-size:14px;margin:5px 0 8px}
html body #app .card.v4-card .v4-routeline{align-items:flex-start}
html body #app .card.v4-card .v4-meta{margin-top:auto;padding-top:8px}
html body #app .tour-back-control{min-height:44px;padding:10px 16px;gap:7px;font:600 14px/1.3 var(--f-body);text-decoration:none}
html body #app .tour-back-control svg{width:18px;height:18px;flex:0 0 18px}
@media(max-width:700px){html body #app .comparison-picker{width:100%;flex-basis:100%}.comparison-picker-list{max-height:260px}}

/* 22.3 — final responsive corrections requested after mobile and desktop QA. */
html body #app .wrap:has(.tr-layout){max-width:1240px}
html body #app .tr-layout{grid-template-columns:minmax(0,980px)!important}
html body #app #trPanel{width:100%;box-sizing:border-box}
html body #app #trForm :is(.input,.field,select,textarea){color:var(--apple-ink,#1d1d1f)}
html body #app #trForm .input{background:#fff!important;border:1px solid #c7c7cc!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important}
html body #app #trForm .input:focus{border-color:var(--apple-blue,#0071e3)!important;box-shadow:0 0 0 3px rgba(0,113,227,.14)!important;outline:0}
html body #app .transfer-kind-field{display:grid;gap:6px}
html body #app .transfer-kind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body #app .transfer-kind label{position:relative;min-width:0;cursor:pointer}
html body #app .transfer-kind input{position:absolute;opacity:0;pointer-events:none}
html body #app .transfer-kind label>span{display:grid;gap:3px;min-height:64px;padding:10px 12px;box-sizing:border-box;border:1px solid #c7c7cc;border-radius:14px;background:#fff}
html body #app .transfer-kind b{font-size:14px}
html body #app .transfer-kind small{font-size:11px;line-height:1.3;color:var(--apple-ink-2,#6e6e73)}
html body #app .transfer-kind input:checked+span{border-color:var(--apple-blue,#0071e3);background:rgba(0,113,227,.08);box-shadow:inset 0 0 0 1px var(--apple-blue,#0071e3)}
html body #app .transfer-kind .is-disabled{opacity:.55;cursor:not-allowed}
html body #app .transfer-form-title{margin:5px 0 -2px;padding-top:10px;border-top:1px solid var(--line,#e5e5e8);font-size:14px;line-height:1.25;letter-spacing:-.01em}
html body #app .transfer-kind-field+.transfer-form-title{margin-top:2px}
html body #app .transfer-route-fields+.field{margin-top:-2px}
html body #app .transfer-contact-fields+label.field{margin-top:-2px}
html body #app .transfer-passenger-names{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line,#e5e5e8);border-radius:15px;background:rgba(255,255,255,.68)}
html body #app .transfer-passenger-names legend{padding:0 5px;font-size:13px;font-weight:700}
html body #app .transfer-passenger-names>p{margin:0;color:var(--apple-ink-2,#6e6e73);font-size:11px}
html body #app .transfer-passenger-names>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body #app #transferReview .transfer-booking-ticket{margin:0 0 12px!important;--ticket-bg:var(--apple-surface,#fff)}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-paper{grid-template-columns:minmax(0,1fr) 112px;padding-right:5px;filter:drop-shadow(0 7px 15px rgba(20,38,60,.07))}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-main{padding:12px 16px 11px 19px;border-radius:16px 0 0 16px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-main::before{border-radius:16px 0 0 16px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-main::after{top:10px;bottom:10px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-badge{width:25px;height:25px;border-radius:8px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-badge svg{width:15px;height:15px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-kind{gap:7px;font-size:9px}
html body #app #transferReview .transfer-booking-ticket .linkbtn{min-height:28px;padding:3px 7px;font-size:11px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-title{margin:7px 0 1px!important;font-size:17px!important;line-height:1.15!important}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-code{font-size:10px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px!important;margin-top:8px!important;padding-top:8px!important}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts dt{margin-bottom:2px;font-size:9px!important}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts dd{font-size:11px!important;line-height:1.25!important}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts .apsua-ticket-wide{grid-column:span 2}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total{flex-direction:row-reverse;justify-content:flex-start;align-items:baseline;gap:7px;padding-top:8px;text-align:left}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total b{font-size:17px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total span{font-size:10px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub{gap:7px;padding:11px 9px 10px 12px;border-radius:0 16px 16px 0}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-top{gap:3px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-top span{font-size:11px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-top small{font-size:8px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-date{gap:2px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-date b{font-size:30px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-date span{font-size:9px}
html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-foot{padding-top:5px;font-size:8px}
@media(max-width:600px){
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-paper{grid-template-columns:minmax(0,1fr) 72px;padding-right:3px}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-main{padding:10px 9px 10px 13px}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-facts .apsua-ticket-wide{grid-column:1/-1}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub{padding:10px 5px 9px 8px}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-top{flex-direction:column}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-stub-top span{font-size:10px}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;margin-top:8px!important;padding-top:8px;border-top:1px solid var(--at-line);text-align:left}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total span{grid-column:1;grid-row:1;line-height:1.25}
 html body #app #transferReview .transfer-booking-ticket .apsua-ticket-total b{grid-column:2;grid-row:1;white-space:nowrap;text-align:right}
 html body #app #trForm>.field:has(#tr-flight){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;padding:11px 13px!important;border-radius:14px!important;background:var(--apple-surface-2,#f5f5f7)!important}
 html body #app #trForm>.field:has(#tr-flight)>span{font-size:13px!important;font-weight:600!important}
 html body #app #trForm>.field:has(#tr-flight)>.input{box-sizing:border-box!important;width:100%!important;min-height:44px!important;padding:0 12px!important;border:1px solid #c7c7cc!important;border-radius:11px!important;background:#fff!important;text-align:left!important}
 html body #app #trForm .tr-passengers.v152-group{padding:5px 16px!important;border-radius:16px!important}
 html body #app #trForm .tr-passengers.v152-group>:is(.person,label.check){min-height:58px!important;padding-block:5px!important}
}

@media(max-width:700px){
 html body #app .catalog-compact-toolbar .catalog-selects{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(0,.72fr) minmax(0,1fr)!important;gap:6px!important;width:100%!important;margin-inline:0!important;padding-inline:0!important;overflow:visible!important;touch-action:auto!important}
 html body #app .catalog-selects>*{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important}
 html body #app .catalog-selects .sort-format,html body #app .catalog-selects .catalog-price,html body #app .catalog-selects .sort-order{width:auto!important;margin:0!important}
 html body #app .catalog-selects select.input,html body #app .catalog-price>summary{width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;box-sizing:border-box!important;padding:0 24px 0 10px!important;background-position:right 8px center!important;background-size:10px 10px!important;font-size:12px!important;text-overflow:ellipsis!important}
 html body #app .catalog-selects #sort.input{padding-left:27px!important;background-position:left 8px center,right 8px center,center!important;background-size:14px 14px,10px 10px,auto!important}
 html body #app .catalog-price[open]>summary::before{position:fixed!important;inset:0!important;z-index:1000!important;background:rgba(0,0,0,.32)!important}
 html body #app .catalog-price>fieldset{display:grid!important;visibility:visible!important;opacity:1!important;color:var(--apple-ink,#1d1d1f)!important;background:#fff!important}
 html body #app .catalog-price>fieldset :is(legend,b,small,span,label,input){color:inherit}
 html body #app .transfer-passenger-names>div{grid-template-columns:minmax(0,1fr)}
 html body #app .recent-panel{margin-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
 html body #app .recent-panel>summary{position:relative;z-index:1;background:#fff}
 html body #app .recent-panel .comfort-body{padding-bottom:14px}
}

/* Personal account dashboard */
html body #app .account-dashboard-wrap{max-width:1600px!important;width:min(96%,1600px)!important}
html body #app .account-dashboard{display:grid;grid-template-columns:250px minmax(0,1fr) 285px;gap:18px;align-items:start;margin:26px auto 60px;color:#172033}
html body #app .account-dashboard-sidebar,html body #app .account-useful,html body #app .account-dashboard-settings{background:#fff;border-radius:16px;box-shadow:0 4px 20px #2331490b}
html body #app .account-dashboard-sidebar{padding:18px;min-height:650px}
html body #app .account-dashboard .acc-head{display:block!important;margin:0!important;padding:0 0 18px!important;width:auto!important;max-width:none!important;border-bottom:1px solid #edf0f4}
html body #app .account-dashboard .acc-head .who{display:flex;align-items:center;gap:12px}
html body #app .account-dashboard .acc-head .avatar{width:60px;height:60px;flex:none}
html body #app .account-dashboard .acc-head h1{font-size:17px!important;line-height:1.3;margin:0}
html body #app .account-dashboard .acc-head .sub{font-size:11px;overflow-wrap:anywhere}
html body #app .account-dashboard .account-actions{display:flex!important;margin-top:12px}
html body #app .account-dashboard .account-actions .btn{font-size:12px!important;height:32px!important;min-height:32px!important;padding:0 10px!important}
html body #app .account-dashboard-nav{display:grid;gap:4px;margin-top:14px}
html body #app .account-dashboard-nav button,html body #app .account-dashboard-nav a{display:flex;align-items:center;gap:13px;width:100%;padding:12px;border:0;border-radius:10px;background:transparent;color:#566178;text-decoration:none;text-align:left;font-size:17px;cursor:pointer}
html body #app .account-dashboard-nav span{font-size:14px}
html body #app .account-dashboard-nav :is(button,a):hover,html body #app .account-dashboard-nav .is-active{background:#edf6ff;color:#0071e3}
html body #app .account-dashboard-nav button:last-child{border-top:1px solid #edf0f4;border-radius:0;margin-top:12px;padding-top:18px}
html body #app .account-dashboard-main{min-width:0;display:grid;gap:16px}
html body #app .account-dashboard-hero{min-height:165px;padding:28px 32px;border-radius:16px;color:#fff;background:linear-gradient(90deg,rgba(18,42,69,.83),rgba(27,66,84,.15)),url('/assets/lake2-card.webp') center 48%/cover}
html body #app .account-dashboard-hero small{font-size:11px;font-weight:700;letter-spacing:.15em}
html body #app .account-dashboard-hero h2{font-size:28px;line-height:1.15;margin:15px 0 8px;color:#fff}
html body #app .account-dashboard-hero p{font-size:15px;line-height:1.5;max-width:480px;margin:0;color:#fff}
html body #app .account-dashboard-mobile{display:none}
html body #app .account-dashboard-sections{display:grid;gap:12px;min-width:0}
html body #app .account-dashboard-sections[hidden],html body #app .account-dashboard-settings[hidden]{display:none!important}
html body #app .account-dashboard-sections>.account-section{background:#fff!important;border:0!important;border-radius:16px!important;box-shadow:0 4px 20px #2331490b!important;grid-column:auto!important;overflow:hidden}
html body #app .account-dashboard-sections>.account-section>summary{padding:20px 24px!important;min-height:60px;font-size:18px!important;font-weight:700!important}
html body #app .account-dashboard-sections>.account-section>.account-section-content{padding:0 24px 22px!important;border:0!important}
html body #app .account-dashboard-sections .my-order-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
html body #app .account-dashboard-right{display:grid;gap:16px;min-width:0}
html body #app .account-dashboard .push-device{display:grid;gap:14px;align-items:start;margin:0;padding:20px;background:#fff;border-radius:16px}
html body #app .account-dashboard .push-device h2,html body #app .account-useful h2,html body #app .account-dashboard-settings h2{font-size:18px;margin:0 0 10px}
html body #app .account-dashboard .push-device p{font-size:13px;line-height:1.5}
html body #app .account-dashboard .push-device .btn{white-space:normal;min-height:42px}
html body #app .account-useful{padding:22px}
html body #app .account-useful a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f4;text-decoration:none;color:#526078;font-size:14px}
html body #app .account-useful a:last-child{border:0}
html body #app .account-dashboard-settings{padding:24px}
html body #app .account-settings-block{padding:20px 0;border-top:1px solid #edf0f4}
html body #app .account-settings-block h3{font-size:16px;margin:0 0 7px}
html body #app .account-settings-block p{font-size:13px;line-height:1.5;color:#657084;margin:0 0 14px}
html body #app #accountContactSettings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
html body #app #accountContactSettings .btn{justify-self:start}
html body #app .account-settings-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1100px){html body #app .account-dashboard{grid-template-columns:215px minmax(0,1fr)}html body #app .account-dashboard-right{grid-column:2;grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 html body #app .account-dashboard-wrap{width:calc(100% - 24px)!important}
 html body #app .account-dashboard{display:flex;flex-direction:column;gap:12px;margin:12px auto 35px}
 html body #app .account-dashboard-sidebar,html body #app .account-dashboard-main,html body #app .account-dashboard-right{width:100%;min-width:0;min-height:0}
 html body #app .account-dashboard-sidebar{padding:14px}
 html body #app .account-dashboard .acc-head{display:flex!important;justify-content:space-between;gap:10px;padding:0!important;border:0;align-items:center}
 html body #app .account-dashboard .acc-head .avatar{width:48px;height:48px}
 html body #app .account-dashboard .acc-head h1{font-size:16px!important}
 html body #app .account-dashboard .account-actions{width:auto!important;margin:0;justify-content:flex-end}
 html body #app .account-dashboard .account-actions [data-logout]{display:none}
 html body #app .account-dashboard-nav{display:none}
 html body #app .account-dashboard-main{gap:12px}
 html body #app .account-dashboard-hero{min-height:135px;padding:20px}
 html body #app .account-dashboard-hero h2{font-size:22px;margin:10px 0 6px}
 html body #app .account-dashboard-hero p{font-size:13px}
 html body #app .account-dashboard-mobile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:15px;padding:6px;gap:2px}
 html body #app .account-dashboard-mobile button{display:grid;place-items:center;gap:4px;min-width:0;min-height:58px;padding:5px 2px;border:0;border-radius:10px;background:transparent;color:#566178;font-size:21px;cursor:pointer}
 html body #app .account-dashboard-mobile button span{font-size:10px;line-height:1.15;overflow-wrap:anywhere}
 html body #app .account-dashboard-mobile button.is-active{background:#edf6ff;color:#0071e3}
 html body #app .account-dashboard-sections>.account-section>summary{padding:15px!important;font-size:16px!important}
 html body #app .account-dashboard-sections>.account-section>.account-section-content{padding:0 12px 15px!important}
 html body #app .account-dashboard-right{display:grid;grid-template-columns:1fr}
 html body #app .account-dashboard-settings{padding:18px}
 html body #app #accountContactSettings{grid-template-columns:1fr}
}
html body #app .account-dashboard-nav svg{width:22px;height:22px;flex:none}
html body #app .account-dashboard-mobile svg{width:24px;height:24px;flex:none}
/* build 166: larger invisible tap areas for small controls, only as far as the gap to the neighbouring control allows. */
.header-actions>.btn.small::after{content:'';position:absolute;inset:-4px -1px}
.v4-head a{position:relative}.v4-head a::after{content:'';position:absolute;inset:-8px -6px}
.footer-links a,.footer-contact a{position:relative}.footer-links a::after{content:'';position:absolute;inset:-2px -4px}.footer-contact a::after{content:'';position:absolute;inset:-2px 0}
