
:root{
  --bg:#07120d;
  --card:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.12);
  --text:#f4fff3;
  --muted:rgba(244,255,243,.72);
  --accent:#a8f173;
  --accent2:#dfffaa;
  --city:#ffd93d;
  --nature:#4fd3ff;
  --history:#ffb14f;
  --shadow:0 18px 48px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 18%, rgba(168,241,115,.12), transparent 25%),
    radial-gradient(circle at 82% 22%, rgba(98,217,255,.07), transparent 24%),
    linear-gradient(180deg,#06100b 0%,#0b1b13 35%,#10251a 70%,#07120d 100%);
  overflow-x:hidden;
}
body.theme-night{
  background:
    radial-gradient(circle at 18% 18%, rgba(80,148,255,.14), transparent 24%),
    radial-gradient(circle at 80% 22%, rgba(0,228,255,.09), transparent 22%),
    linear-gradient(180deg, #020712 0%, #081220 36%, #091725 72%, #030812 100%);
  color:#e8f1ff;
}
nav{
  position:fixed; top:18px; left:50%; transform:translateX(-50%);
  z-index:1000; display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:center;
  padding:12px 18px; border-radius:999px; background:rgba(8,18,13,.50); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14); box-shadow:var(--shadow); max-width:calc(100% - 24px);
  transition:.35s ease;
}
nav.compact{ top:10px; padding:10px 14px; gap:8px; background:rgba(6,14,18,.88); border-radius:18px; }
nav.hidden-after-hero{ opacity:0; transform:translate(-50%,-24px) scale(.92); pointer-events:none; }
.brand{ display:flex; align-items:center; gap:10px; padding-right:10px; margin-right:6px; border-right:1px solid rgba(255,255,255,.12);}
.brand img{
  width:38px;height:38px;object-fit:contain;display:block;padding:5px;border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.16);
  filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(168,241,115,.45));
}
body.theme-night .brand img, body.theme-night .hero-logo-box img{
  filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(88,197,255,.55));
}
.brand span{font-weight:700;white-space:nowrap}
nav a{color:var(--text);text-decoration:none;font-weight:600;padding:8px 10px;border-radius:999px;transition:.25s;white-space:nowrap}
nav a:hover{background:rgba(168,241,115,.16)}
header{
  min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:left;
  padding:0 7%; position:relative;
  background:
    radial-gradient(circle at 78% 26%, rgba(255,215,120,.10), transparent 18%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.62)),
    linear-gradient(90deg, rgba(6,18,12,.92), rgba(6,18,12,.34) 55%, rgba(6,18,12,.18)),
    url("../assets/taganay.PNG") center/cover no-repeat;
}
body.theme-night header{
  background:
    linear-gradient(180deg, rgba(0,0,0,.44), rgba(0,0,0,.74)),
    linear-gradient(90deg, rgba(2,10,22,.94), rgba(2,10,22,.42) 55%, rgba(2,10,22,.16)),
    url("../assets/taganay.PNG") center/cover no-repeat;
}
header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(7,18,13,.94));pointer-events:none}
.hero{position:relative;z-index:1;max-width:1100px;width:100%}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.hero-kicker,.hero-badge,.ghost-btn,.chip{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 14px;border-radius:999px;
  color:var(--accent2);font-weight:700;letter-spacing:.3px;
}
.hero-display{margin:0 0 14px;font-size:clamp(2.6rem,5.4vw,5.2rem);line-height:.98}
.subline{margin:0 0 18px;font-size:clamp(1.1rem,2vw,1.8rem);color:rgba(255,255,255,.82)}
.desc{margin:0 0 26px;max-width:760px;line-height:1.7;color:var(--muted);font-size:1.06rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.btn{
  border:none;cursor:pointer;padding:14px 20px;border-radius:999px;font-weight:800;font-size:1rem;transition:.25s;
}
.btn-primary{background:linear-gradient(90deg,var(--accent),#d9ffb0);color:#0b180f;box-shadow:0 14px 30px rgba(168,241,115,.24)}
.btn-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.btn:hover{transform:translateY(-2px)}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px}
.hero-badge{padding:9px 12px;border-radius:999px;font-size:.9rem}
.hero-card,.map-shell,.side-panel,.selected-card,.table-wrap,.why-card{
  background:var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(12px);
}
.hero-card{position:relative;padding:22px;overflow:hidden}
.hero-logo{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.hero-logo-box{
  width:84px;height:84px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
}
.hero-logo-box img{width:54px;height:54px;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(168,241,115,.55))}
.hero-mini-map{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}
.hero-tile{padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.hero-tile b{display:block;margin-bottom:6px}
section{padding:88px 9%;position:relative}
h2{margin:0 0 12px;font-size:clamp(1.6rem,2.6vw,2.4rem);color:var(--accent2)}
.sub{margin:0 0 24px;max-width:920px;color:var(--muted);line-height:1.7}
.showcase-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.showcase-main,.showcase-stack article{position:relative;border-radius:26px;overflow:hidden;min-height:280px;border:1px solid rgba(255,255,255,.10);box-shadow:var(--shadow);cursor:pointer}
.showcase-stack{display:grid;gap:18px}
.showcase-main img,.showcase-stack img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s}
.showcase-main:hover img,.showcase-stack article:hover img{transform:scale(1.06)}
.showcase-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.74))}
.showcase-tag{display:inline-block;align-self:flex-start;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:.84rem}
.showcase-title{font-size:clamp(1.25rem,2vw,2rem);font-weight:800;margin-bottom:8px}
.showcase-text{color:rgba(255,255,255,.86);line-height:1.55;max-width:620px}
.showcase-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.map-shell{padding:16px}
.filters,.map-actions{display:flex;gap:10px;flex-wrap:wrap}
.filters{margin-bottom:12px}.map-actions{margin-bottom:14px}
.filter-btn,.ghost-btn{border:none;cursor:pointer;padding:10px 14px;border-radius:999px;font-weight:800;transition:.25s}
.filter-btn{background:var(--accent);color:#102117}
.ghost-btn{color:#fff;border:1px solid rgba(255,255,255,.14)}
.filter-btn:hover,.ghost-btn:hover{transform:translateY(-2px)}
.map-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:16px;align-items:start}
#map{height:620px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
body.theme-night #map{filter:brightness(.82) saturate(1.12) hue-rotate(12deg)}
.side-panel{padding:16px;border-radius:20px;max-height:620px;overflow:auto}
.search{width:100%;padding:12px 14px;border-radius:14px;outline:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;margin-bottom:12px}
.district-list{display:grid;gap:10px;margin-bottom:14px}
.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent2);padding:4px 2px 2px;margin-top:8px;font-weight:800}
.district-item{padding:14px;border-radius:18px;cursor:pointer;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:.25s}
.district-item:hover,.district-item.active{transform:translateY(-2px);background:rgba(168,241,115,.10);border-color:rgba(168,241,115,.28)}
.district-item strong{display:block;margin-bottom:4px;font-size:1rem}
.district-item span{color:var(--muted);font-size:.92rem}
.selected-card{margin-top:18px;padding:18px}
.selected-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.selected-box{grid-column:span 6;padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.selected-box b{display:block;margin-bottom:8px}
.nearby-list{display:grid;gap:8px;margin-top:10px}
.nearby-item{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:.25s}
.nearby-item:hover{background:rgba(255,255,255,.10);transform:translateY(-1px)}
.compare-pro{padding:0 9% 88px}.table-wrap{overflow:auto}
.compare-pro table{width:100%;border-collapse:collapse}
.compare-pro th,.compare-pro td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
.compare-pro th{color:var(--accent2);background:rgba(255,255,255,.03)}
.why-visit{padding:0 9% 88px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why-card{padding:22px}.why-card h3{margin:0 0 10px}.why-card p{margin:0;color:var(--muted);line-height:1.7}
.legend-panel{position:fixed;right:20px;bottom:20px;z-index:2200;width:220px;background:rgba(8,24,16,.88);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 14px 28px rgba(0,0,0,.28);padding:14px 16px;backdrop-filter:blur(12px)}
.legend-panel h4{margin:0 0 10px;font-size:1rem}
.legend-item{display:flex;align-items:center;gap:10px;margin:8px 0;color:var(--muted)}
.legend-dot{width:12px;height:12px;border-radius:50%;flex:none}
#placeDrawerBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2050;opacity:0;pointer-events:none;transition:.35s}
#placeDrawerBackdrop.show{opacity:1;pointer-events:auto}
#placeDrawer{position:fixed;top:0;right:-430px;width:430px;max-width:100%;height:100vh;z-index:2060;background:#08150f;border-left:1px solid rgba(255,255,255,.12);box-shadow:-16px 0 44px rgba(0,0,0,.45);transition:.42s ease;overflow:auto}
#placeDrawer.open{right:0}
.drawer-cover{width:100%;height:240px;object-fit:cover;display:block}
.drawer-body{padding:20px}
.drawer-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:18px;cursor:pointer;backdrop-filter:blur(8px)}
.drawer-grid{display:grid;gap:12px}
.drawer-box{padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}
.drawer-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.drawer-gallery img{width:100%;height:82px;object-fit:cover;border-radius:12px}
.tour-overlay{position:fixed;inset:0;z-index:2200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.58)}
.tour-overlay.show{display:flex}
.tour-card{width:min(1000px,100%);display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden;border-radius:28px;background:#0d1c15;border:1px solid rgba(255,255,255,.14);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.tour-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.tour-info{padding:24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.tour-step{color:var(--accent2);font-weight:700;font-size:.95rem}
.tour-info h3{margin:0;font-size:1.8rem}
.tour-info p{margin:0;color:var(--muted);line-height:1.7}
.tour-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.floating-night{position:fixed;top:90px;right:22px;z-index:2100;border:none;border-radius:14px;padding:11px 14px;cursor:pointer;background:rgba(8,24,16,.88);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 26px rgba(0,0,0,.28)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#102117;color:#fff}
.popup-title{font-size:1rem;font-weight:800;margin-bottom:6px}
.popup-row{font-size:.93rem;line-height:1.45;color:rgba(255,255,255,.88);margin-bottom:4px}
.popup-row b{color:var(--accent2)}
.reveal{opacity:0;transform:translateY(24px);transition:1s ease}
.reveal.show{opacity:1;transform:none}
footer{padding:36px 9%;text-align:center;color:rgba(255,255,255,.58);border-top:1px solid rgba(255,255,255,.08);background:#050d09}
@media (max-width:1120px){.map-grid,.hero-grid,.showcase-grid,.tour-card,.why-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  section,.compare-pro,.why-visit{padding:74px 7%}
  #map{height:500px}
  .selected-box{grid-column:span 12}
  .legend-panel{width:auto;left:14px;right:14px;bottom:14px}
  .floating-night{top:auto;bottom:82px;right:14px}
  .brand span{display:none}
}

.photo-main img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:16px;
  display:block;
  margin-top:14px;
  border:1px solid rgba(255,255,255,.10);
}
.photo-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.photo-strip img{
  width:100%;
  height:78px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
}
.photo-empty{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  color:var(--muted);
  border:1px solid rgba(255,255,255,.08);
}
.quick-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 0;
}
.quick-chip{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  font-size:.9rem;
}

.object-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.object-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
  transition:.25s;
}
.object-card:hover{transform:translateY(-3px)}
.object-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
.object-card-body{padding:16px}
.object-card-body h3{margin:0 0 8px;font-size:1.12rem}
.object-card-body p{margin:0 0 14px;color:var(--muted);line-height:1.65}
.object-card-actions{display:flex;gap:10px;flex-wrap:wrap}
.object-card-actions button{
  border:none;
  cursor:pointer;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  transition:.25s;
}
.object-card-actions .primary{background:var(--accent);color:#0b180f}
.object-card-actions .secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.facts-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.fact-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:22px;
  padding:18px;
  box-shadow:var(--shadow);
}
.fact-card b{display:block;margin-bottom:8px;color:var(--accent2)}
.fact-card p{margin:0;color:var(--muted);line-height:1.7}
@media (max-width:1120px){
  .object-grid,.facts-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .object-grid,.facts-grid{grid-template-columns:1fr}
}

