/* Components */

/* Skip link */
.skip-link {
	position: absolute;
	top: var(--space-sm);
	inset-inline-start: var(--space-sm);
	z-index: var(--z-skip-link);
	padding: var(--space-sm) var(--space-md);
	background-color: var(--color-brand-900);
	color: var(--color-text-inverse);
	border-radius: var(--radius-sm);
	transform: translateY(-200%);
	transition: transform var(--transition-fast);
}

.skip-link:focus {
	transform: translateY(0);
}

/* Buttons */
.btn,
.button,
button[type="submit"],
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	padding: var(--space-sm) var(--space-lg);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	color: var(--color-button-primary-text);
	background-color: var(--color-button-primary-bg);
	border: 1px solid var(--color-button-primary-bg);
	border-radius: var(--radius-md);
	transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.btn:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background-color: var(--color-button-primary-bg-hover);
	border-color: var(--color-button-primary-bg-hover);
}

.btn--secondary {
	background-color: var(--color-brand-800);
	border-color: var(--color-brand-800);
	color: var(--color-text-inverse);
}

.btn--secondary:hover {
	background-color: var(--color-brand-700);
	border-color: var(--color-brand-700);
}

.btn--outline {
	background-color: transparent;
	color: var(--color-brand-900);
}

.btn--outline:hover {
	background-color: var(--color-brand-900);
	color: var(--color-text-inverse);
}

/* Cards */
.card {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

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

/* Forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
select,
textarea {
	width: 100%;
	padding: var(--space-sm) var(--space-md);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--color-accent-500);
	box-shadow: var(--shadow-focus);
}

label {
	display: block;
	margin-bottom: var(--space-2xs);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
}

/* Badges */
.badge {
	display: inline-flex;
	align-items: center;
	padding: var(--space-2xs) var(--space-sm);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	border-radius: var(--radius-full);
	background-color: var(--color-surface-muted);
	color: var(--color-text);
}

.badge--accent {
	background-color: var(--color-accent-500);
	color: var(--color-button-primary-text);
}

/* Breadcrumbs */
.breadcrumbs {
	margin-bottom: var(--space-lg);
}

.breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-xs);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

.breadcrumbs__item:not(:last-child)::after {
	content: "/";
	margin-left: var(--space-xs);
	color: var(--color-border);
}

.breadcrumbs__link {
	color: var(--color-link);
}

.breadcrumbs__link:hover {
	text-decoration: underline;
}

.breadcrumbs__current {
	color: var(--color-text);
}

/* Site header */
.site-header {
	position: relative;
	z-index: var(--z-header);
	background-color: var(--color-header-top-bg);
	box-shadow: var(--shadow-header);
}

/* --- Top utility bar --- */
.header-utility {
	background-color: var(--color-header-top-bg);
	color: var(--color-header-text);
	font-size: var(--font-size-xs);
	border-bottom: 1px solid var(--color-header-border);
}

.header-utility__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-xs) var(--space-md);
	padding-block: 0.375rem;
}

.header-utility__trust {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	margin: 0;
	font-weight: var(--font-weight-medium);
	line-height: 1.35;
	color: var(--color-header-text-subtle);
	letter-spacing: 0.01em;
}

.header-utility__trust-icon {
	flex-shrink: 0;
	color: var(--color-header-accent);
}

.header-utility__aside {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-sm);
}

.header-utility__social {
	display: flex;
	align-items: center;
}

.header-social-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.header-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--color-header-text-muted);
	text-decoration: none;
	border: 1px solid var(--color-header-border-strong);
	border-radius: var(--radius-full);
	background-color: transparent;
	transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);
}

.header-social-link:hover,
.header-social-link:focus-visible {
	color: var(--color-header-accent);
	border-color: var(--color-header-accent);
	background-color: var(--color-header-overlay);
	transform: translateY(-1px);
}

.header-social-link__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.header-social-link__icon svg {
	display: block;
}

/* Top bar social icons — platform brand colors */
.header-utility__social .header-social-link--x,
.header-utility__social .header-social-link--x:hover,
.header-utility__social .header-social-link--x:focus-visible {
	color: #ffffff;
}

.header-utility__social .header-social-link--tiktok,
.header-utility__social .header-social-link--tiktok:hover,
.header-utility__social .header-social-link--tiktok:focus-visible {
	color: #ffffff;
}

.header-utility__social .header-social-link--youtube,
.header-utility__social .header-social-link--youtube:hover,
.header-utility__social .header-social-link--youtube:focus-visible {
	color: #ff0000;
}

.header-utility__social .header-social-link--facebook,
.header-utility__social .header-social-link--facebook:hover,
.header-utility__social .header-social-link--facebook:focus-visible {
	color: #1877f2;
}

.header-utility__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

