/* =========================================================
   DekoGo Page — Standalone styles
   Scoped under .dekogo-page to avoid affecting header/footer
   ========================================================= */

.dekogo-page {
    --dg-blue: #2563EB;
    --dg-blue-2: #1D4ED8;
    --dg-blue-soft: #EFF6FF;
    --dg-dark: #0B1220;
    --dg-dark-2: #111827;
    --dg-text: #0F172A;
    --dg-muted: #6B7280;
    --dg-border: #E5E7EB;
    --dg-yellow: #F59E0B;
    --dg-red: #EF4444;
    --dg-green: #10B981;
    --dg-purple: #7C3AED;
    --dg-pink: #EC4899;
    --dg-radius: 14px;
    --dg-radius-lg: 18px;
    --dg-shadow: 0 6px 22px rgba(15, 23, 42, .08);
    color: var(--dg-text);
    background: #fff;
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.dekogo-page *,
.dekogo-page *::before,
.dekogo-page *::after {
    box-sizing: border-box;
}

.dekogo-page img {
    max-width: 100%;
    display: block;
}

.dekogo-page a {
    text-decoration: none;
    color: inherit;
}

.dekogo-container {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    box-sizing: border-box;
}


/* ---------- HERO (LIGHT) ---------- */
.dg-hero {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #FFFFFF;
    color: var(--dg-text);
}

.dg-hero .dekogo-container {
    position: relative;
    z-index: 2;
}

.dg-hero-bgimg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 55%;
    z-index: 1;
    overflow: hidden;
}

.dg-hero-bgimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.dg-hero-bgimg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, .92) 4%, rgba(255, 255, 255, .35) 14%, rgba(255, 255, 255, 0) 28%);
    z-index: 2;
    pointer-events: none;
}

.dg-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: center;
    min-height: 460px;
}

.dg-hero-left {
    padding: 36px 40px 36px 0;
    position: relative;
    z-index: 2;
}

.dg-hero-left h1 {
    font-size: 80px;
    line-height: 1;
    font-weight: 800;
    margin: 0 0 18px;
    color: #0F172A;
    letter-spacing: -2.5px;
}

.dg-hero-tag {
    font-size: 22px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 14px;
    letter-spacing: -.3px;
}

.dg-hero-desc {
    font-size: 15px;
    color: #64748B;
    line-height: 1.65;
    max-width: 520px;
    margin: 0 0 28px;
}

.dg-hero-ctas {
    display: flex;
    gap: 12px;
    margin-bottom: 26px;
    flex-wrap: wrap;
}

.dg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    padding: 11px 22px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all .2s ease;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.2;
}

.dekogo-page a.dg-btn-primary,
.dekogo-page .dg-btn-primary {
    background: #1D4ED8 !important;
    color: #ffffff !important;
    border-color: #1D4ED8 !important;
}

.dekogo-page a.dg-btn-primary:hover,
.dekogo-page .dg-btn-primary:hover,
.dekogo-page a.dg-btn-primary:focus,
.dekogo-page .dg-btn-primary:focus {
    background: #1E40AF !important;
    border-color: #1E40AF !important;
    color: #ffffff !important;
    text-decoration: none;
}

.dekogo-page a.dg-btn-outline,
.dekogo-page .dg-btn-outline {
    background: #ffffff !important;
    color: #1D4ED8 !important;
    border-color: #1D4ED8 !important;
}

.dekogo-page a.dg-btn-outline:hover,
.dekogo-page .dg-btn-outline:hover,
.dekogo-page a.dg-btn-outline:focus,
.dekogo-page .dg-btn-outline:focus {
    background: #EFF6FF !important;
    color: #1D4ED8 !important;
    border-color: #1D4ED8 !important;
    text-decoration: none;
}

.dg-btn-dark {
    background: var(--dg-dark);
    color: #fff;
}

.dg-btn-dark:hover {
    background: #000;
    color: #fff;
}

.dg-btn-lg {
    padding: 14px 26px;
    font-size: 15px;
}

/* Feature row (Near You, Book Instantly...) */
.dg-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 10px;
}

.dg-feature {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.dg-feature-ic {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--dg-blue);
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(37, 99, 235, .25);
}

.dg-feature h5 {
    margin: 0 0 3px;
    font-size: 13px;
    font-weight: 700;
    color: var(--dg-text);
    letter-spacing: -.1px;
}

.dg-feature p {
    margin: 0;
    font-size: 11.5px;
    color: #64748B;
    line-height: 1.45;
}

/* Hero right (image bleeds to the right edge of the dark bg) */
.dg-hero-right {
    position: relative;
    overflow: hidden;
    min-height: 460px;
}

.dg-hero-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.dg-hero-right::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #0B1220 0%, rgba(11, 18, 32, .55) 18%, rgba(11, 18, 32, 0) 48%);
    z-index: 1;
    pointer-events: none;
}

.dg-hero-right::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 18, 32, .15) 0%, rgba(11, 18, 32, 0) 30%, rgba(11, 18, 32, .45) 100%);
    z-index: 1;
    pointer-events: none;
}

.dg-pass-card {
    position: absolute;
    bottom: 26px;
    right: 16px;
    background: linear-gradient(180deg, #0F172A 0%, #1E1B4B 100%);
    backdrop-filter: blur(6px);
    color: #fff;
    padding: 18px 20px;
    border-radius: 16px;
    width: 280px;
    max-width: calc(100% - 32px);
    border: 1px solid rgba(139, 92, 246, .5);
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .25),
        0 20px 40px -10px rgba(124, 58, 237, .45);
    z-index: 3;
}

@media (max-width: 900px) {
    .dg-pass-card {
        position: relative;
        bottom: auto;
        right: auto;
        margin: 20px auto 0;
        width: min(320px, 100%);
    }
}

.dg-pass-card-top {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
}

.dg-pass-card-ic {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
}

.dg-pass-card h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
}

.dg-pass-card p {
    margin: 0;
    font-size: 12px;
    color: rgba(255, 255, 255, .75);
    line-height: 1.4;
}

.dg-pass-link {
    display: block;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 12px;
    background: var(--dg-blue);
    border-radius: 8px;
    border: 1px solid var(--dg-blue);
}

.dg-pass-link:hover {
    background: var(--dg-blue-2);
    color: #fff;
}

/* ---------- SEARCH BAR ---------- */
.dg-search-section {
    background: #fff;
    padding: 18px 0 4px;
}

.dg-searchbar-wrap {
    margin: 0 0 14px;
}

.dg-searchbar {
    display: flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 6px 6px 6px 0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.dg-search-loc {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px 0 18px;
    height: 48px;
    border-right: 1px solid #E5E7EB;
    flex: 0 0 auto;
    min-width: 200px;
}

.dg-search-loc>i {
    color: #2563EB;
    font-size: 15px;
}

.dg-search-geo {
    flex: none;
    border: 1px solid #DBEAFE;
    background: #EFF6FF;
    color: #2563EB;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: background .15s, color .15s, transform .15s;
}

.dg-search-geo:hover { background: #2563EB; color: #fff; }
.dg-search-geo:disabled { opacity: .6; cursor: wait; }
.dg-search-geo.is-loading i {
    animation: dgSpin 1s linear infinite;
}

@keyframes dgSpin {
    to { transform: rotate(360deg); }
}

.dg-search-hint {
    margin: 10px 0 0;
    font-size: 12.5px;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 6px;
}
.dg-search-hint i { color: #2563EB; }
.dg-search-hint strong { color: #0F172A; }

.dg-search-loc select {
    border: 0;
    background: transparent;
    font-weight: 600;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 22px;
    font-size: 14px;
    color: #0F172A;
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right center;
}

.dg-search-input {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    height: 48px;
    flex: 1 1 auto;
    min-width: 0;
}

.dg-search-input>i {
    color: #94A3B8;
    font-size: 15px;
}

.dg-search-input input {
    border: 0;
    outline: none;
    width: 100%;
    height: 100%;
    font-size: 14px;
    color: #0F172A;
    background: transparent;
}

.dg-search-input input::placeholder {
    color: #94A3B8;
}

.dg-search-btn {
    background: #1D4ED8;
    color: #fff;
    border: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    cursor: pointer;
    transition: background .2s;
    flex: 0 0 44px;
    margin-right: 0;
}

.dg-search-btn:hover {
    background: #1E40AF;
}

/* Filter chips */
.dg-chips-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 0 28px;
}

.dg-chips {
    display: flex;
    gap: 8px;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    padding-right: 24px;
    mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 32px), transparent 100%);
}

.dg-chips::-webkit-scrollbar { display: none; }

.dg-chip-filters {
    flex: none;
    border-color: #CBD5E1 !important;
    background: #F8FAFC !important;
}

.dg-chip-filters:hover {
    background: #0B1220 !important;
    color: #fff !important;
    border-color: #0B1220 !important;
}
.dg-chip-filters:hover i { color: #fff; }

@media (max-width: 640px) {
    .dg-chips-row { gap: 8px; padding-bottom: 18px; }
    .dg-chips { padding-right: 16px; }
}

.dg-chip {
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12.5px;
    font-weight: 600;
    color: #0F172A;
    background: #fff;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.4;
    white-space: nowrap;
}

.dg-chip:hover {
    border-color: #1D4ED8;
    color: #1D4ED8;
}

.dg-chip.is-active {
    background: #0B1220;
    color: #fff !important;
    border-color: #0B1220;
}

.dg-chip.is-active:hover {
    background: #000;
    color: #fff !important;
    border-color: #000;
}

.dg-chip i {
    font-size: 12px;
    color: #64748B;
}

/* ---------- HOT TICKETS DARK PANEL ---------- */
.dg-hot {
    background:
        radial-gradient(60% 80% at 85% 50%, rgba(124, 58, 237, .18), transparent 70%),
        radial-gradient(50% 60% at 15% 100%, rgba(37, 99, 235, .18), transparent 70%),
        linear-gradient(180deg, #0F0B2E 0%, #0B0D24 40%, #0B1220 100%);
    color: #fff;
    border-radius: 18px;
    padding: 26px 26px 28px;
    margin: 8px 0 40px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, .25);
    box-shadow: 0 24px 60px -20px rgba(124, 58, 237, .35);
}

.dg-hot::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 10%, rgba(124, 58, 237, .18), transparent 40%),
        radial-gradient(circle at 10% 90%, rgba(37, 99, 235, .18), transparent 40%);
    pointer-events: none;
}

.dg-hot-grid {
    position: relative;
    display: grid;
    grid-template-columns: 340px 1fr 290px;
    gap: 20px;
    align-items: stretch;
}

.dg-hot-headline {
    color: #fff;
}

.dg-hot-flame {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin-bottom: 14px;
    color: #fff;
}

.dg-hot-flame .dg-hot-bold {
    color: #FBBF24;
}

.dg-hot-headline h2 {
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 12px;
    line-height: 1.15;
    color: #fff;
    letter-spacing: -.5px;
}

.dg-hot-headline p {
    color: #94A3B8;
    font-size: 13px;
    margin: 0 0 20px;
    line-height: 1.55;
}

.dg-hot-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.dg-stat {
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    padding: 10px;
    text-align: center;
}

.dg-stat strong {
    display: block;
    font-size: 17px;
    font-weight: 800;
    color: #fff;
}

.dg-stat span {
    font-size: 10px;
    color: #94A3B8;
}

.dg-hot-avatars {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 12px;
    color: #94A3B8;
}

.dg-hot-avatars .avs {
    display: inline-flex;
}

.dg-hot-avatars .avs span {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366F1, #EC4899);
    border: 2px solid #0B1220;
    margin-left: -6px;
    display: inline-block;
}

.dg-hot-avatars .avs span:first-child {
    margin-left: 0;
}

.dg-hot-cta-row {
    display: flex;
}

.dg-hot-cta-row .dg-btn {
    width: 100%;
}

/* Timer + cards center */
.dg-hot-center {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.dg-hot-timer-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 21px;
    margin-bottom: 14px;
}

.dg-hot-end-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #1D4ED8;
    border: 0;
    color: #fff;
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .4px;
    box-shadow: 0 4px 12px -4px rgba(37, 99, 235, .6);
}

.dg-hot-timer {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-weight: 800;
    color: #fff;
}

.dg-hot-timer>span:not(.lbl) {
    font-size: 26px;
    color: #fff;
    line-height: 1;
    letter-spacing: -.5px;
}

.dg-hot-timer .lbl {
    font-size: 10px;
    color: #94A3B8;
    font-weight: 700;
    margin: 0 6px 0 2px;
    letter-spacing: .3px;
}

.dg-hot-limited {
    background: linear-gradient(135deg, #EF4444, #DC2626);
    color: #fff;
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .4px;
    box-shadow: 0 4px 12px -4px rgba(239, 68, 68, .6);
}

.dg-hot-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}

.dg-mini {
    background: #FFFFFF;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
    color: #0F172A;
    border: 1px solid rgba(139, 92, 246, .35);
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .15),
        0 12px 30px -10px rgba(124, 58, 237, .45);
    height: 100%;
}

.dg-mini:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .35),
        0 18px 40px -12px rgba(124, 58, 237, .6);
}

.dg-mini.is-selected {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #8B5CF6,
        0 18px 40px -12px rgba(124, 58, 237, .6);
}

.dg-mini-media {
    position: relative;
    height: 180px;
    overflow: hidden;
    background: #1F2937;
    flex: 0 0 auto;
}

.dg-mini-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-mini-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 700;
    color: #fff;
    background: #EC4899;
    letter-spacing: .2px;
}

.dg-mini-badge.is-green {
    background: #10B981;
}

.dg-mini-badge.is-orange {
    background: #F59E0B;
}

.dg-mini-badge.is-purple {
    background: #8B5CF6;
}

.dg-mini-fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0F172A;
    font-size: 12px;
    cursor: pointer;
}

.dg-mini-body {
    padding: 14px 14px 14px;
    background: #fff;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 150px;
}

.dg-mini-body h4 {
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 10px;
    line-height: 1.3;
    min-height: 38px;
}

.dg-mini-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.dg-mini-meta span {
    font-size: 11.5px;
    color: #64748B;
    display: flex;
    gap: 6px;
    align-items: center;
}

.dg-mini-meta i {
    color: #94A3B8;
    font-size: 11px;
    width: 12px;
}

.dg-mini-price {
    font-size: 16px;
    font-weight: 800;
    color: #EF4444;
    margin-top: auto;
    margin-bottom: 0;
}

.dg-mini-price.is-free {
    color: #10B981;
}

.dg-mini-booked-bar {
    background: #F1F5F9;
    padding: 8px 14px;
    font-size: 11px;
    color: #475569;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    border-top: 1px solid #E5E7EB;
    flex: 0 0 auto;
}

.dg-mini-booked-bar i {
    color: #F59E0B;
    font-size: 11px;
}

/* Quick purchase panel */
.dg-quick {
    background: linear-gradient(180deg, rgba(30, 27, 75, .55), rgba(15, 23, 42, .85));
    border: 1px solid rgba(139, 92, 246, .45);
    box-shadow: 0 0 0 1px rgba(139, 92, 246, .15),
        0 20px 50px -15px rgba(124, 58, 237, .45);
    border-radius: 14px;
    padding: 16px;
    color: #fff;
    display: flex;
    flex-direction: column;
}

.dg-quick h4 {
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 12px;
    color: #fff;
}

.dg-quick-event {
    display: flex;
    gap: 10px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.dg-quick-event-img {
    width: 54px;
    height: 54px;
    border-radius: 10px;
    overflow: hidden;
    background: #1F2937;
    flex: 0 0 54px;
}

.dg-quick-event-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-quick-event h5 {
    margin: 0 0 4px;
    font-size: 13px;
    color: #fff;
}

.dg-quick-event p {
    margin: 0;
    font-size: 10.5px;
    color: #94A3B8;
    line-height: 1.45;
}

.dg-quick-event p i {
    color: var(--dg-blue);
    margin-right: 4px;
}

.dg-quick-sec-title {
    font-size: 11px;
    font-weight: 700;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
}

.dg-quick-ticket {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.dg-quick-ticket-name {
    font-size: 12px;
    color: #fff;
}

.dg-quick-ticket-name span {
    display: block;
    font-size: 11px;
    color: var(--dg-yellow);
    margin-top: 2px;
}

.dg-qty {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    overflow: hidden;
}

.dg-qty button {
    width: 28px;
    height: 28px;
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
}

.dg-qty input {
    width: 32px;
    height: 28px;
    text-align: center;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-left: 1px solid rgba(255, 255, 255, .12);
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.dg-quick-total {
    display: flex;
    justify-content: space-between;
    margin: 12px 0;
    font-size: 11px;
    color: #94A3B8;
}

.dg-quick-grand {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-top: 1px dashed rgba(255, 255, 255, .15);
    margin-bottom: 10px;
}

.dg-quick-grand strong {
    font-size: 18px;
    color: #38BDF8;
}

.dg-quick-buy {
    background: linear-gradient(90deg, #2563EB, #0EA5E9);
    color: #fff;
}

.dg-quick-buy:hover {
    filter: brightness(1.05);
    color: #fff;
}

.dg-quick-buy.is-disabled {
    opacity: .55;
    pointer-events: none;
    cursor: not-allowed;
    filter: grayscale(.3);
}

.dg-quick-foot {
    margin-top: 10px;
    font-size: 10.5px;
    color: #94A3B8;
    text-align: center;
    line-height: 1.6;
}

.dg-quick-foot i.fa-shield,
.dg-quick-foot i.fa-check-circle {
    color: var(--dg-green);
    margin-right: 4px;
}

/* ---------- HAPPENING NEAR YOU ---------- */
.dg-section {
    padding: 36px 0;
}

.dg-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.dg-section-head h2 {
    font-size: 24px;
    font-weight: 800;
    margin: 0;
    color: var(--dg-text);
}

.dg-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--dg-blue);
}

.dg-link:hover {
    color: var(--dg-blue-2);
}

.dg-tab-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.dg-tab-chip {
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--dg-blue-soft);
    color: var(--dg-blue);
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
}

.dg-tab-chip:not(.is-active) {
    background: #fff;
    color: var(--dg-text);
    border-color: var(--dg-border);
}

.dg-tab-chip:hover {
    color: var(--dg-blue);
    border-color: var(--dg-blue);
}

.dg-near-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 28px;
    align-items: start;
}

.dg-near-left {
    min-width: 0;
}

.dg-near-rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.dg-event-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s, border-color .2s;
    display: flex;
    flex-direction: column;
}

.dg-event-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -10px rgba(15, 23, 42, .15);
    border-color: #CBD5E1;
}

.dg-event-media {
    position: relative;
    height: 150px;
    overflow: hidden;
    flex: 0 0 auto;
}

.dg-event-card .dg-event-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.dg-event-card .dg-event-foot {
    margin-top: auto;
}

.dg-event-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-event-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 9px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 700;
    color: #fff;
    background: var(--dg-blue);
}

.dg-event-badge.bg-purple {
    background: var(--dg-purple);
}

.dg-event-badge.bg-green {
    background: var(--dg-green);
}

.dg-event-badge.bg-pink {
    background: var(--dg-pink);
}

.dg-event-badge.bg-orange {
    background: var(--dg-yellow);
}

.dg-event-fav {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--dg-text);
    cursor: pointer;
}

.dg-event-body {
    padding: 12px 12px 14px;
}

.dg-event-body h4 {
    margin: 0 0 8px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--dg-text);
    line-height: 1.3;
}

.dg-event-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.dg-event-meta span {
    font-size: 11.5px;
    color: #64748B;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dg-event-meta i {
    color: #94A3B8;
    font-size: 10.5px;
    width: 12px;
}

.dg-event-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.dg-event-rate {
    font-size: 11px;
    color: #64748B;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.dg-event-rate i {
    color: #F59E0B;
}

.dg-event-price {
    font-size: 14px;
    font-weight: 800;
    color: var(--dg-red);
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.dg-event-price.is-free {
    color: var(--dg-green);
}

.dg-event-old {
    font-size: 11.5px;
    font-weight: 500;
    color: #94A3B8;
    text-decoration: line-through;
}

.dg-event-rate {
    font-size: 11px;
    color: var(--dg-muted);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dg-event-rate i {
    color: var(--dg-yellow);
}

/* Sidebar (Host an Event etc.) */
.dg-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dg-side-card {
    border-radius: 14px;
    padding: 18px 0 18px 18px;
    display: flex;
    align-items: center;
    gap: 0;
    overflow: hidden;
    min-height: 140px;
}

.dg-side-card.is-rose {
    background: linear-gradient(120deg, #FCE7F3 0%, #FBCFE8 100%);
}

.dg-side-card.is-violet {
    background: linear-gradient(120deg, #EDE9FE 0%, #DDD6FE 100%);
}

.dg-side-card.is-pink {
    background: linear-gradient(120deg, #DBEAFE 0%, #E0E7FF 100%);
}

.dg-side-card-body {
    flex: 1;
    padding-right: 12px;
}

.dg-side-card-body h4 {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--dg-text);
    letter-spacing: -.2px;
}

.dg-side-card-body p {
    margin: 0 0 12px;
    font-size: 12px;
    color: #475569;
    line-height: 1.45;
}

.dg-side-card-img {
    width: 130px;
    height: 110px;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(255, 255, 255, .5);
    flex: 0 0 130px;
    align-self: stretch;
    margin-right: 0;
}

.dg-side-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-side-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EC4899;
    color: #fff !important;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 700;
    transition: filter .2s;
    border: 0;
}

.dg-side-btn:hover {
    filter: brightness(1.05);
    color: #fff;
}

.dg-side-btn.is-purple {
    background: var(--dg-purple);
}

.dg-side-btn.is-dark {
    background: var(--dg-dark);
}

/* Deals + Browse-by-category grid */
.dg-deals-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 28px;
    align-items: start;
}

.dg-deals-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.dg-cat-box {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: 14px;
    padding: 14px;
}

.dg-cat-box-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.dg-cat-box-head h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--dg-text);
}

.dg-cat-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.dg-cat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 4px;
    border-radius: 10px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    text-decoration: none;
    text-align: center;
    min-height: 70px;
    min-width: 0;
    transition: border-color .15s, background .15s, transform .15s;
}

.dg-cat-tile:hover {
    background: #EFF6FF;
    border-color: var(--dg-blue);
    transform: translateY(-1px);
}

.dg-cat-tile i {
    font-size: 18px;
    color: var(--dg-blue);
    margin: 0;
    flex: none;
}

.dg-cat-tile-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin: 0;
    flex: none;
}

.dg-cat-tile span {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--dg-text);
    line-height: 1.2;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 100%;
}

.dg-cat-tile span small {
    display: none;
}

/* ---------- CULTURE BANNER ---------- */
.dg-culture {
    background: linear-gradient(90deg, #1E1B4B 0%, #0B1024 50%, #0B1220 100%);
    color: #fff;
    border-radius: 22px 0 22px 22px;
    padding: 28px 28px 28px 0;
    display: grid;
    grid-template-columns: 200px 1fr auto 1fr;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    position: relative;
    margin: 12px 0 50px;
    min-height: 170px;
}

/* Top-right concave notch */
.dg-culture::after {
    content: '';
    position: absolute;
    top: -1px;
    right: -1px;
    width: 563px;
    height: 38px;
    background: #ffffff;
    border-bottom-left-radius: 28px;
    z-index: 5;
}


/* Concert image bleeding on the left with diagonal fade */
.dg-culture-img {
    position: relative;
    align-self: stretch;
    overflow: hidden;
}

.dg-culture-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-culture-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(11, 18, 32, 0) 0%, rgba(11, 18, 32, .35) 55%, #0B1024 100%);
}

.dg-culture-text {
    padding-left: 8px;
}

.dg-culture-text h2 {
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 8px;
    line-height: 1.2;
    color: #fff;
    letter-spacing: -.4px;
}

.dg-culture-text h2 span {
    color: #38BDF8;
}

.dg-culture-text p {
    margin: 0 0 16px;
    color: #CBD5E1;
    font-size: 13px;
    max-width: 480px;
}

/* Center glowing purple ticket icon */
.dg-culture-ticket {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 2px solid #A78BFA;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    color: #C4B5FD;
    position: relative;
    flex: 0 0 96px;
    box-shadow: 0 0 0 6px rgba(167, 139, 250, .12),
        0 0 22px rgba(167, 139, 250, .65),
        inset 0 0 22px rgba(167, 139, 250, .35);
    background: radial-gradient(circle at center, rgba(124, 58, 237, .25), rgba(11, 18, 32, 0) 70%);
}

.dg-culture-ticket::before {
    content: '';
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    border: 1px solid rgba(167, 139, 250, .25);
    pointer-events: none;
}

.dg-culture-ticket::after {
    content: '';
    position: absolute;
    inset: -22px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(167, 139, 250, .18), transparent 60%);
    pointer-events: none;
    z-index: -1;
}

.dg-culture-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.dg-cp {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.dg-cp-ic {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563EB;
    font-size: 16px;
    flex: 0 0 42px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .04),
        0 4px 12px rgba(0, 0, 0, .25);
}

.dg-cp h5 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.dg-cp p {
    margin: 0;
    font-size: 11.5px;
    color: #94A3B8;
    line-height: 1.45;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
    .dg-hero-left h1 {
        font-size: 52px;
    }

    .dg-hot-grid {
        grid-template-columns: 1fr;
    }

    .dg-near-grid,
    .dg-deals-grid {
        grid-template-columns: 1fr;
    }

    .dg-near-rail {
        grid-template-columns: repeat(3, 1fr);
    }

    .dg-deals-row {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 980px) {
    .dg-hero-bgimg {
        width: 45%;
    }

    .dg-hero-bgimg::before {
        background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, .7) 12%, rgba(255, 255, 255, 0) 35%);
    }
}

