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

Stylesheet: Main Stylesheet

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

:root {
	/* Brand colors */
	--c-white: #fff;
	--c-navy:  #002b5c;
	--c-blue:  #00538c;

	/* Semantic roles */
	--c-bg: var(--c-white);
	--c-text: #0a0a0a;
	--c-text-on-dark: var(--c-white);
	--c-primary: var(--c-blue);
	--c-primary-press: #004674;
	--c-secondary: var(--c-navy);
	--c-secondary-press: #001c3c;
	--c-border: #e6e8eb;

	/* Radius & shadows */
	--r-lg: 14px;
	--r-md: 10px;
	--r-sm: 8px;

	--shadow-sm: 0 1px 2px rgba(0,0,0,.06);
	--shadow-md: 0 6px 18px rgba(0,0,0,.08);

	/* Type scale (pairs well with Foundation) */
	--h1: clamp(2rem, 2.5vw + 1.5rem, 3.25rem);
	--h2: clamp(1.6rem, 1.8vw + 1.2rem, 2.5rem);
	--h3: clamp(1.3rem, 1.2vw + 1rem, 1.75rem);
	--lead: 1.15rem;
	--base: 1rem;
	--small: .925rem;

	/* Spacing helpers */
	--space-1: .5rem;
	--space-2: 1rem;
	--space-3: 1.5rem;
	--space-4: 2rem;

	/* Focus ring (accessible) */
	--focus: 0 0 0 3px rgba(0,83,140,.28), 0 0 0 1px var(--c-blue);
}

@font-face {
	font-family: "Jaapokki";
	src: url("../../assets/fonts/jaapokki/Jaapokki-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	/* Alternate: Enchance */
	font-family: "Jaapokki Enchance";
	src: url("../../assets/fonts/jaapokki/Jaapokkienchance-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	/* Alternate: Subtract */
	font-family: "Jaapokki Subtract";
	src: url("../../assets/fonts/jaapokki/Jaapokkisubtract-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

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

STYLE SET 1: GLOBAL & GENERAL

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

html, body {
	background: var(--c-bg);
	color: var(--c-text);
	font-family: "Bitter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: var(--base);
	line-height: 1.6;
	overflow-x: hidden;
}
main {
	margin: 0;
	padding: 0;
}
.container {
	padding: 0 4rem;
	box-sizing: content-box;
	margin: 0 auto;
}
.sticky.is-anchored,
.sticky.is-stuck {
    z-index: 999;
}

/***- ADMIN BAR STICKY FIX -***/
@media screen and (min-width: 655px) and (max-width: 782px) {
    .admin-bar header.header .sticky.is-stuck {
        margin-top: 42px!important;
    }
}
@media screen and (min-width: 783px) {
    .admin-bar header.header .sticky.is-stuck {
        margin-top: 32px!important;
    }
}


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

STYLE SET 2: NAVIGATION MENUS

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


/* -------------------------
   MAIN NAV - DESKTOP
------------------------- */

header.header .sticky.is-stuck,
header.header .sticky.is-anchored {
    z-index: 999;
}
.nav-bar {
    background: var(--c-white);
    box-shadow: 0 2px 4px 0px rgba(0, 0, 0, .08);
    padding: 1.5rem;
}
@media (max-width: 40em) {
	.nav-bar {
		padding: .9rem;
	}
}
.nav-bar .logo img {
    height: 50px;
    margin: 5px 0;
}
.nav-bar .menu li a {
	color: var(--c-text);
	font-weight: 600;
	font-family: "Jaapokki", "Bitter", system-ui, sans-serif;
	letter-spacing: .04em;
	opacity: .8;
}
.nav-bar .menu li a:hover {
    color: var(--c-text);
	text-decoration: none;
	opacity: 1;
}
.nav-bar .menu .active a {
    color: var(--c-text);
    background: none;
    opacity: 1;
}

/*  nav-menu-with-cta.php */
.nav-bar .button {
  margin: 0 0 0 1rem;
}
@media screen and (max-width: 380px) {
  .nav-bar .button {
    display: none !important;
  }
}
.nav-bar .logo-wrapper {
    position: relative;
    z-index: 20;
}
.nav-bar .logo-float-left {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    background: #fff;
    padding: 6px;
    position: absolute;
    bottom: -10px;
    left: 0;
    transform: translateY(50%);
}
@media screen and (max-width: 40em) {
    .nav-bar .logo-float-left {
        width: 70px;
        height: 70px;
        bottom: 0;
    }
}

/* dropdown animation */
.js-dropdown-active {
    animation-fill-mode: both;
    animation-name: dropdown-fade-in;
    animation-duration: .3s;
    /* position: relative; */
}

@keyframes dropdown-fade-in {
    from {opacity: 0;top:90%;}
    to {opacity: 1;top: 100%;}
}

/* Dropdown */
.dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
  padding-right: 1rem;
}
.dropdown.menu>li.menu-item.is-dropdown-submenu-parent>a:after,
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:after {
 border:inset 4px;
 border-color:#333 transparent transparent;
 transition:.2s ease-in-out all;
 border-radius:3px;
 margin-top:-2px
}


/* -------------------------
   MAIN NAV - MOBILE
------------------------- */

.offcanvas-full-screen {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform 0.35s cubic-bezier(.22, .61, .36, 1);
	backface-visibility: hidden;
	background: radial-gradient(circle at 15% 10%, #00538c 0%, #002b5c 55%, #001430 100%);
	color: var(--c-white);
}
/* Textura de minge, aceeasi ca pe antetele de pagina, ca meniul sa apartina marcii */
.offcanvas-full-screen::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/images/basketball-texture.webp');
	background-repeat: repeat;
	opacity: .07;
	pointer-events: none;
}
[data-whatinput='mouse'] .offcanvas-full-screen {
	outline: 0;
}
.offcanvas-full-screen.is-transition-overlap {
	z-index: 999;
}
.offcanvas-full-screen.is-transition-overlap.is-open {
	box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}
.offcanvas-full-screen.is-open {
	transform: translate(0, 0);
}
.offcanvas-full-screen.is-open ~ .off-canvas-content {
	transform: translateX(100%);
}
.offcanvas-full-screen.is-transition-overlap.is-open ~ .off-canvas-content {
	transform: none;
}

/* Structura: antet sus, meniul la mijloc, contact si CTA lipite de baza */
.offcanvas-full-screen-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 1.25rem 1.75rem 2rem;
	text-align: left;
}
.offcanvas-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}
.offcanvas-logo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--c-white);
	padding: 4px;
}
.offcanvas-full-screen-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	background: transparent;
	color: var(--c-white);
	cursor: pointer;
	transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.offcanvas-full-screen-close svg {
	width: 20px;
	height: 20px;
}
.offcanvas-full-screen-close:hover,
.offcanvas-full-screen-close:focus {
	background: rgba(255, 255, 255, .12);
	border-color: var(--c-white);
	transform: rotate(90deg);
}

