/*
Theme Name:   Storefront IsoShop
Theme URI:    https://fairgroupdanmark.dk
Description:  Child theme til Storefront med IsoShop-designet: rolig grøn/orange palet, luftig typografi og enkle produktkort. Tilpasset isolerings- og EPS-produkter.
Author:       IsoShop
Template:     storefront
Version:      1.0.0
Requires PHP: 8.0
Text Domain:  storefront-isoshop
*/

:root {
	--isoshop-brand: #2f7d68;
	--isoshop-brand-mork: #1e5044;
	--isoshop-brand-lys: #eef6f4;
	--isoshop-brand-kant: #b0d3ca;
	--isoshop-accent: #dd661f;
	--isoshop-accent-mork: #bd4f17;
	--isoshop-graa-100: #f5f5f5;
	--isoshop-graa-200: #e5e5e5;
	--isoshop-graa-500: #737373;
	--isoshop-graa-700: #404040;
	--isoshop-graa-900: #171717;
}

/* ---------- Typografi ---------- */

body,
button,
input,
select,
textarea {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto,
		"Helvetica Neue", Arial, sans-serif;
	color: var(--isoshop-graa-700);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--isoshop-graa-900);
	font-weight: 600;
	letter-spacing: -0.01em;
}

.site-content {
	padding-top: 2.5em;
}

/* ---------- Header ---------- */

.site-header {
	background-color: #fff;
	border-bottom: 1px solid var(--isoshop-graa-200);
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}

.site-header .site-branding .site-title a,
.site-header .site-branding .site-description {
	color: var(--isoshop-brand-mork);
}

.storefront-primary-navigation {
	background-color: #fff;
}

.main-navigation ul li a,
.site-header-cart .cart-contents {
	color: var(--isoshop-graa-700);
	font-weight: 500;
}

.main-navigation ul li:hover > a,
.main-navigation ul li.current-menu-item > a,
.site-header-cart .cart-contents:hover {
	color: var(--isoshop-brand);
}

.site-header-cart .count {
	color: var(--isoshop-graa-500);
}

/* ---------- Knapper ---------- */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.widget a.button {
	background-color: var(--isoshop-brand);
	color: #fff;
	font-weight: 500;
	border-radius: 6px;
	min-height: 44px;
	padding: 0.7em 1.4em;
	transition: background-color 0.15s ease;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.widget a.button:hover {
	background-color: var(--isoshop-brand-mork);
	color: #fff;
}

button.alt,
.button.alt,
.woocommerce-message .button,
.single_add_to_cart_button {
	background-color: var(--isoshop-accent);
	color: #fff;
}

button.alt:hover,
.button.alt:hover,
.woocommerce-message .button:hover,
.single_add_to_cart_button:hover {
	background-color: var(--isoshop-accent-mork);
	color: #fff;
}

/* Synlig tastaturfokus (WCAG 2.1 AA) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.button:focus-visible {
	outline: 2px solid var(--isoshop-brand);
	outline-offset: 2px;
}

/* ---------- Produktkort ---------- */

ul.products li.product {
	padding: 0;
	border: 1px solid var(--isoshop-graa-200);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow 0.2s ease;
}

ul.products li.product:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
}

ul.products li.product img {
	margin-bottom: 0;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: var(--isoshop-graa-100);
	padding: 1rem;
	transition: transform 0.2s ease;
}

ul.products li.product:hover img {
	transform: scale(1.03);
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .isoshop-kort-specs,
ul.products li.product .price,
ul.products li.product .button,
ul.products li.product .star-rating {
	margin-left: 1rem;
	margin-right: 1rem;
}

ul.products li.product .woocommerce-loop-product__title {
	margin-top: 0.875rem;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--isoshop-graa-900);
}

ul.products li.product .price {
	color: var(--isoshop-graa-900);
	font-weight: 600;
	font-size: 1.0625rem;
}

ul.products li.product .price del {
	color: var(--isoshop-graa-500);
	font-weight: 400;
}

ul.products li.product .button {
	display: block;
	margin-bottom: 1rem;
	text-align: center;
}

ul.products li.product .onsale {
	background-color: var(--isoshop-accent);
	border-radius: 999px;
	min-height: auto;
	line-height: 1;
	padding: 0.4em 0.8em;
	font-size: 0.75rem;
}

/* ---------- Produktside ---------- */

.single-product div.product .product_title {
	font-size: 1.75rem;
	margin-bottom: 0.35em;
}

.single-product div.product .price {
	color: var(--isoshop-graa-900);
	font-weight: 600;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--isoshop-brand);
}

.woocommerce-breadcrumb {
	font-size: 0.8125rem;
	color: var(--isoshop-graa-500);
}

.woocommerce-breadcrumb a {
	color: var(--isoshop-graa-500);
}

.woocommerce-breadcrumb a:hover {
	color: var(--isoshop-brand);
}

/* ---------- Beskeder ---------- */

.woocommerce-message,
.woocommerce-info {
	background-color: var(--isoshop-brand-lys);
	color: var(--isoshop-brand-mork);
	border-top-color: var(--isoshop-brand);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--isoshop-brand);
}

.woocommerce-error {
	border-top-color: #b91c1c;
}

/* ---------- Kurv og checkout ---------- */

.woocommerce-cart table.cart th,
.woocommerce-checkout .shop_table th {
	color: var(--isoshop-graa-500);
	font-weight: 500;
}

.cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-size: 1.125rem;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	min-height: 44px;
	border-radius: 6px;
	border: 1px solid var(--isoshop-graa-200);
	padding: 0.6em 0.75em;
}

.woocommerce-checkout .form-row label {
	font-weight: 500;
	color: var(--isoshop-graa-700);
}

/* ---------- Footer ---------- */

.site-footer {
	background-color: var(--isoshop-graa-100);
	color: var(--isoshop-graa-700);
	padding-top: 3em;
}

.site-footer a:not(.button) {
	color: var(--isoshop-brand-mork);
}

.site-footer h1,
.site-footer h2,
.site-footer h3 {
	color: var(--isoshop-graa-900);
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
	.single-product div.product .product_title {
		font-size: 1.375rem;
	}

	ul.products li.product .button {
		min-height: 44px;
	}
}
