
/*
  DaGuest Pro — Charcoal & Gold Nightlife UI
  Premium, vibrant, entertainment vibe with subtle neon glow (blue + red).
  Elementor-friendly: scoped to theme classes, but key background overrides are global for consistency.
*/

/* Core tokens */
:root{
  --dgp-bg:#151a21;
  --dgp-bg-2:#202833;
  --dgp-bg-3:#2a3441;
  --dgp-surface: rgba(255,255,255,.07);
  --dgp-surface-2: rgba(255,255,255,.11);
  --dgp-text:#F5F7FA;
  --dgp-muted:#AAB4C0;
  --dgp-border: rgba(255,255,255,.12);
  --dgp-shadow: 0 18px 60px rgba(0,0,0,.55);

  --dgp-gold:#D4A63A;
  --dgp-gold-2:#F0C96A;
  --dgp-blue:#18A558;
  --dgp-red:#39D98A;

  --dgp-green:#39D98A;

  --dgp-radius: 16px;
  --dgp-radius-lg: 24px;
  --dgp-max: 1180px;
  --dgp-header-max: 1380px;
  --dgp-font:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}


html{ background: var(--dgp-bg); }

/* Force site background (Elementor-friendly but decisive) */
/* Animated ambient glow */
body:before{
  content:"";
  position: fixed;
  inset: -30%;
  background:
    radial-gradient(40% 30% at 25% 20%, rgba(212,166,58,.18), transparent 60%),
    radial-gradient(40% 30% at 80% 25%, rgba(57,217,138,.14), transparent 60%),
    radial-gradient(50% 40% at 55% 85%, rgba(245,200,75,.14), transparent 65%),
    radial-gradient(40% 30% at 60% 55%, rgba(57,255,136,.10), transparent 62%);
  filter: blur(70px);
  opacity: .9;
  transform: translateZ(0);
  animation: dgpGlow 18s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: -1;
}
@keyframes dgpGlow{
  from{ transform: translate3d(-2%, -1%, 0) scale(1); }
  to{ transform: translate3d(2%, 1%, 0) scale(1.03); }
}

body{
  font-family: var(--dgp-font);
  background:
    radial-gradient(980px 560px at 15% 8%, rgba(212,166,58,.16), transparent 60%),
    radial-gradient(880px 520px at 84% 18%, rgba(57,217,138,.12), transparent 58%),
    radial-gradient(880px 680px at 52% 96%, rgba(240,201,106,.10), transparent 66%),
    linear-gradient(180deg, #171d25 0%, #1d2631 48%, #263242 100%) !important;
  color: var(--dgp-text);
}

body{
  color: var(--dgp-text);
}

/* General typography */
h1,h2,h3,h4,h5,h6{ color: var(--dgp-text); letter-spacing:-.02em; font-family: var(--dgp-font); }
p,li,small,label{ color: rgba(244,246,255,.90); }
a.muted, .muted{ color: rgba(181,189,210,.95); }
a{ color: rgba(244,246,255,.92); }
a:hover{ color: var(--dgp-gold); }

.dgp-container{ max-width: var(--dgp-max); margin:0 auto; padding: 0 18px; }
.dgp-main{ padding: 18px 0 26px; }

/* Header */
.dgp-header{
  position: sticky; top: 0; z-index: 999;
  background: rgba(10,13,18,.78);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}
.dgp-header .dgp-container{ max-width: var(--dgp-header-max); }
.dgp-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap: 20px; padding: 12px 0;
}
.dgp-brand{ display:flex; align-items:center; gap: 12px; min-width: 110px; flex:0 0 auto; }
.dgp-logo-img, .custom-logo{ height: 42px; max-height:42px; width:auto; display:block; }
.custom-logo-link{ display:inline-flex; align-items:center; }
.dgp-logo-text{ display:inline-flex; text-decoration:none; }
.dgp-logo-pill{ display:inline-flex; align-items:center; padding:10px 14px; border-radius:14px; background:linear-gradient(180deg, rgba(240,201,106,.14), rgba(255,255,255,.08)); border:1px solid rgba(240,201,106,.24); color:#0b1116; font-weight:900; background-color:#f6e7b3; box-shadow:0 10px 34px rgba(212,166,58,.18); }

.dgp-nav-toggle{
  display:none; align-items:center; justify-content:center;
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--dgp-text);
}
.dgp-nav-toggle-lines{ width:18px; height: 2px; background: rgba(244,246,255,.92); position: relative; border-radius: 99px; }
.dgp-nav-toggle-lines:before,.dgp-nav-toggle-lines:after{ content:""; position:absolute; left:0; right:0; height:2px; background: rgba(244,246,255,.92); border-radius:99px; }
.dgp-nav-toggle-lines:before{ top:-6px; }
.dgp-nav-toggle-lines:after{ top:6px; }