.header-utility__link {
	display: inline-flex;
	align-items: center;
	padding: 0.125rem var(--space-sm);
	color: var(--color-header-text-muted);
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-xs);
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: color var(--transition-fast), background-color var(--transition-fast);
}

.header-utility__link + .header-utility__link {
	border-inline-start: 1px solid var(--color-header-border-strong);
}

.header-utility__link:hover,
.header-utility__link:focus-visible {
	color: var(--color-header-accent);
	background-color: var(--color-header-overlay);
}

.header-utility__link--account {
	color: var(--color-header-text);
}

.header-utility__switchers {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--space-2xs);
	flex-shrink: 0;
}

.header-utility__switchers.gd-header__switchers .gd-language-switcher,
.header-utility__switchers.gd-header__switchers .gd-header-currency {
	margin-inline-start: 0;
}

.gd-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	height: 2rem;
	margin-inline-start: var(--space-sm);
	padding: 0.375rem 0.75rem;
	color: var(--color-header-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background-color: transparent;
	transition:
		color var(--transition-fast),
		border-color var(--transition-fast),
		background-color var(--transition-fast),
		box-shadow var(--transition-fast);
}

.gd-language-switcher__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: var(--color-header-text-subtle);
	transition: color var(--transition-fast);
}

.gd-language-switcher__icon svg {
	display: block;
	width: 0.875rem;
	height: 0.875rem;
}

.gd-language-switcher__text {
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.04em;
}

.gd-language-switcher:hover,
.gd-language-switcher:focus-visible {
	color: var(--color-header-accent);
	border-color: var(--color-header-accent);
	background-color: var(--color-header-overlay);
	outline: none;
	box-shadow: 0 0 0 2px rgba(var(--gd-primary-rgb), 0.35);
}

.gd-language-switcher:hover .gd-language-switcher__icon,
.gd-language-switcher:focus-visible .gd-language-switcher__icon {
	color: var(--color-header-accent);
}

/* --- Header currency switcher (CURCY) --- */
.gd-header-currency {
	position: relative;
	z-index: calc(var(--z-header) + 1);
	display: inline-flex;
	align-items: center;
	margin-inline-start: var(--space-sm);
}