/* Lista de linkuri */
.offcanvas-full-screen-menu .menu {
	flex-direction: column;
	counter-reset: navnum;
}
.offcanvas-full-screen-menu .menu > li {
	width: 100%;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.offcanvas-full-screen-menu .menu > li > a {
	display: flex;
	align-items: baseline;
	gap: .9rem;
	padding: .95rem 0;
	font-family: "Jaapokki", "Bitter", system-ui, sans-serif;
	font-size: clamp(1.3rem, 6vw, 1.85rem);
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--c-white);
	transition: color .25s ease, transform .25s ease;
}
/* Numerotare automata: 01, 02, 03... */
.offcanvas-full-screen-menu .menu > li > a::before {
	counter-increment: navnum;
	content: counter(navnum, decimal-leading-zero);
	flex: 0 0 auto;
	font-size: .72rem;
	letter-spacing: .12em;
	color: rgba(255, 255, 255, .45);
}
.offcanvas-full-screen-menu .menu > li > a:hover,
.offcanvas-full-screen-menu .menu > li > a:focus {
	color: #79c8ff;
	text-decoration: none;
	transform: translateX(6px);
}
.offcanvas-full-screen-menu .menu .active > a,
.offcanvas-full-screen-menu .menu .current-menu-item > a {
	background: transparent;
	color: #79c8ff;
}
/* Submeniuri (accordion-menu) */
.offcanvas-full-screen-menu .menu .menu a {
	padding-left: 2.6rem;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .78);
}

/* Subsolul meniului */
.offcanvas-foot {
	margin-top: auto;
	padding-top: 2.5rem;
}
.offcanvas-cta.button {
	display: block;
	width: 100%;
	margin: 0 0 1.5rem;
	text-align: center;
	font-size: 1rem;
}
.offcanvas-contact {
	margin: 0;
	list-style: none;
}
.offcanvas-contact li {
	margin-bottom: .4rem;
}
.offcanvas-contact a {
	font-size: .95rem;
	color: rgba(255, 255, 255, .75);
}
.offcanvas-contact a:hover {
	color: var(--c-white);
}

/* Intrare in trepte. Starea ascunsa se aplica doar dupa ce Foundation a pornit
   (clasa is-transition-overlap), ca linkurile sa ramana vizibile fara JS. */
.offcanvas-full-screen.is-transition-overlap .menu > li,
.offcanvas-full-screen.is-transition-overlap .offcanvas-foot {
	opacity: 0;
	transform: translateX(-18px);
}
.offcanvas-full-screen.is-transition-overlap.is-open .menu > li,
.offcanvas-full-screen.is-transition-overlap.is-open .offcanvas-foot {
	animation: offcanvas-item-in .5s cubic-bezier(.22, .61, .36, 1) forwards;
}
@keyframes offcanvas-item-in {
	to { opacity: 1; transform: translateX(0); }
}
.offcanvas-full-screen.is-open .menu > li:nth-child(1) { animation-delay: .10s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(2) { animation-delay: .16s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(3) { animation-delay: .22s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(4) { animation-delay: .28s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(5) { animation-delay: .34s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(6) { animation-delay: .40s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(7) { animation-delay: .46s; }
.offcanvas-full-screen.is-open .menu > li:nth-child(n+8) { animation-delay: .52s; }
.offcanvas-full-screen.is-open .offcanvas-foot { animation-delay: .58s; }

@media (prefers-reduced-motion: reduce) {
	.offcanvas-full-screen,
	.offcanvas-full-screen.is-transition-overlap .menu > li,
	.offcanvas-full-screen.is-transition-overlap .offcanvas-foot {
		transition: none;
		animation: none;
		opacity: 1;
		transform: none;
	}
	.offcanvas-full-screen.is-open {
		transform: translate(0, 0);
	}
	.offcanvas-full-screen-close:hover {
		transform: none;
	}
}

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

STYLE SET 3: CONTENT TYPES

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

/* -------------------------
 CONTENT - HERO 
------------------------- */
/* Inaltimea scade cu cea a barei de navigare, altfel hero-ul depaseste primul
   ecran si continutul centrat ajunge partial sub meniu.
   "safe center" cade automat pe aliniere la inceput daca textul nu incape,
   ca sa nu se reverse niciodata in sus, sub navigare. */
#hero {
	position: relative;
	display: flex;
	align-items: center;
	align-items: safe center;
	min-height: calc(100vh - 7.5rem);
	min-height: calc(100svh - 7.5rem);
	/* Mobile-first: pe telefon servim un crop portret dedicat. Incadrarea e
	   identica cu ce taia oricum `cover` din varianta 16:9, dar sunt ~135 KB mai
	   putin pe calea critica. Breakpoint-urile trebuie sa ramana identice cu
	   atributele `media` de pe preload-urile din madmax_preload_hero_image_home(). */
	background: url('/wp-content/images/hero-img-mobile.webp') center / cover no-repeat;
	color: var(--c-white);
}
@media (min-width: 641px) {
	#hero {
		background-image: url('/wp-content/images/hero-img-1280.webp');
	}
}
@media (min-width: 1025px) {
	#hero {
		background-image: url('/wp-content/images/hero-img.webp');
	}
}
@media (max-width: 40em) {
	#hero {
		min-height: calc(100svh - 5rem);
	}
}

/* Hero-ul e above the fold, deci nu are rost sa astepte IntersectionObserver-ul
   din scripts.js (care la randul lui asteapta jQuery + Foundation + Swiper).
   Aceeasi aparitie, dar pe CSS, fara dependenta de JS. Titlul - candidatul LCP -
   porneste cu delay 0, ca sa fie pictat din primul frame. */
.hero-reveal {
	animation: hero-reveal .6s ease-out both;
}
.hero-reveal-1 { animation-delay: .08s; }
.hero-reveal-2 { animation-delay: .16s; }
.hero-reveal-3 { animation-delay: .24s; }
.hero-reveal-4 { animation-delay: .32s; }

@keyframes hero-reveal {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.hero-reveal {
		animation: none;
	}
}
/* Gradient dinspre stanga: textul sta pe zona intunecata, fotografia ramane
   citibila in dreapta. Pe ecrane mici devine vertical, ca sa acopere tot. */
#hero .overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(100deg,
		rgba(0, 20, 45, .96) 0%,
		rgba(0, 28, 60, .93) 30%,
		rgba(0, 43, 92, .86) 52%,
		rgba(0, 43, 92, .42) 76%,
		rgba(0, 43, 92, .12) 100%);
}
@media (max-width: 64em) {
	#hero .overlay {
		background: linear-gradient(180deg,
			rgba(0, 20, 45, .78) 0%,
			rgba(0, 43, 92, .88) 100%);
	}
}
#hero .grid-container {
	position: relative;
	z-index: 2;
	width: 100%;
}
/* Blocul de continut e mai lat decat textul: titlul si descrierea raman la o
   masura de lectura, dar randul de repere are loc sa stea pe un singur rand. */
#hero .hero-inner {
	max-width: 900px;
	padding: clamp(2rem, 5vh, 3.5rem) 0;
}
#hero .hero-eyebrow,
#hero h1,
#hero .hero-lead {
	max-width: 620px;
}
#hero .hero-eyebrow {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: 0 0 1.25rem;
	font-family: "Jaapokki", "Bitter", system-ui, sans-serif;
	font-size: .82rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
}
#hero .hero-eyebrow::before {
	content: "";
	flex: 0 0 auto;
	width: 40px;
	height: 2px;
	background: currentColor;
}
#hero h1 {
	margin: 0 0 1.25rem;
	font-size: clamp(2.4rem, 5.5vw, 4.75rem);
	line-height: .95;
	font-weight: 800;
	letter-spacing: .02em;
	color: var(--c-white);
}
#hero .hero-lead {
	margin: 0 0 2.25rem;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, .9);
}

/* Butoane */
#hero .hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2.75rem;
}
#hero .hero-actions .button {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	margin: 0;
	padding: 1em 1.75em;
	font-size: .92rem;
	font-weight: 400;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 8px;
	border: 1px solid transparent;
	transition: background .25s ease, border-color .25s ease;
}
#hero .hero-actions .button svg {
	width: 1.05em;
	height: 1.05em;
	flex: 0 0 auto;
	transition: transform .25s ease;
}
#hero .hero-actions .button:hover svg,
#hero .hero-actions .button:focus svg {
	transform: translateX(4px);
}
/* Selectorii repeta ".hero-actions", altfel regula de mai sus (care e mai
   specifica) impune border-color: transparent si bordura ghost dispare. */