.dgp-nav{
  display:flex;
  align-items:center;
  gap: 12px;
  flex:1 1 auto;
  min-width:0;
}
.dgp-nav a{
  color: rgba(244,246,255,.92);
  text-decoration:none;
  font-weight: 800;
  font-size: 14px;
  line-height:1.2;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: all .18s ease;
  white-space: nowrap;
}
.dgp-nav a:hover{
  border-color: rgba(212,166,58,.32);
  background: rgba(212,166,58,.08);
  box-shadow: 0 0 0 3px rgba(212,166,58,.08);
}
.dgp-nav a.current-menu-item,
.dgp-nav a.current,
.dgp-menu > li.current-menu-item > a,
.dgp-menu > li.current-menu-parent > a,
.dgp-menu > li.current-menu-ancestor > a,
.dgp-menu > li.current_page_item > a,
.dgp-menu > li.current-page-ancestor > a{
  color:#FFF7D1;
  border-color: rgba(245,200,75,.32);
  background: linear-gradient(180deg, rgba(245,200,75,.12), rgba(245,200,75,.08));
  box-shadow: 0 0 0 2px rgba(245,200,75,.08);
}

.dgp-nav-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  background: linear-gradient(135deg, rgba(245,200,75,.95), rgba(57,217,138,.82));
  color: #0b0b12 !important;
  border: 1px solid rgba(245,200,75,.30);
  box-shadow: 0 18px 40px rgba(245,200,75,.14), 0 12px 32px rgba(57,217,138,.10);
  margin-left:auto;
}
.dgp-nav-cta:hover{ filter: brightness(1.04); transform: translateY(-1px); }
.dgp-nav-cta.is-active{ color:#FFF7D1 !important; background: linear-gradient(180deg, rgba(245,200,75,.16), rgba(245,200,75,.10)); box-shadow: 0 0 0 2px rgba(245,200,75,.10), 0 10px 26px rgba(212,166,58,.12); border-color: rgba(245,200,75,.46); }

.dgp-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
}
.dgp-menu > li{ position: relative; flex: 0 0 auto; }
.dgp-menu > li > a{ display:inline-flex; align-items:center; }
.dgp-menu > li.menu-item-has-children > a::after{ content:'▾'; font-size:11px; margin-left:6px; opacity:.75; }
.dgp-menu .sub-menu{
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 220px;
  list-style: none;
  margin: 0;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(12,14,18,.94);
  box-shadow: 0 24px 80px rgba(0,0,0,.60);
  backdrop-filter: blur(14px);
}
.dgp-menu .sub-menu li a{
  display:block;
  padding: 10px 10px;
  border-radius: 12px;
}
.dgp-menu li:hover > .sub-menu,
.dgp-menu li:focus-within > .sub-menu{ display: block; }

@media (max-width: 1320px){
  .dgp-nav-toggle{ display:flex; }
  .dgp-header-inner{ flex-wrap: wrap; }
  .dgp-nav{ display:none; width:100%; padding: 10px 0 12px; flex-direction:column; align-items:stretch; gap:14px; }
  .dgp-nav.is-open{ display:flex; }
  .dgp-menu{ width:100%; flex-wrap:wrap; gap:8px 10px; }
  .dgp-menu .sub-menu{ position: static; display:block; background: transparent; border: none; box-shadow:none; padding: 6px 0 0; min-width: 0; }
  .dgp-menu .sub-menu li a{ padding-left: 18px; }
  .dgp-nav > .dgp-nav-cta{ width:100%; margin-left:0; }
}

