/* ==========================================================================
   Team Guard – stiluri temă (completează theme.json)
   Culori: galben #FFF100 · negru #141414 · turcoaz #00B1BB · turcoaz închis #00656B
   ========================================================================== */

:root {
	--tg-yellow: var(--wp--preset--color--yellow, #FFF100);
	--tg-black: var(--wp--preset--color--black, #141414);
	--tg-teal: var(--wp--preset--color--teal, #00B1BB);
	--tg-teal-dark: var(--wp--preset--color--teal-dark, #00656B);
	--tg-teal-soft: var(--wp--preset--color--teal-soft, #C9DFE1);
	--tg-heading: var(--wp--preset--font-family--heading);
	--tg-gutter: clamp(1rem, 3vw, 2rem);
}

/* --------------------------------------------------------------------------
   Protecție împotriva CSS-ului injectat de pluginurile vechi (Webbu Aura /
   Redux „auramobile_options”), care forțează Roboto/Arial pe body, a, h1–h6
   indiferent de temă. Selectorii „html body” câștigă în fața lor.
   -------------------------------------------------------------------------- */
html body {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
	font-weight: 400;
	font-style: normal;
	color: var(--wp--preset--color--ink);
}
html body a { font-family: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; font-style: inherit; }
html body :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-style: normal;
	line-height: 1.15;
	color: var(--wp--preset--color--black);
	text-transform: uppercase;
}
html body h1 { font-size: var(--wp--preset--font-size--xx-large); }
html body h2 { font-size: var(--wp--preset--font-size--x-large); }
html body h3 { font-size: var(--wp--preset--font-size--large); }
html body h4 { font-size: 1.15rem; }
html body h5 { font-size: 1rem; }
html body h6 { font-size: .9rem; }

/* Fără spații albe între secțiunile de pe prima pagină */
.wp-site-blocks > * + *,
.tg-home > * + *,
.tg-home .wp-block-post-content > * + * { margin-block-start: 0; }
.tg-home .wp-block-post-content > .screen-reader-text + * { margin-block-start: 0; }
.tg-main { padding-bottom: 0; }

/* Text doar pentru cititoare de ecran (SEO / accesibilitate) */
.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;
}

/* ----------------------------------------------------------- Bara de sus */
.tg-topbar {
	border-bottom: 2px solid var(--tg-black);
	padding-block: 6px;
	position: relative;
	z-index: 30;
}
.tg-topbar__inner { gap: .5rem 1.5rem; padding-inline: var(--tg-gutter); }
.tg-brandwrap { gap: .75rem; }
.tg-logo { margin: 0 0 -46px 0; position: relative; z-index: 31; }
.tg-logo img {
	width: clamp(64px, 7vw, 116px);
	height: auto;
	filter: drop-shadow(2px 3px 2px rgba(0,0,0,.35));
}
.tg-brand {
	font-family: var(--tg-heading);
	font-weight: 800;
	font-style: italic;
	font-size: clamp(1.7rem, 3.2vw, 3rem);
	line-height: 1;
	letter-spacing: .01em;
	margin: 0;
}
.tg-brand a { color: var(--tg-black); text-decoration: none; }
.tg-topbar__contact { gap: .5rem 1.5rem; }
.tg-social { gap: .7rem !important; }
.tg-social .wp-social-link svg { width: 1.45rem; height: 1.45rem; }
.tg-phone {
	font-family: var(--tg-heading);
	font-weight: 800;
	font-style: italic;
	font-size: clamp(1.25rem, 2vw, 1.9rem);
	margin: 0;
	white-space: nowrap;
}
.tg-phone a { color: var(--tg-black); text-decoration: none; }

/* ----------------------------------------------------------------- Hero */
.home .tg-hero--inner.wp-block-cover { min-height: 520px !important; }
.tg-hero.wp-block-cover { padding: 0; align-items: stretch; overflow: visible; }
.tg-hero .wp-block-cover__inner-container {
	display: grid;
	grid-template-columns: 1fr minmax(260px, 340px);
	grid-template-rows: 1fr auto;
	min-height: inherit;
	padding: 0 var(--tg-gutter);
	width: 100%;
}
.tg-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
.tg-hero__info {
	grid-column: 2; grid-row: 1;
	align-self: start;
	background: rgba(222, 222, 222, .86);
	color: var(--tg-black);
	padding: 1.1rem 1.25rem 1.5rem;
	margin-top: 1.25rem !important;
	font-size: .95rem;
	line-height: 1.45;
	box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.tg-hero__title { font-size: 1.15rem; font-weight: 800; font-style: italic; margin: 0 0 .4rem; }
.tg-hero__info p { margin: 0; }
.tg-hero__bottom {
	grid-column: 1 / -1; grid-row: 2;
	align-items: flex-end;
	margin-bottom: 1.25rem !important;
	position: relative; z-index: 5;
}
.tg-search { flex: 0 1 560px; margin: 0; }
.tg-search .wp-block-search__inside-wrapper {
	background: var(--tg-yellow);
	border: 2px solid var(--tg-black) !important;
	padding: 0;
	box-shadow: 4px 4px 0 #3a3a3a;
}
.tg-search .wp-block-search__input {
	background: transparent; border: 0; color: var(--tg-black);
	font-size: 1rem; padding: .7rem 1rem;
}
.tg-search .wp-block-search__input::placeholder { color: #55520a; }
.tg-search .wp-block-search__button {
	background: transparent; color: var(--tg-black); border: 0; margin: 0;
	padding: .4rem .9rem; box-shadow: none;
}
.tg-search .wp-block-search__button svg { width: 1.6rem; height: 1.6rem; fill: currentColor; }
.tg-hero__cta { margin: 0 !important; }

/* --------------------------------------------------- Bara de meniu galbenă */
.tg-navbar {
	border-block: 2px solid var(--tg-black);
	padding-block: .55rem;
	position: relative;
	z-index: 20;
}
.tg-navbar__inner { padding-inline: var(--tg-gutter); gap: 1rem; }
.tg-nav { gap: .25rem 1.6rem; }
.tg-nav .wp-block-navigation-item__content {
	color: var(--tg-black);
	font-size: 1.08rem;
	padding-bottom: .3rem;
	border-bottom: 2px solid var(--tg-black);
	text-decoration: none;
}
.tg-nav .wp-block-navigation-item__content:hover { border-bottom-color: var(--tg-teal); }
.tg-nav .wp-block-navigation__submenu-container {
	background: var(--tg-yellow) !important;
	border: 2px solid var(--tg-black) !important;
	min-width: 280px !important;
	box-shadow: 4px 4px 0 #3a3a3a;
}
.tg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-bottom: 1px solid rgba(0,0,0,.15);
	padding: .55rem .9rem;
	font-size: 1rem;
}
.tg-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--tg-yellow) !important;
	padding: 2rem var(--tg-gutter);
}

/* Butonul turcoaz „Deschide tichet online” */
.tg-ticket-wrap { margin: -.35rem 0 !important; flex-shrink: 0; position: relative; z-index: 2; }
.tg-hero ~ .tg-navbar .tg-ticket-wrap { margin: -1.6rem 0 -.3rem !important; } /* pe prima pagină butonul urcă spre hero, ca în machetă */
.wp-block-button.is-style-ticket .wp-block-button__link {
	background: var(--tg-teal);
	color: #fff;
	border: 2px solid var(--tg-black);
	box-shadow: 4px 4px 0 #3a3a3a;
	font-family: var(--wp--preset--font-family--body);
	font-style: normal;
	font-weight: 400;
	font-size: 1.35rem;
	text-transform: none;
	line-height: 1.05;
	text-align: center;
	padding: .45em 1.2em .5em;
}
.wp-block-button.is-style-ticket .wp-block-button__link strong {
	display: block;
	font-family: var(--tg-heading);
	font-weight: 700;
	font-style: normal;
	font-size: 1.55rem;
	text-transform: uppercase;
	letter-spacing: .01em;
}
.wp-block-button.is-style-ticket .wp-block-button__link:hover { background: var(--tg-teal-dark); color: #fff; }

/* ----------------------------------------------------- Secțiuni generale */
.tg-section { padding-block: var(--wp--preset--spacing--60); padding-inline: var(--tg-gutter); }
.tg-section__title { margin-bottom: var(--wp--preset--spacing--50); font-weight: 800; font-style: italic; }

/* Cardurile „Licențe” / „Servicii orientate către client” */
.tg-features__cols { gap: clamp(1.5rem, 6vw, 5rem) !important; }
.tg-card {
	padding: 1.4rem 1.6rem 1.6rem;
	min-height: 220px;
	height: 100%;
	box-shadow: 0 6px 18px rgba(0,60,65,.14);
}
.tg-card--left { text-align: right; }
.tg-card__title { font-size: 1.15rem; font-weight: 800; font-style: italic; margin-bottom: .5rem; }
.tg-card p { font-size: .98rem; margin-block: 0 .6rem; }
.tg-card__more a { color: var(--tg-teal-dark); font-weight: 600; text-decoration: none; }
.tg-card__more a:hover { text-decoration: underline; }

/* Banda „Servicii complete” */
.tg-band {
	padding: var(--wp--preset--spacing--60) var(--tg-gutter) calc(var(--wp--preset--spacing--60) + 10px);
	border-bottom: 1px solid #d5e2e3;
}
.tg-band__title { font-size: 1.3rem; font-weight: 800; font-style: italic; }
.tg-band__cta { margin-top: var(--wp--preset--spacing--50) !important; }
.tg-btn-xl .wp-block-button__link { font-size: clamp(1.7rem, 3vw, 2.6rem); padding: .3em 1em; border-width: 3px; }

/* Cifre */
.tg-stats.wp-block-cover { padding-block: var(--wp--preset--spacing--60); }
.tg-stats__cols { gap: 1.5rem !important; }
.tg-stat { text-align: center; }
.tg-stat__icon { margin: 0 auto .4rem !important; }
.tg-stat__icon img { width: 56px; height: 56px; }
.tg-stat__num {
	color: var(--tg-yellow);
	font-family: var(--tg-heading);
	font-weight: 800;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	line-height: 1;
	margin: 0 !important;
}
.tg-stat__label { color: #fff; font-size: clamp(1.1rem, 1.8vw, 1.5rem); margin: .2rem 0 0 !important; }

/* Parteneri */
.tg-partners { border-block: 2px solid var(--tg-black); padding: 1rem var(--tg-gutter); }
.tg-partners__row { gap: 1.5rem 2rem; align-items: center; }
.tg-partner { margin: 0; flex: 0 1 auto; }
.tg-partner img { height: clamp(36px, 4.5vw, 60px); width: auto; display: block; }

/* Grila de servicii */
.tg-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3.5rem);
	max-width: 1180px;
	margin-inline: auto;
}
.tg-svc {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 38%;
	align-items: start;
	min-height: 120px;
	background: linear-gradient(90deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%);
	border: 1px solid #dbe6e7;
	box-shadow: 0 4px 14px rgba(0,60,65,.08);
	margin: 0 !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.tg-svc:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,60,65,.16); }
.tg-svc__title {
	grid-column: 1; grid-row: 1;
	font-family: var(--wp--preset--font-family--body);
	text-transform: none;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.3;
	text-align: right;
	margin: 1.6rem 1.4rem 1rem 1rem;
}
.tg-svc__title a { color: var(--tg-black); text-decoration: none; }
.tg-svc__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; } /* tot cardul e clickabil */
.tg-svc__img { grid-column: 2; grid-row: 1; margin: -16px 0 -16px !important; }
.tg-svc__img img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