.gd-currency-switcher {
	display: inline-flex;
	align-items: center;
	overflow: visible;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical {
	display: inline-flex;
	margin: 0;
	overflow: visible;
	cursor: pointer;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper {
	position: relative;
	overflow: visible;
}

/* Invisible bridge so moving from the pill to the list does not break :hover. */
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical:not(.wmc-currency-trigger-click) .wmc-currency-wrapper::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 100%;
	height: 0.5rem;
	pointer-events: auto;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper span.wmc-current-currency {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2rem;
	min-width: 4.25rem;
	width: auto;
	padding-block: 0.375rem;
	padding-inline: 0.75rem 1.5rem;
	color: var(--color-header-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background-color: transparent;
	transition:
		color var(--transition-fast),
		border-color var(--transition-fast),
		background-color var(--transition-fast),
		box-shadow var(--transition-fast);
}

.gd-header-currency .wmc-current-currency-code {
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.04em;
}

/* CURCY positions the arrow absolutely (right: 5px); keep it at the pill end in LTR/RTL. */
.gd-header-currency .wmc-current-currency .wmc-open-dropdown-currencies,
.gd-header-currency .wmc-current-currency .wmc-current-currency-arrow {
	position: absolute;
	inset-inline-end: 0.625rem;
	inset-inline-start: auto;
	top: 50%;
	right: auto;
	width: auto;
	pointer-events: none;
	transform: translateY(-50%);
}

.gd-header-currency .wmc-current-currency .wmc-open-dropdown-currencies::after {
	border-color: currentColor;
}

.gd-header-currency .wmc-currency-wrapper:hover span.wmc-current-currency,
.gd-header-currency .wmc-currency-wrapper:focus-within span.wmc-current-currency,
.gd-header-currency .wmc-currency-trigger-click-active span.wmc-current-currency {
	color: var(--color-header-accent);
	border-color: var(--color-header-accent);
	background-color: var(--color-header-overlay);
	box-shadow: 0 0 0 2px rgba(var(--gd-primary-rgb), 0.35);
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency {
	position: absolute;
	top: 100%;
	inset-inline-start: 0;
	inset-inline-end: auto;
	min-width: 100%;
	width: max-content;
	margin-block: 0;
	padding-block: 0.25rem;
	text-align: start;
	color: var(--color-brand-900);
	border: 1px solid rgba(var(--gd-secondary-rgb), 0.12);
	border-radius: var(--radius-sm);
	background-color: #ffffff;
	box-shadow: var(--shadow-header);
	z-index: calc(var(--z-header) + 10);
	pointer-events: auto;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency.wmc-show-up,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical.wmc-dropdown-direction-top .wmc-currency-wrapper .wmc-sub-currency {
	top: auto;
	bottom: 100%;
	margin-block: 0;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical.wmc-dropdown-direction-top:not(.wmc-currency-trigger-click) .wmc-currency-wrapper::after {
	top: auto;
	bottom: 100%;
}

/* Preserve CURCY hover/click open behavior; keep list open while crossing pill → dropdown. */
.gd-header-currency:hover .woocommerce-multi-currency.wmc-shortcode.plain-vertical:not(.wmc-currency-trigger-click) .wmc-currency-wrapper .wmc-sub-currency,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical:not(.wmc-currency-trigger-click) .wmc-currency-wrapper:hover .wmc-sub-currency,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical:not(.wmc-currency-trigger-click) .wmc-sub-currency:hover {
	display: block;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical.wmc-currency-trigger-click.wmc-currency-trigger-click-active .wmc-sub-currency {
	display: block;
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency {
	padding: 0;
	color: var(--color-brand-900);
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a.wmc-currency-redirect {
	display: flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	color: var(--color-brand-900);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition:
		color var(--transition-fast),
		background-color var(--transition-fast);
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency.wmc-active a,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency.wmc-active a.wmc-currency-redirect {
	color: var(--color-accent-500);
	font-weight: var(--font-weight-bold);
}

.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a:hover,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a:focus-visible,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a.wmc-currency-redirect:hover,
.gd-header-currency .woocommerce-multi-currency.wmc-shortcode.plain-vertical .wmc-currency-wrapper .wmc-sub-currency .wmc-currency a.wmc-currency-redirect:focus-visible {
	color: var(--color-brand-900);
	font-weight: var(--font-weight-bold);
	background-color: rgba(var(--gd-primary-rgb), 0.14);
	outline: none;
}

/* --- Main header row --- */
.header-main {
	background-color: var(--color-header-main-bg);
	border-bottom: 1px solid var(--color-header-border);
}

.header-main__inner {
	display: grid;
	grid-template-areas:
		"branding"
		"toolbar";
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: 0;
	padding-block: var(--space-md) 0;
}

.header-branding {
	grid-area: branding;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-sm);
	padding-block: var(--space-sm) var(--space-md);
	text-align: center;
}

.header-branding__tagline {
	margin: 0;
	max-width: 22rem;
	color: var(--color-header-text);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-relaxed);
}

.header-toolbar {
	grid-area: toolbar;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding-block: var(--space-sm) var(--space-md);
	border-top: 1px solid var(--color-header-border);
}

.header-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	flex-shrink: 0;
}

.header-logo {
	line-height: 0;
}

.header-logo a,
.header-logo__link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}

.header-logo img,
.header-logo__image {
	display: block;
	max-width: 13.5rem;
	width: auto;
	height: auto;
	max-height: 4rem;
	object-fit: contain;
}

.custom-logo-link {
	display: inline-block;
	line-height: 0;
}

.header-brand__title .site-title {
	margin: 0;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

.header-brand__title .site-title a {
	display: inline-block;
	color: var(--color-text-inverse);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.header-brand__title .site-title a:hover {
	color: var(--color-header-accent);
}

/* Header search */
.header-search {
	min-width: 0;
	width: 100%;
}

.header-search__form {
	display: flex;
	align-items: stretch;
	gap: 0;
	max-width: none;
	margin: 0;
	border: 2px solid var(--color-search-shell-border);
	border-radius: var(--radius-xl);
	overflow: hidden;
	background-color: var(--color-surface);
	box-shadow: var(--shadow-search), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.header-search .search-form {
	max-width: none;
	flex: 1;
	gap: 0;
}

.header-search__form:focus-within {
	border-color: var(--color-accent-500);
	box-shadow: var(--shadow-search-focus);
}

.header-search__field {
	display: flex;
	flex: 1;
	align-items: center;
	gap: var(--space-sm);
	min-width: 0;
	padding-inline: var(--space-md);
	background-color: var(--color-surface);
}

.header-search__icon {
	flex-shrink: 0;
	color: var(--color-text-muted);
	pointer-events: none;
}

.header-search__input {
	flex: 1;
	min-width: 0;
	padding: 0.8125rem 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	font-size: var(--font-size-base);
	color: var(--color-text);
}

.header-search__input::placeholder {
	color: var(--color-text-muted);
	opacity: 0.7;
}

.header-search__input:focus {
	box-shadow: none;
	outline: none;
}

.header-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	flex-shrink: 0;
	padding: 0.8125rem var(--space-xl);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	color: var(--color-button-primary-text);
	background-color: var(--color-button-primary-bg);
	border: 0;
	border-radius: 0;
	cursor: pointer;
	transition: background-color var(--transition-fast), transform var(--transition-fast);
}

.header-search__submit:hover {
	background-color: var(--color-button-primary-bg-hover);
}

.header-search__submit:focus-visible {
	outline: 2px solid var(--color-text-inverse);
	outline-offset: -2px;
}

.header-search__submit-icon {
	flex-shrink: 0;
}

/* Header actions */
.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-xs);
	flex-shrink: 0;
}

.header-action,
button.header-action {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.1875rem;
	min-width: 3.25rem;
	padding: var(--space-xs) var(--space-sm);
	color: var(--color-header-text);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	font-family: inherit;
	line-height: inherit;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	background-color: transparent;
	transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
}

.header-action:hover {
	color: var(--color-header-text);
	background-color: var(--color-header-overlay);
	border-color: var(--color-header-categories-border);
}

.header-action:focus-visible {
	color: var(--color-header-text);
	background-color: var(--color-header-overlay);
	border-color: var(--color-header-categories-border);
	outline: 2px solid var(--color-accent-500);
	outline-offset: 3px;
}

.header-action:hover .header-action__icon,
.header-action:focus-visible .header-action__icon {
	color: var(--color-accent-500);
}

.header-action__icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
}

.header-action__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.header-action__label {
	line-height: 1.2;
	white-space: nowrap;
}

.header-cart-count {
	position: absolute;
	top: -0.4375rem;
	inset-inline-end: -0.5625rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.125rem;
	height: 1.125rem;
	padding-inline: 0.1875rem;
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	color: var(--color-button-primary-text);
	background-color: var(--color-accent-500);
	border: 2px solid var(--color-header-main-bg);
	border-radius: var(--radius-full);
}

.header-cart-count[hidden] {
	display: none;
}

.header-cart-dropdown {
	position: relative;
}

.header-action--cart.is-active,
.header-action--cart[aria-expanded="true"] {
	color: var(--color-header-text);
	background-color: var(--color-header-overlay);
	border-color: var(--color-header-categories-border);
}

.header-action--cart.is-active .header-action__icon,
.header-action--cart[aria-expanded="true"] .header-action__icon {
	color: var(--color-accent-500);
}

.header-mini-cart {
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + var(--space-xs));
	z-index: var(--z-dropdown, 200);
	width: min(22rem, calc(100vw - var(--space-lg) * 2));
	padding: var(--space-md);
	color: var(--color-text);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
}

.header-mini-cart[hidden] {
	display: none;
}

.menu-toggle {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.1875rem;
	min-width: 2.75rem;
	padding: var(--space-xs) var(--space-sm);
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--color-header-text);
	background-color: transparent;
	cursor: pointer;
	transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.menu-toggle:hover {
	background-color: var(--color-header-overlay);
	border-color: var(--color-header-categories-border);
	color: var(--color-header-text);
}

.menu-toggle:focus-visible {
	background-color: var(--color-header-overlay);
	border-color: var(--color-header-categories-border);
	color: var(--color-header-text);
	outline: 2px solid var(--color-accent-500);
	outline-offset: 3px;
}

.menu-toggle.is-active {
	border-color: var(--color-accent-500);
	background-color: var(--color-header-overlay);
	color: var(--color-header-text);
	box-shadow: var(--shadow-focus);
}

.menu-toggle__bars {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 1.25rem;
	height: 1rem;
}

.menu-toggle__bar {
	display: block;
	width: 100%;
	height: 2px;
	background-color: currentColor;
	border-radius: 1px;
	transition: transform var(--transition-base), opacity var(--transition-fast);
	transform-origin: center;
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-active .menu-toggle__bar:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.menu-toggle__label {
	line-height: 1.2;
}

/* --- Navigation row --- */
.header-nav {
	background-color: var(--color-header-nav-bg);
	border-bottom: 3px solid var(--color-header-accent);
}

.header-nav__drawer-head {
	display: none;
}

.header-nav__contact {
	display: none;
}

.header-nav__mobile-utility {
	display: none;
}

.header-nav__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm) var(--space-md);
	padding-block: var(--space-sm);
}

.header-nav__actions {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	margin-inline-start: auto;
	flex-shrink: 0;
}

.header-nav__actions .header-action {
	flex-direction: row;
	gap: var(--space-xs);
	min-width: auto;
	padding: var(--space-xs) var(--space-sm);
	font-size: var(--font-size-sm);
}

.header-nav__actions .header-action__icon {
	width: 1.125rem;
	height: 1.125rem;
}

.header-nav__actions .header-cart-count {
	border-color: var(--color-header-nav-bg);
}

.header-nav__brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	min-width: 0;
}

.header-nav__brand.header-brand {
	justify-content: flex-start;
}

.header-nav__brand .header-logo img,
.header-nav__brand .header-logo__image,
.header-nav__brand .custom-logo-link img {
	display: block;
	object-fit: contain;
}

.header-nav__brand .header-brand__title .site-title {
	margin: 0;
	font-size: var(--font-size-lg);
}

.gd-header__switchers .gd-language-switcher,
.gd-header__switchers .gd-header-currency {
	margin-inline-start: 0;
}

.gd-header__switchers .gd-language-switcher {
	color: var(--color-header-text);
}

.gd-header__switchers .gd-header-currency {
	z-index: calc(var(--z-header) + 2);
}

.header-categories {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	padding: 0.5625rem var(--space-lg);
	font-family: inherit;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	color: var(--color-header-text);
	text-decoration: none;
	background-color: transparent;
	border: 1px solid var(--color-header-categories-border);
	border-radius: var(--radius-md);
	cursor: pointer;
	appearance: none;
	transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
	flex-shrink: 0;
}

.header-categories__icon {
	flex-shrink: 0;
	color: inherit;
	opacity: 0.95;
}

.header-categories:hover {
	background-color: var(--color-header-overlay);
	border-color: var(--color-accent-500);
	color: var(--color-header-text);
}

.header-categories:focus-visible {
	background-color: var(--color-header-overlay);
	border-color: var(--color-accent-500);
	color: var(--color-header-text);
	outline: 2px solid var(--color-accent-500);
	outline-offset: 3px;
}

.header-categories.is-active,
.header-categories[aria-expanded="true"] {
	background-color: var(--color-header-overlay);
	border-color: var(--color-accent-500);
	color: var(--color-header-text);
	box-shadow: var(--shadow-focus);
}

/* --- Categories mega menu --- */
.header-categories-mega {
	display: block;
	padding: 0 var(--space-md) var(--space-md);
	max-height: calc(100vh - 180px);
	overflow-y: auto;
	overflow-x: hidden;
	opacity: 0;
	transform: translateY(-0.5rem);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease;
	pointer-events: none;
}

.header-categories-mega.is-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

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

.header-categories-mega__inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	height: auto;
	background-color: #ffffff;
	border: 1px solid #E8E8E8;
	border-radius: 1.25rem;
	box-shadow:
		0 1.25rem 3rem rgba(31, 42, 58, 0.12),
		0 0.25rem 0.75rem rgba(31, 42, 58, 0.06);
	padding: var(--space-lg);
	overflow: visible;
}

/* Top bar */
.mega-menu-topbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-lg);
	width: 100%;
	padding-bottom: var(--space-md);
	margin-bottom: var(--space-md);
	border-bottom: 1px solid #E8E8E8;
	flex-shrink: 0;
}

