/* =========================================================================
   Meat District – frontend-CSS för child theme.
   Allt som går att lösa med ACSS-klasser eller Bricks-inställningar ska
   lösas där. Här ligger bara det som kräver selektorer Bricks inte når
   (WooCommerce-markup, plugin-markup) samt postnummer-logiken.
   ========================================================================= */

/* --- Designtokens som ACSS inte har ------------------------------------- */

:root {
	/* Rubriktypsnittet (Adobe Fonts, kit peg6kpi) för display-text som inte är h1–h6 */
	--md-font-display: "field-gothic", "field-gothic-no-58", sans-serif;
}

/* --- Postnummerkontroll (se inc/postal-code.php) ---------------------- */

/* Formulärblocket visas bara på produkter som kräver kontroll. */
body:not([data-require-postalcode]) .postalcode-container {
	display: none;
}

/* Köpknappen döljs tills postnumret är godkänt. */
body[data-require-postalcode]:not(.postalcode-is-allowed) .brxe-product-add-to-cart form.cart {
	display: none;
}

/* Ett tillstånd i taget: grön rad (ok) eller gul väntelista (nekat). body-prefix så att
   Bricks-klassernas display:flex inte slår ut dölj-regeln. */
body:not(.postalcode-is-allowed) .postalcode-success-message,
body:not(.postalcode-not-allowed) .postalcode-denied-message,
.postalcode-container .brxe-form .message {
	display: none;
}

/* Bekräftelse efter köp (delivery-day.js visar den och döljer Woo-meddelandet) */
body:not(.md-added) .md-added-notice {
	display: none;
}

body.md-added .md-pdp__buy .woocommerce-message {
	display: none;
}

/* --- WooCommerce: kassa --------------------------------------------------- */

#order_review #payment .wc_payment_methods .wc_payment_method {
	min-height: 26px;
}

#order_review #payment .wc_payment_methods .wc_payment_method .payment_box {
	margin-top: 25px;
}

.woocommerce .form-row-last {
	margin-top: 0;
	margin-bottom: var(--space-m);
}

.woocommerce-checkout .place-order .button {
	color: var(--white);
	background-color: var(--neutral) !important;
	border-radius: 0 !important;
}

.woocommerce-shipping-methods label {
	color: var(--neutral);
	font-size: var(--text-m);
}

/* --- WooCommerce: minivarukorg -------------------------------------------- */

@media (max-width: 767px) {
	.brxe-block .brxe-woocommerce-mini-cart {
		position: unset;
	}
}

.brxe-woocommerce-mini-cart .cart-detail li .variation {
	margin: 0 0 1rem 0 !important;
}

.brxe-woocommerce-mini-cart .cart-detail li .variation dt,
.brxe-woocommerce-mini-cart .cart-detail li .variation dd {
	font-size: var(--text-s);
	display: inline-block;
}

/* --- WooCommerce Product Add-ons: leveransdag som radiokort --------------
   Markup kommer från pluginen (global add-on "Leveransdatum", radioknappar).
   Utseende enligt designsystemets RadioGroup i card-läge. */

#product-addons-total {
	display: none !important;
}

#required_addons_validation_message:empty {
	display: none;
}

.wc-pao-addons-container {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin-bottom: var(--space-m);
}

.wc-pao-addon-container {
	display: flex;
	flex-direction: column;
	gap: var(--space-xxs);
}

/* Legend: "Leveransdag" */
.wc-pao-addon-name {
	font-size: var(--text-base, 16px);
	font-weight: 700;
	line-height: 1.3;
	color: var(--black);
	margin: 0;
}

.wc-pao-addon-name .required {
	color: var(--primary);
	text-decoration: none;
	font-style: normal;
	margin-left: .15em;
}

.wc-pao-addon-wrap.form-row {
	margin: 0;
	padding: 0;
}

/* Alternativen är direkta barn (div utan egen klass) till wrappern */
.wc-pao-addon-wrap.form-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wc-pao-addon-wrap > div {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 24px;
	border: 1px solid var(--secondary-light);
	background: var(--white);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}

.wc-pao-addon-wrap > div:hover {
	border-color: var(--secondary-dark);
}

.wc-pao-addon-wrap > div:has(input:checked) {
	border-color: var(--black);
	background: var(--accent-ultra-light);
}

.wc-pao-addon-wrap > div:has(input:focus-visible) {
	box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--primary);
}

/* Radioknappen: 20 px cirkel, röd med vit kärna när vald */
.wc-pao-addon-wrap input.wc-pao-addon-radio {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 20px;
	width: 20px;
	min-width: 20px;
	max-width: 20px;
	height: 20px;
	aspect-ratio: 1;
	padding: 0;
	margin: 0;
	border: 1px solid var(--black);
	border-radius: 50%;
	background: var(--white);
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}

.wc-pao-addon-wrap input.wc-pao-addon-radio:hover {
	border-color: var(--primary);
}

.wc-pao-addon-wrap input.wc-pao-addon-radio:checked {
	background: var(--primary);
	border-color: var(--primary);
	box-shadow: inset 0 0 0 4px var(--white);
}

.wc-pao-addon-wrap input.wc-pao-addon-radio:focus-visible {
	outline: none;
}

.wc-pao-addon-wrap > div > label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--black);
	cursor: pointer;
}

.wc-pao-addon-wrap > div > label .md-dd__desc {
	font-size: var(--text-s);
	font-weight: 400;
	color: var(--neutral);
}

.wc-pao-addon-wrap > div > label .md-dd__title,
.wc-pao-addon-wrap > div > label .md-dd__desc {
	display: block;
}

/* Hela kortet klickbart */
.wc-pao-addon-wrap > div > label::before {
	content: "";
	position: absolute;
	inset: 0;
}

/* Första alternativet är nästa leverans */
.wc-pao-addon-wrap > div:first-child::after {
	align-self: center;
	content: "Nästa leverans";
	margin-left: auto;
	padding: 3px 6px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	background: var(--primary);
	color: var(--white);
}


/* --- Produktsida: antal-stepper (layout ligger i Bricks-klassen md-add-to-cart) --- */

.brxe-product-add-to-cart form.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 48px;
	border: 1px solid var(--black);
	background: var(--white);
	margin: 0;
	width: auto;
}

.brxe-product-add-to-cart form.cart .quantity .action {
	width: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--black);
	transition: background-color .2s ease;
}

.brxe-product-add-to-cart form.cart .quantity .action:hover {
	background: var(--bg-light);
}

.brxe-product-add-to-cart form.cart .quantity .action svg {
	width: 18px;
	height: 18px;
}

.brxe-product-add-to-cart form.cart .quantity input.qty {
	width: 48px;
	height: auto;
	text-align: center;
	font-weight: 600;
	font-size: 16px;
	border: 0;
	border-inline: 1px solid var(--accent);
	background: transparent;
	padding: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}

.brxe-product-add-to-cart form.cart .quantity input.qty::-webkit-inner-spin-button,
.brxe-product-add-to-cart form.cart .quantity input.qty::-webkit-outer-spin-button {
	appearance: none;
	margin: 0;
}
