/* Ish Travel – tours page styles.
 * Generated from phase 2/design/tours.html (approved designs, 24 Oct 2026).
 * Edit here from now on; the design HTML is no longer the source. */

.hero h1{font-size:clamp(46px, 7.4vw, 88px); max-width:13ch; line-height:1.02}

.hero__intro{font-size:19px; max-width:46ch; text-shadow:0 1px 14px rgba(0,0,0,.55)}

.hero h1,.hero__eyebrow{text-shadow:0 2px 24px rgba(0,0,0,.3)}

.dest__visual{position:relative; max-width:500px; width:100%; justify-self:center; display:grid; gap:22px}

.dest__visual svg{width:100%; height:auto; display:block; overflow:visible}

.dest__photo{transition:opacity .5s}

.dest__name{font:300 clamp(30px,3.4vw,40px)/1 var(--serif); fill:#fff; font-style:italic}

.dest__sub{font:600 11px var(--sans); letter-spacing:.16em; text-transform:uppercase; fill:#FFD9A8}

.months{display:grid; gap:10px}

.months__head{display:flex; justify-content:space-between; font-size:13px; color:var(--muted)}

.months__head b{color:var(--fg); font-weight:600}

.months ol{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(12,1fr); gap:4px}

.months li{text-align:center; font:600 11px/1 var(--sans); padding:9px 0; border-radius:999px; background:var(--fill); color:var(--muted); transition:background .35s, color .35s}

.months li.on{background:var(--red); color:#fff}

.dest__list a{display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 18px; padding:18px 4px; text-decoration:none; transition:padding .3s}

.dest__list b{font:300 clamp(26px,3vw,32px)/1.1 var(--serif); transition:color .3s}

.home-tag{font:600 10px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--red); border:1px solid currentColor; border-radius:999px; padding:4px 8px; margin-left:10px; vertical-align:middle; font-style:normal}

@media (max-width:820px){
  .topbar__l a:not(:first-child){display:none}
  .qs{grid-template-columns:1fr 1fr; border-radius:26px}
  .qs__f{border-right:0; border-bottom:1px solid rgba(18,17,15,.12)}
  .qs__f:first-child{grid-column:1 / -1}
  .qs__f:nth-child(3){border-bottom:1px solid rgba(18,17,15,.12)}
  .qs__f:focus-within{border-radius:18px}
  .qs .btn{grid-column:1 / -1; justify-content:center; margin-top:8px}
  .ways,.dest,.cta,.news{grid-template-columns:1fr}
  .way{min-height:440px}
  .way__body{padding:26px}
  .dest__visual{max-width:400px}
  .cta::after{display:none}
}

@media (max-width:560px){
  .topbar__r a:not(.heart){display:none}
  .wa span{display:none}
  .wa{padding:16px}
  .months li{font-size:9px}
  .hdr__bar{height:66px}
  .logo small{display:none}
  .hero .wrap{padding-block:120px 28px}
  .hero__intro{font-size:17px}
  .exp{grid-template-columns:1fr 1fr}
  .why{grid-template-columns:1fr}
  .why div,.why div + div{padding-left:0; border-left:0; border-bottom:1px solid var(--line); padding-bottom:24px}
  .dep{grid-template-columns:1fr auto; grid-template-areas:"d p" "t t" "s b"; gap:12px}
  .ftr__top{grid-template-columns:1fr}
  .news form{flex-direction:column; border-radius:24px}
  .news input{padding:14px 16px}
  .news .btn{justify-content:center}
  .head{margin-bottom:30px}
}

.s-top{padding-block:28px 34px; border-bottom:1px solid var(--line)}

.crumbs{font-size:13px; color:var(--muted); display:flex; gap:8px; align-items:center}

.crumbs a{text-decoration:none}

.s-top__row{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:20px 40px; margin-top:22px}

.s-top h1{font-size:clamp(44px,6vw,64px); margin-top:14px}

.s-top h1 em{color:var(--red)}

.s-top p{color:var(--muted); margin-top:10px; max-width:52ch}

.kw{display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:6px 6px 6px 20px; width:min(440px,100%)}

.kw:focus-within{border-color:var(--fg)}

.kw svg{color:var(--muted); flex:none}

.kw input{flex:1; min-width:0; border:0; background:transparent; font-size:15px; padding:10px 0}

.kw input:focus{outline:none}

.kw button{border:0; background:var(--fill); border-radius:999px; width:36px; height:36px; cursor:pointer; display:grid; place-items:center}

.ctry{display:flex; gap:10px; overflow-x:auto; padding:26px 0 2px; scrollbar-width:none}

.ctry::-webkit-scrollbar{display:none}

.ctry button{flex:none; display:flex; align-items:center; gap:10px; border:1px solid var(--line); background:var(--card); border-radius:999px; padding:5px 16px 5px 5px; font-weight:600; font-size:14px; cursor:pointer; transition:border-color .2s, background .2s}

.ctry button img{width:34px; height:34px; border-radius:50%; object-fit:cover}

.ctry button span{color:var(--muted); font-weight:500}

.ctry button:hover{border-color:var(--fg)}

.ctry button[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}

.ctry button[aria-pressed="true"] span{color:inherit; opacity:.7}

.s-body{display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; padding-block:34px 100px}

.filters{position:sticky; top:96px; max-height:calc(100vh - 110px); overflow:auto; padding-right:6px; scrollbar-width:thin}

.filters__head{display:flex; justify-content:space-between; align-items:center; padding-bottom:12px}

.filters__head b{font:400 24px/1 var(--serif)}

.linkbtn{background:none; border:0; padding:6px 0; font-weight:600; color:var(--red); cursor:pointer; font-size:14px}

.fgroup{border-top:1px solid var(--line); padding-block:18px}

.fgroup legend,.fgroup > b{font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; padding:0; display:block}

fieldset.fgroup{border-left:0; border-right:0; border-bottom:0; margin:0; padding-inline:0}

fieldset.fgroup legend{float:left; width:100%}

fieldset.fgroup legend + *{clear:both}

.chk{display:flex; align-items:center; gap:12px; padding:6px 0; cursor:pointer; font-size:15px}

.chk input{appearance:none; -webkit-appearance:none; width:20px; height:20px; border:1.5px solid var(--line); border-radius:6px; margin:0; display:grid; place-items:center; cursor:pointer; flex:none; background:var(--card); transition:.15s}

.chk input:checked{background:var(--red); border-color:var(--red)}

.chk input:checked::after{content:""; width:10px; height:6px; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px)}

.chk input:focus-visible{outline:2px solid var(--red); outline-offset:2px}

.chk span{flex:1}

.chk small{color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums}

.fchips{display:flex; flex-wrap:wrap; gap:6px}

.fchips button{border:1px solid var(--line); background:var(--card); border-radius:999px; padding:8px 13px; font-size:13px; font-weight:600; cursor:pointer}

.fchips button:hover{border-color:var(--fg)}

.fchips button[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}

.months6{display:grid; grid-template-columns:repeat(3,1fr); gap:6px}

.months6 button{border:1px solid var(--line); background:var(--card); border-radius:14px; padding:8px 4px; cursor:pointer; display:grid; gap:1px; font-size:14px; font-weight:600}

.months6 button small{font-size:11px; color:var(--muted); font-weight:500}

.months6 button[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}

.months6 button[aria-pressed="true"] small{color:inherit; opacity:.7}

.range{position:relative; height:28px; margin-top:6px}

.range::before{content:""; position:absolute; left:0; right:0; top:13px; height:3px; border-radius:3px; background:var(--fill)}

.range__fill{position:absolute; top:13px; height:3px; background:var(--red); border-radius:3px}

.range input{position:absolute; inset:0; width:100%; margin:0; appearance:none; -webkit-appearance:none; background:transparent; pointer-events:none}

.range input::-webkit-slider-thumb{-webkit-appearance:none; pointer-events:auto; width:22px; height:22px; border-radius:50%; background:var(--card); border:2px solid var(--red); cursor:grab; box-shadow:0 2px 6px rgba(18,17,15,.2)}

.range input::-moz-range-thumb{pointer-events:auto; width:18px; height:18px; border-radius:50%; background:var(--card); border:2px solid var(--red); cursor:grab}

.range__vals{display:flex; justify-content:space-between; font-size:14px; font-weight:600; margin-top:8px; font-variant-numeric:tabular-nums}

.switch{display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-size:15px; font-weight:600}

.switch input{appearance:none; -webkit-appearance:none; width:44px; height:26px; border-radius:99px; background:var(--fill); position:relative; cursor:pointer; margin:0; transition:background .2s; flex:none}

.switch input::after{content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--card); box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s}

