/* Raufoss Dekksøk – WooCommerce checkout in the same look as the tyre search and booking panel */
.wc-block-checkout, .rbk-head {
	--k-ink: #0f1115; --k-ink2: #2b2f36; --k-muted: #6b7280; --k-faint: #9aa0a8;
	--k-line: #e4e7eb; --k-field: #e2e4e8; --k-soft: #fafafb; --k-red: #e3262b; --k-red-d: #c41d22;
	color: var(--k-ink);
	-webkit-font-smoothing: antialiased;
}

/* Heading above the checkout */
.rbk-head { max-width: 1140px; margin: 118px auto 26px; } /* clears the menu bar that floats over the page */
.rbk-eyebrow { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--k-red); }
.rbk-title { font-size: 34px; line-height: 1.15; font-weight: 600; letter-spacing: -.02em; color: var(--k-ink); margin: 10px 0 0; }
.rbk-lead { color: var(--k-muted); font-size: 15px; margin: 8px 0 0; }

/* Steps as a grid of cards instead of one long stack of lines */
.wc-block-checkout .wc-block-checkout__form {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	counter-reset: rbk-step;
}
.wc-block-checkout .wc-block-checkout__form > * { grid-column: 1 / -1; margin: 0 !important; }
.wc-block-checkout .wc-block-checkout__form > #shipping-option,
.wc-block-checkout .wc-block-checkout__form > #payment-method { grid-column: span 1; }
.wc-block-checkout .wc-block-checkout__form > div:empty { display: none; }

.wc-block-checkout .wc-block-components-checkout-step {
	position: relative;
	background: #fff !important;
	border: 1px solid var(--k-line) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 40px -30px rgba(16, 18, 22, .45);
	padding: 20px 20px 18px !important;
	counter-increment: rbk-step;
}
.wc-block-checkout .wc-block-components-checkout-step::before,
.wc-block-checkout .wc-block-components-checkout-step::after,
.wc-block-checkout .wc-block-components-checkout-step__heading-container::before { display: none !important; content: none !important; }
.wc-block-checkout .wc-block-components-checkout-step__container,
.wc-block-checkout .wc-block-components-checkout-step__content { padding: 0 !important; margin: 0 !important; }
.wc-block-checkout .wc-block-components-checkout-step__heading { margin: 0 0 14px !important; display: flex; align-items: center; justify-content: space-between; }
.wc-block-checkout .wc-block-components-checkout-step__title {
	display: flex !important; align-items: center; gap: 10px;
	margin: 0 !important;
	font-size: 17px !important; font-weight: 600 !important; letter-spacing: -.01em !important;
	text-transform: none !important; color: var(--k-ink) !important;
}
.wc-block-checkout .wc-block-components-checkout-step__title::before {
	content: counter(rbk-step);
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 24px; height: 24px; border-radius: 50%;
	background: var(--k-ink); color: #fff; font-size: 12px; font-weight: 700;
}
.wc-block-checkout .wc-block-components-checkout-step__heading-content,
.wc-block-checkout .wc-block-components-checkout-step__description { color: var(--k-muted) !important; font-size: 13px !important; }

