/*!
Theme Name: Yamato Romania
Theme URI: http://underscores.me/
Author: Stoican Catalin
Author URI: https://stoican.ro
Description: Start theme for yamato.ro
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: yamato-romania
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Yamato Romania is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Variabile brand
# Font-face
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Header & Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Variabile brand
--------------------------------------------------------------*/
:root {
	--yamato-red: #eb1923;
	--yamato-red-hover: #c3141d;
	--yamato-red-onDark: #f2555c;
	--yamato-ink: #1c1a19;
	--yamato-muted: #54585c;
	--yamato-paper: #f7f5f3;
	--yamato-surface: #ffffff;
	--yamato-line: #e7e3df;
	--yamato-highlight: #fdf0f1;

	--font-base: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;

	--breakpoint-lg: 1024px;
	--container-max: 1440px;
	--header-height: 88px;

	/* Header-ul lipit (topbar + masthead). Înălțimile reale le scrie js/navigation.js; valorile de aici sunt doar până rulează JS.
	   --yamato-topbar-shown = cât se vede din topbar: 0 pe mobil, unde topbar-ul pleacă odată cu pagina;
	   pe desktop toată înălțimea când e afișat și 0 când e ascuns la derulare în jos (vezi .site-top).
	   --yamato-admin-offset = bara de admin WordPress (0 pentru vizitatori). */
	--yamato-topbar-h: 36px;
	--yamato-topbar-shown: 0px;
	--yamato-header-h: 75px;
	--yamato-admin-offset: 0px;
	--yamato-sticky-speed: 0.25s;
}

/* Declarată pe body (nu pe :root), ca să folosească valoarea --yamato-admin-offset de pe body.admin-bar.
   = unde se termină header-ul lipit; elementele lipite de sub el (ex. meniul produsului) stau aici. */
body {
	--yamato-sticky-top: calc(var(--yamato-admin-offset) + var(--yamato-topbar-shown) + var(--yamato-header-h));
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--yamato-sticky-speed: 0s;
	}

	/* Cine a cerut mai puține animații în sistem nu vede nici pulsația siglei. */
	.site-branding__link:hover .logo-punct,
	.site-footer__logo-link:hover .logo-punct {
		animation: none;
	}
}

/* Bara de admin e fixă doar de la 601px; sub, derulează odată cu pagina */
@media screen and (min-width: 601px) {
	body.admin-bar {
		--yamato-admin-offset: 46px;
	}
}

@media screen and (min-width: 783px) {
	body.admin-bar {
		--yamato-admin-offset: 32px;
	}
}

