:root{
--aanvraag-ink:#2f2f2f;
--aanvraag-muted:#666;
--aanvraag-soft:#f5f5f5;
--aanvraag-card:#fff;
--aanvraag-line:#d6d6d6;
--aanvraag-accent:#60b6aa;
--aanvraag-accent-dark:#42998e;
--aanvraag-success:#4d8f5d;
--aanvraag-shadow:0 12px 28px rgba(0,0,0,0.08);
}

.sr-only{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

.aanvraag-shell{
max-width:none;
margin:0;
padding:0;
color:var(--aanvraag-ink);
font-family:"Open Sans","Helvetica Neue",Arial,sans-serif;
}

.aanvraag-shell,
.aanvraag-shell *,
.aanvraag-shell *::before,
.aanvraag-shell *::after{
box-sizing:border-box;
}

.aanvraag-shell--compact{
max-width:none;
padding:0;
}

.aanvraag-overview{
max-width:1120px;
margin:24px auto 56px;
padding:0 16px;
}

.aanvraag-overview__header{
background:#fff;
border:1px solid var(--aanvraag-line);
border-radius:6px;
box-shadow:var(--aanvraag-shadow);
padding:24px 28px;
margin-bottom:20px;
}

.aanvraag-overview__header h1{
margin:0 0 10px;
font-size:32px;
}

.aanvraag-overview__header p{
margin:0;
font-size:16px;
line-height:1.7;
color:var(--aanvraag-muted);
}

.aanvraag-overview__grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
}

.aanvraag-overview__card{
display:flex;
flex-direction:column;
gap:10px;
padding:22px;
background:#fff;
border:1px solid var(--aanvraag-line);
border-radius:6px;
box-shadow:var(--aanvraag-shadow);
text-decoration:none;
color:var(--aanvraag-ink);
}

.aanvraag-overview__card:hover{
border-color:var(--aanvraag-accent);
}

.aanvraag-overview__title{
font-size:24px;
font-weight:700;
}