/* Hero */
.dgp-hero{ padding: 24px 0 12px; }
.dgp-hero-grid{ display:grid; grid-template-columns: 1.12fr .88fr; gap: 20px; align-items:center; }
@media (max-width: 980px){ .dgp-hero-grid{ grid-template-columns: 1fr; } }

.dgp-hero-card{
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border-radius: var(--dgp-radius-lg);
  box-shadow: var(--dgp-shadow);
  padding: 22px;
  position: relative;
  overflow:hidden;
}
.dgp-hero-card:before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(700px 260px at 18% 18%, rgba(45,107,255,.16), transparent 60%),
    radial-gradient(700px 260px at 85% 30%, rgba(255,46,95,.12), transparent 60%),
    radial-gradient(700px 340px at 55% 120%, rgba(245,200,75,.12), transparent 66%);
  pointer-events:none;
}
.dgp-hero-card > *{ position:relative; }

.dgp-kicker{
  display:inline-flex; gap: 10px; align-items:center;
  font-weight: 800; font-size: 12px; letter-spacing: .7px;
  color: rgba(245,200,75,.96);
  text-transform: uppercase;
}
.dgp-hero h1{ font-size: clamp(28px, 3.7vw, 40px); line-height: 1.03; margin: 8px 0 10px; max-width: 15ch; letter-spacing:-0.03em; }
.dgp-hero p{ color: rgba(244,246,255,.86); font-size: 16px; line-height: 1.6; max-width: 62ch; }

/* Buttons */
.dgp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap: 10px;
  padding: 12px 14px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--dgp-text);
  font-weight: 800;
  text-decoration:none;
  transition: all .18s ease;
}
.dgp-btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.10); }
.dgp-btn-primary{
  background: linear-gradient(135deg, rgba(245,200,75,.95), rgba(45,107,255,.80));
  color: #0b0b12;
  border-color: rgba(245,200,75,.35);
  box-shadow: 0 20px 55px rgba(245,200,75,.14), 0 18px 60px rgba(212,166,58,.12);
}
.dgp-btn-primary:hover{ filter: brightness(1.05); }
.dgp-btn-soft{
  background: rgba(255,255,255,.06);
}

/* Search bar */
.dgp-searchbar{
  display:flex; gap: 10px; align-items:center;
  margin: 16px 0 8px;
}
.dgp-searchbar input{
  flex: 1;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--dgp-text);
  outline: none;
}
.dgp-searchbar input::placeholder{ color: rgba(181,189,210,.75); }
.dgp-searchbar input:focus{
  border-color: rgba(45,107,255,.45);
  box-shadow: 0 0 0 3px rgba(45,107,255,.14);
}

/* Sections and grids */
.dgp-section{ padding: 18px 0 28px; }
.dgp-section h2{ font-size: 18px; margin: 0 0 14px; }
.dgp-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; align-items:stretch; }
@media (max-width: 1100px){ .dgp-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 780px){ .dgp-grid{ grid-template-columns: 1fr; } }


.dgp-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.22) contrast(1.10) brightness(1.07);
  transform:scale(1.02);
}
/* Cards */
.dgp-card{
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border-radius: var(--dgp-radius-lg);
  overflow:hidden;
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
  transition: transform .18s ease, border-color .18s ease;
  display:flex;
  flex-direction:column;
  height:100%;
}
.dgp-card:hover{ transform: translateY(-2px); border-color: rgba(245,200,75,.28); }
.dgp-card-media{
  display:block;
  height: 208px;
  position: relative;
  overflow:hidden;
  flex:0 0 auto;
}
.dgp-card-media:before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(520px 240px at 18% 20%, rgba(245,200,75,.22), transparent 62%),
              radial-gradient(540px 260px at 86% 20%, rgba(57,255,136,.14), transparent 62%);
  mix-blend-mode: screen;
  opacity:.55;
}
.dgp-card-media:after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.52));
}
.dgp-card-body{ padding: 16px 16px 14px; display:flex; flex-direction:column; flex:1 1 auto; }
.dgp-card-title{ font-size: 19px; margin: 0 0 10px; color: rgba(244,246,255,.96); line-height:1.32; }
.dgp-meta{ color: rgba(244,246,255,.84); font-size: 15px; line-height: 1.65; }