/*--------------------------------------------------------------
# Font-face (Open Sans, self-hosted)
--------------------------------------------------------------*/
@font-face {
	font-family: 'Open Sans';
	src: url('fonts/open-sans/OpenSans-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/open-sans/OpenSans-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/open-sans/OpenSans-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
========================================================================== */

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
========================================================================== */

body {
	margin: 0;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
========================================================================== */

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
========================================================================== */

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
========================================================================== */

img {
	border-style: none;
}

/* Forms
========================================================================== */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
========================================================================== */

details {
	display: block;
}

summary {
	display: list-item;
}

/* Misc
========================================================================== */

template {
	display: none;
}

[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

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

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: var(--font-base);
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

/* Conturul de focus apare doar la navigarea cu tastatura (Tab), nu și după click cu mouse-ul sau atingere */
a:focus {
	outline: 0;
}

a:focus-visible {
	outline: 2px solid var(--yamato-red);
	outline-offset: 2px;
}

a:hover,
a:active {
	outline: 0;
}

/* Override link colors for buttons and social icons */
a.btn,
a.btn--outline,
a.btn--solid {
	color: inherit;
}

a.btn--outline {
	color: var(--yamato-ink);
}

a.btn--outline:hover,
a.btn--outline:focus {
	color: var(--yamato-ink);
}

a.btn--solid {
	color: var(--yamato-surface);
}

a.btn--solid:hover,
a.btn--solid:focus {
	color: var(--yamato-surface);
}

a.social-icon {
	color: var(--yamato-surface);
}

a.social-icon:hover,
a.social-icon:focus {
	color: var(--yamato-red-onDark);
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Header & Navigation
--------------------------------------------- */

/* Topbar */
.site-header-top {
	background-color: var(--yamato-ink);
	color: var(--yamato-surface);
}

.site-header-top__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0.6em 1.25em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.4em 1.5em;
	font-size: 0.8125rem;
}

.site-header-top__social {
	display: flex;
	align-items: center;
	gap: 0.9em;
	margin-left: auto;
}

.social-icon {
	display: inline-flex;
	color: var(--yamato-surface);
	transition: color 0.15s ease;
}

.social-icon svg {
	width: 16px;
	height: 16px;
}

.social-icon:hover,
.social-icon:focus {
	color: var(--yamato-red-onDark);
}

.site-header-top__lang {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header-top__lang-item + .site-header-top__lang-item {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	padding-left: 0.5em;
}

.site-header-top__lang-item a {
	color: var(--yamato-surface);
	font-weight: 400;
	text-decoration: none;
	opacity: 0.6;
	transition: opacity 0.15s ease;
}

.site-header-top__lang-item a:hover,
.site-header-top__lang-item a:focus {
	opacity: 1;
}

.site-header-top__lang-item.is-active a {
	font-weight: 700;
	opacity: 1;
}

/* Topbar + masthead lipite sus, în două feluri.

   Pe mobil și tabletă blocul e lipit cu topbar-ul scos din ecran (--yamato-topbar-shown: 0): la începutul
   paginii se vede tot, iar după primii pixeli derulați rămâne lipit doar masthead-ul. Topbar-ul reapare
   de la sine când vizitatorul urcă înapoi la începutul paginii, fără niciun calcul în JS.
   Motivul: pe telefon browserul își ascunde și își arată singur bara de adrese, iar asta mișcă pagina
   fără ca vizitatorul să deruleze. Dacă poziția topbar-ului ar fi calculată din cod la fiecare mișcare,
   antetul ar apărea și ar dispărea de multe ori la rând și pagina ar tremura.

   De la 1024px topbar-ul e mișcat din js/navigation.js: la derulare în jos iese odată cu pagina,
   la derulare în sus coboară lin la loc.

   Breadcrumbs sunt în afara blocului și pleacă întotdeauna odată cu pagina. */
.site-top {
	position: sticky;
	top: calc(var(--yamato-admin-offset) - var(--yamato-topbar-h) + var(--yamato-topbar-shown));
	z-index: 100;
}

@media screen and (min-width: 1024px) {
	:root {
		/* Pe desktop topbar-ul se vede întreg cât timp pagina nu e derulată. */
		--yamato-topbar-shown: var(--yamato-topbar-h);
	}

	.site-top {
		transition: top var(--yamato-sticky-speed) ease;
	}
}

/* Masthead — position: relative pentru meniul mobil, care se deschide sub el */
.site-header {
	position: relative;
	background-color: var(--yamato-surface);
	border-bottom: 1px solid var(--yamato-line);
}

.site-header__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0.75em 1.25em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em 1.5em;
}

.site-branding {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.site-branding__link {
	display: block;
	line-height: 0;
}

/* Sigla e SVG inline (template-parts/logo.php): literele iau culoarea din `color`, iar cercul roșu
   și scrisul de mână își păstrează culoarea proprie din fișier. */
.logo-yamato {
	display: block;
	height: 50px;
	width: auto;
	fill: currentColor;
}

/* Cercul roșu: o singură pulsație când mouse-ul intră pe siglă. */
.logo-punct {
	transform-box: fill-box;
	transform-origin: center;
}

@keyframes yamato-logo-puls {
	0% {
		transform: scale(1);
	}

	40% {
		transform: scale(0.82);
	}

	100% {
		transform: scale(1);
	}
}

.site-branding__link:hover .logo-punct,
.site-footer__logo-link:hover .logo-punct {
	animation: yamato-logo-puls 0.9s ease-in-out;
}

.site-branding__logo {
	color: var(--yamato-ink);
}

/* Pe mobil butoanele trăiesc în meniul din hamburger, nu în masthead. */
.site-header__actions {
	display: none;
	align-items: center;
	gap: 0.75em;
	flex: 0 0 auto;
}

/* CTA Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 0.7em 1.3em;
	border: 1px solid transparent;
	border-radius: 3px;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn--outline {
	background-color: var(--yamato-surface);
	border-color: var(--yamato-ink);
	color: var(--yamato-ink);
}

.btn--outline:hover,
.btn--outline:focus {
	background-color: var(--yamato-paper);
	color: var(--yamato-ink);
}

.btn--solid {
	background-color: var(--yamato-red);
	border-color: var(--yamato-red);
	color: var(--yamato-surface);
}

.btn--solid:hover,
.btn--solid:focus {
	background-color: var(--yamato-red-hover);
	border-color: var(--yamato-red-hover);
	color: var(--yamato-surface);
}

.btn--mobile {
	display: flex;
	margin: 1.25em 1.25em 0;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--yamato-line);
	border-radius: 3px;
	background-color: var(--yamato-surface);
	color: var(--yamato-ink);
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.mobile-menu-toggle:hover {
	border-color: var(--yamato-ink);
	background-color: var(--yamato-paper);
}

.hamburger-icon {
	position: relative;
	display: block;
	width: 22px;
	height: 16px;
}

.hamburger-line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background-color: currentColor;
	transition: top 0.2s ease, transform 0.2s ease, opacity 0.15s ease;
}

.hamburger-line:nth-child(1) {
	top: 0;
}

.hamburger-line:nth-child(2) {
	top: 7px;
}

.hamburger-line:nth-child(3) {
	top: 14px;
}

/* Stare deschisă — cele 3 linii devin X */
.mobile-menu-toggle.is-open .hamburger-line:nth-child(1) {
	top: 7px;
	transform: rotate(45deg);
}

.mobile-menu-toggle.is-open .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.is-open .hamburger-line:nth-child(3) {
	top: 7px;
	transform: rotate(-45deg);
}

/* Desktop Navigation */
.main-navigation {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	padding: 0.5em 0;
	color: var(--yamato-ink);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.15s ease;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--yamato-red);
}

/* Red underline indicator */
.main-navigation > ul > li::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background-color: var(--yamato-red);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}

.main-navigation > ul > li:hover::after,
.main-navigation > ul > li.current-menu-item::after {
	transform: scaleX(1);
}

/* Submenu (mega menu or regular) */
.mega-menu-inner {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 240px;
	background: var(--yamato-surface);
	border: 1px solid var(--yamato-line);
	border-radius: 4px;
	box-shadow: 0 8px 16px rgba(28, 26, 25, 0.08);
	padding: 1em;
	z-index: 99;
}

.mega-menu-inner.is-open {
	display: block;
}

.mega-menu-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5em;
}

.mega-menu-column {
	padding: 0.5em 0;
}

.mega-menu-column-title {
	display: block;
	color: var(--yamato-ink);
	font-weight: 700;
	text-decoration: none;
	margin-bottom: 0.75em;
}

.mega-menu-column-title:hover {
	color: var(--yamato-red);
}

.mega-menu-inner .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mega-menu-inner .sub-menu li {
	position: relative;
}

.mega-menu-inner .sub-menu a {
	display: block;
	padding: 0.3em 0;
	color: var(--yamato-muted);
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.15s ease;
}

.mega-menu-inner .sub-menu a:hover,
.mega-menu-inner .sub-menu a:focus {
	color: var(--yamato-red);
}

/* Mobile Menu — în interiorul header-ului lipit, deschis imediat sub el oriunde e derulată pagina.
   Dacă e mai lung decât ecranul, are scroll propriu. */
.mobile-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	/* Cel mai puțin spațiu disponibil: cu topbar-ul vizibil, la începutul paginii. */
	max-height: calc(100vh - var(--yamato-admin-offset) - var(--yamato-topbar-h) - var(--yamato-header-h));
	max-height: calc(100dvh - var(--yamato-admin-offset) - var(--yamato-topbar-h) - var(--yamato-header-h));
	overflow-y: auto;
	overscroll-behavior: contain;
	background-color: var(--yamato-surface);
	border-top: 1px solid var(--yamato-line);
	border-bottom: 1px solid var(--yamato-line);
	box-shadow: 0 12px 24px rgba(28, 26, 25, 0.12);
	padding-bottom: 1.25em;
}

.mobile-menu.is-open {
	display: block;
}

.mobile-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Rândul de meniu: link + săgeata de submeniu pe același rând, iar submeniul dedesubt, pe toată lățimea.
   Înainte săgeata era poziționată la jumătatea elementului <li>, deci cobora când se deschidea submeniul. */
.mobile-menu-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid var(--yamato-line);
}