.aanvraag-overview__text{
font-size:15px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.aanvraag-overview__link{
font-size:14px;
font-weight:700;
color:var(--aanvraag-accent);
}

.aanvraag-subnav{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:18px;
}

.aanvraag-subnav__link{
display:inline-flex;
align-items:center;
padding:10px 14px;
border:1px solid var(--aanvraag-line);
border-radius:4px;
background:#fff;
text-decoration:none;
color:var(--aanvraag-ink);
font-size:14px;
font-weight:700;
}

.aanvraag-subnav__link.is-active{
background:#eff8f6;
border-color:var(--aanvraag-accent);
color:var(--aanvraag-accent-dark);
}

.aanvraag-intro-block{
margin-bottom:22px;
}

.aanvraag-intro-block h1{
margin:0 0 16px;
font-size:32px;
line-height:1.2;
font-weight:600;
}

.aanvraag-intro-block p{
max-width:820px;
margin:0;
font-size:16px;
line-height:1.7;
color:var(--aanvraag-muted);
}

.aanvraag-form-card{
padding:0;
}

.aanvraag-form-card--compact{
margin:0 auto;
padding:0;
border:none;
box-shadow:none;
background:transparent;
}

.aanvraag-section{
padding:24px;
border:1px solid var(--aanvraag-line);
border-radius:6px;
background:#fff;
}

.aanvraag-section--compact{
padding:18px;
border-radius:4px;
}

.aanvraag-section + .aanvraag-section{
margin-top:22px;
}

.aanvraag-section__header{
display:flex;
gap:16px;
align-items:flex-start;
margin-bottom:18px;
}

.aanvraag-section__header h2{
margin:0 0 6px;
font-size:24px;
line-height:1.2;
font-weight:600;
}

.aanvraag-section__header p{
margin:0;
font-size:15px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.aanvraag-badge{
display:inline-flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:999px;
background:#eff8f6;
color:var(--aanvraag-accent-dark);
font-size:16px;
font-weight:700;
flex-shrink:0;
}

.form-row{
display:flex;
gap:18px;
margin-bottom:18px;
flex-wrap:wrap;
}

.form-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
}

.form-grid--single{
grid-template-columns:1fr;
}

.form-grid--compact{
grid-template-columns:1fr;
gap:14px;
}

.field{
flex:1;
min-width:220px;
}

.field-small{
max-width:220px;
flex:1 1 220px;
}

.field--full{
grid-column:1 / -1;
}

label{
display:block;
margin-bottom:8px;
font-size:14px;
font-weight:700;
color:var(--aanvraag-ink);
}

.input-field,
textarea{
width:100%;
padding:14px 16px;
border:1px solid var(--aanvraag-line);
border-radius:4px;
font-size:15px;
line-height:1.4;
background:#fff;
transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.input-field:focus,
textarea:focus{
border-color:var(--aanvraag-accent);
outline:none;
box-shadow:0 0 0 1px var(--aanvraag-accent);
}

.product-selector{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px;
margin:10px 0 24px;
}

.product-btn{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:0;
min-height:120px;
padding:18px;
border:1px solid #c5d8d5;
font-size:15px;
color:var(--aanvraag-ink);
background:#d9e8e6;
cursor:pointer;
font-weight:700;
border-radius:6px;
transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
text-align:center;
appearance:none;
}

.aanvraag-shell .product-btn:hover,
.aanvraag-shell .product-btn:focus-visible{
border-color:#91cdc5 !important;
background:#91cdc5 !important;
box-shadow:0 8px 16px rgba(145,205,197,0.18) !important;
color:var(--aanvraag-ink) !important;
outline:none !important;
}

.aanvraag-shell .product-btn.active,
.aanvraag-shell .product-btn[aria-pressed="true"]{
background:#91cdc5 !important;
color:var(--aanvraag-ink) !important;
border-color:#91cdc5 !important;
box-shadow:inset 0 0 0 1px rgba(66,153,142,0.18) !important;
}

.product-btn__title{
font-size:22px;
line-height:1.15;
font-weight:700;
}

.image-selector{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px;
}

.image-selector__item{
display:flex;
flex-direction:column;
gap:10px;
padding:12px;
border:1px solid var(--aanvraag-line);
border-radius:6px;
background:#fff;
cursor:pointer;
text-align:left;
}

.image-selector__item img{
display:block;
width:100%;
height:160px;
object-fit:cover;
border-radius:4px;
}

.image-selector__item span{
font-size:15px;
font-weight:700;
color:var(--aanvraag-ink);
}

.image-selector__item.is-active{
border-color:var(--aanvraag-accent);
box-shadow:inset 0 0 0 1px var(--aanvraag-accent);
background:#eff8f6;
}

.preview-frame{
padding:20px;
border-radius:6px;
background:#fafafa;
border:1px solid var(--aanvraag-line);
}

.preview{
position:relative;
margin:0 auto;
max-width:480px;
}

.preview img{
display:block;
width:100%;
border-radius:20px;
border-radius:6px;
box-shadow:0 12px 22px rgba(0,0,0,0.08);
}

.hotspot{
position:absolute;
width:72px;
height:72px;
border-radius:50%;
background:rgba(255,255,255,0.82);
border:3px solid var(--aanvraag-accent-dark);
cursor:pointer;
z-index:10;
transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

.hotspot:hover{
background:rgba(96,182,170,0.16);
border-color:var(--aanvraag-accent);
box-shadow:0 0 0 6px rgba(96,182,170,0.18);
}

.hotspot.active{
background:rgba(96,182,170,0.78);
border-color:#fff;
box-shadow:0 0 0 8px rgba(96,182,170,0.18);
}

.knot{
top:33%;
left:50%;
transform:translate(-50%,-50%);
}

.tip{
bottom:9%;
left:49.5%;
transform:translate(-50%,0);
}

.left{
top:69%;
left:17%;
transform:translate(-50%,-50%);
}

.right{
top:70%;
right:18%;
transform:translate(50%,-50%);
}

.pochet-right{
top:22%;
left:22%;
transform:translate(-50%,-50%);
border-radius:4px;
}

.pochet-diagonal{
top:22%;
left:78%;
transform:translate(-50%,-50%);
}

.back-a{
top:38%;
left:66%;
transform:translate(-50%,-50%);
}

.back-b{
top:80%;
left:51%;
transform:translate(-50%,-50%);
}

#positie-label{
margin:16px 0 0;
min-height:24px;
font-family:"Helvetica Neue",Arial,sans-serif;
font-weight:700;
font-size:15px;
color:var(--aanvraag-accent-dark);
}

.upload-card{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
flex-wrap:wrap;
gap:4px 6px;
min-height:72px;
padding:14px 18px;
margin-bottom:16px;
border:1px solid #d8d8d8;
border-radius:0;
background:#f7f8f8;
cursor:pointer;
text-align:center;
transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.upload-card:hover,
.upload-card.is-dragover{
border-color:var(--aanvraag-accent);
background:#fff;
box-shadow:inset 0 0 0 1px rgba(96,182,170,0.14);
}

.upload-card__icon{
display:none;
}

.upload-card__title{
font-size:18px;
line-height:1.35;
font-weight:500;
color:var(--aanvraag-ink);
}

.upload-card__subtitle{
font-size:18px;
line-height:1.35;
font-weight:400;
color:var(--aanvraag-muted);
}

.upload-card__meta{
flex-basis:100%;
font-size:13px;
line-height:1.4;
font-weight:400;
color:var(--aanvraag-muted);
}

input[type="file"]{
position:absolute;
left:-9999px;
opacity:0;
pointer-events:none;
}

.upload-file-list{
display:grid;
gap:8px;
margin:0 0 22px;
}

.upload-file-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:10px 12px;
border:1px solid var(--aanvraag-line);
border-radius:4px;
background:#fff;
font-size:14px;
line-height:1.4;
color:var(--aanvraag-ink);
}

.upload-file-item__meta{
display:flex;
align-items:center;
gap:12px;
min-width:0;
}

.upload-file-item__preview{
display:block;
width:42px;
height:42px;
object-fit:cover;
border-radius:4px;
border:1px solid var(--aanvraag-line);
flex-shrink:0;
}

.upload-file-item__name{
overflow-wrap:anywhere;
}

.upload-file-item__remove{
border:none;
background:transparent;
color:var(--aanvraag-accent-dark);
font-size:13px;
font-weight:700;
cursor:pointer;
padding:0;
flex-shrink:0;
}

.field-full{
width:100%;
}

.textarea-field{
min-height:120px;
resize:vertical;
}

.aanvraag-actions{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
margin-top:24px;
padding:0 8px;
}

.aanvraag-form-card--compact .aanvraag-actions{
padding:0;
margin-top:18px;
}

.aanvraag-actions--compact{
flex-direction:column;
align-items:stretch;
gap:12px;
}

#aanvraag-progressive-details[hidden]{
display:none !important;
}

.aanvraag-article-number{
max-width:none;
margin:18px 0 0;
}

.aanvraag-article-number[hidden]{
display:none !important;
}

.aanvraag-article-number__input{
max-width:180px;
padding:12px 14px;
}

.aanvraag-article-number__intro{
margin:0 0 14px;
font-size:14px;
line-height:1.7;
color:var(--aanvraag-muted);
}

.aanvraag-article-number__row{
display:flex;
align-items:flex-end;
gap:20px;
width:100%;
}

.aanvraag-article-number__field{
max-width:220px;
}

.aanvraag-divider{
margin:18px 0 24px;
border:0;
border-top:1px solid rgba(0,0,0,0.1);
}

.aanvraag-divider--tight{
margin:14px 0;
}

.aanvraag-extra-options{
margin:20px 0 18px;
}

.aanvraag-extra-options[hidden]{
display:none !important;
}

.aanvraag-extra-options__section{
display:grid;
gap:8px;
}

.aanvraag-extra-options__section strong{
font-size:15px;
line-height:1.4;
}

.aanvraag-extra-options__section p{
margin:0;
font-size:14px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.aanvraag-info-card{
max-width:none;
margin:16px 0 0;
padding:0;
border:1px solid #d5e4e0;
border-radius:8px;
background:#f9fbfb;
opacity:0;
transform:translateY(6px);
transition:opacity .24s ease, transform .24s ease;
}

.aanvraag-info-card[hidden]{
display:none !important;
}

.aanvraag-info-card.is-visible{
opacity:1;
transform:translateY(0);
}

.aanvraag-info-card__inner{
display:flex;
align-items:flex-start;
gap:12px;
padding:14px 16px;
}

.aanvraag-info-card__icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:999px;
background:#e1f1ee;
color:#2e7369;
font-size:13px;
font-weight:700;
flex-shrink:0;
margin-top:2px;
}

.aanvraag-info-card__content{
min-width:0;
}

.aanvraag-info-card__badge{
margin:0 0 8px;
font-size:12px;
font-weight:700;
letter-spacing:0.02em;
color:var(--aanvraag-accent-dark);
}

.aanvraag-contact-grid{
max-width:520px;
}

.aanvraag-info-card p{
margin:0;
font-size:13px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.aanvraag-info-card a{
color:var(--aanvraag-accent-dark);
text-decoration:underline;
}

.aanvraag-step__hint{
display:none;
margin:0 0 14px;
font-size:14px;
line-height:1.5;
color:#9b5a00;
}

.aanvraag-step__hint.is-visible{
display:block;
}

.aanvraag-inline-error{
margin:0 0 18px;
padding:12px 14px;
border:1px solid rgba(166, 96, 96, 0.25);
border-radius:4px;
background:#fff6f6;
color:#8b3a3a;
font-size:14px;
line-height:1.5;
}

.aanvraag-inline-error[hidden]{
display:none !important;
}

.aanvraag-btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:0 18px;
border-radius:4px;
font-size:14px;
font-weight:700;
cursor:pointer;
transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
appearance:none;
text-decoration:none;
}

.aanvraag-btn--primary{
background:var(--aanvraag-accent);
border:1px solid var(--aanvraag-accent);
color:#fff;
box-shadow:none;
}

.aanvraag-btn--primary:hover,
.aanvraag-btn--primary:focus-visible{
background:var(--aanvraag-accent-dark) !important;
border-color:var(--aanvraag-accent-dark) !important;
color:#fff !important;
outline:none !important;
box-shadow:0 0 0 3px rgba(96,182,170,0.18) !important;
}

.aanvraag-btn--secondary{
background:#fff;
border:1px solid var(--aanvraag-line);
color:var(--aanvraag-ink);
}

.aanvraag-btn--secondary:hover,
.aanvraag-btn--secondary:focus-visible{
background:#f7f9fb !important;
border-color:var(--aanvraag-accent) !important;
color:var(--aanvraag-accent-dark) !important;
outline:none !important;
box-shadow:0 0 0 3px rgba(96,182,170,0.12) !important;
}

.aanvraag-actions__hint{
margin:0;
font-size:14px;
line-height:1.6;
color:var(--aanvraag-muted);
}

button[type="submit"]{
background:var(--aanvraag-accent);
color:#fff;
padding:15px 30px;
border:none;
border-radius:4px;
cursor:pointer;
font-weight:700;
font-size:15px;
transition:transform .2s ease, box-shadow .2s ease;
box-shadow:none;
}

button[type="submit"]:hover{
background:var(--aanvraag-accent-dark) !important;
}

@media (max-width:980px){
.aanvraag-overview__grid,
.image-selector{
grid-template-columns:1fr;
}

.form-grid{
grid-template-columns:1fr;
}
}

@media (max-width:768px){
.aanvraag-shell{
margin:0;
padding:0;
}

.aanvraag-form-card,
.aanvraag-section{
padding:0;
border-radius:6px;
}

.aanvraag-article-number{
max-width:100%;
}

.aanvraag-article-number__row{
flex-direction:column;
align-items:flex-start;
gap:12px;
}

.aanvraag-article-number__input{
max-width:180px;
}

.aanvraag-section__header h2{
font-size:24px;
}

.aanvraag-actions{
flex-direction:column;
align-items:stretch;
padding:0;
}

.product-selector{
grid-template-columns:1fr;
gap:10px;
}

.product-btn{
min-height:66px;
padding:10px 12px;
}

.product-btn__title{
font-size:16px;
}

.preview-frame{
padding:14px;
}

.hotspot{
width:56px;
height:56px;
}
}

/* Standalone aanvraag overrides */
.product-btn{
border-color:#d2d6d5 !important;
color:#6f7775 !important;
background:#f0f2f2 !important;
}

.aanvraag-shell .product-btn:not(.active):not([aria-pressed="true"]){
filter:grayscale(1);
}

.aanvraag-shell .product-btn.active,
.aanvraag-shell .product-btn[aria-pressed="true"]{
background:#91cdc5 !important;
color:var(--aanvraag-ink) !important;
border-color:#91cdc5 !important;
box-shadow:inset 0 0 0 1px rgba(66,153,142,0.18) !important;
filter:none;
}

.preview img{
border-radius:6px;
box-shadow:none !important;
}

.pochet-diagonal{
width:64px !important;
height:64px !important;
border-radius:4px !important;
transform:translate(-50%,-50%) rotate(45deg) !important;
}

.aanvraag-form-card--bedrukking .hotspot.pochet-right{
width:64px;
height:64px;
border-radius:4px;
}

.aanvraag-form-card--bedrukking .hotspot.pochet-diagonal{
width:64px !important;
height:64px !important;
}

.aanvraag-form-card--bedrukking .hotspot.pochet-right .hotspot__label,
.aanvraag-form-card--bedrukking .hotspot.pochet-diagonal .hotspot__label{
font-size:14px;
}

.hotspot__label{
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
font-size:13px;
font-weight:800;
letter-spacing:0.04em;
color:var(--aanvraag-accent-dark);
pointer-events:none;
}

.hotspot.active .hotspot__label{
color:#fff;
}

.selection-description{
margin:6px 0 0;
max-width:520px;
font-size:14px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.selection-description[hidden]{
display:none !important;
}

.aanvraag-article-number__row{
display:flex;
flex-direction:row;
align-items:flex-end;
gap:20px;
width:100%;
flex-wrap:wrap;
}

.aanvraag-article-number__input{
max-width:180px;
height:48px;
min-height:48px;
padding:0 14px;
}

.aanvraag-article-number__field label{
display:block;
margin:0 0 8px;
font-size:14px;
line-height:1.4;
font-weight:700;
color:var(--aanvraag-ink);
}

.aanvraag-label-with-help{
display:flex;
align-items:center;
gap:8px;
margin:0 0 8px;
}

.aanvraag-label-with-help label{
margin:0;
}

.aanvraag-help{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
min-height:20px;
padding:0;
border:1px solid #bfd8d3;
border-radius:50%;
background:#f2faf8;
color:var(--aanvraag-accent-dark);
font-size:12px;
font-weight:700;
line-height:1;
cursor:pointer;
}

.aanvraag-help:hover,
.aanvraag-help:focus-visible{
background:var(--aanvraag-accent);
color:#fff;
outline:none;
}

.aanvraag-help__popup{
position:absolute;
left:50%;
bottom:calc(100% + 10px);
z-index:30;
width:260px;
max-width:calc(100vw - 48px);
padding:10px 12px;
border:1px solid rgba(22,50,47,0.14);
border-radius:6px;
background:#fff;
box-shadow:0 10px 24px rgba(0,0,0,0.13);
color:var(--aanvraag-ink);
font-size:13px;
font-weight:400;
line-height:1.5;
text-align:left;
transform:translateX(-50%);
opacity:0;
pointer-events:none;
transition:opacity .16s ease, transform .16s ease;
}

.aanvraag-help:hover .aanvraag-help__popup,
.aanvraag-help:focus .aanvraag-help__popup,
.aanvraag-help:focus-visible .aanvraag-help__popup{
opacity:1;
transform:translate(-50%,-2px);
}

.aanvraag-quantity{
display:inline-grid;
grid-template-columns:46px minmax(82px,104px) 46px;
align-items:stretch;
height:48px;
border:1px solid #bfd8d3;
border-radius:6px;
background:#fff;
box-shadow:0 8px 18px rgba(0,0,0,0.06);
overflow:hidden;
}

.aanvraag-quantity__button{
display:inline-flex;
align-items:center;
justify-content:center;
width:46px;
height:46px;
border:0;
background:#f2faf8;
color:var(--aanvraag-accent-dark);
font-size:22px;
font-weight:700;
line-height:1;
cursor:pointer;
}

.aanvraag-quantity__button:hover,
.aanvraag-quantity__button:focus-visible{
background:var(--aanvraag-accent);
color:#fff;
outline:none;
}

.aanvraag-quantity__input{
width:100%;
height:46px;
min-height:46px;
padding:0 10px;
border:0;
border-left:1px solid #d6e8e4;
border-right:1px solid #d6e8e4;
border-radius:0;
box-shadow:none;
text-align:center;
font-weight:700;
font-size:16px;
}

.aanvraag-form-card--weven{
padding:0;
border:none;
box-shadow:none;
background:transparent;
}

.aanvraag-form-card--onepage{
padding:0;
border:none;
box-shadow:none;
background:transparent;
}

.aanvraag-section__header--plain{
margin-bottom:18px;
}

.aanvraag-section__header--plain h2{
margin-bottom:0;
}

.aanvraag-field-help{
max-width:760px;
margin:8px 0 18px;
font-size:14px;
line-height:1.6;
color:var(--aanvraag-muted);
}

.aanvraag-weven-quantity{
margin:18px 0 18px;
}

.aanvraag-actions--weven{
margin-top:4px;
}

.aanvraag-actions--weven[hidden]{
display:none !important;
}

.aanvraag-actions--onepage{
justify-content:center;
margin-top:4px;
padding:0;
}

.aanvraag-actions--onepage[hidden]{
display:none !important;
}

.aanvraag-weven-minimum{
width:100%;
max-width:none;
margin:8px 0 0;
padding:10px 12px;
border:1px solid rgba(166,96,96,0.22);
border-radius:6px;
background:#fff6f6;
font-size:13px;
line-height:1.5;
color:#8b3a3a;
}

.aanvraag-weven-minimum[hidden]{
display:none !important;
}

.aanvraag-weven-minimum a{
color:#26766f;
font-weight:700;
text-decoration:underline;
}

/* Compact form tuning for v2.1 */
.aanvraag-shell{
font-size:14px;
}

.aanvraag-intro-block h1{
font-size:26px;
margin-bottom:10px;
}

.aanvraag-section--onepage,
.aanvraag-section--weven-step{
padding:18px 20px;
margin-bottom:16px;
}

.aanvraag-section__header{
gap:12px;
margin-bottom:12px;
}

.aanvraag-section__header h2{
font-size:20px;
line-height:1.25;
}

.aanvraag-section__header p{
font-size:14px;
line-height:1.45;
}

.aanvraag-badge{
width:32px;
height:32px;
font-size:14px;
}

.product-selector{
gap:10px;
margin:8px 0 14px;
}

.aanvraag-form-card--bedrukking .product-btn,
.aanvraag-form-card--weven .product-btn{
min-height:66px;
padding:9px 10px;
}

.aanvraag-form-card--bedrukking .product-btn__title,
.aanvraag-form-card--weven .product-btn__title{
font-size:15px;
line-height:1.2;
}

label{
margin-bottom:6px;
font-size:13px;
}

.input-field,
textarea{
padding:10px 12px;
font-size:14px;
line-height:1.35;
}

.textarea-field{
min-height:84px;
}

.aanvraag-form-card--bedrukking #opmerking{
min-height:62px;
}

.aanvraag-form-card--weven #kleuren{
min-height:92px;
}

