/* Reclamehuys woven patch calculator v1.2.2 */
body.cw-page-offerte{
    --rhpc-red:#58A95B; /* calculator-accent: grasgroen; site-huisstijl blijft rood */
    --rhpc-black:#111111;
    --rhpc-text:#262626;
    --rhpc-muted:#777;
    --rhpc-soft:#f4f4f3;
    --rhpc-line:#dedede;
    --rhpc-width:1250px;
}
body.cw-page-offerte .rh-site__content{background:#fff!important;}
.rhpc,.rhpc *{box-sizing:border-box;}
.rhpc{width:100%;color:var(--rhpc-text);font-family:inherit;line-height:1.35;padding:0 20px 120px;background:#fff;}
.rhpc__shell{width:min(var(--rhpc-width),100%);margin:0 auto;}
.rhpc-hero{position:relative;width:100%;height:430px;overflow:hidden;background:#d6c3aa;border-radius:0;isolation:isolate;}
.rhpc-hero__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.rhpc-hero__shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(20,16,12,.62) 0%,rgba(20,16,12,.46) 33%,rgba(20,16,12,.17) 58%,rgba(20,16,12,0) 82%);}
.rhpc-hero__content{position:absolute;z-index:2;left:72px;top:50%;width:min(690px,calc(100% - 144px));transform:translateY(-50%);color:#fff;}
.rhpc-hero__content h1{max-width:690px;margin:0;color:#fff;font-size:clamp(44px,4.6vw,68px);line-height:.98;letter-spacing:-.045em;font-weight:700;}
.rhpc-hero__content p{max-width:650px;margin:24px 0 0;color:rgba(255,255,255,.94);font-size:18px;line-height:1.5;}
.rhpc__layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:58px;align-items:start;padding-top:40px;}
.rhpc-gallery__sticky{position:sticky;top:calc(var(--rh-header-height,78px) + 40px);}
.rhpc-gallery__stage{position:relative;width:100%;aspect-ratio:1/1;background:transparent;overflow:hidden;}
.rhpc-gallery__image{display:none;width:100%;height:100%;object-fit:contain;padding:24px;}
.rhpc-gallery__image.is-active{display:block;}
.rhpc-gallery__arrow{position:absolute;top:50%;width:40px;height:40px;border:1px solid #e1e1e1;border-radius:50%;background:#fff;color:#222;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-50%);box-shadow:0 2px 8px rgba(0,0,0,.05);}
.rhpc-gallery__arrow--prev{left:12px}.rhpc-gallery__arrow--next{right:12px}
.rhpc-gallery__thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:2px;}
.rhpc-gallery__thumb{flex:0 0 68px;width:68px;height:68px;padding:4px;border:1px solid transparent;background:transparent;cursor:pointer;}
.rhpc-gallery__thumb.is-active{border-color:var(--rhpc-green);background:transparent;}
.rhpc-gallery__thumb img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;}
.rhpc-gallery__copy{padding-top:24px;}
.rhpc-gallery__copy h2{margin:0 0 9px;color:#171717;font-size:22px;line-height:1.15;letter-spacing:-.02em;}
.rhpc-gallery__copy p{margin:0;color:#666;font-size:15px;line-height:1.55;}
.rhpc-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d7d7d7;margin-bottom:22px;}
.rhpc-steps span{position:relative;padding:0 8px 14px;color:#a3a3a3;font-size:14px;white-space:nowrap;}
.rhpc-steps span.is-active{color:#171717;font-weight:600;}
.rhpc-steps span.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--rhpc-red);}
.rhpc-card{margin-bottom:22px;padding:24px;border:1px solid #d9d9d9;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.04);}
.rhpc-card__head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;}
.rhpc-card h2,.rhpc-card__head h2{margin:0;color:#242424;font-size:20px;font-weight:500;letter-spacing:-.01em;}
.rhpc-reset{border:0;background:transparent;padding:0;color:var(--rhpc-red);font:inherit;font-size:14px;cursor:pointer;}
.rhpc-option{margin-top:8px;}
.rhpc-option__summary{width:100%;min-height:50px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:0 16px;border:0;background:#f3f3f2;color:#303030;text-align:left;font:inherit;font-size:15px;cursor:pointer;}
.rhpc-option__summary em{margin-left:5px;color:var(--rhpc-red);font-style:normal;}
.rhpc-option__state{color:#979797;white-space:nowrap;}
.rhpc-chevron{color:#444;font-size:15px;text-align:right;}
.rhpc-option__panel{padding:12px 0 4px;}
.rhpc-choice-grid{display:grid;gap:12px;}
.rhpc-choice-grid--4{grid-template-columns:repeat(4,1fr)}
.rhpc-choice-grid--3{grid-template-columns:repeat(3,1fr)}
.rhpc-choice{position:relative;min-height:58px;padding:13px 14px 13px 42px;border:1px solid #d7d7d7;background:#fff;color:#242424;text-align:left;font:inherit;font-size:15px;line-height:1.15;cursor:pointer;}
.rhpc-choice i{position:absolute;left:16px;top:18px;width:17px;height:17px;border:2px solid var(--rhpc-red);border-radius:50%;background:#fff;}
.rhpc-choice.is-selected{border-color:var(--rhpc-red);box-shadow:inset 0 0 0 1px var(--rhpc-red);}
.rhpc-choice.is-selected i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--rhpc-red);}
.rhpc-choice-grid--visual .rhpc-choice{min-height:150px;padding:105px 10px 12px 14px;}
.rhpc-choice-grid--visual .rhpc-choice i{top:14px;left:14px;}
.rhpc-back-demo{position:absolute;left:50%;top:18px;width:74px;height:74px;transform:translateX(-50%);border-radius:50%;border:7px solid #263b62;background:#e5e5e5;box-shadow:0 4px 8px rgba(0,0,0,.08);}
.rhpc-back-demo--iron{border-color:#75452f;background:linear-gradient(135deg,#eee4d4,#d2bda7,#f2d8b4)}
.rhpc-back-demo--hook{border-color:#0b0b0b;background:#181818}
.rhpc-back-demo--adhesive{border:0;background:#f3f3f0;color:#1b63a8;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;transform:translateX(-50%) rotate(-9deg)}
.rhpc-swatches{display:flex;flex-wrap:wrap;gap:8px;padding:4px 1px 2px;}
.rhpc-swatch{position:relative;width:28px;height:28px;border:2px solid #e1e1e1;border-radius:50%;background:var(--swatch);cursor:pointer;padding:0;}
.rhpc-swatch.is-selected{border-color:#111;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--rhpc-red);}
.rhpc-swatch.is-selected::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.65);}
.rhpc-quantity-heading{margin-top:20px;padding:16px;background:#f4f4f3;display:flex;flex-direction:column;}
.rhpc-quantity-heading strong{font-size:15px;font-weight:600}.rhpc-quantity-heading span{color:#777;font-size:14px;}
.rhpc-table-wrap{overflow-x:auto;}
.rhpc-price-table{width:100%;border-collapse:collapse;font-size:14px;min-width:610px;}
.rhpc-price-table th{padding:11px 8px;background:#e1e1e1;color:#222;font-weight:600;text-align:left;}
.rhpc-price-table td{padding:7px 8px;border-bottom:1px solid #ddd;background:#f6f6f5;color:#555;}
.rhpc-price-table tr{cursor:pointer}.rhpc-price-table tr.is-selected td{background:#dfdfdf;color:#333;}
.rhpc-price-table td:first-child{width:32px;}
.rhpc-radio-dot{display:block;width:17px;height:17px;border:2px solid var(--rhpc-red);border-radius:50%;position:relative;}
tr.is-selected .rhpc-radio-dot::after{content:"";position:absolute;inset:3px;background:var(--rhpc-red);border-radius:50%;}
.rhpc-delivery{color:var(--rhpc-red)!important;font-weight:500;white-space:nowrap;}
.rhpc-custom-quantity{margin-top:14px;min-height:56px;display:flex;align-items:center;gap:11px;padding:0 15px;border:1px solid #d7d7d7;cursor:pointer;}
.rhpc-custom-quantity__check{position:relative;width:18px;height:18px;flex:0 0 18px;}
.rhpc-custom-quantity__check input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.rhpc-custom-quantity__check i{display:block;width:16px;height:16px;border:2px solid var(--rhpc-red);margin-top:1px;}
.rhpc-custom-quantity__check input:checked+i::after{content:"✓";display:block;color:var(--rhpc-red);font-weight:800;font-style:normal;font-size:12px;line-height:11px;text-align:center;}
.rhpc-custom-quantity>input[type=number]{margin-left:auto;width:130px;height:38px;border:1px solid #cfcfcf;padding:0 10px;font:inherit;}
.rhpc-total{position:relative;}
.rhpc-total h2{margin-bottom:24px;}
.rhpc-total__line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #e0e0e0;font-size:15px;}
.rhpc-total__line--strong{font-weight:600;}
.rhpc-total__delivery{margin-top:16px;padding:13px 15px;background:#f7f1f1;color:var(--rhpc-red);font-weight:600;}
.rhpc-total__vat{margin:9px 0 0;color:#8a8a8a;font-size:12px;}
.rhpc-floating-total{position:fixed;z-index:70;left:50%;bottom:16px;width:min(1250px,calc(100% - 40px));transform:translateX(-50%) translateY(140%);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;}
.rhpc-floating-total.is-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.rhpc-floating-total__inner{min-height:78px;display:grid;grid-template-columns:190px 230px 1fr;align-items:center;gap:24px;padding:13px 20px;background:#111;color:#fff;box-shadow:0 10px 34px rgba(0,0,0,.22);}
.rhpc-floating-total__inner>div{display:flex;flex-direction:column;}.rhpc-floating-total__inner span{color:#bdbdbd;font-size:12px}.rhpc-floating-total__inner strong{font-size:22px;line-height:1.1}.rhpc-floating-total__inner p{margin:0 0 0 auto;color:#fff;font-size:14px}.rhpc-floating-total__inner p::before{content:"✓";display:inline-block;margin-right:8px;color:var(--rhpc-red);font-weight:900;}
@media(max-width:1050px){.rhpc__layout{grid-template-columns:320px minmax(0,1fr);gap:34px}.rhpc-choice-grid--4{grid-template-columns:repeat(2,1fr)}.rhpc-floating-total__inner{grid-template-columns:160px 210px 1fr}}
@media(max-width:820px){.rhpc{padding-left:15px;padding-right:15px}.rhpc__layout{grid-template-columns:1fr}.rhpc-gallery__sticky{position:static}.rhpc-gallery__stage{aspect-ratio:16/10}.rhpc-gallery__copy{max-width:620px}.rhpc-steps{margin-top:10px}.rhpc-choice-grid--4,.rhpc-choice-grid--3{grid-template-columns:repeat(2,1fr)}.rhpc-floating-total{width:calc(100% - 30px);bottom:10px}.rhpc-floating-total__inner{grid-template-columns:1fr 1fr;gap:12px 20px;min-height:76px}.rhpc-floating-total__inner p{grid-column:1/-1;margin:0;font-size:12px}}
@media(max-width:560px){.rhpc-hero{height:300px}.rhpc-hero__content{left:22px;width:calc(100% - 44px)}.rhpc-hero__content h1{font-size:38px}.rhpc-hero__content p{margin-top:16px;font-size:15px}.rhpc-card{padding:16px}.rhpc-card__head{align-items:flex-start}.rhpc-steps{overflow-x:auto;grid-template-columns:repeat(3,minmax(180px,1fr))}.rhpc-choice-grid--4,.rhpc-choice-grid--3{grid-template-columns:1fr}.rhpc-option__summary{grid-template-columns:minmax(0,1fr) 15px}.rhpc-option__state{display:none}.rhpc-choice-grid--visual .rhpc-choice{min-height:120px;padding-top:83px}.rhpc-back-demo{top:14px;width:58px;height:58px}.rhpc-custom-quantity{flex-wrap:wrap;padding:10px 13px}.rhpc-custom-quantity>input[type=number]{width:100%;margin-left:29px}.rhpc-floating-total__inner strong{font-size:18px}}


@media(max-width:820px){
    .rhpc-hero{height:350px;}
    .rhpc-hero__content{left:34px;width:calc(100% - 68px);}
    .rhpc-hero__content h1{font-size:clamp(40px,7vw,56px);}
    .rhpc-hero__content p{font-size:16px;}
    .rhpc-hero__shade{background:linear-gradient(90deg,rgba(20,16,12,.66) 0%,rgba(20,16,12,.45) 48%,rgba(20,16,12,.08) 100%);}
}

/* =========================================================
   v1.2.1 — interaction polish + lightbox + VAT + header fix
   ========================================================= */
body.cw-page-offerte .cwh26-header{
    display:block!important;
}
.rhpc-gallery__image.is-active{cursor:zoom-in;}

/* Stapnavigatie is nu interactief. */
.rhpc-steps button{
    appearance:none;
    position:relative;
    padding:0 8px 14px;
    border:0;
    background:transparent;
    color:#a3a3a3;
    font:inherit;
    font-size:14px;
    text-align:left;
    white-space:nowrap;
    cursor:pointer;
}
.rhpc-steps button:hover,.rhpc-steps button:focus-visible{color:#555;outline:none;}
.rhpc-steps button.is-active{color:#171717;font-weight:600;}
.rhpc-steps button.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--rhpc-red);}
.rhpc-steps span{display:none;}

/* Excl. en incl. btw permanent zichtbaar in de onderste prijsbalk. */
.rhpc-floating-total__inner{grid-template-columns:240px 280px 1fr;}
.rhpc-floating-priceblock small{margin-top:4px;color:#fff;font-size:13px;line-height:1.2;}
.rhpc-floating-priceblock strong{white-space:nowrap;}
.rhpc-floating-priceblock span{margin-bottom:3px;}

/* v1.3.3 — lightbox: beeldvlak 20% kleiner en smoked glass 50% transparanter. */
/* Grote fotoweergave. */
body.rhpc-lightbox-open{overflow:hidden!important;}
.rhpc-lightbox[hidden]{display:none!important;}
.rhpc-lightbox{
    position:fixed;
    z-index:10000;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 88px;
    background:rgba(0,0,0,.44);
    backdrop-filter:blur(7px);
}
.rhpc-lightbox__figure{margin:0;max-width:min(896px,calc(100vw - 300px));max-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.rhpc-lightbox__figure img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;background:transparent;box-shadow:none;}
.rhpc-lightbox__figure figcaption{margin-top:12px;color:rgba(255,255,255,.82);font-size:13px;text-align:center;}
.rhpc-lightbox__close,.rhpc-lightbox__arrow{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;font-family:Arial,sans-serif;}
.rhpc-lightbox__close{top:18px;right:20px;z-index:3;width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.34);font-size:38px;line-height:46px;text-align:center;}
.rhpc-lightbox__arrow{top:50%;width:58px;height:78px;transform:translateY(-50%);font-size:58px;line-height:1;}
.rhpc-lightbox__arrow--prev{left:22px;}.rhpc-lightbox__arrow--next{right:22px;}
.rhpc-lightbox__close:focus-visible,.rhpc-lightbox__arrow:focus-visible{outline:2px solid #fff;outline-offset:3px;}

@media(max-width:1050px){
    .rhpc-floating-total__inner{grid-template-columns:210px 245px 1fr;}
}
@media(max-width:820px){
    .rhpc-floating-total__inner{grid-template-columns:1fr 1fr;}
    .rhpc-lightbox{padding:50px 58px;}
    .rhpc-lightbox__figure{max-width:calc(100vw - 130px);}
}
@media(max-width:560px){
    .rhpc-steps button{min-width:180px;}
    .rhpc-floating-priceblock strong{font-size:16px;}
    .rhpc-floating-priceblock small{font-size:11px;}
    .rhpc-lightbox{padding:58px 42px;}
    .rhpc-lightbox__figure{max-width:calc(100vw - 92px);}
    .rhpc-lightbox__arrow{width:40px;font-size:44px;}
    .rhpc-lightbox__arrow--prev{left:4px;}.rhpc-lightbox__arrow--next{right:4px;}
    .rhpc-lightbox__close{right:8px;top:8px;}
}


/* =========================================================
   v1.2.2 — groene calculatoraccenten + bestelworkflow
   ========================================================= */
.rhpc-order-button{
    width:100%;min-height:54px;margin-top:22px;padding:0 22px;border:0;background:var(--rhpc-red);color:#fff;
    font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:filter .18s ease,transform .18s ease;
}
.rhpc-order-button:hover,.rhpc-order-button:focus-visible{filter:brightness(.92);outline:none;transform:translateY(-1px);}
.rhpc-order-card[hidden]{display:none!important;}
.rhpc-order-card{margin-top:2px;scroll-margin-top:120px;}
.rhpc-order-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;}
.rhpc-order-card__head h2{font-size:26px;font-weight:600;}
.rhpc-order-card__eyebrow{margin:0 0 5px;color:var(--rhpc-red);font-size:12px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;}
.rhpc-order-card__close{width:38px;height:38px;border:0;background:#f2f2f1;color:#444;font-size:27px;line-height:1;cursor:pointer;}
.rhpc-payment-note{margin:0 0 22px;padding:17px 18px;border-left:4px solid var(--rhpc-red);background:#f3f8f3;color:#344334;}
.rhpc-payment-note strong{display:block;margin-bottom:5px;color:#1f3a21;font-size:15px;}
.rhpc-payment-note p{margin:0;font-size:14px;line-height:1.55;}
.rhpc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;}
.rhpc-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.rhpc-field--wide{grid-column:1/-1;}
.rhpc-field>span{font-size:13px;font-weight:650;color:#333;}
.rhpc-field input,.rhpc-field textarea{width:100%;border:1px solid #d3d3d3;background:#fff;color:#222;font:inherit;font-size:15px;padding:12px 13px;border-radius:0;outline:none;}
.rhpc-field input{min-height:46px;}
.rhpc-field textarea{resize:vertical;min-height:108px;}
.rhpc-field input:focus,.rhpc-field textarea:focus{border-color:var(--rhpc-red);box-shadow:0 0 0 1px var(--rhpc-red);}
.rhpc-field input[type=file]{padding:9px;background:#f7f7f6;}
.rhpc-field small{color:#777;font-size:12px;}
.rhpc-order-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid #e2e2e2;}
.rhpc-order-submit p{max-width:520px;margin:0;color:#666;font-size:13px;line-height:1.5;}
.rhpc-order-submit button{min-width:220px;min-height:50px;padding:0 20px;border:0;background:var(--rhpc-red);color:#fff;font:inherit;font-weight:700;cursor:pointer;}
.rhpc-order-submit button:hover,.rhpc-order-submit button:focus-visible{filter:brightness(.92);outline:none;}
.rhpc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.rhpc-order-notice{margin-top:20px;padding:14px 16px;font-size:14px;line-height:1.5;}
.rhpc-order-notice--success{border-left:4px solid var(--rhpc-red);background:#f1f8f1;color:#28452b;}
.rhpc-order-notice--error{border-left:4px solid #b94141;background:#fbf2f2;color:#7a3030;}
.rhpc-total__delivery{background:#f3f8f3;}

@media(max-width:700px){
    .rhpc-form-grid{grid-template-columns:1fr;}
    .rhpc-field--wide{grid-column:auto;}
    .rhpc-order-submit{align-items:stretch;flex-direction:column;}
    .rhpc-order-submit button{width:100%;}
}

/* v1.3.1 mobile hero final override: keep the smallest breakpoint dominant. */
@media(max-width:560px){
    .rhpc-hero{height:300px;}
    .rhpc-hero__content{left:22px;width:calc(100% - 44px);}
    .rhpc-hero__content h1{font-size:38px;}
    .rhpc-hero__content p{margin-top:16px;font-size:15px;}
}

/* v1.3.2 — hero gebruikt een tekstloze achtergrondafbeelding.
   Titel/subtitel blijven losse HTML en dus apart bewerkbaar. */
.rhpc-hero__content h1 > span{display:block;}


/* v1.3.5 — volledig vrijstaande emblemen in galerij en lightbox. */
.rhpc-gallery__stage,.rhpc-gallery__image,.rhpc-gallery__thumb,.rhpc-gallery__thumb img{background-color:transparent!important;}
.rhpc-lightbox__figure,.rhpc-lightbox__figure img{background:transparent!important;box-shadow:none!important;}
.rhpc-lightbox__close:hover,.rhpc-lightbox__close:focus-visible{background:rgba(0,0,0,.58);}
