/* Ish Travel – booking-conditions page styles.
 * Generated from phase 2/design/booking-conditions.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}
}

.crumbs{font-size:13px; display:flex; flex-wrap:wrap; gap:8px; align-items:center}

.crumbs a{text-decoration:none}

.chero{position:relative; color:#fff; isolation:isolate; overflow:hidden; min-height:min(720px, 86vh); display:flex; padding:0}

.chero > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transform:scale(1.06); animation:settle 6s cubic-bezier(.2,.6,.2,1) forwards}

@keyframes settle{to{transform:scale(1)}}

.chero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,.45) 0%, rgba(10,9,8,.05) 35%, rgba(10,9,8,.75) 100%)}

.chero .wrap{display:flex; flex-direction:column; justify-content:space-between; width:100%; padding-block:28px 40px; gap:40px}

.chero .crumbs{color:rgba(255,255,255,.85)}

.chero__name{font-size:clamp(76px, 15vw, 210px); line-height:.85; letter-spacing:-.03em; font-weight:300}

.chero__name em{color:var(--coconut)}

.chero__row{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px}

.chero__row p{font-size:19px; max-width:44ch; text-shadow:0 1px 14px rgba(0,0,0,.4)}

.chero__tag{display:inline-flex; align-items:center; gap:10px; font:600 12px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase}

.chero__tag .drop{background:var(--coconut); width:10px; height:14px}

.facts{display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); border-bottom:1px solid var(--line)}

.facts div{padding:22px 20px; display:grid; gap:4px; border-right:1px solid var(--line)}

.facts div:last-child{border-right:0}

.facts small{font:600 11px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

.facts b{font:400 22px/1.2 var(--serif)}

.facts span{font-size:13px; color:var(--muted)}

.intro{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,6vw,90px); align-items:start}

.intro h2{font-size:clamp(36px,4.6vw,52px); margin-top:16px}

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

.intro__text{display:grid; gap:16px; font-size:17px}

.intro__text p:first-child{font-size:20px}

.intro__text p + p{color:var(--muted)}

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

.hl article{display:grid; gap:12px}

.hl figure{margin:0; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.2; background:var(--fill)}

.hl img{width:100%; height:100%; object-fit:cover; transition:transform 1s}

.hl article:hover img{transform:scale(1.05)}

.hl figcaption{position:absolute; left:12px; bottom:12px; font-size:12px; color:#fff; background:rgba(18,17,15,.55); padding:5px 10px; border-radius:999px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}

.hl b{font:400 24px/1.2 var(--serif)}

.hl p{color:var(--muted); font-size:15px}

.regions{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(32px,6vw,90px); align-items:center}

.island{position:relative; max-width:500px; width:100%; justify-self:center}

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

.island__photo{transition:opacity .5s}

.pin{cursor:pointer}

.pin .ring{fill:var(--red); opacity:.18; transform-box:fill-box; transform-origin:center; animation:pulse 2.6s ease-out infinite}

.pin .dot{fill:var(--red); stroke:var(--bg-alt); stroke-width:3}

.pin text{font:600 13px var(--sans); fill:var(--fg); paint-order:stroke; stroke:var(--bg-alt); stroke-width:4px; stroke-linejoin:round}

.pin.is-on .dot{fill:var(--fg)}

.pin.is-on text{fill:var(--red)}

@keyframes pulse{0%{transform:scale(.6); opacity:.35} 100%{transform:scale(2.2); opacity:0}}

.rlist{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}

.rlist li{border-bottom:1px solid var(--line)}

.rlist button{width:100%; background:none; border:0; text-align:left; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 18px; padding:20px 4px; transition:padding .3s}

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

.rlist span{grid-column:1; font-size:14px; color:var(--muted)}

.rlist i{grid-row:1 / span 2; grid-column:2; align-self:center; font-style:normal; font-size:13px; font-weight:600; white-space:nowrap}

.rlist p{display:none; grid-column:1 / -1; font-size:15px; color:var(--muted); max-width:56ch; margin-top:6px}

.rlist button.is-on{padding-left:14px}

.rlist button.is-on b{color:var(--red); font-style:italic}

.rlist button.is-on p{display:block}

.when{border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:clamp(20px,3vw,32px); overflow-x:auto}

.when table{border-collapse:separate; border-spacing:4px; width:100%; min-width:640px; table-layout:fixed}

.when th{font:600 12px/1 var(--sans); color:var(--muted); padding:6px 0; text-align:center}

.when th:first-child{text-align:left; width:200px}

.when td{height:38px; border-radius:10px; text-align:center; font-size:11px; font-weight:700}

.when td:first-child{text-align:left; font:400 18px/1.2 var(--serif); padding-right:10px; height:auto}

.when td:first-child small{display:block; font:400 12px var(--sans); color:var(--muted)}

.lv3{background:var(--red); color:#fff}

.lv2{background:color-mix(in srgb, var(--red) 35%, var(--card)); color:var(--fg)}

.lv1{background:var(--fill); color:var(--muted)}

.when__key{display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; font-size:13px; color:var(--muted)}

.when__key span{display:inline-flex; align-items:center; gap:8px}

.when__key i{width:18px; height:12px; border-radius:4px; display:inline-block}

.when td.now{outline:2px solid var(--fg); outline-offset:1px}

.rail--3{grid-template-columns:repeat(3,1fr)}

@media (max-width:1100px){.rail--3{grid-template-columns:repeat(3,minmax(270px,1fr))}}

.faq{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,5vw,80px)}

.faq h2{font-size:clamp(36px,4.6vw,48px); margin-top:16px}

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

.faq details{border-top:1px solid var(--line)}

.faq details:last-child{border-bottom:1px solid var(--line)}

.faq summary{list-style:none; cursor:pointer; padding:20px 0; display:flex; justify-content:space-between; gap:16px; font:400 21px/1.3 var(--serif)}

.faq summary::-webkit-details-marker{display:none}

.faq summary svg{flex:none; transition:transform .3s; color:var(--muted); margin-top:4px}

.faq details[open] summary svg{transform:rotate(180deg)}

.faq details p{color:var(--muted); padding-bottom:20px; max-width:62ch}

.dhead{padding-block:28px 10px}

.dhead h1{font-size:clamp(48px,7vw,88px); margin-top:16px; max-width:14ch}

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

.dhead p{font-size:19px; color:var(--muted); max-width:52ch; margin-top:16px}

.monthpick{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:34px; padding:16px 18px; border:1px solid var(--line); border-radius:22px; background:var(--card)}

.monthpick > span{font-weight:600; font-size:15px}

.monthpick div{display:flex; flex-wrap:wrap; gap:4px}

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

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

.monthpick small{color:var(--muted); font-size:13px; margin-left:auto}

.cgrid{display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:20px}

.ccard{grid-column:span 2; position:relative; border-radius:var(--radius); overflow:hidden; color:#fff; isolation:isolate; min-height:440px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; transition:opacity .4s, filter .4s, transform .4s}

.ccard:nth-child(1),.ccard:nth-child(2){grid-column:span 3; min-height:520px}

.ccard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}

.ccard::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,0) 35%, rgba(10,9,8,.82))}

.ccard:hover img{transform:scale(1.05)}

.ccard__body{padding:26px; display:grid; gap:10px}

.ccard__tag{justify-self:start; font:600 11px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:8px 12px; border-radius:999px}

.ccard h2{font-size:clamp(40px,4.6vw,56px); line-height:1}

.ccard p{opacity:.9; font-size:15px; max-width:40ch}

.ccard__foot{display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap}

.ccard__foot small{display:block; font-size:12px; opacity:.8}

.ccard__foot b{font:400 26px/1 var(--serif)}

.mini{display:grid; grid-template-columns:repeat(12, 1fr); gap:3px; width:100%; max-width:300px}

.mini i{height:6px; border-radius:3px; background:rgba(255,255,255,.25)}

.mini i.on{background:var(--coconut)}

.ccard.dim,.js .ccard.rv.dim{opacity:.35; filter:grayscale(.6)}

.ccard__good{display:none; justify-self:start; font:700 11px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; background:var(--coconut); color:#12110F; padding:7px 11px; border-radius:999px}

.ccard.good .ccard__good{display:inline-block}

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

.combo{border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:24px; display:grid; gap:12px; text-decoration:none}

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

.combo b{font:400 26px/1.15 var(--serif)}

.combo b em{color:var(--red)}

.combo p{color:var(--muted); font-size:15px}

.combo__fl{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600}

.combo__fl svg{color:var(--red)}

@media (max-width:1000px){
  .facts{grid-template-columns:repeat(3, minmax(0,1fr))}
  .facts div:nth-child(3){border-right:0}
  .facts div:nth-child(n+4){border-top:1px solid var(--line)}
  .hl,.combos{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr 1fr}
  .ccard,.ccard:nth-child(1),.ccard:nth-child(2){grid-column:span 1; min-height:420px}
}

@media (max-width:820px){
  .intro,.regions,.faq{grid-template-columns:1fr}
  .island{max-width:360px}
}

@media (max-width:620px){
  .facts{grid-template-columns:1fr 1fr}
  .facts div{border-right:0 !important; border-top:1px solid var(--line)}
  .facts div:nth-child(odd){border-right:1px solid var(--line) !important}
  .facts div:nth-child(-n+2){border-top:0}
  .hl,.combos,.cgrid{grid-template-columns:1fr}
  .ccard,.ccard:nth-child(1),.ccard:nth-child(2){min-height:380px}
  .monthpick small{margin-left:0}
  .wa span{display:none}
  .wa{padding:16px}
}

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

.lhead h1{font-size:clamp(40px,5.6vw,64px); margin-top:14px}

.lmeta{display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:16px; font-size:14px; color:var(--muted)}

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

.draft{display:flex; gap:12px; align-items:flex-start; margin-top:22px; border-radius:16px; padding:14px 16px; font-size:14px; background:color-mix(in srgb, var(--st-turmeric) 9%, var(--card)); border:1px solid color-mix(in srgb, var(--st-turmeric) 35%, transparent); max-width:760px}

.draft svg{color:var(--st-turmeric); flex:none; margin-top:2px}

.draft b{display:block}

.lgrid{display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(30px,5vw,80px); align-items:start; padding-block:40px 100px}

.toc{position:sticky; top:100px; display:grid; gap:16px}

.toc details{border:0}

.toc summary{list-style:none; font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); cursor:default; margin-bottom:12px; pointer-events:none}

.toc summary::-webkit-details-marker{display:none}

.toc ol{list-style:none; margin:0; padding:0; display:grid; gap:2px; border-left:1px solid var(--line)}

.toc a{display:flex; gap:10px; padding:7px 12px; margin-left:-1px; border-left:2px solid transparent; text-decoration:none; font-size:14px; color:var(--muted); line-height:1.35}

.toc a span{font-variant-numeric:tabular-nums; min-width:16px}

.toc a:hover{color:var(--fg)}

.toc a.on{color:var(--fg); font-weight:600; border-left-color:var(--red)}

.toc__other{border-top:1px solid var(--line); padding-top:14px; display:grid; gap:8px; font-size:13px}

.toc__other b{font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

.toc__other a{color:var(--fg); text-decoration:none; border:0; padding:0; margin:0; font-size:14px}

.toc__other a:hover{color:var(--red)}

.ldoc{max-width:720px; min-width:0}

.glance{border:1px solid var(--line); border-radius:22px; background:var(--card); padding:22px 24px; margin-bottom:40px}

.glance h2{font-size:24px; font-weight:400; margin-bottom:14px}

.glance dl{margin:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:10px 20px; font-size:15px}

.glance dt{color:var(--muted)}

.glance dd{margin:0; font-weight:600}

.lsec{scroll-margin-top:100px; padding-block:0}

.lsec + .lsec{margin-top:44px; padding-top:40px; border-top:1px solid var(--line)}

.lsec h2{font-size:clamp(26px,3vw,32px); display:flex; gap:14px; align-items:baseline; margin-bottom:16px}

.lsec h2 span{font:400 18px/1 var(--serif); color:var(--red); min-width:24px}

.lsec p,.lsec li{font-size:16.5px; line-height:1.7}

.lsec p + p{margin-top:12px}

.lsec a{color:var(--red); font-weight:600}

.lsec ol{margin:0; padding-left:0; list-style:none; counter-reset:c; display:grid; gap:12px}

.lsec ol li{display:grid; grid-template-columns:44px minmax(0,1fr); counter-increment:c}

.lsec ol li::before{content:attr(data-n); color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; padding-top:3px}

.lsec b{font-weight:600}

.tbc{display:inline-block; font:700 10px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--st-turmeric); border:1px solid currentColor; border-radius:999px; padding:3px 7px; vertical-align:2px; margin-left:2px}

.ltable{overflow-x:auto; border:1px solid var(--line); border-radius:18px; margin:6px 0 18px; background:var(--card)}

.ltable table{width:100%; border-collapse:collapse; font-size:15px; min-width:480px}

.ltable th{text-align:left; font:600 12px/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); padding:14px 16px; border-bottom:1px solid var(--line); background:var(--bg-alt)}

.ltable td{padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top}

.ltable tr:last-child td{border-bottom:0}

.ltable td:first-child{font-weight:600}

.example{border-left:3px solid var(--red); background:var(--bg-alt); border-radius:0 14px 14px 0; padding:14px 18px; margin:0 0 18px; font-size:15px; color:var(--muted)}

.example b{display:block; color:var(--fg); margin-bottom:4px}

.lfoot{margin-top:50px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:14px; color:var(--muted)}

.lfoot a{color:var(--red); font-weight:600; text-decoration:none}

.totop{position:fixed; right:calc(22px + env(safe-area-inset-right,0px)); bottom:calc(96px + env(safe-area-inset-bottom,0px)); z-index:60; width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:var(--card); display:grid; place-items:center; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .3s; box-shadow:0 10px 24px -14px rgba(0,0,0,.4)}

.totop.on{opacity:1; pointer-events:auto}

.totop svg{transform:rotate(-90deg)}

@media (max-width:900px){
  .lgrid{grid-template-columns:1fr; padding-top:20px}
  .toc{position:static; border:1px solid var(--line); border-radius:18px; padding:14px 16px; background:var(--card)}
  .toc summary{pointer-events:auto; cursor:pointer; margin:0; display:flex; justify-content:space-between}
  .toc details[open] summary{margin-bottom:12px}
  .toc summary::after{content:"+"; font-size:16px}
  .toc details[open] summary::after{content:"−"}
  .toc__other{display:none}
}

@media (max-width:560px){ .glance dl{grid-template-columns:1fr; gap:2px} .glance dd{margin-bottom:8px} .lsec ol li{grid-template-columns:34px minmax(0,1fr)} .wa span{display:none} .wa{padding:16px} }