.tg-svc--right { grid-template-columns: 38% 1fr; background: linear-gradient(270deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%); }
.tg-svc--right .tg-svc__img { grid-column: 1; }
.tg-svc--right .tg-svc__title { grid-column: 2; text-align: left; margin: 1.6rem 1rem 1rem 1.4rem; }

/* Rama galbenă (stil de bloc pentru imagini – se alege din editor) */
.wp-block-image.is-style-yellow-frame img,
.wp-block-post-featured-image.is-style-yellow-frame img {
	border: 6px solid var(--tg-yellow);
	box-shadow: 0 0 0 1px rgba(0,0,0,.06);
}

/* Bara de reclamații */
.tg-complaint { padding: var(--wp--preset--spacing--50) var(--tg-gutter); margin-inline: auto !important; }
.tg-complaint__text { margin: 0; text-align: center; font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.tg-complaint__text a { color: var(--wp--preset--color--red); text-decoration: none; }
.tg-complaint__text a:hover { text-decoration: underline; }
.tg-complaint__icon { width: 40px; height: 40px; vertical-align: middle; margin: 0 .5rem; display: inline-block; }

/* -------------------------------------------------------------- Subsol */
.tg-footer { padding: 2rem var(--tg-gutter) 1rem; }
.tg-footer a { color: #fff; text-decoration: none; }
.tg-footer a:hover { color: var(--tg-yellow); }
.tg-footer__cols { gap: 0 !important; align-items: stretch !important; }
.tg-footer__cols > .wp-block-column { padding: .25rem 2rem; }
.tg-footer__cols > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255,255,255,.7); }
.tg-footer__links { text-align: right; }
.tg-footer__list { list-style: none; padding: 0; margin: 0; line-height: 1.75; }
.tg-footer__logo { margin: 0 auto .25rem !important; }
.tg-footer__logo img { width: 54px; height: auto; }
.tg-footer__apptitle { margin: 0 0 .6rem !important; font-size: 1.15rem; }
.tg-footer__badges { gap: .75rem; }
.tg-badge { margin: 0; }
.tg-badge img { height: 34px; width: auto; display: block; }
.tg-footer__soon { line-height: 1.35; margin: .4rem 0 .8rem; font-size: 1.05rem; }
.tg-footer__cards img { height: 30px; width: auto; }
.tg-footer__copy { opacity: .8; margin-top: 1.5rem !important; }

