/* ============================================================
   Hospito — footer
   ============================================================ */

.hos-footer {
	background: var(--hospito-deep);
	color: #c4d2e3;
	margin-top: auto;
}

.hos-footer a {
	color: #a9bccf;
	text-decoration: none;
	transition: color var(--hospito-transition), padding-left var(--hospito-transition);
}

.hos-footer a:hover,
.hos-footer a:focus-visible {
	color: var(--hospito-primary);
}

.hos-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ---------- Trust strip ---------- */

.hos-footer__strip {
	background: var(--hospito-secondary-alt);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.hos-footer__strip-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding-block: 18px;
}

/* ---------- Branches row ---------- */

.hos-footer__branches {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-block: var(--hos-space-10);
}

.hos-footer__branches-title {
	font-size: var(--hospito-font-h3);
	font-weight: 700;
	color: #fff;
	margin: 0 0 var(--hos-space-6);
	padding-bottom: var(--hos-space-3);
	position: relative;
}

.hos-footer__branches-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	border-radius: 2px;
	background: var(--hospito-primary);
}

.hos-footer__branch-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--hos-space-6);
}

.hos-footer__branch {
	padding: var(--hos-space-5);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--hospito-radius);
}

.hos-footer__branch h3 {
	font-size: 0.9375rem;
	font-weight: 700;
	margin: 0 0 var(--hos-space-3);
	line-height: 1.35;
}

.hos-footer__branch h3 a {
	color: #fff;
}

.hos-footer__branch h3 a:hover {
	color: var(--hospito-primary);
}

.hos-footer__branch-line {
	display: flex;
	gap: var(--hos-space-3);
	align-items: flex-start;
	margin: 0 0 var(--hos-space-3);
	font-size: 0.8125rem;
	line-height: 1.55;
	color: #a9bccf;
}

.hos-footer__branch-line i {
	color: var(--hospito-primary);
	font-size: 0.8125rem;
	margin-top: 0.25em;
	flex: 0 0 auto;
}

.hos-footer__branch-line a {
	display: block;
	color: #e2eaf4;
	font-weight: 600;
}

.hos-footer__branch-link {
	display: inline-flex;
	align-items: center;
	gap: var(--hos-space-2);
	font-size: 0.78125rem;
	font-weight: 700;
	color: var(--hospito-primary);
}

.hos-footer__branch-link:hover {
	gap: var(--hos-space-3);
}

/* ---------- Trust strip badges ---------- */

.hos-footer__badge {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	font-weight: 600;
	color: #e2eaf4;
}

.hos-footer__badge i {
	color: var(--hospito-primary);
	font-size: 16px;
}

/* ---------- Main columns ---------- */

.hos-footer__main {
	padding-block: 48px 36px;
}

.hos-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr;
	gap: 28px;
}

.hos-footer__brand img {
	max-width: 190px;
	max-height: 52px;
	object-fit: contain;
	object-position: left;
	margin-bottom: 14px;
}

.hos-footer__name {
	display: block;
	font-family: var(--hospito-font-heading);
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 14px;
}

.hos-footer__about {
	font-size: 13px;
	line-height: 1.7;
	margin: 0 0 16px;
	color: #a9bccf;
}

.hos-footer__social {
	display: flex;
	gap: 9px;
	flex-wrap: wrap;
}

.hos-footer__social a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 14px;
	background: rgba(255, 255, 255, 0.08);
	transition: all var(--hospito-transition);
}

.hos-footer__social a:hover {
	background: var(--hospito-primary);
	color: #fff;
	transform: translateY(-3px);
}

.hos-footer__col h5 {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 16px;
	position: relative;
	padding-bottom: 9px;
}

.hos-footer__col h5::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	background: var(--hospito-primary);
	border-radius: 2px;
}

.hos-footer__list li {
	margin-bottom: 10px;
}

.hos-footer__list a {
	font-size: 13.5px;
}

.hos-footer__list a:hover {
	padding-left: 3px;
}

/* ---------- Contact column ---------- */

.hos-footer__contact ul li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	margin-bottom: 14px;
	font-size: 13px;
	color: #a9bccf;
}

.hos-footer__contact i {
	color: var(--hospito-primary);
	font-size: 14px;
	margin-top: 3px;
	flex: 0 0 auto;
}

.hos-footer__contact a {
	color: #e2eaf4;
	font-weight: 600;
	display: block;
	word-break: break-word;
}

.hos-footer__contact small {
	display: block;
	font-size: 11.5px;
	color: #8ea3bd;
	font-weight: 400;
	margin-top: 2px;
}

/* ---------- Bottom bar ---------- */

.hos-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.hos-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-block: 16px;
}

.hos-footer__bottom-inner p {
	margin: 0;
	font-size: 12.5px;
	color: #8ea3bd;
}

.hos-footer__bottom-inner .hos-footer__list {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.hos-footer__bottom-inner .hos-footer__list li {
	margin: 0;
}

.hos-footer__bottom-inner a {
	font-size: 12.5px;
	color: #8ea3bd;
}

.hos-footer__bottom-inner a:hover {
	color: #fff;
	padding-left: 0;
}