.mega-menu-topbar__intro {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.mega-menu-topbar__title {
	margin: 0;
	font-size: 1.75rem;
	font-weight: var(--font-weight-bold);
	color: #1F2A3A;
	line-height: 1.25;
}

.mega-menu-topbar__description {
	margin: 0;
	font-size: 1.125rem;
	color: #556170;
	line-height: 1.45;
	max-width: 36rem;
}

.mega-menu-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	flex-shrink: 0;
	padding: 0.375rem 0;
	font-size: 1rem;
	font-weight: var(--font-weight-semibold);
	color: #E73F1E;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--transition-fast);
}

.mega-menu-topbar__link:hover,
.mega-menu-topbar__link:focus-visible {
	color: #D33618;
}

.mega-menu-topbar__link:focus-visible {
	outline: 2px solid #E73F1E;
	outline-offset: 3px;
	border-radius: var(--radius-sm);
}

html[dir="rtl"] .mega-menu-topbar__link-icon {
	transform: scaleX(-1);
}

/* Main content grid */
.header-categories-mega__layout {
	display: grid;
	grid-template-columns: minmax(220px, 25%) minmax(360px, 40%) minmax(300px, 35%);
	grid-template-areas: "categories products promo";
	gap: 1.5rem;
	align-items: stretch;
	width: 100%;
}

