/* Homepage + herbruikbare secties (uit shop/index.html) */
/* Het bijna-zwarte verloop is vervangen door het blauwe Plate uit de
   huisstijl, met een donker verloop eroverheen voor de leesbaarheid
   (akkoord Jip 19-08). De kleur blijft als eerste verflaag staan. */
.home-hero{background-color:var(--dark-2);background-image:linear-gradient(120deg,rgba(20,29,44,.85) 0%,rgba(20,29,44,.55) 55%,rgba(20,29,44,.32) 100%),var(--plate-foto,none);background-size:cover;background-position:center;color:#fff;position:relative;overflow:hidden}
.home-hero::after{content:none;position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.85) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.85) 39px 40px);pointer-events:none}
.home-hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.home-hero h1{color:#fff;margin:14px 0 10px}
.home-hero h1 em{color:#fff;font-style:normal}
.home-hero .sub{color:rgba(255,255,255,.85);font-size:16px;max-width:50ch;margin-bottom:28px}
.home-hero .pill{background:var(--red);color:#fff;padding:5px 12px;border-radius:var(--r);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-block}
.hero-visual{aspect-ratio:4/3;display:grid;place-items:center}
.hero-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 48px rgba(0,0,0,.45))}
.hero-visual .ph{font-size:11.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;background:#fff;padding:8px 14px;border-radius:2px;font-weight:700;border:1px solid var(--line)}
.hero-points{display:flex;gap:28px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.85);flex-wrap:wrap}
.hero-points div .n{font-family:var(--hb-display);font-weight:700;font-size:30px;color:#fff;display:block;line-height:1}
.hero-points div .l{font-size:11.5px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cat-card{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;transition:all .18s ease;display:flex;flex-direction:column}
.cat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.cat-card .img{aspect-ratio:4/3;background:linear-gradient(180deg,#f2f4f6,var(--steel));display:grid;place-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.cat-card .img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cat-card .img .ph{font-size:10px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;background:#fff;padding:4px 8px;border-radius:2px;font-weight:700;border:1px solid var(--line);text-align:center}
.cat-card .body{padding:14px 16px}
.cat-card .name{font-family:var(--hb-display);font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.1}
.cat-card .cnt{font-size:12px;color:var(--ink-3)}
.lijn-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lijn-card{border-radius:var(--r);padding:36px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:230px}
.lijn-card.profi{background:linear-gradient(135deg,#3a4148,#232930)}
.lijn-card.premax{background:linear-gradient(135deg,var(--red),#8e0009)}
.lijn-card h3{color:#fff;font-size:32px}
.lijn-card p{color:rgba(255,255,255,.85);font-size:14px;max-width:44ch}
.lijn-card .btn{margin-top:auto;align-self:flex-start}
.huur-band{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.huur-band .container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:44px;padding-bottom:44px}
.huur-step{display:flex;gap:16px;align-items:start}
.huur-step .n{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--hb-display);font-weight:700;font-size:20px;flex-shrink:0}
.huur-step h4{margin-bottom:4px}
.huur-step p{font-size:13.5px;color:var(--ink-2)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:all .18s ease}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.blog-card .img{aspect-ratio:16/9;background:linear-gradient(180deg,#f2f4f6,var(--steel));display:grid;place-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.blog-card .img img{width:100%;height:100%;object-fit:cover}
.blog-card .img .ph{font-size:10px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;background:#fff;padding:4px 8px;border-radius:2px;font-weight:700;border:1px solid var(--line)}
.blog-card .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card .cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.blog-card h4{font-size:18px}
.blog-card .meta{font-size:12px;color:var(--ink-3);margin-top:auto}
/* Afwisseling: de adviesbanner gebruikt de moderne blauwe achtergrond. */
.advies-cta{background-color:var(--blauw-diep);background-image:linear-gradient(rgba(0,38,69,.5),rgba(0,38,69,.32)),var(--blauw-foto,none);background-size:cover;background-position:center;color:#fff}
.advies-cta .container{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.advies-cta h2{color:#fff}
.advies-cta p{color:rgba(255,255,255,.85)}
.advies-form{background:#fff;border-radius:var(--r);padding:28px;color:var(--ink)}
.advies-form h3{margin-bottom:4px}
.advies-form .sub{font-size:13px;color:var(--ink-3);margin-bottom:16px}
.advies-form .ff-el-group{margin-bottom:10px}
@media(max-width:960px){.home-hero .container,.advies-cta .container{grid-template-columns:1fr}.cat-grid{grid-template-columns:repeat(3,1fr)}.lijn-grid,.blog-grid{grid-template-columns:1fr}.huur-band .container{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr 1fr}}
/* categorie-archief */
.cat-hero{background-color:var(--dark-2);background-image:linear-gradient(120deg,rgba(20,29,44,.85) 0%,rgba(20,29,44,.55) 55%,rgba(20,29,44,.32) 100%),var(--plate-foto,none);background-size:cover;background-position:center;color:#fff;padding:44px 0}
.cat-hero .container{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
.cat-hero h1{color:#fff}
.cat-hero p{color:rgba(255,255,255,.85);margin-top:12px;font-size:15px;max-width:60ch}
.cat-hero .visual{aspect-ratio:16/10;background:linear-gradient(180deg,#f2f4f6,var(--steel-2));border-radius:var(--r);display:grid;place-items:center;overflow:hidden}
.cat-hero .visual img{width:100%;height:100%;object-fit:cover}
.cat-hero .visual .ph{font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;background:#fff;padding:6px 10px;border-radius:2px;font-weight:700;border:1px solid var(--line)}
.cat-hero .breadcrumb{color:rgba(255,255,255,.85);padding-top:0}
.cat-hero .breadcrumb a{color:rgba(255,255,255,.85)}.cat-hero .breadcrumb a:hover{color:#fff}
.seo-text{max-width:820px;font-size:14.5px;color:var(--ink-2);line-height:1.7}
.seo-text h2{font-size:24px;margin:24px 0 8px}.seo-text h2:first-child{margin-top:0}
.chip-row a.chip{text-decoration:none}
.archive-toolbar form.woocommerce-ordering select{font:inherit;font-size:13px;padding:9px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff}
.pagination .page-numbers{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:var(--r);font-size:13px;font-weight:700;color:var(--ink-2)}
.pagination .page-numbers.current{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:960px){.cat-hero .container{grid-template-columns:1fr}}
/* Homepage (pagina 115): banners over de volle breedte, inhoud op 1280px —
   dezelfde opzet als de winkel- en categoriepagina's. Astra's wrapper moet
   daarvoor los, anders kan niets tot de schermrand lopen. */
.elementor-page-115 .ast-container,.elementor-page-611 .ast-container{max-width:none;padding-left:0;padding-right:0}
.elementor-page-115 .container,.elementor-page-611 .container{max-width:var(--hb-container);margin-inline:auto;padding-left:0;padding-right:0}
/* De secties met een eigen achtergrond blijven full-bleed; hun .container
   binnenin houdt de tekst op contentbreedte. */
.elementor-page-115 .home-hero,
.elementor-page-115 .huur-band,
.elementor-page-115 .advies-cta,.elementor-page-611 .advies-cta{width:auto}
@media(max-width:1343px){
  .elementor-page-115 .container,.elementor-page-611 .container{padding-left:32px;padding-right:32px}
}
@media(max-width:600px){
  .elementor-page-115 .container,.elementor-page-611 .container{padding-left:16px;padding-right:16px}
}

/* homepage v2 (pagina 278): Astra zet de content in een container van max
   1240px met 20px padding. Daardoor kwam de sectiepadding er bovenop en liep
   de inspringing op tot 65-97px. Die wrapper zetten we hier vrij, zodat de
   32px van de sectie zelf de enige marge is — gelijk aan de header. */
.elementor-page-278 .ast-container{max-width:none;padding-left:0;padding-right:0}

/* homepage v2 (pagina 278) — één inspringing van 32px, gelijk aan de header.
   De sectie zelf levert die marge; de .container erbinnen doet niets meer,
   anders stapelen de twee zich op tot 48 of 80px. */
.elementor-page-278 .container,
.elementor-page-278 .huur-band .container,
.elementor-page-278 .advies-cta .container{max-width:none;padding-left:0;padding-right:0}
.elementor-page-278 .home-hero .container{max-width:none;padding-left:32px;padding-right:32px}
/* Secties die via de Template-widget een sectie-template inladen brengen hun
   eigen containerpadding mee. Op deze pagina levert alleen de buitenste sectie
   de marge, zodat alles op dezelfde 32px uitkomt. */
.elementor-page-278 .e-con .e-con{padding-left:0!important;padding-right:0!important}
@media(max-width:768px){
  .elementor-page-278 .home-hero .container{padding-left:15px;padding-right:15px}
}
/* slider met peek: de volgende kaart blijft half zichtbaar */
.slider-wrap.peek .slider{scroll-padding-left:0}
.slider-wrap.peek .slider > *{flex:0 0 clamp(240px,22vw,320px)}
.slider-wrap.peek{margin-right:-15px}
.slider-wrap.peek .slider{padding-right:15px}
/* ── mobiel: lange modelnamen mogen de layout niet oprekken ── */
@media(max-width:960px){
  .cat-hero .container,
  .home-hero .container,
  .advies-cta .container{grid-template-columns:minmax(0,1fr)}
  .cat-hero .visual{aspect-ratio:16/9}
}
@media(max-width:600px){
  .cat-hero{padding:28px 0}
  .cat-hero h1{font-size:clamp(22px,6vw,34px);overflow-wrap:break-word}
  .home-hero .container{padding-top:40px;padding-bottom:44px}
  .home-hero h1{font-size:clamp(24px,6.5vw,38px);overflow-wrap:break-word}
  .hero-points{gap:18px}
  .hero-points div .n{font-size:24px}
  .huur-band .container{padding-top:32px;padding-bottom:32px}
}
/* ── v2: vier categorietegels + chemieknop ── */
.cat-grid.cat-grid-4{grid-template-columns:repeat(4,1fr)}
.cat-chemie{margin-top:18px}
.cat-chemie .btn{font-size:12px}
@media(max-width:960px){.cat-grid.cat-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cat-grid.cat-grid-4{grid-template-columns:1fr}}
/* ── v2: stappen met icoon naast het nummer ── */
.huur-band-v2 .stap-visual{display:flex;align-items:center;gap:10px;flex-shrink:0}
.huur-band-v2 .stap-visual .ico{width:26px;height:26px;color:var(--ink-3)}
.huur-band-v2 .stap-visual .ico svg{width:100%;height:100%;display:block}
.huur-band-v2 .huur-step:hover .ico{color:var(--red)}
/* ── Trustindex Google reviews in Hobart-stijl ── */
.hb-reviews .ti-widget{font-family:var(--hb-sans)!important}
.hb-reviews .ti-widget .ti-name,
.hb-reviews .ti-widget .ti-rating-text strong{font-family:var(--hb-display)!important;font-weight:700!important;color:var(--ink)!important}
.hb-reviews .ti-widget .ti-review-text,
.hb-reviews .ti-widget .ti-review-content{color:var(--ink-2)!important;font-size:14px!important;line-height:1.6!important}
.hb-reviews .ti-widget .ti-review-item,
.hb-reviews .ti-widget .ti-review-item > .ti-inner{border:1px solid var(--line)!important;border-radius:var(--r)!important;background:#fff!important;box-shadow:none!important}
.hb-reviews .ti-widget .ti-stars .ti-star{color:#f5a623!important}
.hb-reviews .ti-widget .ti-footer,
.hb-reviews .ti-widget .ti-header{border-color:var(--line)!important}
.hb-reviews .ti-widget a{color:var(--red)!important}
.hb-reviews .ti-widget .ti-read-more a{color:var(--red)!important;font-weight:700!important}
/* melding zolang de koppeling nog niet gelegd is */
.hb-reviews-setup{border:1px dashed var(--line-2);border-radius:var(--r);padding:20px;background:#fff;
  font-size:13.5px;color:var(--ink-2);line-height:1.6}
.hb-reviews-setup strong{color:var(--ink)}
@media(max-width:768px){
  .hb-reviews .ti-widget .ti-reviews-container-wrapper{padding:0!important}
  .hb-reviews .ti-widget .ti-review-item{margin-bottom:12px!important}
  .hb-reviews .ti-widget .ti-review-text{font-size:13.5px!important}
  .hb-reviews .ti-widget .ti-header{flex-wrap:wrap!important;gap:8px!important}
}
/* ── advies-CTA v2: formulier direct op de pagina ── */
.advies-form .fluentform{margin-top:4px}
.advies-form .fluentform .ff-el-group{margin-bottom:12px}
.advies-form .fluentform .ff-el-input--label label{font-size:13px;font-weight:600;color:var(--ink)}
.advies-form .fluentform .ff-el-form-control{border:1px solid var(--line-2);border-radius:var(--r);
  padding:11px 14px;font-size:14px;font-family:var(--hb-sans)}
.advies-form .fluentform .ff-btn-submit{width:100%;justify-content:center}
@media(max-width:600px){
  .advies-form{padding:20px}
  .advies-form .fluentform .ff-el-group{margin-bottom:10px}
}
/* ── zoekresultaten ── */
.zoek-overig{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.zoek-overig h3{font-size:18px;margin-bottom:10px}
.zoek-overig ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.zoek-cta{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);
  padding:28px 32px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.zoek-cta h3{font-size:22px;margin-bottom:6px}
.zoek-cta p{font-size:14px;color:var(--ink-2);max-width:56ch}
.zoek-cta-acties{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
/* Astra's zoekformulier omzetten naar de Hobart-zoekbalk: het label omvat
   zowel het veld als de knop, vandaar dat we het label zelf tot flexrij maken. */
.cat-hero form[role="search"]{max-width:440px}
.cat-hero form[role="search"] label{display:flex;align-items:stretch;width:100%;margin:0;
  background:#fff;border-radius:var(--r);overflow:hidden}
.cat-hero form[role="search"] .screen-reader-text{position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cat-hero form[role="search"] input[type="search"]{flex:1;min-width:0;border:0;background:#fff;
  padding:12px 14px;font:inherit;font-size:14px;color:var(--ink);outline:none;border-radius:0}
.cat-hero form[role="search"] button{background:var(--red);border:0;color:#fff;
  padding:0 18px;cursor:pointer;display:grid;place-items:center;border-radius:0}
.cat-hero form[role="search"] button:hover{background:var(--red-deep)}
.cat-hero form[role="search"] button svg{width:17px;height:17px;fill:#fff}
.cat-hero form[role="search"] button [hidden]{display:none}
@media(max-width:768px){
  .zoek-cta{padding:22px;flex-direction:column;align-items:flex-start}
  .zoek-cta-acties{width:100%}
  .zoek-cta-acties .btn{flex:1 1 auto;justify-content:center}
}
/* loop-item: de kaart vult de cel van de loop grid */
.hobart-loop-card,.hobart-loop-card .product-card{height:100%}
/* ── HUSKY / WOOF filter in Hobart-stijl, horizontaal ── */
.hb-woof .woof{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:0;max-width:460px}
.hb-woof .woof_container{margin:0}
.hb-woof .woof_redraw_zone{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-start}
.hb-woof .woof_container{flex:0 1 auto;margin-bottom:0!important;padding:0!important;border:0!important}
/* verticale lijst niet over de volle paginabreedte laten uitrekken */
.hb-woof .woof_container_product_cat{flex:1 1 300px;max-width:460px}
.hb-woof h4,.hb-woof .woof_container_title{font-family:var(--hb-display);font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 8px}
/* Hoofdcategorieën onder elkaar; subcategorieën klappen eronder uit.
   Bewust géén flex-wrap op de lijst: dat zette kinderen náást de ouder. */
.hb-woof ul.woof_list{list-style:none;margin:0;padding:0;display:block}
.hb-woof ul.woof_list > li{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  column-gap:9px;margin:0;padding:9px 0;border-bottom:1px solid var(--line);
  font-size:14px;color:var(--ink-2)}
.hb-woof ul.woof_list > li:last-child{border-bottom:0}
.hb-woof .woof_checkbox_label{min-width:0;overflow-wrap:anywhere;line-height:1.35;cursor:pointer;margin:0}
/* open/dicht-knop rechts uitgelijnd */
.hb-woof .woof_childs_list_opener{justify-self:end;width:26px;height:26px;display:grid;place-items:center;
  border-radius:4px;text-decoration:none;flex:none}
.hb-woof .woof_childs_list_opener:hover{background:var(--line)}
.hb-woof .woof_childs_list_opener span{display:block;width:12px;height:12px;position:relative}
.hb-woof .woof_childs_list_opener span::before,
.hb-woof .woof_childs_list_opener span::after{content:"";position:absolute;background:var(--ink-3);
  inset-inline:0;top:5px;height:2px;border-radius:1px}
.hb-woof .woof_childs_list_opener span::after{transform:rotate(90deg);transition:transform .18s}
.hb-woof .woof_childs_list_opener span.woof_is_opened::after{transform:rotate(0)}
/* subcategorieën: volle breedte onder de ouder, ingesprongen */
.hb-woof ul.woof_childs_list{grid-column:1/-1;list-style:none;margin:8px 0 2px;padding:0 0 0 26px}
/* !important is nodig: de filterplugin zet display:inline-block als inline
   stijl op elke sub-li, en herstelt dat na elke ajax-herbouw. */
.hb-woof ul.woof_childs_list > li{
  display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;
  column-gap:9px;margin:0;padding:5px 0;font-size:13.5px;color:var(--ink-2)}
.hb-woof input[type="checkbox"],.hb-woof input[type="radio"]{accent-color:var(--red);width:15px;height:15px;margin:0;flex:none}
.hb-woof .woof_submit_search_form_container{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  width:100%;display:flex;gap:10px;flex-wrap:wrap}
.hb-woof .woof_submit_search_form,.hb-woof .woof_reset_search_form{
  background:var(--red);color:#fff;border:0;border-radius:var(--r);padding:11px 20px;font:inherit;
  font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.hb-woof .woof_reset_search_form{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.hb-woof .woof_reset_search_form:hover{background:var(--ink);color:#fff}
.hb-woof .woof_submit_search_form:hover{background:var(--red-deep)}
.hb-woof .woof_edit_view{display:none}
@media(max-width:768px){
  .hb-woof .woof{padding:14px 16px}
  .hb-woof .woof_redraw_zone{gap:14px}
  .hb-woof .woof_submit_search_form_container .woof_submit_search_form,
  .hb-woof .woof_submit_search_form_container .woof_reset_search_form{flex:1 1 auto;text-align:center}
}
/* ── categorie-content: SEO-tekst naast de FAQ ── */
.cat-content{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:start}
.cat-content .seo-text{max-width:none}
.cat-content .seo-text h2:first-child{margin-top:0}
.cat-content .seo-text ul{margin:10px 0 0 18px;color:var(--ink-2);font-size:14.5px;line-height:1.7}
.cat-content .seo-text li{margin-bottom:4px}
.cat-content .seo-text p{margin-bottom:12px}
.cat-faq .faq-a{font-size:14px}
@media(max-width:960px){.cat-content{grid-template-columns:1fr;gap:36px}}
/* bij veel FAQ's een eigen sectie onder de tekst in plaats van ernaast */
.cat-content.faq-veel{grid-template-columns:1fr}
.cat-content.faq-veel .cat-faq{margin-top:8px}
.cat-content.faq-veel .seo-text{max-width:820px}
.cat-faq .faq-item[data-open="true"] .faq-a{max-height:420px}
/* Op de homepage levert .container de zijmarge; de Elementor-containers zelf
   moeten dus vlak zijn, anders lopen de gekleurde banden niet tot de rand. */
.elementor-page-115 .e-con,.elementor-page-611 .e-con{--padding-inline-start:0px;--padding-inline-end:0px}

/* All-Inclusive: 4 stappen */
.stappen4{padding:72px 0}
.stappen4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.stap4{background:#fff;border:1px solid var(--line,#e3e6ea);border-radius:var(--r,8px);padding:26px 24px}
.stap4 .n{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--blauw,#005091);color:#fff;font-weight:800;font-size:15px;border-radius:var(--r,8px);margin-bottom:16px}
.stap4 h3{font-size:16px;margin:0 0 8px;color:var(--dark,#344459)}
.stap4 p{font-size:13.5px;line-height:1.6;color:var(--ink,#575656);margin:0}
.stap4.accent{background-color:#003c6d;background-image:linear-gradient(120deg,rgba(0,40,75,.88),rgba(0,60,109,.72)),var(--blauw-foto,none);background-size:cover;background-position:center;border-color:transparent}
.stap4.accent .n{width:auto;padding:0 12px;background:var(--red,#dc002d)}
.stap4.accent h3{color:#fff}
.stap4.accent p{color:rgba(255,255,255,.85)}

/* All-Inclusive: wel/niet */
.welniet{padding:72px 0}
.welniet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.welniet-panel{border-radius:var(--r,8px);padding:32px 34px}
.welniet-panel h3{font-size:19px;margin:0 0 18px}
.welniet-panel ul{list-style:none;margin:0;padding:0}
.welniet-panel li{display:flex;gap:12px;align-items:baseline;font-size:14px;font-weight:600;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.85)}
.welniet-panel li:last-child{border-bottom:none}
.welniet-panel .chk,.welniet-panel .min{flex:none;font-weight:800}
.welniet-panel.wel{background-color:#003c6d;background-image:linear-gradient(120deg,rgba(0,40,75,.9),rgba(0,60,109,.75)),var(--blauw-foto,none);background-size:cover;background-position:center;color:#fff}
.welniet-panel.wel h3{color:#fff}
.welniet-panel.wel .chk{color:#fff}
.welniet-panel.niet{background:#fff;border:1px solid var(--line,#e3e6ea);color:var(--dark,#344459)}
.welniet-panel.niet h3{color:var(--dark,#344459)}
.welniet-panel.niet li{border-bottom-color:var(--line,#e3e6ea)}
.welniet-panel.niet .min{color:var(--blauw,#005091)}
.welniet-panel .voet{margin:18px 0 0;font-size:12.5px;font-weight:400;color:var(--ink,#575656);line-height:1.55}

@media(max-width:960px){.stappen4-grid{grid-template-columns:1fr 1fr}.welniet-grid{grid-template-columns:1fr}}
@media(max-width:600px){.stappen4-grid{grid-template-columns:1fr}}

/* buybox: link naar het All-Inclusive Programma */
.buy-box .fs-link{display:inline-flex;gap:6px;align-items:center;margin:2px 0 14px;font-size:13px;font-weight:700;color:var(--blauw,#005091);text-decoration:underline;text-underline-offset:3px}
.buy-box .fs-link:hover{color:var(--red,#dc002d)}

/* huurprijs-sectie: vinkjeslijst op gelijke hoogte met de eerste tekstregel */
@media(min-width:1025px){.elementor-element-1cd907c{margin-top:79px}}

/* ---------- landingspagina /professionele-vaatwasser/ ---------- */
.lp-hero{background-color:var(--dark-2,#2a374a);background-image:linear-gradient(120deg,rgba(20,29,44,.88) 0%,rgba(20,29,44,.6) 55%,rgba(20,29,44,.38) 100%),var(--plate-foto,none);background-size:cover;background-position:center;padding:72px 0}
.lp-hero>.e-con-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start;max-width:var(--hb-container,1280px)}
.lp-hero .pill{background:var(--red,#dc002d);color:#fff;padding:5px 12px;border-radius:var(--r,3px);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-block}
.lp-hero h1{color:#fff;font-size:clamp(30px,3.4vw,46px);text-transform:uppercase;font-weight:800;line-height:1.15;margin:16px 0 4px}
.lp-hero-tekst p{color:rgba(255,255,255,.85);font-size:16px;max-width:52ch}
.lp-hero-tekst .elementor-widget-button{margin-top:6px}
.lp-hero-tekst .elementor-widget-button .elementor-button{background:var(--red,#dc002d);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:16px 28px;border-radius:var(--r,3px)}
.lp-hero-tekst .elementor-widget-button .elementor-button:hover{background:#a80022}
.lp-hero-tekst .elementor-widget-button+.elementor-widget-button .elementor-button{background:transparent!important;border:1px solid rgba(255,255,255,.5);color:#fff;font-weight:600;text-transform:none;letter-spacing:0;padding:15px 24px;border-radius:var(--r,3px)}
.lp-hero-tekst .elementor-widget-button+.elementor-widget-button .elementor-button:hover{background:#fff;color:var(--dark,#344459)}
.lp-meta{display:flex;gap:34px;flex-wrap:wrap;margin-top:26px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px}
.lp-meta .n{display:block;color:#fff;font-size:22px;font-weight:800}
.lp-meta .l{display:block;color:rgba(255,255,255,.85);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.lp-hero-form{background:#fff;border-radius:8px;padding:30px 32px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.lp-hero-form h3{font-size:19px;color:var(--dark,#344459);margin:0 0 6px}
.lp-hero-form p{font-size:13.5px;color:var(--ink,#575656);margin:0 0 14px}

.lp-strip{background:var(--paper-2,#f5f5f5);padding:16px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.lp-strip-items{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;font-size:13px;font-weight:600;color:var(--dark,#344459)}

.lp-producten{padding:72px 0}
.lp-card-rij>.e-con-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;max-width:var(--hb-container,1280px)}
.lp-card{position:relative;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;padding:26px;text-align:left}
.lp-card.is-featured{border-color:var(--red,#dc002d);box-shadow:var(--shadow-lg)}
.lp-feat{position:absolute;top:-12px;left:24px;background:var(--red,#dc002d);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.lp-card img{max-height:210px;width:auto;margin:0 auto 14px;object-fit:contain}
.lp-card-cat{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.lp-card h3{font-size:19px;color:var(--red,#dc002d);text-transform:uppercase;margin:4px 0 6px}
.lp-card p{font-size:13.5px;color:var(--ink,#575656)}
.lp-card-prijs{margin-top:14px;border-top:1px solid var(--line,#e5e7eb);padding-top:12px}
.lp-card-prijs .lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700}
.lp-card-prijs .val{font-size:22px;font-weight:800;color:var(--dark,#344459)}
.lp-card-prijs small{font-size:12px;font-weight:400;color:var(--ink,#575656)}
.lp-card .elementor-button{background:var(--red,#dc002d);color:#fff!important;font-weight:700;border-radius:var(--r,3px);padding:12px 18px;margin-top:14px;font-size:13px}
.lp-card .elementor-button:hover{background:#a80022}

.lp-usps{background:var(--paper-2,#f5f5f5);padding:72px 0}
.lp-usp-rij>.e-con-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px;max-width:var(--hb-container,1280px)}
.lp-usp-rij .elementor-icon-box-icon{color:var(--red,#dc002d);font-size:26px;margin-bottom:10px}
.lp-usp-rij .elementor-icon-box-title{font-size:15.5px;color:var(--dark,#344459);text-transform:uppercase;font-weight:700}
.lp-usp-rij .elementor-icon-box-description{font-size:13.5px;color:var(--ink,#575656);line-height:1.6}

.lp-stappen{padding-bottom:0}
.lp-welniet{padding-top:0}
.lp-faq{padding:72px 0;background:var(--paper-2,#f5f5f5)}
.lp-faq .elementor-accordion{margin-top:32px;max-width:820px}
.lp-faq .elementor-accordion .elementor-tab-title{font-weight:700;color:var(--dark,#344459)}

.lp-contact{background-color:#003c6d;background-image:linear-gradient(120deg,rgba(0,40,75,.9),rgba(0,60,109,.75)),var(--blauw-foto,none);background-size:cover;background-position:center;padding:72px 0;text-align:center}
.lp-contact .section-head h2,.lp-contact .section-head p{color:#fff}
.lp-contact .section-head p{opacity:.9}
.lp-contact-knoppen>.e-con-inner{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.lp-contact .elementor-button{font-weight:700;border-radius:var(--r,3px);padding:15px 26px}
.lp-contact .lp-contact-knoppen .elementor-widget-button:nth-of-type(1) .elementor-button{background:var(--red,#dc002d);color:#fff}
.lp-contact .lp-contact-knoppen .elementor-widget-button:nth-of-type(2) .elementor-button{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}

/* secties centreren binnen het container-systeem */
.lp-strip>.e-con-inner,.lp-producten>.e-con-inner,.lp-usps>.e-con-inner,.lp-faq>.e-con-inner,.lp-contact>.e-con-inner{max-width:var(--hb-container,1280px)}

@media(max-width:960px){
  .lp-hero>.e-con-inner{grid-template-columns:1fr}
  .lp-card-rij>.e-con-inner{grid-template-columns:1fr}
  .lp-usp-rij>.e-con-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.lp-usp-rij>.e-con-inner{grid-template-columns:1fr}}

/* landingspagina full width: de secties zelf lopen door tot de randen,
   de inhoud blijft op containerbreedte via de e-con-inner regels */
.elementor-page-591 .e-con.e-parent{max-width:100%;width:100%}
.elementor-page-591{padding:0;margin:0}
/* kop: wit, met het slot in CD-rood */
.lp-hero h1.elementor-heading-title,.lp-hero .elementor-widget-heading h1{color:#fff!important}
.lp-hero h1 .accent{color:#fff}
/* Astra's boxed container op de landingspagina uitzetten */
.elementor-page-591 .ast-container{max-width:100%;padding-left:0;padding-right:0;margin-left:0;margin-right:0;width:100%}
/* binnenmarge nu de secties full-bleed zijn */
.elementor-page-591 .e-con.e-parent>.e-con-inner{padding-left:24px;padding-right:24px}

/* ── categorie-tegels v3: landingskaartdesign (lp-card) op de homepage ── */
.cat-lp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cat-lp-grid .lp-card{display:flex;flex-direction:column}
.cat-lp-grid .lp-card img{max-height:170px;width:auto;margin:0 auto 14px;object-fit:contain}
/* Lijn dicht op de tekst; de restruimte zit tussen prijs en knop, zodat de
   knoppen over de vier kaarten wel op één hoogte blijven. */
.cat-lp-grid .lp-card-prijs{margin-top:10px;padding-top:10px;padding-bottom:14px}
.lp-btn{display:flex;flex-direction:column;align-items:center;background:var(--red,#dc002d);color:#fff!important;border-radius:var(--r,3px);padding:10px 12px;margin-top:auto;line-height:1.25;text-align:center;text-decoration:none}
.lp-btn .groot{font-size:13.5px;font-weight:700;white-space:nowrap}
.lp-btn .sub{font-size:11.5px;font-weight:600;opacity:.9}
.lp-btn:hover{background:#a80022;color:#fff!important}
@media(max-width:960px){.cat-lp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cat-lp-grid{grid-template-columns:1fr}}

/* ── producent-intro onder de stappen4-kop (BugSmash #7) ── */
.stappen4 .section-head .producent-sub{max-width:72ch;margin:10px auto 0;color:var(--ink,#575656);font-size:14.5px}

/* ── Full Service: monteursfoto's gelijk croppen (BugSmash #30) ── */
.elementor-332 .elementor-element-ef0dd59 .elementor-widget-image img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover}
