/*
 * Theme Name:   Hello Elementor Child
 * Theme URI:    https://github.com/elementor/hello-theme-child/
 * Description:  Hello Elementor Child — Nasi Galung X Keith
 * Author:       Digi Talindo
 * Author URI:   https://dgtalindo.id
 * Template:     hello-elementor
 * Version:      1.0.0
 * Text Domain:  hello-elementor-child
 */

/* ══════════════════════════════════════════════════════════
   SEMUA OVERRIDE dibungkus body.page-template-template-nasigalung
   sehingga hanya aktif di halaman kita, tidak merusak
   halaman Elementor lainnya di situs yang sama.
   ══════════════════════════════════════════════════════════ */

/* ─── 1. BODY & LAYOUT ─────────────────────────────────── */

body.page-template-template-nasigalung {
    padding-top: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
}

.ng-page {
    margin-top: -80px;
}

/* Hello Elementor wrap semua konten dalam .site, .site-content, dll */
body.page-template-template-nasigalung .site,
body.page-template-template-nasigalung #page,
body.page-template-template-nasigalung .site-content,
body.page-template-template-nasigalung #content,
body.page-template-template-nasigalung .site-main,
body.page-template-template-nasigalung main,
body.page-template-template-nasigalung article,
body.page-template-template-nasigalung .entry-content {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}


/* ─── 2. SEMBUNYIKAN HEADER & FOOTER HELLO ELEMENTOR ───── */
/* Kita pakai header.php dan footer.php sendiri */

body.page-template-template-nasigalung .site-header,
body.page-template-template-nasigalung #masthead,
body.page-template-template-nasigalung .site-header-inner,
body.page-template-template-nasigalung header.elementor-location-header {
    display: none !important;
}

body.page-template-template-nasigalung .site-footer,
body.page-template-template-nasigalung #colophon,
body.page-template-template-nasigalung .site-footer-inner,
body.page-template-template-nasigalung footer.elementor-location-footer {
    display: none !important;
}


/* ─── 3. TYPOGRAPHY ────────────────────────────────────── */