#hero .hero-actions .hero-btn-primary {
	background: var(--c-blue);
	border-color: var(--c-blue);
	color: var(--c-white);
}
#hero .hero-actions .hero-btn-primary:hover,
#hero .hero-actions .hero-btn-primary:focus {
	background: #0067ad;
	border-color: #0067ad;
	color: var(--c-white);
	text-decoration: none;
}
#hero .hero-actions .hero-btn-ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .5);
	color: var(--c-white);
}
#hero .hero-actions .hero-btn-ghost:hover,
#hero .hero-actions .hero-btn-ghost:focus {
	background: rgba(255, 255, 255, .12);
	border-color: var(--c-white);
	color: var(--c-white);
	text-decoration: none;
}

/* Randul de repere. Grid, nu flex-wrap: cu flex, un reper care trece pe randul
   urmator primea si el separatorul din stanga si iesea o scara. Aici numarul de
   coloane e explicit, deci stim exact cine are separator. */
#hero .hero-stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin: 0;
	padding: 2rem 0 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
#hero .hero-stat {
	display: flex;
	align-items: center;
	gap: .85rem;
}
#hero .hero-stat svg {
	width: 30px;
	height: 30px;
	flex: 0 0 auto;
	color: rgba(255, 255, 255, .75);
}
#hero .hero-stat span {
	font-size: .85rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, .7);
}
#hero .hero-stat strong {
	display: block;
	font-size: .97rem;
	font-weight: 600;
	color: var(--c-white);
}
/* Trei coloane si separatoare doar de la latimea la care sigur incap */
@media screen and (min-width: 64em) {
	#hero .hero-stats {
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
	}
	#hero .hero-stat {
		padding-right: 1.5rem;
	}
	#hero .hero-stat + .hero-stat {
		padding-left: 1.75rem;
		border-left: 1px solid rgba(255, 255, 255, .18);
	}
}

/* -------------------------
 CONTENT - PAGE HEADERS 
------------------------- */

.page-header,
.archive-header {
	position: relative;
	background-repeat: no-repeat;
	background-size: auto 100%;
	padding: 2.5rem 0;
	background-position: center center;
}
.page-header:before,
.archive-header:before {
	position: absolute;
	content: "";
	background: #00539b;
	background: radial-gradient(circle, var(--c-navy) 0, var(--c-blue) 100%);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
.page-header:after,
.archive-header:after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/images/basketball-texture.webp');
	background-repeat: repeat;
	opacity: 0.1;
	z-index: 2;
}
.archive-header .header-content {
	position: relative;
	z-index: 3;
}
.page-header h1,
.archive-header h1 {
	position: relative;
	text-align: center;
	z-index: 2;
	color: var(--c-white);
}

/* -------------------------
 CONTENT - SECTIONS 
------------------------- */

section {
  padding: 6rem 0;
}
@media (max-width: 40em) {
	section {
		padding: 3rem 0;
	}
}

/* -------------------------------
   Scroll Animations - Base
--------------------------------*/

.animate-on-scroll {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.9s ease-out, transform 0.9s ease-out;
	will-change: opacity, transform;
}
.animate-on-scroll.in-view {
	opacity: 1;
	transform: translateY(0);
}
.animate-fade-up {
	transform: translateY(40px);
}
.animate-fade-left {
	transform: translateX(-40px);
}
.animate-fade-right {
	transform: translateX(40px);
}
.animate-fade-up.in-view,
.animate-fade-left.in-view,
.animate-fade-right.in-view {
	transform: translate(0, 0);
}
.animate-delay {
	transition-delay: 0.2s;
}
.animate-delay-long {
	transition-delay: 0.4s;
}
.animate-delay-longer {
	transition-delay: 0.6s;
}
.animate-delay-longest {
	transition-delay: 0.8s;
}

/* Respecta setarea de sistem pentru reducerea miscarii (tulburari vestibulare).
   Continutul ramane vizibil, dar apare fara deplasare si fara tranzitie. */
@media (prefers-reduced-motion: reduce) {
	.animate-on-scroll,
	.animate-fade-up,
	.animate-fade-left,
	.animate-fade-right {
		opacity: 1;
		transform: none;
		transition: none;
		transition-delay: 0s;
		will-change: auto;
	}
}

/* -------------------------
   CONTENT - ACCORDION
------------------------- */

section.product-info-accordion {
	padding: 3rem 0 6rem 0;
}
.product-info-accordion .accordion {
	border: none;
	background: transparent;
}
.product-info-accordion .accordion-item {
	margin-bottom: 1rem;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e2e2e2;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,0.06);
	transition: all 0.3s ease;
}
.product-info-accordion .accordion-item:hover {
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}
.product-info-accordion .accordion-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	background: #f8f9fa;
	color: #111;
	font-weight: 600;
	font-size: 1.05rem;
	text-decoration: none;
	border: none;
	transition: background 0.25s ease, color 0.25s ease;
	position: relative;
}
.product-info-accordion .accordion-title::after,
.product-info-accordion .accordion-title::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 1rem;
	width: 16px;
	height: 2px;
	background: currentColor;
	transform: translateY(-50%);
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease, background .2s ease;
	pointer-events: none;
}
.product-info-accordion .accordion-title::before {
	margin-top: 0;
}
.product-info-accordion .accordion-title::before {
	transform: translateY(-50%) rotate(90deg);
}
.product-info-accordion .is-active > .accordion-title::before {
	opacity: 0;
	transform: translateY(-50%) rotate(90deg) scaleX(0.3);
}
.product-info-accordion .accordion-item:hover .accordion-title::after,
.product-info-accordion .accordion-item:hover .accordion-title::before {
	height: 2.5px;
}
.product-info-accordion .accordion-content {
	background: #fff;
	padding: 1.25rem 1.5rem;
	color: #333;
	font-size: 0.95rem;
	line-height: 1.6;
	border-top: 1px solid #e2e2e2;
}
.product-info-accordion .accordion-content p,
.product-info-accordion .accordion-content ul,
.product-info-accordion .accordion-content ol {
	margin-bottom: 1rem;
}
.product-info-accordion .accordion-content a {
	color: #1c40ca;
	text-decoration: underline;
}
.product-info-accordion .accordion-content a:hover {
	text-decoration: none;
}
.product-info-accordion .no-reviews p {
	font-weight: 500;
	color: #333;
	margin-bottom: 1rem;
}

/* -------------------------
 CONTENT - TABS
------------------------- */


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

STYLE SET 4: TITLES

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

h1, h2, h3, .h1, .h2, .h3 {
	font-family: "Jaapokki", "Bitter", system-ui, sans-serif;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--c-navy);
	margin-top: 0;
}
h1, .h1 { font-size: var(--h1); }
h2, .h2 { font-size: var(--h2); }
h3, .h3 { font-size: var(--h3); }