.mobile-menu-list a {
	display: block;
	flex: 1 1 auto;
	padding: 0.75em 1.25em;
	color: var(--yamato-ink);
	font-weight: 600;
	text-decoration: none;
}

.mobile-menu-list a:active {
	background-color: var(--yamato-paper);
}

.submenu-toggle {
	flex: 0 0 auto;
	margin-right: 1.25em;
	width: 32px;
	height: 32px;
	border: none;
	background: none;
	color: var(--yamato-ink);
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.submenu-toggle-arrow {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.2s ease;
}

.submenu-toggle.is-open .submenu-toggle-arrow {
	transform: rotate(45deg);
}

.mobile-menu-list .sub-menu {
	display: none;
	flex: 0 0 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	background-color: var(--yamato-paper);
}

.mobile-menu-list .sub-menu.is-open {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.mobile-menu-list .sub-menu li {
	border-bottom: 1px solid var(--yamato-line);
}

.mobile-menu-list .sub-menu a {
	padding-left: calc(1.25em + 1.5em);
	font-size: 0.875rem;
	color: var(--yamato-muted);
}

/* Desktop breakpoint */
@media screen and (min-width: 1024px) {
	.site-header__actions {
		display: flex;
	}

	.site-header__inner {
		flex-wrap: nowrap;
		align-items: stretch;
		min-height: var(--header-height);
		padding-top: 0;
		padding-bottom: 0;
	}

	.main-navigation {
		display: flex;
		align-items: center;
		flex: 1 1 auto;
		margin-left: 2.5em;
	}

	.main-navigation ul {
		display: flex;
	}

	.main-navigation > ul {
		display: flex;
		align-items: center;
		height: 100%;
		gap: 1.75em;
	}

	.main-navigation > ul > li {
		display: flex;
		align-items: center;
		height: 100%;
	}

	.main-navigation a {
		padding: 0;
	}

	/* Link-ul de prim nivel ocupă toată înălțimea header-ului: click oriunde deasupra liniei roșii */
	.main-navigation > ul > li > a {
		display: flex;
		align-items: center;
		height: 100%;
	}

	.mobile-menu-toggle {
		display: none;
	}

	.mobile-menu {
		display: none !important;
	}

	.mega-menu-inner {
		min-width: 300px;
	}

	.mega-menu-inner.is-megamenu {
		left: 50%;
		transform: translateX(-50%);
		width: 90vw;
		max-width: 1200px;
	}

	.primary-menu-list > li:hover > .mega-menu-inner,
	.primary-menu-list > li.focus > .mega-menu-inner {
		display: block;
	}
}

/* Breadcrumbs (sub header, pe toate paginile în afară de homepage)
--------------------------------------------- */
.breadcrumbs {
	border-bottom: 1px solid var(--yamato-line);
	background-color: var(--yamato-surface);
}

.breadcrumbs__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0.85rem 1.25em;
}

/* Un singur rând, mereu: dacă traseul nu încape (titluri lungi pe telefon), se glisează pe orizontală.
   Altfel bara ar crește pe 3–4 rânduri și ar împinge pagina în jos. */
.breadcrumbs__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	list-style: none;
	font-size: 0.875rem;
	line-height: 1.5;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

/* Bara de glisare nu se afișează: pe telefon nu e nevoie, pe desktop traseul încape oricum */
.breadcrumbs__list::-webkit-scrollbar {
	display: none;
}

.breadcrumbs__item {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

/* Separatorul „›” vine din CSS, ca să nu fie citit de cititoarele de ecran */
.breadcrumbs__item + .breadcrumbs__item::before {
	content: "›";
	margin: 0 0.6rem;
	color: var(--yamato-muted);
}

.breadcrumbs__item a {
	color: var(--yamato-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.breadcrumbs__item a:hover,
.breadcrumbs__item a:focus {
	color: var(--yamato-red);
}

.breadcrumbs__current {
	color: var(--yamato-ink);
}

/* Antet de pagină (template-parts/page-header.php): bandă bej, stânga etichetă roșie + titlu H1 + text,
   dreapta motto-ul cu pătrățele roșii; pe mobil motto-ul trece dedesubt.
   Folosit pe paginile obișnuite și pe paginile de categorie; homepage și pagina de produs au antetul lor.
--------------------------------------------- */
.page-header-bar {
	border-bottom: 1px solid var(--yamato-line);
	background-color: var(--yamato-paper);
}

.page-header-bar__inner {
	display: grid;
	gap: 1rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 1.5rem 1.25em;
}

/* Eticheta: mică, roșie, lipită de titlu */
.page-header-bar__kicker {
	margin: 0 0 0.3rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--yamato-red);
}

.page-header-bar__title {
	margin: 0;
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--yamato-ink);
}

.page-header-bar__text {
	max-width: 60ch;
	margin: 0.35rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--yamato-muted);
}

/* Motto: cuvinte cu majuscule, despărțite de pătrățele roșii */
.page-header-bar__motto {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yamato-ink);
}

