/* Regiopagina's (werkgebied): /wix-website, /wix-websites, /wix-expert, /wix-design-development (assets/regio.js). */

/* ---- kop ---- */
.rg-title{font-size:clamp(40px,5.4vw,78px);line-height:1.04;margin-bottom:18px;max-width:14em}
.rg-sub{font-family:var(--fh);font-size:clamp(19px,1.6vw,23px);line-height:1.35;color:#fff;margin-bottom:14px;max-width:32em}
.rg-hero .lead{max-width:38em}

/* kaart rechts: locatie met cijfers */
.rg-vis{aspect-ratio:auto;padding:40px 0}
.rg-map{position:relative;width:100%;max-width:440px;border-radius:26px;padding:30px;background:rgba(27,29,46,.92);border:1px solid var(--line-d);box-shadow:0 40px 80px rgba(0,0,0,.45);overflow:hidden}
.rg-map::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:16px 16px;mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 70%);pointer-events:none}
.rg-rings{position:absolute;left:50%;top:78px;transform:translate(-50%,-50%)}
.rg-rings i{position:absolute;left:50%;top:50%;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;border:1px solid rgba(122,151,253,.5);animation:rgRing 3.6s var(--ease) infinite}
.rg-rings i:nth-child(2){animation-delay:1.2s}.rg-rings i:nth-child(3){animation-delay:2.4s}
@keyframes rgRing{0%{transform:scale(.4);opacity:0}25%{opacity:1}100%{transform:scale(2.6);opacity:0}}
.rg-pin{position:relative;margin:18px auto 22px;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,var(--spark),var(--spark2));box-shadow:0 18px 36px -10px var(--spark)}
.rg-pin .rg-ico{background:none;width:32px;height:32px;color:#fff}
.rg-place{position:relative;text-align:center;margin-bottom:24px}
.rg-place small{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px}
.rg-place b{font-family:var(--fh);font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:#fff}
.rg-kpis{position:relative;display:grid;gap:10px}
.rg-kpis div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line-d)}
.rg-kpis dt{font-size:14px;color:rgba(255,255,255,.65)}
.rg-kpis dd{font-family:var(--fh);font-size:22px;font-weight:600;color:#fff}
.rg-kpis dd small{font-size:15px;color:#FFC24B;margin-left:3px}
.rg-vis .c1{top:12%;right:-4%}
.rg-vis .c2{bottom:8%;left:-4%}

/* ---- icoon ---- */
.rg-ico{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center;background:rgba(50,95,252,.1);color:var(--spark)}
.rg-ico svg{width:24px;height:24px}
.dark .rg-ico{background:rgba(122,151,253,.14);color:var(--spark2)}

/* ---- kaarten ---- */
.rg-feats .sub p+p{margin-top:12px}
.rg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rg-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-grid.n5{grid-template-columns:repeat(6,minmax(0,1fr))}
.rg-grid.n5 .rg-card{grid-column:span 2}
.rg-grid.n5 .rg-card:nth-child(4){grid-column:2/span 2}
.rg-card{display:flex;flex-direction:column;gap:14px;padding:30px 28px;border-radius:var(--r);background:#fff;border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.rg-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(14,15,26,.08);border-color:var(--spark)}
.rg-card h3{font-size:21px;line-height:1.25}
.rg-card p{color:var(--grey);font-size:16px;line-height:1.6}
.dark .rg-card{background:rgba(255,255,255,.04);border-color:var(--line-d)}
.dark .rg-card:hover{background:rgba(50,95,252,.12);border-color:rgba(122,151,253,.45);box-shadow:none}
.dark .rg-card p{color:rgba(255,255,255,.65)}
.dark .rg-card h3{color:#fff}

/* steden-regel onder een donker blok */
.rg-cities .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:28px;border-top:1px solid var(--line-d)}
.rg-cities p{max-width:820px;font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:rgba(255,255,255,.8)}

/* ---- twee kolommen ---- */
.rg-duo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rg-duo-c{display:flex;flex-direction:column;gap:16px;padding:clamp(28px,3.4vw,48px);border-radius:28px;background:#fff;border:1px solid var(--line)}
.rg-duo-c h2{font-size:clamp(28px,2.8vw,40px);line-height:1.12;margin-bottom:4px}
.rg-duo-c p{color:#3b3e4f;font-size:17px;line-height:1.65}
.rg-duo-c .btn{align-self:flex-start;margin-top:auto}
.rg-duo-c .rg-note{color:var(--grey);font-size:16px}
.rg-checks{list-style:none;display:grid;gap:10px;padding:0;margin:4px 0 8px}
.rg-checks li{position:relative;padding-left:34px;font-size:16.5px;line-height:1.5;color:var(--ink)}
.rg-checks li::before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--spark)}

/* ---- Wix Optimaal-band ---- */
.rg-band-card{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:clamp(32px,4.4vw,60px);border-radius:32px;background:linear-gradient(120deg,var(--spark) 0%,#2340c8 100%);color:#fff}
.rg-band-card::after{content:"";position:absolute;right:-80px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.2),transparent);pointer-events:none}
.rg-band-card>div{position:relative;max-width:720px}
.rg-band-card h2{font-size:clamp(28px,3vw,44px);line-height:1.1;margin-bottom:12px;color:#fff}
.rg-band-card h2 em{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:rgba(255,255,255,.45)}
.rg-band-card p{color:rgba(255,255,255,.82);font-size:18px}
.rg-band-card .btn{position:relative;background:#fff;color:var(--ink)}
.rg-band-card .btn:hover{background:var(--ink);color:#fff}

/* projecten: buiten het vaste ritme van style.css (zie koppeling.css) */
main.regio > section.rg-projects{padding-top:var(--sec);padding-bottom:var(--sec)}

/* ---- plaatsen (chips) ---- */
.rg-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.rg-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;transition:background .25s,color .25s,border-color .25s,transform .3s var(--ease)}
.rg-chips a:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
.rg-chips .rg-ico{width:24px;height:24px;border-radius:50%}
.rg-chips .rg-ico svg{width:14px;height:14px}
.rg-chips a:hover .rg-ico{background:rgba(255,255,255,.12);color:#fff}

/* overzicht */
.rg-hub-g+.rg-hub-g{margin-top:clamp(48px,6vw,80px)}
.rg-hub-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.rg-hub-h h2{font-size:clamp(28px,3vw,42px);margin:0}
.rg-hub-h span{font-size:14px;color:var(--grey);font-weight:600}

.rg-contact-txt p{color:var(--grey)}
.rg-contact-txt p+p{margin-top:10px}

@media (max-width:1199px){
  .rg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rg-grid.n5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-grid.n5 .rg-card,.rg-grid.n5 .rg-card:nth-child(4){grid-column:auto}
}
@media (max-width:991px){
  .rg-duo-grid{grid-template-columns:1fr}
  .rg-grid.n3{grid-template-columns:1fr}
  .rg-vis{justify-self:center}
}
@media (max-width:767px){
  .rg-grid,.rg-grid.n5{grid-template-columns:1fr}
  .rg-card{padding:24px}
  .rg-map{padding:22px}
  .rg-chips a{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.rg-rings i{animation:none;opacity:.3}}