.switch input:checked{background:var(--red)}

.switch input:checked::after{transform:translateX(18px)}

.switch small{display:block; font-weight:400; color:var(--muted); font-size:13px}

.filters__apply{display:none}

.tbar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding-bottom:16px}

.tbar__count{font:400 26px/1.1 var(--serif)}

.tbar__count span{font:400 15px var(--sans); color:var(--muted)}

.tbar__count #count{font:400 30px/1 var(--serif); color:var(--fg)}

.tbar__r{display:flex; align-items:center; gap:10px}

.sort{display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted)}

.sort select{border:1px solid var(--line); background:var(--card); border-radius:999px; padding:10px 36px 10px 16px; font-weight:600; color:var(--fg); cursor:pointer; appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat}

.fbtn{display:none}

.active{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px}

.active:empty{display:none}

.achip{display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:7px 8px 7px 14px; font-size:13px; font-weight:600; background:var(--bg-alt); border:1px solid var(--line); cursor:pointer}

.achip svg{opacity:.6}

.achip:hover{border-color:var(--red); color:var(--red)}

.achip:hover svg{opacity:1}

.achip--clear{background:none; border:0; color:var(--red); padding-left:6px}

.results{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px}

.card__next{font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px}

.card__next .status{padding:4px 9px; font-size:12px}