html[dir="rtl"] .header-categories-mega__layout {
	grid-template-areas: "promo products categories";
}

.mega-menu-column {
	display: flex;
	flex-direction: column;
	position: relative;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
}

.mega-menu-column--categories {
	grid-area: categories;
	padding-inline-end: 1.5rem;
	border-inline-end: 1px solid #E8E8E8;
}

.mega-menu-column--products {
	grid-area: products;
	padding-inline: 1.5rem;
	border-inline-end: 1px solid #E8E8E8;
}

.mega-menu-column--banner {
	grid-area: promo;
	padding-inline-start: 0;
	border-inline-end: 0;
}

.mega-menu-column__title {
	margin: 0 0 var(--space-md);
	font-size: 1.1875rem;
	font-weight: var(--font-weight-bold);
	color: #1F2A3A;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mega-menu-column__title--sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mega-menu-accordion__trigger {
	display: none;
}

.mega-menu-column__panel {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
}

/* Categories column */
.mega-menu-categories-list {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	min-width: 0;
	max-height: 22rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #E8E8E8 transparent;
}

.mega-menu-categories-list::-webkit-scrollbar {
	width: 0.375rem;
}

.mega-menu-categories-list::-webkit-scrollbar-thumb {
	background-color: #E8E8E8;
	border-radius: var(--radius-full);
}

