/* Winkelwagen, afrekenen en orderbevestiging — PlisseZonderBoren.nl.
 *
 * Kwam als assets/css/checkout-prototype.css uit de R5.3.18-oplevering.
 * Hernoemd naar de gehashte pages/-conventie (immutable caching) en niet
 * langer 'prototype': de flow POST naar /api/order en de bestelling komt
 * echt in het paneel. De regels zelf zijn ongewijzigd overgenomen.
 */

:root{--co-green:#283D25;--co-olive:#626949;--co-sage:#F2F0E7;--co-bg:#F8F7F2;--co-brown:#735736;--co-border:#D8D9D2;--co-muted:#546152;--co-danger:#9B2C2C;--co-success:#3E5E39;--co-warn:#9A6411}
.checkout-page,.status-page,.checkout-overview,.info-page{background:var(--co-bg);color:var(--co-green)}
.checkout-hero{background:linear-gradient(135deg,#283D25,#2B4128);color:#fff;padding:38px 0 42px}.checkout-hero .eyebrow{color:#F4E6D4!important;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;margin:0 0 8px}.checkout-hero h1{color:#fff;margin:0;font-size:clamp(34px,8vw,56px);line-height:1.05}.checkout-hero p{color:#EEF2ED;max-width:780px;font-size:clamp(16px,2.2vw,20px);line-height:1.6}.checkout-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:680px;margin-top:20px}.checkout-progress span{display:flex;gap:8px;align-items:center;color:#D7DDBF;font-size:13px;font-weight:750}.checkout-progress i{font-style:normal;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center}.checkout-progress .is-active{color:#fff}.checkout-progress .is-active i{background:#fff;color:var(--co-green)}
.checkout-main{padding:28px 0 76px}.checkout-grid{display:grid;gap:20px}.checkout-card{background:#fff;border:1px solid var(--co-border);border-radius:18px;box-shadow:0 8px 24px rgba(40,61,37,.05);overflow:hidden}.checkout-card__head{padding:20px;border-bottom:1px solid var(--co-border);display:flex;justify-content:space-between;gap:12px}.checkout-card__head h2{margin:0;color:var(--co-green);font-size:clamp(21px,4vw,28px)}.checkout-card__head p{margin:5px 0 0;color:var(--co-muted)}.checkout-card__body{padding:20px}.checkout-back{display:inline-flex;color:var(--co-green);font-weight:750;text-decoration:none;margin-bottom:18px}.checkout-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--co-border)}.checkout-item:first-child{padding-top:0}.checkout-item:last-child{border-bottom:0;padding-bottom:0}.checkout-item__image{width:92px;aspect-ratio:1;border-radius:13px;overflow:hidden;background:var(--co-sage)}.checkout-item__image img{width:100%;height:100%;object-fit:cover}.checkout-item__title{display:flex;justify-content:space-between;gap:10px}.checkout-item h3{margin:0;color:var(--co-green);font-size:17px}.checkout-item p{margin:5px 0 0;color:var(--co-muted);font-size:14px;line-height:1.55}.checkout-item__price{font-weight:850;white-space:nowrap}.checkout-item__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.qty-control{display:grid;grid-template-columns:40px 42px 40px;border:1px solid #9BA59A;border-radius:10px;overflow:hidden}.qty-control button{border:0;background:#fff;color:var(--co-green);font-size:20px}.qty-control output{display:grid;place-items:center;border-inline:1px solid var(--co-border);font-weight:750}.link-button{border:0;background:none;color:#744f25;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.order-totals{display:grid;gap:10px}.order-totals>div{display:flex;justify-content:space-between;gap:20px;color:#404D3E}.order-totals .order-total{border-top:1px solid var(--co-border);padding-top:14px;margin-top:4px;color:var(--co-green);font-size:20px;font-weight:850}.order-totals small{color:var(--co-muted);line-height:1.5}.checkout-actions{display:grid;gap:10px;margin-top:20px}.checkout-actions .button{width:100%;justify-content:center;min-height:52px}.trust-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}.trust-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:#354333}.trust-list li:before{content:'✓';width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#E6EFE5;color:var(--co-success);font-weight:900}.empty-cart{text-align:center;padding:42px 20px}.empty-cart__icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--co-sage);font-size:34px}.empty-cart h2{margin:0}.empty-cart p{max-width:520px;margin:10px auto 22px;color:var(--co-muted);line-height:1.6}
.checkout-form{display:grid;gap:18px}.field-grid{display:grid;gap:14px}.field{display:grid;gap:7px}.field label,.fieldset-title{font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid #8F998D;border-radius:10px;background:#fff;color:#2B4027;padding:12px 13px;min-height:48px}.field textarea{min-height:110px}.field small{color:var(--co-muted);line-height:1.45}.field-row{display:grid;grid-template-columns:1fr 110px;gap:10px}.checkout-section[hidden]{display:none}.checkout-step-actions{display:flex;flex-direction:column-reverse;gap:10px;margin-top:22px}.checkout-step-actions .button{min-height:52px;justify-content:center}.choice-grid{display:grid;gap:10px}.choice-card{display:block;cursor:pointer}.choice-card input{position:absolute;opacity:0}.choice-card>span{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border:1px solid #8F998D;border-radius:12px;padding:14px}.choice-card input:checked+span{border:2px solid var(--co-green);background:#F5F7F2;padding:13px}.choice-icon{width:38px;height:38px;border-radius:9px;background:var(--co-sage);display:grid;place-items:center;font-weight:900}.choice-card b,.choice-card small{display:block}.choice-card small{color:var(--co-muted);margin-top:2px}.choice-card em{font-style:normal;font-weight:750;font-size:14px}.check-list-form{display:grid;gap:12px}.check-row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;color:#2E412B;line-height:1.5}.check-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--co-green)}.check-row a{color:#744f25;font-weight:750}.legal-notice-checkout{background:#F4F3EC;border:1px solid var(--co-border);border-left:4px solid var(--co-olive);border-radius:12px;padding:15px;color:#354333;line-height:1.55}.legal-notice-checkout strong{display:block;color:var(--co-green);margin-bottom:4px}.review-block{border:1px solid var(--co-border);border-radius:12px;padding:15px}.review-block h3{margin:0 0 8px;font-size:16px}.review-block p{margin:0;color:#455343;line-height:1.55}.order-review{display:grid;gap:12px}.form-error{display:none;color:var(--co-danger);background:#FAEAEA;border:1px solid #E8B4B4;border-radius:10px;padding:12px;font-weight:750}.form-error.is-visible{display:block}.mobile-checkout-bar{position:fixed;left:0;right:0;bottom:0;z-index:8000;background:#fff;border-top:1px solid var(--co-border);box-shadow:0 -12px 30px rgba(40,61,37,.13);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.mobile-checkout-bar strong,.mobile-checkout-bar small{display:block}.mobile-checkout-bar small{color:var(--co-muted)}
.status-page{min-height:60vh;padding:44px 0 70px}.status-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--co-border);border-radius:24px;box-shadow:0 16px 42px rgba(40,61,37,.1);padding:clamp(24px,5vw,52px);text-align:center}.status-icon{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-size:38px;font-weight:900;background:var(--co-sage)}.status-icon--success{background:#E9F1E8;color:var(--co-success)}.status-icon--danger{background:#F8E8E8;color:var(--co-danger)}.status-icon--warning{background:#FFF3D9;color:var(--co-warn)}.status-card .eyebrow{color:#5f472b!important;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.status-card h1{margin:8px 0 10px;font-size:clamp(30px,7vw,52px)}.status-card>p{color:var(--co-muted);font-size:17px;line-height:1.65;max-width:660px;margin:0 auto}.status-order{max-width:560px;margin:24px auto 0;background:var(--co-sage);border-radius:14px;padding:18px;display:grid;gap:9px;text-align:left}.status-order div{display:flex;justify-content:space-between;gap:20px}.status-order span{color:var(--co-muted)}.status-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.status-actions .button{justify-content:center;min-height:52px}.status-next{display:grid;gap:14px;text-align:left;margin-top:30px}.status-next article{display:grid;grid-template-columns:36px 1fr;gap:12px}.status-next i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--co-green);color:#fff;font-style:normal;font-weight:800}.status-next h2{font-size:16px;margin:0}.status-next p{font-size:14px;margin:3px 0 0;color:var(--co-muted);line-height:1.5}.spinner{width:72px;height:72px;border-radius:50%;border:7px solid #E2E6DE;border-top-color:var(--co-brown);margin:0 auto 22px;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.prototype-switcher{margin-top:28px;border-top:1px solid var(--co-border);padding-top:20px}.prototype-switcher summary{cursor:pointer;color:#744f25;font-weight:750}.prototype-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.prototype-links a{background:var(--co-sage);color:var(--co-green);border-radius:999px;padding:8px 12px;text-decoration:none;font-size:13px;font-weight:700}
.info-page,.checkout-overview{padding:42px 0 70px}.info-layout{display:grid;gap:20px}.info-content{background:#fff;border:1px solid var(--co-border);border-radius:20px;padding:clamp(22px,5vw,42px)}.info-content h1{font-size:clamp(32px,7vw,52px);margin-top:0}.info-content h2{margin-top:28px}.info-content p,.info-content li{color:#404D3E;line-height:1.7}.info-downloads{display:grid;gap:10px;margin:22px 0}.info-downloads a{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--co-border);border-radius:12px;padding:14px 16px;background:var(--co-sage);color:var(--co-green);font-weight:750;text-decoration:none}.info-downloads a:after{content:'PDF ↓';font-size:12px;color:#744f25}.overview-grid{display:grid;gap:14px}.overview-card{background:#fff;border:1px solid var(--co-border);border-radius:16px;padding:20px;text-decoration:none;color:var(--co-green);box-shadow:0 6px 20px rgba(40,61,37,.05)}.overview-card span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--co-sage);font-weight:850;margin-bottom:12px}.overview-card h2{margin:0 0 6px;font-size:20px}.overview-card p{margin:0;color:var(--co-muted);line-height:1.5}
@media(min-width:700px){.field-grid--2{grid-template-columns:repeat(2,1fr)}.field-grid--3{grid-template-columns:2fr 1fr 1fr}.checkout-step-actions{flex-direction:row;justify-content:space-between}.status-actions{flex-direction:row;justify-content:center}.overview-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.checkout-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:28px;align-items:start}.sticky-summary{position:sticky;top:118px}.mobile-checkout-bar{display:none}.checkout-item{grid-template-columns:116px 1fr}.checkout-item__image{width:116px}.choice-grid--payments{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:repeat(3,1fr)}.info-layout{grid-template-columns:1fr 330px;align-items:start}}

.product-specs{display:grid;gap:5px;margin:10px 0 0;font-size:14px;line-height:1.45}.product-specs>div{display:grid;grid-template-columns:minmax(104px,.72fr) minmax(0,1.35fr);gap:10px}.product-specs dt{color:#627060}.product-specs dd{margin:0;color:#2E412B;font-weight:700}.product-specs--sample{margin-top:8px}.sample-color-card{background:var(--sample-color,#D8D9D2);display:grid;place-items:center}.sample-color-card span{width:42px;height:42px;border-radius:50%;background:var(--sample-color,#D8D9D2);border:5px solid rgba(255,255,255,.82);box-shadow:0 0 0 1px rgba(40,61,37,.18)}.checkout-item--sample .checkout-item__image{aspect-ratio:1}.review-block__heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.review-block__heading h3{margin:0}.sample-summary{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start}.sample-swatch{width:32px;height:32px;border-radius:50%;background:var(--sample-color,#D8D9D2);border:4px solid #fff;box-shadow:0 0 0 1px rgba(40,61,37,.18)}.sample-summary h3{margin:0 0 4px}.sample-summary p{margin:0!important;line-height:1.45!important}.sample-summary p span{color:#627060}.payment-method-note{color:#627060;font-size:12px;font-weight:700}.checkout-item__title>div{min-width:0}
@media(max-width:520px){.checkout-item{grid-template-columns:70px minmax(0,1fr)}.checkout-item__image{width:70px}.checkout-item__title{display:grid;grid-template-columns:1fr}.checkout-item__price{margin-top:7px}.product-specs>div{grid-template-columns:1fr;gap:1px}.product-specs dt{font-size:12px}.review-block__heading{display:grid}.choice-card>span{grid-template-columns:38px 1fr}.choice-card em{grid-column:2}}


/* R5.3.4 – echte stofafbeeldingen bij gratis samples */
.sample-color-card img{width:100%;height:100%;object-fit:contain;background:#fafaf8}
.sample-summary__image{display:block;width:64px;height:54px;border:1px solid #d8ddd4;border-radius:8px;overflow:hidden;background:#fafaf8;flex:none}
.sample-summary__image img{width:100%;height:100%;object-fit:contain}
.sample-summary__image .sample-swatch{display:block;width:100%;height:100%;background:var(--sample-color,#d8d9d2)}

/* R5.3.15 dynamische productpreview in winkelwagen */
.checkout-item__image{background:#F4F1E9;display:grid;place-items:stretch}
.checkout-preview{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;background:#F4F1E9}
.checkout-preview__bg{width:100%;height:100%;object-fit:cover;object-position:50% 54%;display:block;transform:scale(1.02)}
.checkout-preview__profile,.checkout-preview__bar,.checkout-preview__fabric{position:absolute;background-repeat:no-repeat;background-size:100% 100%}
.checkout-preview__profile{top:9.3%;bottom:14.3%;width:2.75%;z-index:2}
.checkout-preview__profile--left{left:14.5%}
.checkout-preview__profile--right{right:29.75%}
.checkout-preview__fabric{left:14.5%;right:29.75%;top:27%;bottom:27.25%;z-index:3;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.checkout-preview__bar{left:14.5%;right:29.75%;height:3.4%;z-index:4}
.checkout-preview__bar--top{top:26.35%}
.checkout-preview__bar--bottom{top:72.05%}
