/* DAO DANANG v2.0.17 — STEP 7 / VISUAL QUALITY POLISH
   Cosmetic refinement only. No URL, SEO, content, routing or JS logic changes. */

:root{
  --dao-gold-soft:#c8a06a;
  --dao-gold-line:rgba(200,160,106,.28);
  --dao-red-soft:#b91731;
  --dao-panel-hi:rgba(255,255,255,.035);
}

/* Typography hierarchy / readability */
.dao-site{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.dao-site h1,
.dao-site h2,
.dao-site h3{
  text-wrap:balance;
}
.dao-site p{
  text-wrap:pretty;
}
.dao-kicker{
  color:var(--dao-gold-soft);
  letter-spacing:.16em;
}
.dao-section-note,
.dao-hero__lead,
.dao-modal__intro{
  color:rgba(245,242,237,.72);
}

/* Buttons: richer material without neon / cheap glow. */
.dao-btn,
.dao-header__book,
.dao-link-button,
.dao-card-book,
.dao-price-card__book{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:3px;
  transition:
    transform .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    box-shadow .18s ease;
}
.dao-btn::after,
.dao-header__book::after,
.dao-link-button::after,
.dao-card-book::after,
.dao-price-card__book::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.08) 45%,transparent 70%);
  transform:translateX(-115%);
  transition:transform .45s ease;
}
@media (hover:hover){
  .dao-btn:hover,
  .dao-header__book:hover,
  .dao-link-button:hover,
  .dao-card-book:hover,
  .dao-price-card__book:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(0,0,0,.24);
  }
  .dao-btn:hover::after,
  .dao-header__book:hover::after,
  .dao-link-button:hover::after,
  .dao-card-book:hover::after,
  .dao-price-card__book:hover::after{
    transform:translateX(115%);
  }
}
.dao-btn:focus-visible,
.dao-header__book:focus-visible,
.dao-language__button:focus-visible,
.dao-menu-toggle:focus-visible,
.dao-faq-list summary:focus-visible,
.dao-faq-accordion summary:focus-visible,
.dao-messenger-card:focus-visible,
.dao-booking-card:focus-visible{
  outline:2px solid var(--dao-gold-soft);
  outline-offset:3px;
}

/* Shared premium card surface */
.dao-service-card,
.dao-price-card,
.dao-booking-card,
.dao-how-grid>div,
.dao-hoian-intro__facts>div,
.dao-areas-types__grid>div,
.dao-therapist-info__grid>div{
  border-color:rgba(255,255,255,.085);
  background:
    linear-gradient(145deg,var(--dao-panel-hi),transparent 36%),
    linear-gradient(180deg,rgba(19,19,21,.97),rgba(10,10,11,.99));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 16px 42px rgba(0,0,0,.11);
}
@media (hover:hover){
  .dao-service-card:hover,
  .dao-price-card:hover,
  .dao-booking-card:hover{
    border-color:var(--dao-gold-line);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 20px 48px rgba(0,0,0,.2);
  }
}

/* Price/service details: make scanning faster */
.dao-service-card__mark,
.dao-price-card__mark{
  color:var(--dao-gold-soft);
}
.dao-price-row,
.dao-price-card__row{
  border-color:rgba(255,255,255,.075);
}
.dao-price-row strong,
.dao-price-card__row strong{
  color:#fff;
  letter-spacing:-.015em;
}

/* Media: unified editorial crop/treatment */
.dao-intro__media,
.dao-media-card,
.dao-therapist-tile,
.dao-location-card,
.dao-hoian-intro figure,
.dao-booking-service figure{
  overflow:hidden;
  background:#09090a;
}
.dao-media-card img,
.dao-media-card video,
.dao-therapist-tile img,
.dao-therapist-tile video,
.dao-location-card img,
.dao-intro__media img,
.dao-hoian-intro figure img,
.dao-booking-service figure img{
  transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .35s ease;
  filter:saturate(.92) contrast(1.03);
}
@media (hover:hover){
  .dao-media-card:hover img,
  .dao-media-card:hover video,
  .dao-therapist-tile:hover img,
  .dao-therapist-tile:hover video,
  .dao-location-card:hover img{
    transform:scale(1.025);
    filter:saturate(1) contrast(1.05);
  }
}
.dao-location-card__overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.03) 28%,rgba(0,0,0,.35) 61%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(78,4,16,.16),transparent 50%);
}

