/* AsiaWeb Directory Restaurant v0.2.0 */
body.awdt-business-restaurant{
  --awdr-accent:var(--awdt-primary,var(--awd-primary,#0f766e));
  --awdr-soft:color-mix(in srgb,var(--awdr-accent) 9%,var(--awdt-surface));
}
.awdr-archive-intro{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  gap:34px;
  margin:0 0 26px;
  padding:30px 32px;
  border-left:4px solid var(--awdr-accent);
}
.awdr-eyebrow,.awdr-archive-copy h2{
  margin:8px 0 8px;
  color:var(--awdt-text);
  font-size:clamp(24px,3vw,34px);
  line-height:1.2;
}
.awdr-archive-copy>p{
  max-width:760px;
  margin:0;
  color:var(--awdt-muted);
}
.awdr-cuisine-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
.awdr-cuisine-links a{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid var(--awdt-border);
  border-radius:999px;
  background:var(--awdt-surface);
  color:var(--awdt-text);
  font-size:12px;
  font-weight:750;
}
.awdr-cuisine-links a:hover{
  border-color:var(--awdr-accent);
  color:var(--awdr-accent);
}
.awdr-archive-aside{
  padding:20px 22px;
  background:var(--awdr-soft);
  border:1px solid color-mix(in srgb,var(--awdr-accent) 20%,var(--awdt-border));
  border-radius:10px;
}
.awdr-archive-aside strong,.awdr-archive-aside span{display:block}
.awdr-archive-aside strong{color:var(--awdt-text)}
.awdr-archive-aside span{margin-top:3px;color:var(--awdt-muted);font-size:12px}
.awdr-archive-aside ul{margin:14px 0 0;padding-left:18px;color:var(--awdt-text);font-size:13px}
.awdr-account-note{
  margin-bottom:20px;
  padding:16px 18px;
  border-left:4px solid var(--awdr-accent);
  background:var(--awdr-soft);
  color:var(--awdt-text);
}
.awdr-account-note span{display:block;color:var(--awdr-accent);font-size:10px;font-weight:900;letter-spacing:.12em}
.awdr-account-note strong{display:block;margin-top:4px}
.awdr-account-note p{margin:4px 0 0;color:var(--awdt-muted);font-size:13px}

@media(max-width:800px){
  .awdr-archive-intro{grid-template-columns:1fr}
  }

/* v0.3.0 — Restaurant Modern Template Family */
.awdr-home-signature{padding:58px 0;background:color-mix(in srgb,var(--awdr-accent) 4%,var(--awdt-bg));border-block:1px solid var(--awdt-border)}
.awdr-home-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}
.awdr-home-heading h2{margin:7px 0 4px;color:var(--awdt-text);font-size:clamp(28px,3.5vw,42px);line-height:1.16}
.awdr-home-heading p{margin:0;max-width:680px;color:var(--awdt-muted)}
.awdr-home-all{font-weight:800;white-space:nowrap}
.awdr-home-cuisines{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.awdr-home-cuisines a{padding:8px 12px;border:1px solid color-mix(in srgb,var(--awdr-accent) 28%,var(--awdt-border));border-radius:999px;background:var(--awdt-surface);color:var(--awdt-text);font-size:13px;font-weight:700}
.awdr-home-cuisines a:hover{background:var(--awdr-accent);border-color:var(--awdr-accent);color:#fff}
.awdr-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.awdr-home-grid .awdt-listing-card{overflow:hidden;border-color:color-mix(in srgb,var(--awdr-accent) 14%,var(--awdt-border));box-shadow:0 12px 28px rgba(15,23,42,.06)}
.awdr-home-grid .awdt-listing-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.1)}
.awdr-home-grid .awdt-listing-category{color:var(--awdr-accent)}
.awdr-home-empty{padding:24px;border:1px dashed var(--awdt-border);border-radius:12px;background:var(--awdt-surface);color:var(--awdt-muted)}
body.awdr-template-modern .awdt-directory-page .awdt-page-hero{border-bottom:4px solid var(--awdr-accent)}
body.awdr-template-modern .awdt-directory-page .awdt-page-kicker{color:var(--awdr-accent)}
@media(max-width:900px){.awdr-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.awdr-home-signature{padding:38px 0}.awdr-home-heading{display:block}.awdr-home-all{display:inline-block;margin-top:12px}.awdr-home-grid{grid-template-columns:1fr}}


/* ==========================================================================
   v0.4.0 Restaurant Modern — Cards + Single Restaurant
   ========================================================================== */
.awdr-home-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.awdr-card{
  overflow:hidden;
  background:var(--awdt-surface,#fff);
  border:1px solid var(--awdt-border,#e2e8f0);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(15,23,42,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.awdr-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.11)}
.awdr-card-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#f4eee9}
.awdr-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.awdr-card:hover .awdr-card-media img{transform:scale(1.025)}
.awdr-card-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#9a5b32;font-weight:900;letter-spacing:.1em}
.awdr-card-type{position:absolute;left:14px;bottom:14px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#b45309;font-size:11px;font-weight:850}
.awdr-card-body{padding:20px}
.awdr-card-chips,.awdr-card-features{display:flex;flex-wrap:wrap;gap:6px}
.awdr-card-chips span{padding:5px 8px;border-radius:999px;background:var(--awdt-surface-soft, var(--awd-surface-soft, #f8fafc));color:var(--awdt-primary-dark, var(--awd-primary, #0f766e));font-size:11px;font-weight:750}
.awdr-card h3{margin:10px 0 8px;font-size:21px;line-height:1.3}
.awdr-card h3 a{color:var(--awdt-text,#172033)}
.awdr-card p{margin:0;color:var(--awdt-muted,#64748b);font-size:14px;line-height:1.65}
.awdr-card-features{margin-top:13px;color:#475569;font-size:11px}
.awdr-card-link{display:inline-flex;margin-top:16px;color:var(--awdt-primary,#1667b1);font-weight:850;font-size:13px}

/* Core directory card identity for Restaurant results. */
.awd-card.awdr-result-card{border-color:color-mix(in srgb,var(--awdt-primary, var(--awd-primary, #0f766e)) 26%,var(--awdt-border,#e2e8f0))}
.awd-card.awdr-result-card .awd-card-type{color:var(--awdt-primary, var(--awd-primary, #0f766e));font-weight:850}
.awd-card.awdr-result-card .awd-card-title a:hover{color:var(--awdt-primary, var(--awd-primary, #0f766e))}

/* Single */
.awdr-single-page{background:var(--awdt-bg,#f8fafc)}
.awdr-single-hero{padding:54px 0;color:#fff}
.awdr-single-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:52px;align-items:center}
.awdr-single-cover{overflow:hidden;min-height:360px;border-radius:18px;background:#2a1a14;box-shadow:0 24px 60px rgba(0,0,0,.24)}
.awdr-single-cover img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.awdr-single-placeholder{display:grid;place-items:center;min-height:360px;font-weight:900;letter-spacing:.14em;color:#f5d0b5}
.awdr-single-intro h1{margin:12px 0 14px;color:#fff;font-size:clamp(40px,5vw,62px);line-height:1.05}
.awdr-single-intro .awdr-eyebrow{color:#fdba74}
.awdr-single-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.awdr-single-chips span{padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.10);font-size:12px;font-weight:750}
.awdr-single-address,.awdr-single-excerpt{color:rgba(255,255,255,.86);line-height:1.7}
.awdr-single-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.awdr-btn-primary,.awdr-btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:8px;font-weight:850}
.awdr-btn-primary{background:#fff;color:#7c2d12}
.awdr-btn-secondary{border:1px solid rgba(255,255,255,.45);color:#fff}
.awdr-single-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;padding-top:34px;padding-bottom:48px}
.awdr-single-main,.awdr-single-sidebar{display:grid;gap:22px;align-content:start}
.awdr-panel{padding:26px;background:var(--awdt-surface,#fff);border:1px solid var(--awdt-border,#e2e8f0);border-radius:14px}
.awdr-panel h2{margin:4px 0 16px;color:var(--awdt-text,#172033)}
.awdr-section-kicker{color:var(--awdt-primary, var(--awd-primary, #0f766e));font-size:9px;font-weight:900;letter-spacing:.16em}
.awdr-content{color:var(--awdt-text,#172033);line-height:1.8}
.awdr-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.awdr-detail-grid>div{padding:15px 16px;border:1px solid var(--awdt-border,#e2e8f0);border-radius:10px;background:color-mix(in srgb,var(--awdt-primary, var(--awd-primary, #0f766e)) 4%,var(--awdt-surface,#fff))}
.awdr-detail-grid span{display:block;color:var(--awdt-muted,#64748b);font-size:11px}
.awdr-detail-grid strong{display:block;margin-top:4px;color:var(--awdt-text,#172033)}
.awdr-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.awdr-gallery a{overflow:hidden;aspect-ratio:4/3;border-radius:10px}
.awdr-gallery img{width:100%;height:100%;object-fit:cover}
.awdr-contact-row,.awdr-hours>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--awdt-border,#e2e8f0);font-size:13px}
.awdr-contact-row:last-child,.awdr-hours>div:last-child{border-bottom:0}
.awdr-contact-row strong,.awdr-hours strong{color:var(--awdt-text,#172033)}
.awdr-contact-row a,.awdr-contact-row span,.awdr-hours span{color:var(--awdt-muted,#64748b);text-align:right;overflow-wrap:anywhere}
.awdr-map-link{display:inline-flex;margin-top:8px;color:var(--awdt-primary, var(--awd-primary, #0f766e));font-weight:850}

@media(max-width:980px){
  .awdr-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .awdr-single-hero-grid,.awdr-single-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .awdr-home-grid{grid-template-columns:1fr}
  .awdr-single-hero{padding:34px 0}
  .awdr-single-cover,.awdr-single-cover img,.awdr-single-placeholder{min-height:260px}
  .awdr-detail-grid{grid-template-columns:1fr}
  .awdr-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.4.1 — Reviews compatibility */
.awdr-rating-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.awdr-rating-chip:hover{background:rgba(255,255,255,.2);color:#fff}

/* Reviews Module renders .awd-panel.awdr-panel. Keep its review-specific
   internals intact while matching Restaurant Modern surface treatment. */
.awdr-single-main > .awdr-panel#awd-reviews{
  margin-top:0;
}

/* v0.5.0 Restaurant Search/Filter */
body.awdt-business-restaurant .awd-search-panel{border-top:4px solid var(--awdt-primary, var(--awd-primary, #0f766e))}
.awdr-filter-field select{border-color:color-mix(in srgb,var(--awdt-primary, var(--awd-primary, #0f766e)) 20%,var(--awd-border,#dbe3ec))}
.awdr-filter-check .awd-module-filter-toggle{border-color:color-mix(in srgb,var(--awdt-primary, var(--awd-primary, #0f766e)) 20%,var(--awd-border,#dbe3ec));background:color-mix(in srgb,var(--awdt-primary, var(--awd-primary, #0f766e)) 4%,var(--awd-surface,#fff))}
.awdr-filter-check input{accent-color:var(--awdt-primary, var(--awd-primary, #0f766e))}


/* v0.5.1 — Business Type aware filter visibility */
[data-awdr-business-type][hidden]{display:none!important}


/* v0.5.2 — Theme-aware Restaurant Single
   Restaurant owns layout; active AsiaWeb Theme owns visual color identity. */
.awdr-single-page{
  --awdr-accent:var(--awdt-primary,var(--awd-primary,#0f766e));
  --awdr-accent-strong:var(--awdt-primary-dark,var(--awd-primary,#0f766e));
  --awdr-text:var(--awdt-text,var(--awd-text,#0f172a));
  --awdr-muted:var(--awdt-muted,var(--awd-muted,#64748b));
  --awdr-border:var(--awdt-border,var(--awd-border,#e2e8f0));
  --awdr-surface:var(--awdt-surface,var(--awd-surface,#fff));
}
.awdr-single-page .awdr-kicker,
.awdr-single-page .awdr-section-label,
.awdr-single-page .awdr-panel-label,
.awdr-single-page .awdr-details dt{
  color:var(--awdr-accent)!important;
}
.awdr-single-page .awdr-panel h2,
.awdr-single-page .awdr-panel h3,
.awdr-single-page .awdr-sidebar h2,
.awdr-single-page .awdr-sidebar h3{
  color:var(--awdr-text);
}
.awdr-single-page .awdr-panel ul li::marker,
.awdr-single-page .awdr-panel ol li::marker{
  color:var(--awdr-accent);
}
.awdr-single-page a:not(.awd-btn):not(.awdr-btn):not(.awdr-rating-chip){
  color:var(--awdr-accent);
}
.awdr-single-page a:not(.awd-btn):not(.awdr-btn):not(.awdr-rating-chip):hover{
  color:var(--awdr-accent-strong);
}


/* ==========================================================================
 * v0.5.3 — Full Theme Color Inheritance
 * Restaurant Modern owns composition/layout. AsiaWeb Theme owns color identity.
 * ========================================================================== */
.awdr-single-page{
  --awdr-primary:var(--awdt-primary,var(--awd-primary,#0f766e));
  --awdr-primary-strong:var(--awdt-primary-dark,var(--awd-primary-dark,var(--awdt-primary,var(--awd-primary,#0f766e))));
  --awdr-primary-soft:var(--awdt-surface-soft,var(--awd-surface-soft,#f8fafc));
  --awdr-text:var(--awdt-text,var(--awd-text,#0f172a));
  --awdr-muted:var(--awdt-muted,var(--awd-muted,#64748b));
  --awdr-surface:var(--awdt-surface,var(--awd-surface,#fff));
  --awdr-border:var(--awdt-border,var(--awd-border,#e2e8f0));
}

/* Hero: same Restaurant Modern structure, fully theme-driven palette. */
.awdr-single-page .awdr-single-hero{
  
}
.awdr-single-page .awdr-kicker,
.awdr-single-page .awdr-single-hero .awdr-kicker{
  color:color-mix(in srgb,#fff 78%,var(--awdr-primary))!important;
}
.awdr-single-page .awdr-single-chips > span,
.awdr-single-page .awdr-rating-chip{
  border-color:rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.awdr-single-page .awdr-single-chips > span:hover,
.awdr-single-page .awdr-rating-chip:hover{
  background:rgba(255,255,255,.20)!important;
}

/* Primary/secondary hero actions inherit Theme. */
.awdr-single-page .awdr-single-hero .awdr-btn-primary,
.awdr-single-page .awdr-single-hero .awd-btn-primary{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--awdr-primary-strong)!important;
}
.awdr-single-page .awdr-single-hero .awdr-btn-primary:hover,
.awdr-single-page .awdr-single-hero .awd-btn-primary:hover{
  background:color-mix(in srgb,#fff 90%,var(--awdr-primary))!important;
  color:var(--awdr-primary-strong)!important;
}
.awdr-single-page .awdr-single-hero .awdr-btn-secondary,
.awdr-single-page .awdr-single-hero .awd-btn-ghost{
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
}
.awdr-single-page .awdr-single-hero .awdr-btn-secondary:hover,
.awdr-single-page .awdr-single-hero .awd-btn-ghost:hover{
  background:rgba(255,255,255,.16)!important;
}

/* Content accents all follow active Theme. */
.awdr-single-page .awdr-section-label,
.awdr-single-page .awdr-panel-label,
.awdr-single-page .awdr-details dt,
.awdr-single-page .awdr-contact-label,
.awdr-single-page .awdr-hours-label{
  color:var(--awdr-primary)!important;
}
.awdr-single-page .awdr-panel a:not(.awd-btn):not(.awdr-btn),
.awdr-single-page .awdr-sidebar a:not(.awd-btn):not(.awdr-btn){
  color:var(--awdr-primary)!important;
}
.awdr-single-page .awdr-panel a:not(.awd-btn):not(.awdr-btn):hover,
.awdr-single-page .awdr-sidebar a:not(.awd-btn):not(.awdr-btn):hover{
  color:var(--awdr-primary-strong)!important;
}
.awdr-single-page .awdr-panel ul li::marker,
.awdr-single-page .awdr-panel ol li::marker{
  color:var(--awdr-primary)!important;
}

/* Search/filter accents follow Theme too; no Restaurant-orange lock. */
body.awdt-business-restaurant .awd-search-panel{
  border-top-color:var(--awdt-primary,var(--awd-primary,#0f766e))!important;
}
body.awdt-business-restaurant .awdr-filter-field select,
body.awdt-business-restaurant .awdr-filter-check .awd-module-filter-toggle{
  border-color:color-mix(in srgb,var(--awdt-primary,var(--awd-primary,#0f766e)) 22%,var(--awd-border,#dbe3ec))!important;
}
body.awdt-business-restaurant .awdr-filter-check input{
  accent-color:var(--awdt-primary,var(--awd-primary,#0f766e))!important;
}
body.awdt-business-restaurant .awdr-filter-check .awd-module-filter-toggle:has(input:checked){
  border-color:var(--awdt-primary,var(--awd-primary,#0f766e))!important;
  background:color-mix(in srgb,var(--awdt-primary,var(--awd-primary,#0f766e)) 8%,#fff)!important;
  color:var(--awdt-primary-dark,var(--awdt-primary,var(--awd-primary,#0f766e)))!important;
}


/* ==========================================================================
 * v0.5.4 — Hero Theme Token Source of Truth
 * No Restaurant palette is allowed to own the Single Hero.
 * ========================================================================== */
.awdr-single-page .awdr-single-hero{
  position:relative;
  isolation:isolate;
  background-color:var(--awdt-primary,var(--awd-primary,#0f766e))!important;
  background-image:
    linear-gradient(
      118deg,
      var(--awdt-primary-dark,var(--awd-primary-dark,var(--awdt-primary,var(--awd-primary,#0f766e)))) 0%,
      var(--awdt-primary,var(--awd-primary,#0f766e)) 100%
    )!important;
}

/* Decorative layers may add depth, but must derive from Theme tokens only. */
.awdr-single-page .awdr-single-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 30%,rgba(255,255,255,.12),transparent 34%),
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,0) 55%)!important;
}
.awdr-single-page .awdr-single-hero > *{
  position:relative;
  z-index:1;
}

/* Theme token bridge: support common AsiaWeb Theme variable names. */
body{
  --awdr-theme-primary:
    var(--awdt-primary,
    var(--awd-primary,
    var(--primary-color,
    var(--color-primary,#0f766e))));
  --awdr-theme-primary-dark:
    var(--awdt-primary-dark,
    var(--awd-primary-dark,
    var(--primary-dark,
    color-mix(in srgb,var(--awdr-theme-primary) 78%,#000))));
}
.awdr-single-page .awdr-single-hero{
  background-color:var(--awdr-theme-primary)!important;
  background-image:linear-gradient(118deg,var(--awdr-theme-primary-dark) 0%,var(--awdr-theme-primary) 100%)!important;
}

/* Hero content color contract */
.awdr-single-page .awdr-single-hero,
.awdr-single-page .awdr-single-hero h1,
.awdr-single-page .awdr-single-hero h2,
.awdr-single-page .awdr-single-hero p,
.awdr-single-page .awdr-single-hero .awdr-address{
  color:#fff!important;
}
.awdr-single-page .awdr-single-hero .awdr-kicker{
  color:rgba(255,255,255,.78)!important;
}


/* ==========================================================================
 * v0.5.5 — Hero Contrast / Token Compatibility Hotfix
 * Use direct Theme tokens; never allow a transparent hero behind white text.
 * ========================================================================== */
.awdr-single-page .awdr-single-hero{
  background:#1769aa!important; /* final safety fallback */
  background:linear-gradient(
    118deg,
    var(--awdt-accent-strong,var(--awdt-primary-dark,var(--awd-primary-dark,#124f82))) 0%,
    var(--awdt-accent,var(--awdt-primary,var(--awd-primary,#1769aa))) 100%
  )!important;
}
.awdr-single-page .awdr-single-hero::before{
  background:
    radial-gradient(circle at 18% 30%,rgba(255,255,255,.10),transparent 34%),
    linear-gradient(90deg,rgba(0,0,0,.14),rgba(0,0,0,.02) 58%,rgba(0,0,0,0))!important;
}


/* ==========================================================================
 * v0.6.0 — Restaurant Elegant Template Family
 * ========================================================================== */
.awdr-home-template-elegant{
  background:var(--awdt-surface,#fff);
}
.awdr-home-template-elegant .awdr-home-heading{
  text-align:center;
  display:block;
  max-width:820px;
  margin:0 auto 28px;
}
.awdr-home-template-elegant .awdr-home-heading h2{
  font-size:clamp(32px,4vw,50px);
  max-width:760px;
  margin:8px auto 12px;
}
.awdr-home-template-elegant .awdr-home-heading p{max-width:650px;margin:0 auto}
.awdr-home-template-elegant .awdr-home-all{display:inline-flex;margin-top:18px}
.awdr-home-template-elegant .awdr-home-cuisines{justify-content:center}
.awdr-home-template-elegant .awdr-home-grid{gap:24px}

.awdr-elegant-card{
  overflow:hidden;
  border:1px solid var(--awdt-border,#e2e8f0);
  border-radius:4px;
  background:var(--awdt-surface,#fff);
  box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.awdr-elegant-card-media{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
}
.awdr-elegant-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.awdr-elegant-card:hover .awdr-elegant-card-media img{transform:scale(1.035)}
.awdr-elegant-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.74))}
.awdr-elegant-card-kicker,.awdr-elegant-card-title{position:absolute;left:22px;right:22px;color:#fff}
.awdr-elegant-card-kicker{bottom:58px;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.awdr-elegant-card-title{bottom:20px;font-size:22px;font-weight:850}
.awdr-elegant-card-body{padding:20px 22px 22px}
.awdr-elegant-card-meta{display:flex;gap:12px;color:var(--awdt-primary,var(--awd-primary,#0f766e));font-size:12px;font-weight:800}
.awdr-elegant-card-body p{color:var(--awdt-muted,#64748b);line-height:1.7}
.awdr-elegant-card-body>a{font-weight:850;color:var(--awdt-primary,var(--awd-primary,#0f766e))}

.awdr-elegant-hero{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  background-color:#1f2937;
}
.awdr-elegant-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,15,25,.14) 0%,rgba(8,15,25,.28) 42%,rgba(8,15,25,.86) 100%),
    linear-gradient(90deg,color-mix(in srgb,var(--awdt-primary,var(--awd-primary,#0f766e)) 22%,transparent),transparent 60%);
}
.awdr-elegant-hero-inner{
  position:relative;
  z-index:1;
  padding-top:130px;
  padding-bottom:70px;
  color:#fff;
}
.awdr-elegant-kicker{display:block;margin-bottom:14px;font-size:10px;font-weight:900;letter-spacing:.22em;color:rgba(255,255,255,.8)}
.awdr-elegant-hero h1{max-width:950px;margin:0;color:#fff;font-size:clamp(48px,7vw,82px);line-height:1.02;letter-spacing:-.025em}
.awdr-elegant-meta{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 16px}
.awdr-elegant-meta span,.awdr-elegant-meta a{padding:8px 11px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff!important;font-size:12px;font-weight:800}
.awdr-elegant-address{max-width:820px;color:rgba(255,255,255,.86);line-height:1.75}
.awdr-elegant-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.awdr-elegant-primary,.awdr-elegant-secondary{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;font-weight:850}
.awdr-elegant-primary{background:#fff;color:var(--awdt-primary-dark,var(--awdt-primary,var(--awd-primary,#0f766e)))!important}
.awdr-elegant-secondary{border:1px solid rgba(255,255,255,.52);color:#fff!important;background:rgba(255,255,255,.04)}

.awdr-elegant-intro{padding-top:54px;padding-bottom:12px;text-align:center;max-width:900px}
.awdr-elegant-ornament{display:block;width:52px;height:1px;margin:0 auto 18px;background:var(--awdt-primary,var(--awd-primary,#0f766e))}
.awdr-elegant-intro h2{margin:7px 0 14px;font-size:clamp(32px,4vw,46px);color:var(--awdt-text,#172033)}
.awdr-elegant-lead{max-width:760px;margin:0 auto;color:var(--awdt-muted,#64748b);font-size:18px;line-height:1.8}

.awdr-elegant-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:30px;padding-top:34px;padding-bottom:56px}
.awdr-elegant-panel{border-radius:4px;box-shadow:none}
.awdr-elegant-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--awdt-border,#e2e8f0)}
.awdr-elegant-facts>div{padding:18px 0;border-bottom:1px solid var(--awdt-border,#e2e8f0)}
.awdr-elegant-facts>div:nth-child(odd){padding-right:20px}
.awdr-elegant-facts>div:nth-child(even){padding-left:20px;border-left:1px solid var(--awdt-border,#e2e8f0)}
.awdr-elegant-facts small{display:block;color:var(--awdt-muted,#64748b);margin-bottom:5px}
.awdr-elegant-facts strong{color:var(--awdt-text,#172033)}
.awdr-elegant-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.awdr-elegant-gallery a{display:block;overflow:hidden;min-height:180px}
.awdr-elegant-gallery a:first-child{grid-row:span 2;min-height:368px}
.awdr-elegant-gallery img{width:100%;height:100%;object-fit:cover}
.awdr-elegant-sidebar{position:relative}
body.awdr-template-elegant .awdr-section-kicker{color:var(--awdt-primary,var(--awd-primary,#0f766e))}
body.awdr-template-elegant .awdr-panel a{color:var(--awdt-primary,var(--awd-primary,#0f766e))}

@media(max-width:980px){
  .awdr-elegant-hero{min-height:540px}
  .awdr-elegant-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .awdr-elegant-hero{min-height:500px}
  .awdr-elegant-hero-inner{padding-top:90px;padding-bottom:44px}
  .awdr-elegant-hero h1{font-size:42px}
  .awdr-elegant-facts{grid-template-columns:1fr}
  .awdr-elegant-facts>div:nth-child(odd),.awdr-elegant-facts>div:nth-child(even){padding-left:0;padding-right:0;border-left:0}
  .awdr-elegant-gallery{grid-template-columns:1fr 1fr}
  .awdr-elegant-gallery a:first-child{grid-column:1/-1;grid-row:auto;min-height:260px}
}


/* ==========================================================================
 * v0.6.2 — Elegant Gallery Equal Grid
 * Desktop: 3 equal images / Tablet: 2 columns / Mobile: 1 column.
 * ========================================================================== */
.awdr-elegant-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.awdr-elegant-gallery a,
.awdr-elegant-gallery a:first-child{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
}
.awdr-elegant-gallery img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:900px){
  .awdr-elegant-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .awdr-elegant-gallery{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================================
 * v1.0.6 — Elegant QA Fix
 * Elegant may change Restaurant presentation, but must not restyle Core Search.
 * ========================================================================== */

/* Restaurant listing images follow the product-wide 16:9 cover standard. */
body.awdr-template-elegant .awdr-elegant-card-media{
  aspect-ratio:16/9!important;
  background:var(--awd-soft,#f8fafc)!important;
}
body.awdr-template-elegant .awdr-elegant-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Keep Core Directory Search UI visually owned by Standard/Core. */
body.awdr-template-elegant .awd-search-panel{
  border-top-width:1px!important;
  border-top-color:var(--awd-border,#e2e8f0)!important;
}
body.awdr-template-elegant .awd-search-panel .awdr-filter-field select{
  border-color:var(--awd-border,#e2e8f0)!important;
  background:var(--awd-surface,#fff)!important;
  color:var(--awd-text,#1f2937)!important;
}
body.awdr-template-elegant .awd-search-panel .awdr-filter-check .awd-module-filter-toggle,
body.awdr-template-elegant .awd-search-panel .awdr-filter-check .awd-module-filter-toggle:has(input:checked){
  min-height:44px!important;
  padding:0 11px!important;
  border:1px solid var(--awd-border,#e2e8f0)!important;
  border-radius:8px!important;
  background:var(--awd-surface,#fff)!important;
  color:var(--awd-text,#1f2937)!important;
  box-shadow:none!important;
}
body.awdr-template-elegant .awd-search-panel .awdr-filter-check input{
  accent-color:var(--awd-accent,#2563eb)!important;
}


/* ==========================================================================
 * v1.0.7 — Core-owned Search Checkbox Contract
 * Restaurant only provides accent color. Core 1.2.11 owns checkbox/toggle UI.
 * ========================================================================== */
body.awdr-template-elegant .awd-search-panel .awdr-filter-check .awd-module-filter-toggle,
body.awdr-template-elegant .awd-search-panel .awdr-filter-check .awd-module-filter-toggle:has(input:checked){
  color:inherit!important;
}
body.awdr-template-elegant .awd-search-panel .awdr-filter-check input[type="checkbox"]{
  accent-color:var(--awd-accent,var(--awdt-primary,#2563eb))!important;
}
