/* ==========================================================
   UG OVERRIDES — vinder specificity-krig mod Astra/Elementor
   Lavet bevidst med høj specificity og !important fordi Astra
   loader dynamisk CSS sent og overskriver vores main.css.
   Hold dette fil minimal — kun ting der ikke virker via main.css.
   ========================================================== */

/* Body — sørg for vores font og baggrund altid vinder */
body.ug-front,
body.page-template-page-forside,
body.page-template-page-service,
body.page-template-page-priser,
body.single-post,
body.page {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    background: hsl(200 20% 98%) !important;
    color: hsl(210 30% 15%) !important;
}

/* Headings — overskriv Astras uppercase fra gamle CSS */
body.ug-front h1, body.ug-front h2, body.ug-front h3,
body.page h1, body.page h2, body.page h3,
body.single-post h1, body.single-post h2, body.single-post h3,
.entry-title, .entry-content h1, .entry-content h2, .entry-content h3 {
    font-family: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif !important;
    text-transform: none !important;
    color: hsl(210 30% 15%) !important;
    line-height: 1.2 !important;
}
body.ug-front h1, body.page h1, body.single-post h1, .entry-title {
    font-weight: 700 !important;
    text-align: left !important;
}

/* HERO — sikr at vores video-hero ikke får Astra-padding */
.ug-hero {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.ug-hero .ug-container {
    max-width: 1180px !important;
}
.ug-hero__title {
    color: #fff !important;
    text-align: left !important;
    text-shadow: 0 2px 30px rgba(0,0,0,0.4);
    margin-bottom: 16px !important;
}
.ug-hero__lead { color: rgba(255,255,255,0.92) !important; }

/* CTA-knapper — vinder mod Astras .ast-custom-button og Elementors button */
.ug-btn,
a.ug-btn,
button.ug-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 24px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    text-decoration: none !important;
    border: 2px solid transparent !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform .15s, background .15s !important;
    text-transform: none !important;
}
.ug-btn--primary, a.ug-btn--primary, button.ug-btn--primary {
    background: hsl(356 72% 48%) !important;
    color: #fff !important;
}
.ug-btn--primary:hover { background: hsl(356 72% 42%) !important; color: #fff !important; transform: translateY(-1px); }
.ug-btn--outline-light, a.ug-btn--outline-light {
    background: rgba(255,255,255,0.08) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.45) !important;
}
.ug-btn--outline-light:hover {
    background: rgba(255,255,255,0.18) !important;
    color: #fff !important;
}
.ug-btn--lg { padding: 18px 30px !important; font-size: 1.05rem !important; }

/* Sektioner — fjern Astras default container-padding */
.ug-section .ug-container,
section.ug-section > .ug-container {
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

/* ============================================================
   FULL-BLEED HACK — 100vw + negative margin trick
   Den eneste 100% paalidelige maade at break ud af Astra-wrappers.
   Forhindrer horizontal scroll med overflow-x:hidden paa body.
   ============================================================ */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* Hero, subfooter, og alle .ug-section bryder ud af parent container */
body.page-template-page-forside .ug-hero,
body.page-template-page-forside .ug-section,
body.page-template-page-service .ug-hero,
body.page-template-page-service .ug-section,
body.page-template-page-priser .ug-hero,
body.page-template-page-priser .ug-section,
.ug-subfooter {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
}

/* Hero specifik — sikr at video og overlay fylder hele */
.ug-hero > .ug-hero__video,
.ug-hero > .ug-hero__overlay {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
}


body.page-template-page-forside #page,
body.page-template-page-forside #content,
body.page-template-page-forside #primary,
body.page-template-page-forside #main,
body.page-template-page-forside .site-content,
body.page-template-page-forside .ast-container,
body.page-template-page-forside .ast-container-fluid,
body.page-template-page-forside article,
body.page-template-page-forside article.post,
body.page-template-page-forside .entry-content,
body.page-template-page-forside .post-thumb-img-content,
body.page-template-page-forside .entry-header,
body.page-template-page-forside .content-area,
body.page-template-page-forside .ast-no-sidebar .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: transparent !important;
}

/* Skjul Astras default page-titel der ellers dukker op over hero */
body.page-template-page-forside .entry-header,
body.page-template-page-forside .ast-archive-description,
body.page-template-page-forside h1.entry-title,
body.page-template-page-forside .post-thumb,
body.page-template-page-forside .ast-no-thumbnail {
    display: none !important;
}

