/* Shared catalog markup and typography. Flights arrange the compact list
   beside its destination map and provide a single panel on smaller screens. */
.workspace {
    display:grid; grid-template-columns:minmax(390px,43%) minmax(0,1fr);
    min-height:0; --map-green: var(--green);
}
.workspace .results {min-width:0; overflow:auto; scrollbar-width:thin}
.workspace .controls {position:relative; z-index:4}
.workspace .map-area, #flight-map {height:100%; min-width:0; min-height:0}
.workspace .flight-grid {display:grid; grid-template-columns:minmax(0,1fr)}
.workspace footer {margin:28px 0 8px; color:var(--muted); font-size:13px}
.workspace .photo-credits ul {padding-left:19px; overflow-wrap:anywhere}
.workspace .recovery {display:flex; flex-wrap:wrap; gap:8px}
.workspace .flight-empty button {border:1px solid var(--line); padding:8px 12px; border-radius:12px; background:white; color:var(--ink)}
.workspace .flight-empty .reset {border:0; text-decoration:underline; color:var(--green)}
.sr {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%)}
.workspace .view-switch {display:none}
.workspace .quick select {border:0;background:transparent;min-height:40px;max-width:145px}
.flight-detail .flight-detail-photo {display:block;width:100%;height:clamp(90px,19vh,160px);object-fit:cover;border-radius:12px;margin-bottom:12px}
@media(min-width:800px) {
    .n365-redesign.flights:has(> .workspace) {display:grid;height:calc(100dvh - var(--wp-admin--admin-bar--height,0px))}
}
@media(max-width:799px) {
    .workspace {display:flex; flex-direction:column; min-height:calc(100dvh - var(--flight-header-height,79px))}
    .workspace .results {padding:12px 14px 22px; overflow:visible}
    .workspace .map-area {display:none}
    .workspace[data-view=map] {height:calc(100dvh - var(--flight-header-height,79px)); min-height:480px}
    .workspace[data-view=map] .list-body {display:none}
    .workspace[data-view=map] .map-area {display:block;flex:1}
    .workspace[data-view=map] .results {padding-bottom:10px}
    .workspace .view-switch {display:flex;margin:8px 0}
}
/* Compact flight variant of the shared catalog card. */
.flights .workspace { background:#f5f7f5 }
.flights .workspace #catalog .flight-grid { gap:8px }
.flights .workspace .flight-day > h2 {
    margin:18px 0 10px; color:#5d6b64; font:700 13px/1.3 Figtree,system-ui,sans-serif;
    text-transform:uppercase; letter-spacing:.1em;
}
.flights .workspace #catalog .n365-card {
    grid-template-columns:24% minmax(0,1fr); gap:14px; align-items:center;
    margin:0!important; padding:6px!important; border:1px solid transparent; border-radius:14px;
    height:auto; min-height:0; max-height:none; background:transparent; box-shadow:none;
}
.flights .workspace #catalog .n365-card:is(:hover,:focus-within) {
    background:white; border-color:var(--line); box-shadow:0 8px 22px #192d2510;
}
.flights .workspace #catalog .n365-gallery {
    width:100%; height:auto; aspect-ratio:1.2; min-height:0; position:relative; border-radius:10px;
}
.flight-fresh {
    position:absolute; left:5px; top:5px; background:white; color:var(--green);
    border-radius:999px; padding:1px 7px; font:700 11px/1.45 Figtree,system-ui,sans-serif;
}
.flights .workspace #catalog .n365-card-body {
    display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:2px 7px; align-items:baseline;
}
.flights .workspace #catalog :is(.n365-card-description,.n365-quote,.n365-card-booking,.offer) {display:contents}
.flights .workspace #catalog .entry-title {order:0; grid-column:1; font-size:clamp(18px,1.5vw,25px); font-weight:600; overflow-wrap:anywhere}
.flights .workspace #catalog .entry-categories {order:0; grid-column:2; justify-self:end; display:block; text-align:right; font:500 13px/1.3 Figtree,system-ui,sans-serif; color:var(--muted); overflow-wrap:anywhere}
.flights .workspace #catalog .flight-term {order:1; grid-column:1/-1; margin:0; font-size:15px; color:var(--ink)}
.flights .workspace #catalog .price {order:2; grid-column:1/-1; display:flex; flex-flow:row wrap; align-items:baseline; justify-content:space-between; gap:2px 6px; color:var(--ink)}
.flights .workspace #catalog .price strong {font-size:17px; color:var(--ink); font-weight:750}
.flights .workspace #catalog .price span {color:var(--green); font-size:12px; font-weight:650; text-align:right; margin-left:auto; white-space:normal}
@media(min-width:800px) {
    .n365-redesign.flights:has(> .workspace) { grid-template-rows:auto minmax(0,1fr) }
    .workspace { padding-top:20px }
    .workspace .results { padding:0 clamp(18px,2vw,36px) 40px }
}
@media(max-width:500px) {
    .flights .workspace #catalog .n365-card { grid-template-columns:24% minmax(0,1fr); gap:9px; padding:5px!important }
    .flights .workspace #catalog .entry-categories {font-size:11px}
    .flights .workspace #catalog .flight-term {font-size:13px}
    .flights .workspace #catalog .price span {font-size:11px}
}
.workspace #search:has(.destination-picker) {
    display:block; position:relative; width:100%; min-height:0; margin:0 0 10px; padding:0;
    background:transparent; border:0; box-shadow:none;
}
.workspace .destination-picker {position:relative; width:100%}
.workspace .destination-input {
    display:flex; align-items:center; gap:10px; min-height:54px; padding:0 17px;
    border:1px solid #cedad2; background:white; border-radius:999px; box-shadow:0 5px 18px #1b36250c;
}
.workspace .destination-input > svg {width:19px;height:19px;flex:none;color:var(--ink)}
.workspace .destination-input:focus-within {outline:2px solid var(--green);outline-offset:2px}
.workspace .destination-input input {
    flex:1;min-width:0;width:100%;padding:10px 0;border:0;outline:0;box-shadow:none; background:transparent;
    color:var(--ink);font:650 18px/1.4 Figtree,system-ui,sans-serif;
}
.workspace .destination-input input::placeholder {color:#68766d;opacity:1}
.workspace .destination-input .destination-clear {display:grid;place-items:center;padding:0;border:none;background:none;width:32px;height:38px}
.workspace .destination-menu {
    position:absolute; top:calc(100% + 6px); left:0;right:0;z-index:20; max-height:min(62dvh,540px);overflow:auto;
    overscroll-behavior:contain;padding:10px;background:white;border-radius:18px;box-shadow:0 12px 40px #132d1e2b;
}
.workspace .destination-group-title {margin:4px 6px;font:700 12px/1.5 Figtree,system-ui,sans-serif;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.workspace #destination-options .destination-option {
    display:grid;grid-template-columns:35px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;
    gap:0 10px;min-height:48px;width:100%;padding:4px 6px;border:0;border-radius:9px;background:white;text-align:left;
}
.workspace #destination-options .destination-option:is(:hover,[aria-selected=true]) {background:#edf4ef}
.workspace .destination-option > svg,.workspace .destination-option .option-icon {grid-column:1;grid-row:1/3;align-self:center;width:34px;height:34px;padding:8px;border-radius:9px;background:#f0f3ef;color:var(--green)}
.workspace .destination-option .option-name {grid-column:2;grid-row:1;font:650 16px/1.3 Figtree,system-ui,sans-serif}
.workspace .destination-option .option-meta {grid-column:2;grid-row:2;font:450 13px/1.3 Figtree,system-ui,sans-serif;color:var(--muted)}
.workspace .destination-option .option-price {grid-column:3;grid-row:1/3;font:700 14px/1.3 Figtree,system-ui,sans-serif;white-space:nowrap}
.workspace .month-strip,.workspace .theme-strip {display:flex;min-width:0;align-items:center;gap:6px;margin:8px 0}
.workspace .month-scroll,.workspace .theme-strip {overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;overscroll-behavior-x:contain}
.workspace .month-scroll {display:flex;min-width:0;flex:1;gap:3px;align-items:center}
.workspace .month-strip a,.workspace .theme-strip a {flex:none;white-space:nowrap;text-decoration:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
.workspace .month-strip a {color:var(--ink);padding:5px 12px;border-radius:24px;font-weight:550}
.workspace .month-strip a[aria-current] {background:#e4eee7;color:#1b3026;font-weight:700}
.workspace .month-strip button {background:transparent;border:0;font-size:17px;width:25px;min-height:36px;padding:0;color:var(--ink)}
.workspace .month-strip button:disabled {opacity:.3}
.workspace .theme-strip a {font:650 14px/1.3 Figtree,system-ui,sans-serif;padding:8px 14px;color:var(--ink);background:#fff;border:1px solid #cad8cf;border-radius:999px}
.workspace .theme-strip a[aria-current] {background:#e4eee7;color:var(--green);border-color:var(--green)}
.workspace .controls:has(.destination-picker) .quick {display:flex;align-items:center;gap:7px;border:0;margin:6px 0 0;padding:0}
.workspace .quick .origin-picker {display:inline-flex;gap:4px;align-items:center;color:var(--muted);font-size:14px}
.workspace .quick .origin-picker select {font:650 14px/1.3 Figtree,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.workspace .quick #count {font-size:14px;font-weight:650;color:var(--ink);margin:0}
.workspace .quick select[name=razeni] {margin-left:auto;font-weight:650;color:var(--ink)}
@media(max-width:500px) {
    .workspace .destination-input {min-height:48px;padding-inline:14px}
    .workspace .destination-input input {font-size:16px}
    .workspace .month-strip a,.workspace .theme-strip a {font-size:13px;min-height:38px}
}
.workspace .destination-placeholder {display:grid;place-items:center;height:100%;background:#dce7e0;color:#65816f}
.workspace .destination-placeholder svg {width:28px;height:28px}
.workspace .destination-option .option-copy {display:contents}
.workspace .option-icon svg {width:100%;height:100%;display:block}
.workspace #destination-status:empty {display:none}

/* Search and filters span both result panels. */
.flights .workspace {padding-top:0;grid-template-rows:auto minmax(0,1fr)}
.workspace .flight-toolbar {grid-column:1/-1;background:white;border-bottom:1px solid #dae3dc;padding:12px clamp(14px,2vw,36px);z-index:500}
.workspace .flight-toolbar #search {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 10px;padding:5px 6px 5px 12px;border:1px solid #ccd9d0;border-radius:40px;background:white;box-shadow:0 4px 22px #1836260b}
.workspace .flight-toolbar .destination-input {padding:0 10px;min-height:47px;box-shadow:none;border:0}
.workspace .flight-field {display:flex;flex:1;flex-direction:column;min-width:0;font:600 12px/1.3 Figtree,sans-serif;color:var(--muted)}
.workspace .flight-field select,.workspace .flight-field input {font:650 17px/1.3 Figtree,sans-serif;color:var(--ink);background:transparent;border:0;padding:0;min-width:0;width:100%}
.workspace .period-picker {display:flex;gap:10px;align-items:center;border-left:1px solid #d8e1da;padding-inline:16px 4px;min-width:0}
.workspace .flight-toolbar svg {flex:none;color:var(--green)}
.workspace .flight-toolbar .n365-hero-submit {display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:0;border-radius:32px;color:white;background:#205e46;font:700 17px Figtree,sans-serif}
.workspace .flight-toolbar .n365-hero-submit svg {color:white}
.workspace .flight-toolbar .quick {display:flex;gap:10px;flex-wrap:nowrap;min-width:0;align-items:center}
.workspace .flight-toolbar .origin-picker {flex:none;border:1.5px solid var(--ink);border-radius:24px;padding:0 10px;color:var(--green)}
.workspace .flight-toolbar .origin-picker select {max-width:140px;min-height:36px;text-decoration:none}
.workspace .flight-toolbar .theme-strip {flex:0 1 auto;min-width:0;margin:0;padding-left:10px;border-left:1px solid #d8e1da}
.workspace .flight-toolbar #count {margin-left:auto;white-space:nowrap;font-weight:500}
.workspace .flight-toolbar select[name=razeni] {margin:0}
@media(min-width:800px){.workspace .map-area,.workspace .results {margin-top:20px;height:auto;min-height:0}}
@media(max-width:799px){
.workspace .flight-toolbar {padding:10px 12px}
.workspace .flight-toolbar #search {grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) auto;gap:4px;padding:4px;border-radius:22px}
.workspace .flight-toolbar .destination-input,.workspace .period-picker {gap:4px;padding-inline:5px}
.workspace .flight-toolbar .flight-field input,.workspace .flight-toolbar .flight-field select {font-size:14px}
.workspace .flight-toolbar .period-picker > svg,.workspace .flight-toolbar .destination-input > svg {width:15px}
.workspace .flight-toolbar .n365-hero-submit {padding:0 10px;font-size:14px}
.workspace .flight-toolbar .n365-hero-submit svg {display:none}
.workspace .flight-toolbar .quick {flex-wrap:wrap;gap:4px 8px}
.workspace .flight-toolbar .theme-strip {flex:1;min-width:0}
.workspace .flight-toolbar #count {flex-basis:50%;margin:0}
.workspace .flight-toolbar select[name=razeni] {margin-left:auto}
.workspace .flight-toolbar .destination-menu {width:min(88vw,400px)}
.workspace .flight-toolbar .view-switch {margin:4px 0 0}
}
.workspace .flight-toolbar .quick > .origin-picker {order:0}
.workspace .flight-toolbar .quick > .theme-strip {order:1}
.workspace .flight-toolbar .quick > #count {order:2}
.workspace .flight-toolbar .quick > select {order:3}
@media(max-width:799px){
.workspace .flight-toolbar .quick {display:grid;grid-template-columns:auto minmax(0,1fr)}
.workspace .flight-toolbar .quick > .theme-strip {display:flex;width:100%;overflow-x:auto}
.workspace .flight-toolbar .quick > select {justify-self:end}
}
@media(max-width:440px){
.workspace .flight-toolbar #search {grid-template-columns:minmax(0,1fr) auto;border-radius:20px;padding:5px 8px}
.workspace .flight-toolbar .destination-picker {grid-column:1/-1;border-bottom:1px solid #e1e8e2}
.workspace .flight-toolbar .destination-input {min-height:40px}
.workspace .flight-toolbar .period-picker {border:0}
.workspace .flight-toolbar .n365-hero-submit {min-height:38px;padding-inline:16px}
}
@media(max-width:440px){
.workspace .flight-toolbar .destination-picker {position:static}
.workspace .flight-toolbar .destination-menu {top:calc(100% + 4px);width:100%}
}

/* Keep long editorial titles and routes readable in a narrow results column. */
.flights .workspace #catalog .n365-card-body {grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
@media(max-width:799px){
    .flights .workspace #catalog .entry-title,
    .flights .workspace #catalog .entry-categories {grid-column:1/-1;justify-self:start;text-align:left;overflow-wrap:break-word}
    .workspace .flight-toolbar .quick {grid-template-columns:minmax(0,1fr) auto}
    .workspace .flight-toolbar .quick > .origin-picker {grid-area:1/1;justify-self:start}
    .workspace .flight-toolbar .quick > #count {grid-area:1/2;justify-self:end}
    .workspace .flight-toolbar .quick > .theme-strip {grid-area:2/1/3/-1;max-width:100%;padding:0;border:0}
    .workspace .flight-toolbar .quick > select {grid-area:3/2}
}
@media(max-width:799px){
    .workspace .flight-toolbar.controls:has(.destination-picker) .quick {display:grid}
}
