/* Dedicated tour search page: the familiar search card sits above live results. */
.search-page-hero{padding:55px 0 88px;background:linear-gradient(120deg,#173e61,#236b89);color:#fff}
.search-page-hero .section-kicker{color:#ffd1ae;font-weight:900}
.search-page-hero h1{margin:8px 0 7px;font-size:clamp(34px,3.4vw,48px);line-height:1.15;font-weight:900;letter-spacing:-.035em}
.search-page-hero p{max-width:700px;margin:0;color:#d9ebf2;font-size:16px;font-weight:650}
.search-page .search-wrap{margin-top:-43px}
.search-page-results{padding:58px 0 85px;background:#fff}
.search-page-results .section-heading{margin-bottom:25px}
.search-page-results .section-heading h2{font-weight:900}
.search-page-results .section-heading p{margin-top:2px}
.search-page-results .listing-grid{align-items:stretch}
.search-page-results .empty-inline{padding:34px 38px;background:#f8fbfd;border-radius:15px}
@media(max-width:820px){.search-page-results .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .search-page-hero{padding:35px 0 68px}
  .search-page-hero h1{font-size:32px}
  .search-page-hero p{font-size:13px;line-height:1.5}
  .search-page .search-wrap{margin-top:-35px}
  .search-page-results{padding:40px 0 65px}
  .search-page-results .listing-grid{grid-template-columns:1fr}
  .search-page-results .empty-inline{padding:26px}
}

/* Shared date range calendar */
.search-field input[readonly][name$="_date"],.filter-panel input[readonly][name$="_date"]{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='none' stroke='%23204e70' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;padding-right:29px;font-weight:800}
.search-field input[readonly][name$="_date"]::placeholder{font-weight:650}
.search-start,.search-end{padding-inline:9px}
.search-field input[readonly][name$="_date"]{padding-right:26px;background-size:17px 17px;background-position:right 3px center;font-size:12px;font-weight:750}
@media(max-width:620px){.search-start,.search-end{padding-inline:7px}.search-field input[readonly][name$="_date"]{font-size:11.5px}}
.sinope-calendar-open{overflow:hidden}
.sinope-calendar-backdrop[hidden],.sinope-calendar[hidden]{display:none!important}
.sinope-calendar-backdrop{position:fixed;inset:0;z-index:99988;background:rgba(9,32,52,.42);backdrop-filter:blur(3px);opacity:0;transition:opacity .26s ease,backdrop-filter .26s ease}
.sinope-calendar-backdrop.is-visible{opacity:1}
.sinope-calendar{position:fixed;top:50%;left:50%;z-index:99989;width:min(740px,calc(100vw - 32px));max-height:min(690px,calc(100dvh - 40px));overflow:auto;transform:translate(-50%,calc(-50% + 10px)) scale(.975);opacity:0;border:1px solid #dce6ec;border-radius:19px;background:#fff;color:#1c344a;box-shadow:0 28px 90px rgba(6,29,51,.27);font-family:inherit;transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.25,1)}
.sinope-calendar.is-visible{transform:translate(-50%,-50%) scale(1);opacity:1}
.sinope-calendar-head{display:flex;align-items:center;gap:11px;padding:14px 22px;border-bottom:2px solid #1d5fa6;background:linear-gradient(115deg,#f6fbff,#fff)}
.sinope-calendar-head-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#e8f2fc;color:#16589d;font-size:21px}
.sinope-calendar-head strong{display:block;color:#124a89;font-size:21px;font-weight:900;line-height:1.1}
.sinope-calendar-head small{display:block;margin-top:2px;color:#667a89;font-size:12px;font-weight:700}
.sinope-calendar-close{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;border:0;border-radius:50%;background:#eef4f8;color:#284760;font-size:24px;line-height:1;cursor:pointer}
.sinope-calendar-close:hover{background:#deebf3}
.sinope-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 22px 0;color:#31516d;font-size:12px;font-weight:850}
.sinope-calendar-nav button{width:34px;height:34px;border:1px solid #d9e5ec;border-radius:10px;background:#f7fafc;color:#164e88;font-size:27px;line-height:1;cursor:pointer}
.sinope-calendar-nav button:hover:not(:disabled){background:#e7f2fb;border-color:#9bc5e8}
.sinope-calendar-nav button:disabled{opacity:.35;cursor:default}
.sinope-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:2px 22px 16px}
.sinope-calendar-month h3{margin:6px 0 9px;text-align:center;color:#354b62;font-size:18px;font-weight:900}
.sinope-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.sinope-calendar-weekday{display:grid;place-items:center;height:28px;color:#445b72;font-size:12px;font-weight:900}
.sinope-calendar-empty{min-height:36px}
.sinope-calendar-day{display:grid;place-items:center;width:100%;min-height:36px;border:0;border-radius:9px;background:transparent;color:#2e4660;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background .16s,color .16s,transform .16s}
.sinope-calendar-day:hover:not(:disabled){background:#e7f2fc;color:#0b4f9d;transform:translateY(-1px)}
.sinope-calendar-day:disabled{color:#bec8d1;cursor:default}
.sinope-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1.5px #d78448;color:#ae5927}
.sinope-calendar-day.is-in-range{border-radius:3px;background:#dbeaff;color:#175292}
.sinope-calendar-day.is-selected,.sinope-calendar-day.is-selected:hover{background:#1154a4;color:#fff;box-shadow:0 3px 9px rgba(17,84,164,.22)}
.sinope-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 22px;border-top:1px solid #dce6ec;background:#fbfdff}
.sinope-calendar-summary{display:flex;align-items:center;gap:8px;color:#334b64;font-size:13px;font-weight:850}
.sinope-calendar-summary svg{width:20px;height:20px;fill:none;stroke:#15549e;stroke-width:2;stroke-linejoin:round}
.sinope-calendar-foot button{padding:7px 0;border:0;border-bottom:1px solid #185aa5;background:none;color:#15549e;font-size:13px;font-weight:850;white-space:nowrap;cursor:pointer}
.sinope-calendar button:focus-visible{outline:3px solid #f1a36b;outline-offset:2px}
.sinope-calendar-progress{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:8px;padding:14px 22px 5px}
.sinope-calendar-step{display:flex;align-items:center;gap:9px;min-width:0;min-height:55px;padding:8px 10px;border:1px solid #e0e8ee;border-radius:11px;background:#fff;color:#526779}
.sinope-calendar-step>span:last-child{display:block;min-width:0}
.sinope-calendar-step-number{display:grid;flex:none;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf2f6;color:#536b7e;font-size:12px;font-weight:900}
.sinope-calendar-step small{display:block;color:#718396;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.sinope-calendar-step strong{display:block;overflow:hidden;color:#344c61;font-size:12px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.sinope-calendar-step-connector{text-align:center;color:#9aaab7;font-size:18px;font-weight:800}
.sinope-calendar-step.is-complete{border-color:#c9ddde;background:#f4faf8}
.sinope-calendar-step.is-complete .sinope-calendar-step-number{background:#dceee9;color:#1f665d}
.sinope-calendar-step.is-current{border-color:#2e6db2;background:#edf5ff;box-shadow:0 0 0 2px rgba(46,109,178,.1)}
.sinope-calendar-step.is-current .sinope-calendar-step-number{background:#1658a2;color:#fff}
.sinope-calendar-step.is-current strong{color:#114e93}
.sinope-calendar-step.is-next{animation:sinope-next-step .32s ease-out both}
@keyframes sinope-next-step{from{transform:translateY(5px);opacity:.65}to{transform:translateY(0);opacity:1}}
@media(max-width:650px){
  .sinope-calendar{top:auto;bottom:0;left:0;width:100%;max-height:min(680px,92dvh);transform:translateY(14px);border-radius:22px 22px 0 0}
  .sinope-calendar.is-visible{transform:translateY(0)}
  .sinope-calendar-head{padding:15px 18px}
  .sinope-calendar-head strong{font-size:21px}
  .sinope-calendar-progress{gap:6px;padding:12px 17px 4px}
  .sinope-calendar-step{gap:7px;min-height:52px;padding:7px 8px}
  .sinope-calendar-step-number{width:25px;height:25px}
  .sinope-calendar-step strong{font-size:11px}
  .sinope-calendar-nav{padding:10px 17px 0}
  .sinope-calendar-months{display:block;padding:3px 17px 18px}
  .sinope-calendar-month:nth-child(2){display:none}
  .sinope-calendar-month h3{font-size:20px}
  .sinope-calendar-grid{gap:2px}
  .sinope-calendar-day{min-height:43px;font-size:15px}
  .sinope-calendar-foot{padding:14px 18px}
  .sinope-calendar-summary{font-size:12px}
  .sinope-calendar-foot button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sinope-calendar-day,.sinope-calendar,.sinope-calendar-backdrop{transition:none}.sinope-calendar-step.is-next{animation:none}}

/* Adult and child traveler picker */
.search-field.search-adults{overflow:visible;z-index:4}
.traveler-control{position:relative;width:100%;min-width:0}
.traveler-control input[type=hidden]{display:none}
.traveler-trigger{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:28px;padding:0;border:0;background:transparent;color:var(--navy-dark);font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}
.traveler-trigger .traveler-summary{min-width:0;overflow:hidden;color:var(--navy-dark);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.traveler-trigger svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.traveler-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.traveler-panel[hidden]{display:none!important}
.traveler-panel{position:absolute;top:calc(100% + 16px);right:-12px;z-index:50;width:280px;padding:18px;border:1px solid #d9e5eb;border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(20,48,72,.2);color:#1b344b}
.traveler-panel::before{content:"";position:absolute;top:-8px;right:28px;width:14px;height:14px;transform:rotate(45deg);border-top:1px solid #d9e5eb;border-left:1px solid #d9e5eb;background:#fff}
.traveler-panel-title{padding-bottom:13px;border-bottom:1px solid #e5edf1;color:#143c60;font-size:15px;font-weight:900}
.traveler-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #edf1f4}
.traveler-row>span,.search-field .traveler-row>span{color:#24465f;font-size:14px;font-weight:800}
.traveler-row strong{font-weight:850}
.traveler-stepper{display:flex;align-items:center;gap:10px}
.traveler-stepper button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #aac8dd;border-radius:50%;background:#f5faff;color:#145492;font-size:20px;font-weight:700;line-height:1;cursor:pointer}
.traveler-stepper button:hover:not(:disabled){border-color:#165a9b;background:#e4f2fd}
.traveler-stepper button:disabled{opacity:.38;cursor:default}
.traveler-stepper output{min-width:15px;text-align:center;font-size:15px;font-weight:900}
.traveler-panel-actions{display:flex;justify-content:flex-end;padding-top:14px}
.traveler-done{min-width:88px;min-height:39px;padding:8px 15px;border:0;border-radius:7px;background:#203e4a;color:#fff;font-family:inherit;font-size:13px;font-weight:850;cursor:pointer;transition:background .18s ease,transform .18s ease}
.traveler-done:hover{background:#2d5560;transform:translateY(-1px)}
.traveler-control button:focus-visible{outline:2px solid #e98952;outline-offset:3px}
.filter-panel .traveler-archive-label{display:block;margin-bottom:7px;color:#526477;font-size:12px;font-weight:700}
.filter-panel .traveler-control{margin-bottom:17px}
.filter-panel .traveler-trigger{height:42px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#fff}
.filter-panel .traveler-panel{top:calc(100% + 7px);right:0}
@media(max-width:820px){.filter-panel .traveler-control{flex:1;min-width:180px;margin-bottom:0}}
@media(max-width:620px){
  .traveler-trigger,.traveler-trigger .traveler-summary{font-size:12px}
  .traveler-panel{right:-10px;width:min(280px,calc(100vw - 36px))}
  .filter-panel .traveler-control{margin-bottom:16px}
}
.search-wrap:has(.traveler-panel:not([hidden])){z-index:100}
@media(max-width:620px){
  .traveler-panel,.filter-panel .traveler-panel{position:fixed;top:auto;right:12px;bottom:12px;left:12px;width:auto;max-width:none;padding:19px;border-radius:18px;box-shadow:0 14px 55px rgba(7,30,52,.3)}
  .traveler-panel::before{display:none}
  .traveler-done{min-height:44px}
}