.dgp-badges{ display:flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.dgp-badge{
  font-size: 11px; font-weight: 900;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(244,246,255,.92);
}
.dgp-badge.verified{
  border-color: rgba(245,200,75,.38);
  background: rgba(245,200,75,.10);
  color: rgba(255,236,175,.96);
  box-shadow: 0 0 0 3px rgba(245,200,75,.08);
}
.dgp-badge.free{ border-color: rgba(212,166,58,.35); background: rgba(212,166,58,.10); }
.dgp-badge.pro{ border-color: rgba(57,217,138,.35); background: rgba(57,217,138,.10); }

.dgp-card-actions{
  display:flex; gap: 8px; flex-wrap: wrap;
  padding: 0;
  margin-top:auto;
}

/* Share */
.dgp-share{
  display:inline-flex; gap: 8px; align-items:center;
  margin: 0 16px 16px;
}
.dgp-share-icon{
  width: 34px; height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(244,246,255,.92);
  display:inline-flex; align-items:center; justify-content:center;
  font-weight: 900; font-size: 12px;
  cursor: pointer;
}
.dgp-share-icon:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(245,200,75,.22);
  box-shadow: 0 0 0 3px rgba(245,200,75,.08);
}

/* Filter bar */
.dgp-filterbar{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  border-radius: var(--dgp-radius-lg);
  padding: 14px;
  margin: 14px 0 18px;
}
.dgp-filterbar-row{
  display:grid;
  grid-template-columns: 1.3fr repeat(4, 1fr) auto;
  gap: 12px;
  align-items:end;
}
@media (max-width: 1100px){
  .dgp-filterbar-row{ grid-template-columns: 1fr 1fr; }
}
.dgp-filterbar label{ font-size: 12px; color: rgba(181,189,210,.95); font-weight: 700; }
.dgp-filterbar input,
.dgp-filterbar select{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--dgp-text);
  outline: none;
}
.dgp-filterbar input::placeholder{ color: rgba(181,189,210,.75); }
.dgp-filterbar input:focus,
.dgp-filterbar select:focus{
  border-color: rgba(45,107,255,.45);
  box-shadow: 0 0 0 3px rgba(45,107,255,.14);
}

/* Footer */
.dgp-footer{
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,.10);
  background: rgba(12,14,18,.70);
  backdrop-filter: blur(16px);
  padding: 34px 0;
}
.dgp-footer a{ color: rgba(244,246,255,.88); text-decoration:none; }
.dgp-footer a:hover{ color: var(--dgp-gold); }

/* Skip link */
.dgp-skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.dgp-skip-link:focus{
  position: fixed; left: 18px; top: 18px;
  width:auto; height:auto; padding: 10px 12px;
  background: rgba(245,200,75,.95);
  color: #0b0b12;
  border-radius: 12px;
  z-index: 99999;
}


/* Compatibility aliases (templates use these classnames) */
.dgp-card-badges{
  position:absolute;
  left: 12px;
  top: 12px;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  z-index: 2;
}
.dgp-card-meta{ margin: 8px 0 14px; display:grid; gap:8px; }
.dgp-meta-line{ color: rgba(244,246,255,.84); font-size: 14px; line-height: 1.55; display:flex; align-items:flex-start; gap:8px; }
.dgp-card-media .dgp-card-badges{ pointer-events:none; }

/* Badge color variants used by templates */
.dgp-badge-gold{
  border-color: rgba(245,200,75,.38);
  background: rgba(245,200,75,.10);
  color: rgba(255,236,175,.96);
  box-shadow: 0 0 0 3px rgba(245,200,75,.08);
}
.dgp-badge-blue{
  border-color: rgba(212,166,58,.35);
  background: rgba(212,166,58,.10);
}
.dgp-badge-green{
  border-color: rgba(57,255,136,.30);
  background: rgba(57,255,136,.10);
  color: rgba(222,255,238,.96);
}


