/* ساختار و اندازه‌ها از Index مرجع Front؛ قراردادها از V2.
   Structure and measurements from Front Index; contracts from V2. */
.travel-search{max-width:1100px;width:calc(100% - 40px);margin:auto;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;text-align:right}
.travel-search .service-tabs{background:#ffffffe0;display:flex;flex-wrap:nowrap;justify-content:space-evenly;align-items:center;height:auto;padding:6px;gap:4px;border:0;border-radius:8px;color:var(--brand);margin:0 0 10px}
.service-tabs a,.service-tabs .service-unavailable{border:0;background:none;min-width:80px;min-height:55px;border-radius:5px;font-size:15px;padding:8px 10px;flex:1;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
.service-tabs .ui-icon{width:20px;height:20px;flex-basis:20px}
.service-tabs a[aria-selected=true]{color:var(--accent);background:white;border-bottom:3px solid var(--accent)}
.travel-search .search-panel{background:#ffffffdc;color:var(--brand);border-radius:8px;padding:22px;text-align:right}
.travel-search .simple-search>label{font-size:18px;font-weight:600;margin-bottom:12px}
.travel-search .simple-search-row{display:flex;gap:10px;flex-wrap:nowrap}
.travel-search .simple-search-row input{flex:1;min-width:0;width:100%;padding:13px 16px;border:1px solid var(--border);border-radius:6px;background:white;min-height:50px;color:var(--brand)}
.travel-search .simple-search-row .button{white-space:nowrap;flex:0 0 auto}
.travel-search .trip-type{border:0;display:flex;gap:25px;font-size:14px;padding:0;margin:0 0 20px}
.travel-search .trip-type label{min-height:24px}
.travel-search .booking-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:end;margin:0;border:0;padding:0;min-width:0}
.booking-fields>div{grid-column:span 3;min-width:0;position:relative}
.booking-fields label,.passenger-field-label{display:block;font-size:14px;font-weight:400;line-height:1.7;margin:0 0 6px}
.booking-fields input,.booking-fields select{min-height:46px;width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 12px;background:#fff;color:var(--brand);font-size:15px;min-width:0}
.booking-fields input[data-date-input]{cursor:pointer;background:#f6faf9}
.booking-fields input:disabled{background:#eee;cursor:not-allowed;opacity:.6}
.flight-fields-compact>.location-field{grid-column:span 5}
.booking-fields>.swap-route{grid-column:span 2;border:1px solid var(--border);background:var(--surface);border-radius:6px;min-height:46px;font-size:24px;direction:ltr}
.booking-fields>.passenger-box{grid-column:span 4;position:relative;min-width:0;margin:0;padding:0;border:0}
.booking-fields>.button{grid-column:span 2;min-height:46px;padding-inline:10px}
.hotel-fields-compact>.location-field{grid-column:span 4}
.hotel-fields-compact>.travel-date{grid-column:span 2}
.hotel-fields-compact>.passenger-box{grid-column:span 3}
.hotel-fields-compact>.button{grid-column:span 1;font-size:13px}
.passenger-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:46px;text-align:right;padding:9px 12px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:14px}
.passenger-toggle>[data-passenger-summary]{flex:1;line-height:1.5;overflow-wrap:anywhere}
.passenger-toggle[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 2px #02b78f16}
.passenger-panel{position:absolute;z-index:35;top:calc(100% + 8px);inset-inline-end:0;width:350px;max-width:90vw;padding:20px;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 35px #16384626;background:white;color:var(--brand)}
.passenger-panel h3{font-size:18px;margin:0 0 15px}
.passenger-panel .cabin-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:15px}
.passenger-panel .cabin-field select{width:165px;min-height:40px;background:#f7faf9;font-size:14px}
.passenger-counter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #edf1f1}
.passenger-counter>label{font-size:15px;font-weight:600;margin:0}
.passenger-counter small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}
.stepper{display:flex;align-items:center;direction:ltr;gap:5px;flex-shrink:0}
.stepper button{width:36px;height:36px;border:1px solid var(--border);border-radius:7px;background:#f2f8f6;font-size:24px}
.stepper button:hover:not(:disabled){border-color:var(--primary);background:#e5f6ef}
.stepper button:disabled{opacity:.3}
.passenger-panel .stepper input{width:30px;min-width:30px;min-height:36px;padding:0;border:0;background:white;font-size:17px;text-align:center;appearance:textfield;cursor:default}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.passenger-hint{font-size:11px;line-height:1.8;color:var(--muted);margin:10px 0}
.passenger-done{width:100%;margin-top:4px}
.booking-fields .location-options{top:100%;border-color:var(--border)}
.booking-fields [data-location-status]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.travel-search .discovery-help{font-size:12px;line-height:1.8;margin-top:12px;color:var(--brand)}
.travel-search [data-travel-status]:empty{display:none}
.travel-search .discovery-privacy{border:0;color:var(--brand);font-size:11px;line-height:1.8;margin:10px 0 0;padding:0}
.hero .discovery-privacy{color:white}
.discovery-surface a:focus-visible{outline-color:var(--accent)}
html:not(.discovery-ready) .passenger-toggle,html:not(.discovery-ready) .stepper button,html:not(.discovery-ready) .passenger-done{display:none}
html:not(.discovery-ready) .passenger-panel{position:static;width:100%;max-width:none}
html:not(.discovery-ready) [data-discovery-panel]{margin-bottom:16px}
/* حالت اولیهٔ Home تا پایان آماده‌سازی فعلی؛ مسیر بدون جاوااسکریپت تغییر نمی‌کند.
   Home's initial state until existing initialization completes; retain the no-JavaScript fallback. */
html.home-discovery-pending:not(.discovery-ready) .hero [data-discovery-panel]{margin-bottom:0}
html.home-discovery-pending:not(.discovery-ready) .hero [data-discovery-panel]:not([data-discovery-panel=search]){display:none}
html.home-discovery-pending:not(.discovery-ready) .hero [data-discovery-tab=search]{color:var(--accent);background:white;border-bottom:3px solid var(--accent)}
html.home-discovery-pending .hero .discovery-privacy{min-block-size:3.6em}
/* حالت جایگزین منو و شکست عنوان نباید جای باکس Home را پس از اولین paint عوض کنند.
   Menu fallback and title wrapping must not move Home's search box after first paint. */
@media(max-width:900px){
 html.home-discovery-pending:not(.shell-ready) .site-header{flex-wrap:nowrap}
 html.home-discovery-pending:not(.shell-ready) .site-nav{display:none}
 html.home-discovery-pending:not(.shell-ready) .menu-toggle{display:block}
 html.home-discovery-pending .hero-content>p{min-block-size:3.4em}
}
@media(max-width:700px){
 html.home-discovery-pending .hero h1{min-block-size:2.8em;display:flex;align-items:center;justify-content:center}
 html.home-discovery-pending .hero-content>p{min-block-size:3.6em}
 html.home-discovery-pending .hero .discovery-privacy{min-block-size:5.4em}
}
@media(max-width:600px){
 html.home-discovery-pending:not(.shell-ready) .site-header:has(.auth-state){flex-wrap:wrap}
}
@media(max-width:1100px){
 .hotel-fields-compact>.location-field{grid-column:span 6}
 .hotel-fields-compact>.travel-date{grid-column:span 3}
 .hotel-fields-compact>.passenger-box{grid-column:span 8}
 .hotel-fields-compact>.button{grid-column:span 4}
}
@media(max-width:900px){
 .flight-fields-compact>.travel-date,.flight-fields-compact>.passenger-box,.flight-fields-compact>.button{grid-column:span 6}
}
@media(max-width:700px){
 .service-tabs a,.service-tabs .service-unavailable{font-size:12px;padding-inline:10px;gap:5px}
 .service-tabs .ui-icon{width:17px;height:17px;flex-basis:17px}
}
@media(max-width:600px){
 .travel-search{width:calc(100% - 24px)}
 .travel-search .service-tabs{overflow-x:auto;justify-content:flex-start}
 .service-tabs a,.service-tabs .service-unavailable{flex:0 0 auto;min-width:0;min-height:45px;padding:7px 12px}
 .travel-search .search-panel{padding:18px 14px}
 .travel-search .simple-search>label{font-size:16px}
 .travel-search .simple-search-row{gap:6px}
 .travel-search .simple-search-row input{padding:10px;font-size:14px;flex:1 1 0!important}
 .travel-search .simple-search-row .button{padding:10px 14px;font-size:14px;flex:0 0 auto!important}
 .travel-search .booking-fields{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .flight-fields-compact>.location-field,.flight-fields-compact>.travel-date,.hotel-fields-compact>.travel-date{grid-column:span 1}
 .flight-fields-compact>.location-field:first-of-type{grid-column:1;grid-row:1}
 .flight-fields-compact>.swap-route+.location-field{grid-column:2;grid-row:1}
 .booking-fields>.swap-route{grid-column:1/-1;grid-row:2;min-height:30px}
 .hotel-fields-compact>.location-field,.booking-fields>.passenger-box,.booking-fields>.button{grid-column:1/-1}
 .booking-fields input,.booking-fields select{font-size:14px;padding:9px}
 .passenger-panel{position:relative;inset:auto;top:auto;margin-top:8px;width:100%;max-width:none;padding:16px;box-shadow:0 5px 16px #183e4912}
 .passenger-counter{padding:12px 0}
 .stepper button{width:40px;height:40px}
}