.mega-menu-categories-list__item + .mega-menu-categories-list__item {
	margin-top: 0.25rem;
}

.mega-menu-category-link {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	padding: 0.5rem 0.625rem;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	color: #556170;
	text-decoration: none;
	line-height: 1.4;
	border-radius: var(--radius-md);
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}

.mega-menu-category-link::before {
	content: "";
	position: absolute;
	inset-block: 0.375rem;
	inset-inline-start: 0;
	width: 3px;
	background-color: #E73F1E;
	border-radius: 0 var(--radius-full) var(--radius-full) 0;
	opacity: 0;
	transform: scaleY(0.6);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

html[dir="rtl"] .mega-menu-category-link::before {
	border-radius: var(--radius-full) 0 0 var(--radius-full);
}

.mega-menu-category-link:hover,
.mega-menu-category-link:focus-visible {
	color: #1F2A3A;
	background-color: rgba(231, 63, 30, 0.06);
	outline: none;
}

.mega-menu-category-link:hover::before,
.mega-menu-category-link:focus-visible::before {
	opacity: 1;
	transform: scaleY(1);
}

.mega-menu-category-link:focus-visible {
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #E73F1E;
}

.mega-menu-category-link__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	overflow: hidden;
	background-color: #F8F8F6;
	border: 1px solid #E8E8E8;
	border-radius: var(--radius-sm);
}

.mega-menu-category-link__thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mega-menu-category-link__placeholder {
	display: block;
	width: 0.875rem;
	height: 0.875rem;
	background:
		linear-gradient(#E73F1E 0 0) 0 0 / 0.3125rem 0.3125rem no-repeat,
		linear-gradient(#E73F1E 0 0) 100% 0 / 0.3125rem 0.3125rem no-repeat,
		linear-gradient(#E73F1E 0 0) 0 100% / 0.3125rem 0.3125rem no-repeat,
		linear-gradient(#E73F1E 0 0) 100% 100% / 0.3125rem 0.3125rem no-repeat;
	opacity: 0.75;
}

.mega-menu-category-link__content {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	flex: 1 1 auto;
	min-width: 0;
}

.mega-menu-category-link__name {
	font-size: 1.0625rem;
	font-weight: var(--font-weight-semibold);
	color: #1F2A3A;
	line-height: 1.35;
	transition: color 0.2s ease;
}

.mega-menu-category-link__count {
	font-size: 0.875rem;
	font-weight: var(--font-weight-medium);
	color: #556170;
	line-height: 1.2;
}

.mega-menu-category-link__chevron {
	flex-shrink: 0;
	color: #556170;
	opacity: 0.55;
	transition:
		color 0.2s ease,
		opacity 0.2s ease,
		transform 0.2s ease;
}

html[dir="rtl"] .mega-menu-category-link__chevron {
	transform: scaleX(-1);
}

.mega-menu-category-link:hover .mega-menu-category-link__chevron,
.mega-menu-category-link:focus-visible .mega-menu-category-link__chevron {
	color: #E73F1E;
	opacity: 1;
}

.mega-menu-view-all {
	display: inline-flex;
	align-items: center;
	margin-top: var(--space-sm);
	padding: 0.375rem 0.625rem;
	font-size: 0.9375rem;
	font-weight: var(--font-weight-semibold);
	color: #E73F1E;
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.mega-menu-view-all:hover,
.mega-menu-view-all:focus-visible {
	color: #D33618;
	background-color: rgba(231, 63, 30, 0.06);
}

.mega-menu-view-all:focus-visible {
	outline: 2px solid #E73F1E;
	outline-offset: 2px;
}

/* Featured products column — vertical link list */
.mega-menu-column--products .mega-menu-column__title {
	position: relative;
	padding-bottom: var(--space-sm);
}

.mega-menu-column--products .mega-menu-column__title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 2rem;
	height: 2px;
	background-color: #E73F1E;
	border-radius: var(--radius-full);
}

.gd-mega-products-list {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	min-width: 0;
	max-height: 26.875rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #E8E8E8 transparent;
}

.gd-mega-products-list::-webkit-scrollbar {
	width: 0.375rem;
}

.gd-mega-products-list::-webkit-scrollbar-thumb {
	background-color: #E8E8E8;
	border-radius: var(--radius-full);
}

.gd-mega-products-list__item {
	border-block-end: 1px solid #E8E8E8;
}

.gd-mega-products-list__item:last-child {
	border-block-end: 0;
}

.gd-mega-products-list__link {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	width: 100%;
	min-width: 0;
	padding: 0.6875rem 0.375rem;
	text-decoration: none;
	color: #1F2A3A;
	border-radius: var(--radius-sm);
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.gd-mega-products-list__link:hover,
.gd-mega-products-list__link:focus-visible {
	color: #E73F1E;
	background-color: rgba(231, 63, 30, 0.06);
	transform: translateX(3px);
	outline: none;
}

html[dir="rtl"] .gd-mega-products-list__link:hover,
html[dir="rtl"] .gd-mega-products-list__link:focus-visible {
	transform: translateX(-3px);
}

.gd-mega-products-list__link:focus-visible {
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #E73F1E;
}

.gd-mega-products-list__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1.375rem;
	color: #556170;
	transition: color 0.2s ease;
}

.gd-mega-products-list__link:hover .gd-mega-products-list__icon,
.gd-mega-products-list__link:focus-visible .gd-mega-products-list__icon {
	color: #E73F1E;
}

.gd-mega-products-list__title {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 1.0625rem;
	font-weight: var(--font-weight-semibold);
	color: inherit;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	word-break: break-word;
}

.mega-menu-products-empty {
	margin: 0;
	padding: var(--space-md);
	font-size: 1rem;
	color: #556170;
	line-height: 1.45;
	background-color: #F8F8F6;
	border: 1px solid #E8E8E8;
	border-radius: var(--radius-md);
}

/* Promotional banner column */
.mega-menu-column--banner .mega-menu-column__panel {
	flex: 1 1 auto;
	min-height: 22.5rem;
}

.mega-menu-banner {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-width: 0;
	min-height: 22.5rem;
	height: auto;
	padding: var(--space-lg);
	overflow: hidden;
	text-decoration: none;
	border-radius: var(--radius-lg);
	background-color: #1F2A3A;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.mega-menu-banner--placeholder {
	background-image: linear-gradient(135deg, #131B27 0%, #1F2A3A 50%, #2A3749 100%);
}

.mega-menu-banner--has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(19, 27, 39, 0.92) 0%,
		rgba(31, 42, 58, 0.72) 45%,
		rgba(31, 42, 58, 0.35) 100%
	);
}

.mega-menu-banner:hover,
.mega-menu-banner:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(31, 42, 58, 0.2);
	outline: none;
}

.mega-menu-banner:focus-visible {
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #E73F1E;
}

.mega-menu-banner__badge {
	position: absolute;
	inset-block-start: var(--space-md);
	inset-inline-start: var(--space-md);
	z-index: 1;
	padding: 0.3125rem 0.625rem;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold);
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	background-color: #E73F1E;
	border-radius: var(--radius-full);
}

.mega-menu-banner__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	max-width: 18rem;
}