.page-header-bar__motto li + li::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 0.9rem;
	background-color: var(--yamato-red);
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.page-header-bar__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 2rem;
		padding-top: 1.75rem;
		padding-bottom: 1.75rem;
	}

	.page-header-bar__motto {
		font-size: 0.75rem;
	}
}

/* Meniu în pagină (lipit sub header): pagina de produs (secțiuni) și paginile de categorie (categorii / game).
   Markup: template-parts/produs/nav.php și template-parts/categorie/nav.php; JS: js/produs-nav.js.
   Pe mobil link-urile se derulează orizontal. Când e lipit (.is-stuck) capătă o umbră.
--------------------------------------------- */
.produs-nav {
	--pn-ink: var(--yamato-ink);
	--pn-muted: var(--yamato-muted);
	--pn-accent: var(--yamato-red);
	--pn-line: var(--yamato-line);
	--pn-bg: var(--yamato-surface);

	position: sticky;
	top: var(--yamato-sticky-top); /* sub header-ul lipit (+ bara de admin) */
	z-index: 50;
	width: 100%;
	border-top: 1px solid var(--pn-line);
	border-bottom: 1px solid var(--pn-line);
	background-color: var(--pn-bg);
	transition: box-shadow 0.2s ease, top var(--yamato-sticky-speed) ease; /* coboară/urcă odată cu topbar-ul */
}

