/* LD Core: "Quiet luxury" minimal page (body.ld-min) + multi-step form */
body.ld-min { background: #FAF8F4 !important; }
.ld-min .elementor-location-header { background: #FAF8F4; }
.ld-hairline { border-top: 1px solid #E6E0D6; }
.ld-num { font-family: "Jost", sans-serif; font-size: 12px; letter-spacing: .25em; color: #A8864F; }
.ld-textlink a, a.ld-textlink { color: #141210 !important; text-decoration: none; border-bottom: 1px solid #141210; padding-bottom: 3px; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
.ld-textlink a:hover { color: #A8864F; border-color: #A8864F; }

/* minimal product cards (override boxes) */
.ld-cards ul.products li.product { background: transparent !important; box-shadow: none !important; padding: 0 !important; text-align: left !important; }
.ld-cards ul.products li.product:hover { transform: none !important; }
.ld-cards ul.products li.product img { background: #F1EDE6; margin-bottom: 16px !important; transition: opacity .3s; }
.ld-cards ul.products li.product:hover img { opacity: .88; }
.ld-cards ul.products li.product .woocommerce-loop-product__title { font-size: 21px !important; font-weight: 500 !important; padding: 0 !important; }
.ld-cards ul.products li.product .price, .ld-cards ul.products li.product .price * { color: #6E675E !important; font-size: 15px !important; font-weight: 400 !important; }
.ld-cards ul.products li.product .wc-gzd-additional-info, .ld-cards ul.products li.product .button { display: none !important; }
.ld-cards ul.products li.product .ld-inquiry-loop { display: none !important; }

/* multi-step form */
.ld-steps { position: relative; }
.ld-steps-progress { height: 2px; background: #E6E0D6; margin-bottom: 22px; }
.ld-steps-bar { display: block; height: 2px; width: 25%; background: #A8864F; transition: width .35s ease; }
.ld-steps-nav { display: flex; gap: 0; margin: 0 0 34px !important; padding: 0 !important; list-style: none; counter-reset: ldstep; }
.ld-steps-nav li { flex: 1; font-family: "Jost", sans-serif; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #B3AA9D; counter-increment: ldstep; cursor: default; }
.ld-steps-nav li::before { content: "0" counter(ldstep) "  "; color: inherit; }
.ld-steps-nav li.is-reachable { cursor: pointer; color: #6E675E; }
.ld-steps-nav li.is-active { color: #141210; }
.ld-step { border: 0 !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 20px; min-width: 0; }
.ld-step[hidden] { display: none !important; }
.ld-step legend { font-family: "Cormorant Garamond", serif; font-size: 34px; line-height: 1.15; color: #141210; margin-bottom: 26px; padding: 0; }
.ld-step label, .ld-mini-label { display: block; font-family: "Jost", sans-serif; font-size: 13px; color: #6E675E; letter-spacing: .02em; }
.ld-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ld-steps input[type=text], .ld-steps input[type=email], .ld-steps input[type=tel], .ld-steps input[type=number], .ld-steps textarea {
	width: 100%; margin-top: 8px; padding: 12px 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid #CFC6B8 !important;
	border-radius: 0 !important; color: #141210 !important; font: 300 18px/1.4 "Jost", sans-serif !important; box-shadow: none !important;
}
.ld-steps textarea { border: 1px solid #CFC6B8 !important; padding: 12px !important; }
.ld-steps input:focus, .ld-steps textarea:focus { outline: 0; border-color: #141210 !important; }
.ld-steps input::placeholder, .ld-steps textarea::placeholder { color: #B3AA9D !important; }
.ld-invalid input, .ld-invalid textarea { border-color: #B4442E !important; }
.ld-invalid::after { content: "Bitte ausfüllen"; display: block; margin-top: 6px; color: #B4442E; font-size: 12px; }
/* chips + swatches (CF7 radio) */
.ld-chips .wpcf7-radio, .ld-swatches .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
.ld-chips .wpcf7-list-item, .ld-swatches .wpcf7-list-item { margin: 0 !important; }
.ld-chips label, .ld-swatches label { position: relative; display: inline-flex !important; align-items: center; gap: 10px; padding: 11px 18px; border: 1px solid #CFC6B8; color: #141210 !important; font-size: 14px !important; cursor: pointer; transition: border-color .2s, background .2s; }
.ld-chips input, .ld-swatches input { position: absolute; opacity: 0; pointer-events: none; }
.ld-chips label:has(input:checked), .ld-swatches label:has(input:checked) { border-color: #141210; background: #141210; color: #FAF8F4 !important; }
.ld-chips-small label { padding: 8px 14px; font-size: 13px !important; }
.ld-chips-small { display: grid; gap: 10px; }
.ld-swatches label::before { content: ""; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); flex: none; }
.ld-swatches .wpcf7-list-item:nth-child(1) label::before { background: linear-gradient(135deg, #8C6239, #5A3B22); }
.ld-swatches .wpcf7-list-item:nth-child(2) label::before { background: linear-gradient(135deg, #E9C979, #B88A2E); }
.ld-swatches .wpcf7-list-item:nth-child(3) label::before { background: linear-gradient(135deg, #F2F2F2, #9DA3A8); }
.ld-swatches .wpcf7-list-item:nth-child(4) label::before { background: repeating-linear-gradient(45deg, #fff, #fff 3px, #ddd 3px, #ddd 6px); }
.ld-swatches label { padding: 12px 20px 12px 14px; }
.ld-accept { font-size: 12px; color: #6E675E; line-height: 1.6; }
.ld-accept a { color: #141210; }
.ld-steps-actions { display: flex; align-items: center; gap: 14px; margin-top: 34px; }
.ld-steps-actions [hidden] { display: none !important; }
.ld-steps .ld-next, .ld-steps input[type=submit] { margin-left: auto; padding: 16px 38px; background: #141210; color: #FAF8F4; border: 0; border-radius: 0; font: 400 12px "Jost", sans-serif; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.ld-steps .ld-next:hover, .ld-steps input[type=submit]:hover { background: #A8864F; }
.ld-steps .ld-prev { padding: 16px 0; background: none; border: 0; color: #6E675E; font: 400 12px "Jost", sans-serif; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.ld-steps .ld-prev:hover { color: #141210; }
.ld-steps .wpcf7-spinner { position: absolute; right: 0; bottom: -30px; }
.ld-steps.is-sent .ld-step, .ld-steps.is-sent .ld-steps-actions, .ld-steps.is-sent .ld-steps-nav, .ld-steps.is-sent .ld-steps-progress { display: none !important; }
.ld-steps + .wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output { border: 0 !important; margin: 0 !important; padding: 0 !important; font: 400 30px/1.25 "Cormorant Garamond", serif; color: #141210; }
@media (max-width: 767px) {
	.ld-grid2 { grid-template-columns: 1fr; }
	.ld-step legend { font-size: 27px; }
	.ld-steps-nav li { font-size: 0; }
	.ld-steps-nav li::before { font-size: 12px; }
	.ld-steps-nav li.is-active { font-size: 11px; }
}
.ld-steps .ld-step label, .ld-steps .ld-mini-label { color: #6E675E !important; text-transform: none !important; letter-spacing: .02em !important; font-size: 13px !important; font-family: "Jost", sans-serif !important; }
.ld-steps .ld-chips label, .ld-steps .ld-swatches label { color: #141210 !important; text-transform: uppercase !important; font-size: 12px !important; letter-spacing: .1em !important; }
.ld-steps .ld-chips label:has(input:checked), .ld-steps .ld-swatches label:has(input:checked) { color: #FAF8F4 !important; }

/* footer CTA duplicates the inquiry section on minimal pages */
body.ld-min .elementor-element-477f9c47 { display: none !important; }
.ld-textlink.is-light a { color: #F3EBDD !important; border-color: #F3EBDD !important; }
.ld-textlink.is-light a:hover { color: #E2C887 !important; border-color: #E2C887 !important; }
.ld-step { align-content: start; }
.ld-steps-actions { min-height: 52px; }
.ld-steps .ld-next, .ld-steps input[type=submit], .ld-steps .ld-prev { height: 50px !important; line-height: 50px !important; padding-top: 0 !important; padding-bottom: 0 !important; box-sizing: border-box; vertical-align: middle; }
.ld-steps-actions { align-items: center; height: 50px; }
.ld-steps .wpcf7-spinner { position: absolute; }

/* compact two-step form */
.ld-steps-compact .ld-steps-progress { margin-bottom: 12px; }
.ld-steps-compact .ld-steps-nav { margin: 0 0 16px !important; }
.ld-steps-compact .ld-step { gap: 14px; }
.ld-steps-compact .ld-step legend { font-size: 24px; margin-bottom: 12px; }
.ld-steps-compact .ld-grid2, .ld-steps-compact .ld-grid3 { gap: 14px; }
.ld-grid3 { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; }
.ld-steps-compact input[type=text], .ld-steps-compact input[type=email], .ld-steps-compact input[type=tel], .ld-steps-compact input[type=number] { padding: 7px 0 !important; font-size: 16px !important; margin-top: 4px; }
.ld-steps-compact select { width: 100%; margin-top: 4px; padding: 7px 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid #CFC6B8 !important; border-radius: 0 !important; color: #141210 !important; font: 300 16px "Jost", sans-serif !important; }
.ld-steps-compact textarea { padding: 8px 10px !important; font-size: 15px !important; margin-top: 4px; min-height: 0; height: 64px; }
.ld-steps-compact .ld-swatches .wpcf7-radio { gap: 8px; flex-wrap: nowrap; }
.ld-steps-compact .ld-swatches label { padding: 8px 12px 8px 9px !important; gap: 7px; font-size: 11px !important; }
.ld-steps-compact .ld-swatches label::before { width: 16px; height: 16px; }
.ld-steps-compact .ld-accept { font-size: 11px; line-height: 1.5; }
.ld-steps-compact .ld-steps-actions { margin-top: 16px; }
@media (max-width: 767px) {
	.ld-grid3 { grid-template-columns: 1fr 1fr; }
	.ld-grid3 label:first-child { grid-column: 1 / -1; }
	.ld-steps-compact .ld-swatches .wpcf7-radio { flex-wrap: wrap; }
	.ld-steps-compact .ld-grid2 { grid-template-columns: 1fr; }
}

/* form card as tall as the text column next to it; buttons sit at the bottom */
@media (min-width: 768px) {
	.ld-fill-form > .elementor-widget-shortcode { flex: 1 1 auto; display: flex; }
	.ld-fill-form > .elementor-widget-shortcode > .elementor-widget-container,
	.ld-fill-form .elementor-shortcode, .ld-fill-form .wpcf7, .ld-fill-form .wpcf7 form { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; }
	.ld-fill-form .ld-steps { display: flex; flex-direction: column; flex: 1 1 auto; }
	.ld-fill-form .ld-steps .ld-step:not([hidden]) { flex: 1 1 auto; }
	.ld-fill-form .ld-steps-actions { margin-top: auto; padding-top: 16px; }
}
.ld-steps-compact .ld-chips .wpcf7-radio { gap: 8px; }
.ld-steps-compact .ld-chips label { padding: 8px 13px !important; font-size: 11px !important; }
