/**
 * Gidroelka Shop — HANSA-FLEX design tokens (shop.hansa-flex.de)
 */

:root {
	--hf-red: #d7102d;
	--hf-blue: #30557d;
	--hf-text: #333333;
	--hf-text-muted: #8da3b5;
	--hf-bg: #f8f8f8;
	--hf-white: #ffffff;
	--hf-footer-bg: #eaeef2;
	--hf-border: #d9dde2;

	--font-body: 'Roboto', sans-serif;
	--font-heading: 'Outfit', sans-serif;

	--fs-body: 17.9425px;
	--lh-body: 31.3994px;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-bold: 700;

	--fs-h1-hero: 54.7562px;
	--lh-h1-hero: 71.77px;
	--ls-h1-hero: 1.3689px;

	--fs-h2: 35.0439px;
	--lh-h2: 49.3419px;
	--ls-h2: 0.876099px;

	--fs-h2-product: 26.9333px;
	--lh-h2-product: 35px;
	--ls-h2-product: 1.34667px;

	--fs-h1-product: 33.6667px;
	--ls-h1-product: 1.68333px;

	--fs-small: 11.4832px;
	--lh-small: 11.4832px;

	--space-xs: 8.97125px;
	--space-sm: 13.4569px;
	--space-md: 17.9425px;
	--space-lg: 26.9137px;
	--space-xl: 35.885px;
	--space-2xl: 44.8562px;

	--container-max: 1315.89px;
	--container-padding: 17.9425px;
	--grid-gap: 26.9137px;
	--intro-max: 776px;

	--header-height: 100px;
	--btn-radius: 3px;
	--btn-padding: 13.4569px 35.885px;
	--btn-min-height: 44.8562px;
	--category-card-height: 287px;
	--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
	--transition: 0.2s ease;
}

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

html {
	scroll-behavior: smooth;
	background: var(--hf-bg);
}

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	color: var(--hf-text);
	background: var(--hf-bg);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--hf-blue);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover {
	color: var(--hf-red);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.container {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

.site-main {
	padding-bottom: var(--space-2xl);
}

.home-main {
	padding-bottom: 0;
}

/* Buttons — HANSA-FLEX .c-btn */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	padding: var(--btn-padding);
	min-height: var(--btn-min-height);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	text-transform: none;
	letter-spacing: normal;
	border: 0 none transparent;
	border-radius: var(--btn-radius);
	cursor: pointer;
	transition: background var(--transition), color var(--transition), box-shadow var(--transition);
	box-shadow: rgba(0, 0, 0, 0) 0 0 0 1px inset;
}

.btn--primary {
	background: var(--hf-red);
	color: var(--hf-white);
}

.btn--primary:hover {
	background: #b80d24;
	color: var(--hf-white);
}

.btn--outline {
	background: var(--hf-white);
	color: var(--hf-blue);
	box-shadow: var(--hf-blue) 0 0 0 1px inset;
}

.btn--outline:hover {
	background: var(--hf-white);
	color: var(--hf-red);
	box-shadow: var(--hf-red) 0 0 0 1px inset;
}

.btn--block {
	width: 100%;
}

.btn--sm {
	padding: var(--space-sm) var(--space-lg);
	min-height: var(--btn-min-height);
	font-size: var(--fs-body);
}

.btn--link {
	background: none;
	border: none;
	color: var(--hf-red);
	padding: 0;
	min-height: auto;
	box-shadow: none;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--hf-white);
	box-shadow: none;
}

.site-header__top {
	background: var(--hf-bg);
	border-bottom: none;
	font-size: var(--fs-small);
	line-height: var(--lh-small);
}

.site-header__top-inner {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: auto;
	padding: var(--space-sm) 0;
}

.site-header__top-left {
	display: none;
}

.site-header__top-link,
.site-header__lang {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: none;
	border: none;
	font: inherit;
	font-size: var(--fs-small);
	line-height: var(--lh-small);
	color: var(--hf-blue);
	cursor: pointer;
	padding: 0;
}