@media (max-width: 820px) {
    .dg-hero-grid {
        grid-template-columns: 1fr;
    }

    .dg-hero-bgimg {
        width: 100%;
        opacity: .25;
    }

    .dg-hero-bgimg::before {
        background: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .85));
    }

    .dg-pass-card {
        display: none;
    }

    .dg-hero-right {
        min-height: 340px;
    }

    .dg-features {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-searchbar {
        grid-template-columns: 1fr;
    }

    .dg-search-loc {
        border-right: 0;
        border-bottom: 1px solid var(--dg-border);
    }

    .dg-hot-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-near-rail {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-deals-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-culture {
        grid-template-columns: 1fr;
        padding: 24px;
        gap: 18px;
    }

    .dg-culture-img {
        display: none;
    }

    .dg-culture-ticket {
        margin: 0 auto;
    }
}

@media (max-width: 520px) {
    .dg-hero-left h1 {
        font-size: 38px;
    }

    .dg-hero-tag {
        font-size: 18px;
    }

    .dg-features {
        grid-template-columns: 1fr;
    }

    .dg-hot-cards {
        grid-template-columns: 1fr;
    }

    .dg-near-rail,
    .dg-deals-row {
        grid-template-columns: 1fr;
    }

    /* .dg-cat-list is already a vertical flex list — no override needed at this breakpoint. */

    .dg-culture-points {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   ALL EVENT TICKETS PAGE (Your Week Starts Here)
   ========================================================= */

.dg-all-events {
    background: #F8FAFC;
    padding: 28px 0 50px;
}

/* ---- HERO ROW ---- */
.dg-ae-hero {
    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 22px;
    margin-bottom: 22px;
    align-items: center;
}

.dg-ae-hero-left h1 {
    font-size: 44px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 8px;
    letter-spacing: -1px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.dg-ae-hero-left h1 .dg-sparkle {
    color: #8B5CF6;
    font-size: 24px;
}

.dg-ae-hero-left>p {
    margin: 0 0 14px;
    font-size: 14px;
    color: #64748B;
}

.dg-ae-mini-row {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
}

.dg-ae-mini {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
}

.dg-ae-mini i {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #EFF6FF;
    color: #1D4ED8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

/* "Book before spots fill up" promo card */
.dg-ae-promo {
    background: linear-gradient(135deg, #0F0B2E, #1E1B4B);
    border: 1px solid rgba(139, 92, 246, .35);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #fff;
}

.dg-ae-promo-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(167, 139, 250, .35), rgba(167, 139, 250, 0));
    border: 1.5px solid rgba(167, 139, 250, .55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #C4B5FD;
    font-size: 20px;
    flex: 0 0 46px;
    box-shadow: 0 0 18px rgba(167, 139, 250, .35);
}

.dg-ae-promo-text {
    flex: 1;
    min-width: 0;
}

.dg-ae-promo-text h4 {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 700;
    color: #F472B6;
}

.dg-ae-promo-text p {
    margin: 0;
    font-size: 12px;
    color: #CBD5E1;
}

.dg-ae-promo-btn {
    background: #fff !important;
    color: #1D4ED8 !important;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    flex: 0 0 auto;
    border: 0;
}

/* ---- DATE FILTER BAR ---- */
.dg-ae-datebar {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    overflow-x: auto;
}

.dg-ae-tab {
    padding: 8px 16px;
    border-radius: 10px;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: center;
    display: inline-flex;
    flex-direction: column;
    line-height: 1.1;
    color: #0F172A;
    transition: background .2s;
    white-space: nowrap;
}

.dg-ae-tab:hover {
    background: #F1F5F9;
}

.dg-ae-tab strong {
    font-size: 13px;
    font-weight: 700;
}

.dg-ae-tab span {
    font-size: 11px;
    color: #64748B;
    margin-top: 3px;
    font-weight: 500;
}

.dg-ae-tab.is-active {
    background: #1D4ED8;
    color: #fff;
}

.dg-ae-tab.is-active strong {
    color: #fff;
}

.dg-ae-tab.is-active span {
    color: rgba(255, 255, 255, .85);
}

.dg-ae-datebar-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F1F5F9;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 12px;
    cursor: pointer;
    flex: 0 0 32px;
}

.dg-ae-dayslist {
    display: flex;
    gap: 4px;
    flex: 1 1 auto;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.dg-ae-dayslist::-webkit-scrollbar {
    display: none;
}

.dg-ae-day {
    flex: 0 0 auto;
}

.dg-ae-day {
    padding: 8px 12px;
    border-radius: 10px;
    background: transparent;
    border: 0;
    text-align: center;
    cursor: pointer;
    line-height: 1.1;
    display: inline-flex;
    flex-direction: column;
    color: #0F172A;
    min-width: 50px;
    transition: background .2s;
}

.dg-ae-day:hover {
    background: #F1F5F9;
}

.dg-ae-day span {
    font-size: 10px;
    color: #64748B;
    font-weight: 600;
    margin-bottom: 3px;
}

.dg-ae-day strong {
    font-size: 16px;
    font-weight: 700;
}

.dg-ae-day em {
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .4px;
    color: #94A3B8;
    margin-top: 2px;
}

.dg-ae-day.is-active {
    background: #1D4ED8;
    color: #fff;
}

.dg-ae-day.is-active span,
.dg-ae-day.is-active em {
    color: rgba(255, 255, 255, .85);
}

.dg-ae-cal-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #E5E7EB;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 14px;
    cursor: pointer;
    flex: 0 0 38px;
}

.dg-ae-cal-btn:hover {
    border-color: #1D4ED8;
    color: #1D4ED8;
}

/* Wrapper anchors the native picker to the calendar button (instead of the page corner) */
.dg-ae-cal {
    position: relative;
    display: inline-flex;
    flex: 0 0 38px;
}

.dg-ae-cal-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

/* Hide the native input's own text/icon — only the picker popup should appear */
.dg-ae-cal-input::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
    opacity: 0;
}

/* ---- FILTERS ROW ---- */
.dg-ae-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 26px;
}

.dg-ae-filter-pill {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.dg-ae-filter-pill i {
    color: #475569;
    font-size: 12px;
}

.dg-ae-filter-pill:hover {
    border-color: #1D4ED8;
    color: #1D4ED8;
}

.dg-ae-view-toggle {
    margin-left: auto;
    display: inline-flex;
    gap: 4px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 4px;
}

.dg-ae-view-btn {
    padding: 7px 14px;
    border-radius: 7px;
    background: transparent;
    border: 0;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.dg-ae-view-btn.is-active {
    background: #1D4ED8;
    color: #fff !important;
}

/* ---- DYNAMIC FILTER DROPDOWNS ---- */
.dg-ae-filter {
    position: relative;
    display: inline-flex;
}

.dg-ae-filter .dg-ae-caret {
    transition: transform .18s ease;
}

.dg-ae-filter.open .dg-ae-caret {
    transform: rotate(180deg);
}

.dg-ae-filter.open .dg-ae-filter-pill {
    border-color: #1D4ED8;
    color: #1D4ED8;
}

.dg-ae-filter.has-value .dg-ae-filter-pill {
    background: #EFF6FF;
    border-color: #1D4ED8;
    color: #1D4ED8;
}

.dg-ae-filter.has-value .dg-ae-filter-pill i {
    color: #1D4ED8;
}

.dg-ae-filter-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 60;
    min-width: 100%;
    width: max-content;
    max-width: 260px;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .12);
    padding: 6px;
    display: none;
}

.dg-ae-filter.open .dg-ae-filter-menu {
    display: block;
    animation: dgFilterIn .15s ease;
}

@keyframes dgFilterIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.dg-ae-filter-opt {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
    cursor: pointer;
    white-space: nowrap;
}

.dg-ae-filter-opt:hover {
    background: #F1F5F9;
}

.dg-ae-filter-opt.is-active {
    background: #1D4ED8;
    color: #fff;
}

.dg-ae-filter-clear {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 10px;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #DC2626;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.dg-ae-filter-clear:hover {
    background: #FEE2E2;
}

.dg-ae-empty {
    text-align: center;
    color: #64748B;
    font-size: 14px;
    font-weight: 600;
    padding: 28px 0;
    margin: 0;
}

.dg-ae-empty i {
    color: #94A3B8;
    margin-right: 6px;
}

.dg-ae-noresults {
    text-align: center;
    padding: 64px 20px;
    color: #475569;
}

.dg-ae-noresults i {
    font-size: 42px;
    color: #CBD5E1;
    margin-bottom: 14px;
    display: block;
}

.dg-ae-noresults h3 {
    font-size: 20px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 6px;
}

.dg-ae-noresults p {
    font-size: 14px;
    margin: 0;
}

/* ---- AJAX RESULTS GRID + LOADING ---- */
.dg-ae-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

#dgEventsArea {
    transition: opacity .15s ease;
}

#dgEventsArea.dg-loading {
    opacity: .45;
    pointer-events: none;
}

/* ---- EVENT SECTION (Tonight / Weekend / Next Week) ---- */
.dg-ae-section {
    margin-bottom: 30px;
    position: relative;
}

.dg-ae-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.dg-ae-section-head-left {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.dg-ae-section-head h2 {
    font-size: 22px;
    font-weight: 800;
    color: #0F172A;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -.3px;
}

.dg-ae-section-head h2 i {
    color: #F59E0B;
    font-size: 20px;
}

.dg-ae-section-head h2 .dg-ae-sec-sparkle {
    color: #8B5CF6;
    font-size: 18px;
}

.dg-ae-section-head-left .dg-ae-range {
    font-size: 13px;
    font-weight: 600;
    color: #1D4ED8;
}

.dg-ae-view-link {
    font-size: 13px;
    font-weight: 700;
    color: #1D4ED8;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dg-ae-rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    position: relative;
}

.dg-ae-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}

.dg-ae-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -12px rgba(15, 23, 42, .18);
}

.dg-ae-card-media {
    position: relative;
    height: 180px;
    overflow: hidden;
}

.dg-ae-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-ae-card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #EF4444;
}

.dg-ae-card-badge.is-purple {
    background: #8B5CF6;
}

.dg-ae-card-badge.is-orange {
    background: #F59E0B;
}

.dg-ae-card-badge.is-teal {
    background: #14B8A6;
}

.dg-ae-card-badge.is-pink {
    background: #EC4899;
}

.dg-ae-card-badge.is-blue {
    background: #2563EB;
}

.dg-ae-card-badge.is-red {
    background: #EF4444;
}

.dg-ae-card-badge.is-green {
    background: #10B981;
}

.dg-ae-card-badge.is-violet {
    background: #6D28D9;
}

.dg-ae-card-recurs {
    position: absolute;
    top: 46px;            /* sits just under the favourite heart (top:10, 30px tall) */
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: rgba(15, 23, 42, .72);
}
.dg-ae-card-recurs i { font-size: 10px; }

.dg-ae-card-time {
    position: absolute;
    bottom: 10px;
    left: 10px;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: rgba(15, 23, 42, .8);
    backdrop-filter: blur(4px);
}

.dg-ae-card-fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0F172A;
    font-size: 13px;
    cursor: pointer;
    border: 0;
}

.dg-ae-card-fav:hover {
    color: #EF4444;
}

.dg-ae-card-body {
    padding: 14px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.dg-ae-card-body h4 {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.25;
    min-height: 38px;
}

.dg-ae-card-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.dg-ae-card-meta span {
    font-size: 12px;
    color: #64748B;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dg-ae-card-meta i {
    color: #94A3B8;
    font-size: 11px;
    width: 12px;
}

.dg-ae-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.dg-ae-card-price {
    font-size: 14px;
    font-weight: 800;
    color: #EF4444;
}

.dg-ae-card-price.is-free {
    color: #10B981;
}

.dg-ae-card-rate {
    font-size: 12px;
    color: #64748B;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dg-ae-card-rate i {
    color: #F59E0B;
}

/* Card right-arrow (carousel-style hint) */
.dg-ae-arrow {
    position: absolute;
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #E5E7EB;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .12);
    z-index: 4;
}

.dg-ae-arrow:hover {
    color: #1D4ED8;
}

/* Date pill overlay (used in Next Week section) */
.dg-ae-date-overlay {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(255, 255, 255, .95);
    border-radius: 8px;
    padding: 5px 8px;
    text-align: center;
    min-width: 44px;
    line-height: 1.1;
    backdrop-filter: blur(4px);
}

.dg-ae-date-overlay strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #0F172A;
}

.dg-ae-date-overlay span {
    font-size: 9.5px;
    font-weight: 700;
    color: #64748B;
}

/* ---- BOTTOM CTA BAR ---- */
.dg-ae-cta {
    background: linear-gradient(135deg, #1E1B4B, #0B1024);
    border-radius: 14px;
    padding: 22px 28px;
    color: #fff;
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    gap: 28px;
    align-items: center;
    margin-top: 10px;
}

.dg-ae-cta-text h3 {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 800;
    color: #fff;
}

.dg-ae-cta-text p {
    margin: 0;
    font-size: 12px;
    color: #94A3B8;
}

.dg-ae-cta-btn {
    background: #1D4ED8 !important;
    color: #fff !important;
    padding: 11px 22px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
}

.dg-ae-cta-feat {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.dg-ae-cta-feat-ic {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.dg-ae-cta-feat-text h5 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

.dg-ae-cta-feat-text p {
    margin: 0;
    font-size: 11px;
    color: #94A3B8;
}

@media (max-width: 1100px) {
    .dg-ae-hero {
        grid-template-columns: 1fr;
    }

    .dg-ae-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dg-ae-cta {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 720px) {
    .dg-ae-rail {
        grid-template-columns: 1fr;
    }

    .dg-ae-hero-left h1 {
        font-size: 32px;
    }
}

/* ---- LIGHT FEATURE BAR (below dark CTA) ---- */
.dg-ae-feat-bar {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 20px 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 14px;
}

.dg-ae-feat {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dg-ae-feat-ic {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #EFF6FF;
    color: #1D4ED8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex: 0 0 44px;
}

.dg-ae-feat h5 {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 700;
    color: #1D4ED8;
    letter-spacing: -.1px;
}

.dg-ae-feat p {
    margin: 0;
    font-size: 12.5px;
    color: #64748B;
}

@media (max-width: 1100px) {
    .dg-ae-feat-bar {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .dg-ae-feat-bar {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   EVENT DETAIL PAGE
   ========================================================= */
.dg-evd {
    background: #F8FAFC;
    padding: 18px 0 50px;
}

/* Breadcrumb */
.dg-evd-crumb {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 13px;
    color: #64748B;
    margin-bottom: 16px;
}

.dg-evd-crumb a {
    color: #64748B;
}

.dg-evd-crumb a:hover {
    color: #1D4ED8;
}

.dg-evd-crumb i {
    font-size: 9px;
    color: #94A3B8;
}

.dg-evd-crumb .is-current {
    color: #0F172A;
    font-weight: 600;
}

/* Layout */
.dg-evd-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 22px;
    align-items: start;
}

/* ---- HERO MEDIA ---- */
.dg-evd-hero {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: #1F2937;
    margin-bottom: 14px;
}

.dg-evd-hero-img {
    width: 100%;
    height: 380px;
    object-fit: cover;
}

.dg-evd-hero-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    display: flex;
    gap: 8px;
}

.dg-evd-tag {
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

.dg-evd-tag.is-red {
    background: #EF4444;
}

.dg-evd-tag.is-orange {
    background: #F59E0B;
}

.dg-evd-tag.is-purple {
    background: #8B5CF6;
}

.dg-evd-tag.is-blue {
    background: #2563EB;
}

.dg-evd-date-card {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #fff;
    border-radius: 10px;
    padding: 10px 16px;
    text-align: center;
    min-width: 76px;
    line-height: 1.15;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .18);
}

.dg-evd-date-card .lbl {
    font-size: 11px;
    font-weight: 700;
    color: #0F172A;
    letter-spacing: .3px;
}

.dg-evd-date-card .mo {
    font-size: 11px;
    color: #64748B;
    font-weight: 600;
}

.dg-evd-date-card .d {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #0F172A;
    margin: 1px 0;
}

.dg-evd-date-card .y {
    font-size: 10px;
    color: #64748B;
    font-weight: 600;
}

.dg-evd-thumbs {
    position: absolute;
    bottom: 14px;
    left: 14px;
    display: flex;
    gap: 6px;
}

.dg-evd-thumb {
    width: 70px;
    height: 50px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    position: relative;
    background: rgba(15, 23, 42, .6);
}

.dg-evd-thumb.is-active {
    border-color: #fff;
}

.dg-evd-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-evd-thumb-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    background: rgba(15, 23, 42, .55);
}

/* ---- TITLE + META ---- */
.dg-evd-title {
    font-size: 28px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 10px;
    letter-spacing: -.4px;
}

.dg-evd-tags {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.dg-evd-tag-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-size: 12px;
    color: #475569;
    background: #fff;
}

.dg-evd-tag-pill i {
    font-size: 11px;
    color: #64748B;
}

.dg-evd-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 18px;
    max-width: 720px;
}

.dg-evd-info-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 16px 18px;
    margin-bottom: 18px;
}

.dg-evd-info {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.dg-evd-info-ic {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #EFF6FF;
    color: #1D4ED8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex: 0 0 36px;
}

.dg-evd-info-text h5 {
    margin: 0 0 3px;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-info-text p {
    margin: 0 0 4px;
    font-size: 12px;
    color: #64748B;
}

.dg-evd-info-text a {
    color: #1D4ED8;
    font-size: 12px;
    font-weight: 600;
}

.dg-evd-info-text a:hover {
    color: #1E40AF;
}

/* ---- HIGH DEMAND BANNER ---- */
.dg-evd-urg {
    background: linear-gradient(90deg, #FEE4E2 0%, #FFE4E6 50%, #FCE7F3 100%);
    border: 1px solid #FECACA;
    border-radius: 14px;
    padding: 16px 22px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 24px;
    align-items: center;
    margin-bottom: 22px;
}

.dg-evd-urg-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FEE2E2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #EF4444;
    font-size: 22px;
}

.dg-evd-urg-text h4 {
    margin: 0 0 2px;
    font-size: 15px;
    font-weight: 800;
    color: #0F172A;
}

.dg-evd-urg-text p {
    margin: 0;
    font-size: 12px;
    color: #64748B;
}

.dg-evd-urg-timer {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-weight: 800;
}

.dg-evd-urg-timer .num {
    font-size: 24px;
    color: #0F172A;
}

.dg-evd-urg-timer .lbl {
    font-size: 10px;
    color: #64748B;
    margin: 0 4px 0 2px;
    font-weight: 700;
}

.dg-evd-urg-right {
    font-size: 12px;
    color: #475569;
    display: flex;
    gap: 8px;
    align-items: center;
}

.dg-evd-urg-avs {
    display: inline-flex;
}

.dg-evd-urg-avs span {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #F87171, #FBBF24);
    border: 2px solid #fff;
    margin-left: -6px;
    display: inline-block;
}

.dg-evd-urg-avs span:first-child {
    margin-left: 0;
}

/* ---- SELECT TICKETS ---- */
.dg-evd-section-title {
    font-size: 20px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 6px;
    letter-spacing: -.2px;
}

.dg-evd-section-sub {
    font-size: 13px;
    color: #64748B;
    margin: 0 0 16px;
}

.dg-evd-tickets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 16px;
}

.dg-evd-ticket {
    background: #fff;
    border: 2px solid #E5E7EB;
    border-radius: 14px;
    padding: 16px;
    position: relative;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}

.dg-evd-ticket.is-active {
    border-color: #1D4ED8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, .1);
}

.dg-evd-ticket-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.dg-evd-ticket-head i {
    width: 22px;
    font-size: 18px;
}

.dg-evd-ticket.is-admission i {
    color: #2563EB;
}

.dg-evd-ticket.is-vip i {
    color: #F59E0B;
}

.dg-evd-ticket.is-couples i {
    color: #EC4899;
}

.dg-evd-ticket.is-group i {
    color: #8B5CF6;
}

.dg-evd-ticket-head h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-ticket-feats {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    flex: 1 1 auto;
}

.dg-evd-ticket-feats li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
    color: #475569;
    padding: 2px 0;
}

.dg-evd-ticket-feats li::before {
    content: '✓';
    color: #10B981;
    font-weight: 700;
    flex-shrink: 0;
}

.dg-evd-ticket-mini-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 10px;
    background: #FCE7F3;
    color: #EC4899;
    align-self: flex-start;
}

.dg-evd-ticket-mini-badge.is-best {
    background: #EDE9FE;
    color: #7C3AED;
}

.dg-evd-ticket-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.dg-evd-ticket-price {
    font-size: 20px;
    font-weight: 800;
    color: #0F172A;
}

.dg-evd-qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    overflow: hidden;
}

.dg-evd-qty button {
    width: 28px;
    height: 28px;
    background: #fff;
    border: 0;
    color: #0F172A;
    font-size: 14px;
    cursor: pointer;
}

.dg-evd-qty input {
    width: 34px;
    height: 28px;
    border: 0;
    text-align: center;
    border-left: 1px solid #E5E7EB;
    border-right: 1px solid #E5E7EB;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-vip-row {
    text-align: center;
    margin-bottom: 26px;
    font-size: 13px;
    color: #475569;
}

.dg-evd-vip-row a {
    display: inline-block;
    padding: 7px 14px;
    border: 1px solid #1D4ED8;
    color: #1D4ED8;
    border-radius: 8px;
    font-weight: 700;
    font-size: 12.5px;
    margin-left: 8px;
}

.dg-evd-vip-row a:hover {
    background: #EFF6FF;
}

/* ---- 3 COLUMN INFO (Lineup / Schedule / Venue) ---- */
.dg-evd-3col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    padding: 24px 0;
    border-top: 1px solid #E5E7EB;
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 26px;
}

.dg-evd-col h3 {
    font-size: 16px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 14px;
}

.dg-evd-lineup-item {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 6px 0;
}

.dg-evd-lineup-item img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 40px;
}

.dg-evd-lineup-item h5 {
    margin: 0;
    font-size: 13.5px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-lineup-item p {
    margin: 0;
    font-size: 11.5px;
    color: #64748B;
}

.dg-evd-highlights {
    list-style: none;
    padding: 0;
    margin: 14px 0 0;
}

.dg-evd-highlights li {
    font-size: 12.5px;
    color: #475569;
    padding: 3px 0;
    display: flex;
    gap: 8px;
    align-items: center;
}

.dg-evd-highlights li::before {
    content: '✓';
    color: #10B981;
    font-weight: 700;
}

.dg-evd-schedule-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 12px;
    padding: 8px 0;
    position: relative;
}

.dg-evd-schedule-item .time {
    font-size: 12px;
    font-weight: 700;
    color: #1D4ED8;
    display: flex;
    align-items: center;
    gap: 6px;
}

.dg-evd-schedule-item .time::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1D4ED8;
    flex-shrink: 0;
}

.dg-evd-schedule-item h5 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-schedule-item p {
    margin: 0;
    font-size: 11.5px;
    color: #64748B;
}

.dg-evd-venue-map {
    height: 130px;
    border-radius: 10px;
    overflow: hidden;
    background: #E5E7EB url('https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA&zoom=14&size=400x200&maptype=roadmap') center/cover;
    margin-bottom: 12px;
    position: relative;
}

.dg-evd-venue-map::after {
    content: '\f041';
    font-family: FontAwesome;
    color: #EF4444;
    font-size: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
}

.dg-evd-venue h5 {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-venue p {
    margin: 0 0 10px;
    font-size: 12px;
    color: #64748B;
}

.dg-evd-venue-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 10px 0;
}

.dg-evd-venue-pills span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-size: 11px;
    color: #475569;
}

.dg-evd-venue-pills i {
    font-size: 10px;
    color: #64748B;
}

.dg-evd-venue-q {
    font-size: 12px;
    color: #475569;
    margin: 12px 0 4px;
}

.dg-evd-venue-q+a {
    color: #1D4ED8;
    font-size: 13px;
    font-weight: 700;
}

/* ---- ABOUT + ORGANIZER ---- */
.dg-evd-about-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    margin-bottom: 22px;
}

.dg-evd-about h3,
.dg-evd-organizer h3 {
    font-size: 18px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 12px;
}

.dg-evd-about p {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.65;
    margin: 0 0 10px;
    max-width: 540px;
}

.dg-evd-about-trust {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.dg-evd-org-card {
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 18px;
    display: flex;
    gap: 14px;
    align-items: center;
    background: #fff;
}

.dg-evd-org-card img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 56px;
    background: #0F172A;
}

.dg-evd-org-body {
    flex: 1;
    min-width: 0;
}

.dg-evd-org-body h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dg-evd-org-body h4 .vfd {
    color: #1D4ED8;
    font-size: 13px;
}

.dg-evd-org-stats {
    font-size: 12px;
    color: #64748B;
    margin: 2px 0 6px;
}

.dg-evd-org-bio {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.55;
    margin: 0;
}

.dg-evd-org-follow {
    background: #fff !important;
    color: #1D4ED8 !important;
    border: 1px solid #1D4ED8 !important;
    padding: 7px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    align-self: flex-start;
}

