/*
 * Herstelgolven – Mijn golven
 * Compactere visuele variant, gebaseerd op 0.1.3.
 * Alleen presentatie; geen test- of routelogica.
 */

/* Deze stylesheet wordt uitsluitend geladen op de pagina met [hg_mijn_golven].
   Verberg daarom de volledige standaard WordPress-paginatitelzone, niet alleen de titeltekst. */
.page-header,
.entry-header,
main > .page-header,
main > .entry-header,
.site-main > .page-header,
.site-main > .entry-header,
.hentry > .entry-header,
article > .entry-header,
.entry-content > .wp-block-post-title,
.wp-block-post-title,
.page-title,
.entry-title{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}
.entry-content,
.page-content{
  margin-top:0!important;
  padding-top:0!important;
}

.hgmg-fullbleed{
  --hgmg-ink:#102f42;
  --hgmg-navy:#12394d;
  --hgmg-blue:#1f6074;
  --hgmg-teal:#4f9092;
  --hgmg-sea:#9bc9c5;
  --hgmg-aqua:#b9ddd8;
  --hgmg-mist:#dcebec;
  --hgmg-ice:#edf5f5;
  --hgmg-coral:#df9483;
  --hgmg-coral-soft:#f0b6a8;
  position:relative;
  left:50%;
  right:50%;
  width:100vw!important;
  max-width:none!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  overflow:hidden;
  color:var(--hgmg-ink);
  background:
    radial-gradient(circle at 86% 16%, rgba(128,165,194,.18), transparent 24%),
    radial-gradient(circle at 9% 90%, rgba(79,144,146,.18), transparent 28%),
    linear-gradient(118deg,#edf4f4 0%,#dcebea 50%,#d7e7ef 100%);
}
.hgmg-fullbleed::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-300px;
  top:-210px;
  border:1px solid rgba(16,47,66,.08);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(255,255,255,.08);
  pointer-events:none;
}
.hgmg-shell{
  position:relative;
  z-index:1;
  width:min(1040px,calc(100% - 40px));
  margin:0 auto;
  padding:28px 0 30px;
  font-family:inherit;
}
.hgmg-hero{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(320px,1.22fr);
  gap:34px;
  align-items:end;
  max-width:none;
  margin:0 0 22px;
}
.hgmg-eyebrow{
  grid-column:1 / -1;
  margin:0 0 -20px!important;
  color:#3f7780!important;
  font-size:.72rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hgmg-hero h1{
  margin:0!important;
  color:var(--hgmg-ink)!important;
  font-size:clamp(2rem,4vw,3.15rem);
  line-height:.98;
  letter-spacing:-.035em;
}
.hgmg-lead{
  max-width:650px;
  margin:0 0 3px!important;
  color:#315c65!important;
  font-size:1rem;
  line-height:1.55;
}

/* Twee keuzes direct naast elkaar: hoofdroute + verdieping. */
.hgmg-feature,
.hgmg-secondary,
.hgmg-conversation{
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.hgmg-feature:hover,
.hgmg-feature:focus-visible,
.hgmg-secondary:hover,
.hgmg-secondary:focus-visible,
.hgmg-conversation:hover,
.hgmg-conversation:focus-visible{
  transform:translateY(-3px);
  outline:none;
}

.hgmg-feature{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:24px;
  align-items:center;
  min-height:250px;
  padding:30px 32px;
  border-radius:24px;
  overflow:hidden;
  color:#fff!important;
  background:
    radial-gradient(circle at 91% 11%, rgba(223,148,131,.76) 0 52px, transparent 53px),
    linear-gradient(135deg,#12384b 0%,#1b566b 58%,#2f7781 100%);
  box-shadow:0 16px 38px rgba(18,57,77,.18);
}
.hgmg-feature::after{
  content:"";
  position:absolute;
  width:310px;
  height:160px;
  right:-65px;
  bottom:-95px;
  border:1px solid rgba(220,235,236,.20);
  border-radius:50%;
  transform:rotate(-6deg);
}
.hgmg-feature:hover,
.hgmg-feature:focus-visible{
  box-shadow:0 20px 46px rgba(18,57,77,.25);
}
.hgmg-feature-copy{position:relative;z-index:2}
.hgmg-tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin:0 0 19px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#e8f3f3;
  font-size:.68rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.hgmg-feature h2{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.04;
  letter-spacing:-.025em;
}
.hgmg-feature p{
  max-width:500px;
  margin:0!important;
  color:#dcecee!important;
  font-size:.96rem;
  line-height:1.55;
}
.hgmg-feature-visual{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hgmg-feature-visual svg{width:175px;height:auto;overflow:visible}
.hgmg-feature-visual path{
  fill:none;
  stroke:#b7dfe1;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hgmg-feature-visual path.soft{opacity:.36;stroke-width:2}
.hgmg-action{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:20px;
  font-size:.9rem;
  font-weight:850;
}
.hgmg-action span{font-size:1.12rem;transition:transform .2s ease}
.hgmg-feature:hover .hgmg-action span,
.hgmg-secondary:hover .hgmg-action span,
.hgmg-conversation:hover .hgmg-action span{transform:translateX(4px)}

/* Geen extra tussenkop die weer verticale ruimte opeet. */
.hgmg-explore-head{
  margin:18px 0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.hgmg-explore-head h2{
  margin:0!important;
  color:var(--hgmg-ink)!important;
  font-size:1.05rem;
  line-height:1.2;
}
.hgmg-explore-head p{
  margin:0!important;
  color:#54727a!important;
  font-size:.82rem;
}

.hgmg-secondary{
  display:grid;
  grid-template-columns:78px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  min-height:138px;
  padding:22px 26px;
  border:1px solid rgba(29,88,98,.10);
  border-radius:22px;
  color:var(--hgmg-ink)!important;
  background:
    radial-gradient(circle at 13% 22%, rgba(223,148,131,.16), transparent 24%),
    radial-gradient(circle at 87% 24%, rgba(94,157,163,.18), transparent 28%),
    linear-gradient(120deg,#e0f0ee 0%,#c2dfdb 100%);
  box-shadow:0 13px 30px rgba(22,76,86,.10);
}
.hgmg-secondary:hover,
.hgmg-secondary:focus-visible{
  box-shadow:0 18px 38px rgba(22,76,86,.16);
}
.hgmg-secondary-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:var(--hgmg-coral);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.hgmg-secondary-icon svg{width:57px;height:auto;overflow:visible}
.hgmg-secondary-icon path,
.hgmg-secondary-icon circle{
  fill:none;
  stroke:#edf7f6;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hgmg-secondary-copy .hgmg-tag{
  margin:0 0 8px;
  border-color:rgba(191,105,88,.22);
  background:rgba(255,242,238,.62);
  color:#a45d50;
}
.hgmg-secondary h3{
  margin:0 0 6px!important;
  color:var(--hgmg-ink)!important;
  font-size:clamp(1.28rem,2.2vw,1.65rem);
  line-height:1.08;
  letter-spacing:-.018em;
}
.hgmg-secondary p{
  max-width:590px;
  margin:0!important;
  color:#4c5d5f!important;
  font-size:.91rem;
  line-height:1.45;
}
.hgmg-secondary .hgmg-action{
  margin:0;
  white-space:nowrap;
  color:#173f4d;
}

/* Compacte derde ingang: kaarten als koele, rustige gespreksopening. */
.hgmg-conversation{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:12px;
  padding:21px 26px;
  border:1px solid rgba(63,119,128,.15);
  border-radius:20px;
  color:var(--hgmg-ink)!important;
  background:linear-gradient(120deg,#f3f7f7 0%,#e8f0f1 58%,#e1ecee 100%);
  box-shadow:0 10px 24px rgba(22,76,86,.07);
}
.hgmg-conversation:hover,
.hgmg-conversation:focus-visible{
  box-shadow:0 15px 32px rgba(22,76,86,.12);
}
.hgmg-conversation .hgmg-tag{
  margin:0 0 8px;
  border-color:rgba(63,119,128,.20);
  background:rgba(155,201,197,.18);
  color:#3f7780;
}
.hgmg-conversation h3{
  margin:0 0 6px!important;
  color:var(--hgmg-ink)!important;
  font-size:clamp(1.18rem,2vw,1.48rem);
  line-height:1.08;
  letter-spacing:-.015em;
}
.hgmg-conversation p{
  max-width:700px;
  margin:0!important;
  color:#4c6267!important;
  font-size:.9rem;
  line-height:1.48;
}
.hgmg-conversation .hgmg-action{
  margin:0;
  white-space:nowrap;
  color:#173f4d;
}

/* De drie stappen blijven, maar als compacte slotregel. */
.hgmg-how{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:18px auto 0;
  padding:10px 14px;
  border:0;
  border-radius:14px;
  background:rgba(255,255,255,.48);
}
.hgmg-how div{display:flex;align-items:center;gap:7px;white-space:nowrap}
.hgmg-how span{color:#bd6f60;font-size:.67rem;font-weight:900;letter-spacing:.08em}
.hgmg-how strong{color:#405c62;font-size:.78rem;font-weight:760}
.hgmg-how i{width:24px;height:1px;background:rgba(16,47,66,.13)}
.hgmg-note{
  margin:9px 0 0!important;
  text-align:center;
  color:#5d7478!important;
  font-size:.78rem;
  line-height:1.4;
}

@media (max-width:780px){
  .hgmg-shell{width:min(100% - 26px,1040px);padding:22px 0 25px}
  .hgmg-hero{grid-template-columns:1fr;gap:8px;margin-bottom:16px}
  .hgmg-eyebrow{grid-column:auto;margin:0 0 2px!important}
  .hgmg-hero h1{font-size:clamp(2rem,10vw,2.8rem)}
  .hgmg-lead{font-size:.95rem}
  .hgmg-feature{grid-template-columns:1fr 130px;min-height:220px;padding:25px;border-radius:21px}
  .hgmg-feature-visual svg{width:130px}
  .hgmg-secondary{grid-template-columns:64px 1fr;padding:19px;border-radius:20px}
  .hgmg-secondary-icon{width:60px;height:60px;border-radius:16px}
  .hgmg-secondary-icon svg{width:47px}
  .hgmg-secondary .hgmg-action{grid-column:2;margin-top:3px}
  .hgmg-conversation{padding:19px 21px}
  .hgmg-explore-head{margin-top:14px}
  .hgmg-how{justify-content:flex-start;overflow-x:auto}
  .hgmg-how i{width:14px;flex:0 0 14px}
}
@media (max-width:520px){
  .hgmg-feature{grid-template-columns:1fr}
  .hgmg-feature-visual{display:none}
  .hgmg-secondary{grid-template-columns:1fr}
  .hgmg-secondary-icon{width:56px;height:56px}
  .hgmg-secondary .hgmg-action{grid-column:1}
  .hgmg-conversation{grid-template-columns:1fr;gap:10px}
  .hgmg-conversation .hgmg-action{margin-top:0}
  .hgmg-explore-head{align-items:flex-start;flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){
  .hgmg-feature,.hgmg-secondary,.hgmg-conversation,.hgmg-action span{transition:none}
}