.site-header__top-link:hover,
.site-header__lang:hover {
	color: var(--hf-red);
}

.site-header__top-right {
	display: flex;
	gap: var(--space-lg);
	align-items: center;
}

.site-header__lang-flag {
	display: none;
}

.site-header__main-inner {
	display: flex;
	align-items: center;
	gap: var(--space-lg);
	height: var(--header-height);
}

.site-header__menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 8px;
	background: none;
	border: none;
	cursor: pointer;
}

.site-header__menu-toggle span {
	display: block;
	height: 2px;
	background: var(--hf-blue);
}

.site-header__logo-text {
	display: flex;
	align-items: center;
	line-height: 1;
	font-family: var(--font-heading);
	font-weight: var(--fw-bold);
	font-size: 28px;
}

.site-header__logo-hansa {
	color: var(--hf-red);
}

.site-header__logo-slash {
	color: var(--hf-red);
	margin: 0 2px;
}

.site-header__logo-flex {
	color: var(--hf-text);
}

.site-header__search-wrap {
	flex: 1;
	max-width: none;
}

.site-header__search {
	display: flex;
	align-items: center;
	border: none;
	background: transparent;
}

.site-header__search-cat {
	display: none;
}

.site-header__search-input {
	flex: 1;
	border: none;
	padding: var(--space-sm) var(--space-md);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	font-style: italic;
	min-width: 0;
	background: transparent;
	color: var(--hf-text);
}

.site-header__search-input::placeholder {
	color: var(--hf-text-muted);
}

.site-header__search-input:focus {
	outline: none;
}

.site-header__search-btn {
	border: none;
	background: transparent;
	color: var(--hf-text);
	padding: 0 var(--space-md);
	cursor: pointer;
	min-height: var(--btn-min-height);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-md);
}

.site-header__action {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	background: none;
	border: none;
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	color: var(--hf-blue);
	cursor: pointer;
	padding: var(--space-sm);
}

.site-header__action:hover {
	color: var(--hf-red);
}

.site-header__nav {
	background: var(--hf-bg);
	border-top: none;
	position: relative;
}

.site-header__nav-inner {
	position: relative;
}

.site-header__nav-list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

.site-header__nav-item {
	position: relative;
}

.site-header__nav-link {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: var(--space-sm) var(--space-md);
	color: var(--hf-blue);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: none;
	min-height: var(--btn-min-height);
}

.site-header__nav-link:hover,
.site-header__nav-trigger[aria-expanded="true"] {
	color: var(--hf-red);
	background: transparent;
}

.site-header__nav-trigger .hf-icon {
	margin-left: 0.35rem;
}

/* Mega menu */
.mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	background: var(--hf-white);
	border-top: 3px solid var(--hf-red);
	box-shadow: var(--shadow-card);
	z-index: 999;
}

.mega-menu[hidden] {
	display: none;
}

.mega-menu__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4px;
	padding: var(--space-lg) 0;
}

.mega-menu__item {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	padding: var(--space-md);
	color: var(--hf-blue);
	transition: background var(--transition);
}

.mega-menu__item:hover {
	background: var(--hf-bg);
	color: var(--hf-red);
}

.mega-menu__icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mega-menu__thumb {
	width: 40px;
	height: 40px;
	object-fit: cover;
	display: block;
}

.mega-menu__name {
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
}

/* Hero slider */
.hero-slider {
	position: relative;
	background: var(--hf-bg);
}

.hero-slider__track {
	position: relative;
}

.hero-slide {
	display: none;
	position: relative;
	min-height: 480px;
	background-color: #6b7d8f;
	color: var(--hf-white);
	overflow: hidden;
}

.hero-slide.is-active {
	display: block;
}

.hero-slide__media {
	position: absolute;
	inset: 0;
}

.hero-slide__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(48, 85, 125, 0.72), rgba(26, 45, 66, 0.45));
}