.aanvraag-article-number__input{
height:42px;
min-height:42px;
}

.aanvraag-quantity{
grid-template-columns:40px minmax(72px,92px) 40px;
height:42px;
}

.aanvraag-quantity__button{
width:40px;
height:40px;
font-size:19px;
}

.aanvraag-quantity__input{
height:40px;
min-height:40px;
}

.aanvraag-field-help,
.aanvraag-article-number__intro,
.selection-description{
font-size:13px;
line-height:1.5;
}

.aanvraag-upload-section{
margin-top:4px;
}

.upload-card{
min-height:60px;
padding:10px 14px;
margin-bottom:12px;
}

.upload-card__title,
.upload-card__subtitle{
font-size:16px;
}

.upload-card__meta{
font-size:12px;
}

.form-grid,
.aanvraag-weven-contact-grid{
gap:14px;
}

@media (max-width:768px){
.aanvraag-section--onepage,
.aanvraag-section--weven-step{
padding:16px;
}

.product-selector{
gap:8px;
}
}

/* Quiet one-page layout, closer to the old Cognito-style flow while keeping the app styling. */
.aanvraag-form-card--bedrukking{
max-width:900px;
}

.aanvraag-form-card--bedrukking .aanvraag-section--onepage{
padding:22px 0 28px;
margin-bottom:0;
border:0;
border-bottom:1px solid #e4e7e6;
border-radius:0;
box-shadow:none;
background:transparent;
}

