/*
Theme Name: Vierhonderd Websites - SEO & Mobiel
Theme URI: https://400eurowebsites.nl/
Description: Veilige SEO- en mobiele upgrade als child-theme. Behoudt het parent-theme, handmatige footer-code en bestaande teksten uit de Customizer.
Author: 400 Euro Websites
Template: vierhonderd-websites
Version: 1.4.0
Text Domain: vierhonderd-websites-seo
Requires at least: 6.2
Requires PHP: 7.4
*/

/* Distinctive commercial copy is untouched. The extra line introduces the primary search intent. */
.hero h1 .vw-seo-h1-prefix{display:block;font-style:normal;color:var(--blue);font-size:clamp(1.04rem,1.85vw,1.48rem);font-weight:800;line-height:1.35;letter-spacing:-.025em;margin-bottom:.62em}

/* A small, useful buying guide; not an SEO text wall. */
.vw-seo-info{background:#fff}
.vw-seo-info-intro{max-width:860px;margin-bottom:34px}
.vw-seo-info-intro h2{max-width:950px}
.vw-seo-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.vw-seo-info-card{min-width:0;border:1px solid #dceaf3;border-radius:22px;padding:31px 28px;background:linear-gradient(160deg,#f9fdff,#edf8ff)}
.vw-seo-info-card .vw-seo-info-index{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#0f88bb;margin-bottom:20px}
.vw-seo-info-card h3{font-size:clamp(1.24rem,1.65vw,1.65rem);line-height:1.25;letter-spacing:-.035em;margin:0 0 13px}
.vw-seo-info-card p{color:#536d82;line-height:1.78;margin:0}
.vw-seo-info-bottom{margin-top:21px;padding:18px 2px 0;color:#536d82;font-size:.99rem}
.vw-seo-info-bottom p{margin:0}
.vw-seo-info-bottom a{color:#0075c6;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.vw-seo-info-bottom a:hover{color:var(--navy)}

@media(max-width:850px){
  .vw-seo-info-grid{grid-template-columns:1fr}
  .vw-seo-info-card{padding:26px}
  /* Prevent side overflow on tablets in the three value cards. */
  .feature{min-width:0;grid-template-columns:70px minmax(0,1fr);gap:15px 20px;align-items:start}
  .feature>div:nth-child(2){min-width:0}
  .feature .visual{grid-column:2;min-width:0}
}
@media(max-width:570px){
  .feature-list{gap:14px}
  .feature{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:13px;
    min-height:0;
    padding:24px 20px 22px;
    border-radius:21px;
    align-items:start;
  }
  .feature .number{
    grid-column:1;
    display:block;
    font-size:.78rem;
    line-height:1.4;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    letter-spacing:.12em;
    margin:0 0 0 0;
    align-self:auto;
  }
  .feature>div:nth-child(2){grid-column:1;min-width:0}
  .feature h3{font-size:clamp(1.28rem,5.1vw,1.58rem);line-height:1.24;letter-spacing:-.045em;margin-bottom:10px}
  .feature p{font-size:1.01rem;line-height:1.75;margin:0;color:#607185}
  .feature .visual{
    grid-column:1;
    width:100%;
    height:auto;
    min-height:146px;
    padding:16px;
    margin-top:7px;
    border-radius:17px;
    overflow:hidden;
  }
  .feature .search-pill{width:100%;max-width:100%;padding:13px;overflow-wrap:anywhere}
  .feature .search-pill .q{font-size:.8rem}
  .feature .search-pill b{font-size:.86rem;line-height:1.4}
  .feature .calendar{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .feature .calendar b{display:grid;place-items:center;min-width:0;padding:13px 2px;font-size:.78rem;line-height:1.1;text-align:center}
  .feature .visual .quote{width:100%;max-width:100%;text-align:center;font-size:.98rem}
  .feature .visual .quote span{padding:12px 9px;line-height:1.35}
  .hero h1 .vw-seo-h1-prefix{font-size:1rem;margin-bottom:13px}
  .vw-seo-info{padding:65px 0}
  .vw-seo-info-card{padding:22px}
  /* Less intrusive bottom mobile CTA; disappears while cards/contact/footer are in view. */
  .sticky-mobile{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));padding:11px 16px;min-height:48px;max-width:480px;margin:0 auto;font-size:clamp(.79rem,3.4vw,.96rem);line-height:1.3;border-radius:28px;z-index:25;box-shadow:0 6px 18px rgba(8,92,168,.24);transition:transform .18s ease,opacity .18s ease}
  .sticky-mobile b{margin-left:12px;flex-shrink:0}
  .vw-homepage{padding-bottom:75px}
  body.vw-seo-hide-mobile-cta .sticky-mobile{opacity:0;transform:translateY(calc(100% + 38px));pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.sticky-mobile{transition:none}}


/* === Blog zijbalk v1.3 — behoudt originele pagina-, project- en hometemplates. === */
.vwblog-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:38px;align-items:start}
.vwblog-main,.vwblog-sidebar,.vwblog-layout > *{min-width:0}
.vwblog-main>.vw-copy{margin:0;max-width:none}
.vwblog-main .vw-copy{min-width:0;overflow-wrap:break-word}
.vwblog-main .vw-copy img,.vwblog-main .vw-copy iframe{max-width:100%}
.vwblog-main .vw-copy pre{max-width:100%;overflow-x:auto}
.vwblog-main .vw-copy table{display:block;max-width:100%;overflow-x:auto}
.vwblog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.vwblog-list .vw-tile{min-width:0;padding:24px;gap:13px}
.vwblog-list .vw-tile h2{font-size:clamp(1.15rem,1.7vw,1.52rem);line-height:1.28;margin:0}
.vwblog-list .vw-tile h2 a:hover{color:#087cff}
.vwblog-list .vw-tile .vw-meta{font-size:.79rem;margin:0;color:#5e7186;flex:none}
.vwblog-list .vw-tile p{font-size:.95rem;line-height:1.65}
.vwblog-list .vw-tile .vwblog-card-more{font-size:.88rem;margin-top:6px;flex:none}
.vwblog-list .vw-tile .vwblog-card-img{aspect-ratio:16/10;overflow:hidden;display:block;border-radius:15px;background:#eaf7ff}
.vwblog-list .vw-tile .vwblog-card-img img{width:100%;height:100%;object-fit:cover}
.vwblog-sidebar{display:grid;gap:17px}
.vwblog-widget{background:#fff;border:1px solid #deebf5;border-radius:22px;padding:25px 24px;box-shadow:0 9px 25px rgba(18,41,70,.045)}
.vwblog-widget h2{font-size:1.19rem;line-height:1.25;letter-spacing:-.035em;margin:0 0 17px;color:#15253f;display:flex;align-items:center;gap:10px}
.vwblog-widget h2 svg{color:#087cff;flex-shrink:0}
.vwblog-profile-avatar{width:72px;height:72px;object-fit:cover;object-position:center;border-radius:18px;background:#edf8ff;border:1px solid #d9ecfa;margin-bottom:17px}
.vwblog-profile-avatar.is-logo{width:115px;height:78px;object-fit:contain;padding:5px;background:#fff}
.vwblog-profile-placeholder{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,#087cff,#14bfe4);color:#fff;font-weight:900;font-size:1.6rem;margin-bottom:17px}
.vwblog-profile h2{display:block;font-size:1.42rem;line-height:1.25;margin-bottom:10px}
.vwblog-profile .vwblog-bio{color:#536b83;font-size:.93rem;line-height:1.7;margin:0 0 18px}
.vwblog-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 20px}
.vwblog-social a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#f0f8ff;border:1px solid #dcecf9;color:#117ddd;transition:background .2s,transform .2s}
.vwblog-social a:hover{background:#ddf0ff;transform:translateY(-2px)}
.vwblog-social svg{width:18px;height:18px;display:block;stroke:currentColor}
.vwblog-social .vwblog-social-letter{font-weight:900;font-size:1.1rem;line-height:1}
.vwblog-expertise{margin:17px 0 19px}
.vwblog-expertise h3{font-family:inherit;font-size:.97rem;font-weight:800;letter-spacing:0;margin:0 0 8px}
.vwblog-expertise-item{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #e8eef5}
.vwblog-expertise-item strong{font-size:.87rem;line-height:1.3;display:block;color:#14233b}
.vwblog-expertise-item small{font-size:.77rem;display:block;color:#667c91;line-height:1.4;margin-top:2px}
.vwblog-expertise-item>span{color:#708198;font-size:.7rem;white-space:nowrap;text-align:right}
.vwblog-status{display:flex;justify-content:center;align-items:center;gap:9px;color:#12976d;font-weight:800;font-size:.9rem;margin:15px 0}
.vwblog-status:before{content:'';height:9px;width:9px;background:#18bf8d;border:4px solid #d5f4e9;border-radius:50%;box-sizing:content-box}
.vwblog-contact-button{display:block;text-align:center;padding:13px 18px;border-radius:99px;background:linear-gradient(110deg,#087cff,#14bfe4);color:#fff!important;font-weight:800;font-size:.89rem;line-height:1.35}
.vwblog-contact-button:hover{filter:brightness(.95)}
.vwblog-search{display:flex;align-items:stretch;border:1px solid #d8e5ee;border-radius:15px;overflow:hidden;background:#fff}
.vwblog-search input{width:100%;min-width:0;border:0;background:none;padding:12px 13px;outline-offset:-2px;font-size:.92rem}
.vwblog-search button{display:grid;place-items:center;flex:0 0 44px;margin:3px;border:0;border-radius:12px;background:#087cff;color:white}
.vwblog-search button svg{height:19px;width:19px}
.vwblog-recent{list-style:none;margin:0;padding:0}
.vwblog-recent li{padding:11px 0;border-bottom:1px solid #e6ecf2;line-height:1.45}
.vwblog-recent li:first-child{padding-top:0}
.vwblog-recent li:last-child{border:0;padding-bottom:0}
.vwblog-recent a{font-size:.92rem;font-weight:750;color:#20314b}
.vwblog-recent a:hover{color:#087cff}
.vwblog-recent time{display:block;font-size:.73rem;color:#7c8d9d;margin-top:4px}
.vwblog-widget p.vwblog-contact-copy{font-size:.92rem;line-height:1.65;color:#586d83;margin:0 0 16px}
.vwblog-sidebar .widget{padding:0;margin:0 0 15px;list-style:none}
.vwblog-sidebar .widget:last-child{margin-bottom:0}
.vwblog-sidebar .widget h2,.vwblog-sidebar .widget-title{font-size:1.1rem}
.vwblog-article-nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;border-top:1px solid #e1eaf3;padding-top:25px;justify-content:space-between}
.vwblog-article-nav a{display:inline-block;max-width:49%;font-weight:750;color:#087cff}
.vwblog-empty{background:#fff;border:1px solid #e4edf5;border-radius:20px;padding:34px}
@media(max-width:1020px){.vwblog-layout{grid-template-columns:minmax(0,1fr) 280px;gap:23px}.vwblog-widget{padding:22px 19px}}
@media(max-width:810px){.vwblog-layout{grid-template-columns:minmax(0,1fr);gap:36px}.vwblog-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.vwblog-profile{grid-row:span 2}.vwblog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.vwblog-sidebar{grid-template-columns:minmax(0,1fr)}.vwblog-profile{grid-row:auto}.vwblog-list{grid-template-columns:minmax(0,1fr)}.vwblog-widget{padding:23px 21px}.vwblog-layout{gap:26px}.vwblog-main .vw-copy{font-size:1rem}.vwblog-article-nav a{max-width:100%}}



/* Footer v1.4 — server-rendered blocks, original parent footer.php remains the source. */
.footer .footer-in.vwfooter-expanded {
  display:grid;
  grid-template-columns: minmax(190px,1.15fr) minmax(140px,.75fr) minmax(230px,1fr) auto;
  grid-template-areas: "logo copyright nav socials" "intro . details .";
  align-items:start;
  justify-content:space-between;
  gap:16px 28px;
}
.footer .footer-in.vwfooter-expanded > .brand {grid-area:logo;min-width:0;align-self:start;}
.footer .footer-in.vwfooter-expanded > .brand img {height:auto;max-width:100%;}
.footer .footer-in.vwfooter-expanded > .vwfooter-intro {grid-area:intro;color:#b8cbdd;max-width:305px;font-size:.94rem;line-height:1.65;margin:0;align-self:start;}
.footer .footer-in.vwfooter-expanded > span {grid-area:copyright;font-size:.88rem;line-height:1.65;}
.footer .footer-in.vwfooter-expanded > .foot-links {grid-area:nav;display:flex;align-items:flex-start;flex-wrap:wrap;gap:13px 20px;}
.footer .footer-in.vwfooter-expanded > .foot-links ul {display:flex;align-items:center;flex-wrap:wrap;gap:13px 18px;margin:0;padding:0;list-style:none;}
.footer .footer-in.vwfooter-expanded > .vw-social-icons {grid-area:social;align-self:start;flex-wrap:wrap;}
.footer .vwfooter-contact {grid-area:details;min-width:0;}
.footer .vwfooter-contact h3 {font-size:1.1rem;line-height:1.3;letter-spacing:-.02em;color:#fff;margin:0 0 13px;}
.footer .vwfooter-contact ul {list-style:none;display:grid;gap:11px;margin:0;padding:0;}
.footer .vwfooter-contact li {margin:0;line-height:1.55;min-width:0;}
.footer .vwfooter-contact a {color:#b8cbdd;overflow-wrap:anywhere;}
.footer .vwfooter-contact a:hover {color:#67d9ff;}
.footer .vwfooter-contact address {font:inherit;color:#b8cbdd;line-height:1.65;}
@media(max-width:1050px){
  .footer .footer-in.vwfooter-expanded {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"logo nav" "intro details" "copyright socials";gap:20px 35px;}
}
@media(max-width:590px){
  .footer .footer-in.vwfooter-expanded {grid-template-columns:minmax(0,1fr);grid-template-areas:"logo" "intro" "nav" "details" "socials" "copyright";gap:18px;}
  .footer .vwfooter-contact h3 {margin-bottom:10px;}
  .footer .vwfooter-intro {max-width:100%;}
}
