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

.bhead{padding-block:28px 30px}

.bhead h1{font-size:clamp(48px,7vw,88px); margin-top:16px}

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

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

.bcats{display:flex; gap:6px; flex-wrap:wrap; margin-top:26px}

.bcats button{border:1px solid var(--line); background:var(--card); border-radius:999px; padding:9px 15px; font-size:14px; font-weight:600; cursor:pointer}

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

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

.bcard{display:grid; gap:14px; align-content:start}

.bcard__img{display:block; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:var(--fill)}

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

.bcard:hover .bcard__img img{transform:scale(1.05)}

.bcard__b{display:grid; gap:8px}

.bcat{font:600 11px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--red)}

.bcard h3{font-size:24px; font-weight:400; line-height:1.2}

.bcard h2{font-size:clamp(32px,3.6vw,46px); line-height:1.1}

.bcard h2 a,.bcard h3 a{text-decoration:none}

.bcard h2 a:hover,.bcard h3 a:hover{color:var(--red)}

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

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

.bcard--big{grid-column:1 / -1; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(24px,4vw,50px); align-items:center; padding-bottom:30px; border-bottom:1px solid var(--line); margin-bottom:6px}

.bcard--big .bcard__img{aspect-ratio:16/10}

.bcard--big p{font-size:17px}

.bempty{grid-column:1 / -1; text-align:center; color:var(--muted); padding:40px; border:1.5px dashed var(--line); border-radius:var(--radius)}

.bnews{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:center; border-radius:var(--radius); background:var(--footer); color:var(--footer-fg); padding:clamp(24px,4vw,44px)}

.bnews h2{font-size:clamp(28px,3.2vw,38px)}

.bnews h2 em{color:#C9A46A}

.bnews p{opacity:.8; margin-top:8px}

.bnews form{display:flex; gap:8px; background:rgba(255,255,255,.08); border:1px solid rgba(237,230,218,.2); border-radius:999px; padding:6px}

.bnews input{flex:1; min-width:0; border:0; background:transparent; color:#EDE6DA; padding:0 16px; font-size:15px}

.bnews input::placeholder{color:rgba(237,230,218,.55)}

.bnews input:focus{outline:none}

.bnews .ok{color:#7FBF8A; font-weight:600}

.rprog{position:fixed; left:0; top:0; height:3px; background:var(--red); width:0; z-index:100}

.ahead{max-width:820px; margin:0 auto; padding-block:28px 34px; text-align:center; display:grid; justify-items:center; gap:16px}

.ahead h1{font-size:clamp(38px,5.4vw,64px); line-height:1.05}

.ahead .lede{font-size:20px; color:var(--muted); max-width:52ch}

.byline{display:flex; align-items:center; gap:12px; font-size:14px; color:var(--muted); text-align:left}

.byline img{width:44px; height:44px; border-radius:50%; object-fit:cover}

.byline b{display:block; color:var(--fg)}

.ahero{margin:0 auto; max-width:1240px; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:21/9; background:var(--fill)}

.ahero img{width:100%; height:100%; object-fit:cover}

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

.agrid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr); gap:30px; padding-block:50px 20px}

.abody{grid-column:2; min-width:0}

.aside-l{grid-column:1; justify-self:end; position:sticky; top:110px; align-self:start; display:grid; gap:10px}

.share{display:grid; gap:8px}

.share button,.share a{width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:var(--card); display:grid; place-items:center; cursor:pointer; color:var(--fg)}

.share button:hover,.share a:hover{border-color:var(--red); color:var(--red)}

.abody > p{font-size:18px; line-height:1.75; margin-bottom:22px}

.abody > p:first-of-type::first-letter{font:400 64px/0.85 var(--serif); float:left; margin:6px 10px 0 0; color:var(--red)}

.abody h2{font-size:clamp(28px,3.2vw,36px); margin:44px 0 16px}

.abody ul{margin:0 0 22px; padding:0; list-style:none; display:grid; gap:10px; font-size:17px}

.abody li{display:flex; gap:12px}

.abody li .drop{margin-top:7px}

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

.pull{margin:40px 0; padding:0 0 0 24px; border-left:3px solid var(--red); font:300 clamp(24px,2.8vw,30px)/1.35 var(--serif)}

.pull footer{font:500 14px var(--sans); color:var(--muted); margin-top:12px}

.afig{position:relative; margin:34px 0; border-radius:20px; overflow:hidden}

.afig img{width:100%; aspect-ratio:16/10; object-fit:cover}

.facts2{border:1px solid var(--line); border-radius:20px; background:var(--card); padding:6px 20px; margin:30px 0}

.facts2 div{display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px}

.facts2 div:last-child{border-bottom:0}

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

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

.callout{border-radius:20px; background:var(--bg-alt); padding:22px; margin:34px 0; display:grid; gap:10px}

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

.callout p{color:var(--muted)}

.callout .btn{justify-self:start; margin-top:4px}

.author{display:grid; grid-template-columns:72px minmax(0,1fr); gap:18px; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; margin-top:44px}

.author img{width:72px; height:72px; border-radius:50%; object-fit:cover}

.author b{font:400 22px/1.2 var(--serif); display:block}

.author p{font-size:14px; color:var(--muted); margin-top:4px}

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

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

@media (max-width:980px){ .bgrid{grid-template-columns:1fr 1fr} .bcard--big{grid-template-columns:1fr} .agrid{grid-template-columns:1fr} .abody{grid-column:1} .aside-l{grid-column:1; justify-self:start; position:static; order:2} .share{grid-auto-flow:column} }

@media (max-width:640px){ .bgrid,.bnews{grid-template-columns:1fr} .ahero{aspect-ratio:4/3} .facts2 div{grid-template-columns:1fr; gap:2px} .bnews form{flex-direction:column; border-radius:22px} .bnews input{padding:12px 14px} .wa span{display:none} .wa{padding:16px} }

/* ===== Theme additions (not in the design HTML) ===== */
/* Category menu: links to the category pages, styled like the design's buttons. */
.bcats a{border:1px solid var(--line); background:var(--card); border-radius:999px; padding:9px 15px; font-size:14px; font-weight:600; text-decoration:none}
.bcats a[aria-current="page"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}