.aanvraag-form-card--bedrukking .aanvraag-section--onepage:first-of-type{
padding-top:6px;
}

.aanvraag-form-card--bedrukking .aanvraag-section--onepage-contact{
border-bottom:0;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header{
display:grid;
grid-template-columns:28px minmax(0,1fr);
align-items:start;
gap:10px;
margin-bottom:16px;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header--plain{
display:block;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header:not(.aanvraag-section__header--plain) > div{
display:contents;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header h2{
grid-column:2;
font-size:22px;
font-weight:700;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header--plain h2{
grid-column:auto;
}

.aanvraag-form-card--bedrukking .aanvraag-section__header p{
grid-column:1 / -1;
max-width:680px;
margin:6px 0 0;
font-size:14px;
line-height:1.55;
}

.aanvraag-form-card--bedrukking .aanvraag-badge{
grid-column:1;
width:28px;
height:28px;
border:1px solid #cfe2df;
background:#f7fbfa;
font-size:13px;
margin-top:0;
}

.aanvraag-form-card--bedrukking .product-selector{
grid-template-columns:repeat(3,minmax(0,150px));
gap:12px;
margin:8px 0 4px;
}

.aanvraag-form-card--bedrukking .product-btn{
min-height:58px;
padding:8px 10px;
border-radius:4px;
}

.aanvraag-form-card--bedrukking .product-btn__title{
font-size:14px;
line-height:1.2;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__intro{
max-width:760px;
margin-bottom:16px;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__row{
align-items:flex-end;
gap:24px;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__field,
.aanvraag-form-card--bedrukking .aanvraag-article-number__field--quantity{
flex:0 0 180px;
width:180px;
max-width:180px;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__input,
.aanvraag-form-card--bedrukking .aanvraag-quantity{
width:180px;
max-width:180px;
}

.aanvraag-form-card--bedrukking .aanvraag-quantity{
grid-template-columns:40px 1fr 40px;
border-color:var(--aanvraag-line);
border-radius:4px;
box-shadow:none;
}

.aanvraag-form-card--bedrukking .aanvraag-quantity__button{
background:#f4f5f5;
color:#68706e;
}

.aanvraag-form-card--bedrukking .aanvraag-quantity__input{
font-weight:600;
font-size:14px;
}

.aanvraag-quantity__input::-webkit-outer-spin-button,
.aanvraag-quantity__input::-webkit-inner-spin-button{
margin:0;
-webkit-appearance:none;
}

.aanvraag-quantity__input[type="number"]{
-moz-appearance:textfield;
appearance:textfield;
}

.aanvraag-form-card--bedrukking .preview-frame{
max-width:520px;
margin-top:12px;
padding:0;
border:0;
background:transparent !important;
}

.aanvraag-form-card--bedrukking .preview{
margin:0;
max-width:440px;
}

.aanvraag-form-card--bedrukking #stropdas-back-preview{
width:219px;
max-width:100%;
}

.aanvraag-form-card--bedrukking #stropdas-back-preview img{
width:auto;
max-width:100%;
height:auto;
}

.aanvraag-form-card--bedrukking .hotspot__label{
font-size:clamp(14px, 4.6vw, 20px);
font-weight:800;
letter-spacing:0;
}

.aanvraag-form-card--bedrukking .hotspot.knot,
.aanvraag-form-card--bedrukking .hotspot.tip,
.aanvraag-form-card--bedrukking .hotspot.back-a,
.aanvraag-form-card--bedrukking .hotspot.back-b,
.aanvraag-form-card--bedrukking .hotspot.left,
.aanvraag-form-card--bedrukking .hotspot.right{
display:flex;
align-items:center;
justify-content:center;
width:11.5%;
height:auto;
aspect-ratio:1;
border-width:2px;
background:#ffffff85;
box-shadow:0 6px 16px rgba(0,0,0,0.13);
}

.aanvraag-form-card--bedrukking .hotspot.knot.active,
.aanvraag-form-card--bedrukking .hotspot.tip.active,
.aanvraag-form-card--bedrukking .hotspot.back-a.active,
.aanvraag-form-card--bedrukking .hotspot.back-b.active,
.aanvraag-form-card--bedrukking .hotspot.left.active,
.aanvraag-form-card--bedrukking .hotspot.right.active{
background:var(--aanvraag-accent);
border-color:#fff;
}

.aanvraag-form-card--bedrukking .hotspot.back-a{
width:18.5%;
height:auto;
aspect-ratio:31 / 102;
border-radius:6px;
}

.aanvraag-form-card--bedrukking .hotspot.back-b{
width:28.2%;
height:auto;
aspect-ratio:1;
border-radius:4px;
transform:translate(-50%,-50%) rotate(45deg);
}

.aanvraag-form-card--bedrukking .hotspot.back-b .hotspot__label{
transform:rotate(-45deg);
}

.aanvraag-position-choices{
display:grid;
grid-template-columns:repeat(2,minmax(0,260px));
gap:12px;
max-width:560px;
margin:16px 0 0;
}

.aanvraag-position-choices[hidden]{
display:none !important;
}

.aanvraag-position-choice{
display:flex;
align-items:flex-start;
gap:12px;
min-height:74px;
padding:12px;
border:1px solid var(--aanvraag-line);
border-radius:6px;
background:#fff;
color:var(--aanvraag-ink);
text-align:left;
cursor:pointer;
appearance:none;
transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.aanvraag-position-choice:hover,
.aanvraag-position-choice:focus-visible{
border-color:var(--aanvraag-accent);
box-shadow:0 0 0 3px rgba(96,182,170,0.12);
outline:none;
}

.aanvraag-position-choice.is-active{
border-color:var(--aanvraag-accent);
background:#eff8f6;
box-shadow:inset 0 0 0 1px var(--aanvraag-accent);
}

.aanvraag-position-choice__number{
display:inline-flex;
align-items:center;
justify-content:center;
width:30px;
height:30px;
border-radius:999px;
background:#f2faf8;
border:1px solid #cfe2df;
color:var(--aanvraag-accent-dark);
font-size:14px;
font-weight:800;
flex-shrink:0;
}

.aanvraag-position-choice.is-active .aanvraag-position-choice__number{
background:var(--aanvraag-accent);
border-color:var(--aanvraag-accent);
color:#fff;
}

.aanvraag-position-choice__text{
display:grid;
gap:3px;
font-size:13px;
line-height:1.45;
color:var(--aanvraag-muted);
}

.aanvraag-position-choice__text strong{
font-size:14px;
line-height:1.3;
color:var(--aanvraag-ink);
}

.aanvraag-position-choices--compact .aanvraag-position-choice{
min-height:54px;
align-items:center;
}

.aanvraag-form-card--bedrukking #positie-label{
margin-top:14px;
}

.aanvraag-form-card--bedrukking #positie-label,
.aanvraag-form-card--bedrukking #positie-description{
display:none !important;
}

.aanvraag-form-card--bedrukking .upload-card{
max-width:560px;
min-height:54px;
justify-content:flex-start;
padding:9px 14px;
text-align:left;
}

.aanvraag-form-card--bedrukking .upload-card__title,
.aanvraag-form-card--bedrukking .upload-card__subtitle{
font-size:15px;
}

.aanvraag-form-card--bedrukking .upload-card__meta{
font-size:12px;
}

.aanvraag-form-card--bedrukking .upload-file-list,
.aanvraag-form-card--bedrukking #opmerking{
max-width:560px;
}

.aanvraag-form-card--bedrukking #opmerking{
min-height:58px;
}

.aanvraag-form-card--bedrukking .aanvraag-contact-grid{
max-width:760px;
grid-template-columns:repeat(2,minmax(220px,1fr));
gap:24px;
}

.aanvraag-form-card--bedrukking .aanvraag-actions--onepage{
justify-content:flex-start;
margin-top:22px;
}

/* Weven follows the same quiet layout rhythm as bedrukking. */
.aanvraag-form-card--weven{
max-width:900px;
}

.aanvraag-form-card--weven .aanvraag-section--weven-step{
padding:22px 0 28px;
margin-bottom:0;
border:0;
border-bottom:1px solid #e4e7e6;
border-radius:0;
box-shadow:none;
background:transparent;
}

.aanvraag-form-card--weven .aanvraag-section--weven-step:first-of-type{
padding-top:6px;
}

.aanvraag-form-card--weven .aanvraag-section--weven-contact{
border-bottom:0;
}

.aanvraag-form-card--weven .aanvraag-section__header{
display:grid;
grid-template-columns:28px minmax(0,1fr);
align-items:start;
gap:10px;
margin-bottom:16px;
}

.aanvraag-form-card--weven .aanvraag-section__header--plain{
display:block;
}

.aanvraag-form-card--weven .aanvraag-section__header > div{
display:contents;
}

.aanvraag-form-card--weven .aanvraag-section__header--plain > div{
display:block;
}

.aanvraag-form-card--weven .aanvraag-section__header h2{
grid-column:2;
font-size:22px;
font-weight:700;
}

.aanvraag-form-card--weven .aanvraag-section__header--plain h2{
grid-column:auto;
}

.aanvraag-form-card--weven .aanvraag-section__header p{
grid-column:1 / -1;
max-width:680px;
margin:6px 0 0;
font-size:14px;
line-height:1.55;
}

.aanvraag-form-card--weven .aanvraag-badge{
grid-column:1;
width:28px;
height:28px;
border:1px solid #cfe2df;
background:#f7fbfa;
font-size:13px;
margin-top:0;
}

.aanvraag-form-card--weven .product-selector{
grid-template-columns:repeat(3,minmax(0,150px));
gap:12px;
margin:8px 0 4px;
}

.aanvraag-form-card--weven .product-btn{
min-height:58px;
padding:8px 10px;
border-radius:4px;
}

.aanvraag-form-card--weven .product-btn__title{
font-size:14px;
line-height:1.2;
}

.aanvraag-form-card--weven #kleuren,
.aanvraag-form-card--weven .upload-card,
.aanvraag-form-card--weven .upload-file-list,
.aanvraag-form-card--weven #opmerking{
max-width:560px;
}

.aanvraag-form-card--weven #kleuren{
min-height:92px;
}

.aanvraag-form-card--weven #opmerking{
min-height:58px;
}

.aanvraag-form-card--weven .upload-card{
min-height:54px;
justify-content:flex-start;
padding:9px 14px;
text-align:left;
}

.aanvraag-form-card--weven .upload-card__title,
.aanvraag-form-card--weven .upload-card__subtitle{
font-size:15px;
}

.aanvraag-form-card--weven .upload-card__meta{
font-size:12px;
}

.aanvraag-form-card--weven .aanvraag-weven-quantity{
width:180px;
max-width:180px;
}

.aanvraag-form-card--weven .aanvraag-weven-quantity .aanvraag-quantity{
width:180px;
max-width:180px;
grid-template-columns:40px 1fr 40px;
height:42px;
border-color:var(--aanvraag-line);
border-radius:4px;
box-shadow:none;
}

.aanvraag-form-card--weven .aanvraag-weven-quantity .aanvraag-quantity__button{
background:#f4f5f5;
color:#68706e;
width:40px;
height:40px;
font-size:19px;
}

.aanvraag-form-card--weven .aanvraag-weven-quantity .aanvraag-quantity__input{
height:40px;
min-height:40px;
font-weight:600;
font-size:14px;
}

.aanvraag-form-card--weven .aanvraag-weven-minimum{
width:560px;
max-width:100%;
}

.aanvraag-form-card--weven .aanvraag-weven-contact-grid{
max-width:760px;
grid-template-columns:repeat(2,minmax(220px,1fr));
gap:24px;
}

.aanvraag-form-card--weven .aanvraag-actions--weven{
justify-content:flex-start;
margin-top:22px;
padding:0;
}

/* Graveren/standard forms use the same shared quiet layout. */
.aanvraag-form-card--compact{
max-width:900px;
margin:0;
}

.aanvraag-form-card--compact .aanvraag-section--compact{
padding:22px 0 28px;
margin:0;
border:0;
border-bottom:1px solid #e4e7e6;
border-radius:0;
box-shadow:none;
background:transparent;
}

.aanvraag-form-card--compact .aanvraag-section--compact:first-of-type{
padding-top:6px;
}

.aanvraag-form-card--compact .aanvraag-section--compact:last-of-type{
border-bottom:0;
}

.aanvraag-form-card--compact .aanvraag-section + .aanvraag-section{
margin-top:0;
}

.aanvraag-form-card--compact .aanvraag-section__header{
display:grid;
grid-template-columns:28px minmax(0,1fr);
align-items:start;
gap:10px;
margin-bottom:16px;
}

.aanvraag-form-card--compact .aanvraag-section__header > div{
display:contents;
}

.aanvraag-form-card--compact .aanvraag-section__header h2{
grid-column:2;
font-size:22px;
font-weight:700;
}

.aanvraag-form-card--compact .aanvraag-section__header p{
grid-column:1 / -1;
max-width:680px;
margin:6px 0 0;
font-size:14px;
line-height:1.55;
}

.aanvraag-form-card--compact .aanvraag-badge{
grid-column:1;
width:28px;
height:28px;
border:1px solid #cfe2df;
background:#f7fbfa;
font-size:13px;
margin-top:0;
}

.aanvraag-form-card--compact .form-grid--compact{
max-width:560px;
grid-template-columns:1fr;
gap:14px;
}

.aanvraag-form-card--compact .upload-card,
.aanvraag-form-card--compact .upload-file-list,
.aanvraag-form-card--compact #opmerking{
max-width:560px;
}