/* ------------------------------------------------- Pagini interioare / blog */
.tg-single, .tg-archive, .tg-404 { padding-block: var(--wp--preset--spacing--60); padding-inline: var(--tg-gutter); }
.tg-page { padding-block: var(--wp--preset--spacing--60) 0; }
.tg-page__head { padding-inline: var(--tg-gutter); }
.tg-page > .wp-block-post-content { padding-bottom: var(--wp--preset--spacing--50); }
.tg-landing { padding: 0; }
.tg-page__title { font-weight: 800; font-style: italic; }
.tg-page__title::after {
	content: ""; display: block; width: 72px; height: 6px;
	background: var(--tg-yellow); border: 1px solid var(--tg-black); margin-top: .6rem;
}
.tg-meta { color: #5d6a6c; font-size: .9rem; }
.tg-posts__grid { gap: 2rem !important; }
.tg-post-card__title { font-size: 1.25rem; }
.tg-post-card__title a { color: var(--tg-black); text-decoration: none; }

/* Formulare (Contact Form 7 etc. moștenesc aspectul) */
.wp-block-post-content input[type="text"],
.wp-block-post-content input[type="email"],
.wp-block-post-content input[type="tel"],
.wp-block-post-content select,
.wp-block-post-content textarea {
	width: 100%; padding: .7rem .9rem; border: 2px solid var(--tg-black);
	background: #fff; font: inherit; border-radius: 0;
}
.wp-block-post-content input:focus,
.wp-block-post-content textarea:focus { outline: 3px solid var(--tg-teal); outline-offset: 1px; }
.wp-block-post-content input[type="submit"],
.wp-block-post-content button[type="submit"] {
	background: var(--tg-yellow); color: var(--tg-black); border: 2px solid var(--tg-black);
	box-shadow: 6px 6px 0 #3a3a3a; font-family: var(--tg-heading); font-weight: 800; font-style: italic;
	text-transform: uppercase; font-size: 1.35rem; padding: .45em 1.2em; cursor: pointer;
}

/* ============================================================== Responsive */
@media (max-width: 1100px) {
	.tg-nav { gap: .25rem 1rem; }
	.tg-nav .wp-block-navigation-item__content { font-size: 1rem; }
}

@media (max-width: 900px) {
	.tg-logo { margin-bottom: 0; }
	.tg-hero .wp-block-cover__inner-container { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; }
	.tg-hero.wp-block-cover { min-height: 460px !important; }
	.tg-hero--inner.wp-block-cover { min-height: 340px !important; }
	.home .tg-hero--inner.wp-block-cover { min-height: 460px !important; }
	.tg-hero__info { grid-column: 1; grid-row: 3; margin: 1rem 0 1.5rem !important; max-width: 100%; }
	.tg-hero__bottom { grid-row: 2; margin-bottom: 1rem !important; align-self: end; }
	.tg-search { flex-basis: 100%; }
	.tg-navbar__inner { padding-top: 0; }
	.wp-block-button.is-style-ticket .wp-block-button__link { font-size: 1rem; }
	.wp-block-button.is-style-ticket .wp-block-button__link strong { font-size: 1.15rem; }
	.tg-services__grid { grid-template-columns: 1fr; }
	.tg-stats__cols { display: grid !important; grid-template-columns: repeat(2, 1fr); }
	.tg-footer__cols > .wp-block-column { padding: 1rem 0; text-align: center; }
	.tg-footer__cols > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid rgba(255,255,255,.4); }
	.tg-footer__links { text-align: center; }
	.tg-card--left { text-align: left; }
	.tg-partners__row { justify-content: center !important; }
}

@media (max-width: 600px) {
	.tg-topbar__inner { justify-content: center !important; }
	.tg-topbar__contact { justify-content: center; width: 100%; }
	.tg-hero__info { display: none; }
	.tg-svc, .tg-svc--right { grid-template-columns: 40% 1fr; background: linear-gradient(270deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%); min-height: 120px; }
	.tg-svc .tg-svc__img { grid-column: 1; margin: -10px 0 -10px -6px !important; }
	.tg-svc .tg-svc__title { grid-column: 2; text-align: left; margin: 1rem .9rem; }
	.tg-partner img { height: 32px; }
}

@media (prefers-reduced-motion: reduce) {
	.tg-svc { transition: none; }
	.tg-svc:hover { transform: none; }
}


/* ==========================================================================
   v1.0.5 – detalii din machetă: butoane tip „panglică” cu colțuri pliate,
   bandă albă între imagine și meniu, liniuțele meniului lipite de bază.
   ========================================================================== */

/* Panglică: colțurile pliate (triunghiuri închise) lângă capetele de jos ale
   butonului – exact ca în machetă: triunghiul stă lângă buton, nu sub el. */