@media screen and (min-width: 40em) {
	h1 {
		font-size: 2.5rem;
	}
	h2 {
		font-size: 2rem;
	}
	h3 {
		font-size: 1.6rem;
	}
	h4 {
		font-size: 1.4rem;
	}
	h5 {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 39.9375em) {
	h1 {
		font-size: 2rem;
	}
	h2 {
		font-size: 1.7rem;
	}
	h3 {
		font-size: 1.4rem;
	}
	h4 {
		font-size: 1.2rem;
	}
	h5 {
		font-size: 1.1rem;
	}
}
p.lead { 
	font-size: var(--lead);
	color: #2d3a45;
}


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

STYLE SET 5: BUTTONS

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

/* -------------------------
   LINKS - DEFAULT
------------------------- */
a {
	color: var(--c-blue);
	text-decoration: none;
}
a:hover, a:focus { 
	text-decoration: underline; 
}
:focus-visible { 
	outline: none; 
	box-shadow: var(--focus); 
	border-radius: 6px; }
/* -- ios fix -- */
a[href^=tel] {
	text-decoration:inherit;
	color: inherit;
}

/* -------------------------
   BUTTONS
------------------------- */

.nav-bar a.button,
a.button,
button.button,
input.button {
	font-weight: 300;
	padding: .8em 1.5em;
	background: #99E6D8;
	border-radius: var(--r-lg);
	border: 0;
	color: var(--c-white);
	letter-spacing: .05em;
	font-family: "Jaapokki", "Bitter", system-ui, sans-serif;
}
a.button:hover,
button.button:hover,
input.button:hover,
a.button:focus,
button.button:focus,
input.button:focus {
	background: #79EAD6;
	border: 0;
	outline: none;
}

/* CTA */
a.button.cta,
button.button.cta,
input.button.cta {
	background: var(--c-navy);
	color: var(--c-white);
}
a.button.cta:hover,
button.button.cta:hover,
input.button.cta:hover,
a.button.cta:focus,
button.button.cta:focus,
input.button.cta:focus {
	background: var(--c-blue);
	color: var(--c-white);
}
.nav-bar a.button.hero {
	margin-left: 1rem;
	padding: 1em 2em;
	font-size: 1.05rem;
}

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

STYLE SET 6: PAGE STYLING

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

/* -------------------------
   PAGE - HOME
------------------------- */

section.about {
	padding: 0;
}
.about .cell:first-of-type  {
	align-content: center;
}
.about .about-content {
	padding: 3rem;
	max-width: 550px;
    margin: 0 auto;
}
.about .about-content h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 2rem;
}
.about .about-content h2:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #002b5c, #00538c);
	border-radius: 3px;
}
.news {
	background: var(--c-navy);
}
.news h2 {
	color: var(--c-white);
	margin-bottom: 2rem;
}
/* Carduri de aceeasi inaltime: slide-ul se intinde cat cel mai inalt din rand,
   iar cardul umple slide-ul. Linia cu data si categoria ramane la baza. */
.news .swiper-wrapper {
	align-items: stretch;
}
.news .swiper-slide {
  width: 300px;
  height: auto;
  display: flex;
}
.news .card {
	border: 0;
	border-radius: 1rem;
	width: 100%;
	height: 100%;
	margin-bottom: 0;
}
.news .card-section {
	display: flex;
	flex-direction: column;
}
.news .card-section > .grid-x:last-child {
	margin-top: auto;
}
.news .card img {
  height: 350px;
  object-fit: cover;
  width: 100%;
}
.news .swiper-pagination {
  position: relative;
  margin-top: 1rem;
  text-align: center;
}
.news .swiper-pagination-bullet {
	background: var(--c-white);
	opacity: .8;
}
.news .swiper-pagination-bullet-active {
	background: var(--c-blue);
}
/* Sagetile stau in afara lui .swiper (care e overflow:hidden) si primesc un
   culoar propriu in wrapper, ca sa nu acopere cardurile. */
.news-slider {
	position: relative;
}
@media screen and (min-width: 40em) {
	.news-slider {
		padding-left: 56px;
		padding-right: 56px;
	}
}
.news .news-prev,
.news .news-next {
	width: 42px;
	height: 42px;
	background: none;
	color: var(--c-white);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	opacity: .7;
	transition: opacity 0.3s ease;
}
.news .news-prev::after,
.news .news-next::after {
	font-size: 24px;
	font-weight: 400;
}
.news .news-prev {
	left: 0;
}
.news .news-next {
	right: 0;
}
.news .news-prev:hover,
.news .news-next:hover {
	opacity: 1;
}
/* Sectiunea de articole similare are fundal deschis, acolo sageata alba ar disparea */
.news.related-posts-swiper .news-prev,
.news.related-posts-swiper .news-next {
	color: var(--c-navy);
}
section.products {
	background-color: #f7f8fa;
}
section.products h2 {
	margin-bottom: 2rem;
}
section.products .product-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	overflow: hidden;
	transition: all 0.3s ease;
	list-style: none;
}
section.products .product-card:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
section.products .product-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
section.products .product-image img {
	width: 100%;
	height: auto;
	display: block;
}
section.products .product-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem;
}
section.products .product-left h2 {
	font-size: 14px;
    font-weight: 600;
    padding-top: 0;
    margin: 0 0 5px 0;
    max-width: 220px;
    color: var(--c-navy);
}
section.products .product-rating .star {
	color: #ccc;
	font-size: 0.85rem;
}
section.products .product-rating .filled {
	color: #ffb400;
}
section.products .product-rating .none {
	color: #ddd;
}
section.products .product-rating .review-count {
	margin-left: 4px;
	color: #666;
	font-size: 0.8rem;
}
section.products .product-right {
	font-weight: 600;
	font-size: 1rem;
	color: #002b60;
}
section.products .swiper {
	overflow: hidden;
}
/* Sagetile stau intr-un culoar propriu, in afara cardurilor. Wrapper-ul e in
   afara lui .swiper, altfel overflow:hidden le-ar taia. */
.products-slider {
	position: relative;
}
@media screen and (min-width: 40em) {
	.products-slider {
		padding-left: 56px;
		padding-right: 56px;
	}
}
section.products .swiper .swiper-pagination {
	position: relative;
	margin-top: 1em;
}
.products .shop-prev,
.products .shop-next {
	width: 42px;
	height: 42px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	color: #002b60;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	transition: all 0.3s ease;
}
.products .shop-prev::after,
.products .shop-next::after {
	font-size: 16px;
	font-weight: bold;
}
.products .shop-prev {
	left: 0;
}
.products .shop-next {
	right: 0; 
}
.products .shop-prev:hover,
.products .shop-next:hover {
	transform: translateY(-50%) scale(1.1);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.partners {

}
.partners h2 {
	margin-bottom: 2rem;
}
.partners .cell {
	padding: 1rem;
}
.partners .partner-item {
	background: #f1f3f5;
	border: 1px solid #e6e9ef;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 25px 15px;
	min-height: 108px;
	border-radius: 10px;
	border-left: 1px solid var(--c-navy);
}

/* -------------------------
   PAGE - ABOUT
------------------------- */

.aboutus {
	padding: 0;
}
.aboutus h2 {
	font-size: 1.9rem;
	margin-bottom: 2rem;
	font-weight: 700;
	letter-spacing: -1px;
	text-transform: uppercase;
	position: relative;
	display: inline-block;
}
.aboutus h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #002b5c, #00538c);
	border-radius: 3px;
}
.story-section .story-section-content,
.founder-section .founder-section-content,
.why-section .why-section-content {
	padding: 3rem;
    max-width: 650px;
    margin: 0 auto;
	align-content: center;
}
@media (max-width: 64em) {
	.story-section {
		flex-direction: column-reverse;
	}
}
.story-section p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #444;
}
@media (max-width: 64em) {
	.founder-section {
		flex-direction: column;
	}
}
.purpose-section {
	padding: 2rem 0;
	margin: 0;
	background: var(--c-navy);
	color: var(--c-white);
	position: relative;
	z-index: 2;
}
.purpose-section:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/images/basketball-banner.webp');
	background-size: cover;
	opacity: 0.2;
}
.purpose-section-content {
	max-width: 1290px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
.purpose-section h2 {
	color: var(--c-white);
}
.purpose-section h2:after {
	content: none;
}
.purpose-section-boxes {
	display: flex;	
}
.why-section {
	padding: 6rem 0;
}
@media (max-width: 64em) {
	.why-section {
		padding: 3rem 0;
		flex-direction: column;
	}
}
.value-box {
  padding: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  margin-left: 1rem;
  margin-right: 1rem;
  border-radius: 20px;
  height: 100%;
  background: rgba(255, 255, 255, 0.1); 
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
}
.value-box h3 {
	color: var(--c-white);
	font-weight: 600;
	margin-bottom: 1rem;
	font-size: 1.5rem;
}
.value-box p {
	color: var(--c-white);
	margin: 0;
}
.coaches-section {
	background: #f0f0f0;
}
.coaches-section h2 {
	font-size: 1.9rem;
	margin-bottom: 2rem;
	font-weight: 700;
	letter-spacing: -1px;
}
.coach-card {
	background: #fff;
	padding: 2rem 1.5rem;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}
@media (max-width: 39.9375em) {
	.coach-card {
		width: 350px;
		margin: auto;
	}
}
@media (min-width: 40em) and (max-width: 670px) {
	.coach-card {
		height: 100%;
	}
}
.coach-card img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	border-radius: 50%;
	margin-bottom: 1rem;
	border: 4px solid #eee;
}
.coach-card h3 {
	font-size: 1.2rem;
	margin: 0.5rem 0;
	font-weight: 600;
}
.coach-card p {
	font-size: 0.95rem;
	color: #555;
	line-height: 1.4;
}
.affiliation-section {
	margin-top: 4rem;
}
.affiliation-section p {
	font-size: 1.1rem;
	color: #444;
}
.federation-logo {
	margin-top: 1.5rem;
	max-width: 200px;
	height: auto;
	filter: grayscale(30%);
	transition: filter 0.3s ease;
}
.federation-logo:hover {
	filter: grayscale(0%);
}