/* Sub antetul de pagină (care are deja linie jos) meniul nu mai are linie sus, ca să nu apară dublă */
.page-header-bar + .produs-nav {
	border-top: 0;
}

.produs-nav.is-stuck {
	border-top-color: transparent;
	box-shadow: 0 6px 18px rgba(28, 26, 25, 0.08);
}

.pn-inner {
	display: flex;
	align-items: center;
	gap: 2rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 1.25em;
}

/* Eticheta din stânga listei (ex. „CATEGORII”, „GAME”); pe telefon se ascunde ca să rămână loc pentru link-uri */
.pn-label {
	display: none;
	flex: 0 0 auto;
	margin: 0;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pn-ink);
}

.pn-list {
	display: flex;
	flex: 1 1 auto;
	gap: 1.75rem;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.pn-list::-webkit-scrollbar {
	display: none;
}

.pn-item {
	flex: 0 0 auto;
}

.pn-link {
	position: relative;
	display: block;
	padding: 1.05rem 0;
	font-size: 0.9375rem;
	line-height: 1.3;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.15s ease;
}

a.pn-link,
a.pn-link:visited {
	color: var(--pn-muted);
}

a.pn-link:hover,
a.pn-link:focus-visible {
	color: var(--pn-ink);
}

/* Numărul mic și gri de după link (ex. „Rezidențiale 5”) */
.pn-count {
	margin-left: 0.35em;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--pn-muted);
}

