/* Rentor Shop — front-end. Farver følger sitets Global Colors (Elementor-variabler med fallback). */
.rs-calc, .rs-fields, .rs-upsell, .rs-approval-box, .rs-checkout-date, .rs-freight {
	--rs-primary: var(--e-global-color-primary, #1A1C19);
	--rs-secondary: var(--e-global-color-secondary, #8D8043);
	--rs-text: var(--e-global-color-text, #22241F);
	--rs-accent: var(--e-global-color-accent, #F1F0EA);
	--rs-muted: #6B6E66;
	--rs-line: #DEDEDA;
	--rs-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 18'%3E%3Cpath d='M2 2l7 7-7 7M17 2l7 7-7 7' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- Fælles felter ---------- */
.rs-field { display: flex; flex-direction: column; gap: .5rem; margin: 0 0 1.25rem; border: 0; padding: 0; min-width: 0; }
.rs-label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--rs-muted); padding: 0; }
.rs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rs-grid2 > label { display: flex; flex-direction: column; gap: .5rem; }
.rs-input, .rs-calc select.rs-input {
	width: 100%; font: inherit; font-size: 16px; color: var(--rs-text); background: #fff;
	border: 1px solid var(--rs-line); border-radius: 999px; padding: .85rem 1.3rem; line-height: 1.4; box-sizing: border-box;
}
.rs-fields .rs-input, .rs-calc .rs-input { border-radius: 999px !important; border: 1px solid var(--rs-line) !important; padding: .85rem 1.3rem !important; height: auto !important; box-shadow: none !important; }
.rs-fields .rs-box .rs-input, .rs-calc .rs-box .rs-input { padding-right: 3.6rem !important; }
.rs-input:focus { outline: none; border-color: var(--rs-secondary); }
.rs-box { position: relative; display: flex; align-items: center; }
.rs-box .rs-input { padding-right: 3.6rem; }
.rs-box > span { position: absolute; right: 1.3rem; font-size: 14px; color: var(--rs-muted); pointer-events: none; }
.rs-hint { margin: .2rem 0 0; font-size: 13px; color: var(--rs-muted); line-height: 1.5; }
.rs-always { margin: .4rem 0 .8rem; padding-left: 1.1em; }
.rs-date-msg { display: block; font-size: 13px; color: #B3261E; margin-top: .3rem; }
.rs-date-msg:empty { display: none; }

/* Valg-kort (størrelser, fraktioner, udlevering) */
.rs-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; }
.rs-options--wide { grid-template-columns: 1fr; }
.rs-option {
	position: relative; display: flex; flex-direction: column; gap: .2rem; cursor: pointer;
	border: 1px solid var(--rs-line); border-radius: 18px; padding: .95rem 1.1rem .95rem 2.7rem; background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.rs-option input { position: absolute; left: 1.05rem; top: 1.1rem; margin: 0; accent-color: var(--rs-secondary); width: 18px; height: 18px; }
.rs-option:has(input:checked) { border-color: var(--rs-secondary); box-shadow: 0 0 0 1px var(--rs-secondary); }
.rs-option__title { font-weight: 600; color: var(--rs-text); line-height: 1.35; }
.rs-option__price { font-weight: 700; color: var(--rs-text); }
.rs-option__desc { font-size: 13.5px; color: var(--rs-muted); line-height: 1.5; }
.rs-explain { margin-top: .75rem; font-size: 14px; color: var(--rs-muted); }
.rs-explain summary { cursor: pointer; color: var(--rs-secondary); font-weight: 600; }
.rs-explain p { margin: .5rem 0 0; line-height: 1.6; }

/* ---------- Mængdeberegner ---------- */
.rs-calc { background: #fff; border: 1px solid var(--rs-line); border-radius: 40px; padding: 2.5rem; display: flex; flex-direction: column; color: var(--rs-text); }
.rs-calc--product { border-radius: 26px; padding: 1.75rem; margin: 0 0 1.5rem; background: var(--rs-accent); border-color: transparent; }
.rs-calc__title { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.5rem; font-weight: 700; font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }
.rs-calc__title::before { content: ""; width: 26px; height: 14px; flex: 0 0 auto; background: var(--rs-secondary); -webkit-mask: var(--rs-mark) center/contain no-repeat; mask: var(--rs-mark) center/contain no-repeat; }
.rs-calc__title--sm { font-size: 18px; margin-bottom: 1.1rem; }
.rs-calc__shape { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 0 0 1rem; font-size: 14px; }
.rs-calc__shape label { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; }
.rs-calc__shape input { accent-color: var(--rs-secondary); }
.rs-calc.is-loading .rs-result { opacity: .55; }

.rs-result { background: var(--rs-primary); color: #fff; border-radius: 26px; padding: 1.6rem 1.75rem; margin: .25rem 0 1.25rem; transition: opacity .15s ease; }
.rs-result__main { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.rs-result__right { text-align: right; }
.rs-result__label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #B9BBB2; }
.rs-result__value { margin: .25rem 0 0; font-weight: 800; font-size: 32px; line-height: 1.1; letter-spacing: -.03em; color: #fff; }
.rs-result__sub { margin: .35rem 0 0; font-size: 13px; color: #B9BBB2; }
.rs-result__lines { list-style: none; margin: 1.1rem 0 0; padding: 1rem 0 0; border-top: 1px solid #3A3D34; display: flex; flex-direction: column; gap: .35rem; font-size: 14px; color: #D8D9D2; }
.rs-result__lines li, .rs-freight li, .rs-quote li { display: flex; justify-content: space-between; gap: 1rem; }
.rs-calc__msg { margin: 0 0 1rem; font-size: 14px; color: var(--rs-text); }
.rs-calc__msg a { color: var(--rs-secondary); font-weight: 600; }
.rs-calc__hint { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 14px; background: var(--rs-accent); border-left: 4px solid var(--rs-secondary); font-size: 14px; }
.rs-calc--product .rs-calc__hint { background: #fff; }
.rs-calc__note { margin: 1rem 0 0; font-size: 13px; color: var(--rs-muted); line-height: 1.6; }

.rs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .7rem; width: 100%;
	font: inherit; font-weight: 600; font-size: 15px; letter-spacing: .02em; cursor: pointer;
	padding: 1rem 2.1rem; border-radius: 999px; border: 1px solid transparent;
	background: var(--rs-secondary); color: #fff; transition: background-color .18s ease;
}
.rs-btn:hover:not(:disabled) { background: #756934; }
.rs-btn:disabled { opacity: .45; cursor: not-allowed; }
.rs-btn--ghost { background: #fff; color: var(--rs-text); border-color: var(--rs-line); }
.rs-btn--ghost:hover:not(:disabled) { background: #fff; border-color: var(--rs-text); }

/* ---------- Produktside: bookinger ---------- */
.rs-fields { margin: 0 0 1.5rem; }
.rs-zone { margin: .35rem 0 0; font-size: 13px; color: var(--rs-muted); }
.rs-quote ul { list-style: none; margin: 0; padding: 1.1rem 1.3rem; background: var(--rs-accent); border-radius: 18px 18px 0 0; display: flex; flex-direction: column; gap: .4rem; font-size: 14.5px; }
.rs-quote__total { display: flex; justify-content: space-between; margin: 0 0 1rem; padding: .9rem 1.3rem; background: var(--rs-primary); color: #fff; border-radius: 0 0 18px 18px; }
.rs-quote__total strong { font-size: 20px; }
.rs-approval-note { font-size: 13px; color: var(--rs-muted); margin: 0; }

/* ---------- Kurv og kasse ---------- */
.rs-unit { color: var(--rs-muted); font-size: .85em; font-weight: 400; }
.rs-from { font-size: .8em; font-weight: 400; color: var(--rs-muted); }
.rs-freight { list-style: none; margin: .5rem 0 0; padding: 0; font-size: 13px; color: var(--rs-muted); }
.rs-upsell { display: flex; flex-direction: column; gap: .75rem; margin: 0 0 1.5rem; }
.rs-upsell__item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border: 1px solid var(--rs-line); border-left: 4px solid var(--rs-secondary); border-radius: 18px; background: #fff; }
.rs-upsell__item p { margin: 0; }
.rs-upsell .rs-upsell__btn.button { white-space: nowrap; border-radius: 999px !important; background: var(--rs-secondary) !important; color: #fff !important; padding: .75rem 1.3rem !important; }
.rs-approval-box { margin: 0 0 1.5rem; padding: 1.1rem 1.3rem; background: var(--rs-accent); border-left: 4px solid var(--rs-secondary); border-radius: 18px; }
.rs-approval-box p { margin: .35rem 0 0; }
.rs-checkout-date { margin: 0 0 1.5rem; }
.rs-checkout-date .rs-hint { display: block; }
.rs-outside { padding: .8rem 1rem; background: var(--rs-accent); border-radius: 14px; }

@media (max-width: 767px) {
	.rs-calc { padding: 1.75rem; border-radius: 28px; }
	.rs-grid2 { grid-template-columns: 1fr; }
	.rs-result__main { flex-direction: column; gap: 1rem; }
	.rs-result__right { text-align: left; }
	.rs-upsell__item { flex-direction: column; align-items: flex-start; }
}

/* ---------- webup-core's produktside ---------- */
.rs-kind-container .webup-woo-quantity, .rs-kind-machine .webup-woo-quantity, .rs-kind-grab .webup-woo-quantity { display: none; }
.rs-added { margin: .75rem 0 0; padding: .75rem 1rem; border-radius: 14px; background: var(--rs-accent); font-size: 14px; }
.rs-added.is-error { background: #fbeaea; color: #8a1f1f; }
.rs-added a { color: var(--rs-secondary); font-weight: 600; }
.rs-result__sub { line-height: 1.5; }

/* Mængdefelt i kurven skal kunne vise fx 12,5 */
.woocommerce-cart-form .quantity input.qty { width: 5.5em; }

/* Resultatrækker: overskrift + forklaring */
.rs-result__lines li { align-items: flex-start; }
.rs-row__txt { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rs-row__txt strong { color: #fff; font-weight: 600; }
.rs-row__txt small { color: #B9BBB2; font-size: 12.5px; line-height: 1.45; }
.rs-row__cost { white-space: nowrap; color: #fff; font-weight: 600; }

/* "Gratis med din container" */
.rs-good-news { margin: 0 0 1.25rem; padding: 1rem 1.2rem; border-radius: 18px; background: var(--rs-accent); border-left: 4px solid var(--rs-secondary); }
.rs-good-news > strong { display: block; color: var(--rs-text); }
.rs-good-news p strong { color: var(--rs-text); }
.rs-good-news p { margin: .3rem 0 0; font-size: 14px; color: var(--rs-muted); line-height: 1.55; }

.rs-day-note { grid-column: 1 / -1; margin: .25rem 0 0; padding: .7rem 1rem; border-radius: 14px; background: #fff6e0; border-left: 4px solid #dba617; font-size: 13.5px; line-height: 1.5; }