/* Elementor width normalization (prevents ultra-wide layouts) */
.elementor-section .elementor-container,
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con,
.e-con > .e-con-inner,
.elementor-container{
  max-width: var(--dgp-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-widget-wrap,
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated{
  padding-left: 18px !important;
  padding-right: 18px !important;
}


/* Page headers */
.dgp-pagehead{ padding: 18px 0 10px; }
.dgp-h1{ font-size: clamp(22px, 2.2vw, 32px); margin: 0 0 6px; letter-spacing: .2px; }
.dgp-sub{ margin: 0; color: rgba(181,189,210,.95); font-size: 14px; max-width: 70ch; }

/* Search bar */
.dgp-searchbar{
  display:flex;
  gap: 10px;
  align-items:center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.dgp-searchbar input[type="search"]{
  flex: 1 1 auto;
  min-width: 160px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color: rgba(244,246,255,.94);
  border-radius: 14px;
  padding: 12px 12px;
  outline: none;
}
.dgp-searchbar input[type="search"]::placeholder{ color: rgba(181,189,210,.85); }
.dgp-searchbar input[type="search"]:focus{
  border-color: rgba(45,107,255,.45);
  box-shadow: 0 0 0 3px rgba(212,166,58,.12);
}

/* Pagination */
.dgp-pagination{ margin: 18px 0 8px; }
.dgp-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 40px;
  height: 40px;
  margin: 0 6px 6px 0;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(244,246,255,.92);
  text-decoration:none;
  font-weight: 800;
}
.dgp-pagination .page-numbers.current{
  border-color: rgba(245,200,75,.40);
  background: rgba(245,200,75,.10);
}

/* Compact hero + mini cards */
.dgp-hero--compact{ padding-top: 18px; padding-bottom: 10px; }
.dgp-mini-card{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  border-radius: var(--dgp-radius-lg);
  padding: 14px;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.dgp-bullets{ margin: 10px 0 0; padding-left: 18px; color: rgba(244,246,255,.86); }
.dgp-bullets li{ margin: 6px 0; }


.dgp-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;}
.dgp-coverage-card,.dgp-business-cta-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));border-radius:22px;padding:18px;box-shadow:var(--dgp-shadow);}
.dgp-business-cta-card{display:grid;grid-template-columns:1.2fr auto;gap:18px;align-items:center;}
@media (max-width:980px){.dgp-coverage-grid{grid-template-columns:1fr 1fr}.dgp-business-cta-card{grid-template-columns:1fr}}
@media (max-width:640px){.dgp-coverage-grid{grid-template-columns:1fr}}