.hero-slide--havarie .hero-slide__media::after {
	background: linear-gradient(135deg, rgba(48, 85, 125, 0.45), rgba(48, 85, 125, 0.2));
}

.hero-slide__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero-slide__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: 480px;
	padding: var(--space-2xl) 0;
}

.hero-slide__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h1-hero);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h1-hero);
	letter-spacing: var(--ls-h1-hero);
	text-transform: uppercase;
	color: var(--hf-white);
	margin: 0 0 var(--space-md);
	max-width: 700px;
}

.hero-slide__subtitle {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	margin: 0 0 var(--space-lg);
	max-width: 560px;
	color: var(--hf-white);
}

.hero-slide__cta {
	margin-top: var(--space-sm);
}

.hero-slider__tabs {
	display: flex;
	background: rgba(0, 0, 0, 0.55);
}

.hero-slider__tab {
	flex: 1;
	padding: var(--space-md) var(--space-lg);
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	color: var(--hf-white);
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	text-transform: uppercase;
	cursor: pointer;
	text-align: center;
	transition: border-color var(--transition), color var(--transition);
}

.hero-slider__tab.is-active {
	border-bottom-color: var(--hf-red);
	color: var(--hf-white);
}

.hero-slider__tab:hover {
	color: var(--hf-white);
}

/* Sections */
.section {
	padding: var(--space-2xl) 0;
}

.section--categories,
.section--services,
.section--spotlight,
.section--welcome {
	background: var(--hf-bg);
}

.section--benefits {
	background: var(--hf-bg);
	padding: var(--space-2xl) 0;
}

.section--order-banner {
	padding: var(--space-2xl) var(--container-padding);
	background: var(--hf-bg);
	text-align: center;
}

.section__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h2);
	letter-spacing: var(--ls-h2);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0 0 var(--space-md);
	text-align: center;
}

.section__title--sm {
	font-size: var(--fs-h2);
	line-height: var(--lh-h2);
}

.section__subtitle {
	color: var(--hf-text);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	margin: 0 auto var(--space-2xl);
	max-width: var(--intro-max);
	text-align: center;
}

.section__actions {
	text-align: center;
	margin-top: var(--space-lg);
}

.section--order-banner .section__title,
.section--order-banner .section__subtitle {
	max-width: var(--intro-max);
	margin-left: auto;
	margin-right: auto;
}

/* Category grid — .c-card */
.category-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--grid-gap);
}

.category-card {
	display: flex;
	flex-direction: column;
	background: var(--hf-white);
	box-shadow: var(--shadow-card);
	transition: transform var(--transition);
}

.category-card:hover {
	transform: translateY(-2px);
}

.category-card--hidden {
	display: none;
}

.category-card.category-card--visible {
	display: flex;
}

.category-card__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	text-decoration: none;
}

.category-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-card[data-media-focus-point="top-center"] .category-card__image img {
	object-position: top center;
}

.category-card__body {
	flex-grow: 1;
	padding: var(--space-lg) var(--space-lg) 0;
	display: flex;
	flex-direction: column;
}

.category-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	line-height: var(--lh-body);
	color: var(--hf-blue);
	margin: 0 0 var(--space-md);
}

.category-card__title a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.category-card__title a:hover {
	color: var(--hf-red);
}

.category-card__count {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	color: var(--hf-text);
	margin: 0;
	margin-top: auto;
	padding-bottom: var(--space-lg);
}

/* Services */
.services-slider {
	position: relative;
}

.services-slider__track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--grid-gap);
}

.service-card {
	padding: var(--space-lg) var(--space-lg) 0;
	min-height: var(--category-card-height);
	background: var(--hf-blue);
	color: var(--hf-white);
	box-shadow: var(--shadow-card);
	border-left: none;
}

.service-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	line-height: var(--lh-body);
	color: var(--hf-white);
	margin: 0 0 var(--space-sm);
}

.service-card__text {
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
}

