/* =========================================================
   DANANG2NITE — PHASE 44
   MOBILE PLACES LIST ONLY / PREMIUM DIRECTORY
   Loaded only at max-width: 820px.
   PC Places, HOME, Magazine LIST/VIEW and Side Menu untouched.
   ========================================================= */

body.page-places-list .site-main{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 1%,rgba(118,0,52,.18),transparent 25%),
    radial-gradient(circle at 93% 8%,rgba(64,0,78,.14),transparent 27%),
    linear-gradient(180deg,#070708 0%,#080709 56%,#070708 100%);
}
body.page-places-list .site-main::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  height:440px;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.011) 80px,transparent 81px),
    linear-gradient(90deg,rgba(230,37,114,.024),transparent 36%,transparent 68%,rgba(217,185,110,.018));
  mask-image:linear-gradient(to bottom,#000,transparent 100%);
}

/* ---------- HERO ---------- */
body.page-places-list .index-hero{
  width:calc(100% - 14px);
  padding-block:40px 23px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
body.page-places-list .index-hero::after{
  content:"D2N / CURATED PLACES";
  display:block;
  margin-top:14px;
  color:#514b47;
  font-size:5px;
  font-weight:900;
  letter-spacing:1.65px;
}
body.page-places-list .index-hero .eyebrow{
  color:var(--gold-soft);
}
body.page-places-list .index-hero h1{
  max-width:100%;
  margin:11px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(43px,13vw,60px);
  font-weight:700;
  line-height:.92;
  letter-spacing:-2.1px;
  text-wrap:balance;
  background:linear-gradient(to bottom,#fbf8f3 0%,#f6f0e5 48%,#dfc47a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.page-places-list .index-hero p{
  max-width:96%;
  margin:14px 0 0;
  color:#aaa39a;
  font-size:12px;
  line-height:1.6;
}

/* ---------- DIRECTORY WRAPPER ---------- */
body.page-places-list .site-section--index{
  width:calc(100% - 10px);
  padding-top:12px;
  padding-bottom:54px;
}

/* ---------- GRID ---------- */
.places-grid--index{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

/* ---------- LEAD PLACE ---------- */
.place-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.015),transparent 62%),
    #0d0c0e;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.place-card:first-child{
  position:relative;
  min-height:322px;
  display:block;
  border-color:rgba(230,37,114,.15);
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 -1px 0 rgba(230,37,114,.15);
}
.place-card:first-child .place-card__media{
  position:absolute;
  inset:0;
  min-height:0;
  aspect-ratio:auto;
}
.place-card:first-child .place-card__media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    radial-gradient(circle at 88% 10%,rgba(230,37,114,.11),transparent 32%),
    linear-gradient(90deg,rgba(65,0,28,.10),transparent 55%);
}
.place-card:first-child .place-card__media::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.01) 8%,rgba(0,0,0,.09) 40%,rgba(0,0,0,.58) 70%,rgba(4,4,5,.98) 100%);
}
.place-card:first-child .place-card__body{
  position:absolute;
  z-index:3;
  inset:auto 0 0;
  min-height:0;
  padding:22px 15px 14px;
}
.place-card:first-child .place-card__body::before{
  content:"";
  position:absolute;
  top:11px;
  left:15px;
  width:46px;
  height:1px;
  background:linear-gradient(90deg,var(--pink),var(--gold-soft));
}
.place-card:first-child .place-category{
  color:var(--gold-soft);
}
.place-card:first-child h2,
.place-card:first-child h3{
  max-width:95%;
  margin-top:7px;
  font-family:Georgia,"Times New Roman",serif;
  color:#fffaf4;
  font-size:27px;
  font-weight:700;
  line-height:1.03;
  letter-spacing:-.75px;
  text-wrap:balance;
  text-shadow:0 5px 18px rgba(0,0,0,.55);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.place-card:first-child p{
  max-width:95%;
  margin-top:7px;
  color:#c2bab1;
  font-size:8px;
  line-height:1.45;
  -webkit-line-clamp:2;
}
.place-card:first-child .place-price{
  margin-top:10px;
  background:rgba(9,9,10,.48);
  backdrop-filter:blur(7px);
}

/* ---------- SUPPORT PLACE CARDS ---------- */
.place-card:not(:first-child){
  display:grid;
  grid-template-columns:39% minmax(0,1fr);
  min-height:148px;
}
.place-card__media{
  position:relative;
  min-height:148px;
  overflow:hidden;
  background:#121114;
}
.place-card__media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    radial-gradient(circle at 86% 12%,rgba(230,37,114,.08),transparent 34%),
    linear-gradient(90deg,rgba(55,0,24,.07),transparent 55%);
}
.place-card__media::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:
    linear-gradient(90deg,transparent 66%,rgba(13,12,14,.27)),
    linear-gradient(180deg,transparent 72%,rgba(0,0,0,.22));
  pointer-events:none;
}
.place-card__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.place-card .ad-badge{
  top:7px;
  inset-inline-start:7px;
  z-index:3;
  padding:4px 6px;
  border:1px solid rgba(217,185,110,.16);
  background:rgba(8,8,9,.68);
  color:var(--gold-soft);
  font-size:5px;
  font-weight:950;
  letter-spacing:.7px;
}
.place-card__body{
  position:relative;
  min-height:148px;
  padding:12px 11px 10px;
  display:flex;
  flex-direction:column;
}
.place-card:not(:first-child) .place-card__body::before{
  content:"";
  position:absolute;
  top:0;
  left:11px;
  width:28px;
  height:1px;
  background:linear-gradient(90deg,var(--pink),var(--gold-soft));
}
.place-category{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--pink-soft);
  font-size:6px;
  font-weight:950;
  letter-spacing:.65px;
  text-transform:uppercase;
}
.place-category::before{
  content:"";
  width:10px;
  height:1px;
  background:currentColor;
  opacity:.8;
}
.place-card h2,
.place-card h3{
  margin:6px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  color:#fffaf4;
  font-size:16px;
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.3px;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.place-card p{
  margin:6px 0 0;
  color:#9e9790;
  font-size:7px;
  line-height:1.38;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.place-price{
  width:max-content;
  max-width:100%;
  margin-top:auto;
  padding:5px 7px;
  display:block;
  overflow:hidden;
  border:1px solid rgba(217,185,110,.14);
  border-radius:999px;
  background:rgba(217,185,110,.03);
  color:var(--gold-soft);
  font-size:6px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---------- EMPTY ---------- */
body.page-places-list .public-empty{
  min-height:160px;
  border:1px solid rgba(230,37,114,.14);
  border-radius:15px;
  background:
    radial-gradient(circle at 50% 0,rgba(230,37,114,.055),transparent 58%),
    rgba(255,255,255,.008);
  color:#817a74;
  font-size:9px;
}

/* ---------- SCRIPT SAFE ---------- */
html[lang^="zh"] body.page-places-list .index-hero h1,
html[lang="ja"] body.page-places-list .index-hero h1,
html[lang="ko"] body.page-places-list .index-hero h1,
html[lang="th"] body.page-places-list .index-hero h1,
html[lang="hi"] body.page-places-list .index-hero h1,
html[lang="ar"] body.page-places-list .index-hero h1,
html[lang^="zh"] .place-card h2,
html[lang="ja"] .place-card h2,
html[lang="ko"] .place-card h2,
html[lang="th"] .place-card h2,
html[lang="hi"] .place-card h2,
html[lang="ar"] .place-card h2,
html[lang^="zh"] .place-card h3,
html[lang="ja"] .place-card h3,
html[lang="ko"] .place-card h3,
html[lang="th"] .place-card h3,
html[lang="hi"] .place-card h3,
html[lang="ar"] .place-card h3{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;
}
html[lang^="zh"] body.page-places-list .index-hero h1,
html[lang="ja"] body.page-places-list .index-hero h1,
html[lang="ko"] body.page-places-list .index-hero h1{
  font-size:40px;
  line-height:1.03;
  letter-spacing:-1.3px;
}
html[lang="th"] body.page-places-list .index-hero h1,
html[lang="hi"] body.page-places-list .index-hero h1,
html[lang="ar"] body.page-places-list .index-hero h1{
  font-size:38px;
  line-height:1.06;
  letter-spacing:-1.1px;
}
html[lang^="zh"] .place-card:first-child h2,
html[lang="ja"] .place-card:first-child h2,
html[lang="ko"] .place-card:first-child h2,
html[lang="th"] .place-card:first-child h2,
html[lang="hi"] .place-card:first-child h2,
html[lang="ar"] .place-card:first-child h2,
html[lang^="zh"] .place-card:first-child h3,
html[lang="ja"] .place-card:first-child h3,
html[lang="ko"] .place-card:first-child h3,
html[lang="th"] .place-card:first-child h3,
html[lang="hi"] .place-card:first-child h3,
html[lang="ar"] .place-card:first-child h3{
  font-size:24px;
  line-height:1.08;
}

/* ---------- NARROW PHONES ---------- */
@media(max-width:430px){
  body.page-places-list .index-hero{
    width:calc(100% - 10px);
  }
  body.page-places-list .site-section--index{
    width:calc(100% - 6px);
  }
  .place-card:first-child{
    min-height:304px;
  }
  .place-card:first-child h2,
  .place-card:first-child h3{
    font-size:25px;
  }
  .place-card:not(:first-child){
    grid-template-columns:37% minmax(0,1fr);
  }
  .place-card h2,
  .place-card h3{
    font-size:15px;
  }
}