.card__view{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:4px}

.card__view .btn{padding:10px 16px; font-size:14px; position:relative; z-index:2}

.card__lvl{display:inline-flex; gap:3px; align-items:center}

.card__lvl i{width:5px; height:10px; border-radius:2px; background:var(--fill)}

.card__lvl i.on{background:var(--red)}

.results .card.hide{display:none}

.empty{grid-column:1 / -1; text-align:center; padding:60px 20px; border:1px dashed var(--line); border-radius:var(--radius); display:grid; justify-items:center; gap:14px}

.empty > svg{width:70px; height:auto}

.empty h2{font-size:36px}

.empty h2 em{color:var(--red)}

.empty p{color:var(--muted); max-width:46ch}

.empty div{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:8px}

.pager{display:flex; justify-content:center; margin-top:36px; color:var(--muted); font-size:14px}

.scrim{display:none}

@media (max-width:1100px){
  .results{grid-template-columns:repeat(2, minmax(0,1fr))}
}

@media (max-width:900px){
  .s-body{grid-template-columns:1fr}
  .fbtn{display:inline-flex}
  .filters{position:fixed; left:0; right:0; bottom:0; top:auto; z-index:80; max-height:86vh; background:var(--bg); border-radius:26px 26px 0 0; padding:20px max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px)); transform:translateY(105%); transition:transform .4s cubic-bezier(.2,.7,.2,1); box-shadow:0 -30px 60px -20px rgba(0,0,0,.35)}
  .filters.open{transform:none}
  .filters::before{content:""; display:block; width:44px; height:4px; border-radius:4px; background:var(--line); margin:0 auto 14px}
  .filters__apply{display:flex; position:sticky; bottom:0; background:var(--bg); padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); gap:10px}
  .filters__apply .btn{flex:1; justify-content:center}
  .scrim{display:block; position:fixed; inset:0; z-index:75; background:rgba(10,9,8,.45); opacity:0; pointer-events:none; transition:opacity .3s}
  .scrim.open{opacity:1; pointer-events:auto}
}

@media (max-width:620px){
  .results{grid-template-columns:1fr}
  .tbar__count{width:100%}
  .tbar__r{width:100%; justify-content:space-between}
  .sort span{display:none}
  .wa span{display:none}
  .wa{padding:16px}
}