:root { --tg-fold: 12px; --tg-fold-yellow: #3d3807; --tg-fold-teal: #10373a; }

.wp-block-button__link.wp-element-button,
.tg-search .wp-block-search__inside-wrapper {
	position: relative;
	border: 0 !important;
	box-shadow: 0 3px 6px rgba(0,0,0,.35) !important;
	overflow: visible;
}
.wp-block-button__link.wp-element-button::before,
.wp-block-button__link.wp-element-button::after,
.tg-search .wp-block-search__inside-wrapper::before,
.tg-search .wp-block-search__inside-wrapper::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 0; height: 0;
	border-top: var(--tg-fold) solid var(--tg-fold-yellow);
	pointer-events: none;
}
.wp-block-button__link.wp-element-button::before,
.tg-search .wp-block-search__inside-wrapper::before { left: calc(-1 * var(--tg-fold)); border-left: var(--tg-fold) solid transparent; }
.wp-block-button__link.wp-element-button::after,
.tg-search .wp-block-search__inside-wrapper::after { right: calc(-1 * var(--tg-fold)); border-right: var(--tg-fold) solid transparent; }
.wp-block-button__link.wp-element-button:hover { background: #ffe800; color: var(--tg-black); }

/* Hero: căutarea și butonul coboară peste marginea de jos a imaginii */
.tg-hero.wp-block-cover { margin-bottom: 44px; }
.tg-hero__bottom { margin-bottom: calc(-1 * var(--tg-fold)) !important; align-items: flex-end; }
.tg-hero__info { align-self: stretch; margin-top: 0 !important; margin-bottom: 0 !important; }
.tg-search .wp-block-search__inside-wrapper { background: var(--tg-yellow); }

/* Bara de meniu: margini subțiri, liniuțe groase exact la bază */
.tg-navbar { border-block: 1px solid #b9b9a0; padding-block: 0 !important; }
.tg-navbar__inner { align-items: stretch !important; }
.tg-nav { align-self: stretch; align-items: stretch; }
.tg-nav > .wp-block-navigation__container,
.tg-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { align-items: stretch; gap: 0 1.1rem; }
.tg-nav .wp-block-navigation__container > .wp-block-navigation-item { align-items: stretch; }
.tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex; align-items: center;
	padding: .8rem .45rem .55rem;
	border-bottom: 5px solid #1d1d1b;
	font-size: 1.12rem;
}
.tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon { align-self: center; margin-left: -.35rem; margin-right: .2rem; }
.tg-nav .wp-block-navigation-item__content:hover { border-bottom-color: var(--tg-teal) !important; }

/* Tichet online: panglică turcoaz pliată sus și jos, iese din bara de meniu */
.wp-block-button.is-style-ticket { position: relative; }
.wp-block-button.is-style-ticket .wp-block-button__link { border: 0 !important; box-shadow: 0 -3px 6px rgba(0,0,0,.25), 0 3px 6px rgba(0,0,0,.3) !important; }
.wp-block-button.is-style-ticket .wp-block-button__link::before,
.wp-block-button.is-style-ticket .wp-block-button__link::after { border-top-color: var(--tg-fold-teal); }
.wp-block-button.is-style-ticket::before,
.wp-block-button.is-style-ticket::after {
	content: ""; position: absolute; top: 0; width: 0; height: 0;
	border-bottom: var(--tg-fold) solid var(--tg-fold-teal);
}
.wp-block-button.is-style-ticket::before { left: calc(-1 * var(--tg-fold)); border-left: var(--tg-fold) solid transparent; }
.wp-block-button.is-style-ticket::after { right: calc(-1 * var(--tg-fold)); border-right: var(--tg-fold) solid transparent; }
.tg-ticket-wrap,
.tg-hero ~ .tg-navbar .tg-ticket-wrap {
	/* înălțime = bara de meniu (cu marginile ei de 1px) + colțul de sus + colțul de jos */
	margin: calc(-1 * var(--tg-fold) - 1px) var(--tg-fold) calc(-1 * var(--tg-fold) - 1px) 0 !important;
	align-self: stretch; align-items: stretch !important; z-index: 5; display: flex;
}
.tg-ticket-wrap .wp-block-button { display: flex; align-self: stretch; }
.tg-ticket-wrap .wp-block-button__link { display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Banda „Servicii complete”: butonul stă pe marginea de jos a benzii */
.tg-band { display: flow-root; padding-bottom: 0 !important; border-bottom: 1px solid #cfdfe0; box-shadow: 0 6px 10px -8px rgba(0,60,65,.35); overflow: visible; margin-bottom: 5.2rem !important; }
.tg-band__cta { margin-bottom: calc(-1 * var(--tg-fold)) !important; position: relative; z-index: 2; }

@media (max-width: 900px) {
	.tg-hero.wp-block-cover { margin-bottom: 30px; }
	.tg-hero__bottom { margin-bottom: calc(-1 * var(--tg-fold)) !important; }
	.tg-hero ~ .tg-navbar .tg-ticket-wrap { margin: calc(-1 * var(--tg-fold) - 1px) var(--tg-fold) calc(-1 * var(--tg-fold) - 1px) 0 !important; }
	.tg-navbar__inner { align-items: stretch !important; min-height: 52px; }
	.tg-nav { align-self: center; }
	.tg-hero__info { align-self: auto; }
}

/* Logo-urile partenerilor încap pe un singur rând pe desktop */
.tg-partners__row { flex-wrap: nowrap !important; }
.tg-partner { flex: 0 1 auto; min-width: 0; }
.tg-partner img { max-width: 100%; height: auto; max-height: clamp(34px, 4vw, 58px); width: auto; object-fit: contain; }
@media (max-width: 900px) {
	.tg-partners__row { flex-wrap: wrap !important; }
	.tg-partner img { max-height: 36px; }
}

/* Caseta „Intervenție rapidă”, „Solicită ofertă” și „Tichet online” – aceeași lățime,
   aliniate pe aceeași coloană din dreapta (ca în machetă). */
:root { --tg-side: clamp(280px, 24vw, 340px); }
@media (min-width: 901px) {
	.tg-hero .wp-block-cover__inner-container { grid-template-columns: 1fr var(--tg-side); }
	.tg-hero__info { width: var(--tg-side); box-sizing: border-box; }
	.tg-hero__bottom { flex-wrap: nowrap !important; }
	.tg-hero__cta { width: var(--tg-side); flex: 0 0 var(--tg-side); }
	.tg-hero__cta .wp-block-button { width: 100%; }
	.tg-hero__cta .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
	.tg-hero ~ .tg-navbar .tg-ticket-wrap { width: var(--tg-side); flex: 0 0 var(--tg-side); margin-right: 0 !important; }
	.tg-ticket-wrap .wp-block-button { width: 100%; }
	.tg-ticket-wrap .wp-block-button__link { width: 100%; box-sizing: border-box; }
}
/* meniul și butonul „Tichet” aliniate pe aceleași margini ca imaginea de sus */
.tg-navbar__inner { padding-inline: max(0px, calc(var(--tg-gutter) - 1rem)) !important; }
/* căutarea și „Solicită ofertă” au aceeași înălțime; caseta coboară până la buton */
@media (min-width: 901px) {
	.tg-hero__cta .wp-block-button__link,
	.tg-search .wp-block-search__inside-wrapper { min-height: 48px; box-sizing: border-box; }
	.tg-hero__cta .wp-block-button__link { display: flex; align-items: center; justify-content: center; }
	.tg-hero__info { margin-bottom: 6px !important; }
}
/* Pe ecrane foarte late, conținutul imaginii de sus rămâne pe aceeași lățime ca meniul */
.tg-hero .wp-block-cover__inner-container { max-width: 1440px; margin-inline: auto; box-sizing: border-box; }
/* aceleași margini laterale pentru bara de sus, imagine și meniu, la orice lățime */
.tg-topbar.alignfull, .tg-navbar.alignfull { padding-left: 0 !important; padding-right: 0 !important; }
.tg-topbar__inner, .tg-navbar__inner { padding-inline: var(--tg-gutter) !important; box-sizing: border-box; }

/* ==========================================================================
   v1.1 – slider pe prima pagină, strat turcoaz pe paginile generale
   ========================================================================== */
.tg-hero--general.wp-block-cover { min-height: clamp(200px, 17.5vw, 340px) !important; }
.tg-hero--general.tg-hero--noinfo .wp-block-cover__inner-container { grid-template-rows: 1fr auto; }
.tg-hero .tg-slide__img { opacity: 0; transition: opacity .9s ease; }
.tg-hero .tg-slide__img.is-active { opacity: 1; }
.tg-hero .tg-hero__layer { z-index: 1; }
.tg-hero .wp-block-cover__inner-container { z-index: 2; }
.tg-slide__text { display: none; }
.tg-slide__text.is-active { display: block; animation: tgFade .6s ease; }
.tg-slide__text p { margin: 0 0 .5rem; }
.tg-slide__more a { color: var(--tg-teal-dark); font-weight: 600; text-decoration: none; }
.tg-slide__more a:hover { text-decoration: underline; }
@keyframes tgFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.tg-hero__info { display: flex; flex-direction: column; }
.tg-dots { display: flex; gap: .45rem; margin-top: auto; padding-top: .9rem; }
.tg-dot {
	width: 12px; height: 12px; padding: 0; border-radius: 50%; cursor: pointer;
	border: 2px solid var(--tg-black); background: transparent;
}
.tg-dot.is-active { background: var(--tg-yellow); }
.tg-dot:focus-visible { outline: 3px solid var(--tg-teal); outline-offset: 2px; }
.tg-hero--noinfo .wp-block-cover__inner-container { grid-template-columns: 1fr; }
@media (prefers-reduced-motion: reduce) {
	.tg-hero .tg-slide__img, .tg-slide__text.is-active { transition: none; animation: none; }
}
@media (max-width: 600px) {
	/* pe telefon caseta e ascunsă; punctele rămân vizibile peste imagine */
	.tg-hero--slider .tg-hero__info { display: block; background: none; box-shadow: none; padding: 0; grid-row: 1; align-self: start; margin: .75rem 0 0 !important; }
	.tg-hero--slider .tg-slide__text { display: none !important; }
	.tg-hero--slider .tg-dots { padding: 0; }
	.tg-hero--slider .tg-dot { border-color: #fff; }
}
/* ecrane medii (laptop mic / tabletă orizontal): meniul rămâne pe un rând */
@media (min-width: 901px) and (max-width: 1180px) {
	.tg-nav > .wp-block-navigation__container,
	.tg-nav .wp-block-navigation__container { gap: 0 .35rem !important; flex-wrap: nowrap !important; }
	.tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: .92rem; padding-inline: .3rem; }
	:root { --tg-side: clamp(220px, 22vw, 280px); }
	.wp-block-button.is-style-ticket .wp-block-button__link { font-size: 1.05rem; }
	.wp-block-button.is-style-ticket .wp-block-button__link strong { font-size: 1.2rem; }
}


/* ==========================================================================
   v1.2 – pagină fluidă pe orice ecran (telefon, tabletă, laptop, ecran lat)
   ========================================================================== */

/* ---- 1. Conținutul vechi (pagini/articole din Shell Lite) nu mai iese din ecran */
html, body { overflow-x: clip; }
.wp-block-post-content { overflow-wrap: anywhere; }
.wp-block-post-content img,
.wp-block-post-content video,
.wp-block-post-content canvas { max-width: 100% !important; height: auto; }
.wp-block-post-content iframe,
.wp-block-post-content embed,
.wp-block-post-content object { max-width: 100% !important; }
.wp-block-post-content .wp-caption,
.wp-block-post-content figure,
.wp-block-post-content [style*="width"] { max-width: 100% !important; box-sizing: border-box; }
.wp-block-post-content .wp-caption img { width: 100%; }
.wp-block-post-content .alignleft,
.wp-block-post-content .alignright { max-width: 50%; }
.wp-block-post-content pre { overflow-x: auto; white-space: pre-wrap; }
.wp-block-post-content table { max-width: 100%; }

@media (max-width: 782px) {
  /* tabelele de date (prețuri etc.) se derulează în interiorul lor, nu toată pagina */
  .wp-block-post-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; width: auto !important; }
  .wp-block-post-content .alignleft,
  .wp-block-post-content .alignright { float: none; max-width: 100%; margin-inline: 0; }
  /* tabelele folosite pentru așezare (hartă + adresă, poze + text) se pun una sub alta */
  .wp-block-post-content table:has(iframe, img),
  .wp-block-post-content table:has(iframe, img) :is(tbody, thead, tr, td, th) {
    display: block; width: 100% !important; max-width: 100%; box-sizing: border-box;
  }
  .wp-block-post-content table:has(iframe, img) { overflow: visible; }
  .wp-block-post-content table:has(iframe, img) td { padding-inline: 0; }
  .wp-block-post-content iframe { width: 100% !important; }
  .wp-block-post-content iframe[src*="google.com/maps"],
  .wp-block-post-content iframe[src*="youtube"],
  .wp-block-post-content iframe[src*="vimeo"] { height: auto !important; aspect-ratio: 4 / 3; }
}

/* ---- 2. Butonul „Sunați acum” (plugin) – mereu jos, în dreapta, nu peste conținut */
#draggable.quick-call-button,
.quick-call-button {
  top: auto !important; left: auto !important;
  right: 10px !important;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  transform: none !important;
  z-index: 9990 !important;
}
@media (min-width: 901px) {
  .quick-call-button { display: none !important; } /* pe desktop telefonul e deja vizibil în antet */
}

/* ---- 3. Antet compact pe telefon */
@media (max-width: 600px) {
  .tg-topbar { padding-block: 4px; }
  .tg-topbar__inner { flex-wrap: wrap !important; gap: .25rem .75rem !important; justify-content: space-between !important; }
  .tg-brandwrap { gap: .5rem; flex: 0 1 auto; }
  .tg-logo img { width: 48px; }
  .tg-brand { font-size: clamp(1.35rem, 6.5vw, 1.7rem); }
  .tg-topbar__contact { width: 100%; justify-content: space-between !important; flex-wrap: nowrap !important; gap: .5rem; }
  .tg-social { gap: .55rem !important; flex-wrap: nowrap !important; }
  .tg-social .wp-social-link svg { width: 1.15rem; height: 1.15rem; }
  .tg-phone { font-size: clamp(1.05rem, 4.8vw, 1.3rem); }

  /* imaginea de sus mai joasă; căutarea și „Solicită ofertă” pe aceeași lățime */
  .tg-hero.wp-block-cover,
  .home .tg-hero--inner.wp-block-cover { min-height: 230px !important; margin-bottom: 22px; }
  .tg-hero--inner.wp-block-cover,
  .tg-hero--general.wp-block-cover { min-height: 150px !important; }
  .tg-hero__bottom { flex-direction: column !important; align-items: stretch !important; gap: .6rem !important; }
  .tg-search { flex: 1 1 auto; width: 100%; }
  .tg-hero__cta, .tg-hero__cta .wp-block-button, .tg-hero__cta .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
  .tg-hero__cta .wp-block-button__link { font-size: 1.15rem; }

  /* meniul (☰) și „Tichet online” pe același rând, mai subțire */
  .tg-navbar__inner { min-height: 48px; flex-wrap: nowrap !important; }
  .wp-block-button.is-style-ticket .wp-block-button__link { font-size: .85rem; padding-inline: .9em; }
  .wp-block-button.is-style-ticket .wp-block-button__link strong { font-size: 1rem; }
}

/* ---- 4. Meniul: butonul ☰ până la 900px (pe tabletă meniul nu se mai rupe pe 2 rânduri) */
.tg-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
@media (min-width: 600px) and (max-width: 900px) {
  .tg-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .tg-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .tg-nav .wp-block-navigation__responsive-container.is-menu-open {
    display: flex; position: fixed; inset: 0; z-index: 100000; overflow-y: auto;
  }
  .tg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
  .tg-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start !important; }
  .tg-nav .is-menu-open .wp-block-navigation__submenu-container {
    position: static !important; opacity: 1 !important; visibility: visible !important;
    height: auto !important; width: auto !important; min-width: 0 !important; box-shadow: none; border: 0 !important; background: transparent !important;
  }
  .tg-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
}
/* în meniul deschis: linkuri mari, ușor de atins cu degetul */
.tg-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem !important; padding: .55rem 0 !important; border-bottom-width: 2px !important; }
.tg-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem !important; padding: .4rem 0 .4rem 1rem !important; border-bottom: 0 !important; }

