/*
Theme Name: Sofia Detailing Standalone
Theme URI: https://sofiadetailing.com/
Description: Standalone WordPress and WooCommerce theme for Sofia Detailing Studio.
Author: Sofia Detailing Studio
Version: 0.1.10
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: sofia-detailing-standalone
*/

:root {
	--sd-color-background: #0b0d10;
	--sd-color-surface: #14171c;
	--sd-color-text: #f5f7fa;
	--sd-color-muted: #a8afb9;
	--sd-color-accent: #e2272f;
	--sd-shell: 1240px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--sd-color-background);
	color: var(--sd-color-text);
	font-family: Manrope, Arial, sans-serif;
	line-height: 1.6;
}

a {
	color: inherit;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.sd-shell {
	width: min(calc(100% - 40px), var(--sd-shell));
	margin-inline: auto;
}

.sd-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 10000;
	transform: translateY(-160%);
	padding: 10px 14px;
	background: #fff;
	color: #111;
}

.sd-skip-link:focus {
	transform: none;
}

.sd-site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid rgb(255 255 255 / 10%);
	background: rgb(11 13 16 / 96%);
}

.sd-header-inner {
	display: flex;
	min-height: 76px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.sd-site-brand {
	font-weight: 800;
	text-decoration: none;
}

.sd-site-brand-wrap,
.sd-site-brand-wrap .custom-logo-link {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sd-site-brand-wrap .custom-logo {
	width: 52px;
	height: 52px;
	object-fit: contain;
}

.sd-primary-menu,
.sd-footer-menu {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sd-primary-menu a,
.sd-footer-menu a {
	text-decoration: none;
}

.sd-menu-toggle {
	display: none;
	padding: 9px 12px;
	border: 1px solid rgb(255 255 255 / 20%);
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.sd-mobile-navigation {
	display: none;
	border-top: 1px solid rgb(255 255 255 / 10%);
}

.sd-mobile-navigation[hidden] {
	display: none;
}

.sd-mobile-navigation .sd-primary-menu {
	align-items: stretch;
	flex-direction: column;
	gap: 0;
	padding-block: 12px;
}

.sd-mobile-navigation a {
	display: block;
	padding: 10px 0;
}

.sd-site-main {
	min-height: 55vh;
	padding-block: 64px;
}

.sd-entry-list {
	display: grid;
	gap: 24px;
}

.sd-entry-card {
	padding: 28px;
	border: 1px solid rgb(255 255 255 / 10%);
	background: var(--sd-color-surface);
}

.sd-entry-title {
	margin-top: 0;
}

.sd-entry-title a {
	text-decoration: none;
}

.sd-page-header {
	margin-bottom: 32px;
}

.sd-page-header h1 {
	margin: 0;
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1.05;
}

.sd-archive-description,
.sd-entry-meta {
	color: var(--sd-color-muted);
}

.sd-content-with-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
	gap: 40px;
}

.sd-content-column,
.sd-entry-content,
.sd-entry-summary {
	min-width: 0;
}

.sd-entry-content > :first-child,
.sd-entry-summary > :first-child {
	margin-top: 0;
}

.sd-entry-content > :last-child,
.sd-entry-summary > :last-child {
	margin-bottom: 0;
}

.sd-featured-image,
.sd-attachment-image {
	margin: 24px 0;
}

.sd-sidebar,
.sd-comments {
	padding: 24px;
	border: 1px solid rgb(255 255 255 / 10%);
	background: var(--sd-color-surface);
}

.sd-widget + .sd-widget {
	margin-top: 28px;
}

.sd-widget-title {
	margin-top: 0;
}

.sd-comment-list {
	padding-left: 24px;
}

.sd-search-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
}

.sd-search-controls {
	display: flex;
	gap: 8px;
}

.sd-search-controls input {
	min-width: 0;
	flex: 1;
	padding: 10px 12px;
}

.sd-search-controls button,
.sd-button {
	display: inline-block;
	padding: 10px 16px;
	border: 0;
	background: var(--sd-color-accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.sd-error-page {
	max-width: 760px;
}

.sd-error-code {
	margin: 0;
	color: var(--sd-color-accent);
	font-size: clamp(4rem, 14vw, 9rem);
	font-weight: 800;
	line-height: 0.9;
}

.navigation.pagination,
.post-navigation {
	margin-top: 32px;
}

.woocommerce .products,
.woocommerce-page .products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce .sd-product-card {
	width: auto !important;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid rgb(255 255 255 / 10%);
	background: var(--sd-color-surface);
}

.woocommerce .sd-product-card a {
	text-decoration: none;
}

.woocommerce .sd-product-card .button {
	margin-top: 12px;
}

.sd-site-footer {
	padding-block: 36px;
	border-top: 1px solid rgb(255 255 255 / 10%);
	color: var(--sd-color-muted);
}

.sd-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

@media (max-width: 900px) {
	.sd-desktop-navigation {
		display: none;
	}

	.sd-menu-toggle,
	.sd-mobile-navigation:not([hidden]) {
		display: block;
	}

	.sd-footer-inner,
	.sd-footer-menu {
		align-items: flex-start;
		flex-direction: column;
	}

	.sd-content-with-sidebar {
		grid-template-columns: 1fr;
	}

	.woocommerce .products,
	.woocommerce-page .products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.sd-shell {
		width: min(calc(100% - 24px), var(--sd-shell));
	}

	.sd-site-main {
		padding-block: 40px;
	}

	.woocommerce .products,
	.woocommerce-page .products {
		grid-template-columns: 1fr;
	}
}
