/* ==========================================================
   Kerstconcert "De droom van Anna" - kleurenoverride
   Palet afgeleid van de poster.
   ========================================================== */
:root{
  --kerst-nacht:#243241;      /* diepste achtergrond */
  --kerst-blauw:#2f4255;      /* hoofdachtergrond */
  --kerst-schemer:#4a5c6e;    /* vlakken, kaders */
  --kerst-mist:#8fa0b2;       /* gedempte tekst */
  --kerst-sneeuw:#eef1f4;     /* gewone tekst */
  --kerst-goud:#f4d374;       /* accent */
  --kerst-goud-licht:#f9e4a8; /* accent hover */
}

/* Elementor globale kleuren en lettertypes */
body[class*="elementor-kit-"]{
  --e-global-color-primary:var(--kerst-goud);
  --e-global-color-accent:var(--kerst-goud);
  --e-global-color-secondary:var(--kerst-mist);
  --e-global-color-text:var(--kerst-sneeuw);
  --e-global-typography-primary-font-family:"Jost";
  --e-global-typography-secondary-font-family:"Cinzel";
  --e-global-typography-text-font-family:"Jost";
  --e-global-typography-accent-font-family:"Jost";
}

/* Basis */
html body{background:var(--kerst-nacht);color:var(--kerst-sneeuw);font-family:"Jost",Arial,Helvetica,sans-serif;font-size:15px;}
body .wrapall,body .boxed-layout{background-color:var(--kerst-blauw);}
body h1,body h2,body h3,body h4,body h5,body h6,body .title-h1{font-family:"Jost",Arial,sans-serif;color:var(--kerst-goud);font-weight:500;}
body h2,body h3{letter-spacing:.04em;}
body a{color:var(--kerst-goud);}
body a:hover,body h1 a:hover,body h2 a:hover,body h3 a:hover{color:var(--kerst-goud-licht);}
body ::selection{background:var(--kerst-goud);color:var(--kerst-nacht);}

/* Cinzel: spaarzaam, alleen voor de hoofdtitel van een pagina */
body h1,body .title-h1,body .elementor-widget-heading h1.elementor-heading-title{font-family:"Cinzel",Georgia,serif;letter-spacing:.12em;font-weight:400;text-transform:uppercase;}

/* Schreefloze accenten met extra letterafstand (zoals op de poster) */
body #navigation > ul > li > a,
body .font-special,body .button,body button,body input[type=submit],body .restart_button,
body .elementor-button,body h6,body .titlebar h1,body #footer .widget h3{
  font-family:"Jost",Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;
}

/* Header en menu */
body #header.header-v1,body #header.header-v3,body #header.header-v4,
body .header-v3 .navigation-wrap,body .header-v4 .navigation-wrap,
body .stuck,body #mobile-header{background:var(--kerst-nacht);border-color:var(--kerst-schemer);}
body #topbar,body #topbar .topbar-col1{background:var(--kerst-nacht);color:var(--kerst-mist);}
body #navigation > ul > li > a{color:var(--kerst-sneeuw);font-size:14px;font-weight:400;}
body #navigation > ul > li:hover > a,body #navigation > ul > li > a:hover,
body #navigation li.current-menu-item > a,body #navigation li.current-page-ancestor > a,
body #navigation li.current-menu-ancestor > a,body #navigation li.current-menu-parent > a,
body #navigation li.current_page_ancestor > a{color:var(--kerst-goud);}
body #navigation ul li:hover,body #navigation li.current-menu-item,body #navigation li.current-page-ancestor,
body #navigation li.current-menu-ancestor,body #navigation li.current-menu-parent{border-color:var(--kerst-goud);}
body #navigation .sub-menu,body #mobile-navigation{background:var(--kerst-nacht);}
body #navigation .sub-menu li a,body #mobile-navigation ul li a{color:var(--kerst-mist);border-color:var(--kerst-schemer)!important;}
body #navigation .sub-menu li a:hover,body #mobile-navigation ul li a:hover{color:var(--kerst-goud);}
body .header-v1 .header-icons-divider{background:var(--kerst-schemer);}
body #search-btn,body #shopping-btn,body #mobile-navigation-btn,body #mobile-shopping-btn{color:var(--kerst-sneeuw);}
body #shopping-btn span{background:var(--kerst-goud);color:var(--kerst-nacht);}
body .widget_shopping_cart,body #search-top,body #search-top input{background:var(--kerst-nacht);color:var(--kerst-sneeuw);}