/* ---- 5. Secțiuni și carduri fluide */
.tg-section, .tg-band, .tg-partners, .tg-complaint, .tg-footer { padding-inline: var(--tg-gutter); }
.tg-features__cols { flex-wrap: wrap !important; }
.tg-features__cols > .wp-block-column { flex: 1 1 min(100%, 380px) !important; }
.tg-card { min-height: 0; }
.tg-band { margin-bottom: clamp(3rem, 7vw, 5.2rem) !important; }

/* servicii: 2 coloane și pe tabletă, carduri compacte pe telefon */
@media (min-width: 601px) and (max-width: 900px) {
  .tg-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
  .tg-svc, .tg-svc--right {
    grid-template-columns: 42% 1fr;
    background: linear-gradient(270deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%);
  }
  .tg-svc .tg-svc__img { grid-column: 1; margin: -10px 0 -10px -6px !important; }
  .tg-svc .tg-svc__title { grid-column: 2; text-align: left; margin: .9rem .8rem; font-size: 1rem; }
}
@media (max-width: 600px) {
  .tg-services__grid { gap: 1.6rem; }
  .tg-svc, .tg-svc--right { min-height: 96px; }
  .tg-svc .tg-svc__title { font-size: 1rem; margin: .8rem .8rem; }
  .tg-stats.wp-block-cover { padding-block: 2rem; }
  .tg-stat__icon img { width: 44px; height: 44px; }
  .tg-complaint__text { font-size: 1rem; }
  .tg-complaint__icon { width: 32px; height: 32px; }
}