/* Hero typography gets controlled contrast, not glow. */
.dao-hero h1,
.dao-prices-hero h1,
.dao-therapists-hero h1,
.dao-booking-hero h1,
.dao-hoian-hero h1,
.dao-areas-hero h1,
.dao-faq-hero h1{
  text-shadow:0 3px 28px rgba(0,0,0,.38);
}

/* FAQ: stronger question/answer separation */
.dao-faq-list summary,
.dao-faq-accordion summary{
  cursor:pointer;
  transition:color .18s ease,border-color .18s ease;
}
.dao-faq-list details[open] summary,
.dao-faq-accordion details[open] summary{
  color:#fff;
  border-color:var(--dao-gold-line);
}
.dao-faq-list details p,
.dao-faq-accordion details p{
  color:rgba(245,242,237,.7);
}

/* Messenger surfaces stay brand-neutral, but are more tactile. */
.dao-messenger-card{
  border-color:rgba(255,255,255,.1);
  background:linear-gradient(160deg,rgba(22,22,24,.98),rgba(10,10,11,.99));
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
@media (hover:hover){
  .dao-messenger-card:hover{
    transform:translateY(-2px);
    border-color:var(--dao-gold-line);
    background:linear-gradient(160deg,rgba(27,25,26,.99),rgba(10,10,11,.99));
  }
}

/* Header glass is subtle and consistent at scroll. */
.dao-header{
  border-bottom-color:rgba(255,255,255,.055);
  backdrop-filter:saturate(1.1) blur(14px);
  -webkit-backdrop-filter:saturate(1.1) blur(14px);
}
.dao-header.is-scrolled{
  box-shadow:0 12px 34px rgba(0,0,0,.2);
}

/* Mobile micro-polish: keep the compact UX from STEP 1~4. */
@media (max-width:760px){
  .dao-site{
    --dao-mobile-radius:4px;
  }
  .dao-kicker{
    letter-spacing:.13em;
  }
  .dao-btn,
  .dao-header__book,
  .dao-link-button,
  .dao-card-book,
  .dao-price-card__book,
  .dao-service-card,
  .dao-price-card,
  .dao-booking-card,
  .dao-messenger-card{
    border-radius:var(--dao-mobile-radius);
  }

  .dao-service-card,
  .dao-price-card{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }

  /* Improve vertical reading without re-expanding page height. */
  .dao-section-title,
  .dao-heading-row h2,
  .dao-intro h2,
  .dao-faq-preview h2{
    letter-spacing:-.035em;
  }

  .dao-location-card__body{
    text-shadow:0 2px 18px rgba(0,0,0,.55);
  }

  .dao-faq-list summary,
  .dao-faq-accordion summary{
    -webkit-tap-highlight-color:transparent;
  }

  .dao-messenger-card,
  .dao-booking-card,
  .dao-btn{
    touch-action:manipulation;
  }
}

/* RTL should keep visual hierarchy while respecting direction. */
.dao-rtl .dao-kicker{
  letter-spacing:0;
}

/* Avoid animation for users who request reduced motion. */
@media (prefers-reduced-motion:reduce){
  .dao-btn,
  .dao-header__book,
  .dao-link-button,
  .dao-card-book,
  .dao-price-card__book,
  .dao-media-card img,
  .dao-media-card video,
  .dao-therapist-tile img,
  .dao-therapist-tile video,
  .dao-location-card img,
  .dao-messenger-card{
    transition:none!important;
  }
  .dao-btn::after,
  .dao-header__book::after,
  .dao-link-button::after,
  .dao-card-book::after,
  .dao-price-card__book::after{
    display:none;
  }
}