/* Titelbalk */
body #fulltitle{background:var(--kerst-nacht);border-bottom-color:var(--kerst-schemer);}
body .titlebar h1{color:var(--kerst-goud);font-size:16px;}
body #breadcrumbs,body #breadcrumbs a{color:var(--kerst-mist);}

/* Footer */
body #footer{background-color:var(--kerst-nacht);color:var(--kerst-mist);}
body #footer a{color:var(--kerst-mist);}
body #footer a:hover{color:var(--kerst-goud);}
body #footer .widget h3{color:var(--kerst-goud);}
body #copyright{background:#1c2733;color:var(--kerst-mist);}

/* Knoppen */
body a.button,body input[type=submit],body button,body .restart_button,
body .woocommerce .button,body .woocommerce button.button,body .woocommerce a.button,
body .woocommerce .button.checkout-button,body .elementor-button{
  background:var(--kerst-goud);border-color:var(--kerst-goud);color:var(--kerst-nacht)!important;
}
body a.button:hover,body input[type=submit]:hover,body button:hover,body .woocommerce .button:hover,
body .elementor-button:hover{background:var(--kerst-goud-licht);border-color:var(--kerst-goud-licht);}
body .products .button.add_to_cart_button{color:var(--kerst-nacht)!important;}

/* Overige accentkleur van het thema */
body .highlight,body .counter-number,body .dropcap.dropcap-color,body .masonry_icon i{color:var(--kerst-goud)!important;}
body #pagination .current a,body #back-to-top a:hover,body .woocommerce-message,
body .product .onsale,body .woocommerce .products .onsale{background:var(--kerst-goud);color:var(--kerst-nacht);}

/* Formulieren */
body input[type=text],body input[type=email],body input[type=tel],body input[type=number],
body input[type=password],body textarea,body select{
  background:var(--kerst-nacht);color:var(--kerst-sneeuw);border:1px solid var(--kerst-schemer);
}

/* WooCommerce (winkelwagen, afrekenen, tickets) */
body .woocommerce table.shop_table,body .woocommerce table.shop_table td,body .woocommerce table.shop_table th,
body .woocommerce-checkout-review-order,body .cart_totals,body #payment,
body .woocommerce-info,body .woocommerce-error{
  background:var(--kerst-blauw)!important;color:var(--kerst-sneeuw)!important;border-color:var(--kerst-schemer)!important;
}
body #payment div.payment_box{background:var(--kerst-schemer)!important;color:var(--kerst-sneeuw)!important;}
body #payment div.payment_box:before{border-bottom-color:var(--kerst-schemer)!important;}
body .woocommerce .price,body .woocommerce .amount{color:var(--kerst-goud);}
body .woocommerce-info,body .woocommerce-message{border-top-color:var(--kerst-goud)!important;}

/* Elementor-tekst die geen globale kleur gebruikt */
body .elementor-widget-text-editor{color:var(--kerst-sneeuw);}

/* Rode tekstkleuren die met de hand in de pagina-inhoud zijn gezet */
body [style*="#993300"],body [style*="#800000"],body [style*="#9c2b1f"],body [style*="#9C2B1F"],
body [style*="#c24c3f"],body [style*="#C24C3F"],body [style*="rgb(156, 43, 31)"]{color:var(--kerst-goud)!important;}

/* Niet vet en cursief tegelijk: waar beide in de inhoud staan, blijft alleen cursief over */
body strong em,body em strong,body b i,body i b,body strong i,body i strong,body b em,body em b,
body strong [style*="italic"],body em [style*="bold"]{font-weight:400!important;}

/* Lopende tekst: iets ruimere letterafstand, in de geest van de poster */
html body,body p,body li,body td,body .elementor-widget-text-editor{letter-spacing:.04em;}

/* Geen small caps: Cinzel kent geen kleine letters, dus alles in hoofdletters (zie h1-regel) */
body *{font-variant-caps:normal!important;}

/* ==========================================================
   Landingspagina (sjabloon "Kerst landingspagina")
   ========================================================== */