/* Text fields: soft box, small grey caps label when filled */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout .wc-blocks-components-select select,
.wc-block-checkout .wc-block-components-textarea {
	background: var(--k-soft) !important;
	border: 1px solid var(--k-field) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	color: var(--k-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-textarea:focus {
	background: #fff !important; border-color: var(--k-ink) !important; outline: none !important;
}
.wc-block-checkout .wc-block-components-text-input label { color: var(--k-faint) !important; }
.wc-block-checkout .wc-block-components-text-input.is-active label {
	font-size: 10px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important;
}
.wc-block-checkout .wc-block-components-text-input.has-error input { border-color: #b3261e !important; background: #fff7f7 !important; }

/* Saved address shown as a soft box */
.wc-block-checkout .wc-block-components-address-card {
	background: var(--k-soft) !important; border: 1px solid var(--k-field) !important; border-radius: 14px !important; padding: 14px 16px !important;
}
.wc-block-checkout .wc-block-components-address-card__edit { color: var(--k-ink) !important; font-weight: 600; text-decoration: underline; }

/* Pickup and payment choices */
.wc-block-checkout .wc-block-components-radio-control { border: 0 !important; box-shadow: none !important; }
.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-radio-control-accordion-option {
	background: var(--k-soft) !important;
	border: 1px solid var(--k-field) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: #fff !important; border-color: var(--k-ink) !important; box-shadow: none !important;
}
.wc-block-checkout .wc-block-components-radio-control--highlight-checked::after,
.wc-block-checkout .wc-block-components-radio-control--highlight-checked::before { display: none !important; }
.wc-block-checkout .wc-block-components-radio-control__input:checked { border-color: var(--k-red) !important; }
.wc-block-checkout .wc-block-components-radio-control__input:checked::before { background: var(--k-red) !important; }
.wc-block-checkout .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__option-layout { font-weight: 600; color: var(--k-ink); }
.wc-block-checkout .wc-block-components-radio-control__secondary-label,
.wc-block-checkout .wc-block-components-radio-control__description,
.wc-block-checkout .wc-block-components-radio-control-accordion-content { color: var(--k-muted) !important; font-size: 13px !important; }
.wc-block-checkout .wc-block-components-radio-control__secondary-label { color: #15803d !important; font-weight: 700; }

/* Comment: always open, big like a cover-letter box */
.wc-block-checkout #order-notes .wc-block-checkout__add-note > .wc-block-components-checkbox { display: none !important; }
.wc-block-checkout #order-notes .wc-block-components-textarea {
	display: block; width: 100% !important;
	min-height: 200px !important; padding: 14px 16px !important; margin: 0 !important;
	font-weight: 500 !important; line-height: 1.5 !important; resize: vertical;
}
.wc-block-checkout #order-notes .wc-block-components-textarea::placeholder { color: #a3a9b2; font-weight: 500; }

/* Terms: plain small text, no separator line */
.wc-block-checkout .wc-block-checkout__terms { border: 0 !important; padding: 2px 4px !important; color: var(--k-muted); font-size: 13px; }
.wc-block-checkout .wc-block-checkout__terms::before, .wc-block-checkout .wc-block-checkout__terms::after { display: none !important; }

/* Place order: same as "Søk etter dekk" */
.wc-block-checkout .wc-block-checkout__actions_row { display: flex; flex-direction: column-reverse; gap: 12px; }
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	width: 100% !important; height: 56px !important; min-height: 56px !important;
	border: 0 !important; border-radius: 13px !important;
	background: linear-gradient(180deg, var(--k-red) 0%, var(--k-red-d) 100%) !important;
	color: #fff !important; font-size: 16px !important; font-weight: 600 !important;
	letter-spacing: .01em !important; text-transform: none !important;
	box-shadow: 0 10px 24px -12px rgba(227, 38, 43, .85) !important;
	transition: filter .15s, transform .05s;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover { filter: brightness(1.05); }
.wc-block-checkout .wc-block-components-checkout-place-order-button:active { transform: translateY(1px); }
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button { color: var(--k-muted) !important; font-size: 14px; align-self: center; }

/* Order summary card */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff !important; border: 1px solid var(--k-line) !important; border-radius: 18px !important;
	box-shadow: 0 18px 40px -30px rgba(16, 18, 22, .45);
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 6px 4px !important; overflow: hidden; }
.wc-block-checkout .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button { font-size: 17px !important; font-weight: 600 !important; color: var(--k-ink) !important; }
.wc-block-checkout .wc-block-components-totals-item__label { color: var(--k-muted); }
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--k-ink); font-size: 20px !important; font-weight: 700 !important; }
.wc-block-checkout .wc-block-components-order-summary-item__quantity { background: var(--k-ink) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; }
.wc-block-checkout .wc-block-components-order-summary-item__image img { border-radius: 10px; background: var(--k-soft); }

@media (max-width: 700px) {
	.wc-block-checkout .wc-block-checkout__form { grid-template-columns: 1fr; }
	.wc-block-checkout .wc-block-checkout__form > #shipping-option,
	.wc-block-checkout .wc-block-checkout__form > #payment-method { grid-column: 1 / -1; }
	.rbk-title { font-size: 27px; }
	.rbk-head { margin-top: 96px; padding: 0 4px; }
}

/* Discount code row: plain, no box */
.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-checkout .wc-block-components-panel { border: 0 !important; box-shadow: none !important; background: none !important; }
.wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { color: var(--k-ink2) !important; font-weight: 600; }

