/*
 * AQD Industrial — estils del tema.
 * Rèplica del disseny de la plantilla Joomla (Bootstrap 3) sobre Bootstrap 5.3.
 * Els colors són variables CSS que es generen des del Personalitzador (inc/helpers.php).
 */

/* ---------- Tipografia ---------- */
@font-face {
	font-family: "Helvetica";
	src: url("../fonts/Helvetica.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Helvetica";
	src: url("../fonts/Helvetica-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Helvetica";
	src: url("../fonts/Helvetica-Oblique.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Helvetica";
	src: url("../fonts/Helvetica-BoldOblique.woff2") format("woff2");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

/* ---------- Base: mides de Bootstrap 3 per mantenir el mateix aspecte ---------- */
:root {
	--bs-body-font-family: Helvetica, Roboto, Arial, sans-serif;
	--bs-body-font-size: 13px;
	--bs-body-line-height: 1.428571;
	--bs-body-color: var(--aqd-text);
	--bs-link-color: var(--aqd-link);
	--bs-link-color-rgb: var(--aqd-link-rgb);
	--bs-link-decoration: none;
	--bs-link-hover-color: var(--aqd-link);
	--bs-border-radius: 0;
	--aqd-gutter: 30px;
}

body {
	font-family: var(--bs-body-font-family);
	font-size: var(--bs-body-font-size);
	line-height: var(--bs-body-line-height);
	color: var(--aqd-text);
	background-color: #fff;
}

a { text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

/* Contenidor i separació de columnes com a Bootstrap 3 (750 / 970 / 1170 px, 30 px de separació). */
.container,
.row {
	--bs-gutter-x: var(--aqd-gutter);
}
@media (min-width: 576px) { .container { max-width: 100%; } }
@media (min-width: 768px) { .container { max-width: 750px; } }
@media (min-width: 992px) { .container { max-width: 970px; } }
@media (min-width: 1200px) { .container { max-width: 1170px; } }

h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 500; line-height: 1.1; margin-top: 20px; margin-bottom: 10px; }
h1 { font-size: 36px; }
h2 { font-size: 30px; margin-top: 5px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
p { margin: 0 0 10px; }

.aqd-skip:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 10000;
	padding: 8px 16px;
	background: var(--aqd-primary);
	color: var(--aqd-on-primary);
}

/* ---------- Capçalera ---------- */
.aqd-header {
	width: 100%;
	z-index: 1030;
	background-color: var(--aqd-dark);
}
.aqd-header--sticky {
	position: sticky;
	top: 0;
}
.admin-bar .aqd-header--sticky { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .aqd-header--sticky { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .aqd-header--sticky { top: 0; }
}

.aqd-header__top {
	background-color: var(--aqd-dark);
	padding-top: 15px;
}

.aqd-logo a { display: block; width: fit-content; line-height: 0; }
.aqd-logo img {
	display: block;
	height: 61px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left top;
}

.aqd-slogan {
	color: var(--aqd-primary);
	text-align: center;
	text-transform: uppercase;
	font-size: 9px;
	line-height: 1.428571;
	margin: 0;
}
.aqd-slogan--mobile { padding: 6px 0 2px; }

/* Cercador */
.aqd-header__search {
	padding-top: 22px;
	max-width: 160px;
	margin-left: auto;
}
.aqd-search {
	position: relative;
	display: block;
}
.aqd-search__input {
	display: block;
	width: 100%;
	height: 34px;
	padding: 6px 40px 6px 12px;
	font-size: 14px;
	line-height: 20px;
	color: #555;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	appearance: none;
}
.aqd-search__input::placeholder { color: #999; }
.aqd-search__input:focus {
	border-color: #66afe9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}
.aqd-search__input::-webkit-search-cancel-button { display: none; }
.aqd-search__button {
	position: absolute;
	top: 0;
	right: 0;
	width: 39px;
	height: 33px;
	padding: 0;
	border: 0;
	/* Etiqueta amb punta a l'esquerra i lupa blanca, del color corporatiu (abans era la imatge lupa3.png). */
	background-color: var(--aqd-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 33'%3E%3Ccircle cx='21' cy='13.5' r='6.2' fill='none' stroke='%23fff' stroke-width='1.7'/%3E%3Cpath d='M25.4 18l4.6 5.6' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 39px 33px;
	clip-path: polygon(13px 0, 100% 0, 100% 100%, 13px 100%, 0 50%);
	cursor: pointer;
}
.aqd-search__button:hover,
.aqd-search__button:focus-visible { filter: brightness(.92); }

/* Menú principal */
.aqd-nav {
	--bs-navbar-padding-y: 0;
	--bs-navbar-padding-x: 0;
	background-color: var(--aqd-dark);
	min-height: 44px;
	padding-top: 7.5px;
	padding-bottom: 7.5px;
}
.aqd-nav > .container { flex-wrap: wrap; }
.aqd-nav .navbar-collapse { padding: 0; }

.aqd-menu { margin: 0; }
.aqd-menu > li { position: relative; }
.aqd-menu > li > .nav-link {
	color: var(--aqd-menu-link);
	font-size: 14px;
	font-weight: 700;
	line-height: 25px;
	padding: 10px;
	text-decoration: none;
}
.aqd-menu > li > .nav-link:hover,
.aqd-menu > li > .nav-link:focus,
.aqd-menu > li:hover > .nav-link,
.aqd-menu > li.show > .nav-link,
.aqd-menu > li:focus-within > .nav-link {
	background-color: var(--aqd-primary);
	color: var(--aqd-on-primary);
}
.aqd-menu > li.active > .nav-link,
.aqd-menu > li > .nav-link.active {
	background-color: var(--aqd-primary);
	color: var(--aqd-on-primary);
}

/* Submenú */
.aqd-menu .dropdown-menu {
	--bs-dropdown-min-width: 245px;
	--bs-dropdown-padding-y: 5px;
	--bs-dropdown-border-radius: 0;
	--bs-dropdown-border-color: rgba(0, 0, 0, .15);
	--bs-dropdown-bg: var(--aqd-primary);
	--bs-dropdown-link-color: var(--aqd-submenu-link);
	--bs-dropdown-link-hover-color: #262626;
	--bs-dropdown-link-hover-bg: #f5f5f5;
	--bs-dropdown-link-active-color: #262626;
	--bs-dropdown-link-active-bg: #f5f5f5;
	--bs-dropdown-font-size: 14px;
	margin-top: 0;
	left: -1px;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.aqd-menu .dropdown-item {
	padding: 5px;
	line-height: 22px;
	white-space: nowrap;
	text-decoration: none;
}
.aqd-menu .dropdown-menu .active > .dropdown-item {
	background-color: var(--bs-dropdown-link-active-bg);
	color: var(--bs-dropdown-link-active-color);
}

/* Botó per desplegar el submenú (només mòbil i tauleta) */
.aqd-subtoggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 45px;
	height: 45px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--aqd-primary);
}
.aqd-subtoggle::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform .2s;
}
.aqd-subtoggle[aria-expanded="true"]::after { transform: translateY(1px) rotate(-135deg); }

/* Botó hamburguesa */
.aqd-nav__toggler {
	margin-left: auto;
	padding: 9px 10px;
	border: 1px solid var(--aqd-primary);
	border-radius: 4px;
	background: transparent;
}
.aqd-nav__toggler:focus { box-shadow: 0 0 0 .2rem rgba(var(--aqd-primary-rgb), .4); }
.aqd-nav__bars { display: block; }
.aqd-nav__bars span {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
	background-color: var(--aqd-primary);
}
.aqd-nav__bars span + span { margin-top: 4px; }

/* Mòbil i tauleta: menú plegat (com a la web actual, per sota de 1200 px) */
@media (max-width: 1199.98px) {
	.aqd-menu { padding: 7.5px 0; }
	.aqd-menu > li > .nav-link { padding-right: 50px; }
	.aqd-menu .dropdown-menu {
		position: static;
		width: 100%;
		float: none;
		box-shadow: none;
		border: 0;
		margin: 0;
	}
	.aqd-menu .dropdown-item { padding: 5px 15px 5px 25px; white-space: normal; }
}

/* Escriptori: el submenú s'obre en passar-hi el ratolí o amb el teclat */
@media (min-width: 1200px) {
	.aqd-subtoggle { display: none; }
	.aqd-menu > li.dropdown:hover > .dropdown-menu,
	.aqd-menu > li.dropdown:focus-within > .dropdown-menu {
		display: block;
		top: 100%;
	}
}

/* Mides adaptatives de la capçalera (mateixos punts de tall que la plantilla original) */
@media (min-width: 768px) {
	.aqd-logo img { height: 66px; }
	.aqd-slogan { text-align: left; margin-top: 16px; font-size: 11px; }
}
@media (min-width: 992px) {
	.aqd-logo img { height: 75px; }
	.aqd-slogan { font-size: 13px; margin-top: 32px; }
}
@media (min-width: 1200px) {
	.aqd-logo { padding-left: calc(var(--aqd-gutter) * .5 + 10px); }
	.aqd-slogan { font-size: 15px; margin-top: 30px; }
	.aqd-nav .navbar-nav .nav-link { padding-left: 10px; padding-right: 10px; }
}

/* ---------- Contingut (provisional, fins a les plantilles de cada secció) ---------- */
.aqd-main { padding: 30px 0 40px; }
.aqd-page-title { margin-top: 0; }
.aqd-entry img { max-width: 100%; height: auto; }

.aqd-excerpt { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid #eee; }
.aqd-excerpt__image img { width: 220px; height: auto; }
.aqd-excerpt__title { font-size: 20px; }
.aqd-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #333331;
	color: #fff;
	font-weight: 700;
	padding: 6px 12px;
}
.aqd-more span { color: var(--aqd-primary); }
.aqd-more:hover { color: var(--aqd-primary); text-decoration: none; }
.aqd-404-search { max-width: 320px; margin: 20px 0; }

/* ---------- Peu ---------- */
.aqd-footer__main {
	background-color: var(--aqd-dark);
	color: var(--aqd-footer-text);
	font-size: 15px;
	line-height: 1.428571;
	padding: 20px 0 20px;
}
.aqd-footer__main a { color: var(--aqd-footer-text); }

.aqd-footer__logo { margin: 0 0 20px; }
.aqd-footer__logo img { display: block; width: 200px; height: 65px; max-width: 100%; }

.aqd-footer__quality {
	font-size: 10px;
	margin: 0 0 36px;
}

.aqd-cities__row {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aqd-cities li { display: inline; }
.aqd-cities li::after {
	content: "";
	border-right: 2px solid var(--aqd-primary);
	padding-left: 5px;
	margin-right: 3px;
	font-size: 9px;
}
.aqd-cities__row:last-child li:last-child::after { content: none; }

.aqd-btn-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 95px;
	height: 39px;
	padding: 0 12px;
	margin: 30px 0 31px;
	background: var(--aqd-primary);
	color: var(--aqd-button-text) !important;
	text-decoration: none;
}
.aqd-btn-contact:hover,
.aqd-btn-contact:focus {
	background: var(--aqd-button-text);
	color: var(--aqd-primary) !important;
	text-decoration: none;
}

.aqd-footer__phone,
.aqd-footer__email { margin: 0 0 10px; }

.aqd-footer__title {
	color: var(--aqd-primary);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 25px;
}

.aqd-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aqd-footer-menu li {
	position: relative;
	padding-left: 25px;
}
/* Fletxeta del color corporatiu (abans era la imatge bulletHeaderRightSmall5.png). */
.aqd-footer-menu li::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 13px;
	width: 8px;
	height: 11px;
	background-color: var(--aqd-primary);
	clip-path: polygon(0 0, 50% 0, 100% 50%, 50% 100%, 0 100%, 50% 50%);
}
.aqd-footer-menu a {
	display: block;
	padding: 4px 0;
	color: var(--aqd-footer-text);
	text-decoration: none;
}
.aqd-footer-menu a:hover,
.aqd-footer-menu a:focus {
	font-weight: 700;
	text-decoration: none;
}

/* El títol de les columnes 2 i 3 queda alineat sota el logotip, com a la web actual. */
@media (min-width: 768px) {
	.aqd-footer__col--2 .aqd-footer__title,
	.aqd-footer__col--3 .aqd-footer__title { margin-top: 79px; }
}
@media (max-width: 767.98px) {
	.aqd-footer__col { margin-bottom: 25px; }
	.aqd-footer__col--2 .aqd-footer__title,
	.aqd-footer__col--3 .aqd-footer__title { margin-top: 20px; }
}
@media (min-width: 992px) {
	.aqd-footer__col--3 .aqd-footer-menu li { font-size: 13px; }
}
@media (min-width: 1200px) {
	.aqd-footer__col--3 .aqd-footer-menu li { font-size: 15px; }
}

/* Barra inferior */
.aqd-copy {
	background-color: var(--aqd-copy-bg);
	color: var(--aqd-copy-text);
	font-size: 10px;
	line-height: 1.428571;
	padding: 12px 0;
}
.aqd-copy__text { margin: 0 0 10px; }
.aqd-legal-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}
.aqd-legal-menu li::after { content: "-"; }
.aqd-legal-menu li:last-child::after { content: ""; }
.aqd-legal-menu a {
	color: var(--aqd-copy-text);
	padding: 0 10px;
}
.aqd-legal-menu li:last-child a { padding-right: 0; }
@media (max-width: 575.98px) {
	.aqd-legal-menu { justify-content: flex-start; margin-top: 6px; }
	.aqd-legal-menu li:first-child a { padding-left: 0; }
}

/* ---------- Xarxes socials ---------- */
.aqd-social {
	list-style: none;
	margin: 0;
	padding: 0;
}
.aqd-social a { text-decoration: none; }

/* Barra lateral fixa: només es veu la icona; en passar-hi el ratolí surt el text */
.aqd-social--side {
	position: fixed;
	top: 35px;
	left: 0;
	z-index: 1040;
}
.admin-bar .aqd-social--side { top: 67px; }
.aqd-social--side li { padding: 1px 0; overflow: hidden; }
.aqd-social--side a {
	display: flex;
	align-items: center;
	width: 170px;
	height: 32px;
	background-color: #333;
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 700;
	transform: translateX(-138px);
	transition: transform .3s, background-color .3s;
}
.aqd-social--side .aqd-social__text {
	order: 1;
	width: 132px;
	padding-left: 10px;
	white-space: nowrap;
}
.aqd-social--side svg {
	order: 2;
	flex: 0 0 32px;
	width: 32px;
	height: 20px;
}
.aqd-social--side a:hover,
.aqd-social--side a:focus { transform: none; }
.aqd-social__item--youtube a:hover,   .aqd-social__item--youtube a:focus   { background-color: #cc252c; }
.aqd-social__item--linkedin a:hover,  .aqd-social__item--linkedin a:focus  { background-color: #4f93b3; }
.aqd-social__item--facebook a:hover,  .aqd-social__item--facebook a:focus  { background-color: #3b5998; }
.aqd-social__item--instagram a:hover, .aqd-social__item--instagram a:focus { background-color: #c13584; }
.aqd-social__item--x a:hover,         .aqd-social__item--x a:focus,
.aqd-social__item--tiktok a:hover,    .aqd-social__item--tiktok a:focus    { background-color: #000; }
/* Només quan hi ha marge lateral suficient perquè no tapi el logotip. */
@media (max-width: 1239.98px) {
	.aqd-social--side { display: none; }
}

/* Variant al peu */
.aqd-social--footer {
	display: flex;
	gap: 8px;
	margin-top: 15px;
}
.aqd-social--footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: rgba(255, 255, 255, .1);
	color: var(--aqd-footer-text);
}
.aqd-social--footer a:hover,
.aqd-social--footer a:focus {
	background: var(--aqd-primary);
	color: var(--aqd-button-text);
}
.aqd-social--footer .aqd-social__text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

/* ---------- Accessibilitat ---------- */
@media (prefers-reduced-motion: reduce) {
	.aqd-social--side a,
	.aqd-subtoggle::after { transition: none; }
}