/* Linia roșie de sub link-ul activ, lipită de marginea de jos a meniului */
.pn-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background-color: var(--pn-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}

a.pn-link.is-active {
	font-weight: 700;
	color: var(--pn-ink);
}

.pn-link.is-active::after {
	transform: scaleX(1);
}

/* Secțiunile nu intră sub header + meniu când se ajunge la ele dintr-un link de pe altă pagină */
.site-main section[id] {
	scroll-margin-top: calc(var(--yamato-sticky-top) + 3.5rem);
}

@media (prefers-reduced-motion: reduce) {
	.produs-nav,
	.pn-link,
	.pn-link::after {
		transition: none;
	}
}

@media screen and (min-width: 768px) {
	.pn-label {
		display: block;
	}
}

@media screen and (min-width: 1024px) {
	.site-main section[id] {
		scroll-margin-top: calc(var(--yamato-sticky-top) + 4rem);
	}

	.pn-list {
		gap: 2.5rem;
	}

	.pn-link {
		padding: 0.9rem 0;
	}
}

/* Formulare (clase yf-*): Contact și Solicită ofertă.
   Pastile pentru alegeri, câmpuri 1 coloană pe telefon / 2 de la 640px, bifă GDPR, mesajul de stare.
--------------------------------------------- */
.yf-form {
	display: grid;
	gap: 1.5rem;
}

.yf-fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.yf-legend,
.yf-field label {
	display: block;
	margin-bottom: 0.45rem;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--yamato-ink);
}

.yf-required {
	color: var(--yamato-red);
}

/* Motivul solicitării: pastile; cea aleasă are chenar și text roșu pe roz pal */
.yf-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.yf-pill {
	position: relative;
	cursor: pointer;
}

.yf-pill input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.yf-pill span {
	display: block;
	padding: 0.55rem 0.95rem;
	border: 1px solid var(--yamato-line);
	font-size: 0.875rem;
	line-height: 1.3;
	color: var(--yamato-ink);
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.yf-pill:hover span {
	border-color: var(--yamato-ink);
}

.yf-pill input:checked + span {
	border-color: var(--yamato-red);
	background-color: var(--yamato-highlight);
	color: var(--yamato-red);
	font-weight: 700;
}

.yf-pill input:focus-visible + span {
	outline: 2px solid var(--yamato-red);
	outline-offset: 2px;
}

/* Câmpuri: 1 coloană pe telefon, 2 de la 640px; mesajul pe toată lățimea */
.yf-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.1rem 1.25rem;
}

