/* =========================================================
   DANANG2NITE — PHASE 63
   PC PREMIUM VISUAL QA / FINAL POLISH
   Screenshot-driven refinement after full 10-locale review.
   Loaded LAST at min-width: 821px.
   ========================================================= */

:root{
  --p63-edge:clamp(28px,3vw,56px);
  --p63-radius:20px;
  --p63-radius-sm:14px;
  --p63-border:rgba(255,255,255,.085);
  --p63-border-hot:rgba(230,37,114,.22);
  --p63-surface:#0d0c0f;
  --p63-muted:#aaa29a;
}

/* ---------- SHELL / HEADER ---------- */
.site-header{
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(7,7,8,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 10px 34px rgba(0,0,0,.18);
}
.site-header__main{
  min-height:70px!important;
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
}
.site-brand{gap:11px!important}
.site-brand__mark{
  width:47px!important;
  height:39px!important;
  border-radius:9px 14px 9px 14px!important;
  font-size:12px!important;
}
.site-brand__text strong{
  font-size:14px!important;
  letter-spacing:1.8px!important;
}
.site-brand__text small{
  margin-top:3px!important;
  font-size:7px!important;
  letter-spacing:1.15px!important;
}
.site-nav{gap:5px!important}
.site-nav>a{
  min-height:38px!important;
  padding-inline:14px!important;
  border-radius:999px!important;
  color:#a69f98!important;
  font-size:10px!important;
  font-weight:850!important;
}
.site-nav>a.is-active{
  color:#fff3f7!important;
  background:rgba(230,37,114,.05)!important;
}
.d2n-menu-toggle{
  min-height:40px!important;
  padding-inline:13px!important;
  border-radius:999px!important;
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.018)!important;
}
.d2n-menu-toggle__label{font-size:9px!important}

/* Language row should read as an intentional utility rail, not empty space. */
.site-language-wrap{
  border-top:1px solid rgba(255,255,255,.035)!important;
  background:linear-gradient(90deg,rgba(230,37,114,.018),transparent 26%,transparent 74%,rgba(217,185,110,.018));
}
.site-language-shell{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  min-height:33px!important;
}
.site-language-trigger{
  min-height:28px!important;
  padding-inline:10px!important;
  border-radius:999px!important;
}
.site-language-trigger__label,
.site-language-trigger strong{font-size:8px!important}
.site-language-panel{
  width:min(620px,calc(100vw - 64px))!important;
  padding:12px!important;
  border-radius:20px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
}
.site-languages{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.site-language{
  min-height:58px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
}
.site-language span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.18!important;
  font-size:11px!important;
}

/* ---------- HOME ---------- */
body.page-home .home-hero{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  padding-block:24px 18px!important;
  gap:16px!important;
}
body.page-home .home-hero__copy{
  padding:38px 38px 32px!important;
  border-radius:24px!important;
}
body.page-home .home-hero__copy h1{
  margin-top:15px!important;
  font-size:clamp(52px,4vw,70px)!important;
  line-height:.95!important;
}
body.page-home .home-hero__copy p{
  margin-top:15px!important;
  font-size:14.5px!important;
  line-height:1.62!important;
}
body.page-home .hero-actions{margin-top:19px!important}
body.page-home .hero-actions .button{
  min-height:44px!important;
  padding-inline:17px!important;
  font-size:10px!important;
}
body.page-home .featured-story{
  border-radius:24px!important;
  border-color:rgba(255,255,255,.09)!important;
}
body.page-home .featured-story__overlay{padding:20px 22px 19px!important}
body.page-home .featured-story h2{
  font-size:29px!important;
  line-height:1.06!important;
}
body.page-home .featured-story p{
  margin-top:8px!important;
  font-size:13px!important;
  line-height:1.48!important;
}

body.page-home .d2n-category-deck,
body.page-home .d2n-category-section,
body.page-home .home-section--places{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
}
body.page-home .d2n-category-deck{padding-block:17px 22px!important}
body.page-home .d2n-category-chip{
  min-height:66px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
}
body.page-home .d2n-category-chip>strong{
  font-size:10.5px!important;
  line-height:1.25!important;
}
body.page-home .d2n-category-section{
  padding-block:33px 38px!important;
}
body.page-home .d2n-category-section__head{margin-bottom:16px!important}
body.page-home .d2n-category-section__number{font-size:34px!important}
body.page-home .d2n-category-section__head h2{font-size:30px!important}
body.page-home .d2n-category-section__more{
  min-height:36px!important;
  padding-inline:13px!important;
  font-size:8px!important;
}