.services-slider__prev,
.services-slider__next {
	display: none;
}

/* Benefits */
.benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--grid-gap);
}

.benefit-card {
	text-align: center;
	padding: var(--space-2xl) var(--space-lg) 0;
}

.benefit-card__icon {
	display: flex;
	justify-content: center;
	margin-bottom: var(--space-lg);
}

.benefit-card__title {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	line-height: var(--lh-body);
	color: var(--hf-blue);
	margin: 0 0 var(--space-xs);
}

.benefit-card__text {
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	color: var(--hf-text);
	margin: 0;
}

/* Spotlight */
.spotlight-intro {
	margin: 0 auto var(--space-2xl);
	max-width: var(--intro-max);
	text-align: center;
}

.spotlight-intro__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h2);
	letter-spacing: var(--ls-h2);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0 0 var(--space-md);
}

.spotlight-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--grid-gap);
}

.spotlight-card-wrap {
	display: flex;
	flex-direction: column;
}

.spotlight-card {
	display: block;
	background: var(--hf-white);
	border: 1px solid var(--hf-border);
	color: var(--hf-text);
	transition: box-shadow var(--transition);
}

.spotlight-card:hover {
	box-shadow: var(--shadow-card);
	color: var(--hf-text);
}

.spotlight-card__image {
	aspect-ratio: 4/3;
	background: var(--hf-bg);
	overflow: hidden;
}

.spotlight-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #eaeef2, #d9dde2);
}

.spotlight-card__body {
	padding: var(--space-md);
}

.spotlight-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 4px;
}

.spotlight-card__subtitle {
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	color: var(--hf-text);
	margin: 0 0 var(--space-sm);
}

.spotlight-card__variants {
	font-size: var(--fs-body);
	color: var(--hf-red);
	font-weight: var(--fw-light);
}

.spotlight-card__order {
	margin: 0 var(--space-md) var(--space-md);
	align-self: flex-start;
}

/* Welcome */
.welcome-text {
	max-width: var(--intro-max);
	margin: 0 auto;
	color: var(--hf-text);
	font-weight: var(--fw-light);
	line-height: var(--lh-body);
	text-align: center;
}

.welcome-text p {
	margin: 0 0 var(--space-md);
}

/* Footer */
.site-footer {
	background: var(--hf-footer-bg);
	color: var(--hf-blue);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--space-2xl);
	padding: var(--space-2xl) 0;
}

.site-footer__title {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	color: var(--hf-blue);
	margin: 0 0 var(--space-sm);
	text-transform: none;
	letter-spacing: normal;
}

.site-footer__list,
.site-footer__social,
.site-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__list li,
.site-footer__social li {
	margin-bottom: var(--space-xs);
}

.site-footer a {
	color: var(--hf-blue);
}

.site-footer a:hover {
	color: var(--hf-red);
}

.site-footer__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
}

.site-footer__badge {
	padding: var(--space-xs) var(--space-sm);
	background: rgba(48, 85, 125, 0.08);
	font-size: var(--fs-small);
	color: var(--hf-blue);
}

.site-footer__bottom {
	border-top: 1px solid var(--hf-border);
	padding: var(--space-lg) 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md) var(--space-lg);
}

/* Breadcrumbs */
.breadcrumbs {
	margin: var(--space-lg) 0;
	font-size: var(--fs-body);
}

.breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 4px;
}

.breadcrumbs__item:not(:last-child)::after {
	content: '/';
	margin-left: var(--space-sm);
	color: var(--hf-text-muted);
}

.breadcrumbs a {
	color: var(--hf-red);
	font-weight: var(--fw-regular);
}

.breadcrumbs a:hover {
	color: var(--hf-blue);
}

/* Category page */
.category-header {
	margin-bottom: var(--space-2xl);
}

.category-header__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h1-product);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h2-product);
	letter-spacing: var(--ls-h1-product);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0 0 var(--space-xs);
}