/* Force semua teks dalam .ng-page pakai font kita */
body.page-template-template-nasigalung .ng-page {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #2C1F0A !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Hello Elementor sering override h1–h6 dengan font, margin, dan line-height sendiri */
body.page-template-template-nasigalung .ng-page h1,
body.page-template-template-nasigalung .ng-page h2,
body.page-template-template-nasigalung .ng-page h3,
body.page-template-template-nasigalung .ng-page h4,
body.page-template-template-nasigalung .ng-page h5,
body.page-template-template-nasigalung .ng-page h6 {
    font-family: 'Playfair Display', Georgia, serif !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

/* Khusus kelas serif kita */
body.page-template-template-nasigalung .ng-page .section-title,
body.page-template-template-nasigalung .ng-page .hero-title,
body.page-template-template-nasigalung .ng-page .menu-item-name,
body.page-template-template-nasigalung .ng-page .event-card-title,
body.page-template-template-nasigalung .ng-page .rating-big,
body.page-template-template-nasigalung .ng-page .hero-stat-val,
body.page-template-template-nasigalung .ng-page .infobar-value,
body.page-template-template-nasigalung .ng-page .menu-item-price,
body.page-template-template-nasigalung .ng-page .ng-footer-logo-name,
body.page-template-template-nasigalung .ng-page .ng-footer-col-title {
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* Reset margin/padding paragraph dari Hello Elementor */
body.page-template-template-nasigalung .ng-page p {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Reset ul/ol dari Hello Elementor */
body.page-template-template-nasigalung .ng-page ul,
body.page-template-template-nasigalung .ng-page ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ─── 4. LINK ───────────────────────────────────────────── */

/* Hello Elementor set a { color: ... } secara global */
body.page-template-template-nasigalung .ng-page a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s, background 0.2s !important;
}
body.page-template-template-nasigalung .ng-page a:hover,
body.page-template-template-nasigalung .ng-page a:focus,
body.page-template-template-nasigalung .ng-page a:visited {
    color: inherit !important;
    text-decoration: none !important;
}


/* ─── 5. BUTTON ─────────────────────────────────────────── */

/* Reset semua button dari Hello Elementor */
body.page-template-template-nasigalung .ng-page button,
body.page-template-template-nasigalung .ng-page input[type="button"],
body.page-template-template-nasigalung .ng-page input[type="submit"] {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    border: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Menu tabs */
body.page-template-template-nasigalung .ng-page .menu-tab {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.11) !important;
    color: rgba(255,255,255,0.6) !important;
    padding: 9px 20px !important;
    border-radius: 40px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    line-height: 1.4 !important;
}
body.page-template-template-nasigalung .ng-page .menu-tab.active,
body.page-template-template-nasigalung .ng-page .menu-tab:hover {
    background: #8B1A1A !important;
    border-color: #8B1A1A !important;
    color: #ffffff !important;
}

/* CTA buttons */
body.page-template-template-nasigalung .ng-page .btn-primary {
    background: #8B1A1A !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 13px 30px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: none !important;
    text-decoration: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.page-template-template-nasigalung .ng-page .btn-primary:hover {
    background: #6B1111 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}
body.page-template-template-nasigalung .ng-page .btn-hero-outline {
    border: 1.5px solid rgba(255,255,255,0.5) !important;
    color: #ffffff !important;
    background: transparent !important;
    border-radius: 4px !important;
    padding: 13px 28px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.page-template-template-nasigalung .ng-page .btn-hero-outline:hover {
    border-color: #ffffff !important;
    background: rgba(255,255,255,0.1) !important;
    color: #ffffff !important;
}
body.page-template-template-nasigalung .ng-page .btn-outline-dark {
    border: 1.5px solid #8B1A1A !important;
    color: #8B1A1A !important;
    background: transparent !important;
    border-radius: 4px !important;
    padding: 12px 28px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.page-template-template-nasigalung .ng-page .btn-outline-dark:hover {
    background: #8B1A1A !important;
    color: #ffffff !important;
}
body.page-template-template-nasigalung .ng-page .location-wa-btn {
    background: #25D366 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 13px 26px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    border: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.page-template-template-nasigalung .ng-page .location-wa-btn:hover {
    background: #1EBE5B !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}


/* ─── 6. IMAGE ──────────────────────────────────────────── */

body.page-template-template-nasigalung .ng-page img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    outline: none !important;
}

/* Khusus logo — ukuran tetap */
body.page-template-template-nasigalung .ng-logo-img,
body.page-template-template-nasigalung .ng-footer-logo-img {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    background: #ffffff !important;
    padding: 2px !important;
}
body.page-template-template-nasigalung .ng-footer-logo-img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
}

/* Gambar about */
body.page-template-template-nasigalung .ng-page .about-img-main {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 4/5 !important;
    border-radius: 0 !important;
}
body.page-template-template-nasigalung .ng-page .about-img-accent {
    object-fit: cover !important;
    aspect-ratio: 4/3 !important;
    border-radius: 0 !important;
    border: 6px solid #FFFDF9 !important;
}

/* Gambar gallery */
body.page-template-template-nasigalung .ng-page .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}


/* ─── 7. SECTION PADDING ────────────────────────────────── */

/* Reset semua section, lalu set ulang per class */
body.page-template-template-nasigalung .ng-page section {
    padding: 0 !important;
    margin: 0 !important;
}
body.page-template-template-nasigalung .ng-page .ng-about,
body.page-template-template-nasigalung .ng-page .ng-menu,
body.page-template-template-nasigalung .ng-page .ng-events,
body.page-template-template-nasigalung .ng-page .ng-gallery,
body.page-template-template-nasigalung .ng-page .ng-reviews,
body.page-template-template-nasigalung .ng-page .ng-instagram,
body.page-template-template-nasigalung .ng-page .ng-location {
    padding: 96px 0 !important;
}
body.page-template-template-nasigalung .ng-page .ng-infobar {
    padding: 52px 0 !important;
}

/* Hero tidak boleh ada padding atas — navbar fixed 72px */
body.page-template-template-nasigalung .ng-page .ng-hero {
    height: 100vh !important;
    min-height: 640px !important;
    padding: 0 !important;
    margin-top: -72px !important;
}


/* ─── 8. BACKGROUND COLORS ──────────────────────────────── */

body.page-template-template-nasigalung .ng-page .ng-menu,
body.page-template-template-nasigalung .ng-page .ng-location,
body.page-template-template-nasigalung .ng-page .ng-instagram {
    background: #1C1208 !important;
}
body.page-template-template-nasigalung .ng-page .ng-about,
body.page-template-template-nasigalung .ng-page .ng-gallery {
    background: #FFFDF9 !important;
}
body.page-template-template-nasigalung .ng-page .ng-events,
body.page-template-template-nasigalung .ng-page .ng-reviews {
    background: #F5EFE6 !important;
}
body.page-template-template-nasigalung .ng-page .ng-infobar {
    background: #8B1A1A !important;
}


/* ─── 9. Z-INDEX ────────────────────────────────────────── */

#ng-header     { z-index: 9999 !important; }
#ng-mobile-menu { z-index: 9998 !important; }
#ng-wa-sticky  { z-index: 9000 !important; }


/* ─── 10. BOX SIZING ────────────────────────────────────── */

body.page-template-template-nasigalung .ng-page,
body.page-template-template-nasigalung .ng-page *,
body.page-template-template-nasigalung .ng-page *::before,
body.page-template-template-nasigalung .ng-page *::after {
    box-sizing: border-box !important;
}


/* ─── 11. RESPONSIVE ────────────────────────────────────── */

@media (max-width: 900px) {
    body.page-template-template-nasigalung .ng-page .about-grid {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }
    body.page-template-template-nasigalung .ng-page .about-img-accent {
        display: none !important;
    }
    body.page-template-template-nasigalung .ng-page .gallery-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto !important;
    }
    body.page-template-template-nasigalung .ng-page .gallery-item:first-child {
        grid-row: span 1 !important;
    }
    body.page-template-template-nasigalung .ng-page .infobar-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px 0 !important;
    }
    body.page-template-template-nasigalung .ng-page .location-grid {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }
    body.page-template-template-nasigalung .ng-page .hero-stats {
        display: none !important;
    }
}

@media (max-width: 580px) {
    body.page-template-template-nasigalung .ng-page .gallery-grid {
        grid-template-columns: 1fr !important;
    }
    body.page-template-template-nasigalung .ng-page .infobar-grid {
        grid-template-columns: 1fr !important;
    }
    body.page-template-template-nasigalung .ng-page .about-features {
        grid-template-columns: 1fr !important;
    }
    body.page-template-template-nasigalung .ng-page .hero-title {
        font-size: 2.5rem !important;
    }
    body.page-template-template-nasigalung .ng-page .ng-footer-main {
        grid-template-columns: 1fr !important;
    }
    body.page-template-template-nasigalung .ng-page .ng-footer-brand {
        grid-column: span 1 !important;
    }
}



/* ══════════════════════════════════════════════════════════
   FIX: ELEMENTOR KIT TYPOGRAPHY OVERRIDE
   Masalah: .elementor-kit-XXX h1/h2/h3 punya specificity
   lebih tinggi dari class selector biasa.

   Solusi:
   1. Override CSS variables Elementor untuk halaman ini
   2. Match specificity dengan html body prefix
   ══════════════════════════════════════════════════════════ */

/* ─── A. Override Elementor CSS Variables ───────────────────
   Elementor menyimpan typography di CSS variables global.
   Kita override di scope halaman kita saja.
   ─────────────────────────────────────────────────────────── */

body.page-template-template-nasigalung {
    /* Font families */
    --e-global-typography-primary-font-family:   'Playfair Display' !important;
    --e-global-typography-secondary-font-family: 'Plus Jakarta Sans' !important;
    --e-global-typography-text-font-family:      'Plus Jakarta Sans' !important;
    --e-global-typography-accent-font-family:    'Plus Jakarta Sans' !important;

    /* Override semua custom typography tokens Elementor */
    /* (nama de94aff adalah ID kit, bisa berbeda di tiap install) */
    --e-global-typography-de94aff-font-family: 'Playfair Display' !important;
    --e-global-typography-de94aff-font-size:   clamp(2.8rem, 6vw, 5rem) !important;
    --e-global-typography-de94aff-font-weight: 900 !important;
    --e-global-typography-de94aff-line-height: 1.05 !important;
    --e-global-typography-de94aff-letter-spacing: 0 !important;
    --e-global-typography-de94aff-text-transform: none !important;

    /* Override warna primary Elementor */
    --e-global-color-primary:    #1C1208 !important;
    --e-global-color-secondary:  #8B1A1A !important;
    --e-global-color-text:       #2C1F0A !important;
    --e-global-color-accent:     #B8922A !important;
}


/* ─── B. Match Specificity dengan html prefix ───────────────
   .elementor-kit-141 h1  = specificity (0,1,1) = 11
   html body .ng-page h1  = specificity (0,2,1) = 21 → menang
   ─────────────────────────────────────────────────────────── */

html body.page-template-template-nasigalung .ng-page h1,
html body.page-template-template-nasigalung .ng-page h2,
html body.page-template-template-nasigalung .ng-page h3,
html body.page-template-template-nasigalung .ng-page h4,
html body.page-template-template-nasigalung .ng-page h5,
html body.page-template-template-nasigalung .ng-page h6 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Hero title spesifik */
html body.page-template-template-nasigalung .ng-page .hero-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(2.8rem, 6vw, 5rem) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

html body.page-template-template-nasigalung .ng-page .hero-title .sub {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.52em !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #D4A843 !important;
    letter-spacing: 0.05em !important;
    text-transform: none !important;
}

html body.page-template-template-nasigalung .ng-page .hero-title em {
    font-style: italic !important;
    color: #D4A843 !important;
    font-weight: inherit !important;
}

html body.page-template-template-nasigalung .ng-page .section-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(1.9rem, 4vw, 2.9rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #1C1208 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

html body.page-template-template-nasigalung .ng-page .section-title em {
    font-style: italic !important;
    color: #8B1A1A !important;
}

/* Section title di dark background */
html body.page-template-template-nasigalung .ng-page .ng-menu .section-title,
html body.page-template-template-nasigalung .ng-page .ng-location .section-title,
html body.page-template-template-nasigalung .ng-page .ng-instagram .section-title {
    color: #ffffff !important;
}
html body.page-template-template-nasigalung .ng-page .ng-menu .section-title em,
html body.page-template-template-nasigalung .ng-page .ng-location .section-title em,
html body.page-template-template-nasigalung .ng-page .ng-instagram .section-title em {
    color: #D4A843 !important;
}

/* Menu item names */
html body.page-template-template-nasigalung .ng-page .menu-item-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
}

/* Event card titles */
html body.page-template-template-nasigalung .ng-page .event-card-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #1C1208 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Rating big */
html body.page-template-template-nasigalung .ng-page .rating-big {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 4.5rem !important;
    font-weight: 900 !important;
    color: #8B1A1A !important;
}

/* Footer */
html body.page-template-template-nasigalung .ng-footer-logo-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

html body.page-template-template-nasigalung .ng-page .ng-footer-col-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Infobar values */
html body.page-template-template-nasigalung .ng-page .infobar-value {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #ffffff !important;
    text-transform: none !important;
}

/* Section label */
html body.page-template-template-nasigalung .ng-page .section-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    color: #B8922A !important;
}

/* Body text & paragraphs di dark sections */
html body.page-template-template-nasigalung .ng-page .ng-menu p,
html body.page-template-template-nasigalung .ng-page .ng-location p,
html body.page-template-template-nasigalung .ng-page .ng-instagram p,
html body.page-template-template-nasigalung .ng-page .menu-header p,
html body.page-template-template-nasigalung .ng-page .ig-header p {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

html body.page-template-template-nasigalung .ng-page .about-text p,
html body.page-template-template-nasigalung .ng-page .event-card-desc,
html body.page-template-template-nasigalung .ng-page .review-text {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #6B5B45 !important;
    font-size: 1rem !important;
    line-height: 1.8 !important;
}


/* ─── C. Nuclear option — hanya jika A & B masih kalah ──────
   Uncomment blok ini jika Elementor kit ID-nya berbeda
   atau masih ada yang ke-override setelah deploy.
   ─────────────────────────────────────────────────────────── */
/*
html body.page-template-template-nasigalung [class*="elementor-kit"] h1,
html body.page-template-template-nasigalung [class*="elementor-kit"] h2,
html body.page-template-template-nasigalung [class*="elementor-kit"] h3,
html body.page-template-template-nasigalung [class*="elementor-kit"] h4 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
*/