.mega-menu-banner__title {
	font-size: 1.625rem;
	font-weight: var(--font-weight-bold);
	color: #ffffff;
	line-height: 1.2;
}

.mega-menu-banner__text {
	font-size: 1.0625rem;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.45;
}

.mega-menu-banner__cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: var(--space-xs);
	padding: 0.5625rem var(--space-md);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	color: #ffffff;
	background-color: #E73F1E;
	border-radius: var(--radius-md);
	transition: background-color 0.2s ease;
}

.mega-menu-banner:hover .mega-menu-banner__cta,
.mega-menu-banner:focus-visible .mega-menu-banner__cta {
	background-color: #D33618;
}

@media (prefers-reduced-motion: reduce) {
	.header-categories-mega,
	.mega-menu-category-link,
	.mega-menu-category-link::before,
	.mega-menu-category-link__chevron,
	.gd-mega-products-list__link,
	.gd-mega-products-list__icon,
	.mega-menu-banner,
	.mega-menu-banner__cta,
	.mega-menu-view-all,
	.mega-menu-topbar__link,
	.primary-menu__dropdown-panel,
	.primary-menu__dropdown-chevron,
	.primary-menu__shop-mega-chevron {
		transition: none;
	}
}

.primary-navigation {
	flex: 1;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.primary-menu,
.footer-menu {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu a,
.footer-menu a {
	display: block;
	padding: var(--space-xs) var(--space-sm);
	color: var(--color-text);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: color var(--transition-fast), background-color var(--transition-fast);
}

.primary-menu a {
	position: relative;
	color: var(--color-header-text-nav);
	font-weight: var(--font-weight-medium);
}

.primary-menu a::after {
	content: "";
	position: absolute;
	inset-inline: var(--space-sm);
	bottom: 0;
	height: 2px;
	background-color: var(--color-header-accent);
	border-radius: var(--radius-full);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--transition-fast);
}

.primary-menu a:hover,
.primary-menu a:focus-visible {
	color: var(--color-header-accent);
}

.primary-menu a:hover::after,
.primary-menu a:focus-visible::after {
	transform: scaleX(1);
}

.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a {
	color: var(--color-header-accent);
	font-weight: var(--font-weight-bold);
}

.primary-menu .current-menu-item > a::after,
.primary-menu .current-menu-ancestor > a::after {
	transform: scaleX(1);
	background-color: var(--color-header-accent);
}

/* --- Primary nav dropdown (Company) --- */
.primary-menu__shop-mega-toggle {
	display: none;
}

.primary-menu__dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.primary-menu__dropdown-chevron {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	line-height: 0;
	transition: transform var(--transition-fast);
}

.primary-menu__dropdown-panel {
	list-style: none;
	margin: 0;
	padding: var(--space-xs);
}

.primary-menu__dropdown-panel a {
	position: static;
	display: block;
	padding: var(--space-sm) var(--space-md);
	color: var(--color-text);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-tight);
	text-decoration: none;
	border-radius: var(--radius-md);
	transition:
		color var(--transition-fast),
		background-color var(--transition-fast);
}