.dgp-filterbar select,
.dgp-search select,
.dgp-searchbar select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-color: rgba(16,22,31,.96);
  color: var(--dgp-text);
}
.dgp-filterbar select option,
.dgp-filterbar select optgroup,
.dgp-search select option,
.dgp-search select optgroup,
.dgp-searchbar select option,
.dgp-searchbar select optgroup{
  background:#10161f;
  color:#f4f6ff;
}
.dgp-filterbar select:focus,
.dgp-search select:focus,
.dgp-searchbar select:focus{
  background-color: rgba(18,25,36,.98);
}
.dgp-hub-intro{
  margin: 0 0 18px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.dgp-link-icon{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.dgp-icon{ display:inline-flex; width:18px; height:18px; line-height:1; }
.dgp-icon svg{ width:100%; height:100%; display:block; }
.dgp-share-icon .dgp-icon{ width:16px; height:16px; }
.dgp-share-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.dgp-pagination ul.page-numbers{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
}
.dgp-pagehead + .dgp-hub-intro{ margin-top: 10px; }


/* Navigation polish */
.dgp-header-inner{ gap: 14px; }
.dgp-nav{ justify-content: flex-end; }
.dgp-menu > li > a{ min-height: 44px; }

/* Placeholder media polish */
.dgp-card-media img,
.dgp-card-media > a img,
.dgp-card-media picture img,
.dgp-promo-media,
.dgp-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dgp-card-media img{ transition: transform .35s ease; }
.dgp-card:hover .dgp-card-media img{ transform: scale(1.04); }

/* Footer layout */
.dgp-footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1.75fr);
  gap:28px;
  align-items:start;
}
.dgp-footer-brand{
  padding:24px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.dgp-footer-text{
  margin:18px 0 0;
  color:rgba(244,246,255,.76);
  font-size:15px;
  line-height:1.8;
}
.dgp-footer-contacts{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}
.dgp-footer-contacts .dgp-link{
  width:fit-content;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.dgp-footer-widgets{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.dgp-footer-col{
  padding:22px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.dgp-widget-title{
  margin:0 0 14px;
  color:#f5f7fa;
  font-size:18px;
}
.dgp-footer-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.dgp-footer-list li a{
  color:rgba(244,246,255,.82);
  font-size:15px;
}
.dgp-footer-bottom{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}
.dgp-footer-copy{ color:rgba(244,246,255,.68); font-size:14px; }
.dgp-menu-footer{ gap:10px; }
.dgp-menu-footer li a{ font-size:14px; color:rgba(244,246,255,.75); }
@media (max-width: 980px){
  .dgp-footer-top,
  .dgp-footer-widgets{ grid-template-columns:1fr; }
}


.site-main,
.dgp-main,
.site-content{
  position:relative;
}

body.page .site-main,
body.archive .site-main,
body.single .site-main{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015));
}

.dgp-section,
.dgp-sidecard,
.dgp-card,
.dgp-hero-card{
  backdrop-filter: blur(10px);
}

.dgp-badge.claimed{ border-color: rgba(57,217,138,.35); background: rgba(57,217,138,.10); color:#B8FFD7; }
.dgp-badge.featured-homepage,
.dgp-badge.featured-category{ border-color: rgba(245,200,75,.35); background: rgba(245,200,75,.10); color:#FFF1B6; }
.dgp-badge.verified-date{ border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.08); color:#EAF0F6; }


/* Ratings */
.dgp-rating-summary{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#eef4ff;flex-wrap:wrap;}
.dgp-rating-stars{--percent:calc(var(--rating) / 5 * 100%);position:relative;display:inline-block;line-height:1;font-size:15px;letter-spacing:2px;}
.dgp-rating-stars::before{content:'★★★★★';color:rgba(255,255,255,.2);}
.dgp-rating-stars::after{content:'★★★★★';position:absolute;left:0;top:0;width:var(--percent);overflow:hidden;color:#f0c96a;}
.dgp-rating-value{font-size:14px;color:#fff7d1;}
.dgp-rating-count{font-size:13px;color:var(--dgp-muted);}
.dgp-rating-widget{margin-top:16px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));}
.dgp-rating-widget-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px;}
.dgp-rating-widget h3{margin:0 0 4px;font-size:18px;}
.dgp-rating-widget p{margin:0;color:var(--dgp-muted);font-size:14px;}
.dgp-rating-controls{display:flex;gap:10px;flex-wrap:wrap;}
.dgp-rating-star{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#f0c96a;border-radius:14px;min-width:48px;height:48px;font-size:24px;line-height:1;cursor:pointer;transition:.18s ease;}
.dgp-rating-star:hover:not(:disabled),.dgp-rating-star:focus-visible:not(:disabled){transform:translateY(-1px);background:rgba(240,201,106,.16);border-color:rgba(240,201,106,.35);box-shadow:0 0 0 3px rgba(240,201,106,.12);}
.dgp-rating-star:disabled{opacity:.58;cursor:not-allowed;}
.dgp-rating-feedback{margin-top:12px;color:#dce6f7;font-size:14px;}

/* Hero blocks for page-builder sections */
.dgp-image-marker,.dgp-events-video-marker,.dgp-talents-image-marker,.dgp-venues-image-marker,.dgp-directory-image-marker{display:none !important;}
.dgp-hero-wrap,.dgp-events-hero-wrap,.dgp-talents-hero-wrap,.dgp-venues-hero-wrap,.dgp-directory-hero-wrap{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:28px;padding:24px;background:linear-gradient(180deg,rgba(18,24,31,.84),rgba(18,24,31,.94));box-shadow:var(--dgp-shadow);margin:0 0 24px;}
.dgp-hero-wrap::before,.dgp-events-hero-wrap::before,.dgp-talents-hero-wrap::before,.dgp-venues-hero-wrap::before,.dgp-directory-hero-wrap::before{content:'';position:absolute;inset:0;background-image:var(--hero-image,var(--events-hero-bg,var(--talents-hero-bg,var(--venues-hero-bg,var(--directory-hero-bg)))));background-size:cover;background-position:center;opacity:.26;transform:scale(1.03);}
.dgp-hero-wrap::after,.dgp-events-hero-wrap::after,.dgp-talents-hero-wrap::after,.dgp-venues-hero-wrap::after,.dgp-directory-hero-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(14,18,24,.86) 44%,rgba(14,18,24,.72) 100%);}
.dgp-hero-grid,.dgp-events-hero-grid,.dgp-talents-hero-grid,.dgp-venues-hero-grid,.dgp-directory-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.82fr);gap:20px;align-items:center;}
@media (max-width: 980px){.dgp-hero-grid,.dgp-events-hero-grid,.dgp-talents-hero-grid,.dgp-venues-hero-grid,.dgp-directory-hero-grid{grid-template-columns:1fr;}.dgp-hero-wrap,.dgp-events-hero-wrap,.dgp-talents-hero-wrap,.dgp-venues-hero-wrap,.dgp-directory-hero-wrap{padding:22px;border-radius:24px;}}
.dgp-eyebrow,.dgp-events-eyebrow,.dgp-talents-eyebrow,.dgp-venues-eyebrow,.dgp-directory-eyebrow{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff0be;margin-bottom:12px;}
.dgp-events-eyebrow{color:#bedcff;}.dgp-talents-eyebrow{color:#d9ffca;}.dgp-venues-eyebrow{color:#ffe0be;}.dgp-directory-eyebrow{color:#ead7ff;}
.dgp-hero-copy h1,.dgp-events-hero-copy h1,.dgp-talents-hero-copy h1,.dgp-venues-hero-copy h1,.dgp-directory-hero-copy h1{font-size:clamp(28px,2.6vw,38px);line-height:1.08;margin:0 0 10px;max-width:15ch;}
.dgp-hero-lead,.dgp-events-hero-lead,.dgp-talents-hero-lead,.dgp-venues-hero-lead,.dgp-directory-hero-lead{margin:0 0 16px;font-size:15px;line-height:1.65;color:rgba(244,246,255,.84);max-width:62ch;}
.dgp-hero-actions,.dgp-events-hero-actions,.dgp-talents-hero-actions,.dgp-venues-hero-actions,.dgp-directory-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px;}
.dgp-btn-secondary,.dgp-events-btn-secondary,.dgp-talents-btn-secondary,.dgp-venues-btn-secondary,.dgp-directory-btn-secondary,.dgp-btn-ghost,.dgp-events-btn,.dgp-talents-btn,.dgp-venues-btn,.dgp-directory-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 15px;border-radius:14px;font-weight:800;text-decoration:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--dgp-text);transition:.18s ease;}
.dgp-btn-primary,.dgp-events-btn-primary,.dgp-talents-btn-primary,.dgp-venues-btn-primary,.dgp-directory-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 15px;border-radius:14px;font-weight:900;text-decoration:none;border:1px solid rgba(240,201,106,.35);background:linear-gradient(135deg,rgba(240,201,106,.98),rgba(133,191,255,.88));color:#0b1016;box-shadow:0 16px 44px rgba(240,201,106,.15);}
.dgp-btn-primary:hover,.dgp-events-btn-primary:hover,.dgp-talents-btn-primary:hover,.dgp-venues-btn-primary:hover,.dgp-directory-btn-primary:hover,.dgp-btn-secondary:hover,.dgp-events-btn-secondary:hover,.dgp-talents-btn-secondary:hover,.dgp-venues-btn-secondary:hover,.dgp-directory-btn-secondary:hover,.dgp-btn-ghost:hover{transform:translateY(-1px);filter:brightness(1.03);}
.dgp-hero-stats,.dgp-events-hero-meta,.dgp-talents-hero-meta,.dgp-venues-hero-meta,.dgp-directory-hero-meta,.dgp-hero-tags,.dgp-talents-feature-tags,.dgp-venues-reel-tags,.dgp-directory-feature-tags{display:flex;flex-wrap:wrap;gap:10px;}
.dgp-stat-card,.dgp-events-hero-meta span,.dgp-talents-hero-meta span,.dgp-venues-hero-meta span,.dgp-directory-hero-meta span,.dgp-hero-tags span,.dgp-talents-feature-tags span,.dgp-venues-reel-tags span,.dgp-directory-feature-tags span{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(6px);}
.dgp-stat-card{min-width:120px;flex-direction:column;align-items:flex-start;gap:3px;}
.dgp-stat-card strong{font-size:18px;line-height:1;color:#fff7d1;}
.dgp-stat-card span{font-size:13px;color:var(--dgp-muted);}
.dgp-hero-side > *, .dgp-events-hero-side > *, .dgp-talents-hero-side > *, .dgp-venues-hero-side > *, .dgp-directory-hero-side > *{position:relative;z-index:1;padding:18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 60px rgba(0,0,0,.3);}
.dgp-search-card h3,.dgp-talents-feature-copy h3,.dgp-venues-reel-copy h3,.dgp-directory-feature-copy h3{margin:0 0 8px;font-size:20px;line-height:1.2;}
.dgp-search-card p,.dgp-talents-feature-copy p,.dgp-venues-reel-copy p,.dgp-directory-feature-copy p,.dgp-events-video-note{margin:0 0 16px;color:rgba(244,246,255,.82);font-size:15px;line-height:1.65;}
.dgp-hero-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 14px;}
.dgp-hero-search input{padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;}.dgp-hero-search button{padding:13px 16px;border-radius:14px;border:1px solid rgba(240,201,106,.35);background:linear-gradient(135deg,rgba(240,201,106,.98),rgba(133,191,255,.88));color:#0b1016;font-weight:800;cursor:pointer;}
.dgp-events-video-frame video,.dgp-talents-feature-media img,.dgp-venues-reel-media img,.dgp-directory-feature-media img{display:block;width:100%;height:220px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.12);}
.dgp-events-video-head,.dgp-talents-feature-top,.dgp-venues-reel-top,.dgp-directory-feature-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.dgp-events-video-label,.dgp-talents-feature-label,.dgp-venues-reel-label,.dgp-directory-feature-label{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d7e5ff;}
.dgp-events-video-dot,.dgp-talents-feature-badge,.dgp-venues-reel-badge,.dgp-directory-feature-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:28px;padding:0 10px;border-radius:999px;background:rgba(240,201,106,.14);border:1px solid rgba(240,201,106,.28);color:#fff7d1;font-size:12px;font-weight:800;}
.dgp-events-video-dot{min-width:12px;width:12px;height:12px;padding:0;border-radius:50%;background:#39d98a;border-color:#39d98a;box-shadow:0 0 0 6px rgba(57,217,138,.15);}

.dgp-hero-wrap{box-shadow:0 24px 70px rgba(245,200,75,.10);}
.dgp-hero-wrap::after{background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(17,22,29,.84) 44%,rgba(18,24,31,.72) 100%);}
.dgp-events-hero-wrap::after{background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(18,30,48,.84) 44%,rgba(14,18,24,.72) 100%);}
.dgp-talents-hero-wrap::after{background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(16,35,26,.82) 44%,rgba(14,18,24,.72) 100%);}
.dgp-venues-hero-wrap::after{background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(42,27,18,.82) 44%,rgba(14,18,24,.72) 100%);}
.dgp-directory-hero-wrap::after{background:linear-gradient(105deg,rgba(14,18,24,.92) 0%,rgba(32,24,44,.82) 44%,rgba(14,18,24,.72) 100%);}
.dgp-events-hero-wrap{box-shadow:0 24px 70px rgba(43,122,255,.12);}.dgp-talents-hero-wrap{box-shadow:0 24px 70px rgba(57,217,138,.12);}.dgp-venues-hero-wrap{box-shadow:0 24px 70px rgba(240,160,106,.12);}.dgp-directory-hero-wrap{box-shadow:0 24px 70px rgba(193,143,255,.12);}


.dgp-card-actions .dgp-btn{ flex:1 1 0; min-width:0; }
@media (max-width: 640px){ .dgp-card-actions .dgp-btn{ width:100%; } }


/* Status badges */
.dgp-badge-red{ border-color: rgba(220,38,38,.38); background: rgba(220,38,38,.10); color: rgba(252,165,165,1); }
.dgp-badge-amber{ border-color: rgba(245,158,11,.38); background: rgba(245,158,11,.10); color: rgba(253,230,138,1); }
.dgp-badge-muted{ border-color: rgba(148,163,184,.35); background: rgba(148,163,184,.10); color: rgba(203,213,225,1); }

/* Claim / notices */
.dgp-alert{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,28,.55);color:rgba(255,255,255,.9);}
.dgp-alert-success{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.12);}
.dgp-alert-warn{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.12);}
