/* Stam Collectibles: aanvullingen op theme.json */

:root {
	--stam-navy: #1F294D;
	--stam-red: #E72B2F;
	--stam-amber: #E8A211;
	--stam-teal: #3B95B7;
	--stam-line: #E3E0D8;
}

/* Racestrepen uit het logo, als decoratie */
.stam-stripes { position: relative; overflow: hidden; isolation: isolate; }
.stam-stripes::after {
	content: "";
	position: absolute; z-index: -1;
	top: -10%; right: -14%; width: min(40vw, 540px); height: 130%;
	background: linear-gradient(90deg,
		var(--stam-amber) 0 22%, transparent 22% 26%,
		var(--stam-red) 26% 48%, transparent 48% 52%,
		var(--stam-teal) 52% 74%, transparent 74% 78%,
		#fff 78% 100%);
	opacity: .95;
	transform: skewX(-28deg);
	transform-origin: top right;
}
@media (max-width: 1100px) {
	.stam-stripes::after { right: -30%; width: 60vw; opacity: .18; }
}

.stam-stripe-bar { height: 8px; background: linear-gradient(90deg, var(--stam-amber) 0 25%, var(--stam-red) 25% 50%, var(--stam-teal) 50% 75%, var(--stam-navy) 75%); }

.stam-eyebrow {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	font-size: .95rem; color: var(--stam-red);
	display: flex; align-items: center; gap: .7rem;
}
.stam-eyebrow::before { content: ""; width: 28px; height: 3px; background: currentColor; transform: skewX(-28deg); }

/* Stappen "Zo werkt het" */
.stam-step { border-top: 4px solid var(--stam-navy); padding-top: 1rem; }
.stam-step .stam-step-num {
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: 3rem; line-height: 1; color: var(--stam-red); margin: 0 0 .4rem;
}

/* Kaarten */
.stam-card { background: #fff; border: 1px solid var(--stam-line); border-radius: 6px; transition: transform .25s ease, box-shadow .25s ease; }
.stam-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(31,41,77,.08); }

/* USP-balk */
.stam-usps p { display: flex; gap: .5rem; align-items: center; margin: 0; font-weight: 600; }
.stam-usps p::before { content: "✓"; color: var(--stam-teal); font-weight: 700; }

/* Header */
.stam-header { border-bottom: 1px solid var(--stam-line); }
.stam-header .wp-block-navigation a { font-family: var(--wp--preset--font-family--display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; font-size: 1.05rem; }
.stam-logo-text { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; line-height: .95; }
.stam-logo-text a { text-decoration: none; color: var(--stam-navy); }
.stam-logo-text small { display: block; font-size: .62em; letter-spacing: .3em; color: var(--stam-red); font-weight: 600; }

/* Formulier (Forminator) in huisstijl */
.stam-form .forminator-ui.forminator-custom-form { font-family: var(--wp--preset--font-family--body) !important; }
.stam-form .forminator-button-submit {
	background: var(--stam-red) !important; font-family: var(--wp--preset--font-family--display) !important;
	text-transform: uppercase; letter-spacing: .04em; font-weight: 700 !important; font-size: 1.15rem !important;
	border-radius: 4px !important; padding: .8rem 1.8rem !important;
}
.stam-form .forminator-button-submit:hover { background: var(--stam-navy) !important; }

/* Shop */
.stam-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .6rem; }
.stam-badges a { font-family: var(--wp--preset--font-family--display); text-transform: uppercase; font-weight: 600; letter-spacing: .06em; font-size: .85rem; padding: .2rem .6rem; border: 1px solid var(--stam-navy); border-radius: 3px; text-decoration: none; }
.wc-block-components-product-price, .wc-block-grid__product-price, .price { color: var(--stam-navy); font-weight: 700; }
.wp-block-woocommerce-product-sale-badge .wc-block-components-product-sale-badge, .onsale { background: var(--stam-red) !important; color: #fff !important; border: 0 !important; }

/* WhatsApp-knop */
.stam-whatsapp {
	position: fixed; right: 20px; bottom: 20px; z-index: 999;
	display: inline-flex; align-items: center; gap: .5rem;
	background: #25D366; color: #fff !important; text-decoration: none;
	padding: .7rem 1.1rem .7rem .8rem; border-radius: 999px;
	font-weight: 600; box-shadow: 0 8px 24px rgba(0,0,0,.18);
	transition: transform .2s ease;
}
.stam-whatsapp:hover { transform: translateY(-2px); }
@media (max-width: 600px) { .stam-whatsapp span { display: none; } .stam-whatsapp { padding: .8rem; } }

/* Forminator-velden in huisstijl */
.stam-form .forminator-ui.forminator-design--default .forminator-label { font-family: var(--wp--preset--font-family--display) !important; text-transform: uppercase; letter-spacing: .05em; font-weight: 600 !important; font-size: .95rem !important; color: var(--stam-navy) !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-input,
.stam-form .forminator-ui.forminator-design--default .forminator-textarea,
.stam-form .forminator-ui.forminator-design--default .select2-selection { border: 1px solid #CFCBC1 !important; border-radius: 4px !important; background: #fff !important; font-size: 1rem !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-input:focus,
.stam-form .forminator-ui.forminator-design--default .forminator-textarea:focus { border-color: var(--stam-navy) !important; box-shadow: 0 0 0 3px rgba(31,41,77,.12) !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-checkbox-box,
.stam-form .forminator-ui.forminator-design--default .forminator-radio-bullet { border-color: #A9A598 !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-checkbox input:checked + .forminator-checkbox-box { background: var(--stam-navy) !important; border-color: var(--stam-navy) !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-radio input:checked + .forminator-radio-bullet:before { background: var(--stam-red) !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-button-upload { background: var(--stam-navy) !important; border-radius: 4px !important; }
.stam-form .forminator-ui.forminator-design--default .forminator-description { color: #5B6172 !important; }

/* Header compacter op tablet */
@media (max-width: 1024px) {
	.stam-header .wp-block-navigation { --navigation-layout-justification-setting: flex-end; gap: 1rem !important; }
	.stam-header .wp-block-navigation__container { gap: 1.1rem !important; }
	.stam-logo-text { font-size: 1.3rem !important; }
}

/* Marktplaats-beoordeling */
.stam-rating { margin-top: var(--wp--preset--spacing--40) !important; font-size: .98rem; }
.stam-rating a { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; text-decoration: none; color: var(--wp--preset--color--contrast); background: #fff; border: 1px solid var(--stam-line); border-radius: 999px; padding: .45rem 1rem; }
.stam-rating a:hover { border-color: var(--stam-navy); }
.stam-stars { color: var(--stam-amber); letter-spacing: .08em; }

/* Reviewkaarten */
.stam-review { background: #fff; border: 1px solid var(--stam-line); border-top: 4px solid var(--stam-teal); border-radius: 6px; display: flex; flex-direction: column; }
.stam-review.is-seller { border-top-color: var(--stam-red); }
.stam-review p { margin: 0; }
.stam-review-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.stam-review-type { font-family: var(--wp--preset--font-family--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: var(--stam-navy); background: var(--wp--preset--color--paper); padding: .15rem .5rem; border-radius: 3px; }
.stam-review.is-seller .stam-review-type { color: var(--stam-red); }
.stam-review-tags { font-size: .95rem; line-height: 1.55; flex: 1; }
.stam-review-meta { font-size: .85rem; color: var(--wp--preset--color--muted); }
.stam-reviews .stam-rating { margin-top: 0 !important; }
.has-paper-background-color .stam-review { background: #fff; }

/* Dubbele vervolgstap: verkopen of kopen */
.stam-cta-card { border-radius: 6px; padding: var(--wp--preset--spacing--40); }
.stam-cta-card h3 { margin: 0 0 .4rem; }
.stam-cta-card p { margin: 0 0 1rem; }
.stam-cta-card.is-sell { background: var(--wp--preset--color--paper); border-left: 5px solid var(--stam-red); }
.stam-cta-card.is-buy { background: var(--wp--preset--color--paper); border-left: 5px solid var(--stam-navy); }

/* Kopersregel in de hero */
.stam-buyer-line { margin-top: var(--wp--preset--spacing--30) !important; font-weight: 600; }
.stam-buyer-line a { color: var(--stam-navy); text-underline-offset: 3px; }

/* Specificatietabel op productpagina */
.stam-spec { width: 100%; border-collapse: collapse; margin: .5rem 0 1.5rem; font-size: .95rem; }
.stam-spec th, .stam-spec td { text-align: left; padding: .55rem .75rem; border-bottom: 1px solid var(--stam-line); vertical-align: top; }
.stam-spec th { width: 38%; font-weight: 600; color: var(--stam-navy); background: var(--wp--preset--color--paper); }

/* Productpagina */
.stam-product-summary .wc-block-components-product-summary,
.stam-product-summary .wp-block-woocommerce-product-summary { line-height: 1.9; }
.stam-trust { font-size: .9rem; font-weight: 600; color: var(--stam-navy); background: var(--wp--preset--color--paper); padding: .7rem 1rem; border-radius: 4px; }

/* Shop: productkaarten even hoog, knoppen onderaan uitgelijnd */
.stam-product-grid > li,
.wc-block-product-template > li { display: flex !important; flex-direction: column; background: #fff; border: 1px solid var(--stam-line); border-radius: 6px; padding: 0 0 1rem; overflow: hidden; }
.wc-block-product-template > li .wc-block-components-product-image { margin: 0 0 .75rem !important; }
.wc-block-product-template > li .wc-block-components-product-image img { aspect-ratio: 1; object-fit: cover; }
.stam-card-title, .wc-block-product-template .wp-block-post-title { font-size: 1.05rem !important; line-height: 1.25 !important; padding: 0 .9rem; margin: 0 0 .5rem !important; }
.wc-block-product-template > li .wc-block-components-product-price { margin-bottom: .75rem; }
.wc-block-product-template > li .wp-block-woocommerce-product-button { margin-top: auto !important; padding: 0 .9rem; }
.wc-block-product-template > li .wp-block-button__link,
.wc-block-product-template > li .wc-block-components-product-button__button { width: 100%; }

/* Filterkolom */
.stam-filters-col .stam-filter-title { font-size: 1.05rem !important; letter-spacing: .06em; margin: 1.4rem 0 .5rem !important; padding-top: 1rem; border-top: 1px solid var(--stam-line); }
.stam-filters-col .wc-block-product-filter-checkbox-list__label { font-size: .95rem; }
@media (max-width: 781px) {
	.stam-filters-col { flex-basis: 100% !important; }
}

/* USP's productpagina onder elkaar */
ul.stam-trust { list-style: none; padding: 1rem 1.2rem !important; margin: 1.2rem 0; display: grid; gap: .45rem; font-size: .95rem; font-weight: 600; line-height: 1.4; }
ul.stam-trust li { display: flex; gap: .6rem; align-items: center; }
ul.stam-trust li::before { content: "✓"; color: #fff; background: var(--stam-teal); width: 1.3rem; height: 1.3rem; border-radius: 50%; display: inline-grid; place-items: center; font-size: .75rem; flex: none; }

/* Homepage: verkopen/kopen-vlakken even hoog, grote knoppen */
.stam-split-cta { align-items: stretch; }
.stam-cta-card { display: flex !important; flex-direction: column; padding: var(--wp--preset--spacing--50) !important; }
.stam-cta-card h3 { font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important; }
.stam-cta-card p { font-size: 1.1rem; }
.stam-cta-card .wp-block-buttons { margin-top: auto; }
.stam-cta-card .wp-block-button__link { font-size: 1.25rem !important; padding: 1rem 2rem !important; }
@media (max-width: 600px) { .stam-cta-card .wp-block-button, .stam-cta-card .wp-block-button__link { width: 100%; text-align: center; } }
.wp-block-group.stam-split-cta { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.5rem !important; }
@media (max-width: 781px) { .wp-block-group.stam-split-cta { grid-template-columns: 1fr !important; } }
.stam-cta-card .wp-block-button__link { white-space: nowrap; }

/* Mobiel */
.woocommerce-ordering select, .wc-block-catalog-sorting select, select.orderby { border: 1px solid var(--stam-line); border-radius: 4px; padding: .5rem .75rem; font: inherit; background: #fff; }
.wc-block-product-filters__open-overlay { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border: 2px solid var(--stam-navy) !important; color: var(--stam-navy); padding: .55rem 1rem !important; border-radius: 4px; }
@media (max-width: 600px) {
	.wc-block-product-template > li .wp-block-post-title, .stam-card-title { font-size: .95rem !important; padding: 0 .6rem; }
	.wc-block-product-template > li .wp-block-woocommerce-product-button { padding: 0 .6rem; }
	.wc-block-product-template > li .wp-block-button__link, .wc-block-product-template > li .wc-block-components-product-button__button { font-size: .9rem !important; padding: .65rem .5rem !important; }
	.stam-review-head { flex-wrap: wrap; }
	h1.wp-block-heading, .wp-block-query-title, .wp-block-post-title { overflow-wrap: break-word; hyphens: manual; }
	.stam-catalog .wp-block-query-title { font-size: 2.6rem; }
}

/* Filterkolom: vaste breedte, ruimte tot de producten, prijsvelden binnen de kolom */
@media (min-width: 782px) {
	.stam-catalog > .wp-block-columns { gap: 3rem !important; }
	.stam-filters-col { flex: 0 0 240px !important; max-width: 240px; padding-right: 1.5rem; border-right: 1px solid var(--stam-line); }
}
.stam-filters-col, .stam-filters-col * { box-sizing: border-box; }
.stam-filters-col .wp-block-woocommerce-product-filter-price,
.stam-filters-col .wc-block-product-filter-price-slider { max-width: 100%; overflow: hidden; }
.stam-filters-col .wc-block-product-filter-price-slider__content { display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem; }
.stam-filters-col .wc-block-product-filter-price-slider__range { grid-column: 1 / -1; }
.stam-filters-col .wc-block-product-filter-price-slider input[type="text"] { width: 100% !important; min-width: 0 !important; }
.stam-filters-col .wc-block-product-filter-price-slider__range { order: -1; margin-bottom: .5rem; }
.stam-filters-col .wc-block-product-filter-price-slider__left,
.stam-filters-col .wc-block-product-filter-price-slider__right { min-width: 0; }
.stam-filters-col .wc-block-product-filter-price-slider__left input,
.stam-filters-col .wc-block-product-filter-price-slider__right input { width: 100% !important; }
.stam-filters-col .wc-block-product-filter-price-slider__content { grid-template-columns: 1fr 1fr !important; grid-template-areas: none !important; }
.stam-filters-col input.wc-block-product-filter-price-slider__left,
.stam-filters-col input.wc-block-product-filter-price-slider__right { grid-area: auto !important; width: 100% !important; padding: .4rem .5rem; border: 1px solid var(--stam-line); border-radius: 4px; text-align: left !important; }
.stam-filters-col .wc-block-product-filter-price-slider__content { display: flex !important; flex-wrap: wrap; gap: .5rem; width: 100%; }
.stam-filters-col .wc-block-product-filter-price-slider__range { flex: 0 0 100%; width: 100% !important; }
.stam-filters-col input.wc-block-product-filter-price-slider__left,
.stam-filters-col input.wc-block-product-filter-price-slider__right { flex: 1 1 0; min-width: 0 !important; width: auto !important; }
.stam-filters-col input.wc-block-product-filter-price-slider__left,
.stam-filters-col input.wc-block-product-filter-price-slider__right { flex: 0 0 calc(50% - .25rem) !important; width: calc(50% - .25rem) !important; max-width: calc(50% - .25rem) !important; margin: 0 !important; position: static !important; }
.stam-filters-col .wc-block-product-filter-price-slider__left,
.stam-filters-col .wc-block-product-filter-price-slider__right { flex: 0 0 calc(50% - .25rem) !important; width: calc(50% - .25rem) !important; min-width: 0 !important; margin: 0 !important; }
.stam-filters-col .wc-block-product-filter-price-slider__left input,
.stam-filters-col .wc-block-product-filter-price-slider__right input { width: 100% !important; min-width: 0 !important; padding: .4rem .5rem; border: 1px solid var(--stam-line); border-radius: 4px; text-align: left !important; }

/* Logo in header */
.stam-header .wp-block-site-logo img { width: 120px; height: auto; }
@media (max-width: 600px) { .stam-header .wp-block-site-logo img { width: 92px; } }
@media (max-width: 600px) {
	.stam-rating a { border-radius: 10px; font-size: .88rem; padding: .5rem .75rem; line-height: 1.4; }
	.stam-usps { gap: .6rem 1.2rem !important; }
	.stam-usps p { font-size: .95rem; }
}

/* 404 */
.stam-404-img { width: 100%; height: auto; display: block; }
@media (max-width: 781px) { .stam-404-img { max-width: 420px; margin: 0 auto; } }

/* Footer onderregel */
.stam-footer-bottom p { margin: 0; }
.stam-footer-bottom a { color: #C9CDE0 !important; text-decoration: underline; text-underline-offset: 3px; }
.stam-footer-bottom a:hover { color: #fff !important; }
footer .wp-block-list { list-style: none; padding-left: 0; }

/* Ruimte onder de footer zodat de zwevende WhatsApp-knop niets afdekt */
footer.wp-block-group, footer > .wp-block-group { padding-bottom: 6.5rem !important; }
@media (max-width: 600px) { footer.wp-block-group, footer > .wp-block-group { padding-bottom: 5.5rem !important; } }

/* Juridische pagina's */
.stam-legal h2 { font-size: 1.6rem !important; margin-top: 2.2rem; margin-bottom: .6rem; }
.stam-legal ul { padding-left: 1.2rem; }
.stam-legal li { margin-bottom: .4rem; }

/* Catalogusmodus */
.stam-catalogus-melding { background: var(--wp--preset--color--paper); border-left: 5px solid var(--stam-amber); border-radius: 6px; padding: 1.1rem 1.25rem; margin: 1rem 0; }
.stam-catalogus-melding p { margin: 0 0 .9rem; }
.stam-catalogus-balk { background: var(--wp--preset--color--paper); border-left: 5px solid var(--stam-amber); border-radius: 6px; padding: .8rem 1.1rem; margin: 1rem 0 0; }
.stam-catalogus .wc-block-mini-cart, .stam-catalogus .wp-block-woocommerce-mini-cart { display: none !important; }
.stam-catalogus ul.stam-trust li:last-child { display: none; }

/* Zoekveld in de shop */
.stam-search { max-width: 560px; margin: 1.25rem auto 0 !important; }
.stam-search .wp-block-search__input { border: 1px solid var(--stam-line); border-radius: 4px 0 0 4px; padding: .7rem .9rem; font: inherit; }
.stam-search .wp-block-search__button { background: var(--stam-navy); color: #fff; border: 0; border-radius: 0 4px 4px 0; margin-left: 0; padding: .7rem 1rem; }
.stam-catalog .wp-block-query-title { font-size: clamp(2rem, 4vw, 3rem); }

/* Margeregeling onder de prijs */
.stam-marge { display: block; font-size: .85rem; font-weight: 400; color: var(--wp--preset--color--muted); margin-top: .25rem; }

/* Zoeksuggesties */
.stam-suggest { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1px solid var(--stam-line); border-radius: 8px; box-shadow: 0 18px 40px rgba(31,41,77,.16); overflow: hidden; }
.stam-suggest ul { list-style: none; margin: 0; padding: 0; }
.stam-suggest li + li { border-top: 1px solid var(--stam-line); }
.stam-suggest li a { display: flex; align-items: center; gap: .8rem; padding: .55rem .8rem; text-decoration: none; color: var(--wp--preset--color--contrast); }
.stam-suggest li a:hover, .stam-suggest li a:focus { background: var(--wp--preset--color--paper); }
.stam-suggest img, .stam-suggest-noimg { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; flex: none; background: var(--wp--preset--color--paper); }
.stam-suggest-text { display: flex; flex-direction: column; min-width: 0; }
.stam-suggest-title { font-weight: 600; font-size: .95rem; line-height: 1.3; }
.stam-suggest-price { font-size: .9rem; color: var(--stam-navy); font-weight: 700; }
.stam-suggest-all { display: block; padding: .7rem .8rem; background: var(--stam-navy); color: #fff !important; font-weight: 600; font-size: .9rem; text-decoration: none; text-align: center; }
.stam-suggest-all:hover { background: var(--stam-red); }
.stam-suggest-empty { margin: 0; padding: .9rem; font-size: .95rem; }

/* Filters: eigen limiet met "Meer tonen" */
.stam-hide { display: none !important; }
[class*="stam-limit-"] .wc-block-product-filter-checkbox-list__show-more { display: none !important; }
.stam-more { background: none; border: 0; padding: .35rem 0 0; font: inherit; font-size: .9rem; font-weight: 600; color: var(--stam-navy); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.stam-more:hover { color: var(--stam-red); }

/* Formulier: uitklapmenu "Hoeveel modellen" dekkend en boven de rest */
.forminator-select-dropdown-container, .forminator-select-dropdown, .select2-container--open .select2-dropdown, .select2-dropdown { z-index: 9999 !important; }
.forminator-select-dropdown, .select2-dropdown { background: #fff !important; border: 1px solid #CFCBC1 !important; border-radius: 4px !important; box-shadow: 0 12px 28px rgba(31,41,77,.14) !important; overflow: hidden; }
.select2-results__option, .forminator-select-dropdown .select2-results__option { background: #fff !important; padding: .6rem .8rem !important; color: var(--wp--preset--color--contrast) !important; }
.select2-results__option--highlighted, .select2-results__option[aria-selected="true"], .select2-results__option--selected { background: var(--wp--preset--color--paper) !important; color: var(--stam-navy) !important; }
.select2-results > .select2-results__options { max-height: 260px !important; overflow-y: auto !important; }

/* Variabele producten (keuze uit modellen) */
.single-product table.variations { width: 100%; table-layout: fixed; border: 0; margin: 0 0 .5rem; }
.single-product table.variations th.label { width: 4.5rem; padding: .4rem .5rem .4rem 0; vertical-align: middle; text-align: left; }
.single-product table.variations td.value { padding: .4rem 0; }
.single-product table.variations select { width: 100%; max-width: 100%; padding: .6rem .7rem; border: 1px solid #CFCBC1; border-radius: 4px; background-color: #fff; font: inherit; text-overflow: ellipsis; }
.single-product .reset_variations { display: inline-block; margin-top: .35rem; font-size: .85rem; }
.stam-keuze-lijst { margin: .25rem 0 1rem 1.2rem; padding: 0; }
.stam-keuze-lijst li { margin: .15rem 0; }
