/*
 * Sin-talento layout details.
 * Colours, fonts and sizes live in theme.json (editable under Appearance → Editor → Styles).
 */

/* ---------- Header ---------- */
.st-header {
	padding: clamp(0.75rem, 1.6vw, 1.25rem) var(--wp--preset--spacing--40);
	gap: 1.5rem;
	position: relative;
	z-index: 5;
}
.st-header .wp-block-site-logo img {
	height: auto;
	max-width: clamp(110px, 14vw, 180px);
}
.st-nav .wp-block-navigation-item__content {
	padding: 0;
	line-height: 1.1;
}
.st-nav .current-menu-item > .wp-block-navigation-item__content,
.st-nav .wp-block-navigation-item__content[aria-current="page"] {
	font-weight: 700;
}
.st-nav .wp-block-navigation-item__content:hover {
	text-decoration: none;
	font-weight: 700;
}

/* ---------- Main ---------- */
.st-main {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--60);
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}
.st-main--home {
	padding-top: 0;
}

/* ---------- Start page: big image with the logo on top ---------- */
.st-hero {
	position: relative;
	width: min(72vw, 1180px);
	margin: clamp(1rem, 3vw, 3rem) auto 0;
}
.st-hero .st-hero__image,
.st-hero .st-hero__image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.st-hero .st-hero__logo {
	position: absolute;
	z-index: 2;
	left: -19%;
	top: 0;
	width: 84%;
	transform: translateY(-17%);
	pointer-events: none;
}
.st-hero .st-hero__logo img {
	width: 100% !important;
	height: auto !important;
	max-width: none;
}
@media (max-width: 781px) {
	.st-hero {
		width: 100%;
		margin-top: 0;
	}
	.st-hero .st-hero__logo {
		position: relative;
		left: 0;
		width: 92%;
		transform: none;
		margin: 0 0 1rem;
	}
}

/* ---------- Projects ---------- */
.st-projects__columns {
	gap: clamp(1.5rem, 3vw, 3rem);
}
.st-project-list .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}
.st-project-list .wp-block-post-template > li {
	margin: 0;
}
.st-project-list .wp-block-post-title {
	margin: 0;
	font-weight: 300;
	line-height: 1.27;
}
.st-project-list .wp-block-post-title a:hover {
	text-decoration: none;
	font-weight: 700;
}
.st-project-list .wp-block-post-title.is-current-project {
	font-weight: 700;
}
.st-project-detail {
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
.st-project-detail .wp-block-post-featured-image {
	margin: 0;
}
.st-project-text .wp-block-post-content > * + * {
	margin-top: 0.8em;
}
.st-project-text .st-contact-link {
	margin-top: 1.4rem;
}
@media (min-width: 782px) {
	.st-projects__list {
		padding-top: clamp(2rem, 6vw, 5.5rem);
	}
}
@media (max-width: 781px) {
	.st-project-list .wp-block-post-template {
		display: flex;
		flex-wrap: wrap;
		gap: 0.15rem 0.9rem;
	}
	.st-project-list .wp-block-post-title {
		font-size: var(--wp--preset--font-size--medium) !important;
	}
}

/* ---------- Centered text pages (Kontakt, Om oss) ---------- */
.st-centered {
	min-height: calc(100vh - 260px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.st-about > * + * {
	margin-top: 1.25em !important;
}

/* ---------- Shop ---------- */
.st-shop .st-product-grid .wc-block-product-template {
	column-gap: clamp(1rem, 3.2vw, 3rem);
	row-gap: clamp(2rem, 5vw, 4rem);
}
.st-product-grid .wc-block-product {
	text-align: left;
}
.st-product-grid .wc-block-components-product-image,
.st-product-grid .wc-block-components-product-image a {
	margin: 0 !important;
	display: block;
}
.st-product-grid .wc-block-components-product-image img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	height: auto;
}
.st-product-meta {
	margin-top: 0.4rem !important;
	gap: 1rem;
	padding: 0 0.25rem;
}
.st-product-meta .st-product-title {
	margin: 0;
	font-weight: 300;
	font-size: var(--wp--preset--font-size--medium) !important;
	line-height: 1.3;
}
.st-product-price,
.st-product-price .amount {
	font-weight: 700;
	font-style: italic;
	white-space: nowrap;
	margin: 0 !important;
}
.st-product-price del {
	font-weight: 300;
	opacity: 0.6;
}
.st-product-price ins {
	text-decoration: none;
}

/* Single product */
.st-product__columns {
	gap: clamp(1.5rem, 4vw, 4rem);
}
.st-product__summary > * + * {
	margin-top: 1.25rem;
}
.st-product__summary .wp-block-post-title {
	margin-bottom: 0;
}
.st-product .quantity input.qty {
	font: inherit;
	font-style: normal;
	padding: 0.7em 0.5em;
	border: 1px solid currentColor;
	border-radius: 0;
	width: 4em;
}
.st-product .variations select {
	font: inherit;
	padding: 0.5em;
	border: 1px solid currentColor;
	border-radius: 0;
}

/* WooCommerce notices and forms follow the black/white look */
.wc-block-components-button:not(.is-link),
.woocommerce .button,
.woocommerce button.button {
	border-radius: 0 !important;
	font-style: italic;
	font-weight: 700;
}

/* ---------- Footer ---------- */
.st-footer {
	padding: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--muted);
	gap: 0.5rem 2rem;
}
.st-footer a:hover {
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 600px) {
	.st-nav {
		font-size: var(--wp--preset--font-size--medium) !important;
	}
}

/* ---------- Project gallery ---------- */
.st-gallery {
	position: relative;
	outline: none;
}
.st-gallery__slide {
	margin: 0;
}
.st-gallery__slide[hidden] {
	display: none;
}
.st-gallery__slide img {
	display: block;
	width: 100%;
	height: auto;
}
.st-gallery.has-multiple .st-gallery__slides {
	cursor: pointer;
	user-select: none;
}
.st-gallery__controls {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
}
.st-gallery__controls button {
	background: none;
	border: 0;
	padding: 0.2em 0.3em;
	font: inherit;
	font-size: var(--wp--preset--font-size--medium);
	color: inherit;
	cursor: pointer;
}
.st-gallery__controls button:hover,
.st-gallery__controls button:focus-visible {
	color: var(--wp--preset--color--accent);
}
.st-contact-link,
.st-contact-link a {
	font-weight: 700;
}
