.winkel {
--hm-inkt: var(--nova-inkt);
--hm-sub: var(--terra-gedempt);
--hm-vlak: var(--nova-vlak);
--hm-lijn: var(--nova-lijn);
--hm-warm: color-mix(in srgb, var(--nova-accent) 8%, var(--card, #fff));
--hm-hoek: var(--nova-r-kaart);
--hm-knophoek: var(--nova-r-klein);
}
.winkel.stramien-ruim { --hm-hoek: 0px; }
.winkel .huurplus-aanvraag { display: grid; gap: 8px; margin-top: 24px; padding: 24px; background: var(--card, #fff); border: 1px solid var(--hm-lijn); border-top: 3px solid var(--nova-accent, #d77812); border-radius: var(--hm-hoek); }
.winkel .huurplus-aanvraag .huurplus-oog { margin: 0; }
.winkel .huurplus-aanvraag-regel { margin: 0; font-size: 18px; font-weight: 700; color: var(--nova-inkt); }
.winkel .huurplus-aanvraag-prijs { margin: 0; font-size: 26px; font-weight: 800; color: var(--nova-inkt); }
.winkel .huurplus-aanvraag-prijs span { font-size: 14px; font-weight: 500; color: var(--hm-sub); }
.winkel .huurplus-aanvraag .huurplus-noot { margin: 0 0 8px; }
.winkel .huurplus-aanvraag .huurplus-mknoppen { margin-top: 8px; }
.winkel.terra .huurplus input[type=date],
.winkel.terra .huurplus-balk input[type=date] { position: relative; }
@media (max-width: 640px) {
.winkel.terra .mijn-kaart-kruim a,
.winkel.terra a.mijn-extra-pijl,
.winkel.terra a.mijn-extra-collega-wijzig,
.winkel.terra .huur-order-docs a { display: inline-flex; align-items: center; min-height: 44px; }
}
.winkel .huur-nummerchip { display: inline-block; margin-left: 6px; padding: 2px 8px; background: var(--hm-inkt); color: var(--card, #fff); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; letter-spacing: .04em; border-radius: calc(var(--hm-hoek) / 2); }
.winkel .huur-status.huur-status-gepland { background: var(--nova-accent, #d77812); border-color: var(--nova-accent, #d77812); color: var(--nova-accent-op, #fff); }
.winkel .huur-zij-geplandregel { display: block; margin-top: 8px; }
.winkel .mijn-extra-collega-koprij { display: none; }
@media (min-width: 1100px) {
.winkel .mijn-kaart-inhoud .mijn-extra-collega-koprij { display: grid; padding: 12px 0; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--hm-sub); }
}
.winkel .mijn-extra-collega-wijzig { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--hm-lijn); color: var(--nova-inkt); border-radius: var(--hm-knophoek); }
.winkel .mijn-extra-collega-wijzig:hover { border-color: var(--nova-inkt); text-decoration: none; }
.winkel .huurplus-band,
.winkel .huurplus-contactband { position: relative; background: var(--hm-vlak); box-shadow: 0 0 0 100vmax var(--hm-vlak); clip-path: inset(0 -100vmax); }
.winkel .huurplus-band { margin-top: 56px; padding: 56px 0; }
.winkel.terra .huurplus-band + .huurplus-blokken { border-top: 0; }
.winkel .huurplus-band-klus > .site-blok { margin: 0; }
.winkel .huurplus-band-klus > .site-blok > section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; align-items: center; margin: 0; padding: 0; max-width: none; background: none; }
.winkel .huurplus-band-klus > .site-blok > section > h2,
.winkel .huurplus-band-klus > .site-blok > section > .site-rijzin { grid-column: 1; margin: 0; }
.winkel .huurplus-band-klus > .site-blok > section > h2 { align-self: end; margin-bottom: 12px; }
.winkel .huurplus-band-klus > .site-blok > section > .site-rijzin { align-self: start; color: var(--hm-sub); }
.winkel .huurplus-band-klus > .site-blok > section > .site-keuzehulp-stappen,
.winkel .huurplus-band-klus > .site-blok > section > .site-keuzehulp-uit { grid-column: 2; grid-row: 1 / span 2; }
.winkel.stencil-koppen .huurplus-band-klus h2 { font-family: "Saira Stencil One", var(--winkel-letter); font-weight: 400; font-size: 40px; line-height: 1.05; letter-spacing: .02em; text-transform: uppercase; }
.winkel .huurplus-band-klus .site-keuzehulp-nummer { font-size: 13px; color: var(--hm-sub); }
.winkel .huurplus-sets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.winkel .huurplus-band-klus:empty + .huurplus-sets { margin-top: 0; }
.winkel .huurplus-set { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; align-items: start; padding: 20px; background: var(--card, #fff); border: 1px solid var(--hm-lijn); color: var(--hm-inkt); text-decoration: none; border-radius: var(--hm-hoek); }
.winkel .huurplus-set:hover { border-color: var(--hm-inkt); }
.winkel .huurplus-set-foto { display: block; width: 120px; height: 120px; }
.winkel .huurplus-set-foto img { width: 100%; height: 100%; object-fit: contain; }
.winkel .huurplus-set-tekst { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.winkel .huurplus-set-tekst .huurplus-oog { margin: 0; }
.winkel .huurplus-set-tekst b { font-size: 18px; line-height: 1.25; }
.winkel .huurplus-set-zin { font-size: 14px; line-height: 1.5; color: var(--hm-sub); }
.winkel .huurplus-set .huurplus-pijllink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--nova-accent, #d77812); }
.winkel .huurplus-contactband { margin-top: 56px; padding: 56px 0; }
.winkel .huurplus-blokken + .huurplus-contactband { margin-top: 56px; }
.winkel .huurplus-contact { display: grid; grid-template-columns: 150px minmax(0, 640px); gap: 40px; align-items: center; }
.winkel .huurplus-contact-foto { width: 150px; height: 150px; object-fit: cover; clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%); background: var(--card, #fff); }
.winkel .huurplus-contact-tekst { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.winkel .huurplus-contact-tekst .huurplus-oog { margin: 0 0 4px; }
.winkel .huurplus-contact-naam { font-size: 24px; line-height: 1.2; }
.winkel .huurplus-contact-rol { font-size: 14px; color: var(--hm-sub); }
.winkel .huurplus-contact-zin { margin: 8px 0 0; font-size: 15.5px; line-height: 1.6; }
.winkel .huurplus-contact-knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 16px; }
.winkel .huurplus-contact-knoppen .huurplus-knop { min-height: 48px; color: var(--nova-accent-op, #fff); }
.winkel .huurplus-contact-knoppen .huurplus-pijllink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--nova-accent, #d77812); text-decoration: none; }
@media (max-width: 1180px) {
.winkel .huurplus-sets { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
.winkel .huurplus-band, .winkel .huurplus-contactband { margin-top: 40px; padding: 32px 0; }
.winkel .huurplus-band-klus > .site-blok > section { grid-template-columns: minmax(0, 1fr); }
.winkel .huurplus-band-klus > .site-blok > section > .site-keuzehulp-stappen,
.winkel .huurplus-band-klus > .site-blok > section > .site-keuzehulp-uit { grid-column: 1; grid-row: auto; margin-top: 16px; }
.winkel.stencil-koppen .huurplus-band-klus h2 { font-size: 28px; }
.winkel .huurplus-sets { margin-top: 32px; }
.winkel .huurplus-set { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding: 16px; }
.winkel .huurplus-set-foto { width: 88px; height: 88px; }
.winkel .huurplus-contact { grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: start; }
.winkel .huurplus-contact-foto { width: 96px; height: 96px; }
}
body.winkel.terra:has(.huurplus > .huurplus-contactband:last-child) .shop-footer { margin-top: 0; }
body.winkel.terra .huurplus > .huurplus-contactband:last-child { margin-bottom: 0; }
body.winkel.terra .huurplus:has(> .huurplus-contactband:last-child) { padding-bottom: 0; }
body.winkel.terra .shop-main:has(> .huurplus > .huurplus-contactband:last-child) { padding-bottom: 0; }
.winkel .huur-verleng-aangevraagd { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 12px 16px; background: var(--hm-warm); border-left: 3px solid var(--nova-accent, #d77812); font-size: 14.5px; font-weight: 600; }
.winkel .huur-verleng-aangevraagd .huur-stip { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--nova-accent, #d77812); }
@media (min-width: 721px) {
body.winkel.terra .mijn-best .mijn-best-tabel tbody td { height: 68px; box-sizing: border-box; }
}