/*
Theme Name: Hemels Contact Elementor Theme
Theme URI: https://hemelscontact.nl/
Author: MofaSoft / ChatGPT
Description: Rustgevend paars/lila WordPress thema voor medium/paragnost praktijk Hemels Contact. Elementor-ready, SEO-vriendelijk en zonder automatische paginatitels.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: hemels-contact
*/

:root{
  --hc-purple:#4A154B;
  --hc-deep:#6A1B9A;
  --hc-lilac:#D8B4FE;
  --hc-light:#E9D5FF;
  --hc-gold:#D4AF37;
  --hc-cream:#FAF7FB;
  --hc-text:#333333;
  --hc-muted:#6b6070;
  --hc-white:#ffffff;
  --hc-shadow:0 18px 45px rgba(74,21,75,.16);
}
*{box-sizing:border-box}
body{margin:0;background:var(--hc-cream);color:var(--hc-text);font-family:'Nunito',Arial,sans-serif;line-height:1.7;font-size:17px}
a{color:var(--hc-deep);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--hc-purple);line-height:1.18;margin:0 0 18px}h1{font-size:clamp(42px,6vw,78px)}h2{font-size:clamp(30px,4vw,48px)}h3{font-size:26px}.hc-container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 8px 22px rgba(74,21,75,.08)}.hc-nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:28px}.hc-logo{font-family:'Playfair Display',serif;font-size:30px;font-weight:800;color:var(--hc-purple)}.hc-logo span{display:block;font-family:'Nunito',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--hc-deep);margin-top:-4px}.primary-menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}
.hc-menu-toggle{display:none;flex-direction:column;gap:5px;width:46px;height:46px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,var(--hc-deep),var(--hc-purple));box-shadow:0 10px 24px rgba(106,27,154,.22);padding:0}.hc-menu-toggle span{display:block;width:23px;height:2px;background:#fff;border-radius:99px;transition:.25s ease}.hc-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hc-menu-toggle.is-open span:nth-child(2){opacity:0}.hc-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-menu a{font-weight:800;color:var(--hc-purple)}.hc-button,.wp-block-button__link,input[type=submit],button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--hc-deep),var(--hc-purple));color:white!important;font-weight:900;padding:14px 26px;box-shadow:0 12px 28px rgba(106,27,154,.28);cursor:pointer;text-decoration:none!important;transition:.25s ease}.hc-button:hover,input[type=submit]:hover,button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(106,27,154,.34)}.hc-button.secondary{background:var(--hc-white);color:var(--hc-purple)!important;border:1px solid rgba(106,27,154,.18);box-shadow:var(--hc-shadow)}.hc-hero{min-height:88vh;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 25% 15%,rgba(216,180,254,.95),transparent 33%),linear-gradient(135deg,rgba(74,21,75,.92),rgba(106,27,154,.78)),url('assets/img/hero.svg');background-size:cover;background-position:center}.hc-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(212,175,55,.23),transparent 25%),radial-gradient(circle at 18% 78%,rgba(233,213,255,.32),transparent 28%)}.hc-hero-inner{position:relative;z-index:1;color:white;width:min(850px,92%);margin:auto;text-align:center}.hc-hero h1{color:white;text-shadow:0 8px 30px rgba(0,0,0,.22)}.hc-hero p{font-size:clamp(20px,2.3vw,27px);color:#fff;margin:0 auto 30px;max-width:790px}.hc-hero .hc-kicker{display:inline-block;color:var(--hc-light);font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.hc-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hc-section{padding:86px 0}.hc-section.light{background:white}.hc-center{text-align:center}.hc-lead{font-size:21px;color:var(--hc-muted);max-width:820px;margin:0 auto 34px}.hc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.hc-grid.two{grid-template-columns:repeat(2,1fr)}.hc-card{background:white;border-radius:28px;padding:34px;box-shadow:var(--hc-shadow);border:1px solid rgba(106,27,154,.09);height:100%}.hc-card .icon{font-size:42px;margin-bottom:16px}.hc-card p{color:var(--hc-muted)}.hc-card h3{margin-bottom:10px}.hc-service-card{position:relative;overflow:hidden}.hc-service-card:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;background:var(--hc-light);border-radius:50%;opacity:.6}.hc-band{background:linear-gradient(135deg,var(--hc-purple),var(--hc-deep));color:white;border-radius:34px;padding:54px;box-shadow:var(--hc-shadow)}.hc-band h2,.hc-band h3{color:white}.hc-band p{color:#f7efff}.hc-list{display:grid;gap:12px;margin:22px 0;padding:0;list-style:none}.hc-list li{background:rgba(216,180,254,.18);padding:13px 16px;border-radius:16px}.hc-testimonial{font-size:20px;font-style:italic}.hc-stars{color:var(--hc-gold);letter-spacing:3px;font-style:normal}.entry-title,.page-title{display:none!important}.site-main{min-height:60vh}.hc-page-title{padding:84px 0;background:linear-gradient(135deg,var(--hc-light),white);text-align:center}.hc-page-title h1{display:block!important;color:var(--hc-purple)}.hc-form{background:white;border-radius:28px;padding:32px;box-shadow:var(--hc-shadow)}.hc-form input,.hc-form textarea,.hc-form select{width:100%;padding:14px 16px;margin:8px 0 18px;border:1px solid rgba(106,27,154,.18);border-radius:16px;font:inherit;background:#fff}.hc-form textarea{min-height:150px}.hc-honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}.site-footer{background:var(--hc-purple);color:#f7efff;padding:50px 0;text-align:center}.site-footer a{color:var(--hc-light)}@media(max-width:900px){.hc-grid,.hc-grid.two{grid-template-columns:1fr}.hc-nav{min-height:72px;gap:14px}.hc-logo{font-size:25px}.hc-logo span{font-size:11px}.hc-menu-toggle{display:flex}.hc-mobile-nav{position:absolute;left:4%;right:4%;top:78px;background:white;border:1px solid rgba(106,27,154,.12);border-radius:24px;box-shadow:var(--hc-shadow);padding:12px;display:none}.hc-mobile-nav.is-open{display:block}.hc-mobile-nav .primary-menu{display:flex;flex-direction:column;gap:0;align-items:stretch}.hc-mobile-nav .primary-menu li{border-bottom:1px solid rgba(106,27,154,.08)}.hc-mobile-nav .primary-menu li:last-child{border-bottom:0}.hc-mobile-nav .primary-menu a{display:block;padding:14px 16px;border-radius:14px}.hc-mobile-nav .primary-menu a:hover{background:var(--hc-cream);text-decoration:none}.hc-nav>.hc-button{display:none}.hc-section{padding:62px 0}.hc-band{padding:34px}.hc-hero{min-height:78vh}}


/* v1.0.2 - Mobiele header fix: herkenbare hamburger + geen CTA in de topbalk */
@media (max-width: 900px){
  .site-header .hc-container{width:100%;padding:0 18px;}
  .site-header .hc-nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .site-header .hc-logo{font-size:24px;line-height:1.05;max-width:230px;}
  .site-header .hc-logo span{font-size:11px;letter-spacing:.14em;margin-top:3px;}
  .site-header .hc-nav > .hc-button{display:none!important;}
  .site-header .hc-menu-toggle{
    display:flex!important;
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:0!important;
    border:0!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,var(--hc-deep),var(--hc-purple))!important;
    box-shadow:0 10px 24px rgba(106,27,154,.22)!important;
    transform:none!important;
  }
  .site-header .hc-menu-toggle:hover{transform:none!important;}
  .site-header .hc-menu-toggle span{display:block!important;width:24px!important;height:3px!important;background:#fff!important;border-radius:99px!important;margin:0!important;}
  .site-header .hc-mobile-nav{top:76px;left:18px;right:18px;z-index:9999;}
}
@media (min-width: 901px){
  .site-header .hc-menu-toggle{display:none!important;}
  .site-header .hc-mobile-nav{display:block!important;position:static;background:transparent;border:0;box-shadow:none;padding:0;}
}
@media (max-width: 420px){
  .site-header .hc-logo{font-size:22px;max-width:205px;}
  .site-header .hc-logo span{font-size:10px;letter-spacing:.12em;}
}


/* v1.0.3 - HARD MOBILE HEADER FIX */
@media (max-width: 900px){
  body .site-header{position:sticky;top:0;z-index:99999;}
  body .site-header .hc-nav{
    width:100%!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:1fr 52px!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 18px!important;
  }
  body .site-header .hc-logo{grid-column:1!important;font-size:24px!important;line-height:1.05!important;max-width:none!important;}
  body .site-header .hc-logo span{font-size:11px!important;letter-spacing:.14em!important;margin-top:4px!important;}
  body .site-header .hc-nav > a.hc-button,
  body .site-header a.hc-button[href*="contact"]{display:none!important;visibility:hidden!important;width:0!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;}
  body .site-header .hc-menu-toggle{
    grid-column:2!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#6A1B9A,#4A154B)!important;
    box-shadow:0 10px 24px rgba(106,27,154,.25)!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body .site-header .hc-menu-toggle:before,
  body .site-header .hc-menu-toggle:after{content:none!important;display:none!important;}
  body .site-header .hc-menu-toggle span{
    display:block!important;
    position:static!important;
    width:27px!important;
    height:3px!important;
    min-height:3px!important;
    background:#fff!important;
    border-radius:99px!important;
    opacity:1!important;
    margin:0!important;
    padding:0!important;
  }
  body .site-header .hc-mobile-nav{
    grid-column:1 / -1!important;
    display:none!important;
    position:absolute!important;
    left:18px!important;
    right:18px!important;
    top:78px!important;
    z-index:100000!important;
    background:#fff!important;
    border-radius:22px!important;
    padding:12px!important;
    box-shadow:0 18px 45px rgba(74,21,75,.18)!important;
  }
  body .site-header .hc-mobile-nav.is-open{display:block!important;}
  body .site-header .hc-mobile-nav ul.primary-menu{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;}
  body .site-header .hc-mobile-nav ul.primary-menu a{display:block!important;padding:15px 16px!important;}
}

/* Contactformulier meldingen */
.hc-notice{padding:14px 16px;border-radius:16px;margin-bottom:18px;font-weight:800;line-height:1.45}
.hc-notice.success{background:#efe7ff;color:#4A154B;border:1px solid #D8B4FE}
.hc-notice.error{background:#fff1f2;color:#7f1d1d;border:1px solid #fecdd3}
