.api-search{padding:24px;background:#fff;border-radius:18px;color:#17334b}.api-main-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.api-search label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.api-search input,.api-search select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cddce2;border-radius:9px;padding:12px 10px;font:inherit;font-size:15px;background:#fff;color:#17334b;min-height:45px}.api-search input:focus,.api-search select:focus{outline:2px solid #008f9d;outline-offset:2px}.api-options summary{cursor:pointer;margin:8px 0 18px;font-weight:600}.api-search .api-check{flex-direction:row;align-items:center}.api-check input{width:18px;min-height:18px}.api-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.api-actions span{font-size:13px;color:#526575}.api-actions button{position:static;min-height:48px;border:0;padding:14px 28px;background:#008f9d;color:white;border-radius:10px;cursor:pointer}.api-actions button:disabled{opacity:.55;cursor:wait}#api-status{font-size:14px;line-height:1.5;margin:16px 0 0}.tour-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.tour-card{overflow:hidden;background:white;border:1px solid #dce6eb;border-radius:16px;color:#17334b}.tour-card img{width:100%;height:200px;object-fit:cover}.tour-card-body{padding:20px}.tour-card h3{font-size:20px;line-height:1.3;margin:0 0 10px}.tour-card p{margin:8px 0;line-height:1.5;font-size:14px}.tour-card .tour-price{font-size:22px;font-weight:700;color:#007c89}.tour-card a{display:inline-block;margin-top:8px;color:#007c89;font-weight:600}.tour-card small{display:block;color:#526575;margin-top:12px}.tour-results:empty{display:none}@media(max-width:700px){.api-main-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.api-search{padding:16px}.api-actions{align-items:stretch;flex-direction:column}.tour-results{grid-template-columns:1fr}.api-search input,.api-search select{font-size:16px}.tour-card img{height:190px}}

/* Native Tourvisor search, adapted to the existing LAF palette. */
[hidden]{display:none!important}
#tour-search.api-search{padding:24px;background:var(--laf-soft,#eef8f8);border-radius:20px}
#tour-search .api-hint,.api-hint{font-size:12px;line-height:1.65;color:#52677d;font-weight:400;margin:8px 0 14px}
#tour-search .api-options>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;margin:0;border-top:1px solid var(--laf-tint,#dceef0);font-size:15px;color:var(--laf-ink,#173b50)}
#tour-search .api-options>summary::after{content:'＋';font-size:20px}
#tour-search .api-options[open]>summary::after{content:'−'}
.api-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:12px 0 20px}
.api-filter-grid>label{min-width:0;display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}
#tour-search .api-flight-options{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}
#tour-search .api-check,.api-check{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:14px;line-height:1.5;font-weight:500}
#tour-search input[type=checkbox],.api-check input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:var(--laf-accent,#007b87)}
.api-filter-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.api-filter-group{align-self:start;padding:0 16px;background:white;border:1px solid var(--laf-tint,#dceef0);border-radius:12px;min-width:0}
#tour-search .api-filter-group>summary{padding:14px 0;margin:0;font-size:14px;line-height:1.5}
.api-choice-list{max-height:250px;overflow:auto;overscroll-behavior:contain;margin-bottom:14px;padding-right:5px;scrollbar-width:thin}
#tour-search .api-choice{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.5;padding:7px 0}
#tour-search .api-choice input{margin-top:1px}
.api-choice span{min-width:0;overflow-wrap:anywhere}
.api-choice-list h4{margin:14px 0 4px;font-size:13px}
#tour-search #hotel-filter{margin-bottom:12px}
.api-extra-actions,.api-result-actions,.api-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.api-secondary-button,.api-text-button{font:inherit;font-size:13px;line-height:1.5;border-radius:10px;cursor:pointer;min-height:44px;padding:10px 14px}
.api-secondary-button{border:1px solid var(--laf-tint,#cddce2);background:#fff;color:var(--laf-accent,#007b87)}
.api-secondary-button:hover{background:var(--laf-soft,#eef8f8)}
.api-secondary-button:disabled{opacity:.6;cursor:wait}
.api-text-button{border:0;background:transparent;color:var(--laf-accent,#007b87);text-decoration:underline;text-underline-offset:3px}
.api-date-list{margin-top:16px}
#tour-search .api-actions{margin-top:20px}
#tour-search .api-actions .find-tour{background:var(--laf-accent,#007b87);min-width:230px}
.api-result-tools{margin:28px 0 18px;border-top:1px solid var(--laf-tint,#dceef0);padding-top:22px;color:var(--laf-ink,#173b50)}
.api-result-tools h2{font-size:24px;margin:0 0 16px;line-height:1.25}
.api-result-tools input[type=search],.api-result-tools select{width:100%;min-width:0;padding:12px;border:1px solid #cddce2;border-radius:9px;background:white;color:inherit;font:inherit;min-height:46px}
.api-result-tools .api-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.api-result-tools details>summary{cursor:pointer;margin:16px 0;font-weight:700}
.api-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 0 18px}
.api-compare-card{padding:16px;background:var(--laf-soft,#eef8f8);border:1px solid var(--laf-tint,#dceef0);border-radius:14px;min-width:0;overflow-wrap:anywhere}
.api-compare-card h3{font-size:16px;margin:0 0 12px}
.api-compare-card p{font-size:13px;line-height:1.6;margin:8px 0}
.api-compare-card strong{display:block;margin:12px 0}
.api-hotel-title{padding:0;border:0;color:inherit;font:inherit;font-weight:700;line-height:1.3;text-align:left;background:none;cursor:pointer}
.api-hotel-title:hover{text-decoration:underline;text-underline-offset:4px}
.api-card-actions .tour-detail-button{width:100%;margin:0}
.api-card-actions .api-secondary-button{flex:1}
.tour-card .tour-card-body{padding:20px}
.tour-card .tour-card-body h3{margin:0 0 10px}
.api-tour-variants{margin-top:18px;border-top:1px solid #dce6eb}
.api-tour-variants>summary{padding:14px 0;cursor:pointer;font-weight:700;font-size:13px;line-height:1.5}
.api-tour-variants>div{max-height:480px;overflow:auto;overscroll-behavior:contain}
.api-tour-row{padding:12px 0;border-top:1px solid #e4eaf1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.api-tour-row p{width:100%;font-size:13px;margin:0;line-height:1.6}
.api-tour-row strong{font-size:16px}
.api-empty{grid-column:1/-1;padding:20px;background:var(--laf-soft,#eef8f8);border-radius:12px;line-height:1.7}
@media(max-width:900px){.api-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 #tour-search.api-search{padding:16px}
 #tour-search .api-filter-grid,.api-filter-groups,.api-result-tools .api-filter-grid{grid-template-columns:1fr}
 #tour-search .api-main-fields>label:has(select[name=departureId]),#tour-search .api-main-fields>label:has(select[name=countryId]){grid-column:1/-1}
 #tour-search input,#tour-search select,.api-result-tools input[type=search],.api-result-tools select{font-size:16px}
 #tour-search .api-actions{align-items:stretch}
 #tour-search .api-actions button,.api-extra-actions button,.api-result-actions button{width:100%;min-width:0;white-space:normal}
 #tour-search .api-flight-options{flex-direction:column}
 .api-comparison{grid-template-columns:1fr}
 .api-result-tools h2{font-size:22px}
 .tour-card .tour-card-body{padding:18px}
 .api-filter-group{padding:0 14px}
}

/* Reference search layout: six main fields, five quick filters. */
#tour-search.api-search{background:var(--laf-soft,#eef8f8);padding:22px;border:1px solid var(--laf-tint,#dceef0);border-radius:18px;color:var(--laf-ink,#173b50)}
.laf-search-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:13px;color:var(--laf-accent,#007b87)}
.laf-search-kind{display:flex;align-items:center;gap:8px}
.laf-search-kind:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--laf-accent,#007b87);box-shadow:0 0 0 3px #fff}
.laf-search-primary{display:grid;grid-template-columns:1.25fr 1.2fr 1.5fr .8fr 1.1fr .9fr;gap:2px;background:#dce8ec;border-radius:12px;overflow:hidden}
.laf-departure{background:white;min-width:0}
#tour-search .laf-departure>label{padding:11px 12px 6px;gap:0;font-size:11px;font-weight:400;color:#61758b}
#tour-search .laf-departure select{border:0;border-radius:0;background:white;min-height:34px;padding:4px 22px 4px 0;font-size:14px;font-weight:700;color:var(--laf-ink,#173b50)}
.laf-destination-trigger,.laf-summary-field{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;background:white;border:0;text-align:left;padding:12px 22px 12px 12px;min-height:78px;min-width:0;color:var(--laf-ink,#173b50);cursor:pointer;font:inherit}
.laf-summary-field>span:first-child,.laf-destination-content small{display:block;font-size:11px;color:#61758b;font-weight:400;margin-bottom:5px;line-height:1.4}
.laf-summary-field strong,.laf-destination-content strong{font-size:13px;line-height:1.45;font-weight:750;overflow-wrap:anywhere;display:block}
.laf-destination-content{min-width:0}.laf-field-icon{display:none}
.laf-destination-trigger>span:last-child,.laf-down{position:absolute;right:8px;top:50%;font-size:14px;color:#61758b;transform:translateY(-50%)}
.laf-summary-field:hover,.laf-destination-trigger:hover{background:#f8fcfd}
#tour-search .laf-primary-submit{background:var(--laf-accent,#007b87);color:white;border:0;border-radius:0;min-width:0;min-height:78px;position:static;width:100%;padding:12px;font-size:15px;font-weight:750;cursor:pointer}
#tour-search .laf-primary-submit:disabled{opacity:.55;cursor:wait}
.laf-quick-filters{display:grid;grid-template-columns:1.1fr 1.3fr 1fr 1fr 1.4fr;gap:10px;align-items:stretch;margin-top:16px}
#tour-search .laf-quick-filters>label{min-width:0;gap:5px;font-size:11px;color:#61758b}
#tour-search .laf-quick-filters select{min-height:44px;padding:10px 24px 10px 10px;font-size:13px;font-weight:500;color:var(--laf-ink,#173b50)}
.laf-quick-filters>button{align-self:end;min-height:44px;line-height:1.35;text-align:left;min-width:0;overflow-wrap:anywhere}
#tour-search>#search-filters>summary{display:none}
#tour-search>#search-filters{margin-top:18px}
.laf-search-utilities{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:#61758b}
.laf-search-utilities summary{cursor:pointer;padding:10px 0;font-weight:500}
.laf-search-utilities>details{min-width:0;flex:1}
.laf-search-utilities .api-text-button{font-size:12px;min-height:36px;padding:4px 0;white-space:normal}
.laf-history-item{display:block;width:100%;text-align:left;border:1px solid #dce8ed;border-radius:10px;padding:12px;background:white;color:var(--laf-ink,#173b50);font:inherit;line-height:1.6;margin:6px 0;cursor:pointer}
.laf-search-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-width:760px;max-height:88svh;padding:24px;border:1px solid #dae7eb;border-radius:20px;background:#fff;color:var(--laf-ink,#173b50);box-shadow:0 24px 100px #102d4f40;overflow:auto;overscroll-behavior:contain}
.laf-search-dialog::backdrop{background:#072b4f88;backdrop-filter:blur(3px)}
.laf-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.laf-dialog-heading h2{font-size:24px;line-height:1.3;letter-spacing:-.03em;margin:0}
.laf-dialog-heading button{border:0;border-radius:50%;background:#eef5f8;min-width:38px;min-height:38px;color:#173b50;font-size:25px;cursor:pointer}
#tour-search .laf-search-dialog label{margin:12px 0;min-width:0}
#tour-search .laf-search-dialog input,#tour-search .laf-search-dialog select{font-size:16px;min-height:46px;background:white;color:var(--laf-ink,#173b50)}
#tour-search .laf-dialog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#tour-search .laf-dialog-fields>label{grid-column:auto}
.laf-dialog-apply{position:sticky;bottom:0;display:block;width:100%;padding:14px 18px;border:0;border-radius:12px;background:var(--laf-accent,#007b87);color:white;font:inherit;font-weight:750;min-height:50px;cursor:pointer;margin-top:20px;box-shadow:0 0 0 8px white}
.laf-country-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;margin:16px 0 20px}
.laf-country-choice{font:inherit;font-size:13px;text-align:left;min-width:0;min-height:40px;padding:9px 10px;border:1px solid #dce8ed;border-radius:9px;background:white;color:#173b50;cursor:pointer;overflow-wrap:anywhere}
.laf-country-choice[aria-pressed=true]{background:var(--laf-soft,#eef8f8);border-color:var(--laf-accent,#007b87);color:var(--laf-accent,#007b87);font-weight:750}
#destination-choices{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
#tour-search #destination-choices .api-choice-list{max-height:220px}
.laf-presets{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.laf-presets button,.laf-calendar-nav button,.laf-map-toolbar button,.laf-result-switch>button{font:inherit;border:1px solid #dce8ed;border-radius:10px;background:#fff;color:var(--laf-accent,#007b87);min-height:42px;padding:9px 14px;cursor:pointer}
.laf-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}
.laf-calendar-nav span{font-size:14px;text-transform:capitalize;font-weight:750}
.laf-flight-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.laf-month{min-width:0}.laf-month h3{font-size:14px;text-transform:capitalize;text-align:center;margin:0 0 14px}
.laf-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.laf-weekday{font-size:10px;color:#74879a;text-align:center;padding:5px 0}
.laf-day{font:inherit;position:relative;border:0;border-radius:7px;background:#f4f8fa;min-height:43px;padding:5px 1px;color:#173b50;font-size:13px;cursor:pointer}
.laf-day:disabled{opacity:.3;cursor:default}.laf-day[aria-pressed=true]{background:#daf0ef;color:#005966}
.laf-day.is-edge{background:var(--laf-accent,#007b87);color:white}
.laf-day.has-flight:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:4px;left:calc(50% - 1.5px)}
.laf-day small{display:block;font-size:8px;white-space:nowrap;line-height:1.4}
.laf-result-switch{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 20px}
.laf-result-switch>button[aria-pressed=true]{background:var(--laf-accent,#007b87);color:white;border-color:transparent}
.laf-result-switch>label{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:12px}
.laf-result-switch select{font-size:12px;padding:8px;min-height:40px;width:auto}
.laf-resort-heading{grid-column:1/-1;margin:16px 0 2px;font-size:22px;line-height:1.4}
.laf-map-toolbar{display:flex;flex-wrap:wrap;gap:8px}.laf-map-toolbar button{font-size:12px}
.laf-map-panel{margin:20px 0}.laf-map-panel #hotel-map{height:480px;border:1px solid #dce8ed;border-radius:14px;z-index:0;background:#edf2f5}
.laf-map-popup{font-family:Manrope,Arial,sans-serif;min-width:180px;max-width:260px;font-size:13px;line-height:1.5}
.laf-map-popup p{margin:8px 0}.laf-map-popup strong{font-size:15px}
#result-tools select,#result-tools input{box-sizing:border-box}
@media(max-width:1000px){
 .laf-search-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:transparent;border-radius:0;overflow:visible}
 .laf-departure,.laf-destination-trigger,.laf-summary-field,#tour-search .laf-primary-submit{border-radius:10px;min-height:75px}
 .laf-quick-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .laf-quick-filters #advanced-trigger{grid-column:span 2}
}
@media(max-width:600px){
 #tour-search.api-search{padding:16px;border-radius:15px}
 .laf-search-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .laf-departure,.laf-destination-trigger{grid-column:1/-1}
 #tour-search .laf-primary-submit{grid-column:1/-1;min-height:50px;border-radius:10px;font-size:16px}
 .laf-search-primary .laf-summary-field[data-open=tourists-dialog]{grid-column:1/-1}
 .laf-destination-trigger,.laf-summary-field{min-height:66px;padding:11px 28px 11px 12px}
 #tour-search .laf-departure>label{padding:10px 12px 7px;font-size:11px}
 #tour-search .laf-departure select{font-size:16px;min-height:36px;padding:4px 20px 4px 0}
 .laf-summary-field strong,.laf-destination-content strong{font-size:15px;line-height:1.5}
 .laf-summary-field>span:first-child,.laf-destination-content small{font-size:11px}
 .laf-quick-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
 .laf-quick-filters #advanced-trigger{grid-column:1/-1;text-align:center}
 #tour-search .laf-quick-filters select{font-size:16px;min-height:46px;padding:10px 24px 10px 10px}
 .laf-quick-filters>button{font-size:14px;min-height:46px}
 .laf-search-dialog{padding:20px 16px;border-radius:16px;max-height:90svh}
 .laf-dialog-heading h2{font-size:21px}
 .laf-flight-calendar{grid-template-columns:1fr}
 .laf-days{gap:5px}.laf-day{min-height:44px;font-size:15px}
 .laf-day small{font-size:9px}
 .laf-country-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:200px}
 .laf-country-choice{font-size:14px;min-height:44px}
 #tour-search .laf-dialog-fields{grid-template-columns:1fr}
 .laf-result-switch{gap:8px}.laf-result-switch>button{flex:1;font-size:13px;padding:10px 8px}
 .laf-result-switch>label{width:100%;margin:6px 0 0;justify-content:space-between}
 .laf-map-panel #hotel-map{height:400px}
 .laf-map-toolbar button{flex:1 1 calc(50% - 8px)}
 .laf-search-utilities{align-items:flex-start}
}

#tour-results .tour-detail-button{position:static;inset:auto;width:100%;height:auto;min-height:44px;z-index:auto;opacity:1;}