.yf-field input,
.yf-field select,
.yf-field textarea {
	display: block;
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--yamato-line);
	border-radius: 0;
	background-color: var(--yamato-surface);
	font-size: 1rem; /* 16px: pe iPhone nu mai face zoom la atingerea câmpului */
	line-height: 1.4;
	color: var(--yamato-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.yf-field textarea {
	min-height: 8rem;
	resize: vertical;
}

.yf-field input:focus,
.yf-field select:focus,
.yf-field textarea:focus {
	border-color: var(--yamato-red);
	outline: none;
	box-shadow: 0 0 0 3px var(--yamato-highlight);
}

.yf-check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--yamato-muted);
	cursor: pointer;
}

.yf-check input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0.1rem 0 0;
	accent-color: var(--yamato-red);
}

.yf-submit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}

.yf-submit.btn {
	padding: 0.9rem 1.75rem;
	font-size: 1rem;
	cursor: pointer; /* <button> nu are mânuță din oficiu */
}

.yf-submit.btn:disabled {
	cursor: default;
	opacity: 0.6;
}

.yf-note {
	font-size: 0.8125rem;
	color: var(--yamato-muted);
}

.yf-status:empty {
	display: none;
}

.yf-field select {
	appearance: none;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354585c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 0.85rem center;
	background-repeat: no-repeat;
	background-size: 16px;
	cursor: pointer;
}

/* Câmpul semnalat greșit de server */
.yf-field .is-invalid {
	border-color: var(--yamato-red);
	box-shadow: 0 0 0 3px var(--yamato-highlight);
}

/* Mesajul după trimitere */
.yf-status {
	padding: 0.85rem 1rem;
	border-left: 3px solid var(--yamato-line);
	background-color: var(--yamato-paper);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--yamato-ink);
}

.yf-status.is-success {
	border-left-color: #2e7d32;
	background-color: #edf7ee;
}

.yf-status.is-error {
	border-left-color: var(--yamato-red);
	background-color: var(--yamato-highlight);
}

/* Câmpul capcană pentru boți: în afara ecranului (nu display:none) */
.yf-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Numărul de produse din lista de ofertă, pe butonul „Solicită ofertă” (js/oferta.js) */
.oferta-badge {
	display: inline-grid;
	place-items: center;
	min-width: 1.25rem;
	height: 1.25rem;
	margin-left: 0.45rem;
	padding: 0 0.3rem;
	border-radius: 999px;
	background-color: var(--yamato-surface);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1;
	color: var(--yamato-red);
}

.btn--outline .oferta-badge {
	background-color: var(--yamato-red);
	color: var(--yamato-surface);
}

.oferta-badge[hidden] {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.yf-pill span,
	.yf-field input,
	.yf-field select,
	.yf-field textarea {
		transition: none;
	}
}

@media screen and (min-width: 640px) {
	.yf-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.yf-field--full {
		grid-column: 1 / -1;
	}
}

/* Suport & Service (deasupra footer-ului)
--------------------------------------------- */
.suport-service {
	padding: 3.5rem 0;
	background-color: var(--yamato-surface);
}

.ss-inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 1.25em;
}

.ss-title {
	margin: 0 0 1.75rem;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--yamato-ink);
}

/* 1 coloană pe telefon, 2 pe tabletă, 3 pe laptop, 6 pe ecran lat (sub 1440px cardurile ar fi prea înguste) */
.ss-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ss-item {
	display: flex;
}

a.ss-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 1.25rem 1.25rem 1.5rem;
	border: 1px solid var(--yamato-line);
	background-color: var(--yamato-surface);
	color: var(--yamato-ink);
	text-decoration: none;
	transition: border-color 0.2s ease;
}

.ss-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

/* min-width + ruperea cuvintelor: titlurile lungi din greacă/bulgară nu pot lărgi cardul */
.ss-card-title {
	min-width: 0;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	font-size: 0.955rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--yamato-ink);
	transition: color 0.2s ease;
}

