/* ===========================================================================
   Trail Trips Romania — template de prezentare TransylvaniaB2B
   Fisier: wp-content/themes/xtrm-child-theme/b2b-template.css
   Se incarca DOAR pe produsele din categoria 360.
   =========================================================================== */
@media only screen and (min-width: 992px) {
	body.b2b-single .header_top_bg .classic #topmenu .menu li a,
	body.b2b-single .header_top_bg .classic #topmenu .search-icon-wrapper,
	body.b2b-single .header_top_bg .classic #topmenu .search-icon-wrapper i,
	body.b2b-single .header_top_bg .mini-cart-wrapper .xtrm-shop-icon:before,
	body.b2b-single .header_top_bg .mini-cart-wrapper .cart-contents-count {
		color: #fff;
	}
}

.b2b-page {
	--b2b-galben: #f1d81d;
	--b2b-negru: #111111;
	--b2b-text: #4a4a4a;
	--b2b-gri: #8a8a8a;
	--b2b-linie: #e6e6e6;
	--b2b-max: 980px;

	color: var(--b2b-text);
	font-size: 17px;
	line-height: 1.75;
	overflow-x: hidden;
}

/* Containerul: 980px pe desktop, full width cu 20px padding pe mobil */
.b2b-page .b2b-wrap {
	max-width: var(--b2b-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

/* ---------------------------------------------------------------------------
   HERO — imaginea are marginea alba zdrentuita deja inclusa, deci ancoram
   fundalul de marginea de jos ca sa ramana intacta.
   ------------------------------------------------------------------------- */
.b2b-page .b2b-hero {
	position: relative;
	width: 100%;
	min-height: 450px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 150px 20px 110px;
	margin-bottom: 55px;
}

/* Voal inchis, ca textul alb sa se citeasca peste acoperisuri */
.b2b-page .b2b-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.20) 55%, rgba(0,0,0,0) 88%);
	pointer-events: none;
}

.b2b-page .b2b-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 900px;
	text-align: center;
}

.b2b-page .b2b-hero__title {
	margin: 0;
	color: #fff;
	font-size: 50px;
	line-height: 1.12;
	font-weight: 400;
	text-transform: none;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}

/* Primul cuvant pe galben, ca pe pagina Enjoy Transylvania.
   Fortam culoarea peste regula globala a temei (b::before = portocaliu). */
.b2b-page .b2b-hero__title b {
	position: relative;
	display: inline-block;
	font-weight: 400;
	color: var(--b2b-negru) !important;
	text-shadow: none;
	z-index: 0;
}

.b2b-page .b2b-hero__title b::before {
	content: "";
	position: absolute;
	top: .08em;
	bottom: .12em;
	left: -.06em;
	right: -.06em;
	background: var(--b2b-galben) !important;
	border-color: var(--b2b-galben) !important;
	z-index: -1;
}

/* ---------------------------------------------------------------------------
   INTRO + PRET
   ------------------------------------------------------------------------- */
.b2b-page .b2b-intro {
	text-align: center;
	margin-bottom: 45px;
}

.b2b-page .b2b-intro p {
	font-size: 19px;
	line-height: 1.7;
	color: #3a3a3a;
	margin: 0 auto 18px;
	max-width: 780px;
}

.b2b-page .b2b-intro p:last-of-type {
	margin-bottom: 0;
}

.b2b-page .b2b-pret {
	display: inline-block;
	margin: 30px 0 0;
	padding: 14px 30px 12px;
	background: var(--b2b-galben);
	color: var(--b2b-negru);
	text-align: center;
}

.b2b-page .b2b-pret__rand {
	margin: 0 !important;
	color: var(--b2b-negru) !important;
	font-size: 15px !important;
	line-height: 1.3;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	font-weight: 700;
	max-width: none !important;
}

.b2b-page .b2b-pret__valoare {
	font-size: 26px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 2px 0 4px;
}

.b2b-page .b2b-pret__sufix {
	font-weight: 400;
	opacity: .75;
}