/* ---- 6. Ecrane mari: conținutul crește odată cu ecranul */
@media (min-width: 1600px) {
  :root { --tg-gutter: clamp(2rem, 4vw, 4rem); }
  .tg-services__grid { max-width: 1320px; }
  .tg-svc__title { font-size: 1.35rem; }
  .tg-card p { font-size: 1.05rem; }
}

/* ---- 7. Zone de atingere de min. 32px pe telefon/tabletă (iconițe, telefon, linkuri subsol) */
@media (max-width: 900px) {
  .tg-social { gap: .1rem !important; }
  .tg-social .wp-social-link a { padding: 7px !important; }
  .tg-phone a { display: inline-block; padding-block: 6px; }
  .tg-footer__list a { display: inline-block; padding-block: 6px; }
  .tg-footer__list { line-height: 1.4; }
}

/* ---- 8. Tabletă/telefon orizontal (480–900px): căutarea și „Solicită ofertă” pe același rând */
@media (min-width: 480px) and (max-width: 900px) {
  .tg-hero__bottom { flex-wrap: nowrap !important; align-items: flex-end !important; gap: 1.5rem !important; padding-inline: var(--tg-fold); box-sizing: border-box; }
  .tg-search { flex: 1 1 auto !important; min-width: 0; }
  .tg-hero__cta { flex: 0 0 auto; }
  .tg-search .wp-block-search__inside-wrapper,
  .tg-hero__cta .wp-block-button__link { min-height: 48px; box-sizing: border-box; }
  .tg-hero__cta .wp-block-button__link { display: flex; align-items: center; justify-content: center; white-space: nowrap; }
}
@media (min-width: 480px) and (max-width: 600px) {
  .tg-hero__bottom { flex-direction: row !important; }
  .tg-hero__cta, .tg-hero__cta .wp-block-button, .tg-hero__cta .wp-block-button__link { width: auto !important; }
  .tg-hero__cta .wp-block-button__link { font-size: 1rem !important; padding-inline: .8em !important; }
}

/* ---- 9. Meniul deschis (☰) stă deasupra antetului cu logo; butonul ✕ e mereu vizibil */
html.has-modal-open .tg-navbar,
.tg-navbar:has(.wp-block-navigation__responsive-container.is-menu-open) { z-index: 100000 !important; }
.tg-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; z-index: 100000 !important; }
.tg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; z-index: 2; padding: 10px; }
.tg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.tg-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; background: transparent !important; min-width: 0 !important; }

/* ---- 10. Meniul deschis: antetul cu logo, telefon și iconițe rămâne vizibil deasupra lui */
:root { --tg-topbar-h: 106px; }
@media (min-width: 601px) and (max-width: 900px) { :root { --tg-topbar-h: 78px; } }
html.has-modal-open .tg-topbar,
html:has(.tg-nav .is-menu-open) .tg-topbar {
  position: fixed !important; left: 0; right: 0;
  top: var(--wp-admin--admin-bar--height, 0px);
  z-index: 100001 !important;
  background: var(--tg-yellow);
}
.tg-nav .wp-block-navigation__responsive-container.is-menu-open {
  top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--tg-topbar-h)) !important;
  border-top: 2px solid var(--tg-black);
}
.tg-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; }
.tg-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: .5rem !important; right: .5rem !important; }
.tg-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2.5rem !important; }

/* ---- 11. Telefon îngust (sub 480px): căutarea stă deasupra butonului – fără colțuri pliate, cu umbră */
@media not all and (min-width: 480px) {
  .tg-search .wp-block-search__inside-wrapper::before,
  .tg-search .wp-block-search__inside-wrapper::after { display: none !important; }
  .tg-search .wp-block-search__inside-wrapper { box-shadow: 0 4px 10px rgba(0,0,0,.38) !important; }
}

/* ---- 12. Spațiu între „Solicită ofertă” și butonul „Tichet online” din bara de meniu, la orice lățime */
@media (max-width: 900px) {
  .tg-hero.wp-block-cover,
  .home .tg-hero--inner.wp-block-cover { margin-bottom: 40px !important; }
}

/* ---- 13. Meniul pe desktop: săgeata submeniului centrată sub text, deasupra liniuței groase.
   Între 901 și 960px meniul nu încape pe un rând, așa că rămâne butonul ☰ (ca pe tabletă). */
@media (min-width: 900.5px) and (max-width: 960.49px) {
  .tg-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .tg-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .tg-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex; overflow-y: auto; }
  .tg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
  .tg-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start !important; flex-wrap: nowrap !important; }
  .tg-nav .is-menu-open .wp-block-navigation__submenu-container {
    position: static !important; opacity: 1 !important; visibility: visible !important;
    height: auto !important; width: auto !important; min-width: 0 !important;
  }
  .tg-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
  .tg-navbar__inner { min-height: 52px; }
}
@media (min-width: 960.5px) {
  .tg-nav .wp-block-navigation__container > .wp-block-navigation-item { position: relative; }
  .tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding-bottom: 1.15rem !important; }
  .tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
    position: absolute; left: 50%; bottom: calc(5px + .2rem);
    transform: translateX(-50%);
    margin: 0 !important; padding: 0; width: 14px; height: 10px;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none;
  }
  .tg-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; }
}