body.page-template-page-kerst-home #fulltitle,
body.page-template-page-kerst-home .titlebar{display:none;}
body.page-template-page-kerst-home #page-wrap,
body.page-template-page-kerst-home .container{max-width:none;}
.kerst-landing{background:var(--kerst-blauw);color:var(--kerst-sneeuw);}
.kerst-landing p{margin:0 0 .6em;}
.kerst-goud{color:var(--kerst-goud);}
.kerst-label{font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.22em;color:var(--kerst-goud);font-size:.95rem;font-weight:500;}
.kerst-label--ruimte{margin-top:1.4em!important;}
.kerst-klein{font-size:.9rem;color:var(--kerst-mist);}
.kerst-container{max-width:1100px;margin:0 auto;padding:0 20px;}
.kerst-container--smal{max-width:760px;}
.kerst-sectie{padding:80px 0;}
.kerst-kop{font-family:"Jost",sans-serif!important;text-transform:uppercase;letter-spacing:.22em;text-align:center;color:var(--kerst-goud);font-size:1.6rem;margin:0 0 40px;}

/* Poster, volledig scherm */
.kerst-hero{position:relative;min-height:100vh;min-height:100svh;background:var(--kerst-nacht) center 70%/cover no-repeat;display:flex;align-items:flex-start;justify-content:center;text-align:center;padding:12vh 20px 120px;box-sizing:border-box;}
.kerst-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,50,65,.15) 0%,rgba(36,50,65,0) 40%,rgba(36,50,65,.55) 78%,var(--kerst-blauw) 100%);}
.kerst-hero__inhoud{position:relative;z-index:1;max-width:760px;width:100%;}
.kerst-hero__titel{margin:0!important;font-size:0!important;line-height:0;}
.kerst-hero__titel-img{width:min(620px,88vw);height:auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.35));}
.kerst-hero__ondertitel{font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.3em;color:var(--kerst-sneeuw);font-size:1rem;margin:1.2em 0 0!important;}
.kerst-hero__info{margin-top:46vh;display:flex;justify-content:center;text-align:left;}
.kerst-hero__info p{color:var(--kerst-sneeuw);text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;text-shadow:0 1px 6px rgba(0,0,0,.5);}
.kerst-datum{font-family:"Jost",sans-serif;font-size:2rem!important;letter-spacing:.2em!important;color:var(--kerst-sneeuw);margin-bottom:.4em!important;}
.kerst-hero__knop{margin-top:28px;}
.kerst-hero__scroll{position:absolute;bottom:28px;left:50%;width:22px;height:22px;margin-left:-11px;border-right:2px solid var(--kerst-goud);border-bottom:2px solid var(--kerst-goud);transform:rotate(45deg);z-index:1;}

/* Knoppen */
.kerst-knop{display:inline-block;background:var(--kerst-goud);color:var(--kerst-nacht)!important;font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-weight:500;padding:14px 30px;border-radius:2px;text-decoration:none;transition:background .2s;}
.kerst-knop:hover{background:var(--kerst-goud-licht);}
.kerst-knop--rand{background:transparent;border:1px solid var(--kerst-goud);color:var(--kerst-goud)!important;}
.kerst-knop--rand:hover{background:var(--kerst-goud);color:var(--kerst-nacht)!important;}

/* Kaartverkoop */
.kerst-kaarten{background:var(--kerst-nacht);}
.kerst-kaarten__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.kerst-kaart{border:1px solid var(--kerst-schemer);padding:36px 28px;text-align:center;background:var(--kerst-blauw);}
.kerst-kaart h3{font-family:"Jost",sans-serif!important;color:var(--kerst-sneeuw)!important;font-size:1.35rem;letter-spacing:.06em;margin:.2em 0 1em;}

/* Meer informatie */
.kerst-info{font-size:1.05rem;line-height:1.8;}
.kerst-musici{margin-top:48px;padding-top:32px;border-top:1px solid var(--kerst-schemer);}
.kerst-musici ul{list-style:none;margin:0;padding:0;}
.kerst-musici li{padding:3px 0;}
.kerst-musici em{color:var(--kerst-goud);}