/* ---------- Cart ("Handlekurv") in the same look ---------- */
.wc-block-cart {
	--k-ink: #0f1115; --k-ink2: #2b2f36; --k-muted: #6b7280; --k-faint: #9aa0a8;
	--k-line: #e4e7eb; --k-field: #e2e4e8; --k-soft: #fafafb; --k-red: #e3262b; --k-red-d: #c41d22;
	color: var(--k-ink); -webkit-font-smoothing: antialiased;
}
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	background: #fff; border: 1px solid var(--k-line); border-radius: 18px;
	box-shadow: 0 18px 40px -30px rgba(16, 18, 22, .45);
}
.wc-block-cart .wc-block-cart__main { padding: 8px 20px !important; }
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block { padding: 18px 16px 16px; }
.wc-block-cart .wc-block-cart-items { border: 0 !important; margin: 0 !important; }
.wc-block-cart .wc-block-cart-items__header { color: var(--k-faint) !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase; }
.wc-block-cart .wc-block-cart-items__header th { border-bottom: 1px solid #eceef1 !important; padding: 14px 0 12px !important; }
.wc-block-cart .wc-block-cart-items__row td { border-top: 0 !important; border-bottom: 1px solid #eceef1 !important; padding-top: 18px !important; padding-bottom: 18px !important; }
.wc-block-cart .wc-block-cart-items__row:last-child td { border-bottom: 0 !important; }
.wc-block-cart .wc-block-cart-item__image img { border-radius: 12px; background: var(--k-soft); }
.wc-block-cart .wc-block-components-product-name {
	color: var(--k-ink) !important; font-size: 16px !important; font-weight: 600 !important; text-decoration: none !important;
}
.wc-block-cart .wc-block-components-product-name:hover { color: var(--k-red) !important; }
.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-components-product-metadata { color: var(--k-muted) !important; font-size: 13px !important; }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-weight: 700 !important; font-size: 16px; color: var(--k-ink) !important; }

.wc-block-cart .wc-block-components-quantity-selector {
	background: var(--k-soft) !important; border: 1px solid var(--k-field) !important; border-radius: 12px !important; overflow: hidden;
	box-shadow: none !important;
}
.wc-block-cart .wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent !important; border: 0 !important; box-shadow: none !important; font-weight: 700 !important; color: var(--k-ink) !important;
}
.wc-block-cart .wc-block-components-quantity-selector__button {
	background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--k-ink) !important;
	font-size: 18px !important; min-width: 34px !important; opacity: 1 !important;
}
.wc-block-cart .wc-block-components-quantity-selector__button:hover { background: #f0f1f3 !important; }
.wc-block-cart .wc-block-cart-item__remove-link { color: var(--k-muted) !important; }
.wc-block-cart .wc-block-cart-item__remove-link:hover { color: var(--k-red) !important; }

.wc-block-cart .wc-block-cart__totals-title {
	font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: -.01em !important;
	color: var(--k-ink) !important; padding: 0 0 8px 8px !important; margin: 0 !important; text-align: left !important;
}
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-cart .wc-block-components-panel { border: 0 !important; box-shadow: none !important; background: none !important; color: var(--k-ink2) !important; font-weight: 600; }
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 20px !important; font-weight: 700 !important; color: var(--k-ink) !important; }
.wc-block-cart .wc-block-components-totals-item__description { color: var(--k-muted) !important; font-size: 13px !important; }

.wc-block-cart .wc-block-cart__submit-button,
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button {
	display: flex !important; align-items: center; justify-content: center;
	width: 100% !important; height: 56px !important; min-height: 56px !important;
	border: 0 !important; border-radius: 13px !important;
	background: linear-gradient(180deg, var(--k-red) 0%, var(--k-red-d) 100%) !important;
	color: #fff !important; font-size: 16px !important; font-weight: 600 !important;
	letter-spacing: .01em !important; text-transform: none !important; text-decoration: none !important;
	box-shadow: 0 10px 24px -12px rgba(227, 38, 43, .85) !important;
}
.wc-block-cart .wc-block-cart__submit-button *,
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button * { color: #fff !important; text-decoration: none !important; }
.wc-block-cart .wc-block-cart__submit-button:hover { filter: brightness(1.05); }
.wc-block-cart .wc-block-cart__submit-container { padding: 4px 0 0 !important; }

@media (max-width: 700px) {
	.wc-block-cart .wc-block-cart__main { padding: 4px 14px !important; }
}