.ss-card-icon {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
}

.ss-card-text {
	margin-top: 0.75rem;
	font-size: 0.785rem;
	line-height: 1.6;
	color: var(--yamato-muted);
}

/* Hover / focus: chenar și titlu roșii */
a.ss-card:hover,
a.ss-card:focus-visible {
	border-color: var(--yamato-red);
}

a.ss-card:hover .ss-card-title,
a.ss-card:focus-visible .ss-card-title {
	color: var(--yamato-red);
}

a.ss-card:focus-visible {
	outline: 2px solid var(--yamato-red);
	outline-offset: 2px;
}

@media screen and (min-width: 640px) {
	.ss-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 1024px) {
	.suport-service {
		padding: 5rem 0;
	}

	.ss-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.25rem;
	}
}

@media screen and (min-width: 1440px) {
	.ss-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* Footer
--------------------------------------------- */
.site-footer {
	background-color: var(--yamato-ink);
	color: rgba(255, 255, 255, 0.7);
}

.site-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 3.5rem 1.25em 0;
}

.site-footer__top {
	display: grid;
	gap: 2.5rem;
	padding-bottom: 2.5rem;
}

.site-footer__logo-link {
	display: inline-block;
	line-height: 0;
}

/* În footer literele siglei sunt albe; roșul rămâne roșu (vezi .logo-yamato). */
.site-footer__logo {
	color: var(--yamato-surface);
}

.site-footer__about {
	max-width: 34ch;
	margin: 1.25rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
}

.site-footer__social {
	display: flex;
	gap: 1rem;
	margin-top: 1.5rem;
}

.site-footer__social .social-icon svg {
	width: 20px;
	height: 20px;
}

/* Coloane: 2 pe mobil, 4 pe desktop */
.site-footer__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 1.5rem;
}

/* Titlul coloanei cu aceeași liniuță roșie ca etichetele secțiunilor */
.site-footer__col-title {
	display: flex;
	align-items: center;
	gap: 0.7em;
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--yamato-surface);
}

.site-footer__col-title::before {
	content: "";
	flex: 0 0 auto;
	width: 20px;
	height: 2px;
	background-color: var(--yamato-red);
}

.site-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__links li + li {
	margin-top: 0.6rem;
}

.site-footer__links a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.15s ease;
}

.site-footer__links a:hover,
.site-footer__links a:focus {
	color: var(--yamato-surface);
}

/* Bara de jos: copyright + datele firmei */
.site-footer__bottom {
	padding: 1.5rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.8125rem;
}

.site-footer__copy {
	margin: 0;
	color: rgba(255, 255, 255, 0.5);
}

.site-footer__sep {
	margin: 0 0.5em;
}

@media screen and (min-width: 1024px) {
	.site-footer__inner {
		padding-top: 5rem;
	}

	.site-footer__top {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 3fr);
		gap: 4rem;
		padding-bottom: 4rem;
	}

	.site-footer__columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

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

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

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

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

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* Bannerele obligatorii din footer (ANPC, reciclare DEEE), doar pe română — template-parts/footer-legal.php.
   Footer-ul e închis la culoare, iar bannerele oficiale au fundal alb și nu pot fi modificate,
   deci stau pe cartonașe albe, ca să pară intenționat, nu lipite din greșeală. */
.site-footer__legal {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.site-footer__legal-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__legal a,
.site-footer__legal span {
	display: inline-flex;
	padding: 0.4rem 0.55rem;
	border-radius: 4px;
	background-color: var(--yamato-surface);
	transition: box-shadow 0.2s ease;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus {
	box-shadow: 0 0 0 2px var(--yamato-red);
}

.site-footer__legal img {
	display: block;
	width: auto;
}

.site-footer__legal-row--anpc img {
	height: 40px;
}

.site-footer__legal-row--mediu img {
	height: 56px;
}