/* -------------------------
   PAGE - GALERII
------------------------- */

.galerie-grid {
	margin-top: 2rem;
	margin-bottom: 3rem;
}
.galerie-card {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	height: 400px;
}
.galerie-card img.galerie-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	display: block;
}
.galerie-card:hover img.galerie-thumb {
	transform: scale(1.05);
}
.galerie-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
	color: #fff;
	transition: background 0.3s ease;
}
.galerie-card:hover .galerie-overlay {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.1));
}
.galerie-title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.pagination-centered {
	text-align: center;
	margin-top: 2rem;
}
.pagination-centered .page-numbers {
	display: inline-block;
	margin: 0 4px;
	padding: 8px 12px;
	background: #1e1e1e;
	color: #fff;
	border-radius: 6px;
	transition: all 0.3s ease;
}
.pagination-centered .page-numbers:hover,
.pagination-centered .page-numbers.current {
	background: #ee3625;
	color: #fff;
}

/* -------------------------
   PAGE - GALERIE
------------------------- */

.galerie-hero {
	position: relative;
	width: 100%;
	min-height: 600px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-bottom: 3rem;
}
.galerie-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(1, 43, 92, .8);
}
.galerie-hero-content {
	position: relative;
	z-index: 2;
}
.galerie-hero-content h1 {
	color: var(--c-white);
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.galerie-meta {
	color: #ddd;
	font-size: 0.9rem;
}
.galerie-share {
	margin-top: 0.8rem;
}
.galerie-share a {
	color: #fff;
	font-size: 1.2rem;
	margin: 0 0.4rem;
	transition: color 0.3s;
}
.galerie-share a:hover {
	color: #ee3625;
}
.galerie-content-section {
	margin-top: -90px;
	padding-top: 0;
	padding-left: 1rem;
	padding-right: 1rem;
}
.galerie-media img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}
.wp-block-gallery {
	display: contents;
}
.wp-block-image {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}
.wp-block-image img {
	transition: transform 0.3s ease;
}
.wp-block-image:hover img {
	transform: scale(1.05);
}

/* -------------------------
   PAGE - GRUPE
------------------------- */