/* al doilea rand: acelasi bloc galben, separat printr-o linie subtire */
.b2b-page .b2b-pret__rand--secundar {
	margin-top: 10px !important;
	padding-top: 9px;
	border-top: 1px solid rgba(0, 0, 0, .18);
}

.b2b-page .b2b-pret__rand--secundar .b2b-pret__valoare {
	font-size: 21px;
}

/* ---------------------------------------------------------------------------
   IMAGINEA PRINCIPALA
   ------------------------------------------------------------------------- */
.b2b-page .b2b-featured {
	margin: 0 0 50px;
	line-height: 0;
}

.b2b-page .b2b-featured img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 !important;
}

/* ---------------------------------------------------------------------------
   DESCRIEREA — o singura coloana
   ------------------------------------------------------------------------- */
.b2b-page .b2b-continut {
	margin-bottom: 60px;
}

.b2b-page .b2b-continut h2 {
	position: relative;
	margin: 55px 0 20px;
	padding-bottom: 14px;
	font-size: 23px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--b2b-negru);
	text-transform: uppercase;
	letter-spacing: 1.2px;
	text-align: left !important;
}

.b2b-page .b2b-continut h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 54px;
	height: 4px;
	background: var(--b2b-galben);
}

.b2b-page .b2b-continut > h2:first-child {
	margin-top: 0;
}

.b2b-page .b2b-continut h3 {
	margin: 34px 0 10px;
	font-size: 19px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--b2b-negru);
	text-align: left !important;
}

/* "ZIUA 1", "ZIUA 2 — SÂMBĂTĂ" etc. primesc o bara galbena in stanga */
.b2b-page .b2b-continut h3 {
	padding-left: 18px;
	border-left: 4px solid var(--b2b-galben);
}

.b2b-page .b2b-continut p {
	margin: 0 0 18px;
	font-size: 17px;
	line-height: 1.8;
	color: var(--b2b-text);
}

.b2b-page .b2b-continut ul,
.b2b-page .b2b-continut ol {
	margin: 0 0 22px;
	padding-left: 0;
	list-style: none;
}

.b2b-page .b2b-continut ol {
	list-style: decimal;
	padding-left: 22px;
}

.b2b-page .b2b-continut ul li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--b2b-text) !important;
}

.b2b-page .b2b-continut ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 9px;
	height: 9px;
	background: var(--b2b-galben);
	transform: rotate(45deg);
}

.b2b-page .b2b-continut ol li {
	margin-bottom: 10px;
	color: var(--b2b-text) !important;
}

.b2b-page .b2b-continut strong,
.b2b-page .b2b-continut b {
	color: var(--b2b-negru) !important;
	font-weight: 700;
	display: inline !important;
}

/* anuleaza evidentierea galbena a temei pentru <b> din corpul textului */
.b2b-page .b2b-continut b::before,
.b2b-page .b2b-intro b::before {
	display: none !important;
	content: none !important;
}

.b2b-page .b2b-continut a {
	color: var(--b2b-negru);
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--b2b-galben);
	transition: background .2s;
}

.b2b-page .b2b-continut a:hover {
	background: var(--b2b-galben);
}

.b2b-page .b2b-continut table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 26px;
	font-size: 16px;
}

.b2b-page .b2b-continut table th,
.b2b-page .b2b-continut table td {
	border: 1px solid var(--b2b-linie);
	padding: 11px 14px;
	text-align: left;
}

.b2b-page .b2b-continut table th {
	background: #fafafa;
	color: var(--b2b-negru);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .8px;
}

.b2b-page .b2b-continut img {
	max-width: 100%;
	height: auto;
	margin: 10px 0 !important;
}

/* ---------------------------------------------------------------------------
   CTA FINAL
   ------------------------------------------------------------------------- */
.b2b-page .b2b-cta {
	margin: 0 0 80px;
	padding: 48px 34px 40px;
	background: #f7f7f7;
	border-top: 5px solid var(--b2b-galben);
	text-align: center;
}

.b2b-page .b2b-cta__titlu {
	margin: 0 0 12px;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--b2b-negru);
	text-transform: uppercase;
	letter-spacing: 1.2px;
}

.b2b-page .b2b-cta__text {
	margin: 0 auto 30px;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--b2b-gri);
}

