/* ===== Local fonts ===== */
@font-face{font-family:"Euclid Circular A";src:url("../font/EuclidCircularA-Medium.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Euclid Circular A";src:url("../font/EuclidCircularA-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Baskerville Custom";src:url("../font/baskervi.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Baskerville Custom";src:url("../font/BaskervilleBoldItalicBT.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap;}

/* ===== Theme ===== */
:root{
  --page-bg:#fffbf5;
  --theme:#a95917;
  --text:#1d1d1f;
  --muted:#8b8b8b;
  --side-gap:clamp(16px,6vw,5rem);

  --icon-lg:100px;
  --icon-md:88px;
  --icon-sm:72px;

  /* tooltip & cards */
  --tip-pad:12px; --tip-radius:12px; --arrow:8px;
  --shadow:0 8px 22px rgba(0,0,0,.22);
  --card-bg:rgba(255,255,255,.98);
  --card-border:rgba(169,89,23,.25);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--page-bg);
  color:var(--text);
  font-family:"Euclid Circular A",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}


.section-wrap{padding:64px var(--side-gap)}

/* ===== ABOUT layout ===== */
.about-grid{
  display:grid;
  grid-template-columns:40% 60%;
  grid-template-rows:auto auto;
  grid-template-areas:
    "empty  title"
    "left   body";
  column-gap:40px; align-items:start;
}
.about-title{grid-area:title}
.left-wrap{grid-area:left}
.about-text{grid-area:body}

.brand-h2{font-size:18px; font-weight:600; margin-bottom:6px}
.brand-sub{color:#666; font-weight:400; margin-bottom:0}

.about-title h1{
  font-size:clamp(40px,7vw,80px);
  font-weight:900; color:var(--theme);
  line-height:1; letter-spacing:1px; margin-bottom:16px;
}
.about-text p{
  font-size:15px; line-height:1.9; margin-bottom:12px;
  text-align:justify; text-justify:inter-word;
}
.about-text em{font-family:"Baskerville Custom",serif;font-style:italic;color:var(--theme)}

@media (max-width:1100px){ .about-grid{grid-template-columns:38% 62%} }
@media (max-width:980px){
  .about-grid{
    grid-template-columns:1fr;
    grid-template-areas:"title" "left" "body";
    row-gap:18px;
  }
}

/* ===== Destination (desktop/tablet) ===== */
.destination{position:relative; overflow:visible;}
.destination-bg{
  position:absolute; inset:0;
  background:url("../OurStory-img/map1.jpg") center/cover no-repeat;
  filter:brightness(.85); z-index:0;
}
.dest-stage{position:relative; padding:64px var(--side-gap); z-index:1;}
.destination-content{position:relative; z-index:2; text-align:center; color:#fff; margin-bottom:16px;}
.destination h2{
  font-weight:700; font-size:34px; margin-bottom:8px;
  font-family:"Baskerville Custom",serif; font-style:italic;
}
.destination .subtitle{
  font-size:15px; color:rgba(255,255,255,.9);
  text-align:justify; text-justify:inter-word;
  max-width:900px; margin:0 auto;
}

/* Floating icons (desktop/tablet) */
.dest-icons{position:relative; width:100%; height:420px; z-index:2;}
.icon{
  position:absolute; display:flex; align-items:center; justify-content:center;
  width:var(--icon-lg); height:var(--icon-lg); border-radius:50%;
  background:rgba(255,255,255,.12); backdrop-filter:blur(4px);
  color:#fff; font-size:40px; cursor:pointer;
  animation:float 5s ease-in-out infinite; transition:transform .3s ease, background .3s ease;
}
.icon:hover{background:var(--theme); transform:scale(1.1)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
.i1{top:8%; left:10%} .i2{top:28%; left:26%} .i3{top:2%; left:50%}
.i4{top:36%; left:62%} .i5{top:10%; left:78%} .i6{top:62%; left:22%} .i7{bottom:2%; left:66%}
@media (max-width:1024px){ .icon{width:var(--icon-md); height:var(--icon-md); font-size:34px} .dest-icons{height:380px} }

/* Desktop floating tooltip */
.tip{
  position:absolute; left:50%;
  transform:translateX(calc(-50% + var(--shift-x,0px))) translateY(var(--y,0));
  min-width:200px; max-width:clamp(220px, 26vw, 320px);
  background:var(--card-bg); color:var(--text);
  padding:var(--tip-pad); border-radius:var(--tip-radius); box-shadow:var(--shadow);
  text-align:center; opacity:0; pointer-events:none;
  transition:opacity .28s ease, transform .28s ease; z-index:5;
}
.icon:hover .tip, .icon.tip-show .tip{opacity:1; transform:translateX(calc(-50% + var(--shift-x,0px))) translateY(var(--y-show,-12px))}
.tip::after{content:""; position:absolute; left:calc(50% + var(--shift-x,0px)); transform:translateX(-50%); border:var(--arrow) solid transparent;}
.tip.top{bottom:calc(100% + 10px)} .tip.top::after{top:0; transform:translate(-50%,-100%); border-top-color:var(--card-bg)}
.tip.bottom{top:calc(100% + 10px)} .tip.bottom::after{bottom:0; transform:translate(-50%,100%); border-bottom-color:var(--card-bg)}
.tip-title{display:block; font-family:"Baskerville Custom",serif; font-style:italic; font-size:16px; color:var(--theme); margin-bottom:6px}
.tip-desc{display:block; font-family:"Euclid Circular A",sans-serif; font-weight:600; font-size:14px; line-height:1.6; color:#2a2a2a}

/* ===== Mobile design (icon left • text right) ===== */
@media (max-width:900px){
  .destination{min-height:100vh;}
  .destination-bg{position:absolute; inset:0;}
  .dest-stage{
    min-height:100vh;
    padding:48px var(--side-gap);
    display:flex; flex-direction:column;
  }

  /* hide floating icons; show mobile rows */
  .dest-icons{display:none;}
  .mobile-cards{
    display:flex; flex-direction:column; gap:14px; margin-top:12px;
  }

  /* row layout: icon left, card right */
  .m-item{
    display:grid;
    grid-template-columns: var(--icon-sm) 1fr;
    align-items:center;
    gap:12px;
  }

  .m-icon{
    width:var(--icon-sm); height:var(--icon-sm); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.14); backdrop-filter:blur(4px);
    color:#fff; font-size:28px; flex-shrink:0;
  }

  .m-box{
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:14px;
    padding:14px 16px;
    box-shadow:var(--shadow);
    text-align:left;
  }

  .m-title{
    display:block;
    font-family:"Baskerville Custom",serif; font-style:italic;
    font-size:18px; color:var(--theme); margin-bottom:6px;
  }
  .m-desc{
    display:block;
    font-family:"Euclid Circular A",sans-serif; font-weight:500;
    font-size:14px; line-height:1.7; color:#2a2a2a;
    text-align:justify; text-justify:inter-word;
  }

  /* tighten on very small screens */
  @media (max-width:420px){
    :root{ --icon-sm:64px; }
    .m-item{ gap:10px; }
    .m-box{ padding:12px 14px; }
  }
}

/* ===== From Above (section 3) ===== */
.from-above{padding:80px var(--side-gap)}
.from-above h3{
  font-family:"Baskerville Custom",serif; font-style:italic;
  font-size:28px; color:var(--theme); margin-bottom:22px;
}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:40px 48px}
.photo-block{display:grid; gap:14px}
.photo-block p{
  font-family:"Euclid Circular A"; font-weight:200; font-size:14px; line-height:1.7; color:var(--theme);
  text-align:justify;
}
.photo{width:100%; aspect-ratio: 4/3; background:#ddd center/cover no-repeat; border-radius:10px; box-shadow:0 10px 26px rgba(0,0,0,.12)}
@media (max-width:980px){ .grid-2{grid-template-columns:1fr} .photo{aspect-ratio: 16/10;} }

/* ====== FLOATING ACTION BUTTONS ====== */
.fab-wrap{
  position:fixed;
  right:clamp(30px, 2vw, 20px);
  bottom:clamp(14px, 2vw, 20px);
  z-index:9999;
  display:flex; flex-direction:column; gap:14px;
  pointer-events:none;
}
.fab-btn{
  width:70px; height:70px; border-radius:50%;
  background:#3d2a1a;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer; pointer-events:auto; border:none; outline:none;
  text-decoration:none !important;
}
.fab-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.33); }

.fab-btn, .fab-btn:hover, .fab-btn:focus, .fab-btn:active, .fab-btn:visited, .fab-btn *{
  text-decoration:none !important;
}

/* WhatsApp brand button */
.fab-btn.whatsapp{ background:#25D366; }
.fab-btn.whatsapp i{ font-size:30px; color:#fff; line-height:1; display:block; }

@media (max-width:600px){
  .fab-btn{ width:50px; height:50px; }
  .fab-btn.whatsapp i{ font-size:22px; }
}
    

    .lyr-split{
        --bg-left: url("../OurStory-img/map4.jpg");          /* ← replace with your image */
        --bg-right: url("../OurStory-img/map5.jpg");        /* ← replace with your image */
        --overlay: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35));
        --title: "Baskerville Custom", "Libre Baskerville", Georgia, serif;
        --body: "Euclid Circular A", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
        --text:#fff;
        --btn-bg: rgba(255,255,255,.12);
        --btn-bg-hover: rgba(255,255,255,.22);
        --btn-text:#fff;

        display:grid;
        grid-template-columns: 1fr 1fr;
        min-height: 72vh;
        width:100%;
        overflow:clip;
    }
    .lyr-card{
        position:relative;
        display:flex;
        align-items:flex-end;
        isolation:isolate;
        background-size:cover;
        background-position:center;
        color:var(--text);
    }
    .lyr-card::before{
        content:"";
        position:absolute; inset:0;
        background: var(--overlay);
        z-index:0;
    }
    .lyr-card .lyr-content{
        position:relative; z-index:1;
        padding: clamp(20px, 4vw, 48px);
        width:min(720px, 92%);
    }
    .lyr-kicker{
        font-family:var(--title);
        font-style:italic;
        letter-spacing:.03em;
        font-size: clamp(22px, 3.2vw, 36px);
        font-weight:700;
        margin:0 0 .25rem 0;
        line-height:1.1;
    }
    .lyr-title{
        font-family:var(--title);
        font-style:italic;
        font-size: clamp(34px, 5vw, 56px);
        line-height:1.02;
        margin:0 0 .75rem 0;
        text-transform:uppercase;
        letter-spacing:.06em;
    }
    .lyr-desc{
        font-family:var(--body);
        font-weight:400;
        font-size:14px;                /* matches your requested body size */
        line-height:1.7;
        opacity:.95;
        max-width:56ch;
        margin:0 0 1.25rem 0;
    }
    .lyr-actions a{
        display:inline-block;
        font-family:var(--body);
        font-size:14px;
        font-weight:600;
        letter-spacing:.02em;
        text-decoration:none;
        color:var(--btn-text);
        background:var(--btn-bg);
        padding:.7rem 1rem;
        border:1px solid rgba(255,255,255,.35);
        border-radius:999px;
        backdrop-filter: blur(2px);
        transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .lyr-actions a:hover{ background:var(--btn-bg-hover); border-color:rgba(255,255,255,.6); transform: translateY(-1px); }
    .lyr-actions a:active{ transform: translateY(0); }

    /* Backgrounds */
    .lyr-left{ background-image: var(--bg-left); }
    .lyr-right{ background-image: var(--bg-right); }

    /* Hover lift for desktop */
    @media (hover:hover){
        .lyr-card{ transition: transform .35s ease; }
        .lyr-card:hover{ transform: scale(1.01); }
    }

    /* Mobile stack */
    @media (max-width: 820px){
        .lyr-split{ grid-template-columns: 1fr; min-height: unset; }
        .lyr-card{ min-height: 56vh; }
        .lyr-title{ font-size: clamp(28px, 8vw, 40px); }
    }

/* ===== EXPLORE YOUR STAY MAP ===== */
.explore-section{
  padding:72px var(--side-gap);
  background:var(--page-bg);
}

.explore-heading{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.explore-heading h2{
  font-family:"Baskerville Custom",serif;
  font-style:italic;
  font-size:40px;
  color:var(--theme);
  margin-bottom:10px;
}

.explore-heading p{
  font-size:18px;
  line-height:1.8;
  color:var(--muted);
}

@media(max-width:900px){
  .explore-heading h2{
    font-size: 25px;
}

  .explore-heading p{
    text-align: justify;
    font-size: 13px;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.explore-map-wrap{
  max-width:980px;
  margin:28px auto 0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(0,0,0,.18);
  background:#000;
}

/* Row that holds Camping + Pet maps side by side */
.explore-map-row{
  display:flex;
  gap:24px;

  flex-wrap:wrap;
  justify-content:center;
}

/* Each map takes half the row on desktop */
.explore-map-wrap--half{
  flex:1 1 0;
  max-width:100%;
}

/* In the combined layout, stack Camping + Pet maps vertically */
.explore-combined-col .explore-map-row{
  flex-direction:column;      /* ⬅️ turn it into a column on desktop too */
  align-items:stretch;
  gap:24px;                   /* vertical gap between Camping & Pet */
}

/* Each map uses the full column width */
.explore-combined-col .explore-map-wrap--half{
  flex:0 0 auto;
  width:100%;
  max-width:100%;
}


/* Specific frames for Camping Zone & Pet Zone images */
.explore-map-frame--camping{
  position:relative;
  width:100%;
  aspect-ratio:1080 / 660;  /* camping image ratio */
  background:url("../OurStory-img/Camping\ Zone.png") center/cover no-repeat;
}

.explore-map-frame--pet{
  position:relative;
  width:100%;
  aspect-ratio:1080 / 660;   /* pet zone image ratio */
  background:url("../OurStory-img/Pet\ Zone.png") center/cover no-repeat;
}

/* Stack vertically on mobile */
@media (max-width:900px){
  .explore-map-row{
    flex-direction:column;
    margin-top:28px;
  }
}


.explore-map-frame{
  position:relative;
  width:100%;
  aspect-ratio:1080 / 1640;   /* based on your map image */
  background:url("../OurStory-img/Glamping\ Zone.png") center/cover no-repeat;
}

/* === Combined row: Glamping (left) + Camping & Pet (right) === */
.explore-combined-row{
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr); /* left slightly wider */
  gap:40px;
  align-items:flex-start;
  margin-top:32px;
}

/* each column inside the combined row */
.explore-combined-col{
  width:100%;
}

/* stack on tablet/mobile */
@media (max-width:1024px){
  .explore-combined-row{
    grid-template-columns:1fr;
  }
}


/* floating pins */
/* ===== FLOATING MAP ICONS (UPGRADE) ===== */
.map-pin{
  position:absolute;
  transform:translate(-50%,-50%);
  width:60px;                      /* Bigger icon */
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(255,255,255,0.14);  /* Transparent + blur */
  backdrop-filter:blur(6px);

  color:#fff;
  font-size:30px;                   /* Bigger icon graphic */
  cursor:pointer;

  animation:float 5s ease-in-out infinite;   /* Floating motion */
  transition:transform .25s ease, background .3s ease, box-shadow .25s ease;

  box-shadow:0 8px 22px rgba(0,0,0,.28);
}

/* Hover: default (for facilities) */
.map-pin:hover{
  transform:translate(-50%,-55%);
  background:var(--theme);
}

/* Accommodation hover colors */
.map-pin.skyhawk:hover{ background:#ff79b9; }
.map-pin.cottage:hover{ background:#7fc7ff; }
.map-pin.dusky:hover{ background:#3d7bff; }
.map-pin.hornbill:hover{ background:#ff9a3d; }
.map-pin.eaglevilla:hover{ background:#d8b24b; }
.map-pin.eagledeck:hover{ background:#8b5a2b; }

/* Optional: label bubble above pin */
.map-pin-label{
  position:absolute;
  left:50%;
  top:-8px;
  transform:translate(-50%, -100%);
  background:rgba(0,0,0,.55);
  padding:3px 8px;
  border-radius:12px;
  font-size:11px;
  color:#fff;
  white-space:nowrap;
  pointer-events:none;
}


/* ===== Map Modals ===== */
.map-modal{
  position:fixed;
  inset:0;
  z-index:9000;
  display:none;
}

.map-modal.is-open{ display:block; }

.map-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
}

.map-modal__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  
  width:min(760px, 90%);       /* ⬅️ increased from 500px */
  max-height:88vh;             /* ⬅️ taller */
  
  background:#fff7ec;
  border-radius:20px;
  padding:24px 28px 28px;
  box-shadow:0 22px 50px rgba(0,0,0,.35);

  display:flex;
  flex-direction:column;
  gap:16px;
  overflow-y:auto;
}


/* When the modal content is long, switch to two columns */
.map-modal__body.long{
  column-count:2;
  column-gap:32px;
}

/* Keep one column on mobile */
@media (max-width:720px){
  .map-modal__body.long{
    column-count:1;
  }
}


.map-modal__kicker{
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}

.map-modal__title{
  font-family:"Baskerville Custom",serif;
  font-style:italic;
  font-size:24px;
  color:var(--theme);
  margin-bottom:8px;
}

.map-modal__body{
  font-size:16px;
  line-height:1.7;
  color:#3a3a3a;
  margin-bottom:14px;
  text-align: justify;
}

.map-modal__body img{
  max-width: 500px;
  height: auto;
  border-radius: 10px;
  margin-bottom: 1rem;
}

@media(max-width:900px){

.map-modal__body img{
  max-width: 300px;
  height: auto;
  border-radius: 10px;
  margin-bottom: 1rem;
}
}

.map-modal__body li{
  margin-left: 1rem;;
}

.map-modal__meta{
  font-size:14px;
  color:var(--muted);
  margin-bottom:12px;
}

.map-modal__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.map-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
  border:1px solid rgba(169,89,23,.35);
  background:#fff;
  color:var(--theme);
  text-decoration:none;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}

.map-cta:hover{
  background:var(--theme);
  color:#fff;
  transform:translateY(-1px);
}

.map-modal__close{
  position:absolute;
  top:8px;
  right:8px;
  width:28px; height:28px;
  border-radius:999px;
  border:none;
  background:rgba(0,0,0,.06);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

.map-modal__close i{
  font-size:14px;
  color:#555;
}

.map-body-row{
  display:flex;
  align-items:flex-start;      /* start, we’ll nudge the title down manually */
  gap:12px;
  margin-bottom:10px;
}

.map-body-row img.map-body-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  flex-shrink:0;
  object-fit:contain;
}

.map-body-row h3{
  margin:0;
  margin-top:9px;             /* ⬅️ this visually centers the text vs 40px icon */
  font-size:17px;
  font-weight:600;
  line-height:1.2;
}




/* mobile tweaks */
@media (max-width:720px){
  .explore-section{ padding:52px var(--side-gap); }
  .map-pin{ width:32px; height:32px; font-size:14px; }
}

/* Camping Zone Hover Color */
.map-pin.camping:hover{
  background:red; /* light blue */
}

/* Pet Zone Hover Color */
.map-pin.petzone:hover{
  background:#b27cff; /* purple */
}

/* Fullscreen Image Viewer */
#img-viewer {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:99999;
}

#img-viewer img {
  max-width:90vw;
  max-height:90vh;
  border-radius:10px;
  box-shadow:0 0 30px rgba(0,0,0,0.5);
  cursor:zoom-out;
}

  /* ====== REVEAL ANIMATIONS ====== */
  .reveal{opacity:var(--fade);transform:translateY(var(--lift)) scale(var(--scale-start));will-change:transform,opacity;}
  .reveal.is-visible{opacity:1;transform:translateY(0) scale(1);transition: opacity var(--dur-in) var(--ease), transform var(--dur-in) var(--ease);}

  .detail-scroll ul.compact.reveal[style*="--i:21"],
  .detail-scroll ul.compact.reveal[style*="--i:20"],
  .detail-scroll ul.compact.reveal[style*="--i:22"] {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }

    @media (prefers-reduced-motion:reduce){
    .detail-book-cta,.gallery-nav button{transition:none!important;}
    .reveal{opacity:1; transform:none;}
    .gallery-main img{animation:none!important;}
  }

/* ===== FULL-WIDTH HORIZONTAL MAP GUIDE (TOP) ===== */
.full-guide-section{
  padding:0;                 /* no side padding */
  background:var(--page-bg);
}


.full-guide-frame{
  position:relative;
  width:100%;
  max-width:100%;
  margin:0 auto;
  aspect-ratio:1600 / 1131;   /* horizontal map ratio (adjust if needed) */
  background:url("../OurStory-img/main-banner.png") center/cover no-repeat;
  /* remove rounded corners so it truly touches the edges */
  border-radius:0;
}

/* optional: small shadow under the full-width map */
@media (min-width:900px){
  .full-guide-frame{
    box-shadow:0 10px 26px rgba(0,0,0,.22);
  }
}

.section-title-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;   /* centers the whole row */
  align-items: center;        /* vertically align icon + text */
  gap: 18px;                  /* spacing between icon + text */
}

.section-title-wrapper .section-icon {
  width: 140px;   /* adjust size to your liking */
  height: auto;
}

.section-title-wrapper .section-title {
  font-family: "Euclid Circular A", sans-serif;
  font-size: 30px;
  letter-spacing: 0.25em;
  color: #716a65;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0;
}

.section-title-wrapper .section-icon.pet {
  width: 50px;   /* adjust size to your liking */
  height: auto;
}

@media(max-width:900px){
  .section-title-wrapper .section-title{
    font-size: 16px;
  }

  .section-title-wrapper .section-icon {
  width: 80px;   /* adjust size to your liking */
  height: auto;
  }

  .section-title-wrapper .section-icon.pet {
  width: 30px;   /* adjust size to your liking */
  height: auto;
  }
}

/* Screenshot-style Services & Facilities Legend */
.legend-sf{
  margin: 28px auto 0;
  padding: 0 var(--side-gap);
  margin-bottom: var(--side-gap);
}

.sf-legend{
  max-width: 980px;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

/* Yellow title bar */
.sf-legend__title{
  background: var(--theme); /* warm yellow like screenshot */
  color: white;
  font-weight: 800;
  letter-spacing: .06em;
  font-size: 13px;
  padding: 10px 14px;
  text-transform: uppercase;
}

/* Dark panel */
.sf-legend__grid{
  background: var(--page-bg);
  backdrop-filter: blur(4px);
  padding: 12px 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 22px;
}

/* Each item */
.sf-item{
  display: flex;
  align-items: center;
  gap: 10px;

  color: var(--theme);
  font-size: 13px;
  font-weight: 600;
}

.sf-item img{
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.sf-muted{
  opacity: .7;
  font-weight: 500;
  margin: 0 6px;
}

/* Responsive columns */
@media (max-width: 900px){
  .sf-legend__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
  }
}

@media (max-width: 520px){
  .sf-legend__grid{
    grid-template-columns: 1fr;
  }
}

/* ===== FULL GUIDE PIN POSITIONS (DESKTOP DEFAULT) ===== */
.full-guide-frame .pin-hub{ top:23%; left:46%; }
.full-guide-frame .pin-hidenz{ top:18%; left:52%; }
.full-guide-frame .pin-bottomfac{ top:84%; left:54%; }
.full-guide-frame .pin-dropoff{ top:23%; left:33%; }
.full-guide-frame .pin-security{ top:95%; left:60%; }
.full-guide-frame .pin-facilities2{ top:60%; left:60%; }
.full-guide-frame .pin-poolhall{ top:13%; left:34%; }
.full-guide-frame .pin-dropoff4{ top:50%; left:69%; }


@media (max-width: 900px){
  .full-guide-frame .pin-hub{ top: 25%; left: 45%; }
  .full-guide-frame .pin-hidenz{ top: 14%; left: 54%; }
  .full-guide-frame .pin-dropoff{ top: 23%; left: 27%; }
  .full-guide-frame .pin-security{ top: 90%; left: 63%; }
  .full-guide-frame .pin-facilities2{ top: 60%; left: 60%; }
  .full-guide-frame .pin-poolhall{ top: 13%; left: 29%; }
  .full-guide-frame .pin-dropoff4{ top: 45%; left: 69%; }
  .full-guide-frame .pin-bottomfac{ top: 87% ; left: 45%;}
}