.aanvraag-form-card--compact .upload-card{
min-height:54px;
justify-content:flex-start;
padding:9px 14px;
text-align:left;
}

.aanvraag-form-card--compact .upload-card__title,
.aanvraag-form-card--compact .upload-card__subtitle{
font-size:15px;
}

.aanvraag-form-card--compact .upload-card__meta{
font-size:12px;
}

.aanvraag-form-card--compact .aanvraag-actions--compact{
align-items:flex-start;
margin-top:22px;
padding:0;
}

.aanvraag-form-card--compact .aanvraag-actions__hint{
max-width:560px;
}

@media (max-width:768px){
.aanvraag-form-card--bedrukking,
.aanvraag-form-card--weven,
.aanvraag-form-card--compact{
max-width:none;
}

.aanvraag-form-card--bedrukking .aanvraag-section--onepage,
.aanvraag-form-card--weven .aanvraag-section--weven-step,
.aanvraag-form-card--compact .aanvraag-section--compact{
padding:18px 0 22px;
}

.aanvraag-form-card--bedrukking .product-selector,
.aanvraag-form-card--bedrukking .aanvraag-contact-grid,
.aanvraag-form-card--weven .product-selector,
.aanvraag-form-card--weven .aanvraag-weven-contact-grid{
grid-template-columns:1fr;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__row{
gap:14px;
}

.aanvraag-form-card--bedrukking .aanvraag-article-number__field,
.aanvraag-form-card--bedrukking .aanvraag-article-number__field--quantity,
.aanvraag-form-card--bedrukking .aanvraag-article-number__input,
.aanvraag-form-card--bedrukking .aanvraag-quantity{
width:100%;
max-width:240px;
flex-basis:240px;
}

.aanvraag-position-choices{
grid-template-columns:1fr;
max-width:100%;
}

.aanvraag-form-card--bedrukking .hotspot.pochet-diagonal{
width:52px !important;
height:52px !important;
}

.aanvraag-form-card--bedrukking .aanvraag-actions--onepage{
align-items:flex-start;
}

.aanvraag-form-card--weven .aanvraag-weven-quantity,
.aanvraag-form-card--weven #kleuren,
.aanvraag-form-card--weven .upload-card,
.aanvraag-form-card--weven .upload-file-list,
.aanvraag-form-card--weven #opmerking{
width:100%;
max-width:100%;
}

.aanvraag-form-card--compact .form-grid--compact,
.aanvraag-form-card--compact .upload-card,
.aanvraag-form-card--compact .upload-file-list,
.aanvraag-form-card--compact #opmerking{
width:100%;
max-width:100%;
}
}