.grupe h2 {
	font-size: 2rem;
	margin-bottom: 2rem;
	font-weight: 700;
	color: #222;
}
.grupe .card {
	border-radius: 12px;
	height: 100%;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	transition: transform 0.2s ease;
}
.grupe .card:hover {
	transform: translateY(-5px);
}
.grupe .card-divider {
	font-size: 1.25rem;
	font-weight: 600;
	padding: 1rem;
}
.program {
	background: #f8f9fa;
}
.program h2 {
	font-size: 2rem;
	margin-bottom: 1.5rem;
	font-weight: 700;
	color: #111;
}
.program table {
	border-radius: 8px;
	overflow: hidden;
}
.program table thead {
	background: var(--c-blue);
	color: var(--c-white);
}
.program table th, 
.program table td {
	padding: 1rem;
	font-size: 1rem;
	text-align: center;
}
.beneficii {
	background: var(--c-white);
}
.beneficii h2 {
	font-size: 2rem;
	margin-bottom: 2rem;
	font-weight: 700;
	color: var(--c-text);
}
.beneficii .callout {
	border-radius: 12px;
	padding: 2rem 1.5rem;
	background: #fdfdfd;
	box-shadow: 0 4px 10px rgba(0,0,0,0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.beneficii .callout:hover {
	box-shadow: 0 8px 16px rgba(0,0,0,0.12);
}
.beneficii .callout h4 {
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--c-blue);
}
@media screen and (max-width: 40em) {
	.grupe h2,
	.program h2,
	.beneficii h2 {
		font-size: 1.5rem;
	}
	.program table th, 
	.program table td {
		font-size: 0.9rem;
		padding: 0.75rem;
	}
}

/* -------------------------
   PAGE - REZULTATE
------------------------- */

#filtru-meciuri {
  gap: 30px;
  margin-bottom: 30px;
}
@media (max-width: 64em) {
	#filtru-meciuri {
		flex-direction: column;
		gap: 15px;
	}
}
#filtru-meciuri label {
  display: none;
}
#filtru-meciuri select {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--c-white);
  color: var(--c-navy);
  font-weight: 600;
  border: 1px solid var(--c-navy);
  border-radius: 5px;
  padding: 8px 35px 8px 16px;
  font-size: 15px;
  min-width: 220px;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease-in-out;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg fill='%23000' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 18px;
}
#filtru-meciuri select:focus {
  background-color: var(--c-white);
  border-color: #000;
  outline: none;
}
#selector-luna select {
  border: 1px solid #ccc;
  background: #fff;
  font-size: 16px;
}
.meciuri-luna {
  background: #f8f8f8;
  padding: 20px;
  border-radius: 12px;
}
.meciuri-luna h2 {
  text-transform: uppercase;
  font-weight: 800;
  color: #001850;
  margin-top: 0;
  margin-bottom: 25px;
  text-align: left;
}
.meci {
  background: #fff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.meci .linie-superioara {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  gap: 20px;
}
.meci .echipe {
  font-size: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.meci .echipa {
  flex: 1;
  text-align: center;
  font-weight: 700;
  color: #111;
}
.meci .scor {
  min-width: 100px;
  text-align: center;
  font-weight: bold;
  color: #222;
  font-size: 3rem;
  margin: 0 10px;
}
.meci .detalii {
  text-align: left;
  margin-top: 8px;
  font-size: 0.9em;
  color: #444;
}
.meci .buton-detalii {
  display: inline-block;
  margin-top: 10px;
  background: #ee3625;
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
}
.meci .buton-detalii:hover {
  background: #ca2b1e;
}
@media (max-width: 500px) {
	.meci .echipe {
		font-size: .6rem;
	}
	.meci .scor {
		font-size: .8rem;
	}
	.meci .detalii {
		text-align: center;
	}
}


/* -------------------------
   PAGE - PARTENERI
------------------------- */

.sponsori-hero {
	background: #f9f9f9;
	padding: 3rem 0;
}
.sponsori-hero h2 {
	color: #000053;
	font-weight: 700;
	margin-bottom: 2rem;
}
.sponsori-img {
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	margin-bottom: 1.5rem;
}
.sponsori-beneficii .beneficiu {
	background: var(--c-blue);
	color: #fff;
	border-radius: 50px;
	padding: 1rem;
	font-size: 0.9rem;
	margin: 0.5rem;
	min-height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sponsori-descriere {
	background: #fff;
	padding: 2rem 0;
	font-size: 1.1rem;
	line-height: 1.6;
	color: #333;
}
.sponsori-pachete {
	padding: 4rem 0;
	background: #f0f0f0;
}
.sponsori-pachete h2 {
	font-weight: 700;
	color: var(--c-navy);
	margin-bottom: 5rem;
}
.pachet-wrap {
	position: relative;
	margin-bottom: 3rem;
}
.pachet-wrap.featured {
	margin-top: -2rem;
}
.icon-badge {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #000;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto -40px auto;
	z-index: 2;
	position: relative;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.pachet-card {
	background: #fff8d6;
	border-radius: 16px;
	padding: 3rem 0 1.5rem 0;
	box-shadow: 0 6px 14px rgba(0,0,0,0.1);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	position: relative;
}
.pachet-card h3 {
	font-weight: 700;
	padding-bottom: 1.5rem;
	margin-bottom: 0;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	color: var(--c-navy);
}
.pachet-card ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	text-align: left;
}
.pachet-card ul li {
	padding: 0.8rem 1rem;
	font-size: 0.95rem;
	text-align: center;
}
.pachet-card ul li:nth-child(even) {
	background: #fff1a8;
}
.pachet-card .pret {
	font-size: 1.4rem;
	font-weight: bold;
	color: #333;
	margin-top: auto;
}
.pachet-card.platinum ul {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

/* -------------------------
   PAGE - CONTACT
------------------------- */

.contact {}
.contact-hero {
	position: relative;
	overflow: hidden;
	color: var(--c-white);
	padding: 4rem 2rem;
	display: flex;
}
@media (max-width: 40em) {
	.contact-hero {
		padding: 4rem 1rem;
	}
}
.contact-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: url('/wp-content/images/contact-img.webp') center/cover no-repeat;
	filter: blur(8px);
	transform: scale(1.1);
	z-index: 0;
}
.contact-hero .grid-x {
  align-items: stretch;
}
.contact-hero > * {
	position: relative;
	z-index: 1;
}
.contact-hero .contact-info {
	display: flex;
	flex-direction: column;
	justify-content: space-between; 
}
.contact-hero .contact-info h2,
.contact-hero .contact-info h3 {
	color: var(--c-white);
	text-transform: none;
}
.contact-hero .contact-info a:hover {
	color: var(--c-white);
	text-decoration: none;
}
.animated-link {
	color: var(--c-white);
	position: relative;
	display: inline-block;
}
.animated-link:before, .animated-link:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	border-top-width: 2px;
	border-top-color: var(--c-white);
}
.animated-link::before {
	border-top-style: dashed;
	width: 100%;
}
.animated-link::after {
	border-top-style: solid;
	width: 0;
	transition: width .2s ease;
}
.animated-link:hover:after {
	width: 100%;
}
.contact-form.card {
	background: var(--c-white);
	color: var(--c-text);
	padding: 2rem;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
@media (max-width: 40em) {
	.contact-form.card {
		padding: 1rem;
	}
}
.contact-map {
	position: relative;
}
.map-wrapper {
	position: relative;
}
.map-info.card {
	position: absolute;
	top: 7px;
	left: 7px;
	background: #fff;
	padding: 1.5rem;
	border-radius: 12px;
	max-width: 355px;
	box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

/* -------------------------
   PAGE - CART
------------------------- */

.wc-block-cart__submit-button {
	background: var(--c-navy);
	color: var(--c-white);
	border-color: var(--c-navy);
	border-radius: 4px;
	transition-duration: .2s !important;
	transition-property: color, border-color, background-color !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus{
	background: var(--c-white);
    color: var(--c-navy);
    border: 1px solid var(--c-navy) !important;
	text-decoration: none;
}

/* -------------------------
   PAGE - CHECKOUT
------------------------- */

.woocommerce-page .wc-block-components-checkout-place-order-button {
	float: none;
	width: 100%;
	cursor: pointer;
    background: var(--c-navy);
    color: var(--c-white);
	padding: 16px;
    border-color: var(--c-navy);
    border-radius: 4px;
    transition-duration: .2s !important;
    transition-property: color, border-color, background-color !important;
}

/* -------------------------
   PAGE - BLOG
------------------------- */

section.post {
	padding: 0;
}
.single-post-hero {
    position: relative;
    overflow: hidden;
	margin-bottom: 3rem;
}
.hero-image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}
.hero-image-wrapper img.hero-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 500px;
}
.hero-image-wrapper .overlay {
    position: absolute;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(0, 43, 92, 0) 0%, rgba(0, 43, 92, 0) 50%, rgb(0, 43, 92) 100%);
    z-index: 1;
}
.single-post-hero .grid-container {
	position: absolute;
	bottom: 5rem;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 2;
}
@media (max-width: 64em) {
	.single-post-hero .grid-container {
		width: 100%;
	}
}
.single-post-hero .entry-title {
	color: var(--c-white);
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
}
@media (max-width: 48em) {
	.single-post-hero .entry-title {
		font-size: 1.5rem;
	}
}
.single-post-hero .post-meta {
	color: var(--c-white);
    display: flex;
    flex-direction: column;
	text-align: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.9;
}
.single-post-hero .post-meta a {
	color: var(--c-white);
	border: 1px solid transparent;
	border-radius: 10px;
	padding: .3rem .5rem;
	text-decoration: underline;
	transition: all .3s ease-in-out;
}
.single-post-hero .post-meta a:hover {
	border: 1px solid var(--c-white);
	text-decoration: none;
}

@media (min-width: 1232px) {
    .single-post-hero .post-meta {
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .single-post-hero .post-meta > * {
        margin: 0 0.5rem;
    }
}
.single-post-hero .post-share a {
    margin-left: 0.5rem;
    text-decoration: none;
    color: #fff;
}
.entry-content {
    padding: 2rem 0;
    font-size: 1.1rem;
    line-height: 1.7;
}
.article-footer {
    padding-bottom: 2rem;
}
.news.related-posts-swiper {
	background: #dedede;
}
.news.related-posts-swiper h2 {
	color: var(--c-text);
	font-weight: 600;
    margin-bottom: 2rem;
}
.related-article {
    text-align: center;
    margin-bottom: 2rem;
}
.related-article .related-thumb img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 1rem;
}
.related-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0.5rem 0;
}
.related-date {
    font-size: 0.9rem;
    color: #777;
}
.blog-hero-tile {
    margin-bottom: 2rem;
}
.hero-post-inner {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 20px;
}
.hero-thumb img {
	width: 100%;
	height: auto;
	max-height: 760px;
	object-fit: cover;
	object-position: center;
	display: block;
}
.hero-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(transparent 30%, rgba(0, 43, 92, 0.7) 60%, rgba(0, 43, 92, 0.65) 100%);
}
.hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3rem;
    color: var(--c-white);
}
.hero-content h2 {
	color: var(--c-white);
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.hero-meta {
    display: flex!important;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}
.hero-meta .post-category {
	color: var(--c-white);
    background: transparent;
	border: 1px solid var(--c-white);
    border-radius: 20px;
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    text-transform: uppercase;
	transition: all .3s ease-in-out;
}
.hero-meta .post-category:hover {
	color: var(--c-text);
	background: var(--c-white);
	border: 1px solid var(--c-white);
}
.blog-card-tile .card {
    border-radius: 1rem;
    overflow: hidden;
    background: var(--c-white);
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    transition: transform 0.2s ease;
}
.card-thumb img {
    max-height: 350px;
    object-fit: cover;
    width: 100%;
	height: 350px;
}
.card-section {
    padding: 1rem;
}
.blog-card-tile .card:hover .card-section h3 {
	text-decoration: none;
}
.card-meta {
    display: flex!important;
    justify-content: space-between;
    font-size: 0.85rem;
    color: var(--c-text);
}

/* -------------------------
   PAGE - CATEGORIE PRODUS
------------------------- */

section.products-container {
	padding: 0;
}
.product-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.product-card a.product-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
/* Badge-ul de reducere. Pana acum venea din CSS-ul WooCommerce; de cand acesta
   nu mai e incarcat pe paginile din afara magazinului (vezi
   madmax_dequeue_woocommerce_assets), regula trebuie sa existe in tema.
   Markup-ul vine din w_custom_percentage_sale_badge(): <span class="onsale">-25%</span> */
.product-card .product-image {
  position: relative;
}
.product-card .product-image .onsale {
  position: absolute;
  top: .5rem;
  right: .5rem;
  z-index: 2;
  margin: 0;
  padding: .25rem .5rem;
  border-radius: 4px;
  background: var(--c-navy);
  color: var(--c-white);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.2;
}

.product-card .product-image img {
  width: 100%;
  height: auto;
  display: block;
}
.product-card .product-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid #eee;
}
@media (max-width: 1100px) {
	.product-card .product-info {
		flex-direction: column;
		text-align: center;
	}
}
.woocommerce ul.products li.product.product-card .woocommerce-loop-product__title {
	font-size: 14px;
	font-weight: 600;
	padding-top: 0;
	margin: 0 0 5px 0;
	max-width: 220px;
	color: #000;
}
@media (max-width: 490px) {
	.woocommerce ul.products li.product.product-card .woocommerce-loop-product__title {
		min-height: 85px;
	}
}
.product-card .product-rating {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 13px;
}
@media (max-width: 1100px) {
	.product-card .product-rating {
		justify-content: center;
	}
}
.product-card .product-rating .star {
  font-size: 14px;
  line-height: 1;
}
.product-card .product-rating .star.filled {
  color: #f5b400;
}
.product-card .product-rating .star.empty {
  color: #ccc;
}
.product-card .product-rating .star.none {
  color: #ddd;
}
.product-card .product-rating .review-count {
  color: #666;
  font-size: 12px;
  margin-left: 3px;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product.product-card .product-right .price {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-text);
  white-space: nowrap;
}
@media (max-width: 576px) {
	.woocommerce .woocommerce-ordering {
		width: 100%
	}
}