/* 3-column card system: stronger text / calmer chrome. */
body.page-home .d2n-category-stories,
body.page-home .d2n-category-stories.count-1,
body.page-home .d2n-category-stories.count-2,
body.page-home .d2n-category-stories.count-3,
body.page-home .home-places-grid{
  gap:15px!important;
}
body.page-home .d2n-category-story,
body.page-home .home-place-card,
body.page-magazine-list .d2n-index-card,
body.page-places-list .place-card{
  border-radius:19px!important;
  border-color:var(--p63-border)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.19)!important;
}
body.page-home .d2n-category-story__body{
  min-height:185px!important;
  padding:19px 19px 17px!important;
}
body.page-home .d2n-category-story h3{
  font-size:23px!important;
  line-height:1.09!important;
}
body.page-home .d2n-category-story p{
  font-size:13px!important;
  line-height:1.5!important;
}
body.page-home .d2n-category-story__foot{
  margin-top:13px!important;
  padding-top:10px!important;
  font-size:9px!important;
}
body.page-home .home-place-card .place-card__media{aspect-ratio:16/9!important}
body.page-home .home-place-card .place-card__media img{object-fit:contain!important;background:#09090b}
body.page-home .home-place-card .place-card__body{padding:17px 17px 16px!important}
body.page-home .home-place-card h3{
  font-size:21px!important;
  line-height:1.12!important;
  white-space:normal!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.page-home .home-place-card p{font-size:12px!important;line-height:1.45!important}

/* ---------- INDEX HERO / FILTERS ---------- */
body.page-magazine-list .index-hero,
body.page-places-list .index-hero{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  padding-block:42px 25px!important;
}
body.page-magazine-list .index-hero h1,
body.page-places-list .index-hero h1{
  font-size:clamp(52px,4.2vw,72px)!important;
  line-height:.94!important;
}
body.page-magazine-list .index-hero p,
body.page-places-list .index-hero p{
  margin-top:13px!important;
  font-size:14px!important;
}
.d2n-index-category-nav{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  margin-top:14px!important;
  gap:8px!important;
}
.d2n-index-category-nav__item{
  min-height:60px!important;
  padding:10px 11px!important;
  border-radius:14px!important;
}
.d2n-index-category-nav__item strong{
  font-size:9.5px!important;
  line-height:1.22!important;
}

/* ---------- MAGAZINE LIST ---------- */
body.page-magazine-list .d2n-magazine-index{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  padding-top:25px!important;
  padding-bottom:76px!important;
}
body.page-magazine-list .d2n-index-grid{gap:16px!important}
body.page-magazine-list .d2n-index-card__body{
  min-height:196px!important;
  padding:19px 19px 17px!important;
  display:flex!important;
  flex-direction:column!important;
}
body.page-magazine-list .d2n-index-card h2{
  font-size:23px!important;
  line-height:1.09!important;
  -webkit-line-clamp:2!important;
}
body.page-magazine-list .d2n-index-card p{
  font-size:13px!important;
  line-height:1.48!important;
}
body.page-magazine-list .d2n-index-card__foot{
  margin-top:auto!important;
  padding-top:11px!important;
  font-size:9px!important;
}

/* ---------- PLACES LIST ---------- */
body.page-places-list .site-section--index{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  padding-top:25px!important;
  padding-bottom:76px!important;
}
body.page-places-list .places-grid--index{gap:16px!important}
body.page-places-list .place-card__media{aspect-ratio:16/9!important}
body.page-places-list .place-card__media img{object-fit:contain!important;background:#09090b}
body.page-places-list .place-card__body{
  min-height:170px!important;
  padding:19px 19px 17px!important;
}
body.page-places-list .place-card h2,
body.page-places-list .place-card h3{
  font-size:23px!important;
  line-height:1.1!important;
  white-space:normal!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body.page-places-list .place-card p{font-size:13px!important;line-height:1.48!important}

/* Placeholder frame = intentionally empty, not broken-looking. */
.d2n-placeholder-grid{margin-top:0}
body.page-home .is-placeholder,
body.page-magazine-list .is-placeholder,
body.page-places-list .is-placeholder{
  opacity:.78;
  pointer-events:none;
}
body.page-home .is-placeholder .media-placeholder,
body.page-magazine-list .is-placeholder .media-placeholder,
body.page-places-list .is-placeholder .media-placeholder{
  width:82px!important;
  height:82px!important;
  font-size:18px!important;
}
.d2n-mobile-empty{display:none!important}

/* ---------- MAGAZINE VIEW ---------- */
body.page-magazine-view .magazine-masthead{
  width:min(1380px,calc(100% - (var(--p63-edge) * 2)))!important;
  margin-top:24px!important;
  border-radius:22px!important;
}
body.page-magazine-view .magazine-masthead__grid{
  grid-template-columns:minmax(0,1.5fr) minmax(390px,.92fr)!important;
}
body.page-magazine-view .magazine-masthead__copy{padding:34px 34px 30px!important}
body.page-magazine-view .magazine-masthead h1{
  font-size:clamp(40px,3vw,52px)!important;
  line-height:1.01!important;
  text-wrap:balance!important;
}
body.page-magazine-view .magazine-article.is-title-long .magazine-masthead h1{
  font-size:clamp(36px,2.6vw,46px)!important;
  line-height:1.04!important;
}
body.page-magazine-view .magazine-article.is-title-xlong .magazine-masthead h1{
  font-size:clamp(32px,2.3vw,41px)!important;
  line-height:1.06!important;
}
body.page-magazine-view .magazine-masthead__subtitle{
  font-size:17px!important;
  line-height:1.48!important;
}
body.page-magazine-view .magazine-masthead__summary{
  font-size:14px!important;
  line-height:1.58!important;
}
body.page-magazine-view .magazine-reading{
  width:min(1180px,calc(100% - (var(--p63-edge) * 2)))!important;
  grid-template-columns:minmax(0,800px) 292px!important;
  gap:46px!important;
  margin-top:36px!important;
}
body.page-magazine-view .magazine-paragraph p{
  font-size:17px!important;
  line-height:1.75!important;
}
body.page-magazine-view .magazine-section-heading{margin-top:43px!important}
body.page-magazine-view .magazine-section-heading h2{
  font-size:29px!important;
  line-height:1.14!important;
}
body.page-magazine-view .magazine-rail-card{
  border-radius:18px!important;
  box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
}
body.page-magazine-view .magazine-toc a{
  min-height:50px!important;
  padding:10px 11px!important;
}
body.page-magazine-view .magazine-toc a strong{
  font-size:12.5px!important;
  line-height:1.32!important;
}

/* ---------- PLACES VIEW ---------- */
body.page-places-view .place-detail{
  width:min(1380px,calc(100% - (var(--p63-edge) * 2)))!important;
}
body.page-places-view .place-detail>h1{
  font-size:clamp(42px,3.3vw,54px)!important;
  line-height:1.01!important;
}
body.page-places-view .place-detail.is-title-long>h1{
  font-size:clamp(36px,2.8vw,46px)!important;
  line-height:1.05!important;
}
body.page-places-view .place-detail>.article-subtitle{
  font-size:17px!important;
  line-height:1.52!important;
}
body.page-places-view .place-detail>section.block{
  border-radius:18px!important;
  border-color:rgba(255,255,255,.08)!important;
}

/* ---------- SIDE MENU ---------- */
.d2n-side-menu__panel{
  width:min(820px,72vw)!important;
  box-shadow:-36px 0 110px rgba(0,0,0,.56)!important;
}
.d2n-side-menu__head{
  min-height:78px!important;
  padding-inline:28px!important;
}
.d2n-side-menu__primary,
.d2n-side-menu__categories,
.d2n-side-menu__identity{padding-inline:28px!important}
.d2n-side-menu__primary-nav a{
  min-height:76px!important;
  border-radius:14px!important;
}
.d2n-side-menu__primary-nav a>strong{font-size:20px!important}
.d2n-side-menu__category-grid{gap:8px!important}
.d2n-side-menu__category-grid a{
  min-height:72px!important;
  border-radius:13px!important;
}
.d2n-side-menu__category-grid a>strong{
  font-size:12.5px!important;
  line-height:1.25!important;
}

/* ---------- FOOTER ---------- */
.site-footer{
  border-top:1px solid rgba(255,255,255,.06)!important;
  background:
    radial-gradient(circle at 90% 120%,rgba(230,37,114,.07),transparent 35%),
    linear-gradient(180deg,#09090a,#070708)!important;
}
.site-footer__grid{
  width:min(1480px,calc(100% - (var(--p63-edge) * 2)))!important;
  min-height:168px!important;
  padding-block:30px!important;
}
.site-footer p{
  max-width:520px!important;
  color:#8e8780!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.site-counter{
  border-radius:14px!important;
  background:rgba(255,255,255,.012)!important;
}
.site-counter strong{font-size:19px!important}
.site-footer nav a{font-size:10px!important}

/* ---------- SCRIPT / RTL SAFETY ---------- */
html[lang^="zh"] body.page-magazine-view .magazine-masthead h1,
html[lang="ja"] body.page-magazine-view .magazine-masthead h1,
html[lang="ko"] body.page-magazine-view .magazine-masthead h1{
  font-size:clamp(37px,2.8vw,48px)!important;
  line-height:1.1!important;
}
html[lang="th"] body.page-magazine-view .magazine-masthead h1,
html[lang="hi"] body.page-magazine-view .magazine-masthead h1,
html[lang="ar"] body.page-magazine-view .magazine-masthead h1,
html[lang="ru"] body.page-magazine-view .magazine-masthead h1{
  font-size:clamp(35px,2.65vw,46px)!important;
  line-height:1.13!important;
}
html[lang="ar"] .site-language-panel{transform-origin:top left!important}
html[lang="ar"] .site-nav>a::after{transform-origin:right!important}

@media(max-width:1180px) and (min-width:821px){
  :root{--p63-edge:22px}
  body.page-home .d2n-category-story h3,
  body.page-magazine-list .d2n-index-card h2,
  body.page-places-list .place-card h2,
  body.page-places-list .place-card h3{font-size:20px!important}
  body.page-home .d2n-category-story p,
  body.page-magazine-list .d2n-index-card p,
  body.page-places-list .place-card p{font-size:11.5px!important}
  .d2n-index-category-nav__item strong{font-size:8.5px!important}
}