/* Top-padding fjernes så hero starter direkte under header */
body.page-template-page-forside #content,
body.page-template-page-forside .site-content,
body.page-template-page-forside #primary {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Service- og pris-templates skal også være fuld bredde men beholde
   centreret indhold via vores egne .ug-container wrappers */
body.page-template-page-service #primary,
body.page-template-page-service #main,
body.page-template-page-service .ast-container,
body.page-template-page-priser #primary,
body.page-template-page-priser .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.page-template-page-service .entry-header,
body.page-template-page-priser .entry-header {
    display: none !important;
}

/* Service-/almindelige sider — vores prose-container styrer typografien */
body.page-template-page-service .ast-container,
body.single-post .ast-container,
body.page:not(.page-template-page-forside):not(.page-template-page-priser) .ast-container {
    background: transparent !important;
}

/* Header — moderne look */
.site-header,
.ast-primary-header-bar,
header#masthead {
    background: rgba(255,255,255,0.96) !important;
    border-bottom: 1px solid hsl(200 20% 88%) !important;
    box-shadow: 0 1px 12px rgba(0,0,0,0.04) !important;
}
.ast-builder-menu-1 .menu-link,
nav.main-navigation a {
    color: hsl(210 30% 15%) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.ast-builder-menu-1 .menu-link:hover,
nav.main-navigation a:hover {
    color: hsl(356 72% 48%) !important;
}

/* Footer */
footer.site-footer,
.site-footer {
    background: hsl(210 30% 15%) !important;
    color: #fff !important;
}
.site-footer a { color: rgba(255,255,255,0.85) !important; }
.site-footer a:hover { color: hsl(356 72% 55%) !important; }

/* Fix for at gammel CSS-rule (h1{text-align:center!important}) ikke
   vinder over vores venstre-justering på heroen */
.ug-hero h1, .ug-hero__title {
    text-align: left !important;
}

/* ============================================================
   DARK SECTIONS — h1-h6 og p skal være HVIDE, ikke navy.
   Vi har en regel ovenfor der tvinger "body.page h3 { color: navy }"
   og denne whitelist sørger for at mørke sektioner ikke får
   sort-på-sort tekst (USP-band, bund-CTA, subfooter, footer).
   ============================================================ */
.ug-hero h1, .ug-hero h2, .ug-hero h3, .ug-hero h4,
body.page .ug-hero h1, body.page .ug-hero h2, body.page .ug-hero h3,
body.ug-front .ug-hero h1, body.ug-front .ug-hero h2, body.ug-front .ug-hero h3,
.ug-usp-band h1, .ug-usp-band h2, .ug-usp-band h3, .ug-usp-band h4,
body.page .ug-usp-band h1, body.page .ug-usp-band h2, body.page .ug-usp-band h3,
body.ug-front .ug-usp-band h1, body.ug-front .ug-usp-band h2, body.ug-front .ug-usp-band h3,
.ug-cta--bottom h1, .ug-cta--bottom h2, .ug-cta--bottom h3, .ug-cta--bottom h4,
.ug-cta--bottom .ug-cta__title, .ug-cta--bottom .ug-cta__sub,
body.page .ug-cta--bottom h1, body.page .ug-cta--bottom h2, body.page .ug-cta--bottom h3,
body.ug-front .ug-cta--bottom h1, body.ug-front .ug-cta--bottom h2, body.ug-front .ug-cta--bottom h3,
.ug-subfooter h1, .ug-subfooter h2, .ug-subfooter h3, .ug-subfooter h4,
.ug-subfooter__heading,
body.page .ug-subfooter h1, body.page .ug-subfooter h2, body.page .ug-subfooter h3,
body.ug-front .ug-subfooter h1, body.ug-front .ug-subfooter h2, body.ug-front .ug-subfooter h3,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
body.page .site-footer h1, body.page .site-footer h2, body.page .site-footer h3 {
    color: #fff !important;
}

/* P-tekst i mørke sektioner */
.ug-usp-band p,
.ug-cta--bottom p,
.ug-subfooter p,
.ug-subfooter li,
.site-footer p {
    color: hsl(0 0% 100% / 0.88) !important;
}

.ug-subfooter__legal p {
    color: hsl(0 0% 100% / 0.7) !important;
}

/* Links i sub-footer skal være lyse */
.ug-subfooter a {
    color: hsl(0 0% 100% / 0.85) !important;
    text-decoration: none !important;
}
.ug-subfooter a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

/* Hero badges & eyebrow */
.ug-hero__badge,
.ug-hero__eyebrow {
    color: #fff !important;
}

/* Skjul gamle elementor knapper med inline grøn (#73BE73 var den gamle palette) */
.elementor-widget-button > div > div > a {
    background: hsl(356 72% 48%) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    text-transform: none !important;
}
.elementor-widget-button > div > div > a:hover {
    background: hsl(356 72% 42%) !important;
}

/* Cookiebot dialog tilpasset til ny palette */
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    background: hsl(142 56% 45%) !important;
    border-color: transparent !important;
}