/* ---- 14. Butonul ☰ centrat vertical în bara de meniu și între 901–960px */
@media (min-width: 900.5px) and (max-width: 960.49px) {
  .tg-navbar__inner { align-items: stretch !important; }
  .tg-nav { align-self: center !important; align-items: center !important; }
}

/* ---- 15. Hover: butoanele galbene puțin mai închise; în meniu textul ia culoarea liniuței de jos */
.wp-block-button__link.wp-element-button:hover,
.wp-block-button__link.wp-element-button:focus-visible { background: #FFD000; color: var(--tg-black); }
.wp-block-button.is-style-ticket .wp-block-button__link:hover { background: var(--tg-teal-dark); color: #fff; }
.tg-nav .wp-block-navigation-item__content:hover,
.tg-nav .wp-block-navigation-item__content:focus-visible,
.tg-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: var(--tg-teal-dark) !important; border-bottom-color: var(--tg-teal-dark) !important; }
.tg-nav .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon { color: var(--tg-teal-dark); }

/* ---- 16. Hover turcoaz închis și pe iconițele sociale și telefonul din antet */
.tg-social .wp-social-link a,
.tg-phone a { transition: color .15s ease; }
.tg-social .wp-social-link svg { fill: currentColor; }
.tg-social .wp-social-link:hover a,
.tg-social .wp-social-link a:hover,
.tg-social .wp-social-link a:focus-visible,
.tg-phone a:hover,
.tg-phone a:focus-visible { color: var(--tg-teal-dark) !important; }

/* ---- 17. „Serviciile noastre”: la hover pe card, rama imaginii devine turcoaz închis */
.tg-svc .tg-svc__img img { transition: border-color .2s ease; }
.tg-svc:hover .tg-svc__img img,
.tg-svc:focus-within .tg-svc__img img { border-color: var(--tg-teal-dark) !important; }

/* ---- 18. Articole: coloană de citit de max. 820px, imagini proporționate, navigare între articole */
.tg-single__meta { gap: .25rem .5rem; margin-top: .75rem; color: #5d6a6c; font-size: .95rem; }
.tg-single__meta .wp-block-post-date,
.tg-single__meta .wp-block-post-terms { margin: 0; }
.tg-single__meta a { color: var(--tg-teal-dark); text-decoration: none; }
.tg-single__meta a:hover { text-decoration: underline; }
.tg-single__content { margin-top: var(--wp--preset--spacing--40); font-size: clamp(1.02rem, .98rem + .2vw, 1.12rem); line-height: 1.7; }
.tg-single__content > * + * { margin-block-start: 1.1em; }
.tg-single__content :is(h2, h3, h4) { margin-block: 1.6em .5em; }
.tg-single__content img { display: block; margin-inline: auto; max-height: 85vh; width: auto; max-width: 100% !important; height: auto; }
.tg-single__content figure,
.tg-single__content .wp-caption { margin-inline: auto; }
.tg-single__content figcaption,
.tg-single__content .wp-caption-text { font-size: .9rem; color: #5d6a6c; text-align: center; margin-top: .4rem; }
.tg-single__content a { color: var(--tg-teal-dark); text-decoration: underline; text-underline-offset: 2px; }
.tg-single__content a:hover { color: var(--tg-black); }
.tg-single__content blockquote { border-left: 5px solid var(--tg-yellow); margin-inline: 0; padding: .3rem 0 .3rem 1rem; font-style: italic; }
.tg-single__content :is(ul, ol) { padding-left: 1.3em; }
.tg-single__content iframe[src*="youtube"],
.tg-single__content iframe[src*="vimeo"] { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; }
.tg-single .tg-page__image img { width: 100%; height: auto; max-height: 70vh; object-fit: cover; }

.tg-postnav { gap: 1rem; margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.5rem; border-top: 2px solid var(--tg-black); }
.tg-postnav__link { flex: 1 1 260px; margin: 0; }
.tg-postnav__link a {
  display: block; height: 100%; box-sizing: border-box;
  padding: .9rem 1.1rem; text-decoration: none; color: var(--tg-black);
  background: linear-gradient(90deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%);
  border: 1px solid #dbe6e7; box-shadow: 0 4px 14px rgba(0,60,65,.08);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.tg-postnav__link--next { text-align: right; }
.tg-postnav__link--next a { background: linear-gradient(270deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%); }
.tg-postnav__link a:hover { border-color: var(--tg-teal-dark); box-shadow: 0 8px 20px rgba(0,60,65,.16); }
.tg-postnav__link .post-navigation-link__label { display: block; font-size: .85rem; color: var(--tg-teal-dark); font-weight: 600; margin-bottom: .2rem; }
.tg-postnav__link .post-navigation-link__title { display: block; font-weight: 500; line-height: 1.35; }
.tg-postnav__all { margin-top: 1.25rem !important; text-align: center; }
.tg-postnav__all a { color: var(--tg-teal-dark); font-weight: 600; text-decoration: none; }
.tg-postnav__all a:hover { text-decoration: underline; }

/* ---- 19. Formulare (Fast Secure Contact Form, Contact Form 7, plată card): încadrate în coloana de text */
.wp-block-post-content form { max-width: 760px; box-sizing: border-box; }
.wp-block-post-content div[id^="FSContact"] { width: auto !important; max-width: min(760px, 100%) !important; box-sizing: border-box; }
.wp-block-post-content > div[id^="FSContact"] {
  margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1180px)) / 2)) !important;
  margin-right: auto !important;
}
.wp-block-post-content form :is(div[id^="fscf_div_field"], div[id^="fscf_div_clear"], div[id^="fscf_label"], div[id^="fscf_required"]) {
  width: 100% !important; max-width: 100% !important; float: none !important; box-sizing: border-box;
}
.wp-block-post-content form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="hidden"]):not([id*="captcha"]), select, textarea) {
  box-sizing: border-box; width: 100% !important; max-width: 100% !important; margin: 0;
}
.wp-block-post-content form select { min-height: 3rem; }
.wp-block-post-content form textarea { min-height: 8rem; resize: vertical; }
.wp-block-post-content form input[id*="captcha"] { box-sizing: border-box; width: 9rem !important; max-width: 100%; }
.wp-block-post-content form label { display: inline-block; margin-top: .9rem; margin-bottom: .3rem; font-weight: 500; }
.wp-block-post-content form :is(input[type="checkbox"], input[type="radio"]) { width: 1.15rem; height: 1.15rem; accent-color: var(--tg-teal-dark); vertical-align: middle; margin-right: .4rem; }
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]) { margin-top: 1.4rem; max-width: 100%; white-space: normal; }
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]):hover { background: #FFD000; }
.wp-block-post-content form img[src*="captcha"] { max-width: 100%; height: auto; vertical-align: middle; }
/* formularele din tabele (Contact, Cerere ofertă) ocupă toată celula */
.wp-block-post-content td div[id^="FSContact"],
.wp-block-post-content td form { max-width: 100% !important; }

/* ---- 20. Navigarea între articole: tot cardul e clickabil, eticheta stă în card */
.tg-postnav__link:empty { display: none; }
.tg-postnav__link {
  position: relative; box-sizing: border-box; padding: .9rem 1.1rem;
  background: linear-gradient(90deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%);
  border: 1px solid #dbe6e7; box-shadow: 0 4px 14px rgba(0,60,65,.08);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.tg-postnav__link--next { background: linear-gradient(270deg, #fff 0%, #f4f8f8 45%, var(--tg-teal-soft) 100%); }
.tg-postnav__link:hover { border-color: var(--tg-teal-dark); box-shadow: 0 8px 20px rgba(0,60,65,.16); }
.tg-postnav__link a { display: block; padding: 0; background: none !important; border: 0 !important; box-shadow: none !important; height: auto; color: var(--tg-black); font-weight: 500; line-height: 1.35; text-decoration: none; }
.tg-postnav__link a::after { content: ""; position: absolute; inset: 0; }
.tg-postnav__link:hover a { color: var(--tg-teal-dark); }
.tg-postnav__all { margin-top: 2rem !important; }

/* ---- 21. Lista de articole (Blog, categorii, căutare): carduri cu imagine, titlu, dată, rezumat */
.tg-posts__grid { gap: clamp(1.25rem, 2.5vw, 2rem) !important; }
.tg-post-card {
  height: 100%; box-sizing: border-box; display: flex; flex-direction: column;
  background: #fff; border: 1px solid #dbe6e7; box-shadow: 0 4px 14px rgba(0,60,65,.08);
  padding: 0 0 1.1rem; transition: box-shadow .2s ease, transform .2s ease;
}
.tg-post-card:hover { box-shadow: 0 10px 24px rgba(0,60,65,.16); transform: translateY(-3px); }
.tg-post-card > * { margin-inline: 1.1rem !important; }
.tg-post-card > .wp-block-post-featured-image { margin: 0 0 .9rem !important; overflow: hidden; }
.tg-post-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; border-width: 0 0 6px !important; transition: border-color .2s ease; }
.tg-post-card:hover .wp-block-post-featured-image img { border-color: var(--tg-teal-dark) !important; }
.tg-post-card > .wp-block-post-featured-image a { display: block; height: 100%; }
.tg-post-card:not(:has(.wp-block-post-featured-image)) { padding-top: 1.1rem; border-top: 6px solid var(--tg-yellow); }
.tg-post-card__title { font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important; margin-top: 0 !important; line-height: 1.2; }
.tg-post-card__title a:hover { color: var(--tg-teal-dark); }
.tg-post-card .tg-meta { margin-top: .35rem !important; }
.tg-post-card .wp-block-post-excerpt { margin-top: .5rem !important; font-size: .98rem; flex: 1; }
.tg-post-card .wp-block-post-excerpt__excerpt { margin: 0; }
.tg-post-card .wp-block-post-excerpt__more-text { margin-top: .5rem; }
.tg-post-card .wp-block-post-excerpt__more-link,
.tg-post-card .wp-block-read-more { color: var(--tg-teal-dark); font-weight: 600; text-decoration: none; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50) !important; gap: .4rem; justify-content: center; }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers { display: inline-block; min-width: 2.4rem; padding: .45rem .7rem; text-align: center; border: 1px solid #dbe6e7; text-decoration: none; color: var(--tg-black); box-sizing: border-box; }
.wp-block-query-pagination .page-numbers.current { background: var(--tg-yellow); border-color: var(--tg-black); font-weight: 700; }
.wp-block-query-pagination a:hover { border-color: var(--tg-teal-dark); color: var(--tg-teal-dark); }
@media (max-width: 900px) { .tg-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .tg-posts__grid { grid-template-columns: 1fr !important; } }

/* ---- 22. Conținutul paginilor aliniat pe coloana titlului (tabele, imagini, texte vechi) */
.wp-block-post-content.is-layout-constrained > :not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright):not(div[id^="FSContact"]) { max-width: min(100%, var(--wp--style--global--content-size, 1180px)) !important; }
.wp-block-post-content.is-layout-constrained > :is(figure, table, .wp-caption, [style*="width"]):not(.alignleft):not(.alignright):not(div[id^="FSContact"]) { margin-left: auto !important; margin-right: auto !important; }
.wp-block-post-content.is-layout-constrained > :is(strong, b, em, i, u, span, font, a) { display: block; max-width: var(--wp--style--global--content-size, 1180px); margin-left: auto !important; margin-right: auto !important; }
.wp-block-post-content td, .wp-block-post-content th { vertical-align: top; }
.wp-block-post-content fieldset { border: 1px solid #c9d6d8; padding: .5rem 1rem 1.25rem; margin: 0; min-width: 0; box-sizing: border-box; max-width: 100%; }
.wp-block-post-content fieldset legend { padding: 0 .4rem; font-weight: 600; }
.wp-block-post-content .wp-block-image:not(.alignleft):not(.alignright):not(.alignfull) { text-align: center; }
.wp-block-post-content .wp-block-image:not(.alignleft):not(.alignright) img { margin-inline: auto; }
@media (max-width: 600px) {
  .wp-block-post-content :is(p, div, td, li)[style*="justify"],
  .wp-block-post-content .has-text-align-justify { text-align: left !important; }
}

/* ---- 20. Bara de meniu (cu „Tichet online”) fixă sus după ce treci de ea la scroll */
.tg-navbar-spacer { height: 0; }
.tg-navbar.is-stuck {
	position: fixed !important;
	left: 0; right: 0;
	margin: 0 !important;
	width: 100%; max-width: none !important;
	z-index: 9000;
	box-shadow: 0 3px 10px rgba(0,0,0,.25);
	animation: tgNavIn .25s ease-out;
}
/* lipită de marginea de sus: butonul nu mai iese în sus, doar în jos (colțurile de sus ascunse) */
.tg-navbar.is-stuck .tg-ticket-wrap { margin-top: 0 !important; }
.tg-navbar.is-stuck .wp-block-button.is-style-ticket::before,
.tg-navbar.is-stuck .wp-block-button.is-style-ticket::after { display: none; }
.tg-navbar.is-stuck .wp-block-button.is-style-ticket .wp-block-button__link { box-shadow: 0 3px 6px rgba(0,0,0,.3) !important; }
@keyframes tgNavIn { from { transform: translateY(-100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .tg-navbar.is-stuck { animation: none; } }
/* meniul ☰ deschis rămâne deasupra barei fixe */
html.has-modal-open .tg-navbar.is-stuck { z-index: 100000 !important; animation: none; }
