*, *::before, *::after {
	box-sizing: border-box;
}

:root {
	--breakpoint: 800px;
	--logo-color: #bb0000;
	--menu-color: #bb0000;
	
	--padding: 1rem;
	
	--test-color: #E41E2F;
	--test-color2: #252638;
	
	--max-width: 1200px;
	--max-width-small: 1024px;
}

body {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	background-color: #f8fafc;
	color: #333;
}

section.section {
	width: 100%;
	padding-block: calc( var(--padding) * 4 );
}

.wrap {
	max-width: var(--max-width);
	margin-inline: auto;
	padding-inline: var(--padding);
}

.wrap.wrap-small {
	max-width: var(--max-width-small);
	padding-inline: var(--padding);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* TYPOGRAPHY */

h1, h2, h3, h4, p {
	margin-bottom: 1em;
}

h1 {
	font-size: clamp(28px, 1.75rem + ((1vw - 3.2px) * 1.563), 48px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.4px;
}

h2 {
	font-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 1.25), 40px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.2px;
}

h3 {
	font-size: clamp(20px, 1.25rem + ((1vw - 3.2px) * 1.0), 32px);
	font-weight: 600;
	line-height: 1.35;
}

h4 {
	font-size: clamp(18px, 1.125rem + ((1vw - 3.2px) * 0.85), 28px);
	font-weight: 500;
	line-height: 1.4;
}

h5 {
	font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.75), 24px);
	font-weight: 600;
	line-height: 1.45;
}

p, li {
	/* font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.4), 20px); */
	line-height: 1.6;
	margin-bottom: 0.8em;
}

small, .small {
	font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.3), 16px);
	line-height: 1.4;
	opacity: .8;
}

img.wide {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 900px;
	max-width: calc(100vw - 1rem);
	margin-inline: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin-block: 3rem;
}

img.full {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100vw - 1rem);
	max-width: calc(100vw - 2rem);
	margin-inline: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin-block: 3rem;
	padding-inline: .5rem;
}


/* HEADER */


.top-header {
	background: white;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	position: relative;
}

.header-container {
	max-width: var(--max-width);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: -.5px;
	font-weight: 500;
	color: var(--logo-color);
	text-decoration: none;
	padding: calc( var(--padding) + 12px ) var(--padding);
}

ul.top-menu,
ul.submenu {
	padding: 0;
	margin: 0;
	list-style: none;
}

ul.top-menu li,
ul.submenu li {
	margin: 0;
}
ul.top-menu {
	display: flex;
	gap: 30px;
	list-style: none;
	align-items: center;
	padding-right: var(--padding);
}

ul.top-menu > li {
	position: relative;
}

ul.top-menu a {
	text-decoration: none;
	color: #334155;
	font-weight: 600;
	padding: 8px 0;
	display: flex;
	align-items: center;
	transition: color 0.2s;
}

ul.top-menu a:hover {
	color: var(--menu-color);
}

/* Indicator submenu cu currentColor */
.has-submenu > a::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 5px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat center;
	background-color: currentColor;
}

/* Submeniu desktop */
ul.submenu {
	position: absolute;
	top: 100%;
	left: -20px;
	background: white;
	min-width: 200px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	padding: 10px 0;
	list-style: none;
	display: none;
	z-index: 100;
}

.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu {
	display: block;
}

ul.submenu li {
	border-bottom: 1px solid #f1f5f9;
}

ul.submenu li:last-child,
ul.top-menu > li:last-child {
	border-bottom: none;
}

ul.submenu a {
	padding: 10px 20px;
	display: block;
	color: #475569;
	font-weight: 500;
}

ul.submenu a:hover {
	background-color: #f8fafc;
	color: var(--menu-color);
}

/* Buton hamburger */
.hamburger-btn {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	padding: 0;
	margin-right: var(--padding);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23334155' d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px;
}

.hamburger-btn.active {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23334155' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
}

/* Responsive */
@media (max-width: 800px) {

	.hamburger-btn {
		display: block;
	}

	.header-container {
		flex-wrap: wrap;
	}

	ul.top-menu {
		width: 100%;
		flex-direction: column;
		background: white;
		padding: 0;
		margin-right: 0;
		display: none;
		box-shadow: 0 5px 10px rgba(0,0,0,0.1);
		border-top: 1px solid #e2e8f0;
		gap: 0;
	}

	ul.top-menu.active {
		display: flex;
	}

	ul.top-menu > li {
		width: 100%;
		border-bottom: 1px solid #f1f5f9;
	}

	ul.top-menu a {
		padding: 15px 20px;
		width: 100%;
	}

	.has-submenu > a::after {
		display: none;
	}

	/* Submeniu mobil */
	ul.submenu {
		all: unset;
		display: block;
		list-style: none;
		border-top: 1px solid #e2e8f0;
	}

	ul.submenu li {
		border-bottom: 1px solid #e2e8f0;
	}

	ul.submenu a {
		padding: 12px 30px 12px 45px;
		color: #64748b;
	}
}

/* HEADER END */

/* FOOTER */

.main-footer {
	background-color: #f3f3f3;
	border-top: 1px solid #e2e8f0;
	padding-block: 100px;
	color: #475569;
}

.footer-container {
	max-width: var(--max-width);
	margin-inline: auto;
	padding-inline: 20px;
	display: grid;
	/* 4 coloane pe desktop */
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 40px;
}

.footer-widget h3.widget-title {
	color: #1e293b;
	font-size: 1.1rem;
	font-weight: 500;
	margin-bottom: 20px;
	position: relative;
}

/* Logo & Descriere */
.footer-logo {
	color: inherit;
	display: block;
	text-decoration: none;
	margin-bottom: 15px;
}

.company-description {
	line-height: 1.6;
	margin-bottom: 20px;
}

/* Meniu Linkuri */
.footer-links {
	list-style: none;
	padding: 0;
}

.footer-links li {
	margin-bottom: 8px;
}

.footer-links a {
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s;
	display: inline-block;
}

.footer-links a:hover {
	color: var(--menu-color);
	transform: translateX(5px);
}

/* Butoane Contact */
.contact-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.btn-contact {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	border-radius: 6px;
	text-decoration: none;
	color: white;
	font-weight: 600;
	transition: opacity 0.3s;
}

.btn-contact.tel { background-color: #334155; }
.btn-contact.mail { background-color: #64748b; }
.btn-contact.whatsapp { background-color: #25d366; }

.btn-contact:hover {
	opacity: 0.9;
}

/* Copyright */
.footer-copy-wrap {
	width: 100%;
	background: #1e293b;
	border-top: 1px solid #e2e8f0;
	padding-block: calc(var(--padding) * 1);
}

.footer-copy {
	max-width: var(--max-width);
	padding: var(--padding);
	margin-inline: auto;
	color:#e2e8f0;
	font-size: 0.85rem;
}

.footer-copy a {
	color: inherit;
	text-decoration: none;
}

.footer-copy a:hover {
	text-decoration: underline;
}

/* Responsive */
@media (max-width: 900px) {
	.footer-container {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 500px) {
	.footer-container {
		grid-template-columns: 1fr;
		text-align: center;
	}
	
	.social-links {
		justify-content: center;
	}

	.footer-links a:hover {
		transform: none;
	}
}

/* FOOTER END */