/* 11.3 FIXES */
.legend-panel{display:none !important;}
.brand img,.hero-logo-box img{
  object-fit:contain !important;
  background:transparent !important;
}
.brand img{width:40px;height:40px;padding:0;border-radius:12px;}
.hero-logo-box{overflow:hidden;}
.hero-logo-box img{width:64px;height:64px;}

/* 11.5 fixes */
.leaflet-control-attribution{display:none !important;}
.brand img,.hero-logo-box img{
  filter:none !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
}
.brand img{width:42px;height:42px;padding:0;}
.hero-logo-box img{width:64px;height:64px;}

/* 12.0 additions */
.brand img,.hero-logo-box img{
  filter:none !important;
  object-fit:contain;
  background:transparent !important;
}
.brand img{
  width:42px !important;
  height:42px !important;
}
.hero-logo-box img{
  width:64px !important;
  height:64px !important;
}
.object-card .fact-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  line-height:1.55;
  font-size:.92rem;
}
.detail-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
  margin-top:14px;
}
.detail-box{
  grid-column:span 4;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
}
.detail-box b{display:block;margin-bottom:8px}
.quick-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 0;
}
.quick-chip{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  font-size:.9rem;
}
.region-mask{
  filter: blur(2px);
}
@media (max-width:760px){
  .detail-box{grid-column:span 12;}
}