.category-header__count {
	color: var(--hf-text-muted);
	font-weight: var(--fw-light);
	margin: 0;
}

.subcategory-section {
	margin-bottom: var(--space-2xl);
}

.subcategory-section__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 var(--space-md);
}

.subcategory-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--grid-gap);
	margin-bottom: var(--space-md);
}

.subcategory-card {
	padding: var(--space-lg);
	border: 1px solid var(--hf-border);
	background: var(--hf-white);
	color: var(--hf-blue);
	transition: border-color var(--transition), color var(--transition);
}

.subcategory-card:hover {
	border-color: var(--hf-blue);
	color: var(--hf-red);
}

.subcategory-card--hidden {
	display: none;
}

.subcategory-card.subcategory-card--visible {
	display: block;
}

.subcategory-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	margin: 0;
}

.category-products__header {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	margin-bottom: var(--space-lg);
}

.category-products__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2-product);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-h2-product);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0;
}

.category-products__count {
	color: var(--hf-text-muted);
	font-size: var(--fs-body);
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--grid-gap);
}

.product-card {
	border: 1px solid var(--hf-border);
	background: var(--hf-white);
	transition: box-shadow var(--transition);
	display: flex;
	flex-direction: column;
}

.product-card:hover {
	box-shadow: var(--shadow-card);
}

.product-card__link {
	display: block;
	color: var(--hf-text);
}

.product-card__image {
	aspect-ratio: 16/10;
	background: var(--hf-bg);
	overflow: hidden;
}

.product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product-card__placeholder {
	width: 100%;
	height: 100%;
	min-height: 120px;
	background: linear-gradient(135deg, #eaeef2, #d9dde2);
}

.product-card__body {
	padding: var(--space-md);
}

.product-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 4px;
}

.product-card__variants {
	font-size: var(--fs-body);
	color: var(--hf-red);
	font-weight: var(--fw-light);
	margin: 0 0 var(--space-sm);
}

.product-card__attrs {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	color: var(--hf-text-muted);
}

.product-card__attrs li {
	margin-bottom: 4px;
}

.product-card__order {
	margin: 0 var(--space-md) var(--space-md);
	align-self: flex-start;
}

/* Product page */
.product-detail {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-2xl);
	margin-bottom: var(--space-2xl);
	padding-bottom: var(--space-2xl);
	border-bottom: 1px solid var(--hf-border);
}

.product-gallery__placeholder {
	aspect-ratio: 1;
	background: var(--hf-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hf-text-muted);
	font-size: var(--fs-body);
}

.product-quick-props {
	margin-top: var(--space-lg);
}

.product-quick-prop {
	margin-bottom: var(--space-md);
}

.product-quick-prop__label {
	display: block;
	font-size: var(--fs-small);
	font-weight: var(--fw-bold);
	text-transform: uppercase;
	color: var(--hf-blue);
}

.product-quick-prop__value {
	font-weight: var(--fw-light);
	color: var(--hf-text);
}

.product-pdf-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--space-md);
	font-size: var(--fs-body);
	color: var(--hf-red);
}

.product-detail__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h1-product);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h2-product);
	letter-spacing: var(--ls-h1-product);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0 0 var(--space-sm);
}

.product-detail__subtitle {
	font-size: 17.2373px;
	font-weight: var(--fw-light);
	color: var(--hf-text-muted);
	margin: 0 0 var(--space-lg);
	padding: var(--space-sm) 0;
}

.product-variant-select__title {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 var(--space-md);
}

.product-variant-select__dropdown {
	width: 100%;
	padding: var(--space-md);
	border: 1px solid var(--hf-border);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	margin-bottom: var(--space-md);
	background: var(--hf-white);
	color: var(--hf-text);
}

.product-purchase-box {
	margin-top: var(--space-lg);
	padding: var(--space-lg);
	background: var(--hf-bg);
	border: 1px solid var(--hf-border);
}

.product-purchase-box .product-order-btn {
	margin-bottom: var(--space-md);
}