/* Share + Save row */
.dg-evd-share-row {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.dg-evd-share-l {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dg-evd-share-l>span {
    font-size: 13.5px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-share-icons {
    display: flex;
    gap: 8px;
}

.dg-evd-share-icons a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #E5E7EB;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 13px;
}

.dg-evd-share-icons a:hover {
    color: #1D4ED8;
    border-color: #1D4ED8;
}

.dg-evd-save {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #475569;
    font-size: 13.5px;
    font-weight: 600;
}

.dg-evd-save:hover {
    color: #EF4444;
}

/* ---- RIGHT SIDEBAR (Your Order) ---- */
.dg-evd-side {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dg-evd-order {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 18px;
}

.dg-evd-order-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.dg-evd-order-head h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: #0F172A;
}

.dg-evd-order-head-r {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-size: 11.5px;
    color: #64748B;
}

.dg-evd-order-head-r .sec {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dg-evd-order-head-r .timer {
    color: #1D4ED8;
    font-weight: 700;
}

.dg-evd-order-item {
    display: grid;
    grid-template-columns: 22px 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid #F1F5F9;
}

.dg-evd-order-item:first-child {
    border-top: 0;
}

.dg-evd-order-item-ic {
    font-size: 16px;
}

.dg-evd-order-item.is-admission .dg-evd-order-item-ic {
    color: #2563EB;
}

.dg-evd-order-item.is-vip .dg-evd-order-item-ic {
    color: #F59E0B;
}

.dg-evd-order-item.is-couples .dg-evd-order-item-ic {
    color: #EC4899;
}

.dg-evd-order-item.is-group .dg-evd-order-item-ic {
    color: #8B5CF6;
}

.dg-evd-order-item h5 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-order-item p {
    margin: 1px 0 0;
    font-size: 11.5px;
    color: #64748B;
}

.dg-evd-order-amount {
    font-size: 13.5px;
    font-weight: 700;
    color: #0F172A;
    min-width: 60px;
    text-align: right;
}

.dg-evd-order-tot {
    padding: 12px 0 4px;
    border-top: 1px solid #E5E7EB;
    margin-top: 4px;
}

.dg-evd-order-tot-row {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    color: #475569;
    padding: 4px 0;
}

.dg-evd-order-tot-row.is-grand {
    font-size: 16px;
    padding: 10px 0 14px;
    border-top: 1px dashed #E5E7EB;
    margin-top: 6px;
}

.dg-evd-order-tot-row.is-grand strong {
    font-weight: 800;
    color: #0F172A;
}

.dg-evd-order-tot-row.is-grand strong span {
    font-size: 11px;
    color: #64748B;
    margin-left: 6px;
    font-weight: 600;
}

.dg-evd-buy-btn {
    width: 100%;
    background: #1D4ED8 !important;
    color: #fff !important;
    padding: 14px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    box-shadow: 0 6px 16px -6px rgba(29, 78, 216, .5);
}

.dg-evd-buy-btn:hover {
    background: #1E40AF !important;
    color: #fff !important;
}

.dg-evd-booked-pill {
    margin: 12px 0 0;
    background: #FEF3C7;
    border: 1px solid #FDE68A;
    color: #92400E;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 11.5px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    justify-content: center;
}

.dg-evd-booked-pill i {
    color: #F59E0B;
}

/* Your Ticket card (dark phone mockup) */
.dg-evd-yt {
    background: #0B1024;
    border-radius: 14px;
    padding: 16px;
    color: #fff;
    position: relative;
}

.dg-evd-yt>h4 {
    margin: 0 0 14px;
    color: #0F172A;
    font-size: 15px;
    font-weight: 800;
}

.dg-evd-yt-phone {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .5);
}

.dg-evd-yt-bar {
    background: #0B1024;
    color: #fff;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
}

.dg-evd-yt-bar span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dg-evd-yt-bar i {
    color: #64748B;
}

.dg-evd-yt-body {
    padding: 0;
}

.dg-evd-yt-img {
    width: 100%;
    height: 110px;
    object-fit: cover;
}

.dg-evd-yt-info {
    padding: 12px 14px 0;
}

.dg-evd-yt-info h5 {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    color: #0F172A;
}

.dg-evd-yt-info p {
    margin: 0 0 2px;
    font-size: 11px;
    color: #64748B;
    line-height: 1.4;
}

.dg-evd-yt-type {
    padding: 8px 14px;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.dg-evd-yt-type strong {
    color: #0F172A;
}

.dg-evd-yt-type span {
    color: #64748B;
    font-weight: 600;
}

.dg-evd-yt-qr {
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.dg-evd-yt-qr img {
    width: 130px;
    height: 130px;
}

.dg-evd-yt-qr .pg {
    font-size: 11px;
    color: #64748B;
    font-weight: 600;
}

.dg-evd-yt-wallet {
    margin: 0 14px 14px;
    background: #000;
    color: #fff;
    padding: 9px 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
}

.dg-evd-yt-wallet i {
    font-size: 14px;
}

.dg-evd-yt-foot {
    background: transparent;
    padding: 12px 0 0;
    text-align: center;
    font-size: 11.5px;
    color: #94A3B8;
    line-height: 1.5;
}

.dg-evd-yt-foot strong {
    color: #fff;
    font-weight: 600;
}

.dg-evd-yt-foot i.fa-check-circle {
    color: #10B981;
}

/* You Might Also Like */
.dg-evd-like {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 16px;
}

.dg-evd-like-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.dg-evd-like-head h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #0F172A;
}

.dg-evd-like-head a {
    font-size: 12.5px;
    font-weight: 700;
    color: #1D4ED8;
}

.dg-evd-like-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dg-evd-like-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.dg-evd-like-card-media {
    position: relative;
    height: 110px;
    overflow: hidden;
}

.dg-evd-like-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dg-evd-like-card-media .dg-evd-tag {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 10.5px;
    padding: 3px 8px;
}

.dg-evd-like-card-media .fav {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0F172A;
    font-size: 11px;
}

.dg-evd-like-card-body {
    padding: 10px;
}

.dg-evd-like-card-body h5 {
    margin: 0 0 4px;
    font-size: 12.5px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.25;
}

.dg-evd-like-card-body p {
    margin: 0 0 2px;
    font-size: 10.5px;
    color: #64748B;
}

.dg-evd-like-card-body .price {
    font-size: 12px;
    font-weight: 800;
    color: #EF4444;
}

.dg-evd-like-arrows {
    display: flex;
    gap: 6px;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    color: #94A3B8;
}

.dg-evd-like-arrows .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #CBD5E1;
}

.dg-evd-like-arrows .dot.is-active {
    background: #1D4ED8;
}

.dg-evd-like-arrows i {
    font-size: 12px;
    cursor: pointer;
    padding: 4px;
}

/* Bottom trust bar */
.dg-evd-trust {
    background: #0B1024;
    color: #fff;
    border-radius: 14px;
    padding: 18px 24px;
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}

.dg-evd-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dg-evd-trust-item .ic {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    flex: 0 0 38px;
}

.dg-evd-trust-item h5 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

.dg-evd-trust-item p {
    margin: 0;
    font-size: 11.5px;
    color: #94A3B8;
}

@media (max-width: 1100px) {
    .dg-evd-grid {
        grid-template-columns: 1fr;
    }

    .dg-evd-tickets {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-evd-3col,
    .dg-evd-about-row {
        grid-template-columns: 1fr;
    }

    .dg-evd-trust {
        grid-template-columns: repeat(2, 1fr);
    }

    .dg-evd-info-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .dg-evd-tickets {
        grid-template-columns: 1fr;
    }

    .dg-evd-trust {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   DekoGo Profile / Pass Dashboard
   Scoped under .dgo-pass to avoid leaking to header/footer.
   ========================================================= */

.dgo-pass {
    --dg-blue: #2563EB;
    --dg-blue-2: #1D4ED8;
    --dg-blue-soft: #EFF6FF;
    --dg-dark: #0B1220;
    --dg-dark-2: #111827;
    --dg-text: #0F172A;
    --dg-muted: #6B7280;
    --dg-border: #E5E7EB;
    --dg-yellow: #F59E0B;
    --dg-red: #EF4444;
    --dg-green: #10B981;
    --dg-purple: #7C3AED;
    --dg-pink: #EC4899;
    --dg-radius: 14px;
    --dg-radius-lg: 18px;
    --dg-shadow: 0 6px 22px rgba(15, 23, 42, .08);
    color: var(--dg-text);
    background: #F8FAFC;
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    padding: 32px 0 60px;
}

.dgo-pass *,
.dgo-pass *::before,
.dgo-pass *::after {
    box-sizing: border-box;
}

.dgo-pass img {
    max-width: 100%;
    display: block;
}

.dgo-pass a {
    text-decoration: none;
    color: inherit;
}

.dgo-pass ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dgo-container {
    width: 100%;
    max-width: 1634px;
    margin: 0 auto;
    padding: 0 32px;
}

/* ---------- Layout grid ---------- */
.dgo-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
}

/* ---------- Header / title row ---------- */
.dgo-head {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}

.dgo-head> :first-child {
    grid-column: 1 / span 2;
}

.dgo-head .dgo-passid {
    grid-column: 3;
    justify-self: center;
}

.dgo-head h1 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 4px;
    color: var(--dg-text);
}

.dgo-head .dgo-sub {
    color: var(--dg-muted);
    margin: 0;
    font-size: 14px;
}

.dgo-passid {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #64748B;
    font-weight: 500;
    font-size: 14px;
}

.dgo-passid button {
    background: transparent;
    border: 0;
    color: var(--dg-blue);
    cursor: pointer;
    padding: 4px;
}

@media (max-width: 767px) {
    .dgo-head {
        grid-template-columns: 1fr;
    }

    .dgo-head> :first-child {
        grid-column: 1;
    }

    .dgo-head .dgo-passid {
        grid-column: 1;
        justify-self: flex-start;
    }
}

/* ---------- Stat cards row ---------- */
.dgo-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 22px;
    align-items: stretch;
}

.dgo-stat {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    padding: 18px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dgo-stat-top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.dgo-stat-ic {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--dg-blue-soft);
    color: var(--dg-blue);
    font-size: 18px;
    flex-shrink: 0;
}

.dgo-stat-ic.is-purple {
    background: #F3E8FF;
    color: var(--dg-purple);
}

.dgo-stat-ic.is-yellow {
    background: #FEF3C7;
    color: var(--dg-yellow);
}

.dgo-stat h4 {
    font-size: 14px;
    color: var(--dg-muted);
    font-weight: 600;
    margin: 0 0 2px;
}

.dgo-stat .dgo-stat-val {
    font-size: 28px;
    font-weight: 800;
    color: var(--dg-text);
    line-height: 1.1;
}

.dgo-stat .dgo-stat-tier {
    font-size: 22px;
    font-weight: 800;
    color: var(--dg-yellow);
    line-height: 1.1;
}

.dgo-stat-meta {
    color: var(--dg-muted);
    font-size: 13px;
    margin: 6px 0 0;
}

.dgo-stat-meta strong {
    color: var(--dg-green);
    font-weight: 700;
}

.dgo-stat-next {
    margin-top: 12px;
    font-size: 13px;
    color: var(--dg-text);
}

.dgo-stat-next-time {
    color: var(--dg-muted);
    font-size: 12px;
    display: block;
    margin-top: 2px;
}

.dgo-stat-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--dg-blue);
    font-weight: 600;
    font-size: 13px;
    margin-top: auto;
    padding-top: 12px;
    align-self: flex-start;
}

/* ---------- Tabs strip ---------- */
.dgo-tabs {
    display: flex;
    gap: 28px;
    border-bottom: 1px solid var(--dg-border);
    margin: 6px 0 22px;
    overflow-x: auto;
}

.dgo-tab {
    background: transparent;
    border: 0;
    padding: 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--dg-muted);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    margin-bottom: -1px;
}

.dgo-tab .dgo-pill {
    background: #E5E7EB;
    color: var(--dg-muted);
    font-size: 12px;
    border-radius: 999px;
    padding: 1px 9px;
    font-weight: 700;
}

.dgo-tab.is-active {
    color: var(--dg-blue);
    border-bottom-color: var(--dg-blue);
}

.dgo-tab.is-active .dgo-pill {
    background: var(--dg-blue);
    color: #fff;
}

/* ---------- Section heads ---------- */
.dgo-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0 14px;
}

.dgo-section-head h2 {
    font-size: 20px;
    font-weight: 800;
    margin: 0;
    color: var(--dg-text);
}

.dgo-section-head .dgo-sub {
    color: var(--dg-muted);
    font-size: 13px;
    margin: 2px 0 0;
}

.dgo-section-head .dgo-link {
    color: var(--dg-blue);
    font-weight: 600;
    font-size: 13px;
}

/* ---------- Featured upcoming event ---------- */
.dgo-feat {
    background: #0B1220;
    color: #fff;
    border-radius: var(--dg-radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr) 230px;
    gap: 0;
}

.dgo-feat-img {
    position: relative;
    height: 100%;
    min-height: 280px;
    background: #111;
}

.dgo-feat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dgo-feat-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--dg-purple);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
}

.dgo-feat-fav {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    background: rgba(0, 0, 0, .35);
    border: 0;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.dgo-feat-body {
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dgo-feat-status {
    display: inline-block;
    background: rgba(245, 158, 11, .18);
    color: var(--dg-yellow);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 6px;
    width: fit-content;
}

.dgo-feat-title {
    font-size: 22px;
    font-weight: 800;
    margin: 4px 0 6px;
    line-height: 1.2;
}

.dgo-feat-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #CBD5E1;
    font-size: 14px;
}

.dgo-feat-meta li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dgo-feat-meta i {
    width: 16px;
    color: #94A3B8;
}

.dgo-feat-going {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: #CBD5E1;
    font-size: 13px;
}

.dgo-avatars {
    display: inline-flex;
}

.dgo-avatars img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #0B1220;
    margin-left: -8px;
    object-fit: cover;
}

.dgo-avatars img:first-child {
    margin-left: 0;
}

.dgo-feat-actions {
    display: flex;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
}

.dgo-btn-primary {
    background: var(--dg-blue);
    color: #fff;
    font-weight: 700;
    border: 0;
    border-radius: 10px;
    padding: 10px 18px;
    cursor: pointer;
    font-size: 14px;
    flex: 1;
    text-align: center;
}

.dgo-btn-primary:hover {
    background: var(--dg-blue-2);
    color: #fff;
}

.dgo-btn-ghost-dark {
    background: rgba(255, 255, 255, .06);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 14px;
}

/* QR ticket panel */
.dgo-feat-qr {
    background: linear-gradient(180deg, #1E1B4B 0%, #0F172A 100%);
    padding: 18px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-left: 1px dashed rgba(255, 255, 255, .18);
    position: relative;
}

.dgo-feat-qr-tag {
    background: var(--dg-purple);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 0;
    border-radius: 8px 8px 0 0;
    margin: -18px -16px 6px;
}

.dgo-feat-qr h5 {
    color: #CBD5E1;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0;
    text-transform: uppercase;
}

.dgo-feat-qr .dgo-qr-tix {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.dgo-feat-qr .dgo-qr-img {
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    margin: 6px auto;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dgo-feat-qr .dgo-qr-img img {
    width: 100%;
    height: 100%;
}

.dgo-feat-qr .dgo-qr-id {
    color: #CBD5E1;
    font-size: 11px;
    letter-spacing: .03em;
}

.dgo-feat-qr .dgo-qr-id strong {
    color: #fff;
    display: block;
    font-size: 12px;
}

/* Quick actions strip below featured */
.dgo-quick {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 14px 4px;
    margin-top: 14px;
}

.dgo-quick a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--dg-blue);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 4px;
    border-right: 1px solid var(--dg-border);
}

.dgo-quick a:last-child {
    border-right: 0;
}

.dgo-quick i {
    font-size: 18px;
}

.dgo-quick span {
    color: var(--dg-muted);
    font-weight: 500;
}

/* Small upcoming event cards */
.dgo-mini {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    padding: 14px;
    display: grid;
    grid-template-columns: 130px 1fr auto;
    gap: 16px;
    align-items: center;
    margin-top: 14px;
}

.dgo-mini-img {
    width: 130px;
    height: 100px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.dgo-mini-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dgo-mini-fav {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 26px;
    height: 26px;
    background: rgba(0, 0, 0, .4);
    border-radius: 50%;
    color: #fff;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
}

.dgo-mini-badge {
    display: inline-block;
    background: #FFEDD5;
    color: #C2410C;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 6px;
    margin-bottom: 6px;
}

.dgo-mini-badge.is-green {
    background: #DCFCE7;
    color: #15803D;
}

.dgo-mini h4 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--dg-text);
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

.dgo-mini-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--dg-muted);
    font-size: 13px;
}

.dgo-mini-meta li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dgo-mini-meta i {
    width: 14px;
    color: #94A3B8;
}

.dgo-mini-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dgo-btn-outline {
    background: #fff;
    color: var(--dg-blue);
    border: 1px solid var(--dg-blue);
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.dgo-btn-outline:hover {
    background: var(--dg-blue-soft);
    color: var(--dg-blue);
}

.dgo-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: 8px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    color: var(--dg-muted);
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
}

.dgo-icon-btn:hover {
    background: var(--dg-blue-soft);
    color: var(--dg-blue);
}

.dgo-view-more {
    text-align: center;
    margin: 18px 0;
}

.dgo-view-more a {
    color: var(--dg-blue);
    font-weight: 600;
    font-size: 14px;
}

/* Recommended For You carousel */
.dgo-reco {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--dg-border);
    position: relative;
}

.dgo-reco-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.dgo-reco-card {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    overflow: hidden;
    position: relative;
}

.dgo-reco-img {
    height: 130px;
    position: relative;
    overflow: hidden;
}

.dgo-reco-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dgo-reco-fav {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    background: rgba(0, 0, 0, .4);
    border-radius: 50%;
    color: #fff;
    border: 0;
    cursor: pointer;
    font-size: 12px;
}

.dgo-reco-body {
    padding: 12px 14px 14px;
}

.dgo-reco-body h4 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--dg-text);
}

.dgo-reco-meta {
    color: var(--dg-muted);
    font-size: 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 6px;
}

.dgo-reco-price {
    color: var(--dg-red);
    font-weight: 700;
    font-size: 14px;
}

.dgo-reco-nav {
    position: absolute;
    right: -6px;
    top: 55%;
    width: 38px;
    height: 38px;
    background: #fff;
    border-radius: 50%;
    border: 1px solid var(--dg-border);
    box-shadow: var(--dg-shadow);
    color: var(--dg-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ---------- Bottom benefits banner ---------- */
.dgo-benefits {
    margin-top: 28px;
    background:
        radial-gradient(circle at 20% 50%, rgba(124, 58, 237, .20), transparent 45%),
        radial-gradient(circle at 80% 50%, rgba(37, 99, 235, .18), transparent 50%),
        linear-gradient(90deg, #0B1024 0%, #0B1224 50%, #0B1024 100%);
    color: #fff;
    border-radius: var(--dg-radius-lg);
    padding: 22px 26px;
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: nowrap;
    border: 1px solid rgba(124, 58, 237, .18);
    box-shadow: 0 10px 30px rgba(11, 16, 36, .35);
}

.dgo-benefits-title {
    min-width: 230px;
}

.dgo-benefits-title h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 4px;
    color: #fff;
}

.dgo-benefits-title p {
    color: #94A3B8;
    margin: 0;
    font-size: 13px;
}

.dgo-benefits-items {
    display: flex;
    gap: 36px;
    flex: 1;
    flex-wrap: wrap;
    justify-content: space-around;
}

.dgo-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 170px;
}

.dgo-benefit .ic {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: transparent;
    border: 1.5px solid rgba(167, 139, 250, .55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #A78BFA;
    font-size: 16px;
    flex-shrink: 0;
}

.dgo-benefit:nth-child(2) .ic {
    border-color: rgba(96, 165, 250, .55);
    color: #93C5FD;
}

.dgo-benefit:nth-child(3) .ic {
    border-color: rgba(167, 139, 250, .55);
    color: #C4B5FD;
}

.dgo-benefit:nth-child(4) .ic {
    border-color: rgba(96, 165, 250, .55);
    color: #93C5FD;
}

.dgo-benefit strong {
    font-size: 14px;
    font-weight: 700;
    display: block;
    color: #fff;
    margin-bottom: 2px;
    line-height: 1.2;
}

.dgo-benefit span {
    color: #94A3B8;
    font-size: 12px;
    line-height: 1.35;
    display: block;
    max-width: 140px;
}

.dgo-benefits .dgo-btn-primary {
    flex: 0 0 auto;
    padding: 12px 22px;
    border-radius: 10px;
    background: var(--dg-blue);
    font-weight: 700;
}

@media (max-width: 1199px) {
    .dgo-benefits {
        flex-wrap: wrap;
    }

    .dgo-benefits-items {
        justify-content: flex-start;
    }
}

/* =====================================================
   RIGHT SIDEBAR
   ===================================================== */
.dgo-side {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 50px;
}

/* Pass card */
.dgo-pass-card {
    background: linear-gradient(155deg, #1E1B4B 0%, #0B1220 60%);
    color: #fff;
    border-radius: var(--dg-radius-lg);
    padding: 18px;
    position: relative;
    overflow: hidden;
}

.dgo-pass-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: var(--dg-radius-lg);
    padding: 1px;
    background: linear-gradient(180deg, rgba(124, 58, 237, .6), rgba(37, 99, 235, .2));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.dgo-pass-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    position: relative;
}

.dgo-pass-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--dg-purple);
    padding: 2px;
    background: #fff;
    flex-shrink: 0;
}

.dgo-pass-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.dgo-pass-head h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 2px;
}

.dgo-pass-head p {
    color: #94A3B8;
    font-size: 12px;
    margin: 0;
}

.dgo-pass-status {
    position: absolute;
    top: 0;
    right: 0;
    background: rgba(16, 185, 129, .15);
    color: var(--dg-green);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid rgba(16, 185, 129, .4);
}

.dgo-pass-tier {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 14px 0 6px;
}

.dgo-pass-tier-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.dgo-pass-tier-name i {
    color: var(--dg-yellow);
}

.dgo-pass-pts {
    font-weight: 700;
}

.dgo-pass-card p.dgo-pass-desc {
    color: #CBD5E1;
    font-size: 12px;
    margin: 0 0 12px;
}

.dgo-progress {
    height: 6px;
    background: rgba(255, 255, 255, .1);
    border-radius: 999px;
    overflow: hidden;
}

.dgo-progress span {
    display: block;
    height: 100%;
    width: 67%;
    background: linear-gradient(90deg, var(--dg-purple), var(--dg-pink));
    border-radius: 999px;
}

.dgo-pass-foot {
    margin-top: 10px;
    font-size: 12px;
    color: #CBD5E1;
}

.dgo-pass-link {
    display: inline-block;
    margin-top: 12px;
    color: #A78BFA;
    font-weight: 600;
    font-size: 13px;
}

.dgo-pass-inner {
    margin-top: 14px;
    padding: 14px 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(124, 58, 237, .45);
    background: rgba(124, 58, 237, .05);
    position: relative;
}
.dgo-pass-inner .dgo-pass-tier { margin: 0 0 6px; }
.dgo-pass-inner .dgo-pass-foot { margin-top: 8px; }

.dgo-elite {
    color: #A78BFA;
    font-weight: 700;
}

/* Notifications */
.dgo-card {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    padding: 18px;
}

.dgo-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.dgo-card-head h3 {
    font-size: 16px;
    font-weight: 800;
    margin: 0;
}

.dgo-card-head .dgo-link {
    color: var(--dg-blue);
    font-weight: 600;
    font-size: 13px;
}

.dgo-notif {
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px dashed var(--dg-border);
}

.dgo-notif:last-of-type {
    border-bottom: 0;
}

.dgo-notif-ic {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--dg-blue-soft);
    color: var(--dg-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dgo-notif-ic.is-purple {
    background: #F3E8FF;
    color: var(--dg-purple);
}

.dgo-notif-ic.is-orange {
    background: #FFEDD5;
    color: #C2410C;
}

.dgo-notif h5 {
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 2px;
}

.dgo-notif p {
    font-size: 12px;
    color: var(--dg-muted);
    margin: 0;
}

.dgo-notif-time {
    color: var(--dg-muted);
    font-size: 11px;
    white-space: nowrap;
}

.dgo-notif-body {
    flex: 1;
    min-width: 0;
}

.dgo-notif-body .dgo-notif-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
}

.dgo-see-all {
    display: block;
    text-align: center;
    margin-top: 12px;
    padding: 10px;
    border: 1px solid var(--dg-border);
    border-radius: 10px;
    color: var(--dg-blue);
    font-weight: 600;
    font-size: 13px;
}

/* Your Deals (sidebar) */
.dgo-deals-tabs {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid var(--dg-border);
    margin-bottom: 6px;
}

.dgo-deals-tabs button {
    background: transparent;
    border: 0;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--dg-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
}

.dgo-deals-tabs button.is-active {
    color: var(--dg-blue);
    border-color: var(--dg-blue);
}

.dgo-deal {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #F1F5F9;
}

.dgo-deal:last-of-type {
    border-bottom: 0;
}