/* -------------------------
   PAGE - PRODUS
------------------------- */

.breadcrumbs {
    justify-content: center;
    display: flex;
	position: relative;
	z-index: 2;
}
.breadcrumbs .woocommerce-breadcrumb,
.breadcrumbs .woocommerce-breadcrumb a{
	color: var(--c-white);
}
.product-image-gallery.single-image .main-image {
	width: 100%;
}
.product-image-gallery.single-image .thumbnails {
	display: none;
}
.product-image-gallery.has-gallery .image-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
@media (max-width: 40em) {
	.product-image-gallery.has-gallery .image-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
.product-image-gallery.has-gallery .image-item a {
	display: block;
	width: 100%;
}
.product-image-gallery.has-gallery img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.product-image-gallery.has-gallery .image-item {
	position: relative;
	overflow: hidden;
}
.product-image-gallery.has-gallery .image-item::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	background: rgba(255, 255, 255, 0.9) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-eye" viewBox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z"/><circle cx="12" cy="12" r="3"/></svg>') no-repeat center center;
	background-size: 24px;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.7);
	opacity: 0;
	transition: all 0.3s ease;
	pointer-events: none;
}
.product-image-gallery.has-gallery .image-item:hover::after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
.product-summary {
	padding-left: 4.8rem;
}
@media (max-width: 64em) {
	.product-summary {
		padding-left: 0;
	}
}
.product-summary h1 {
	font-size: 26px;
	text-transform: none;
	font-weight: bold;
}
.woocommerce .woocommerce-product-rating .star-rating {
    margin: .4em 4px 20px 0;
}
.product-purchase {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 2rem;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .product-add-to-cart .single_add_to_cart_button.button {
	background: var(--c-blue);
	color: var(--c-white);
	font-size: 1rem;
	padding: .875rem 1.5rem;
	width: 100%;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .product-add-to-cart .single_add_to_cart_button.button:hover {
	background: var(--c-navy);
	color: var(--c-white);
}
.help {
	display: flex;
    flex-direction: column;
    padding: 25px 35px;
    background-position: top, right, bottom, left;
    max-width: 430px;
    background-size: 25px 1px, 1px 25px;
    background-repeat: repeat-x, repeat-y;
    background-image: radial-gradient(circle at 1px, var(--c-navy) 1px, rgba(255, 255, 255, 0) 1px), radial-gradient(circle, #164196 1px, rgba(255, 255, 255, 0) 1px), radial-gradient(circle at 1px, #164196 1px, rgba(255, 255, 255, 0) 1px), radial-gradient(circle, #164196 1px, rgba(255, 255, 255, 0) 1px);
}
.help ul {
	list-style: none;
}
.responsive-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2rem;
}
.responsive-table th,
.responsive-table td {
	border: 1px solid #ddd;
	padding: 8px 10px;
	text-align: center;
}
.responsive-table th {
	background-color: #f5f5f5;
	font-weight: 600;
}

/* Responsive stacking */
@media (max-width: 640px) {
	.responsive-table thead {
		display: none;
	}
	.responsive-table,
	.responsive-table tbody,
	.responsive-table tr,
	.responsive-table td {
		display: block;
		width: 100%;
	}
	.responsive-table tr {
		margin-bottom: 1rem;
		border: 1px solid #ccc;
		border-radius: 6px;
		padding: 10px;
		background: #fff;
	}
	.responsive-table td {
		text-align: left;
		padding: 8px 10px;
		border: none;
		border-bottom: 1px solid #eee;
		position: relative;
	}
	.responsive-table td:last-child {
		border-bottom: none;
	}
	.responsive-table td::before {
		content: attr(data-label);
		font-weight: 600;
		display: block;
		margin-bottom: 4px;
		color: #555;
	}
}

/* -------------------------
PAGE - CONT
------------------------- */

.woocommerce-dashboard .woocommerce {
	display: flex;
	gap: 2rem;
}
@media (max-width: 64em) {	
	.woocommerce-dashboard .woocommerce {
		flex-direction: column;
	}
}
.woocommerce-MyAccount-navigation {
	width: 30%;
	max-width: 400px;
}
@media (max-width: 64em) {
	.woocommerce-MyAccount-navigation {
		width: 100%;
		max-width: 100%;
	}
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	border: 1px solid hsla(0, 0%, 7%, .11);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a, .woocommerce-MyAccount-content a {
	color: #565660;
}
.woocommerce-MyAccount-content a {
	text-decoration: underline;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-MyAccount-navigation ul li {
    border: 1px solid #ddd;
    margin-bottom: 5px;
    border-radius: 5px;
    overflow: hidden;
}
.woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: #fff;
    font-weight: bold;
    text-decoration: none;
    color: #333;
    transition: background 0.3s ease, color 0.3s ease;
    position: relative;
}
.woocommerce-MyAccount-navigation ul li a::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.3s ease, background-image 0.3s ease;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    background: #f5f5f5;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
    background: #f5f5f5;
}
.form-row.show_if_pers_jur {
	clear: both;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper,
.woocommerce-account .password-input {
	margin-bottom: 20px;
}
.woocommerce-account .woocommerce-Button.button, 
.woocommerce-account .woocommerce-address-fields .button,
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
	padding: 12px 27px;
    border-radius: 4px;
    display: inline-block;
    font-weight: 500;
    font-size: 15px;
    line-height: 18px;
    background: #3c5b9c;
    color: #fff;
    border: 1px solid #3c5b9c;
    margin-right: 24px;
}
.woocommerce-lost-password .woocommerce-Button.button {
	margin-right: 0;
}
.woocommerce-account .woocommerce-Button.button:hover,
.woocommerce-account .woocommerce-address-fields .button:hover,
.woocommerce-account.woocommerce-edit-account .button:hover,
.woocommerce-account.woocommerce-edit-address .button:hover,
.woocommerce-lost-password .woocommerce-Button.button:hover,
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit:hover {
    background: #fff;
    color: #3c5b9c;
    border: 1px solid #3c5b9c;
}
.woocommerce-LostPassword.lost_password a {
	color: #000;
	opacity: 1;
	text-decoration: underline;
	transition: opacity .2s ease-in-out;
}
.woocommerce-LostPassword.lost_password a {
	opacity: .8;
}
.woocommerce-MyAccount-content {
	width: 70%;
}
@media (max-width: 64em) {
	.woocommerce-MyAccount-content {
		width: 100%;
	}
}

/* -------------------------
   PAGE - 404
------------------------- */
.error404 .content-not-found {
  min-height: calc(60vh - 200px);
  padding: 2rem 0;
}
.error404 .content-not-found h1 {
  margin-bottom: 1rem;
}
.error404 .content-not-found h1 span {
  font-weight: 900;
  letter-spacing: 1px;
  text-align: center;
  font-size: 3em;
  background: #000000;
  /* background: rgb(2,0,36);
  background: linear-gradient(56deg, rgba(2,0,36,1) 0%, rgba(9,11,122,1) 27%, rgba(5,104,184,1) 100%);  */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.error404 .content-not-found p {
  opacity: .8;
}

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

STYLE SET 7: FORMS

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

/* -------------------------
   FORMS - BASE STYLING
------------------------- */


.frm_button_submit {
	width: 100%;
}
/* .gform_wrapper form .gform_fields {} */
.gform_wrapper form .gform_fields .gfield {
    margin-bottom: 1rem;
}
.gform_wrapper form .gform_fields .gfield input,
.gform_wrapper form .gform_fields .gfield textarea {
    padding: .7rem!important;
    height: auto;
    border: none;
    background: #f5f7f7;
    box-shadow: none;
    /* box-shadow: 0px 1px 8px 0 rgb(0 0 0 / 10%), 0 4px 10px 0 rgb(0 0 0 / 9%); */
    transition: .2s all ease-in-out;
    border-radius:6px;
    margin: 0;
}
.gform_wrapper form .gform_fields .gfield input:focus,
.gform_wrapper form .gform_fields .gfield textarea:focus {
    height: auto;
    border: none;
    background-color: #eff2f2;
    box-shadow: none;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color:#666666;
    opacity: 1;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color:#666666;
    opacity: 1;
}
input::placeholder,
textarea::placeholder {
    color:#666666;
    opacity: 1;
}

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

STYLE SET 8: SIDEBARS

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

/* -------------------------
   SIDEBAR - DEFAULT
------------------------- */

.sidebar li {
  list-style: none;
}
.widget ul {
  margin: 0;
}

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

STYLE SET 9: FOOTER

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

.footer {
	/* margin-top: 6rem; */
}
.footer .menu .active > a {
	background: transparent;
	color: var(--c-white);
	text-decoration: underline;
}
.footer p {
	margin: 0;
}

/* medium footer */
.middle-footer {
	padding: 4rem;
	background: var(--c-navy);
	color: var(--c-text-on-dark);
}
@media (max-width: 64em) {
	.middle-footer .grid-x .cell {
		margin-bottom: 2rem;
	}
	.middle-footer .grid-x .cell:last-of-type {
		margin-bottom: 0;
	}
}
.middle-footer h2,
.middle-footer a {
	color: var(--c-text-on-dark);
}
.middle-footer h2 {
	font-size: 1.1rem;
	font-weight: 700;
}
.middle-footer a {
	padding-left: 0;
}

/* lower footer */
.lower-footer {
	font-size: 1.1rem;
	padding: 1rem;
	background: #333;
}
.lower-footer nav ul li a {
	color: #f4f4f4;
	background: none;
}
.lower-footer nav ul li.active a {
	background: none;
	color: #f4f4f4;
}
/* .lower-footer nav ul li.current_page_item a {} */
.lower-footer nav ul li a:hover {
	color: #fff;
}
.copyright, .w-footer-sig a span {
	color: #f4f4f4
}

/* sig */
.w-footer-sig {
	width: 50%;
	float: right;
	text-align: right;
}
.w-footer-sig a {
	display: inline-block;
	text-decoration: none;
	white-space: nowrap;
}
.w-footer-sig a:hover {
	text-decoration: none;
}
.w-footer-sig .w-footer-sig-main {
	display: flex;
    align-items: center;
	color: var(--c-white);
	text-decoration: none;
}
.w-footer-sig .w-footer-sig-main img {
	display: inline-block;
	vertical-align: middle;
	max-width: 25px;
	margin-left: 13px;
}

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

STYLE SET 10: WP JOINTS STYLING

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

.page-title .vcard {
	border: 0px;
	padding: 0px;
}
.byline {
	color: #999;
}
.entry-content video, .entry-content object {
	max-width: 100%;
	height: auto;
}
.entry-content pre {
	background: #eee;
	border: 1px solid #cecece;
	padding: 10px;
}
.wp-caption {
	max-width: 100%;
	background: #eee;
	padding: 5px;
}
.wp-caption img {
	max-width: 100%;
	margin-bottom: 0;
	width: 100%;
}
.wp-caption p.wp-caption-text {
	font-size: 0.85em;
	margin: 4px 0 7px;
	text-align: center;
}
.post-password-form input[type="submit"] {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 1rem 0;
	font-family: inherit;
	padding: 0.85em 1em;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid transparent;
	border-radius: 0;
	transition: background-color 0.25s ease-out, color 0.25s ease-out;
	font-size: 0.9rem;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	background-color: #1779ba;
	color: #fefefe;
}
[data-whatinput='mouse'] .post-password-form input[type="submit"] {
	outline: 0;
}
.post-password-form input[type="submit"]:hover, .post-password-form input[type="submit"]:focus {
	background-color: #14679e;
	color: #fefefe;
}
body#tinymce {
	margin: 20px;
}


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

STYLE SET 11: EXTENSION STYLES

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



/* -------------------------
   EXTENSION - GOOGLE MAPS
------------------------- */