/* Nieuwste berichten */
.kerst-berichten{background:var(--kerst-nacht);}
.kerst-berichten__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-bottom:40px;}
.kerst-bericht__beeld img{width:100%;height:220px;object-fit:cover;display:block;margin-bottom:14px;}
.kerst-bericht h3{font-size:1.2rem;margin:.2em 0 .5em;}
.kerst-bericht h3 a{color:var(--kerst-goud);}
.kerst-berichten .kerst-knop--rand{display:table;margin:0 auto;}

@media (max-width:767px){
  .kerst-hero{padding-top:9vh;background-position:30% 70%;}
  .kerst-hero__info{margin-top:34vh;}
  .kerst-datum{font-size:1.5rem!important;}
  .kerst-sectie{padding:56px 0;}
}
.kerst-prijs{color:var(--kerst-mist);font-size:.95rem;margin:.4em 0!important;}
.kerst-kaart .kerst-knop{margin:4px;}

/* Kerstlogo: vaste hoogte (het bestand zelf is groot) */
body #logo img.logo_standard,body #mobile-logo img.logo_standard{height:124px!important;width:auto!important;max-width:none!important;}
@media (max-width:959px){body #mobile-logo img.logo_standard{height:110px!important;}}

/* Ankers niet onder de vaste menubalk laten verdwijnen */
.kerst-landing section{scroll-margin-top:110px;}

/* Aantalveld in winkelwagen en product leesbaar houden */
body .quantity input.qty,body .quantity .input-group input{background:var(--kerst-nacht)!important;color:var(--kerst-sneeuw)!important;border-color:var(--kerst-schemer)!important;}
body .quantity .input-group button,body .quantity .input-group input[type=button]{background:var(--kerst-schemer)!important;color:var(--kerst-sneeuw)!important;border-color:var(--kerst-schemer)!important;}

/* Parallax-laag voor de poster */
.kerst-hero{overflow:hidden;background-image:none!important;}
.kerst-hero__bg{position:absolute;left:0;right:0;top:0;height:100%;background:var(--kerst-nacht) center 70%/cover no-repeat;will-change:transform;z-index:0;}
.kerst-hero:before{z-index:1;}
.kerst-hero__inhoud,.kerst-hero__scroll{z-index:2;}
.kerst-hero__kop{will-change:transform;}
@media (max-width:767px){.kerst-hero__bg{background-position:30% 70%;}}

/* Niet-klikbare infoknop (kerstdiner) */
.kerst-knop--info{background:transparent;border:1px solid var(--kerst-goud);color:var(--kerst-goud)!important;cursor:default;text-transform:none;letter-spacing:.06em;line-height:1.5;font-weight:400;padding:12px 18px;}
.kerst-knop--info:hover{background:transparent;}

/* Blogtitels (overzicht en losse berichten): parent-thema zet ze op #444 */
body .post .entry-title h1,
body .post .entry-title h2,
body .post .entry-title h1 a,
body .post .entry-title h2 a { color: var(--kerst-goud); }
body .post .entry-title h1 a:hover,
body .post .entry-title h2 a:hover { color: var(--kerst-goud-licht); }

/* Nieuwsbrief-link onder de kaartverkoop */
body .kerst-kaarten .kerst-nieuwsbrief { text-align: center; margin: 2.5em auto 0 !important; max-width: 40em; }
body .kerst-nieuwsbrief a { color: var(--kerst-goud); border-bottom: 1px solid currentColor; text-decoration: none; padding-bottom: 2px; }
body .kerst-nieuwsbrief a:hover { color: var(--kerst-goud-licht); }

/* Oproep Matthäus-Passion boven het nieuws */
.kerst-oproep { background: #3b5068; }
.kerst-oproep__grid { display: grid; grid-template-columns: 2fr 3fr; gap: 48px; align-items: center; }
.kerst-oproep__beeld img { display: block; width: 100%; height: auto; }
body .kerst-oproep h2 { margin: 0 0 .3em; }
.kerst-oproep__sub { font-style: italic; color: var(--kerst-mist); }
@media (max-width: 767px) { .kerst-oproep__grid { grid-template-columns: 1fr; gap: 24px; } }

/* Footer: vak 4 (correspondentie, zonder kop) uitlijnen met het bezoekadres in vak 3 */
@media (min-width: 768px) { #footer .container > .four.columns:nth-child(4) { padding-top: 59px; } }
