/* Experience Tasmania Phase 1 discovery layer - 2026-10-03 */

.discovery-hero{padding:72px 0 64px;background:var(--paper)}
.discovery-hero .display{font-size:clamp(56px,7vw,90px);max-width:900px}
.discovery-hero .lead{max-width:690px;margin-top:22px}
.discovery-section{background:#fff}
.discovery-section.alt{background:var(--paper)}
.discovery-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.discovery-head .copy{max-width:470px}

.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.region-filter{appearance:none;text-align:left;border:1px solid var(--line);border-radius:19px;background:var(--paper-soft);padding:21px 22px;color:var(--ink);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.region-filter:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,34,25,.07)}
.region-filter.is-active{background:var(--forest);color:#fff;border-color:var(--forest)}
.region-filter strong{display:block;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.05;letter-spacing:-.02em}
.region-filter span{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--muted)}
.region-filter.is-active span{color:rgba(255,255,255,.72)}
.region-filter[data-empty="true"] span:after{content:" · growing";font-weight:730}

.theme-row{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0 32px}
.theme-filter{appearance:none;border:1px solid var(--line-dark);background:#fff;border-radius:999px;padding:9px 13px;color:var(--ink);font-size:12px;font-weight:750;cursor:pointer}
.theme-filter:hover,.theme-filter.is-active{background:var(--forest);border-color:var(--forest);color:#fff}

.place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.place-card{display:grid;grid-template-columns:1fr 1fr;min-height:280px;text-decoration:none;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--paper-soft);transition:transform .2s ease,box-shadow .2s ease}
.place-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.place-card[hidden]{display:none!important}
.place-card-media{min-height:280px;overflow:hidden;background:#d8d3c9}
.place-card-media img{width:100%;height:100%;object-fit:cover}
.place-card-body{display:flex;flex-direction:column;padding:24px}
.place-region{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.place-card h3{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.02;letter-spacing:-.03em;margin:10px 0}
.place-card p{font-size:14px;line-height:1.62;color:var(--muted);margin:0 0 16px}
.place-duration{font-size:11px;font-weight:720;color:#4d5a52;margin-top:auto}
.place-card .text-link{margin-top:13px}
.discovery-empty{border:1px dashed var(--line-dark);border-radius:18px;padding:24px;background:var(--paper-soft);color:var(--muted);font-size:14px}

.map-teaser{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.map-teaser-copy{max-width:520px}
.map-teaser-copy .copy{margin-top:16px}
.map-preview{position:relative;display:grid;place-items:center;min-height:480px;border-radius:26px;overflow:hidden;background:linear-gradient(145deg,#edf1ec,#e4e9e3);border:1px solid rgba(24,33,28,.08)}
.map-preview img{width:min(78%,540px);height:auto;opacity:.94}
.map-preview-dot{position:absolute;width:12px;height:12px;border:3px solid #fff;border-radius:999px;background:var(--forest);box-shadow:0 4px 14px rgba(17,34,25,.28)}
.map-preview-dot.wineglass{left:78.8%;top:58.9%}
.map-preview-dot.bay-fires{left:79.1%;top:41.0%}
.map-preview-dot.cradle{left:42.8%;top:47.7%}

.map-page{padding:62px 0 84px;background:var(--paper)}
.map-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:34px;align-items:start}
.map-panel{position:sticky;top:98px}
.map-panel h1{font-size:clamp(50px,5.5vw,72px)}
.map-panel .lead{font-size:16px;margin-top:18px}
.map-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.map-filter{appearance:none;border:1px solid var(--line-dark);background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:760;color:var(--ink);cursor:pointer}
.map-filter.is-active{background:var(--forest);color:#fff;border-color:var(--forest)}
.map-results{display:grid;gap:10px}
.map-result{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px}
.map-result[hidden]{display:none!important}
.map-result strong{display:block;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.1}
.map-result span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.map-result.is-selected{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}

.tas-map{position:relative;min-height:700px;border-radius:28px;background:linear-gradient(145deg,#eef2ed,#e5ebe5);border:1px solid rgba(24,33,28,.08);overflow:hidden}
.tas-map-base{position:absolute;inset:5% 6%;display:grid;place-items:center}
.tas-map-base img{width:100%;height:100%;object-fit:contain}
.map-pin{position:absolute;z-index:3;width:22px;height:22px;border:4px solid #fff;border-radius:999px;background:var(--forest);box-shadow:0 5px 18px rgba(17,34,25,.30);cursor:pointer;transform:translate(-50%,-50%);transition:transform .15s ease,background .15s ease}
.map-pin:hover,.map-pin:focus-visible,.map-pin.is-selected{transform:translate(-50%,-50%) scale(1.25);background:var(--forest-black);outline:none}
.map-pin.wineglass{left:79.9%;top:58.0%}
.map-pin.bay-fires{left:80.2%;top:41.9%}
.map-pin.cradle{left:43.6%;top:47.9%}
.map-pin[hidden]{display:none!important}
.map-pin-label{position:absolute;z-index:2;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);font-size:10px;font-weight:750;color:var(--ink);box-shadow:0 5px 14px rgba(17,34,25,.08)}
.map-pin-label.wineglass{left:68%;top:61.5%}
.map-pin-label.bay-fires{left:68%;top:36.5%}
.map-pin-label.cradle{left:27%;top:43%}
.map-pin-label[hidden]{display:none!important}
.map-attribution{position:absolute;right:13px;bottom:10px;font-size:9px;color:#667169;background:rgba(255,255,255,.78);padding:4px 7px;border-radius:999px}

.stay-page-hero{padding:54px 0 62px;background:var(--paper)}
.stay-page-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:center}
.stay-page-copy .display{font-size:clamp(54px,6vw,84px)}
.stay-page-copy .lead{margin-top:22px}
.stay-hero-image{height:610px;border-radius:26px;overflow:hidden}
.stay-hero-image img{height:100%;object-fit:cover}
.stay-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.stay-feature{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}
.stay-feature strong{display:block;font-size:13px}
.stay-feature span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.stay-gallery-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;height:560px}
.stay-gallery-grid>img,.stay-gallery-stack img{height:100%;object-fit:cover;border-radius:22px}
.stay-gallery-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.stay-location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.stay-location-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}
.stay-location-card h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:0 0 12px}
.stay-location-card p{font-size:14px;line-height:1.7;color:var(--muted)}
.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nearby-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.nearby-card img{aspect-ratio:4/3;object-fit:cover}
.nearby-card div{padding:17px}
.nearby-card strong{font-family:var(--serif);font-size:24px;font-weight:500}
.nearby-card span{display:block;margin-top:4px;font-size:11px;color:var(--muted)}

.home-discovery{background:var(--paper-soft)}
.home-discovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.home-place{position:relative;display:block;min-height:330px;border-radius:20px;overflow:hidden;text-decoration:none;background:#d6d0c6}
.home-place img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-place:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,18,13,.78) 0%,rgba(6,18,13,.12) 58%,rgba(6,18,13,.02) 100%)}
.home-place:hover img{transform:scale(1.02)}
.home-place-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:19px;color:#fff}
.home-place-copy span{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.home-place-copy strong{display:block;font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.02;margin-top:5px}

@media(max-width:1050px){
  .region-grid{grid-template-columns:repeat(2,1fr)}
  .place-grid{grid-template-columns:1fr}
  .map-layout{grid-template-columns:1fr}
  .map-panel{position:static}
  .tas-map{min-height:620px}
  .stay-page-grid,.stay-location-grid,.map-teaser{grid-template-columns:1fr}
  .stay-hero-image{height:560px}
  .home-discovery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .discovery-hero{padding:48px 0 46px}
  .discovery-head{display:block}
  .discovery-head .copy{margin-top:12px}
  .region-grid{grid-template-columns:1fr 1fr}
  .region-filter{padding:17px}
  .region-filter strong{font-size:22px}
  .place-card{grid-template-columns:1fr}
  .place-card-media{min-height:240px;aspect-ratio:4/3}
  .map-preview{min-height:390px}
  .tas-map{min-height:520px}
  .map-pin-label{display:none}
  .stay-page-hero{padding:42px 0 48px}
  .stay-hero-image{height:470px}
  .stay-feature-grid{grid-template-columns:1fr 1fr}
  .stay-gallery-grid{height:470px}
  .nearby-grid{grid-template-columns:1fr}
  .home-discovery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .region-grid,.home-discovery-grid{grid-template-columns:1fr}
  .tas-map{min-height:440px}
  .map-filter-row{margin:18px 0}
  .stay-hero-image{height:390px}
  .stay-gallery-grid{grid-template-columns:1fr;height:auto}
  .stay-gallery-grid>img{height:350px}
  .stay-gallery-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .stay-gallery-stack img{height:165px}
}

.stay-location-grid .copy{margin-top:18px}

.home-map-preview{min-height:390px}
.stay-location-simple{max-width:760px}
.stay-location-simple .copy{margin-top:18px;max-width:620px}
.stay-follow-actions{grid-template-columns:1fr;min-width:240px}
@media(max-width:1050px){.region-grid{grid-template-columns:repeat(2,1fr)}}