.product-support {
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	margin: var(--space-md) 0 0;
	color: var(--hf-text);
}

.product-support a {
	color: var(--hf-red);
}

.product-section__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2-product);
	font-weight: var(--fw-medium);
	line-height: var(--lh-h2-product);
	letter-spacing: var(--ls-h2-product);
	text-transform: uppercase;
	color: var(--hf-blue);
	margin: 0 0 var(--space-lg);
}

.properties-list__row {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--space-md);
	padding: var(--space-md) 0;
	border-bottom: 1px solid var(--hf-border);
}

.properties-list__row dt {
	font-weight: var(--fw-bold);
	color: var(--hf-blue);
}

.properties-list__row dd {
	margin: 0;
	font-weight: var(--fw-light);
}

.properties-list__row dd ul {
	margin: 0;
	padding-left: var(--space-md);
}

.product-variants__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-md);
	margin-bottom: var(--space-lg);
}

.product-variants__count {
	color: var(--hf-text-muted);
}

.product-variants__search input {
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--hf-border);
	min-width: 200px;
	font-family: var(--font-body);
	font-size: var(--fs-body);
}

.variants-table-wrap {
	overflow-x: auto;
}

.variants-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
}

.variants-table th,
.variants-table td {
	padding: var(--space-md) var(--space-sm);
	border-bottom: 1px solid var(--hf-border);
	text-align: left;
}

.variants-table th {
	background: var(--hf-bg);
	font-family: var(--font-body);
	font-weight: var(--fw-bold);
	font-size: var(--fs-small);
	text-transform: uppercase;
	color: var(--hf-blue);
}

.variants-table__row--hidden {
	display: none;
}

.variants-table__row.variants-table__row--visible {
	display: table-row;
}

.variants-table__note {
	font-size: var(--fs-small);
	color: var(--hf-text-muted);
	margin-top: var(--space-md);
}

.product-related {
	margin-top: var(--space-2xl);
}

.product-related__subtitle {
	font-family: var(--font-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 var(--space-lg);
}

/* Modals */
.modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-lg);
}

.modal[hidden] {
	display: none;
}

.modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.modal__dialog {
	position: relative;
	background: var(--hf-white);
	width: 100%;
	max-width: 440px;
	padding: var(--space-2xl);
	box-shadow: var(--shadow-card);
	max-height: 90vh;
	overflow-y: auto;
	border-top: 3px solid var(--hf-red);
}

.modal__dialog--wide {
	max-width: 640px;
}

.modal__close {
	position: absolute;
	top: var(--space-md);
	right: var(--space-md);
	background: none;
	border: none;
	font-size: var(--fs-small);
	cursor: pointer;
	color: var(--hf-text-muted);
}

.modal__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2-product);
	font-weight: var(--fw-medium);
	color: var(--hf-blue);
	margin: 0 0 var(--space-lg);
}

.modal__form label {
	display: block;
	margin-bottom: var(--space-md);
}

.modal__form label span {
	display: block;
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	color: var(--hf-blue);
	margin-bottom: 4px;
}

.modal__form input {
	width: 100%;
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--hf-border);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
}

.modal__link {
	background: none;
	border: none;
	color: var(--hf-red);
	cursor: pointer;
	font-size: var(--fs-body);
	margin-bottom: var(--space-md);
}

.modal__footer {
	margin-top: var(--space-lg);
	padding-top: var(--space-lg);
	border-top: 1px solid var(--hf-border);
}

.modal__footer ul {
	margin: var(--space-md) 0;
	padding-left: var(--space-lg);
	font-weight: var(--fw-light);
}

.modal__phone {
	font-size: var(--fs-h2-product);
	font-weight: var(--fw-bold);
	color: var(--hf-blue);
}

.modal__phone a {
	color: var(--hf-red);
}

.modal__help-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-lg);
}

.modal__product-name {
	font-weight: var(--fw-bold);
	margin: 0 0 var(--space-lg);
	color: var(--hf-blue);
}