.primary-menu__dropdown-panel a::after {
	display: none;
}

.primary-menu__dropdown-panel a:hover,
.primary-menu__dropdown-panel a:focus-visible {
	color: var(--color-accent-500);
	background-color: var(--color-accent-soft);
}

.primary-menu__dropdown-panel .current-menu-item > a,
.primary-menu__dropdown-panel .current-menu-ancestor > a {
	color: var(--color-accent-500);
	font-weight: var(--font-weight-bold);
	background-color: var(--color-accent-soft);
}

.footer-menu a:hover {
	color: var(--color-link-hover);
}

/* Footer */
.site-footer {
	margin-top: var(--space-3xl);
	padding-block: var(--space-2xl);
	border-top: 1px solid var(--color-border);
	background-color: var(--color-surface-muted);
}

.site-footer__meta {
	width: 100%;
}

.site-footer__copyright {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

/* Entries */
.entry {
	margin-bottom: var(--space-2xl);
	padding-bottom: var(--space-2xl);
	border-bottom: 1px solid var(--color-border);
}

.entry:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.entry__thumbnail {
	margin-bottom: var(--space-lg);
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.entry__title {
	margin-bottom: var(--space-sm);
	font-size: var(--font-size-xl);
	line-height: var(--line-height-tight);
}

.entry__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

.entry__meta > span:not(:last-child)::after {
	content: "·";
	margin-left: var(--space-sm);
}

.entry__summary {
	color: var(--color-text-muted);
}

/* Section title */
.section-title {
	margin-bottom: var(--space-xl);
}

.section-title__heading {
	font-size: var(--font-size-2xl);
	line-height: var(--line-height-tight);
}

.section-title__subtitle {
	margin-top: var(--space-sm);
	color: var(--color-text-muted);
}

/* Pagination */
.pagination,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	margin-top: var(--space-2xl);
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding-inline: var(--space-sm);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: var(--font-size-sm);
}

.page-numbers.current {
	background-color: var(--color-brand-900);
	border-color: var(--color-brand-900);
	color: var(--color-text-inverse);
}

.page-links {
	margin-top: var(--space-xl);
}

.page-links__title {
	margin-right: var(--space-sm);
	font-weight: var(--font-weight-semibold);
}

/* Homepage section CTA button (below card grids). The host section container is
   a flex column whose gap already separates the grid from this row. */
.gd-section-cta__actions {
	display: flex;
	justify-content: center;
	width: 100%;
	padding-top: 0.25rem;
}

.gd-section-cta__button,
.gd-section-cta__button:visited,
.gd-section-cta__button:hover,
.gd-section-cta__button:focus,
.gd-section-cta__button:focus-visible,
.gd-section-cta__button:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 52px;
	padding: 0.85rem 1.75rem;
	font-size: 0.98rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--gd-button-text);
	background: var(--gd-primary-gradient);
	border-radius: 999px;
	box-shadow:
		0 10px 28px rgba(var(--gd-primary-rgb), 0.28),
		0 0 0 1px rgba(255, 255, 255, 0.25) inset;
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.gd-section-cta__button-icon {
	display: inline-flex;
	color: inherit;
	transition: transform 0.3s ease;
}

.gd-section-cta__button-icon svg {
	color: inherit;
	fill: currentColor;
}

html[dir="rtl"] .gd-section-cta__button-icon svg,
body.rtl .gd-section-cta__button-icon svg {
	transform: scaleX(-1);
}

@media (hover: hover) and (pointer: fine) {
	.gd-section-cta__button:hover,
	.gd-section-cta__button:focus-visible {
		transform: translateY(-2px);
		box-shadow:
			0 14px 34px rgba(var(--gd-primary-rgb), 0.34),
			0 0 0 1px rgba(255, 255, 255, 0.3) inset;
	}

	html[dir="ltr"] .gd-section-cta__button:hover .gd-section-cta__button-icon,
	body:not(.rtl) .gd-section-cta__button:hover .gd-section-cta__button-icon {
		transform: translateX(3px);
	}

	html[dir="rtl"] .gd-section-cta__button:hover .gd-section-cta__button-icon,
	body.rtl .gd-section-cta__button:hover .gd-section-cta__button-icon {
		transform: scaleX(-1) translateX(3px);
	}
}