.b2b-page .b2b-cta__butoane {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

.b2b-page .b2b-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 240px;
	padding: 15px 30px;
	border: 2px solid var(--b2b-negru);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
	transition: background .2s, color .2s, border-color .2s;
}

.b2b-page .b2b-btn svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
	flex: 0 0 auto;
}

.b2b-page .b2b-btn--wa {
	background: var(--b2b-galben);
	border-color: var(--b2b-galben);
	color: var(--b2b-negru) !important;
}

.b2b-page .b2b-btn--wa:hover {
	background: var(--b2b-negru);
	border-color: var(--b2b-negru);
	color: #fff !important;
}

.b2b-page .b2b-btn--mail {
	background: transparent;
	color: var(--b2b-negru) !important;
}

.b2b-page .b2b-btn--mail:hover {
	background: var(--b2b-negru);
	color: #fff !important;
}

.b2b-page .b2b-cta__contact {
	margin: 26px 0 0;
	font-size: 15px;
	color: var(--b2b-gri);
}

.b2b-page .b2b-cta__contact a {
	color: var(--b2b-negru);
	text-decoration: none;
	font-weight: 700;
}

.b2b-page .b2b-cta__contact a:hover {
	box-shadow: inset 0 -2px 0 var(--b2b-galben);
}

.b2b-page .b2b-cta__sep {
	margin: 0 10px;
	opacity: .5;
}

/* ---------------------------------------------------------------------------
   Header
   Stilul "Fixed transparent" e activat din functions.php, prin meta-ul propriu
   al temei (_custom_page_options['style_header']), deci NU fortam pozitia sau
   fundalul aici — am strica solidificarea la scroll.
   Singura corectie: Xtrm albeste hamburgerul doar pe paginile care nu sunt
   WooCommerce, iar produsele noastre sunt.
   ------------------------------------------------------------------------- */
body.b2b-single .right-menu .mob-nav .line {
	background-color: #fff;
}

/* Ascunde eventualele resturi WooCommerce (notificari, breadcrumb) */
body.b2b-single .woocommerce-breadcrumb,
body.b2b-single .woocommerce-notices-wrapper:empty {
	display: none;
}

/* ---------------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------------- */
@media (max-width: 991px) {
	.b2b-page .b2b-hero {
		min-height: 380px;
		padding: 130px 20px 90px;
	}
	.b2b-page .b2b-hero__title { font-size: 38px; }
	.b2b-page .b2b-intro p { font-size: 18px; }
}

@media (max-width: 767px) {
	.b2b-page { font-size: 16px; }
	.b2b-page .b2b-hero {
		min-height: 300px;
		padding: 110px 20px 70px;
		margin-bottom: 40px;
	}
	.b2b-page .b2b-hero__title { font-size: 28px; }
	.b2b-page .b2b-intro { margin-bottom: 35px; }
	.b2b-page .b2b-intro p { font-size: 17px; }
	.b2b-page .b2b-pret {
		display: block;
		padding: 16px 18px 14px;
	}
	.b2b-page .b2b-pret__valoare { font-size: 23px; }
	.b2b-page .b2b-pret__rand--secundar .b2b-pret__valoare { font-size: 19px; }
	.b2b-page .b2b-featured { margin-bottom: 35px; }
	.b2b-page .b2b-continut h2 { font-size: 20px; margin-top: 42px; }
	.b2b-page .b2b-continut h3 { font-size: 17px; }
	.b2b-page .b2b-continut p,
	.b2b-page .b2b-continut ul li { font-size: 16px; }
	.b2b-page .b2b-cta {
		padding: 36px 20px 30px;
		margin-bottom: 55px;
	}
	.b2b-page .b2b-cta__titlu { font-size: 21px; }
	.b2b-page .b2b-btn {
		width: 100%;
		min-width: 0;
	}
	/* tabelele largi se deruleaza pe orizontala in loc sa sparga pagina */
	.b2b-page .b2b-continut table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}

@media (max-width: 480px) {
	.b2b-page .b2b-hero__title { font-size: 24px; }
}