.order-form__message {
	padding: var(--space-md);
	margin-bottom: var(--space-md);
	font-size: var(--fs-body);
	border-radius: var(--btn-radius);
}

.order-form__message--success {
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
}

.order-form__message--error {
	background: #ffebee;
	color: #c62828;
	border: 1px solid #ef9a9a;
}

/* Mobile nav */
.mobile-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 320px;
	max-width: 90vw;
	height: 100vh;
	background: var(--hf-white);
	z-index: 1500;
	box-shadow: var(--shadow-card);
}

.mobile-nav[hidden],
.mobile-nav-overlay[hidden] {
	display: none;
}

.mobile-nav-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1400;
}

.mobile-nav__header {
	display: flex;
	justify-content: space-between;
	padding: var(--space-md);
	border-bottom: 1px solid var(--hf-border);
}

.mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav__list button,
.mobile-nav__list a {
	display: block;
	width: 100%;
	padding: var(--space-md) var(--space-lg);
	text-align: left;
	background: none;
	border: none;
	border-bottom: 1px solid var(--hf-border);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-light);
	color: var(--hf-blue);
	cursor: pointer;
	text-decoration: none;
}

/* Back to top */
.back-to-top {
	position: fixed;
	bottom: var(--space-lg);
	right: var(--space-lg);
	width: 54px;
	height: 54px;
	background: var(--hf-blue);
	color: var(--hf-red);
	border: none;
	border-radius: 0;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition), visibility var(--transition);
	z-index: 900;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
}

/* Pagination */
.pagination {
	margin-top: var(--space-2xl);
	text-align: center;
}

.pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.pagination a,
.pagination span {
	display: block;
	padding: var(--space-sm) 14px;
	border: 1px solid var(--hf-border);
	color: var(--hf-blue);
}

.pagination .current {
	background: var(--hf-red);
	color: var(--hf-white);
	border-color: var(--hf-red);
}

.content-page {
	padding-top: var(--space-2xl);
}

.content-page__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h2);
	color: var(--hf-blue);
	text-transform: uppercase;
	letter-spacing: var(--ls-h2);
}

/* Responsive */
@media (max-width: 1024px) {
	.mega-menu__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.category-grid,
	.services-slider__track {
		grid-template-columns: repeat(2, 1fr);
	}

	.benefits-grid,
	.spotlight-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.site-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.subcategory-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.site-header__menu-toggle {
		display: flex;
	}

	.site-header__search-wrap {
		order: 3;
		flex: 1;
		max-width: none;
		width: 100%;
	}

	.site-header__main-inner {
		flex-wrap: wrap;
		height: auto;
		padding: var(--space-md) 0;
	}

	.site-header__nav {
		display: none;
	}

	.site-header__action span {
		display: none;
	}

	.category-grid,
	.benefits-grid,
	.spotlight-grid,
	.subcategory-grid,
	.products-grid,
	.services-slider__track {
		grid-template-columns: 1fr;
	}

	.product-detail {
		grid-template-columns: 1fr;
	}

	.properties-list__row {
		grid-template-columns: 1fr;
	}

	.modal__help-grid {
		grid-template-columns: 1fr;
	}

	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.hero-slider__tabs {
		flex-direction: column;
	}

	.hero-slide__title {
		font-size: 32px;
		line-height: 1.2;
	}

	.variants-table thead {
		display: none;
	}

	.variants-table tr {
		display: block;
		margin-bottom: var(--space-md);
		border: 1px solid var(--hf-border);
		padding: var(--space-md);
	}

	.variants-table td {
		display: block;
		border: none;
		padding: 4px 0;
	}

	.variants-table td::before {
		content: attr(data-label) ': ';
		font-weight: var(--fw-bold);
		color: var(--hf-blue);
	}
}

@media (max-width: 480px) {
	.hero-slide__inner {
		min-height: 360px;
		padding: var(--space-2xl) 0;
	}
}
