/* Basisopmaak voor de shortcodes. Het thema levert de kleuren via --wd-* variabelen. */
.wd-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; margin-block: 1.5rem; }
.wd-col { grid-column: span 12; min-width: 0; }
.wd-spacer { height: 1.5rem; }
.wd-hr { border: 0; border-top: 1px solid var(--wd-line, #ddd); margin: 2rem 0; }
.wd-highlight { display: inline; background: var(--wd-accent-soft, #fbe9dc); padding: .1em .3em; border-radius: 3px; }
.wd-dropcap { float: left; font-size: 3.2em; line-height: .9; font-weight: 700; margin: .05em .12em 0 0; color: var(--wd-accent-text, #a9551b); }
.wd-address { font-style: normal; }

.wd-list ul { list-style: none; padding: 0; margin: 1rem 0; }
.wd-list ul ul { margin: 0; }
.wd-list li { position: relative; padding-left: 1.7rem; margin-bottom: .55rem; }
.wd-list li::before { position: absolute; left: 0; font-weight: 700; color: var(--wd-accent-text, #a9551b); }
.wd-list--check li::before { content: "✓"; }
.wd-list--star li::before { content: "★"; }
.wd-list--arrow li::before { content: "→"; }

.wd-band { background: var(--wd-ink, #211d26); color: #fff; padding: 2rem; border-radius: 12px; margin-block: 2rem; }
.wd-band h2, .wd-band h3 { color: #fff; margin-top: 0; }

.wd-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; background: var(--wd-surface, #f6f4f1); border-radius: 12px; padding: 1.75rem; margin-block: 2rem; }
.wd-callout__text { flex: 1 1 18rem; }
.wd-callout h2 { font-size: 1.4rem; margin: 0 0 .35rem; }
.wd-callout p { margin: 0; }

.wd-card { height: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--wd-line, #ddd); border-radius: 12px; padding: 1.5rem; }
.wd-card__icon { display: block; width: 56px; height: 56px; object-fit: contain; padding: 8px; margin-bottom: .75rem; background: var(--wd-ink, #211d26); border-radius: 10px; }
.wd-card__title { font-size: 1.15rem; margin: 0 0 .4rem; }
.wd-card__subtitle { font-weight: 600; margin: 0 0 .5rem; }
.wd-card p:last-child { margin-bottom: 0; }

.wd-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.25rem; margin-block: 2rem; }
.wd-pricing__column { position: relative; background: #fff; border: 1px solid var(--wd-line, #ddd); border-radius: 12px; padding: 1.5rem; }
.wd-pricing__column.is-highlighted { border: 2px solid var(--wd-accent, #e0874a); }
.wd-pricing__column h3 { margin: 0 0 .5rem; }
.wd-pricing__badge { position: absolute; top: -.75rem; left: 1.5rem; background: var(--wd-accent, #e0874a); color: var(--wd-ink, #211d26); font-size: .8rem; font-weight: 700; padding: .15rem .6rem; border-radius: 99px; }
.wd-pricing__price { font-size: 1.7rem; font-weight: 700; margin: 0 0 1rem; }
.wd-pricing__price small { font-size: .9rem; font-weight: 400; }
.wd-pricing__rows { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.wd-pricing__row { padding: .5rem 0; border-top: 1px solid var(--wd-line, #ddd); }

.wd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.25rem; margin-block: 1.5rem; }
.wd-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(12rem, 16rem); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .75rem; }
.wd-carousel > * { scroll-snap-align: start; }
.wd-project { display: block; text-decoration: none; color: inherit; border-radius: 10px; overflow: hidden; background: #fff; border: 1px solid var(--wd-line, #ddd); }
.wd-project img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.wd-project__title { display: block; padding: .7rem .9rem; font-weight: 600; }
.wd-project:hover .wd-project__title, .wd-project:focus-visible .wd-project__title { color: var(--wd-accent-text, #a9551b); }

@media (min-width: 48em) {
	.wd-col-3 { grid-column: span 3; } .wd-col-4 { grid-column: span 4; } .wd-col-5 { grid-column: span 5; }
	.wd-col-6 { grid-column: span 6; } .wd-col-7 { grid-column: span 7; } .wd-col-8 { grid-column: span 8; }
	.wd-col-9 { grid-column: span 9; }
}