/* Sørg for prose får ordentlig luft selv på service-template */
.ug-prose {
    max-width: 72ch !important;
    margin: 0 auto !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Mobile hovedmenu altid synlig under 1024px (ikke 1770 som gammel CSS) */
@media (max-width: 1024px) {
    #ast-desktop-header { display: none !important; }
    #ast-mobile-header { display: block !important; }
}
@media (min-width: 1024px) {
    #ast-desktop-header { display: block !important; }
}


/* ============================================================
   SUPER STRONG WHITE-ON-DARK — vinder over alle Astra-regler
   Brug HØJ specificity + body-class for at slå parent-CSS.
   ============================================================ */
html body.ug-front .ug-hero h1,
html body.ug-front .ug-hero h1.ug-hero__title,
html body.ug-front .ug-hero h2,
html body.ug-front .ug-hero h3,
html body.ug-front .ug-hero p,
html body.ug-front .ug-hero span,
html body.page .ug-hero h1,
html body.page .ug-hero h1.ug-hero__title,
html body.page .ug-hero h2,
html body.page .ug-hero h3,
html body.page .ug-hero p,
html body.page-template-page-forside .ug-hero h1,
html body.page-template-page-forside .ug-hero h2,
html body.page-template-page-forside .ug-hero h3,
html body.page-template-page-forside .ug-hero p,
.ug-hero h1, .ug-hero h2, .ug-hero h3, .ug-hero h4, .ug-hero p,
.ug-hero .ug-hero__title, .ug-hero .ug-hero__lead {
    color: #ffffff !important;
}

html body .ug-usp-band h1,
html body .ug-usp-band h2,
html body .ug-usp-band h3,
html body .ug-usp-band h4,
html body .ug-usp-band p,
html body.page .ug-usp-band h3,
html body.ug-front .ug-usp-band h3,
.ug-usp-band h3 {
    color: #ffffff !important;
}
html body .ug-usp-band p,
.ug-usp-band p {
    color: hsl(0 0% 100% / 0.9) !important;
}

html body .ug-cta--bottom h1,
html body .ug-cta--bottom h2,
html body .ug-cta--bottom h3,
html body .ug-cta--bottom .ug-cta__title,
html body .ug-cta--bottom .ug-cta__sub,
html body .ug-cta--bottom p,
html body.page .ug-cta--bottom h3,
.ug-cta--bottom h1, .ug-cta--bottom h2, .ug-cta--bottom h3,
.ug-cta--bottom .ug-cta__title, .ug-cta--bottom .ug-cta__sub {
    color: #ffffff !important;
}

html body .ug-subfooter h1,
html body .ug-subfooter h2,
html body .ug-subfooter h3,
html body .ug-subfooter .ug-subfooter__heading,
html body .ug-subfooter p,
html body.page .ug-subfooter h3,
.ug-subfooter h3, .ug-subfooter__heading {
    color: #ffffff !important;
}
.ug-subfooter p { color: hsl(0 0% 100% / 0.88) !important; }
.ug-subfooter a { color: hsl(0 0% 100% / 0.85) !important; text-decoration: none !important; }
.ug-subfooter a:hover { color: #ffffff !important; text-decoration: underline !important; }
.ug-subfooter__legal p { color: hsl(0 0% 100% / 0.7) !important; }

/* Hero badges & eyebrow */
.ug-hero__badge, .ug-hero__eyebrow {
    color: #ffffff !important;
}


/* ============================================================
   ASTRA FOOTER REDESIGN — nye temafarver, mere lækker
   ============================================================ */
footer.site-footer,
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap {
    background: linear-gradient(180deg, hsl(210 30% 12%) 0%, hsl(210 30% 8%) 100%) !important;
    color: #ffffff !important;
}

/* Padding så footeren føles luftig */
.site-primary-footer-wrap {
    padding: clamp(48px, 6vw, 80px) clamp(16px, 4vw, 32px) clamp(32px, 4vw, 48px) !important;
}
.site-below-footer-wrap {
    padding: clamp(20px, 2vw, 32px) clamp(16px, 4vw, 32px) !important;
    border-top: 1px solid hsl(0 0% 100% / 0.08) !important;
}

/* Container max-width inde i footeren */
.site-primary-footer-wrap > .ast-builder-grid-row-container-inner,
.site-below-footer-wrap > .ast-builder-grid-row-container-inner {
    max-width: 1180px !important;
    margin: 0 auto !important;
}

/* Footer grid — 3 ligesidede kolonner */
.site-primary-footer-inner-wrap.ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1.2fr !important;
    gap: clamp(24px, 4vw, 56px) !important;
    align-items: start !important;
}
@media (max-width: 880px) {
    .site-primary-footer-inner-wrap.ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

/* Headings i footer */
.site-footer h2,
.site-footer h3,
.site-footer .widget-title {
    color: #ffffff !important;
    font-family: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    position: relative !important;
    border-bottom: 2px solid hsl(356 72% 48%) !important;
    display: inline-block !important;
}

/* Tekst og lister */
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer .textwidget,
.site-footer .widget {
    color: hsl(0 0% 100% / 0.85) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}
.site-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-footer ul li {
    padding: 4px 0 !important;
    border: none !important;
}

/* Links */
.site-footer a {
    color: hsl(0 0% 100% / 0.92) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.site-footer a:hover {
    color: hsl(356 72% 65%) !important;
    text-decoration: underline !important;
}

/* Telefon/mail-blok — gør den iøjnefaldende */
.site-footer a[href^="tel:"],
.site-footer a[href^="mailto:"] {
    display: inline-block !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}
.site-footer a[href^="tel:"]:hover,
.site-footer a[href^="mailto:"]:hover {
    color: hsl(356 72% 65%) !important;
}

/* Fix inline color: # bug fra gammel widget */
.site-footer span[style*="color: #;"],
.site-footer [style*="color: #;"] {
    color: hsl(0 0% 100% / 0.85) !important;
}

/* Sociale ikoner — i flot rød boks */
.site-footer .ast-footer-social-1-wrap,
.footer-social-inner-wrap {
    display: flex !important;
    gap: 10px !important;
    margin-top: 18px !important;
}
.site-footer .ast-builder-social-element {
    width: 40px !important;
    height: 40px !important;
    background: hsl(356 72% 48%) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform .15s, background .15s !important;
}
.site-footer .ast-builder-social-element:hover {
    background: hsl(356 72% 55%) !important;
    transform: translateY(-2px) scale(1.05) !important;
}
.site-footer .ast-builder-social-element svg {
    width: 18px !important;
    height: 18px !important;
    fill: #ffffff !important;
}
/* Override inline --color custom-properties Astra bruger */
.site-footer .ast-builder-social-element[style] {
    --color: #ffffff !important;
    --background-color: transparent !important;
}

/* Astra footer logo — luft omkring + max-width */
.site-footer img {
    max-width: 240px !important;
    height: auto !important;
    border-radius: 8px !important;
}

/* Footer nav (Nyhedsbrev m.fl.) */
.footer-bar-navigation ul,
#astra-footer-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
#astra-footer-menu .menu-item {
    list-style: none !important;
}
#astra-footer-menu .menu-link {
    color: hsl(0 0% 100% / 0.85) !important;
    padding: 6px 0 !important;
    display: inline-block !important;
}
#astra-footer-menu .menu-link:hover {
    color: hsl(356 72% 65%) !important;
}

/* Below-footer (copyright + privacy) — kompakt grid */
.site-below-footer-inner-wrap.ast-builder-grid-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 16px !important;
    color: hsl(0 0% 100% / 0.7) !important;
    font-size: 0.88rem !important;
}
.site-below-footer-wrap .ast-footer-copyright p {
    margin: 0 !important;
    font-size: 0.88rem !important;
    color: hsl(0 0% 100% / 0.7) !important;
    text-align: center !important;
}
.site-below-footer-wrap a {
    color: hsl(0 0% 100% / 0.7) !important;
}
.site-below-footer-wrap a:hover {
    color: #ffffff !important;
}
.site-below-footer-wrap section {
    margin: 0 !important;
}
.site-below-footer-wrap ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media (max-width: 768px) {
    .site-below-footer-inner-wrap.ast-builder-grid-row {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
}

/* Skjul tom widget-titel hvis Astra renderer "0" eller tom h2 */
.site-footer .widget-title:empty,
.site-footer h2:empty,
.site-footer h3:empty,
.site-footer .wp-block-heading:empty {
    display: none !important;
}
.site-footer .widget_block:empty,
.site-footer section:empty {
    display: none !important;
}