.dgo-deal-img {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.dgo-deal-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dgo-deal-badge {
    position: absolute;
    top: 4px;
    left: 4px;
    background: var(--dg-pink);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 3px 6px;
    border-radius: 4px;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.dgo-deal-badge.is-purple {
    background: var(--dg-purple);
}

.dgo-deal-badge.is-orange {
    background: #F97316;
}

.dgo-deal-badge.is-red {
    background: var(--dg-red);
}

.dgo-deal h5 {
    font-size: 14px;
    font-weight: 800;
    margin: 0 0 3px;
    color: var(--dg-text);
}

.dgo-deal p {
    font-size: 12px;
    color: var(--dg-muted);
    margin: 0 0 2px;
}

.dgo-deal small {
    font-size: 11px;
    color: #94A3B8;
}

.dgo-deal .dgo-btn-outline {
    padding: 7px 14px;
    font-size: 12px;
    border-radius: 8px;
    font-weight: 600;
}

/* Need help */
.dgo-help {
    background: linear-gradient(135deg, #E0E7FF 0%, #EDE9FE 50%, #F5D0FE 100%);
    border-radius: var(--dg-radius);
    padding: 18px 20px;
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
}

.dgo-help-body {
    flex: 1;
    min-width: 0;
}

.dgo-help-body h4 {
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 4px;
    color: var(--dg-text);
}

.dgo-help-body p {
    font-size: 13px;
    color: #475569;
    margin: 0 0 12px;
}

.dgo-help-body .dgo-btn-outline {
    padding: 9px 16px;
    font-size: 13px;
    background: #fff;
    border-color: #fff;
    color: var(--dg-blue);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

.dgo-help-img {
    flex: 0 0 110px;
}

.dgo-help-img img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, .6);
}

/* =====================================================
   Embedded settings forms (profile, password)
   ===================================================== */
.dgo-settings {
    background: #fff;
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    padding: 22px;
    margin-top: 24px;
}

.dgo-settings h3 {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}

.dgo-settings .dgo-sub {
    color: var(--dg-muted);
    font-size: 13px;
    margin: 0 0 18px;
}

.dgo-set-tabs {
    display: flex;
    gap: 18px;
    border-bottom: 1px solid var(--dg-border);
    margin-bottom: 18px;
}

.dgo-set-tabs a {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--dg-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.dgo-set-tabs a.active {
    color: var(--dg-blue);
    border-color: var(--dg-blue);
}

.dgo-settings .form-control {
    border-radius: 10px;
    border: 1px solid var(--dg-border);
    padding: 10px 14px;
    font-size: 14px;
}

.dgo-settings label {
    font-size: 13px;
    font-weight: 600;
    color: var(--dg-text);
}

.dgo-settings .btn-success,
.dgo-settings .update-pass,
.dgo-settings .update-pro {
    background: var(--dg-blue);
    border: 0;
    color: #fff;
    border-radius: 10px;
    padding: 10px 22px;
    font-weight: 700;
}

.dgo-settings .btn-success:hover {
    background: var(--dg-blue-2);
}

/* =====================================================
   Responsive
   ===================================================== */
@media (max-width: 1199px) {
    .dgo-grid {
        grid-template-columns: 1fr;
    }

    .dgo-reco-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .dgo-stats {
        grid-template-columns: 1fr;
    }

    .dgo-feat {
        grid-template-columns: 1fr;
    }

    .dgo-feat-img {
        min-height: 220px;
    }

    .dgo-feat-qr {
        border-left: 0;
        border-top: 1px dashed rgba(255, 255, 255, .18);
    }
}

@media (max-width: 767px) {
    .dgo-container {
        padding: 0 16px;
    }

    .dgo-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .dgo-mini {
        grid-template-columns: 1fr;
    }

    .dgo-mini-img {
        width: 100%;
        height: 160px;
    }

    .dgo-quick {
        grid-template-columns: repeat(3, 1fr);
    }

    .dgo-quick a:nth-child(3) {
        border-right: 0;
    }

    .dgo-reco-grid {
        grid-template-columns: 1fr;
    }

    .dgo-benefits-items {
        gap: 14px;
    }
}
/* ============================================================
   Deko Go — Checkout page (.dgco-*)
   ============================================================ */
.dgco-wrap { max-width:1080px; margin:30px auto 60px; padding:0 18px; font-family:Inter,Arial,sans-serif; color:#0f172a; }
.dgco-back { color:#1d4ed8; text-decoration:none; font-size:13px; font-weight:600; }
.dgco-head h1 { margin:10px 0 2px; font-size:26px; }
.dgco-head p { color:#64748b; margin:0; font-size:14px; }
.dgco-alert { background:#FEE2E2; color:#991B1B; border:1px solid #FECACA; padding:12px 14px; border-radius:10px; margin:16px 0; font-size:14px; }
.dgco-grid { display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:20px; align-items:start; margin-top:20px; }
@media (max-width:900px){ .dgco-grid { grid-template-columns:1fr; } }
.dgco-card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:20px; margin-bottom:18px; }
.dgco-card h3 { margin:0 0 4px; font-size:17px; }
.dgco-sub { color:#64748b; font-size:13px; margin:0 0 16px; }
.dgco-attendee { border:1px solid #eef2f7; border-radius:10px; padding:14px; margin-bottom:12px; background:#fafbfc; }
.dgco-attendee-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.dgco-tk-badge { background:#dbeafe; color:#1d4ed8; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; }
.dgco-tk-no { color:#94a3b8; font-size:12px; font-weight:600; }
.dgco-row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
@media (max-width:620px){ .dgco-row3 { grid-template-columns:1fr; } }
.dgco-attendee label, .dgco-card > label { display:block; font-size:12px; font-weight:600; color:#475569; margin:0 0 5px; }
.dgco-attendee input, .dgco-card-el {
    width:100%; padding:10px 12px; border:1px solid #d6dee8; border-radius:9px; font-size:14px; background:#fff; outline:none;
}
.dgco-attendee input:focus { border-color:#1d4ed8; box-shadow:0 0 0 3px rgba(29,78,216,.12); }
.dgco-card-el { padding:14px 12px; }
.dgco-card-err { color:#dc2626; font-size:13px; margin-top:8px; min-height:18px; }
.dgco-side { position:sticky; top:20px; }
.dgco-sum-row { display:flex; justify-content:space-between; font-size:14px; color:#475569; padding:6px 0; }
.dgco-sum-grand { font-size:17px; color:#0f172a; }
.dgco-sum-div { height:1px; background:#eef2f7; margin:8px 0; }
.dgco-pay-btn {
    width:100%; margin-top:16px; padding:14px; border:0; border-radius:10px; background:#1d4ed8; color:#fff;
    font-size:16px; font-weight:700; cursor:pointer;
}
.dgco-pay-btn:hover { background:#1e40af; }
.dgco-pay-btn:disabled { opacity:.6; cursor:not-allowed; }
.dgco-fine { text-align:center; color:#94a3b8; font-size:12px; margin:10px 0 0; }

/* ============================================================
   Deko Go — Payment success page (.dgps-*)
   ============================================================ */
.dgps-wrap { max-width:620px; margin:36px auto 70px; padding:0 18px; font-family:Inter,Arial,sans-serif; color:#0f172a; }

.dgps-hero { text-align:center; margin-bottom:22px; }
.dgps-check {
    width:68px; height:68px; border-radius:50%; background:#dcfce7; color:#16a34a;
    font-size:30px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px;
    box-shadow:0 0 0 8px rgba(22,163,74,.08);
}
.dgps-hero h1 { margin:0 0 6px; font-size:26px; }
.dgps-sub { color:#475569; font-size:14px; margin:0 auto 18px; max-width:460px; }
.dgps-download {
    display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    background:#0B1024; color:#fff; font-weight:700; font-size:14px;
    padding:12px 22px; border-radius:11px; transition:transform .12s, background .15s;
}
.dgps-download:hover { background:#1e293b; color:#fff; transform:translateY(-1px); }

.dgps-event {
    display:flex; align-items:center; gap:14px;
    background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:16px 18px; margin-bottom:16px;
}
.dgps-event-ic { width:42px; height:42px; border-radius:11px; flex:none; background:#eef2ff; color:#4f46e5; display:flex; align-items:center; justify-content:center; font-size:17px; }
.dgps-event h3 { margin:0 0 3px; font-size:17px; }
.dgps-event p { margin:0; color:#64748b; font-size:13px; }

.dgps-tickets { display:flex; flex-direction:column; gap:14px; margin-bottom:18px; }
/* Ticket stub: dark left rail + dashed perforation before the QR */
.dgps-stub {
    display:flex; align-items:stretch; background:#fff; border:1px solid #e2e8f0;
    border-left:5px solid #1d4ed8; border-radius:14px; overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.dgps-stub-main { flex:1; padding:16px 18px; min-width:0; }
.dgps-tk-type { display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#1d4ed8; }
.dgps-tk-name { display:block; font-size:17px; margin:4px 0 2px; }
.dgps-tk-meta { display:block; font-size:12px; color:#94a3b8; }
.dgps-tk-code { display:inline-block; margin-top:8px; font-size:12px; color:#475569; letter-spacing:.06em; background:#f1f5f9; padding:3px 8px; border-radius:6px; }
.dgps-stub-qr {
    width:140px; flex:none; padding:14px; text-align:center;
    border-left:2px dashed #cbd5e1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:#fafbfc;
}
.dgps-stub-qr img { display:block; }
.dgps-stub-qr span { font-size:10px; color:#94a3b8; margin-top:6px; }

.dgps-foot { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px; }
.dgps-total { display:flex; justify-content:space-between; align-items:center; font-size:16px; padding-bottom:14px; border-bottom:1px solid #eef2f7; }
.dgps-total strong { font-size:18px; }
.dgps-actions { display:flex; gap:10px; margin-top:14px; }
.dgps-btn, .dgps-btn-ghost { flex:1; padding:12px; border-radius:10px; text-decoration:none; font-weight:700; font-size:14px; text-align:center; }
.dgps-btn { background:#1d4ed8; color:#fff; }
.dgps-btn:hover { background:#1e40af; color:#fff; }
.dgps-btn-ghost { background:#f1f5f9; color:#0f172a; }
.dgps-btn-ghost:hover { background:#e2e8f0; color:#0f172a; }
@media (max-width:520px){
    .dgps-stub { flex-direction:column; }
    .dgps-stub-qr { width:auto; border-left:0; border-top:2px dashed #cbd5e1; }
    .dgps-actions { flex-direction:column; }
}

/* ============================================================
   Deko Go — Ticket scan / verification page (.dgsc-*)
   ============================================================ */
.dgsc-wrap { max-width:460px; margin:40px auto 70px; padding:0 18px; font-family:Inter,Arial,sans-serif; color:#0f172a; }
.dgsc-card { background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:30px 26px; text-align:center; }
.dgsc-card.dgsc-invalid { border-color:#fecaca; }
.dgsc-icon { width:66px; height:66px; border-radius:50%; font-size:30px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.dgsc-icon-ok { background:#dcfce7; color:#16a34a; box-shadow:0 0 0 8px rgba(22,163,74,.08); }
.dgsc-icon-bad { background:#fee2e2; color:#dc2626; box-shadow:0 0 0 8px rgba(220,38,38,.08); }
.dgsc-card h1 { margin:0 0 8px; font-size:23px; }
.dgsc-status { display:inline-block; font-size:12px; font-weight:800; padding:5px 14px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; }
.dgsc-status.in { background:#dcfce7; color:#15803d; }
.dgsc-status.pending { background:#fef3c7; color:#a16207; }
.dgsc-event { margin:18px 0; padding:14px; background:#f8fafc; border:1px solid #eef2f7; border-radius:12px; display:flex; flex-direction:column; gap:3px; }
.dgsc-event strong { font-size:16px; }
.dgsc-event span { font-size:12.5px; color:#64748b; }
.dgsc-rows { text-align:left; border:1px solid #eef2f7; border-radius:12px; overflow:hidden; }
.dgsc-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 14px; border-bottom:1px solid #f1f5f9; font-size:13px; }
.dgsc-row:last-child { border-bottom:0; }
.dgsc-row span { color:#94a3b8; }
.dgsc-row strong { text-align:right; word-break:break-word; }
.dgsc-row code, .dgsc-code { font-family:monospace; font-size:12px; color:#475569; letter-spacing:.05em; }
.dgsc-code { display:inline-block; margin-top:10px; background:#f1f5f9; padding:5px 10px; border-radius:7px; }
.dgsc-btn { width:100%; margin-top:18px; padding:14px; border:0; border-radius:11px; background:#16a34a; color:#fff; font-size:15px; font-weight:700; cursor:pointer; }
.dgsc-btn:hover { background:#15803d; }
.dgsc-btn:disabled { opacity:.6; cursor:not-allowed; }
.dgsc-btn.is-undo { background:#f1f5f9; color:#0f172a; }
.dgsc-btn.is-undo:hover { background:#e2e8f0; }
.dgsc-note { margin-top:16px; font-size:13px; color:#94a3b8; }

/* =====================================================================
   Deko Go — Pass page (profile), event-feedback modal, shared helpers.
   Extracted from inline styles so markup stays clean.
   ===================================================================== */

/* Filled favourite heart (server-rendered + JS-toggled use the same class) */
.fa-heart.is-faved { color: #EF4444; }

/* Empty-state block (resources/views/website/user/partials/_dgo_empty) */
.dgo-empty { text-align: center; padding: 42px 16px; color: #64748B; }
.dgo-empty .dgo-empty-ic { font-size: 34px; opacity: .45; }
.dgo-empty p { margin: 14px 0 16px; font-size: 15px; }
.dgo-muted-note { padding: 8px 2px; }

/* Past-event "your rating" line on the pass page */
.dgo-myrating { margin-top: 6px; }
.dgo-myrating.is-hidden { display: none; }
.dgo-stars-static i { color: #F59E0B; }
.dgo-myrating-lbl { font-size: 12px; color: #64748B; }

/* Event "ended" notice on the detail page */
.dg-evd-ended-banner {
    display: flex; align-items: center; gap: 10px;
    background: #FEF2F2; border: 1px solid #FECACA; color: #B91C1C;
    border-radius: 12px; padding: 14px 16px; margin: 6px 0 18px; font-weight: 600;
}
.dg-evd-ended-banner i { font-size: 18px; }

/* Event feedback / rating modal (pass page) */
.dgo-modal-overlay {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .55);
    z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px;
}
/* display:flex above beats the UA [hidden] rule, so hide explicitly */
.dgo-modal-overlay[hidden] { display: none; }
.dgo-modal {
    background: #fff; border-radius: 16px; max-width: 460px; width: 100%;
    padding: 24px; box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.dgo-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.dgo-modal-head h3 { margin: 0; font-size: 18px; }
.dgo-modal-sub { margin: 4px 0 0; color: #64748B; font-size: 14px; }
.dgo-modal-close { background: none; border: 0; font-size: 20px; color: #94A3B8; cursor: pointer; line-height: 1; }
.dgo-modal-form { margin-top: 18px; }
.dgo-stars { display: flex; gap: 6px; font-size: 30px; color: #E2E8F0; margin-bottom: 6px; }
.dgo-star { cursor: pointer; transition: color .12s; }
.dgo-rating-hint { color: #94A3B8; display: block; margin-bottom: 14px; }
.dgo-modal-input, .dgo-modal-textarea {
    width: 100%; border: 1px solid #E2E8F0; border-radius: 10px;
    padding: 10px 12px; font-size: 14px;
}
.dgo-modal-input { margin-bottom: 10px; }
.dgo-modal-textarea { resize: vertical; }
.dgo-modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 18px; }

/* =====================================================================
   Moved out of index.blade.php — "Near You" / "Deals" horizontal sliders
   ===================================================================== */
    /* "What's Happening Near You" — horizontal slider with floating arrows */
    .dg-near-slider { position: relative; }
    .dg-near-arrow {
        position: absolute; top: 33%; transform: translateY(-50%); z-index: 6;
        width: 40px; height: 40px; border: 1px solid #E2E8F0; border-radius: 50%; background: #fff; color: #0F172A;
        cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
        box-shadow: 0 6px 18px rgba(15,23,42,.18); transition: background .15s, color .15s, opacity .15s, transform .15s;
    }
    .dg-near-arrow-prev { left: -14px; }
    .dg-near-arrow-next { right: -14px; }
    .dg-near-arrow:hover { background: #1D4ED8; color: #fff; }
    .dg-near-arrow.is-disabled { opacity: 0; pointer-events: none; }
    @media (max-width: 768px) {
        .dg-near-arrow-prev { left: 4px; }
        .dg-near-arrow-next { right: 4px; }
    }
    /* Override the grid → a scroll-snapping horizontal track.
       NOTE: no !important — inactive tab panes carry inline display:none and must stay hidden. */
    .dg-near-rail {
        display: flex; grid-template-columns: none;
        gap: 12px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory;
        -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 4px;
    }
    .dg-near-rail::-webkit-scrollbar { display: none; }
    .dg-near-rail > .dg-event-card {
        flex: 0 0 calc(20% - 9.6px); min-width: calc(20% - 9.6px); scroll-snap-align: start;
    }
    @media (max-width: 1100px) { .dg-near-rail > .dg-event-card { flex-basis: calc(33.333% - 8px); min-width: calc(33.333% - 8px); } }
    @media (max-width: 768px)  { .dg-near-rail > .dg-event-card { flex-basis: calc(50% - 6px);     min-width: calc(50% - 6px); } }
    @media (max-width: 480px)  { .dg-near-rail > .dg-event-card { flex-basis: 80%;                 min-width: 80%; } }

    /* "Deals & Experiences" — same horizontal slider */
    .dg-deals-row {
        display: flex; grid-template-columns: none;
        gap: 12px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory;
        -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 4px;
    }
    .dg-deals-row::-webkit-scrollbar { display: none; }
    .dg-deals-row > .dg-event-card {
        flex: 0 0 calc(20% - 9.6px); min-width: calc(20% - 9.6px); scroll-snap-align: start;
    }
    @media (max-width: 1100px) { .dg-deals-row > .dg-event-card { flex-basis: calc(33.333% - 8px); min-width: calc(33.333% - 8px); } }
    @media (max-width: 768px)  { .dg-deals-row > .dg-event-card { flex-basis: calc(50% - 6px);     min-width: calc(50% - 6px); } }
    @media (max-width: 480px)  { .dg-deals-row > .dg-event-card { flex-basis: 80%;                 min-width: 80%; } }

/* =====================================================================
   Moved out of all_event_ticket.blade.php — rails slider + results grid
   ===================================================================== */
    /* Tonight / This Weekend / Upcoming — horizontal slider with floating arrows */
    .dg-ae-slider { position: relative; }
    .dg-ae-rail {
        display: flex; grid-template-columns: none;
        gap: 14px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory;
        -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 4px;
    }
    .dg-ae-rail::-webkit-scrollbar { display: none; }
    .dg-ae-rail > .dg-ae-card {
        flex: 0 0 calc(20% - 11.2px); min-width: calc(20% - 11.2px); scroll-snap-align: start;
    }
    @media (max-width: 1100px) { .dg-ae-rail > .dg-ae-card { flex-basis: calc(33.333% - 9.4px); min-width: calc(33.333% - 9.4px); } }
    @media (max-width: 768px)  { .dg-ae-rail > .dg-ae-card { flex-basis: calc(50% - 7px);      min-width: calc(50% - 7px); } }
    @media (max-width: 480px)  { .dg-ae-rail > .dg-ae-card { flex-basis: 82%;                  min-width: 82%; } }
    .dg-ae-arrow-prev { left: -14px; right: auto; }
    .dg-ae-arrow-next { right: -14px; left: auto; }
    .dg-ae-arrow.is-disabled { opacity: 0; pointer-events: none; }
    @media (max-width: 768px) { .dg-ae-arrow-prev { left: 4px; } .dg-ae-arrow-next { right: 4px; } }

    /* ---- Card overlap fixes (apply to both the rail slider and the AJAX results grid) ---- */
    /* Badges: stacked top-left, wrapping, and kept clear of the fav heart on the right */
    .dg-ae-card-badges {
        position: absolute; top: 10px; left: 10px; right: 50px; z-index: 2;
        display: flex; flex-wrap: wrap; gap: 6px;
    }
    .dg-ae-card-badges .dg-ae-card-badge { position: static; top: auto; left: auto; right: auto; }
    /* Time moves to the bottom-RIGHT so it no longer sits on top of the date overlay (bottom-left) */
    .dg-ae-card-time { left: auto; right: 10px; }
    /* Keep the results grid cards identical in size to the slider cards at every breakpoint
       (same 5 / 3 / 2 / 1 column scheme), so the card looks the same with or without a filter. */
    .dg-ae-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    @media (max-width: 1100px) { .dg-ae-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
    @media (max-width: 768px)  { .dg-ae-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 480px)  { .dg-ae-grid { grid-template-columns: 1fr; } }
    .dg-ae-grid > .dg-ae-card, .dg-ae-rail > .dg-ae-card { width: 100%; }

/* =====================================================================
   Moved out of event_detail.blade.php — dynamic-state + carousel styles
   ===================================================================== */
    /* Dynamic-state styles for the event detail page */
    .dg-evd-ticket.is-soldout { opacity: .62; filter: grayscale(.35); }
    .dg-evd-ticket.is-soldout .dg-evd-ticket-head h4 { text-decoration: line-through; }
    .dg-evd-soldout-tag { font-weight: 800; color: #DC2626; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; }
    .dg-evd-ticket-mini-badge.is-soldout { background: #FEE2E2; color: #B91C1C; }
    .dg-evd-ticket-left { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 700; color: #B45309; background: #FEF3C7; padding: 2px 8px; border-radius: 999px; }
    .dg-evd-buy-btn.is-disabled, .dg-evd-buy-btn:disabled { opacity: .55; cursor: not-allowed; }
    .dg-evd-save.is-saved { color: #DC2626; border-color: #DC2626; }
    .dg-evd-save.is-saved i { color: #DC2626; }
    .dg-evd-copy-link i.fa-check { color: #16A34A; }
    .dg-evd-thumb { cursor: pointer; }
    .dg-evd-thumb.is-active { outline: 3px solid #2563EB; outline-offset: 1px; }
    /* Hero video stage */
    .dg-evd-hero-video { position: absolute; inset: 0; background: #000; z-index: 5; }
    .dg-evd-hero-video-slot, .dg-evd-hero-video-slot iframe, .dg-evd-hero-video-slot video {
        position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; background: #000;
    }
    .dg-evd-hero-video-close {
        position: absolute; top: 12px; right: 12px; z-index: 6; width: 38px; height: 38px; border: 0;
        border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; cursor: pointer; font-size: 16px;
        display: flex; align-items: center; justify-content: center; transition: background .15s;
    }
    .dg-evd-hero-video-close:hover { background: rgba(0,0,0,.85); }
    /* "You Might Also Like" — working horizontal carousel */
    .dg-evd-like-grid {
        display: flex; gap: 12px; overflow-x: auto; scroll-behavior: smooth;
        scroll-snap-type: x mandatory; -ms-overflow-style: none; scrollbar-width: none;
        padding-bottom: 4px;
    }
    .dg-evd-like-grid::-webkit-scrollbar { display: none; }
    .dg-evd-like-grid .dg-evd-like-card {
        flex: 0 0 calc(50% - 6px); min-width: calc(50% - 6px); scroll-snap-align: start;
    }
    .dg-evd-like-arrows { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 12px; }
    .dg-evd-like-arrows .fa-chevron-left, .dg-evd-like-arrows .fa-chevron-right {
        cursor: pointer; color: #475569; padding: 6px; border-radius: 50%; transition: background .15s, color .15s;
    }
    .dg-evd-like-arrows .fa-chevron-left:hover, .dg-evd-like-arrows .fa-chevron-right:hover { background: #EEF2FF; color: #1D4ED8; }
    .dg-evd-like-arrows .is-disabled { opacity: .3; pointer-events: none; }
    .dg-evd-like-dots { display: inline-flex; gap: 7px; align-items: center; }
    .dg-evd-like-dots .dot { width: 7px; height: 7px; border-radius: 50%; background: #CBD5E1; cursor: pointer; transition: background .15s, width .15s; }
    .dg-evd-like-dots .dot.is-active { background: #1D4ED8; width: 18px; border-radius: 4px; }
    /* "Your Ticket" preview pager (sits on the white ticket face) */
    .dg-evd-yt-nav { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 6px; }
    .dg-evd-yt-nav button {
        width: 26px; height: 26px; border: 1px solid #E2E8F0; border-radius: 50%; background: #F1F5F9; color: #1D4ED8;
        cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; transition: background .15s, color .15s;
    }
    .dg-evd-yt-nav button:hover { background: #1D4ED8; color: #fff; }
    .dg-evd-yt-nav button.is-disabled { opacity: .35; pointer-events: none; }
    .dg-evd-yt-nav .pg { color: #64748B; font-size: 11px; font-weight: 700; min-width: 46px; text-align: center; }
    /* Real interactive venue map (replaces the dead static-map background) */
    .dg-evd-venue-map { background: #E5E7EB; height: 160px; }
    .dg-evd-venue-map iframe { width: 100%; height: 100%; border: 0; display: block; }
    .dg-evd-venue-map::after { content: none; }

    /* Type-specific "Event Details" list */
    .dg-evd-typemeta { list-style: none; padding: 0; margin: 0; }
    .dg-evd-typemeta li {
        padding: 8px 0;
        border-bottom: 1px solid #F1F5F9;
        min-width: 0;
    }
    .dg-evd-typemeta li:last-child { border-bottom: 0; }
    .dg-evd-typemeta .label {
        display: block;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .03em;
        color: #94A3B8;
        margin-bottom: 2px;
    }
    .dg-evd-typemeta .value {
        display: block;
        font-size: 13.5px;
        color: #0F172A;
        font-weight: 600;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .dg-evd-typemeta-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 12.5px;
        font-weight: 700;
        color: #1D4ED8;
        background: #EFF6FF;
        border: 1px solid #DBEAFE;
        padding: 5px 12px;
        border-radius: 8px;
        text-decoration: none;
        transition: background .15s, color .15s;
    }
    .dg-evd-typemeta-link:hover { background: #1D4ED8; color: #fff; }

    /* Schedule item: keep alignment tidy even when an item has no time */
    .dg-evd-schedule-item .time:empty::before { opacity: .4; }

    /* Empty states (no demo/dummy fallback data) */
    .dg-evd-tickets-empty {
        padding: 28px 20px;
        text-align: center;
        color: #94A3B8;
        border: 1px dashed #E2E8F0;
        border-radius: 14px;
        background: #F8FAFC;
    }
    .dg-evd-tickets-empty i { font-size: 22px; display: block; margin-bottom: 8px; color: #CBD5E1; }
    .dg-evd-tickets-empty p { margin: 0; font-size: 13.5px; }
    .dg-evd-order-empty {
        padding: 18px 4px;
        text-align: center;
        color: #94A3B8;
        font-size: 13px;
        margin: 0;
    }

/* =====================================================================
   Deko Go — Checkout page (.dgco2-*) and Success page (.dgps2-*)
   ===================================================================== */
.dgco2, .dgps2 { background:#F1F5F9; padding:24px 0 60px; }
.dgco2-wrap, .dgps2-wrap { max-width:1600px; margin:0 auto; padding:0 24px; }

/* ---- Checkout top bar ---- */
.dgco2-topbar { display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:space-between; margin-bottom:8px; }
.dgco2-title h1 { font-size:26px; margin:0; font-weight:800; color:#0F172A; }
.dgco2-title p { margin:2px 0 0; color:#64748B; font-size:14px; }
.dgco2-steps { display:flex; gap:18px; flex-wrap:wrap; }
.dgco2-step { display:flex; align-items:center; gap:7px; color:#94A3B8; font-size:13px; font-weight:600; }
.dgco2-step b { width:24px; height:24px; border-radius:50%; background:#E2E8F0; color:#64748B; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
.dgco2-step.is-active { color:#1D4ED8; }
.dgco2-step.is-active b { background:#1D4ED8; color:#fff; }
.dgco2-secure { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #E2E8F0; border-radius:12px; padding:10px 14px; }
.dgco2-secure i { color:#16A34A; font-size:18px; }
.dgco2-secure strong { display:block; font-size:13px; color:#0F172A; }
.dgco2-secure span { font-size:11px; color:#94A3B8; }
.dgco2-meta { display:flex; gap:20px; flex-wrap:wrap; color:#475569; font-size:13px; margin:6px 0 18px; }
.dgco2-meta i { color:#2563EB; margin-right:5px; }
.dgco2-alert { background:#FEF2F2; border:1px solid #FECACA; color:#B91C1C; padding:12px 16px; border-radius:12px; margin-bottom:16px; font-weight:600; }

/* ---- Checkout grid ---- */
.dgco2-grid { display:grid; grid-template-columns:1fr 340px; gap:20px; align-items:start; }
.dgco2-card { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:22px; margin-bottom:18px; }
.dgco2-card h3 { font-size:16px; margin:0 0 16px; display:flex; align-items:center; gap:10px; color:#0F172A; }
.dgco2-card h3 em { font-style:normal; color:#94A3B8; font-weight:500; font-size:13px; }
.dgco2-num { width:26px; height:26px; border-radius:50%; background:#1D4ED8; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; }

.dgco2-attendee { border:1px solid #EEF2F7; border-radius:12px; padding:14px; margin-bottom:12px; }
.dgco2-attendee-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.dgco2-chip { background:#EFF6FF; color:#1D4ED8; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; }
.dgco2-att-no { color:#94A3B8; font-size:12px; font-weight:600; }
.dgco2-field2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dgco2-card label { display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:5px; }
.dgco2-card label i { color:#EF4444; font-style:normal; }
.dgco2-card input[type=text], .dgco2-card input[type=email] { width:100%; border:1px solid #E2E8F0; border-radius:10px; padding:10px 12px; font-size:14px; background:#fff; }
.dgco2-card input:focus { outline:none; border-color:#2563EB; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.dgco2-check { display:flex; align-items:center; gap:8px; font-size:13px; color:#475569; margin-bottom:14px; font-weight:500; }

.dgco2-tk { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #F1F5F9; }
.dgco2-tk-info strong { display:block; color:#0F172A; }
.dgco2-tk-info span { display:block; color:#64748B; font-size:12px; }
.dgco2-tk-price { text-align:right; }
.dgco2-tk-unit { color:#64748B; font-size:13px; }
.dgco2-tk-qty { color:#94A3B8; font-size:12px; margin:0 6px; }
.dgco2-tk-price strong { color:#0F172A; }
.dgco2-change { display:inline-block; margin-top:10px; color:#2563EB; font-weight:600; font-size:13px; text-decoration:none; }

.dgco2-addons { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dgco2-addon { border:1px solid #EEF2F7; border-radius:12px; padding:14px; display:flex; justify-content:space-between; gap:10px; }
.dgco2-addon-body strong { display:block; color:#0F172A; font-size:14px; }
.dgco2-addon-body p { margin:4px 0 6px; color:#64748B; font-size:12px; }
.dgco2-addon-price { color:#1D4ED8; font-weight:700; font-size:14px; }
.dgco2-qty { display:inline-flex; align-items:center; height:34px; border:1px solid #E2E8F0; border-radius:9px; overflow:hidden; align-self:flex-start; }
.dgco2-qty button { width:30px; height:34px; border:0; background:#F8FAFC; color:#1D4ED8; font-size:16px; cursor:pointer; }
.dgco2-qty button:hover { background:#EFF6FF; }
.dgco2-qty input { width:34px; text-align:center; border:0; border-left:1px solid #E2E8F0; border-right:1px solid #E2E8F0; height:34px; font-size:14px; }

.dgco2-promo { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.dgco2-promo input { flex:1; min-width:180px; border:1px solid #E2E8F0; border-radius:10px; padding:10px 12px; font-size:14px; }
.dgco2-promo-btn { background:#0F172A; color:#fff; border:0; border-radius:10px; padding:10px 22px; font-weight:600; cursor:pointer; }
.dgco2-promo-btn:hover { background:#1E293B; }
.dgco2-promo-msg { flex-basis:100%; font-size:13px; margin-top:4px; }
.dgco2-promo-msg.is-ok { color:#16A34A; }
.dgco2-promo-msg.is-err { color:#DC2626; }

.dgco2-pay-opt { display:flex; align-items:center; gap:12px; border:1px solid #E2E8F0; border-radius:12px; padding:14px; margin-bottom:12px; cursor:pointer; }
.dgco2-pay-opt.is-selected { border-color:#2563EB; background:#F8FAFF; }
.dgco2-pay-label { font-weight:600; color:#0F172A; font-size:14px; display:flex; flex-direction:column; }
.dgco2-pay-label i { color:#2563EB; margin-right:8px; }
.dgco2-pay-label small { font-weight:500; color:#94A3B8; font-size:12px; margin-top:2px; }
.dgco2-pay-cards { margin-left:auto; color:#94A3B8; font-size:22px; display:flex; gap:6px; }
.dgco2-card-fields { padding:6px 0 4px; }
.dgco2-card-el { border:1px solid #E2E8F0; border-radius:10px; padding:12px; background:#fff; }
.dgco2-card-err { color:#DC2626; font-size:13px; margin-top:6px; min-height:16px; }
.dgco2-points-opt { background:#FFFBEB; border-color:#FDE68A; }
.dgco2-points-opt .dgco2-pay-label i { color:#F59E0B; }
.dgco2-earn-note { background:#EFF6FF; border:1px solid #DBEAFE; border-radius:10px; padding:10px 14px; color:#1E40AF; font-size:13px; margin-top:6px; }
.dgco2-earn-note i { color:#2563EB; }

/* ---- Checkout summary (sticky) ---- */
.dgco2-side { position:sticky; top:18px; display:flex; flex-direction:column; gap:16px; }
.dgco2-summary { background:#0B1220; color:#E5E7EB; border-radius:16px; padding:20px; }
.dgco2-summary-head { display:flex; justify-content:space-between; align-items:center; }
.dgco2-summary-head h3 { margin:0; font-size:16px; color:#fff; }
.dgco2-summary-head a { color:#60A5FA; font-size:13px; text-decoration:none; }
.dgco2-summary-event { display:flex; gap:12px; margin:14px 0; }
.dgco2-summary-event img { width:54px; height:54px; border-radius:10px; object-fit:cover; }
.dgco2-summary-event strong { display:block; color:#fff; font-size:14px; }
.dgco2-summary-event span { display:block; color:#94A3B8; font-size:12px; }
.dgco2-summary-lines, .dgco2-sum-sub { border-top:1px solid #1E293B; padding-top:12px; margin-top:4px; }
.dgco2-sum-row { display:flex; justify-content:space-between; font-size:13px; color:#CBD5E1; padding:4px 0; }
.dgco2-sum-row em { font-style:normal; color:#94A3B8; }
.dgco2-discount-row span:last-child, .dgco2-points-row span:last-child { color:#34D399; }
.dgco2-sum-grand { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #1E293B; margin-top:10px; padding-top:12px; }
.dgco2-sum-grand span { color:#fff; font-weight:700; font-size:15px; }
.dgco2-sum-grand strong { color:#fff; font-size:18px; }
.dgco2-sum-grand strong span { color:#60A5FA; }
.dgco2-pay-btn { width:100%; margin-top:14px; background:linear-gradient(90deg,#2563EB,#1D4ED8); color:#fff; border:0; border-radius:12px; padding:14px; font-weight:700; font-size:15px; cursor:pointer; }
.dgco2-pay-btn:hover { filter:brightness(1.06); }
.dgco2-pay-btn:disabled { opacity:.6; cursor:default; }
.dgco2-fine { color:#64748B; font-size:11px; text-align:center; margin:10px 0 0; }
.dgco2-pass-benefit { display:flex; gap:10px; background:#111C30; border:1px solid #1E293B; border-radius:12px; padding:12px; margin-top:14px; }
.dgco2-pass-benefit i { color:#F59E0B; }
.dgco2-pass-benefit strong { display:block; color:#fff; font-size:13px; }
.dgco2-pass-benefit span { color:#94A3B8; font-size:12px; }
.dgco2-why { background:#0B1220; color:#E5E7EB; border-radius:16px; padding:18px 20px; }
.dgco2-why h4 { margin:0 0 12px; color:#fff; font-size:15px; }
.dgco2-why ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.dgco2-why li { font-size:13px; color:#CBD5E1; }
.dgco2-why li i { color:#34D399; margin-right:8px; }

/* ===================== SUCCESS PAGE ===================== */
.dgps2-hero { text-align:center; padding:14px 0 26px; }
.dgps2-check { width:64px; height:64px; border-radius:50%; background:#16A34A; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:14px; box-shadow:0 8px 24px rgba(22,163,74,.3); }
.dgps2-hero h1 { font-size:34px; margin:0; font-weight:800; color:#0F172A; }
.dgps2-hero p { color:#64748B; margin:8px 0 0; }
.dgps2-hero a { color:#2563EB; font-weight:600; text-decoration:none; }

.dgps2-grid { display:grid; grid-template-columns:1fr 360px; gap:22px; align-items:start; }
/* min-width:0 lets the column shrink below the slider's content width so the
   rail's own overflow-x:auto scrolls instead of widening the whole page */
.dgps2-main, .dgco2-main { min-width:0; }
.dgps2-reco .dg-ae-rail, .dg-ae-slider, .dg-ae-rail { min-width:0; max-width:100%; }
/* Header lives in the left column so the sidebar aligns to the very top */
.dgps2-main .dgps2-hero { padding:6px 0 18px; }
.dgps2-main { display:flex; flex-direction:column; gap:18px; }

.dgps2-ticket { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:18px; display:grid; grid-template-columns:200px 1fr 200px; gap:18px; align-items:center; }
.dgps2-ticket-media img { width:100%; height:150px; object-fit:cover; border-radius:12px; }
.dgps2-ticket-info h3 { margin:0 0 10px; font-size:18px; color:#0F172A; }
.dgps2-ticket-info ul { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:6px; }
.dgps2-ticket-info li { font-size:13px; color:#475569; }
.dgps2-ticket-info li i { color:#2563EB; width:16px; }
.dgps2-link { display:inline-block; color:#2563EB; font-weight:600; font-size:13px; text-decoration:none; margin-bottom:10px; }
.dgps2-ticket-qr { text-align:center; border-left:1px dashed #E2E8F0; padding-left:18px; }
.dgps2-qr-tag { display:block; font-size:11px; color:#94A3B8; text-transform:uppercase; letter-spacing:.04em; }
.dgps2-qr-type { display:block; font-size:13px; font-weight:700; color:#0F172A; margin-bottom:8px; }
.dgps2-qr-id { display:block; font-size:11px; color:#94A3B8; margin-top:8px; }
.dgps2-qr-id strong { color:#0F172A; font-size:12px; }
.dgps2-qr-more { display:block; font-size:11px; color:#2563EB; margin-top:6px; }

.dgps2-btn-outline { display:inline-flex; align-items:center; gap:8px; border:1px solid #2563EB; color:#2563EB; background:#fff; border-radius:10px; padding:9px 16px; font-weight:600; font-size:13px; text-decoration:none; cursor:pointer; }
.dgps2-btn-outline:hover { background:#EFF6FF; color:#1D4ED8; }

.dgps2-email { background:#EFF6FF; border:1px solid #DBEAFE; border-radius:14px; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.dgps2-email-l { display:flex; gap:12px; align-items:center; }
.dgps2-email i { color:#2563EB; font-size:20px; }
.dgps2-email strong { display:block; color:#0F172A; font-size:14px; }
.dgps2-email span { color:#64748B; font-size:12px; }

.dgps2-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.dgps2-card { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:18px; }
.dgps2-card h4 { margin:0 0 4px; font-size:15px; color:#0F172A; }
.dgps2-card p { margin:0 0 14px; color:#64748B; font-size:13px; }
.dgps2-share { display:flex; gap:14px; flex-wrap:wrap; }
.dgps2-share a { display:flex; flex-direction:column; align-items:center; gap:5px; color:#475569; font-size:11px; text-decoration:none; }
.dgps2-share a i { width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:18px; }
.dgps2-share .is-fb i { background:#1877F2; }
.dgps2-share .is-x i { background:#000; }
.dgps2-share .is-ig i { background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF); }
.dgps2-share .is-wa i { background:#25D366; }
.dgps2-share .is-link i { background:#6366F1; }
.dgps2-next { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.dgps2-next li { display:flex; gap:12px; }
.dgps2-next li i { color:#2563EB; font-size:16px; margin-top:2px; }
.dgps2-next strong { display:block; color:#0F172A; font-size:13px; }
.dgps2-next span { color:#64748B; font-size:12px; }

.dgps2-reco h4 { font-size:18px; color:#0F172A; margin:0 0 14px; }
.dgps2-reco-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.dgps2-reco-card { background:#fff; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; text-decoration:none; }
.dgps2-reco-img img { width:100%; height:90px; object-fit:cover; }
.dgps2-reco-body { padding:10px; }
.dgps2-reco-body strong { display:block; font-size:13px; color:#0F172A; margin-bottom:5px; }
.dgps2-reco-body span { display:block; font-size:11px; color:#64748B; }
.dgps2-reco-body span i { width:12px; }
.dgps2-reco-price { color:#DC2626 !important; font-weight:700; margin-top:5px; }

/* Success sidebar */
.dgps2-side { display:flex; flex-direction:column; gap:16px; position:sticky; top:18px; }
.dgps2-confirmed { background:#fff; border:1px solid #BBF7D0; border-radius:14px; padding:14px 16px; display:flex; gap:12px; align-items:center; }
.dgps2-confirmed i { color:#16A34A; font-size:22px; }
.dgps2-confirmed strong { display:block; color:#0F172A; font-size:14px; }
.dgps2-confirmed span { color:#64748B; font-size:12px; }
.dgps2-box { background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:16px; }
.dgps2-box h4 { margin:0 0 12px; font-size:15px; color:#0F172A; }
.dgps2-sum-row { display:flex; justify-content:space-between; font-size:13px; color:#475569; padding:4px 0; }
.dgps2-sum-row.is-green span:last-child { color:#16A34A; }
.dgps2-sum-grand { display:flex; justify-content:space-between; border-top:1px solid #E2E8F0; margin-top:8px; padding-top:10px; }
.dgps2-sum-grand span { font-weight:700; color:#0F172A; }
.dgps2-sum-grand strong { color:#2563EB; font-size:18px; }
.dgps2-order-no { font-weight:700; color:#0F172A; font-size:14px; display:flex; flex-direction:column; }
.dgps2-order-no span { font-weight:500; color:#94A3B8; font-size:12px; }
.dgps2-pay { display:flex; justify-content:space-between; align-items:center; margin:12px 0; }
.dgps2-pay span { color:#94A3B8; font-size:12px; }
.dgps2-pay strong { color:#0F172A; font-size:13px; }
.dgps2-pay i { color:#2563EB; margin-right:5px; }
.dgps2-btn-block { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; border:1px solid #2563EB; color:#2563EB; border-radius:10px; padding:10px; font-weight:600; font-size:13px; text-decoration:none; }
.dgps2-btn-block:hover { background:#EFF6FF; }
.dgps2-points { display:flex; gap:12px; align-items:center; background:#FFFBEB; border-color:#FDE68A; }
.dgps2-points i { color:#F59E0B; font-size:20px; }
.dgps2-points strong { display:block; color:#92400E; font-size:14px; }
.dgps2-points span { color:#B45309; font-size:12px; }
.dgps2-help { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.dgps2-help strong { display:block; color:#0F172A; font-size:14px; }
.dgps2-help span { color:#64748B; font-size:12px; }
.dgps2-help .dgps2-btn-block { width:auto; }
.dgps2-pass-card { background:#0B1220; color:#E5E7EB; border-radius:14px; padding:16px; display:flex; gap:12px; align-items:center; }
.dgps2-pass-l strong { display:block; color:#fff; font-size:14px; margin-bottom:4px; }
.dgps2-pass-l span { color:#94A3B8; font-size:12px; display:block; margin-bottom:10px; }
.dgps2-pass-btn { display:inline-flex; align-items:center; gap:6px; background:#2563EB; color:#fff; border-radius:8px; padding:8px 12px; font-size:12px; font-weight:600; text-decoration:none; }
.dgps2-pass-card img { border-radius:8px; background:#fff; padding:4px; }

.dgps2-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:18px; margin-top:22px; }
.dgps2-trust > div { display:flex; gap:12px; align-items:flex-start; }
.dgps2-trust i { color:#2563EB; font-size:18px; margin-top:2px; }
.dgps2-trust strong { display:block; color:#0F172A; font-size:13px; }
.dgps2-trust span { color:#64748B; font-size:12px; }

/* Success page — fidelity refinements to match reference */
.dgps2-secure-note { display:flex; gap:10px; align-items:center; background:#F0FDF4; border:1px solid #BBF7D0; border-radius:10px; padding:10px 12px; margin-top:12px; }
.dgps2-secure-note i { color:#16A34A; font-size:15px; }
.dgps2-secure-note strong { display:block; color:#166534; font-size:12px; }
.dgps2-secure-note span { color:#15803D; font-size:11px; }
/* Ticket card: poster + details grouped left, QR pinned right with a divider
   (keeps the reference look without a huge gap on the wide 1600px layout). */
.dgps2-ticket { display:flex; align-items:center; gap:20px; }
.dgps2-ticket-media { flex:0 0 240px; }
.dgps2-ticket-media img { height:170px; }
.dgps2-ticket-info { flex:1 1 auto; max-width:560px; }
.dgps2-ticket-qr { flex:0 0 180px; margin-left:auto; }
.dgps2-ticket-qr img { width:130px; height:130px; }

/* ============ Checkout + Success — responsive (must stay LAST so media
   queries override the base layout rules above) ============ */
@media (max-width:1024px) {
    .dgco2-grid, .dgps2-grid { grid-template-columns:1fr; }
    .dgco2-side, .dgps2-side { position:static; }
    .dgps2-reco-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
    .dgco2, .dgps2 { padding:16px 0 48px; }
    .dgco2-wrap, .dgps2-wrap { padding:0 16px; }
    .dgco2-topbar { flex-direction:column; align-items:flex-start; gap:12px; }
    .dgco2-steps { display:none; }
    .dgco2-secure { width:100%; }
    .dgco2-title h1 { font-size:24px; }
    .dgco2-meta { gap:10px 16px; }
    .dgco2-field2, .dgco2-addons { grid-template-columns:1fr; }
    .dgps2-hero h1 { font-size:26px; }
    .dgps2-ticket { flex-direction:column; align-items:stretch; }
    .dgps2-ticket-media, .dgps2-ticket-info, .dgps2-ticket-qr { flex:1 1 auto; max-width:none; }
    .dgps2-ticket-media img { height:200px; }
    .dgps2-ticket-qr { margin-left:0; border-left:0; border-top:1px dashed #E2E8F0; padding:14px 0 0; text-align:center; }
    .dgps2-two { grid-template-columns:1fr; }
    .dgps2-reco-grid { grid-template-columns:repeat(2,1fr); }
    .dgps2-trust { grid-template-columns:1fr 1fr; }
    .dgps2-email { flex-direction:column; align-items:flex-start; }
}
@media (max-width:480px) {
    .dgps2-hero h1, .dgco2-title h1 { font-size:22px; }
    .dgps2-trust { grid-template-columns:1fr; }
    .dgps2-help { flex-direction:column; align-items:stretch; }
    .dgps2-help .dgps2-btn-block { width:100%; }
    .dgps2-pass-card { flex-direction:column; text-align:center; }
    .dgps2-share { gap:12px; justify-content:space-between; }
    .dgco2-promo { flex-direction:column; align-items:stretch; }
    .dgco2-promo-btn { width:100%; }
}

/* =========================================================================
   Checkout v2 — reference-fidelity refinements (3-column layout, payment
   options, promo pill, member-benefit cards). Kept LAST so these rules win.
   ========================================================================= */

/* ----- 3-column grid ----- */
.dgco2-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 360px; }
.dgco2-col { min-width:0; }

/* ----- Card elevation + input polish (reference fidelity) ----- */
.dgco2-card { box-shadow:0 1px 3px rgba(16,24,40,.05); }
.dgco2-card input[type=text], .dgco2-card input[type=email], .dgco2-select { box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.dgco2-summary { box-shadow:0 8px 24px rgba(11,18,32,.18); }
.dgco2-topbar { align-items:flex-start; }
.dgco2-title h1 { letter-spacing:-.01em; }
.dgco2-col-a, .dgco2-col-b { display:flex; flex-direction:column; }
.dgco2-col-a .dgco2-card, .dgco2-col-b .dgco2-card { margin-bottom:18px; }
.dgco2-col-a .dgco2-card:last-child, .dgco2-col-b .dgco2-card:last-child { margin-bottom:0; }

/* ----- Breadcrumb ----- */
.dgco2-crumb { display:flex; align-items:center; gap:8px; font-size:13px; color:#94A3B8; margin-bottom:14px; flex-wrap:wrap; }
.dgco2-crumb a { color:#64748B; text-decoration:none; }
.dgco2-crumb a:hover { color:#2563EB; }
.dgco2-crumb i { font-size:11px; color:#CBD5E1; }
.dgco2-crumb span { color:#0F172A; font-weight:600; }

/* ----- Steps: vertical circle + label below, connector lines ----- */
.dgco2-steps { gap:0; flex:1; max-width:560px; justify-content:center; }
.dgco2-step { position:relative; flex:1; min-width:80px; flex-direction:column; align-items:center; gap:0; text-align:center; }
.dgco2-step::after { content:''; position:absolute; top:13px; left:50%; width:100%; height:2px; background:#E2E8F0; z-index:0; }
.dgco2-step:last-child::after { display:none; }
.dgco2-step b { position:relative; z-index:1; width:28px; height:28px; border:2px solid #E2E8F0; background:#fff; color:#94A3B8; }
.dgco2-step.is-active b { background:#1D4ED8; border-color:#1D4ED8; color:#fff; }
.dgco2-step i { font-style:normal; margin-top:7px; font-size:12px; }

/* ----- Secure badge with card icons ----- */
.dgco2-secure { flex-direction:column; align-items:flex-start; gap:8px; }
.dgco2-secure-head { display:flex; align-items:center; gap:10px; }
.dgco2-secure-cards { display:flex; gap:7px; font-size:22px; color:#94A3B8; }
.dgco2-secure-cards .fa-cc-visa { color:#1A1F71; }
.dgco2-secure-cards .fa-cc-mastercard { color:#EB001B; }
.dgco2-secure-cards .fa-cc-amex { color:#2E77BC; }
.dgco2-secure-cards .fa-cc-paypal { color:#003087; }
.dgco2-secure-cards .fa-cc-apple-pay { color:#000; }

/* ----- Meta row ----- */
.dgco2-meta { gap:26px; align-items:flex-start; }
.dgco2-meta-item { display:flex; gap:9px; align-items:flex-start; }
.dgco2-meta-item > i { color:#2563EB; margin-top:2px; }
.dgco2-meta-item > div { display:flex; flex-direction:column; line-height:1.35; }
.dgco2-meta-sub { color:#2563EB; font-weight:600; font-size:12px; text-decoration:none; }
.dgco2-meta-sub:hover { text-decoration:underline; }
.dgco2-meta-sub2 { color:#94A3B8; font-size:12px; }
.dgco2-org-ava { width:30px; height:30px; border-radius:50%; background:#1E2A3F; color:#fff; font-size:11px; font-weight:700; letter-spacing:.02em; display:inline-flex; align-items:center; justify-content:center; object-fit:cover; flex:0 0 auto; text-transform:uppercase; }
img.dgco2-org-ava { border:1px solid #E2E8F0; }

/* ----- Section header extras ----- */
.dgco2-card h3 .dgco2-enhance { margin-left:auto; color:#7C3AED; font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:5px; }
.dgco2-check-org { margin:14px 0 0; }

/* ----- Tickets section: poster header + seating row ----- */
.dgco2-tk-head { display:flex; gap:14px; padding-bottom:14px; border-bottom:1px solid #F1F5F9; margin-bottom:6px; }
.dgco2-tk-head img { width:96px; height:72px; border-radius:10px; object-fit:cover; flex:0 0 auto; }
.dgco2-tk-head strong { display:block; color:#0F172A; font-size:15px; margin-bottom:4px; }
.dgco2-tk-head span { display:block; color:#64748B; font-size:12px; }
.dgco2-tk-head span i { color:#2563EB; margin-right:4px; }
.dgco2-tk-info .dgco2-tk-unit { display:block; color:#64748B; font-size:12px; margin-top:2px; }
.dgco2-seating { display:flex; justify-content:space-between; align-items:center; gap:12px; background:#F8FAFC; border:1px solid #EEF2F7; border-radius:12px; padding:12px 14px; margin-top:12px; }
.dgco2-seating-lbl { display:block; color:#0F172A; font-size:13px; font-weight:600; }
.dgco2-seating-lbl em { font-style:normal; color:#94A3B8; font-weight:500; }
.dgco2-seating-val { display:block; color:#64748B; font-size:12px; margin-top:2px; }

/* ----- Add-ons (3 across, checked highlight) ----- */
.dgco2-addons { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.dgco2-addon { flex-direction:column; }
.dgco2-addon.is-on { border-color:#2563EB; background:#F8FAFF; }

/* ----- Promo applied pill ----- */
.dgco2-promo-applied { display:flex; align-items:center; gap:12px; flex-basis:100%; background:#F0FDF4; border:1px solid #BBF7D0; border-radius:10px; padding:10px 14px; }
.dgco2-promo-tick { display:flex; align-items:center; gap:8px; color:#166534; font-size:13px; font-weight:600; }
.dgco2-promo-tick i { color:#16A34A; font-size:15px; }
.dgco2-promo-tick small { display:block; color:#15803D; font-weight:500; font-size:12px; }
.dgco2-promo-applied #dgcoPromoRemove { margin-left:auto; background:none; border:0; color:#2563EB; font-weight:600; font-size:13px; cursor:pointer; }
.dgco2-promo-applied #dgcoPromoRemove:hover { text-decoration:underline; }

/* ----- Payment options: radio left, label middle, visual right (one row) -----
   Scoped as `.dgco2-card label.dgco2-pay-opt` so it outranks the
   `.dgco2-card label { display:block }` rule (which must stay for field labels). */
.dgco2-card label.dgco2-pay-opt,
.dgco2-pay-opt { position:relative; display:flex; align-items:center; gap:14px; }
.dgco2-card label.dgco2-check { display:flex; align-items:center; gap:8px; }
.dgco2-pay-opt input[type=radio], .dgco2-pay-opt input[type=checkbox] { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.dgco2-radio { width:20px; height:20px; border:2px solid #CBD5E1; border-radius:50%; flex:0 0 auto; position:relative; box-sizing:border-box; background:#fff; }
.dgco2-pay-opt input:checked + .dgco2-radio { border-color:#2563EB; }
.dgco2-pay-opt input:checked + .dgco2-radio::after { content:''; position:absolute; inset:3px; border-radius:50%; background:#2563EB; }
.dgco2-pay-label { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; }
.dgco2-pay-title { display:flex; align-items:center; gap:8px; font-weight:600; color:#0F172A; font-size:14px; }
.dgco2-pay-label small { color:#94A3B8; font-size:12px; font-weight:500; }
.dgco2-pay-cards { flex:0 0 auto; margin-left:auto; display:flex; gap:7px; font-size:24px; line-height:1; }
.dgco2-pay-cards .fa-cc-visa { color:#1A1F71; }
.dgco2-pay-cards .fa-cc-mastercard { color:#EB001B; }
.dgco2-pay-cards .fa-cc-amex { color:#2E77BC; }
.dgco2-pay-cards .fa-cc-discover { color:#F58220; }
.dgco2-pay-badge { flex:0 0 auto; margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:14px; font-weight:700; padding:6px 14px; border-radius:8px; }
.dgco2-pay-apple { background:#000; color:#fff; }
.dgco2-pay-pp { background:#fff; border:1px solid #E2E8F0; color:#003087; }
.dgco2-pay-pp i { color:#0070BA; }
.dgco2-reco { background:#DCFCE7; color:#15803D; font-size:10px; font-weight:700; padding:2px 9px; border-radius:999px; white-space:nowrap; }
.dgco2-pass-ic { flex:0 0 auto; margin-left:auto; width:46px; height:32px; border-radius:7px; background:linear-gradient(135deg,#2563EB,#1D4ED8); color:#fff; font-size:13px; font-weight:800; letter-spacing:.04em; display:inline-flex; align-items:center; justify-content:center; }
.dgco2-pay-note { color:#B45309; font-size:12px; margin:4px 0 0; }

/* ----- Earn info box (blue) ----- */
.dgco2-earn-note { display:flex; gap:11px; align-items:flex-start; margin-top:14px; padding:13px 15px; }
.dgco2-earn-note > i { width:28px; height:28px; border-radius:50%; background:#2563EB; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:13px; flex:0 0 auto; }
.dgco2-earn-note strong { color:#1E3A8A; }
.dgco2-earn-note span { display:block; color:#3B66C4; font-size:12px; margin-top:3px; }
.dgco2-earn-note a { color:#2563EB; font-weight:600; }

/* ----- Billing selects + full-width helper ----- */
.dgco2-col-full { grid-column:1/-1; }
.dgco2-field3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.dgco2-select { width:100%; border:1px solid #E2E8F0; border-radius:10px; padding:10px 12px; font-size:14px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance:none; appearance:none; color:#0F172A; }
.dgco2-select:focus { outline:none; border-color:#2563EB; box-shadow:0 0 0 3px rgba(37,99,235,.12); }

/* ----- Summary tweaks ----- */
.dgco2-info { color:#64748B; font-size:11px; margin-left:3px; }

/* ----- Member benefit box (blue, inside dark summary) ----- */
.dgco2-pass-benefit { flex-direction:row; align-items:flex-start; background:rgba(37,99,235,.12); border:1px solid rgba(96,165,250,.35); }
.dgco2-pass-benefit i { color:#60A5FA; margin-top:2px; }
.dgco2-pass-benefit strong { color:#fff; margin-bottom:3px; }
.dgco2-pass-benefit span { color:#BFDBFE; line-height:1.45; }
.dgco2-pass-join { display:inline-block; margin-top:8px; color:#93C5FD; font-weight:600; font-size:12px; text-decoration:none; }
.dgco2-pass-join:hover { text-decoration:underline; }

/* ----- Why card: 2-col benefits + explore button ----- */
.dgco2-why ul { grid-template-columns:1fr 1fr; gap:12px 16px; }
.dgco2-why-btn { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px; background:#2563EB; color:#fff; border-radius:10px; padding:11px; font-weight:600; font-size:13px; text-decoration:none; }
.dgco2-why-btn:hover { background:#1D4ED8; color:#fff; }

/* ----- Responsive (overrides the generic 1024 collapse above) ----- */
@media (max-width:1200px) {
    .dgco2-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .dgco2-side { grid-column:1 / -1; position:static; }
    .dgco2-why ul { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
    .dgco2-grid { grid-template-columns:1fr; }
    .dgco2-secure { width:100%; }
    .dgco2-field3 { grid-template-columns:1fr; }
    .dgco2-why ul { grid-template-columns:1fr; }
    .dgco2-tk-head img { width:72px; height:60px; }
    .dgco2-promo-applied { flex-wrap:wrap; }
}

/* =========================================================================
   My Deko Go Pass — member wallet dashboard (.dgp-*). Static demo page.
   ========================================================================= */
.dgp { background:#F1F5F9; padding:24px 0 60px; color:#0F172A; }
.dgp-wrap { max-width:1280px; margin:0 auto; padding:0 24px; }
.dgp-crumb { display:flex; align-items:center; gap:8px; font-size:13px; color:#94A3B8; margin-bottom:16px; }
.dgp-crumb a { color:#64748B; text-decoration:none; }
.dgp-crumb a:hover { color:#2563EB; }
.dgp-crumb i { font-size:11px; color:#CBD5E1; }
.dgp-crumb span { color:#0F172A; font-weight:600; }

/* ---- Header ---- */
.dgp-head { display:grid; grid-template-columns:1fr 460px; gap:24px; align-items:start; margin-bottom:22px; }
.dgp-brand { color:#2563EB; font-size:12px; font-weight:800; letter-spacing:.06em; display:inline-flex; align-items:center; gap:6px; }
.dgp-head-title h1 { font-size:34px; font-weight:800; margin:8px 0 4px; }
.dgp-head-title p { color:#2563EB; font-weight:600; margin:0 0 6px; }
.dgp-passid { color:#94A3B8; font-size:12px; }
.dgp-passid i { margin-left:4px; cursor:pointer; }

.dgp-vip { background:linear-gradient(135deg,#0B1220,#15213B); color:#E5E7EB; border-radius:18px; padding:20px; box-shadow:0 12px 30px rgba(11,18,32,.25); }
.dgp-vip-top { display:flex; justify-content:space-between; align-items:flex-start; }
.dgp-vip-id { display:flex; gap:12px; align-items:center; }
.dgp-vip-diamond { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,#F59E0B,#FBBF24); color:#1E293B; display:inline-flex; align-items:center; justify-content:center; font-size:18px; }
.dgp-vip-id strong { color:#fff; font-size:15px; display:flex; align-items:center; gap:6px; }
.dgp-vip-id strong i { color:#3B82F6; font-size:13px; }
.dgp-vip-id span { color:#94A3B8; font-size:12px; }
.dgp-vip-since { background:rgba(59,130,246,.16); color:#93C5FD; font-size:11px; font-weight:600; padding:5px 12px; border-radius:999px; }
.dgp-vip-body { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.dgp-vip-pts { color:#fff; font-size:26px; font-weight:800; display:block; }
.dgp-vip-pts small { font-size:13px; font-weight:600; color:#94A3B8; }
.dgp-vip-next { display:block; color:#94A3B8; font-size:11px; margin:6px 0 8px; }
.dgp-vip-bar { height:6px; border-radius:999px; background:rgba(148,163,184,.25); overflow:hidden; }
.dgp-vip-bar span { display:block; height:100%; background:linear-gradient(90deg,#3B82F6,#8B5CF6); }
.dgp-vip-btn { display:inline-block; margin-top:12px; background:rgba(255,255,255,.08); border:1px solid rgba(148,163,184,.3); color:#fff; border-radius:9px; padding:7px 16px; font-size:12px; font-weight:600; text-decoration:none; }
.dgp-vip-btn:hover { background:rgba(255,255,255,.16); color:#fff; }
.dgp-vip-perks { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.dgp-vip-perks li { font-size:12px; color:#CBD5E1; }
.dgp-vip-perks li i { color:#34D399; margin-right:7px; }

/* ---- Stat cards ---- */
.dgp-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
.dgp-stat { background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:16px; display:flex; gap:13px; align-items:center; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgp-stat-ic { width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
.dgp-stat-ic.is-blue { background:#EFF6FF; color:#2563EB; }
.dgp-stat-ic.is-violet { background:#F5F3FF; color:#7C3AED; }
.dgp-stat-ic.is-amber { background:#FFFBEB; color:#F59E0B; }
.dgp-stat-ic.is-green { background:#ECFDF5; color:#16A34A; }
.dgp-stat-label { display:block; color:#64748B; font-size:12px; }
.dgp-stat-num { display:block; font-size:22px; font-weight:800; line-height:1.1; }
.dgp-stat-sub { display:block; color:#94A3B8; font-size:11px; }
.dgp-stat-sub.is-green { color:#16A34A; font-weight:600; }

/* ---- Tabs ---- */
.dgp-tabs { display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid #E2E8F0; margin-bottom:22px; }
.dgp-tab { background:none; border:0; border-bottom:2px solid transparent; padding:10px 14px; font-size:13px; font-weight:600; color:#64748B; cursor:pointer; display:inline-flex; align-items:center; gap:7px; }
.dgp-tab span { background:#E2E8F0; color:#475569; font-size:11px; border-radius:999px; padding:1px 7px; }
.dgp-tab.is-active { color:#2563EB; border-bottom-color:#2563EB; }
.dgp-tab.is-active span { background:#DBEAFE; color:#1D4ED8; }

/* ---- Body grid ---- */
.dgp-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:22px; align-items:start; }
.dgp-main { display:flex; flex-direction:column; gap:20px; min-width:0; }
.dgp-block { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgp-block-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.dgp-block-head h2 { font-size:17px; font-weight:700; margin:0; }
.dgp-block-head a { color:#2563EB; font-size:13px; font-weight:600; text-decoration:none; }
.dgp-block-foot { display:block; text-align:center; margin-top:12px; padding:9px; border:1px solid #E2E8F0; border-radius:10px; color:#2563EB; font-size:13px; font-weight:600; text-decoration:none; }
.dgp-block-foot:hover { background:#EFF6FF; color:#1D4ED8; }
.dgp-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

/* ---- Featured ticket card ---- */
.dgp-ticket { display:grid; grid-template-columns:230px 1fr 180px; gap:18px; background:#0B1220; border-radius:14px; padding:16px; color:#E5E7EB; }
.dgp-ticket-media { position:relative; border-radius:11px; overflow:hidden; }
.dgp-ticket-media img { width:100%; height:100%; min-height:200px; object-fit:cover; }
.dgp-badge { position:absolute; left:10px; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px; color:#fff; }
.dgp-badge.is-soon { top:10px; background:#7C3AED; }
.dgp-badge.is-hot { bottom:10px; background:#DB2777; }
.dgp-ticket-info { display:flex; flex-direction:column; }
.dgp-ticket-tag { align-self:flex-start; background:rgba(59,130,246,.18); color:#93C5FD; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; }
.dgp-ticket-info h3 { color:#fff; font-size:20px; margin:9px 0 12px; }
.dgp-ticket-info ul { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:7px; }
.dgp-ticket-info li { font-size:13px; color:#CBD5E1; }
.dgp-ticket-info li i { color:#60A5FA; width:16px; }
.dgp-ticket-people { font-size:12px; color:#94A3B8; display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.dgp-ava-stack { display:inline-flex; }
.dgp-ava-stack i { width:22px; height:22px; border-radius:50%; border:2px solid #0B1220; background:linear-gradient(135deg,#64748B,#334155); margin-left:-7px; }
.dgp-ava-stack i:first-child { margin-left:0; }
.dgp-btn-primary { margin-top:auto; align-self:flex-start; background:linear-gradient(90deg,#2563EB,#1D4ED8); color:#fff; border-radius:10px; padding:10px 22px; font-weight:600; font-size:14px; text-decoration:none; }
.dgp-btn-primary:hover { filter:brightness(1.07); color:#fff; }
.dgp-btn-primary.sm { padding:8px 14px; font-size:12px; display:inline-flex; align-items:center; gap:6px; margin:0; }
.dgp-ticket-qr { background:#fff; border-radius:11px; padding:12px; text-align:center; color:#0F172A; display:flex; flex-direction:column; align-items:center; gap:4px; }
.dgp-qr-tag { font-size:10px; color:#94A3B8; text-transform:uppercase; letter-spacing:.04em; }
.dgp-qr-id { font-size:12px; font-weight:700; }
.dgp-ticket-qr img { margin:4px 0; }
.dgp-qr-foot { font-size:10px; color:#94A3B8; }

/* ---- Quick actions ---- */
.dgp-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; padding:14px 4px; border-bottom:1px solid #F1F5F9; margin-bottom:6px; }
.dgp-actions a { flex:1; min-width:120px; text-align:center; color:#475569; font-size:12px; font-weight:600; text-decoration:none; display:flex; flex-direction:column; gap:5px; padding:6px; border-radius:9px; }
.dgp-actions a i { color:#2563EB; font-size:15px; }
.dgp-actions a:hover { background:#F8FAFC; }

/* ---- Generic rows ---- */
.dgp-row { display:flex; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid #F1F5F9; }
.dgp-row:last-of-type { border-bottom:0; }
.dgp-row img { width:84px; height:64px; border-radius:10px; object-fit:cover; flex:0 0 auto; }
.dgp-row-sm img { width:64px; height:48px; }
.dgp-row-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.dgp-row-body strong { font-size:14px; }
.dgp-row-body span { color:#64748B; font-size:12px; }
.dgp-row-body span i { color:#2563EB; width:14px; }
.dgp-pill { display:inline-flex; align-items:center; gap:4px; align-self:flex-start; font-size:10px; font-weight:700; padding:2px 9px; border-radius:999px; }
.dgp-pill.is-amber { background:#FFF7ED; color:#C2410C; }
.dgp-pill.is-green { background:#16A34A; color:#fff; }
.dgp-pill.is-green-soft { background:#DCFCE7; color:#15803D; }

/* ---- Buttons ---- */
.dgp-btn-outline { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #2563EB; color:#2563EB; background:#fff; border-radius:10px; padding:9px 16px; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer; flex:0 0 auto; }
.dgp-btn-outline:hover { background:#EFF6FF; color:#1D4ED8; }
.dgp-btn-outline.sm { padding:7px 13px; font-size:12px; }

/* ---- Deals ---- */
.dgp-deal { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #F1F5F9; }
.dgp-deal:last-of-type { border-bottom:0; }
.dgp-deal img { width:64px; height:64px; border-radius:10px; object-fit:cover; }
.dgp-deal-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.dgp-deal-body strong { font-size:13px; }
.dgp-deal-date { color:#64748B; font-size:11px; }
.dgp-deal-price { font-weight:700; color:#0F172A; font-size:14px; }
.dgp-deal-price del { color:#94A3B8; font-weight:400; font-size:12px; margin-left:5px; }
.dgp-deal-exp { text-align:right; flex:0 0 auto; }
.dgp-deal-exp span { display:block; color:#94A3B8; font-size:10px; }
.dgp-deal-exp strong { color:#DC2626; font-size:12px; }

/* ---- Certificates ---- */
.dgp-cert { display:flex; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid #F1F5F9; }
.dgp-cert:last-of-type { border-bottom:0; }
.dgp-cert-ic { width:40px; height:40px; border-radius:10px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:17px; flex:0 0 auto; }
.dgp-cert-body { flex:1; min-width:0; }
.dgp-cert-body strong { display:block; font-size:13px; }
.dgp-cert-body span { color:#94A3B8; font-size:11px; }
.dgp-cert-dl { color:#2563EB; font-size:14px; }

/* ---- Replay ---- */
.dgp-replay { display:flex; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid #F1F5F9; }
.dgp-replay img { width:72px; height:48px; border-radius:9px; object-fit:cover; }
.dgp-replay-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.dgp-replay-body strong { font-size:13px; }
.dgp-replay-body span { font-size:11px; color:#94A3B8; }
.dgp-replay-bar { height:5px; border-radius:999px; background:#E2E8F0; overflow:hidden; }
.dgp-replay-bar span { display:block; height:100%; background:#2563EB; }
.dgp-replay-play { width:34px; height:34px; border-radius:50%; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgp-replay-play:hover { background:#2563EB; color:#fff; }

/* ---- Recommended ---- */
.dgp-reco { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.dgp-reco-card { border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; background:#fff; transition:box-shadow .15s; }
.dgp-reco-card:hover { box-shadow:0 6px 18px rgba(16,24,40,.1); }
.dgp-reco-img { position:relative; }
.dgp-reco-img img { width:100%; height:96px; object-fit:cover; }
.dgp-reco-img i { position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.9); color:#475569; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
.dgp-reco-body { padding:11px; display:flex; flex-direction:column; gap:3px; }
.dgp-reco-body strong { font-size:13px; }
.dgp-reco-body span { color:#64748B; font-size:11px; }
.dgp-reco-body span i { color:#2563EB; width:12px; }
.dgp-reco-price { color:#DC2626 !important; font-weight:700; margin-top:3px; }

/* ---- Sidebar ---- */
.dgp-side { display:flex; flex-direction:column; gap:18px; position:sticky; top:18px; }
.dgp-member { background:linear-gradient(135deg,#0B1220,#1E1B4B); border-radius:16px; padding:18px; color:#E5E7EB; box-shadow:0 12px 30px rgba(15,23,42,.22); }
.dgp-member-head { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.dgp-member-ava { width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.2); }
.dgp-member-head strong { color:#fff; font-size:14px; display:flex; align-items:center; gap:8px; }
.dgp-member-head span { color:#94A3B8; font-size:12px; }
.dgp-member-tier { color:#FBBF24; font-size:12px; font-weight:700; }
.dgp-member-pts strong { display:block; color:#fff; font-size:24px; font-weight:800; margin:4px 0; }
.dgp-member-pts strong small { font-size:12px; color:#94A3B8; font-weight:600; }
.dgp-member-note { display:block; color:#A5B4FC; font-size:12px; margin-bottom:9px; }
.dgp-member-next { display:block; color:#94A3B8; font-size:11px; margin-top:7px; }
.dgp-member-link { display:inline-block; margin-top:10px; color:#93C5FD; font-size:12px; font-weight:600; text-decoration:none; }

.dgp-card { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:16px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgp-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.dgp-card-head h4 { margin:0; font-size:15px; font-weight:700; }
.dgp-card-head a { color:#2563EB; font-size:12px; font-weight:600; text-decoration:none; }

/* ---- Notifications ---- */
.dgp-note { display:flex; gap:11px; align-items:flex-start; padding:10px 0; border-bottom:1px solid #F1F5F9; }
.dgp-note-ic { width:34px; height:34px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; flex:0 0 auto; }
.dgp-note-ic.is-blue { background:#EFF6FF; color:#2563EB; }
.dgp-note-ic.is-green { background:#ECFDF5; color:#16A34A; }
.dgp-note-ic.is-amber { background:#FFFBEB; color:#F59E0B; }
.dgp-note div { flex:1; min-width:0; }
.dgp-note strong { display:block; font-size:13px; }
.dgp-note span { color:#64748B; font-size:12px; }
.dgp-note em { color:#94A3B8; font-size:11px; font-style:normal; white-space:nowrap; }

/* ---- Mini tabs ---- */
.dgp-minitabs { display:flex; gap:18px; border-bottom:1px solid #E2E8F0; margin-bottom:10px; }
.dgp-minitabs button { background:none; border:0; border-bottom:2px solid transparent; padding:6px 0; font-size:12px; font-weight:600; color:#64748B; cursor:pointer; display:inline-flex; gap:6px; align-items:center; }
.dgp-minitabs button span { background:#E2E8F0; color:#475569; font-size:10px; border-radius:999px; padding:0 6px; }
.dgp-minitabs button.is-active { color:#2563EB; border-bottom-color:#2563EB; }

/* ---- Side deals ---- */
.dgp-sdeal { display:flex; gap:11px; align-items:center; padding:10px 0; border-bottom:1px solid #F1F5F9; }
.dgp-sdeal img { width:52px; height:52px; border-radius:9px; object-fit:cover; }
.dgp-sdeal-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dgp-sdeal-body strong { font-size:13px; }
.dgp-sdeal-body span { color:#64748B; font-size:11px; }
.dgp-sdeal-exp { color:#94A3B8 !important; }

/* ---- Help ---- */
.dgp-help { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:16px; display:flex; gap:13px; align-items:center; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgp-help img { width:56px; height:56px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.dgp-help strong { display:block; font-size:14px; }
.dgp-help span { display:block; color:#64748B; font-size:12px; margin-bottom:8px; }

/* ---- How it works ---- */
.dgp-steps { list-style:none; margin:0 0 14px; padding:0; display:grid; gap:14px; }
.dgp-steps li { display:flex; gap:12px; }
.dgp-step-n { width:26px; height:26px; border-radius:50%; background:#2563EB; color:#fff; font-size:12px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgp-steps strong { display:block; font-size:13px; }
.dgp-steps span { color:#64748B; font-size:12px; }

/* ---- Trust footer ---- */
.dgp-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; margin-top:24px; }
.dgp-trust > div { display:flex; gap:12px; align-items:flex-start; }
.dgp-trust i { color:#2563EB; font-size:18px; margin-top:2px; }
.dgp-trust strong { display:block; font-size:13px; }
.dgp-trust span { color:#64748B; font-size:12px; }

/* ---- Responsive ---- */
@media (max-width:1100px) {
    .dgp-head { grid-template-columns:1fr; }
    .dgp-grid { grid-template-columns:1fr; }
    .dgp-side { position:static; }
    .dgp-stats { grid-template-columns:1fr 1fr; }
    .dgp-reco { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
    .dgp-wrap { padding:0 16px; }
    .dgp-head-title h1 { font-size:26px; }
    .dgp-vip-body { grid-template-columns:1fr; }
    .dgp-stats { grid-template-columns:1fr; }
    .dgp-two { grid-template-columns:1fr; }
    .dgp-ticket { grid-template-columns:1fr; }
    .dgp-ticket-media img { min-height:170px; }
    .dgp-reco { grid-template-columns:1fr 1fr; }
    .dgp-trust { grid-template-columns:1fr 1fr; }
    .dgp-actions a { min-width:90px; }
}

/* =========================================================================
   Deko Go — Virtual Seminars (.dgvs- listing/detail, .dgvl- live, .dgvr- replay)
   STATIC demo pages.
   ========================================================================= */
.dgvs { background:#F1F5F9; padding:24px 0 56px; color:#0F172A; }
.dgvs-wrap { width:100%; max-width:1600px; margin:0 auto; box-sizing:border-box; }
.dgvs-dark { background:#0A0F1C; color:#E5E7EB; }
.dgvs-brand { color:#2563EB; font-size:12px; font-weight:800; letter-spacing:.06em; display:inline-flex; align-items:center; gap:6px; }

.dgvs-crumb { display:flex; align-items:center; gap:8px; font-size:13px; color:#94A3B8; margin-bottom:16px; flex-wrap:wrap; }
.dgvs-crumb a { color:#64748B; text-decoration:none; }
.dgvs-crumb a:hover { color:#2563EB; }
.dgvs-crumb i { font-size:11px; color:#CBD5E1; }
.dgvs-crumb span { color:#0F172A; font-weight:600; }
.dgvs-crumb-dark a, .dgvs-crumb-dark span { color:#94A3B8; }
.dgvs-crumb-dark span { color:#E5E7EB; }

/* Buttons */
.dgvs-btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(90deg,#2563EB,#1D4ED8); color:#fff; border:0; border-radius:10px; padding:11px 20px; font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; }
.dgvs-btn-primary:hover { filter:brightness(1.07); color:#fff; }
.dgvs-btn-primary.block { width:100%; }
.dgvs-btn-primary.lg { padding:13px 24px; font-size:15px; }
.dgvs-btn-ghost { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #BFD3FF; color:#1D4ED8; border-radius:10px; padding:11px 20px; font-size:14px; font-weight:600; text-decoration:none; }
.dgvs-btn-ghost:hover { background:#EFF6FF; }
.dgvs-btn-outline { display:inline-flex; align-items:center; justify-content:center; gap:7px; background:#fff; border:1px solid #2563EB; color:#2563EB; border-radius:10px; padding:10px 18px; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer; }
.dgvs-btn-outline:hover { background:#EFF6FF; color:#1D4ED8; }
.dgvs-btn-outline.sm { padding:7px 13px; font-size:12px; }
.dgvs-btn-outline.block { width:100%; margin-top:8px; }
.dgvs-btn-outline.dark { background:transparent; border-color:rgba(148,163,184,.4); color:#E5E7EB; }
.dgvs-btn-outline.dark:hover { background:rgba(255,255,255,.08); color:#fff; }
.dgvs-link { color:#2563EB; font-size:13px; font-weight:600; text-decoration:none; }
.dgvs-link:hover { text-decoration:underline; }

/* Hero */
.dgvs-hero { display:grid; grid-template-columns:1fr 460px; gap:30px; align-items:center; margin-bottom:24px; }
.dgvs-hero h1 { font-size:42px; font-weight:800; margin:10px 0 6px; letter-spacing:-.01em; }
.dgvs-hero-lead { color:#2563EB; font-weight:600; font-size:16px; margin:0 0 10px; }
.dgvs-hero-sub { color:#64748B; font-size:14px; max-width:520px; margin:0 0 18px; }
.dgvs-hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.dgvs-hero-r { position:relative; }
.dgvs-hero-r img { width:100%; border-radius:16px; object-fit:cover; }
.dgvs-hero-badge { position:absolute; top:-14px; right:-6px; width:84px; height:84px; border-radius:50%; background:#1D4ED8; color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; text-align:center; padding:12px; line-height:1.2; }

/* Filters */
.dgvs-filters { display:flex; gap:6px; flex-wrap:wrap; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:8px; margin-bottom:22px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgvs-filter { background:none; border:0; border-radius:9px; padding:8px 13px; font-size:13px; font-weight:600; color:#64748B; cursor:pointer; display:inline-flex; align-items:center; gap:7px; }
.dgvs-filter:hover { background:#F1F5F9; }
.dgvs-filter.is-active { background:#EFF6FF; color:#1D4ED8; }
.dgvs-filter .dgvs-live-dot { color:#16A34A; font-size:8px; }

/* Grid */
.dgvs-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; align-items:start; }
.dgvs-detail-grid { grid-template-columns:minmax(0,1fr) 360px; }
.dgvs-main { display:flex; flex-direction:column; gap:20px; min-width:0; }
.dgvs-block { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgvs-block-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.dgvs-block-head h2 { font-size:17px; font-weight:700; margin:0; }
.dgvs-block-head a { color:#2563EB; font-size:13px; font-weight:600; text-decoration:none; }
.dgvs-h2 { font-size:17px; font-weight:700; margin:0 0 16px; }
.dgvs-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

/* Live featured */
.dgvs-live-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.dgvs-live-label { font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
.dgvs-dot { width:9px; height:9px; border-radius:50%; background:#EF4444; box-shadow:0 0 0 4px rgba(239,68,68,.15); }
.dgvs-live-flag { color:#EF4444; font-size:11px; font-weight:700; }
.dgvs-live { display:grid; grid-template-columns:280px 1fr 180px; gap:18px; align-items:center; }
.dgvs-live-media { position:relative; border-radius:12px; overflow:hidden; }
.dgvs-live-media img { width:100%; height:160px; object-fit:cover; }
.dgvs-live-pill { position:absolute; top:10px; left:10px; background:#EF4444; color:#fff; font-size:10px; font-weight:700; padding:3px 9px; border-radius:6px; }
.dgvs-live-watch { position:absolute; bottom:10px; right:10px; background:rgba(15,23,42,.75); color:#fff; font-size:11px; padding:3px 9px; border-radius:6px; }
.dgvs-live-body h3 { font-size:18px; margin:0 0 6px; }
.dgvs-live-body p { color:#64748B; font-size:13px; margin:0 0 12px; }
.dgvs-live-host { display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.dgvs-live-host img { width:34px; height:34px; border-radius:50%; object-fit:cover; }
.dgvs-live-host strong { display:block; font-size:13px; }
.dgvs-live-host span { color:#94A3B8; font-size:12px; }
.dgvs-live-meta { display:flex; gap:16px; color:#64748B; font-size:12px; }
.dgvs-live-meta i { color:#2563EB; margin-right:4px; }
.dgvs-live-cta { display:flex; flex-direction:column; gap:10px; }

/* Cards grid */
.dgvs-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.dgvs-card { border:1px solid #E2E8F0; border-radius:13px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:box-shadow .15s; }
.dgvs-card:hover { box-shadow:0 8px 20px rgba(16,24,40,.1); }
.dgvs-card-media { position:relative; }
.dgvs-card-media img { width:100%; height:104px; object-fit:cover; }
.dgvs-tag { position:absolute; top:8px; left:8px; font-size:9px; font-weight:800; letter-spacing:.03em; padding:3px 8px; border-radius:6px; color:#fff; }
.dgvs-tag.is-blue { background:#2563EB; }
.dgvs-tag.is-violet { background:#7C3AED; }
.dgvs-tag.is-green { background:#16A34A; }
.dgvs-tag.is-amber { background:#D97706; }
.dgvs-card-body { padding:12px; display:flex; flex-direction:column; gap:5px; flex:1; }
.dgvs-card-body strong { font-size:13px; line-height:1.3; }
.dgvs-card-body > span { color:#64748B; font-size:11px; }
.dgvs-card-body > span i { color:#2563EB; width:13px; }
.dgvs-card-foot { margin:6px 0 4px; }
.dgvs-card-price { font-weight:800; font-size:15px; color:#0F172A; }
.dgvs-btn-primary.block { margin-top:auto; }

/* Sidebar boxes */
.dgvs-side { display:flex; flex-direction:column; gap:18px; position:sticky; top:18px; }
.dgvs-card-box { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:18px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgvs-card-box h4 { margin:0 0 14px; font-size:15px; font-weight:700; }
.dgvs-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.dgvs-card-head h4 { margin:0; }
.dgvs-card-head a { color:#2563EB; font-size:12px; font-weight:600; text-decoration:none; }
.dgvs-why { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:14px; }
.dgvs-why li { display:flex; gap:11px; }
.dgvs-why-ic { width:34px; height:34px; border-radius:9px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:14px; flex:0 0 auto; }
.dgvs-why strong { display:block; font-size:13px; }
.dgvs-why span { color:#64748B; font-size:12px; }
.dgvs-host { display:flex; gap:11px; align-items:center; padding:9px 0; border-bottom:1px solid #F1F5F9; }
.dgvs-host:last-child { border-bottom:0; }
.dgvs-host img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.dgvs-host-body { flex:1; min-width:0; }
.dgvs-host-body strong { display:block; font-size:13px; }
.dgvs-host-body span { color:#94A3B8; font-size:11px; }

/* Band + trust */
.dgvs-band { display:grid; grid-template-columns:1fr 1fr; gap:20px; background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:22px; margin-top:22px; }
.dgvs-band-item { display:flex; gap:14px; align-items:flex-start; }
.dgvs-band-ic { width:44px; height:44px; border-radius:12px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
.dgvs-band-item strong { display:block; font-size:15px; margin-bottom:3px; }
.dgvs-band-item > div > span { display:block; color:#64748B; font-size:13px; margin-bottom:6px; }
.dgvs-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:28px; color:#64748B; font-size:13px; margin-top:22px; padding:18px; }
.dgvs-trust i { color:#2563EB; margin-right:7px; }

/* ---- Detail page ---- */
.dgvs-detail-title { font-size:34px; font-weight:800; margin:8px 0 8px; }
.dgvs-detail-sub { color:#64748B; font-size:14px; margin:0 0 14px; max-width:620px; }
.dgvs-detail-host { display:flex; align-items:center; gap:9px; font-size:13px; color:#475569; margin-bottom:10px; }
.dgvs-detail-host img { width:30px; height:30px; border-radius:50%; object-fit:cover; }
.dgvs-detail-flags { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.dgvs-flag { display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid #E2E8F0; border-radius:999px; padding:5px 12px; font-size:12px; font-weight:600; color:#475569; }
.dgvs-flag i { color:#16A34A; }
.dgvs-detail-media { position:relative; border-radius:16px; overflow:hidden; margin-bottom:18px; }
.dgvs-detail-media img { width:100%; height:340px; object-fit:cover; }
.dgvs-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.92); color:#1D4ED8; display:inline-flex; align-items:center; justify-content:center; font-size:22px; text-decoration:none; }
.dgvs-play:hover { background:#fff; color:#1D4ED8; }
.dgvs-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; background:#fff; border:1px solid #E2E8F0; border-radius:14px; padding:16px; margin-bottom:20px; }
.dgvs-facts > div { display:flex; gap:10px; align-items:flex-start; }
.dgvs-fact-ic { width:38px; height:38px; border-radius:10px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:15px; flex:0 0 auto; }
.dgvs-facts strong { display:block; font-size:13px; }
.dgvs-facts span { color:#64748B; font-size:11px; }
.dgvs-learn { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.dgvs-learn-card { border:1px solid #EEF2F7; border-radius:12px; padding:14px; }
.dgvs-learn-ic { width:38px; height:38px; border-radius:10px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:10px; }
.dgvs-learn-card strong { display:block; font-size:13px; margin-bottom:5px; }
.dgvs-learn-card span { color:#64748B; font-size:12px; }
.dgvs-agenda { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.dgvs-agenda li { display:flex; gap:14px; }
.dgvs-agenda-time { color:#2563EB; font-size:12px; font-weight:700; flex:0 0 64px; }
.dgvs-agenda strong { display:block; font-size:13px; }
.dgvs-agenda span { color:#64748B; font-size:12px; }
.dgvs-fhost { text-align:center; }
.dgvs-fhost img { width:72px; height:72px; border-radius:50%; object-fit:cover; margin-bottom:10px; }
.dgvs-fhost strong { display:block; font-size:15px; }
.dgvs-fhost-role { color:#2563EB; font-size:12px; font-weight:600; }
.dgvs-fhost p { color:#64748B; font-size:12px; margin:10px 0; }
.dgvs-fhost-tags { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:left; }
.dgvs-fhost-tags li { font-size:12px; color:#475569; }
.dgvs-fhost-tags i { color:#16A34A; margin-right:6px; }

/* Access tiers */
.dgvs-when { font-size:14px; font-weight:700; margin:0 0 12px; }
.dgvs-when-list { list-style:none; margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid #F1F5F9; display:grid; gap:9px; }
.dgvs-when-list li { font-size:13px; color:#475569; }
.dgvs-when-list i { color:#2563EB; margin-right:7px; }
.dgvs-access { display:grid; gap:10px; margin-bottom:12px; }
.dgvs-access-opt { display:flex; align-items:center; gap:11px; border:1px solid #E2E8F0; border-radius:12px; padding:12px; cursor:pointer; position:relative; }
.dgvs-access-opt.is-selected { border-color:#2563EB; background:#F8FAFF; }
.dgvs-access-opt input { position:absolute; opacity:0; width:0; height:0; }
.dgvs-radio { width:18px; height:18px; border:2px solid #CBD5E1; border-radius:50%; flex:0 0 auto; position:relative; box-sizing:border-box; }
.dgvs-access-opt input:checked + .dgvs-radio { border-color:#2563EB; }
.dgvs-access-opt input:checked + .dgvs-radio::after { content:''; position:absolute; inset:3px; border-radius:50%; background:#2563EB; }
.dgvs-access-body { flex:1; min-width:0; }
.dgvs-access-title { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.dgvs-access-badge { background:#DCFCE7; color:#15803D; font-size:10px; font-weight:700; padding:2px 8px; border-radius:999px; font-style:normal; }
.dgvs-access-desc { display:block; color:#94A3B8; font-size:12px; margin-top:2px; }
.dgvs-access-price { font-weight:800; font-size:14px; flex:0 0 auto; }
.dgvs-promo-link { display:inline-block; margin:4px 0 14px; }
.dgvs-secure { display:flex; gap:10px; align-items:center; margin-top:14px; padding-top:14px; border-top:1px solid #F1F5F9; }
.dgvs-secure i { color:#16A34A; font-size:16px; }
.dgvs-secure strong { display:block; font-size:13px; }
.dgvs-secure span { color:#94A3B8; font-size:11px; }
.dgvs-cards-row { display:flex; gap:7px; font-size:22px; margin-top:10px; }
.dgvs-cards-row .fa-cc-visa { color:#1A1F71; } .dgvs-cards-row .fa-cc-mastercard { color:#EB001B; }
.dgvs-cards-row .fa-cc-amex { color:#2E77BC; } .dgvs-cards-row .fa-cc-paypal { color:#003087; } .dgvs-cards-row .fa-cc-apple-pay { color:#000; }

/* ======================= LIVE ROOM (.dgvl-) ======================= */
.dgvl-top { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.dgvl-title { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.dgvl-title h1 { font-size:24px; font-weight:800; margin:6px 0 0; color:#fff; }
.dgvl-liveflag { color:#fff; background:#EF4444; font-size:11px; font-weight:700; padding:3px 9px; border-radius:6px; }
.dgvl-attending { color:#94A3B8; font-size:12px; }
.dgvl-meta { color:#94A3B8; font-size:12px; margin:6px 0 0; }
.dgvl-top-r { display:flex; gap:10px; }
.dgvl-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
.dgvl-stage { display:flex; flex-direction:column; gap:16px; min-width:0; }
.dgvl-speakers { display:flex; gap:10px; flex-wrap:wrap; }
.dgvl-speaker { display:flex; gap:9px; align-items:center; background:#111827; border:1px solid #1F2937; border-radius:11px; padding:8px 12px; }
.dgvl-speaker img { width:34px; height:34px; border-radius:50%; object-fit:cover; }
.dgvl-speaker strong { display:flex; align-items:center; gap:6px; color:#fff; font-size:12px; }
.dgvl-speaker span { color:#94A3B8; font-size:11px; }
.dgvl-spk-tag { background:#2563EB; color:#fff; font-size:9px; font-weight:700; padding:1px 6px; border-radius:4px; font-style:normal; }
.dgvl-speaker-more { background:#111827; border:1px solid #1F2937; border-radius:11px; padding:8px 14px; color:#94A3B8; font-size:13px; font-weight:700; text-align:center; }
.dgvl-speaker-more small { font-size:10px; font-weight:500; }
.dgvl-video { position:relative; border-radius:16px; overflow:hidden; background:#0B1220; min-height:380px; }
.dgvl-video > img { width:100%; height:100%; min-height:380px; object-fit:cover; opacity:.55; position:absolute; inset:0; }
.dgvl-video-brand { position:absolute; top:14px; left:16px; color:#fff; font-size:12px; font-weight:700; z-index:2; }
.dgvl-video-live { position:absolute; top:14px; right:16px; background:#EF4444; color:#fff; font-size:11px; font-weight:700; padding:3px 9px; border-radius:6px; z-index:2; }
.dgvl-video-cap { position:absolute; left:30px; top:50%; transform:translateY(-50%); z-index:2; }
.dgvl-video-cap h2 { color:#fff; font-size:34px; font-weight:800; margin:0; }
.dgvl-video-cap h2 span { color:#60A5FA; }
.dgvl-video-cap p { color:#CBD5E1; margin:8px 0 0; }
.dgvl-video-bar { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:16px; padding:12px 18px; background:linear-gradient(transparent,rgba(0,0,0,.6)); color:#fff; font-size:14px; z-index:2; }
.dgvl-video-bar span { font-size:11px; color:#FCA5A5; }
.dgvl-spacer { flex:1; }
.dgvl-watch { background:#111827; border:1px solid #1F2937; border-radius:16px; padding:18px; text-align:center; }
.dgvl-watch-h { color:#CBD5E1; font-size:13px; margin:0 0 12px; }
.dgvl-watch-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.dgvl-watch-zoom { display:inline-flex; align-items:center; gap:8px; background:#1F2937; border:1px solid #374151; color:#E5E7EB; border-radius:10px; padding:13px 24px; font-size:15px; font-weight:600; text-decoration:none; }
.dgvl-watch-zoom:hover { background:#374151; color:#fff; }
.dgvl-watch-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.dgvl-watch-actions a { display:inline-flex; align-items:center; gap:7px; background:#0B1220; border:1px solid #1F2937; color:#CBD5E1; border-radius:9px; padding:9px 14px; font-size:12px; font-weight:600; text-decoration:none; }
.dgvl-watch-actions a:hover { border-color:#2563EB; color:#fff; }
.dgvl-strip { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; background:#111827; border:1px solid #1F2937; border-radius:16px; padding:16px; }
.dgvl-strip-next { display:flex; gap:10px; align-items:flex-start; }
.dgvl-strip-next img { width:54px; height:42px; border-radius:8px; object-fit:cover; }
.dgvl-pill { background:#2563EB; color:#fff; font-size:9px; font-weight:700; padding:2px 7px; border-radius:5px; align-self:flex-start; }
.dgvl-strip-next strong, .dgvl-strip-item strong { display:block; color:#fff; font-size:13px; }
.dgvl-strip-next span, .dgvl-strip-item span { color:#94A3B8; font-size:11px; display:block; margin-bottom:4px; }
.dgvl-strip-item { display:flex; gap:10px; align-items:flex-start; }
.dgvl-strip-ic { width:34px; height:34px; border-radius:9px; background:rgba(37,99,235,.2); color:#60A5FA; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgvl-side { display:flex; flex-direction:column; gap:16px; position:sticky; top:18px; }
.dgvl-chat { background:#111827; border:1px solid #1F2937; border-radius:16px; display:flex; flex-direction:column; height:520px; }
.dgvl-chat-tabs { display:flex; border-bottom:1px solid #1F2937; }
.dgvl-chat-tabs button { flex:1; background:none; border:0; padding:13px; color:#94A3B8; font-size:13px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px; border-bottom:2px solid transparent; }
.dgvl-chat-tabs button span { background:#2563EB; color:#fff; font-size:10px; border-radius:999px; padding:1px 7px; }
.dgvl-chat-tabs button.is-active { color:#fff; border-bottom-color:#2563EB; }
.dgvl-chat-body { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:14px; }
.dgvl-msg { display:flex; gap:10px; }
.dgvl-msg img { width:30px; height:30px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.dgvl-msg-top { display:flex; align-items:center; gap:7px; }
.dgvl-msg-top strong { color:#E5E7EB; font-size:12px; }
.dgvl-msg-top small { color:#64748B; font-size:10px; }
.dgvl-host-tag { background:#7C3AED; color:#fff; font-size:9px; font-weight:700; padding:1px 6px; border-radius:4px; font-style:normal; }
.dgvl-msg p { color:#CBD5E1; font-size:13px; margin:3px 0; }
.dgvl-msg-like { color:#64748B; font-size:11px; }
.dgvl-msg.is-host p { color:#DDD6FE; }
.dgvl-chat-input { display:flex; gap:8px; padding:12px; border-top:1px solid #1F2937; }
.dgvl-chat-input input { flex:1; background:#0B1220; border:1px solid #1F2937; border-radius:9px; padding:9px 12px; color:#E5E7EB; font-size:13px; }
.dgvl-chat-input button { background:#2563EB; border:0; border-radius:9px; width:40px; color:#fff; cursor:pointer; }
.dgvl-tools { background:#111827; border:1px solid #1F2937; border-radius:16px; padding:16px; }
.dgvl-tools h4 { margin:0 0 12px; color:#fff; font-size:15px; }
.dgvl-tool { display:flex; gap:11px; align-items:center; padding:10px 0; border-bottom:1px solid #1F2937; text-decoration:none; }
.dgvl-tool:last-child { border-bottom:0; }
.dgvl-tool > div { flex:1; min-width:0; }
.dgvl-tool-ic { width:34px; height:34px; border-radius:9px; background:rgba(37,99,235,.2); color:#60A5FA; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgvl-tool strong { display:block; color:#E5E7EB; font-size:13px; }
.dgvl-tool span { color:#94A3B8; font-size:11px; }
.dgvl-tool > i { color:#64748B; }

/* ======================= REPLAY (.dgvr-) ======================= */
.dgvr-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; flex-wrap:wrap; margin-bottom:18px; }
.dgvr-head h1 { font-size:30px; font-weight:800; margin:0; }
.dgvr-sub { color:#2563EB; font-weight:700; font-size:16px; margin:4px 0 6px; }
.dgvr-lead { color:#64748B; font-size:13px; margin:0 0 12px; max-width:560px; }
.dgvr-completed { color:#16A34A; font-size:13px; font-weight:600; margin-left:12px; }
.dgvr-attend { text-align:right; }
.dgvr-attend > span { color:#94A3B8; font-size:12px; }
.dgvr-attend strong { display:block; font-size:13px; margin:3px 0 8px; }
.dgvr-attend strong i { color:#2563EB; margin-right:5px; }
.dgvr-rate { font-size:12px; color:#64748B; }
.dgvr-rate i { color:#F59E0B; margin-left:3px; }
.dgvr-grid { grid-template-columns:minmax(0,1fr) 380px; }
.dgvr-video { position:relative; border-radius:16px; overflow:hidden; background:#0B1220; min-height:360px; margin-bottom:16px; }
.dgvr-video > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; }
.dgvr-video .dgvl-video-cap { left:40px; }
.dgvr-video-bar { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:14px; padding:12px 18px; background:linear-gradient(transparent,rgba(0,0,0,.7)); color:#fff; font-size:14px; z-index:2; }
.dgvr-video-bar span { font-size:12px; }
.dgvr-tabs { display:flex; gap:4px; border-bottom:1px solid #E2E8F0; margin-bottom:16px; flex-wrap:wrap; }
.dgvr-tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:10px 14px; font-size:13px; font-weight:600; color:#64748B; cursor:pointer; display:inline-flex; gap:7px; align-items:center; }
.dgvr-tabs button.is-active { color:#2563EB; border-bottom-color:#2563EB; }
.dgvr-about { display:grid; grid-template-columns:1.4fr 1fr; gap:22px; background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; }
.dgvr-about h3 { font-size:16px; margin:0 0 8px; }
.dgvr-about-l p { color:#64748B; font-size:13px; margin:0 0 16px; }
.dgvr-hostline { display:flex; align-items:center; gap:11px; }
.dgvr-hostline img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.dgvr-hostline span { color:#94A3B8; font-size:11px; display:block; }
.dgvr-hostline strong { font-size:13px; }
.dgvr-hostline .dgvs-btn-outline { margin-left:auto; }
.dgvr-facts { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.dgvr-facts li { display:flex; justify-content:space-between; font-size:13px; border-bottom:1px solid #F1F5F9; padding-bottom:9px; }
.dgvr-facts span { color:#94A3B8; }
.dgvr-access-head { display:flex; gap:11px; align-items:center; margin-bottom:10px; }
.dgvr-access-ic { width:38px; height:38px; border-radius:10px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 auto; }
.dgvr-access-ic.is-violet { background:#F5F3FF; color:#7C3AED; }
.dgvr-access-head strong { display:block; font-size:14px; }
.dgvr-access-head span { font-size:12px; color:#64748B; }
.dgvr-ok { color:#16A34A !important; font-weight:600; }
.dgvr-access-note { color:#64748B; font-size:12px; margin:0 0 12px; }
.dgvr-count { background:#EFF6FF; color:#2563EB; font-size:11px; font-weight:700; border-radius:999px; padding:1px 8px; }
.dgvr-mini { color:#94A3B8; font-size:12px; margin:0 0 10px; }
.dgvr-mat { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #F1F5F9; text-decoration:none; color:#0F172A; }
.dgvr-mat:last-child { border-bottom:0; }
.dgvr-mat-ic { width:32px; height:32px; border-radius:8px; background:#F1F5F9; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgvr-mat strong { flex:1; min-width:0; font-size:12px; font-weight:600; }
.dgvr-mat-size { color:#94A3B8; font-size:11px; }
.dgvr-mat > i { color:#2563EB; }
.dgvr-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dgvr-cert { text-align:center; }
.dgvr-cert-ic { width:42px; height:42px; border-radius:11px; background:#ECFDF5; color:#16A34A; display:inline-flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:8px; }
.dgvr-cert-ic.is-blue { background:#EFF6FF; color:#2563EB; }
.dgvr-cert strong { display:block; font-size:13px; }
.dgvr-cert > span { color:#64748B; font-size:11px; display:block; margin:4px 0 10px; }
.dgvr-related { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.dgvr-rel { text-decoration:none; color:#0F172A; }
.dgvr-rel-img { position:relative; border-radius:9px; overflow:hidden; margin-bottom:5px; }
.dgvr-rel-img img { width:100%; height:60px; object-fit:cover; }
.dgvr-rel-img i { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.9); color:#1D4ED8; display:inline-flex; align-items:center; justify-content:center; font-size:10px; }
.dgvr-rel strong { display:block; font-size:11px; line-height:1.3; }
.dgvr-rel span { color:#94A3B8; font-size:10px; }

/* ---- Responsive ---- */
@media (max-width:1100px) {
    .dgvs-hero { grid-template-columns:1fr; }
    .dgvs-grid, .dgvs-detail-grid, .dgvl-grid, .dgvr-grid { grid-template-columns:1fr; }
    .dgvs-side, .dgvl-side { position:static; }
    .dgvs-learn { grid-template-columns:repeat(3,1fr); }
    .dgvs-facts { grid-template-columns:1fr 1fr; }
    .dgvl-strip { grid-template-columns:1fr; }
}
@media (max-width:720px) {
    .dgvs-wrap { padding:0 16px; }
    .dgvs-hero h1 { font-size:30px; }
    .dgvs-live, .dgvs-two, .dgvs-band, .dgvr-about, .dgvr-two { grid-template-columns:1fr; }
    .dgvs-learn { grid-template-columns:1fr 1fr; }
    .dgvs-facts { grid-template-columns:1fr; }
    .dgvl-top { flex-direction:column; }
    .dgvl-video-cap h2 { font-size:24px; }
    .dgvr-head { flex-direction:column; }
    .dgvr-attend { text-align:left; }
}

/* =========================================================================
   Virtual Seminars — UI polish + full responsive pass (kept LAST so it wins).
   ========================================================================= */
.dgvs, .dgvs *, .dgvs *::before, .dgvs *::after { box-sizing:border-box; }
.dgvs img { max-width:100%; }
.dgvs-wrap { overflow-x:clip; }

/* Premium hero panel */
.dgvs-hero { background:linear-gradient(115deg,#EAF1FF 0%,#F6F9FF 52%,#EEF6FF 100%); border:1px solid #E3EBFA; border-radius:22px; padding:34px; margin-bottom:24px; }
.dgvs-hero h1 { font-size:clamp(28px,4.4vw,44px); line-height:1.08; }
.dgvs-hero-r img { box-shadow:0 18px 40px rgba(15,23,42,.16); }
.dgvs-hero-badge { box-shadow:0 10px 24px rgba(29,78,216,.35); }
.dgvs-btn-primary, .dgvs-btn-ghost, .dgvs-btn-outline { transition:filter .15s, background .15s, box-shadow .15s, transform .05s; }
.dgvs-btn-primary:active, .dgvs-btn-ghost:active, .dgvs-btn-outline:active { transform:translateY(1px); }

/* Responsive headings */
.dgvs-detail-title { font-size:clamp(26px,4vw,34px); }
.dgvr-head h1 { font-size:clamp(24px,3.6vw,30px); }
.dgvl-title h1 { font-size:clamp(20px,3vw,24px); }
.dgvl-video-cap h2, .dgvr-video .dgvl-video-cap h2 { font-size:clamp(22px,3.6vw,34px); }

/* ---- ≤1200: tighten wide grids ---- */
@media (max-width:1200px) {
    .dgvs-detail-grid, .dgvr-grid { grid-template-columns:minmax(0,1fr) 320px; }
    .dgvs-learn { grid-template-columns:repeat(3,1fr); }
}

/* ---- ≤1024: single column, stacked sidebars ---- */
@media (max-width:1024px) {
    .dgvs-grid, .dgvs-detail-grid, .dgvl-grid, .dgvr-grid { grid-template-columns:1fr; }
    .dgvs-side, .dgvl-side { position:static; }
    .dgvs-hero { grid-template-columns:1fr; }
    .dgvs-live { grid-template-columns:240px 1fr; }
    .dgvs-live-cta { grid-column:1 / -1; flex-direction:row; }
    .dgvs-live-cta a { flex:1; }
    .dgvl-strip { grid-template-columns:1fr; }
    .dgvl-chat { height:440px; }
    .dgvr-related { grid-template-columns:1fr 1fr 1fr; }
    /* sidebars become comfortable full-width cards */
    .dgvs-side, .dgvl-side { flex-direction:row; flex-wrap:wrap; }
    .dgvs-side > *, .dgvl-side > * { flex:1 1 320px; }
}

/* ---- ≤768: tablet / large phone ---- */
@media (max-width:768px) {
    .dgvs { padding:16px 0 44px; }
    .dgvs-wrap { padding:0 16px; }
    .dgvs-hero { padding:22px; }
    .dgvs-hero-btns { flex-direction:column; }
    .dgvs-hero-btns a { width:100%; }
    /* filter + replay tabs scroll horizontally instead of wrapping */
    .dgvs-filters { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .dgvs-filter { white-space:nowrap; flex:0 0 auto; }
    .dgvr-tabs { flex-wrap:nowrap; overflow-x:auto; }
    .dgvr-tabs button { white-space:nowrap; flex:0 0 auto; }
    .dgvs-live, .dgvs-two, .dgvs-band, .dgvr-about, .dgvr-two, .dgvr-related { grid-template-columns:1fr; }
    .dgvs-learn { grid-template-columns:1fr 1fr; }
    .dgvs-facts { grid-template-columns:1fr 1fr; }
    .dgvs-detail-media img { height:240px; }
    .dgvs-side, .dgvl-side { flex-direction:column; }
    .dgvs-side > *, .dgvl-side > * { flex:1 1 auto; }
    .dgvl-top { flex-direction:column; align-items:stretch; }
    .dgvl-top-r { width:100%; }
    .dgvl-top-r a { flex:1; }
    .dgvl-video, .dgvr-video { min-height:260px; }
    .dgvl-video > img, .dgvr-video > img { min-height:260px; }
    .dgvl-watch-btns { flex-direction:column; }
    .dgvl-watch-btns a { width:100%; justify-content:center; }
}

/* ---- ≤600: phones ---- */
@media (max-width:600px) {
    .dgvs-facts, .dgvs-learn { grid-template-columns:1fr; }
    .dgvs-cards { grid-template-columns:1fr 1fr; }
    .dgvs-live-cta { flex-direction:column; }
    .dgvl-speakers { gap:8px; }
    .dgvl-video-cap { left:18px; right:18px; }
    .dgvr-head { flex-direction:column; }
    .dgvr-attend { text-align:left; }
    .dgvs-trust { gap:14px 22px; }
}

/* ---- ≤420: small phones ---- */
@media (max-width:420px) {
    .dgvs-cards { grid-template-columns:1fr; }
    .dgvs-detail-media img { height:190px; }
    .dgvs-hero-badge { width:70px; height:70px; font-size:10px; top:-8px; right:-2px; }
}

/* ---- Virtual Seminars: extra polish to match reference ---- */
/* Filter bar: spread tabs evenly across the full width on desktop */
@media (min-width:769px) {
    .dgvs-filters { justify-content:space-between; gap:4px; padding:6px 10px; }
    .dgvs-filter { padding:9px 12px; }
}
/* Live pulse on the red dots */
@keyframes dgvsPulse { 0%{ box-shadow:0 0 0 0 rgba(239,68,68,.45);} 70%{ box-shadow:0 0 0 7px rgba(239,68,68,0);} 100%{ box-shadow:0 0 0 0 rgba(239,68,68,0);} }
.dgvs-dot { animation:dgvsPulse 1.8s infinite; }
.dgvs-live-pill::before, .dgvl-video-live::before { content:''; }
.dgvs-filter .dgvs-live-dot { animation:dgvsPulse 1.8s infinite; border-radius:50%; }
/* Active filter gets a soft pill so the current tab reads clearly */
.dgvs-filter.is-active { box-shadow:inset 0 0 0 1px #DBEAFE; }
/* Live featured card: lift + crisper divider from the section */
.dgvs-live { background:#F8FAFF; border:1px solid #EAF0FB; border-radius:14px; padding:16px; }
.dgvs-live-media img { height:170px; }
/* Card media slightly taller for a more premium feel */
.dgvs-card-media img { height:120px; }
.dgvs-card-body strong { min-height:34px; }

/* ---- Virtual Seminars hero — enhanced ---- */
.dgvs-hero { position:relative; overflow:hidden; padding:40px 44px; background:linear-gradient(120deg,#E9F1FF 0%,#F4F8FF 48%,#EAF3FF 100%); border:1px solid #E1EAFB; }
.dgvs-hero::before { content:''; position:absolute; top:-120px; right:-80px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(37,99,235,.12),transparent 70%); pointer-events:none; }
.dgvs-hero-l { position:relative; z-index:2; }
.dgvs-hero h1 { color:#0F172A; }
.dgvs-hero-lead { font-size:17px; }

/* Stats strip */
.dgvs-hero-stats { display:flex; gap:30px; margin-top:24px; }
.dgvs-hero-stats > div { position:relative; padding-right:30px; }
.dgvs-hero-stats > div:not(:last-child)::after { content:''; position:absolute; right:0; top:4px; bottom:4px; width:1px; background:#D5E0F5; }
.dgvs-hero-stats strong { display:block; font-size:24px; font-weight:800; color:#0F172A; line-height:1; }
.dgvs-hero-stats strong i { color:#F59E0B; font-size:16px; margin-left:2px; }
.dgvs-hero-stats span { font-size:12px; color:#64748B; }

/* Image area */
.dgvs-hero-r { position:relative; z-index:2; }
.dgvs-hero-glow { position:absolute; inset:-10px; border-radius:24px; background:radial-gradient(circle at 70% 40%,rgba(37,99,235,.18),transparent 60%); filter:blur(8px); z-index:-1; }
.dgvs-hero-r img { border-radius:18px; box-shadow:0 22px 50px rgba(15,23,42,.20); }
.dgvs-hero-live { position:absolute; left:14px; bottom:16px; display:inline-flex; align-items:center; gap:7px; background:rgba(11,18,32,.82); color:#fff; font-size:11px; font-weight:700; letter-spacing:.02em; padding:6px 12px; border-radius:999px; backdrop-filter:blur(4px); }
.dgvs-hero-live .dgvs-dot { width:8px; height:8px; }

@media (max-width:768px) {
    .dgvs-hero { padding:24px; }
    .dgvs-hero-stats { gap:18px; margin-top:18px; }
    .dgvs-hero-stats > div { padding-right:18px; }
    .dgvs-hero-stats strong { font-size:20px; }
}
@media (max-width:420px) {
    .dgvs-hero-stats { flex-wrap:wrap; gap:14px; }
}

/* ---- Virtual Seminars hero — match reference (image 1): open layout, tighter spacing ---- */
.dgvs-hero {
    grid-template-columns:1.05fr 1fr;
    gap:30px;
    align-items:center;
    background:transparent;
    border:0;
    border-radius:0;
    padding:6px 0 14px;
    margin-bottom:10px;
    overflow:visible;
}
.dgvs-hero::before { display:none; }
.dgvs-hero h1 { margin:6px 0 4px; }
.dgvs-hero-sub { margin-bottom:16px; }
.dgvs-hero-btns { margin-top:4px; }
.dgvs-hero-r { align-self:stretch; }
.dgvs-hero-r img { width:100%; height:100%; max-height:340px; object-fit:cover; border-radius:16px; box-shadow:0 16px 38px rgba(15,23,42,.16); }
.dgvs-hero-glow { display:none; }

@media (max-width:1024px) {
    .dgvs-hero { grid-template-columns:1fr; }
    .dgvs-hero-r img { max-height:300px; }
}

/* =========================================================================
   Virtual Seminar Registration (.dgsr-) — STATIC demo checkout page.
   ========================================================================= */
.dgsr-top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.dgsr-top h1 { font-size:clamp(26px,3.4vw,34px); font-weight:800; margin:8px 0 4px; }
.dgsr-top p { color:#64748B; font-size:14px; margin:0; }
.dgsr-steps { display:flex; align-items:flex-start; }
.dgsr-step { position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; min-width:84px; text-align:center; }
.dgsr-step::after { content:''; position:absolute; top:13px; left:50%; width:100%; height:2px; background:#E2E8F0; z-index:0; }
.dgsr-step:last-child::after { display:none; }
.dgsr-step b { position:relative; z-index:1; width:28px; height:28px; border-radius:50%; border:2px solid #E2E8F0; background:#fff; color:#94A3B8; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; }
.dgsr-step i { font-style:normal; font-size:12px; color:#94A3B8; }
.dgsr-step.is-active b { background:#1D4ED8; border-color:#1D4ED8; color:#fff; }
.dgsr-step.is-active i { color:#1D4ED8; font-weight:600; }

.dgsr-grid { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:22px; align-items:start; }
.dgsr-main { display:flex; flex-direction:column; gap:18px; min-width:0; }
.dgsr-card { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgsr-card h3 { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:700; margin:0 0 4px; }
.dgsr-card h3 em { font-style:normal; color:#94A3B8; font-weight:500; font-size:13px; }
.dgsr-num { width:26px; height:26px; border-radius:50%; background:#1D4ED8; color:#fff; font-size:13px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dgsr-signin { margin-left:auto; font-size:13px; color:#64748B; }
.dgsr-signin strong { color:#2563EB; }
.dgsr-card-sub { color:#94A3B8; font-size:13px; margin:0 0 14px; }

.dgsr-field2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.dgsr-col-full { grid-column:1 / -1; }
.dgsr-card label { display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:5px; }
.dgsr-card label em { font-style:normal; color:#94A3B8; font-weight:500; }
.dgsr-card input[type=text], .dgsr-card input[type=email] { width:100%; border:1px solid #E2E8F0; border-radius:10px; padding:11px 12px; font-size:14px; box-sizing:border-box; }
.dgsr-card input:focus { outline:none; border-color:#2563EB; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.dgsr-phone { display:flex; gap:8px; }
.dgsr-phone span { display:inline-flex; align-items:center; border:1px solid #E2E8F0; border-radius:10px; padding:0 10px; font-size:13px; color:#475569; background:#F8FAFC; }
.dgsr-phone input { flex:1; }
.dgsr-check { display:flex !important; align-items:center; gap:8px; font-size:13px; color:#475569; margin-top:14px; font-weight:500; }

/* Add-ons */
.dgsr-addons { display:grid; gap:12px; }
.dgsr-addon { position:relative; display:flex; align-items:center; gap:14px; border:1px solid #E2E8F0; border-radius:12px; padding:14px; cursor:pointer; }
.dgsr-addon.is-on { border-color:#2563EB; background:#F8FAFF; }
.dgsr-addon-ic { width:42px; height:42px; border-radius:11px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
.dgsr-addon-body { flex:1; min-width:0; }
.dgsr-addon-body strong { display:block; font-size:14px; }
.dgsr-addon-body > span { display:block; color:#64748B; font-size:12px; margin:2px 0; }
.dgsr-learn { color:#2563EB; font-size:12px; font-weight:600; }
.dgsr-addon-price { font-weight:700; font-size:14px; margin-left:auto; }
.dgsr-addon-cb { position:absolute; opacity:0; width:0; height:0; }
.dgsr-cbx { width:20px; height:20px; border:2px solid #CBD5E1; border-radius:6px; flex:0 0 auto; position:relative; box-sizing:border-box; }
.dgsr-addon-cb:checked ~ .dgsr-cbx { background:#2563EB; border-color:#2563EB; }
.dgsr-addon-cb:checked ~ .dgsr-cbx::after { content:'\2713'; position:absolute; inset:0; color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; }

/* Payment */
.dgsr-secure-tag { margin-left:auto; color:#94A3B8; font-size:12px; font-weight:500; }
.dgsr-secure-tag i { color:#16A34A; }
.dgsr-pays { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0 16px; }
.dgsr-pay { display:flex; flex-direction:column; gap:6px; align-items:flex-start; border:1px solid #E2E8F0; border-radius:11px; padding:11px 12px; cursor:pointer; position:relative; }
.dgsr-pay.is-selected { border-color:#2563EB; background:#F8FAFF; }
.dgsr-pay input { position:absolute; opacity:0; width:0; height:0; }
.dgsr-pay-name { font-size:13px; font-weight:600; }
.dgsr-pay-ic { font-size:20px; color:#475569; display:flex; gap:5px; align-items:center; }
.dgsr-pay-ic .fa-cc-visa { color:#1A1F71; } .dgsr-pay-ic .fa-cc-mastercard { color:#EB001B; } .dgsr-pay-ic .fa-cc-amex { color:#2E77BC; } .dgsr-pay-ic .fa-cc-paypal { color:#003087; }
.dgsr-gpay { font-size:13px; font-weight:700; }
.dgsr-cardfields { display:flex; flex-direction:column; gap:14px; }
.dgsr-cardnum, .dgsr-cvc { position:relative; }
.dgsr-cardnum input, .dgsr-cvc input { width:100%; }
.dgsr-cardnum i, .dgsr-cvc i { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#94A3B8; }
.dgsr-pay-note { color:#94A3B8; font-size:12px; margin:14px 0 0; text-align:center; }
.dgsr-pay-note i { color:#16A34A; }

/* Summary */
.dgsr-side { display:flex; flex-direction:column; gap:16px; position:sticky; top:18px; }
.dgsr-summary { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:18px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgsr-summary h4 { margin:0 0 12px; font-size:15px; font-weight:700; }
.dgsr-sum-media img { width:100%; height:140px; object-fit:cover; border-radius:12px; }
.dgsr-sum-title { display:block; font-size:15px; margin:12px 0 8px; }
.dgsr-sum-meta { list-style:none; margin:0 0 14px; padding:0 0 14px; border-bottom:1px solid #F1F5F9; display:grid; gap:6px; }
.dgsr-sum-meta li { font-size:12px; color:#64748B; }
.dgsr-sum-meta i { color:#2563EB; width:14px; }
.dgsr-livebadge { background:#EF4444; color:#fff; font-size:9px; font-weight:700; padding:1px 6px; border-radius:4px; margin-left:4px; }
.dgsr-sum-block { padding:10px 0; border-bottom:1px solid #F1F5F9; }
.dgsr-sum-label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.03em; color:#94A3B8; font-weight:700; margin-bottom:6px; }
.dgsr-sum-row { display:flex; justify-content:space-between; font-size:13px; color:#475569; padding:3px 0; }
.dgsr-remove { color:#CBD5E1; cursor:pointer; margin-left:6px; }
.dgsr-remove:hover { color:#EF4444; }
.dgsr-sum-totals { padding:12px 0; }
.dgsr-sum-totals .fa-info-circle { color:#CBD5E1; font-size:11px; }
.dgsr-sum-grand { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #E2E8F0; padding-top:12px; margin-bottom:14px; }
.dgsr-sum-grand span { font-weight:700; font-size:15px; }
.dgsr-sum-grand strong { font-size:18px; }
.dgsr-sum-grand strong span { color:#2563EB; }
.dgsr-terms { color:#94A3B8; font-size:11px; text-align:center; margin:10px 0 0; }
.dgsr-terms a { color:#2563EB; }

/* Deko Go Pass box */
.dgsr-pass { background:#EFF4FF; border:1px solid #DBE5FB; border-radius:16px; padding:18px; }
.dgsr-pass-head { display:flex; gap:10px; align-items:center; margin-bottom:8px; }
.dgsr-pass-ic { width:30px; height:30px; border-radius:50%; background:#2563EB; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px; flex:0 0 auto; }
.dgsr-pass-head strong { font-size:14px; color:#1E3A8A; }
.dgsr-pass p { color:#475569; font-size:12px; margin:0 0 10px; }
.dgsr-pass ul { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:8px; }
.dgsr-pass li { font-size:12px; color:#334155; }
.dgsr-pass li i { color:#2563EB; margin-right:7px; }

.dgsr-trust { margin-top:4px; }

/* Responsive */
@media (max-width:1024px) {
    .dgsr-grid { grid-template-columns:1fr; }
    .dgsr-side { position:static; }
}
@media (max-width:768px) {
    .dgsr-top { flex-direction:column; }
    .dgsr-steps { width:100%; justify-content:space-between; overflow-x:auto; }
    .dgsr-pays { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
    .dgsr-field2 { grid-template-columns:1fr; }
}

/* ---- Registration add-ons: match reference (dark icon tiles, Learn more column) ---- */
.dgsr-addon { gap:16px; padding:16px; }
.dgsr-addon-ic { width:46px; height:46px; border-radius:50%; background:#111827; color:#fff; font-size:18px; }
.dgsr-addon:nth-child(1) .dgsr-addon-ic { background:linear-gradient(135deg,#4F46E5,#1E1B4B); }
.dgsr-addon:nth-child(2) .dgsr-addon-ic { background:linear-gradient(135deg,#1E293B,#0B1220); }
.dgsr-addon:nth-child(3) .dgsr-addon-ic { background:linear-gradient(135deg,#0D9488,#0B1220); }
.dgsr-addon-body { flex:1; }
.dgsr-addon-body strong { font-size:14px; }
.dgsr-addon-body > span { color:#64748B; font-size:12px; margin:3px 0 0; }
.dgsr-learn { flex:0 0 auto; text-align:center; font-size:13px; }
.dgsr-addon-price { flex:0 0 64px; margin-left:0; text-align:right; font-weight:700; }

/* =========================================================================
   Seminar registration confirmation (.dgsc-) — STATIC demo page.
   ========================================================================= */
.dgsc-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:30px; align-items:center; padding:6px 0 18px; }
.dgsc-hero h1 { font-size:clamp(30px,4.6vw,46px); font-weight:800; margin:8px 0 6px; color:#0F172A; }
.dgsc-party { font-size:.8em; }
.dgsc-hero-lead { color:#2563EB; font-weight:700; font-size:18px; margin:0 0 10px; }
.dgsc-hero-sub { color:#64748B; font-size:14px; max-width:540px; margin:0 0 18px; }
.dgsc-hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.dgsc-email { color:#64748B; font-size:13px; margin:16px 0 0; }
.dgsc-email i { color:#16A34A; margin-right:6px; }
.dgsc-hero-r img { width:100%; height:auto; border-radius:16px; }

.dgsc-card { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:20px; box-shadow:0 1px 3px rgba(16,24,40,.04); }

/* Registered seminar card */
.dgsc-seminar { display:grid; grid-template-columns:300px 1fr 280px; gap:22px; align-items:center; margin-bottom:18px; }
.dgsc-sem-media { position:relative; border-radius:12px; overflow:hidden; }
.dgsc-sem-media img { width:100%; height:170px; object-fit:cover; }
.dgsc-livenow { position:absolute; top:10px; left:10px; background:#EF4444; color:#fff; font-size:10px; font-weight:700; padding:3px 9px; border-radius:6px; }
.dgsc-sem-body h2 { font-size:19px; font-weight:700; margin:0 0 6px; }
.dgsc-sem-body p { color:#64748B; font-size:13px; margin:0 0 12px; }
.dgsc-sem-host { display:flex; gap:10px; align-items:center; margin-bottom:12px; }
.dgsc-sem-host img { width:36px; height:36px; border-radius:50%; object-fit:cover; }
.dgsc-sem-host strong { display:block; font-size:13px; }
.dgsc-sem-host span { color:#94A3B8; font-size:12px; }
.dgsc-sem-meta { display:flex; gap:18px; flex-wrap:wrap; color:#64748B; font-size:12px; }
.dgsc-sem-meta i { color:#2563EB; margin-right:5px; }
.dgsc-sem-side { display:flex; flex-direction:column; gap:12px; }
.dgsc-attend { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:13px; color:#475569; }
.dgsc-attend i { color:#2563EB; }
.dgsc-attend strong { font-weight:700; }

/* Three info cards */
.dgsc-three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:18px; }
.dgsc-card-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
.dgsc-ic { width:40px; height:40px; border-radius:11px; background:#EFF6FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:17px; flex:0 0 auto; }
.dgsc-card-head strong { display:block; font-size:14px; }
.dgsc-card-head span { color:#94A3B8; font-size:12px; }
.dgsc-copy { display:flex; gap:8px; margin-bottom:12px; }
.dgsc-copy input { flex:1; min-width:0; border:1px solid #E2E8F0; border-radius:10px; padding:10px 12px; font-size:12px; color:#475569; background:#F8FAFC; }
.dgsc-copy button { width:42px; border:1px solid #E2E8F0; border-radius:10px; background:#fff; color:#2563EB; cursor:pointer; }
.dgsc-copy button:hover { background:#EFF6FF; }
.dgsc-calbox { display:flex; gap:14px; align-items:center; border:1px solid #EEF2F7; border-radius:12px; padding:12px; margin-bottom:4px; }
.dgsc-cal-date { text-align:center; background:#EFF6FF; border-radius:10px; padding:8px 12px; flex:0 0 auto; }
.dgsc-cal-date span { display:block; font-size:11px; font-weight:700; color:#2563EB; }
.dgsc-cal-date strong { font-size:20px; color:#0F172A; }
.dgsc-cal-info strong { display:block; font-size:13px; }
.dgsc-cal-info span { display:block; color:#64748B; font-size:12px; margin:2px 0 6px; }
.dgsc-status { display:flex; gap:11px; align-items:center; border:1px solid #DCFCE7; background:#F0FDF4; border-radius:12px; padding:12px; margin-bottom:12px; }
.dgsc-status i { color:#16A34A; font-size:18px; }
.dgsc-status strong { display:block; font-size:13px; }
.dgsc-status span { color:#15803D; font-size:12px; }

/* Feature band */
.dgsc-band { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; background:#EFF4FF; border:1px solid #DBE5FB; border-radius:16px; padding:22px; margin-bottom:6px; }
.dgsc-band-item { display:flex; gap:12px; align-items:flex-start; }
.dgsc-band-ic { width:42px; height:42px; border-radius:50%; background:#fff; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:17px; flex:0 0 auto; box-shadow:0 2px 6px rgba(37,99,235,.12); }
.dgsc-band-item strong { display:block; font-size:13px; margin-bottom:3px; }
.dgsc-band-item span { color:#64748B; font-size:12px; }

/* Responsive */
@media (max-width:1024px) {
    .dgsc-hero { grid-template-columns:1fr; }
    .dgsc-seminar { grid-template-columns:1fr; }
    .dgsc-sem-media img { height:200px; }
    .dgsc-three { grid-template-columns:1fr; }
    .dgsc-band { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
    .dgsc-hero-btns { flex-direction:column; }
    .dgsc-hero-btns a { width:100%; }
    .dgsc-band { grid-template-columns:1fr; }
}

/* =========================================================================
   Certificate of Completion (.dgcert-) — STATIC demo page.
   ========================================================================= */
.dgcert-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; flex-wrap:wrap; margin-bottom:18px; }
.dgcert-head h1 { font-size:clamp(26px,3.6vw,34px); font-weight:800; margin:0; }
.dgcert-head p { color:#64748B; font-size:14px; margin:4px 0 0; }
.dgcert-completed { display:flex; gap:10px; align-items:center; background:#fff; border:1px solid #E2E8F0; border-radius:12px; padding:10px 14px; }
.dgcert-completed > i { color:#2563EB; }
.dgcert-completed span { display:block; color:#94A3B8; font-size:11px; }
.dgcert-completed strong { font-size:13px; }
.dgcert-completed-ok { color:#fff !important; background:#2563EB; border-radius:50%; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }

/* Stage + confetti */
.dgcert-stage { position:relative; background:linear-gradient(180deg,#F4F7FF,#EEF3FF); border-radius:20px; padding:40px 20px; overflow:hidden; }
.dgcert-confetti { position:absolute; width:10px; height:10px; border-radius:2px; opacity:.85; }
.dgcert-confetti.c1 { top:8%; left:10%; background:#F59E0B; transform:rotate(20deg); }
.dgcert-confetti.c2 { top:22%; left:88%; background:#2563EB; transform:rotate(-15deg); }
.dgcert-confetti.c3 { top:60%; left:6%; background:#2563EB; border-radius:50%; }
.dgcert-confetti.c4 { top:74%; left:92%; background:#F59E0B; border-radius:50%; }
.dgcert-confetti.c5 { top:40%; left:3%; background:#FBBF24; transform:rotate(40deg); }
.dgcert-confetti.c6 { top:14%; left:60%; background:#FCD34D; transform:rotate(-30deg); }

/* Certificate card */
.dgcert-card { position:relative; max-width:720px; margin:0 auto; background:#fff; border-radius:14px; box-shadow:0 22px 50px rgba(15,23,42,.18); overflow:hidden; }
.dgcert-corner { position:absolute; width:150px; height:150px; z-index:1; }
.dgcert-corner.tl { top:0; left:0; background:linear-gradient(135deg,#1E3A8A 38%,#FBBF24 38%,#FBBF24 46%,transparent 46%); border-top-left-radius:14px; }
.dgcert-corner.br { bottom:0; right:0; background:linear-gradient(315deg,#1E3A8A 38%,#FBBF24 38%,#FBBF24 46%,transparent 46%); border-bottom-right-radius:14px; }
.dgcert-inner { position:relative; z-index:2; text-align:center; padding:40px 48px; }
.dgcert-inner::before { content:'\f4d8'; font-family:FontAwesome; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:200px; color:rgba(37,99,235,.04); z-index:-1; }
.dgcert-brand { display:inline-flex; gap:9px; align-items:center; margin-bottom:14px; }
.dgcert-logo { width:34px; height:34px; border-radius:9px; background:#2563EB; color:#fff; display:inline-flex; align-items:center; justify-content:center; }
.dgcert-brand strong { display:block; font-size:16px; color:#1E3A8A; }
.dgcert-brand span { font-size:10px; letter-spacing:.12em; color:#2563EB; font-weight:700; }
.dgcert-academy { display:block; color:#2563EB; font-size:12px; font-weight:700; letter-spacing:.14em; margin-bottom:8px; }
.dgcert-title { font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:700; color:#0F172A; margin:0 0 8px; }
.dgcert-title em { font-style:italic; font-weight:400; }
.dgcert-divider { display:block; color:#CBD5E1; font-size:13px; margin-bottom:16px; position:relative; }
.dgcert-divider::before, .dgcert-divider::after { content:''; display:inline-block; width:60px; height:1px; background:#E2E8F0; vertical-align:middle; margin:0 8px; }
.dgcert-certify { color:#64748B; font-size:13px; margin:0 0 6px; }
.dgcert-name { font-family:'Segoe Script','Brush Script MT','Snell Roundhand',cursive; font-size:38px; color:#2563EB; margin:0 0 8px; }
.dgcert-has { color:#64748B; font-size:13px; margin:0 0 6px; }
.dgcert-seminar { font-size:22px; font-weight:800; color:#0F172A; margin:0 0 10px; }
.dgcert-blurb { color:#64748B; font-size:13px; max-width:440px; margin:0 auto 24px; line-height:1.6; }
.dgcert-foot { display:flex; justify-content:center; align-items:center; gap:34px; flex-wrap:wrap; }
.dgcert-foot-item { display:flex; gap:9px; align-items:center; }
.dgcert-foot-item > i { color:#2563EB; font-size:16px; }
.dgcert-foot-item span { display:block; font-size:10px; letter-spacing:.06em; color:#94A3B8; font-weight:700; }
.dgcert-foot-item strong { font-size:13px; }
.dgcert-seal { width:56px; height:56px; border-radius:50%; background:radial-gradient(circle,#1E3A8A,#0B1220); color:#FBBF24; display:inline-flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 0 0 4px #FBBF24, 0 4px 12px rgba(0,0,0,.2); }

/* Actions */
.dgcert-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:760px; margin:22px auto 0; }
.dgcert-actions .dgvs-btn-primary, .dgcert-actions .dgvs-btn-outline { justify-content:center; padding:13px; }

/* Two boxes */
.dgcert-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:760px; margin:18px auto 0; }
.dgcert-box { background:#fff; border:1px solid #E2E8F0; border-radius:16px; padding:18px; box-shadow:0 1px 3px rgba(16,24,40,.04); }
.dgcert-box > strong { display:block; font-size:15px; }
.dgcert-box > span { display:block; color:#64748B; font-size:12px; margin:3px 0 12px; }
.dgcert-share { display:flex; gap:10px; flex-wrap:wrap; }
.dgcert-soc { display:inline-flex; align-items:center; gap:7px; border:1px solid #E2E8F0; border-radius:9px; padding:8px 13px; font-size:12px; font-weight:600; color:#0F172A; text-decoration:none; }
.dgcert-soc i { width:18px; height:18px; border-radius:5px; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:11px; }
.dgcert-soc.is-li i { background:#0A66C2; } .dgcert-soc.is-fb i { background:#1877F2; } .dgcert-soc.is-x i { background:#000; }
.dgcert-soc:hover { background:#F8FAFC; }
.dgcert-next { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.dgcert-next-ic { width:64px; height:64px; border-radius:14px; background:#EFF4FF; color:#2563EB; display:inline-flex; align-items:center; justify-content:center; font-size:28px; flex:0 0 auto; }

@media (max-width:768px) {
    .dgcert-inner { padding:28px 22px; }
    .dgcert-title { font-size:26px; }
    .dgcert-name { font-size:30px; }
    .dgcert-foot { gap:18px; }
    .dgcert-actions, .dgcert-two { grid-template-columns:1fr; }
    .dgcert-corner { width:100px; height:100px; }
}
