:root {
	--color1: #dd8500;
	--azul1: #8b4513;
	--azul2: #167284;
	--verde: #2acb35;
	--verde_oscuro: #339933;
	--rojo: #f52120;
	--gris: #bdbab8;
	--gris_claro: #f7f7f7;
	--gris_oscuro: #303030;
	--blanco: #ffffff;
	--negro: #2e2c2e;
	--bs-heading-color: #062a4d;
	--bs-breadcrumb-divider: "➔";
	--bs-heading-color: #002961;
}

html, body {
	height: 100%;
	color: var(--azul_oscuro);
	font-family: 'exo_2regular', sans-serif;
	font-size: 1rem;
}

body {
	font-family: 'Open Sans', sans-serif;
	color: #333333;
	background-color: var(--gris_claro);
}

h1, h3, h4 {
	font-weight: 800;
	color: var(--negro);
}

header {
	position: relative;
	width: 100%;
	top: 0;
	z-index: 25;
}

@media (max-width: 575.98px) {
	header {
		position: relative;
	}
}

header > nav.navbar {
	padding: 0;
	background-color: rgba(0, 0, 0, 1);
	border-top: 4px solid var(--color1);
}

@media (max-width: 575.98px) {
	header > nav.navbar {
		background-color: #1c0b02;
	}
}

header > nav.navbar .logo {
	height: 50px;
}

header .carrito, 
header .carrito > a {
	font-size: 1.8em;
	color: var(--blanco);
}

header .wa > a {
	font-size: 1.4em;
	font-weight: 600;
	color: var(--verde);
}

main {
	margin-top: 0em;
}

@media (max-width: 575.98px) {
	main {
		margin-top: 0em;
	}
}

footer {
	color: var(--blanco);
	background-color: var(--gris_oscuro);
}

@media (max-width: 575.98px) {
	footer {
		padding-bottom: 2em;
	}
}

footer .contacto h5 {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--gris_oscuro);
	text-transform: uppercase;
}

footer .contacto p {
	font-size: 0.9em;
}

footer .contacto .info-contacto span {
	color: var(--color1);
}

footer .contacto .form-control {
	background-color: rgba(156, 156, 156, 0.1);
	border-color: rgba(156, 156, 156, 0.1);
	color: var(--gris_oscuro);
}

footer .contacto .form-control::placeholder {
	color: #6c6c6c;
}

footer .contacto .nav-link {
	padding: 0.3em 1em;
	font-size: 0.9em;
	color: var(--gris_oscuro);
	opacity: 0.6;
}

footer .contacto .nav-link:hover {
	text-decoration: underline;
}

footer .copyright {
	font-size: 0.7em;
	font-weight: 300;
}

footer .copyright img {
	width: 140px;
}

footer .menu-footer {
	background-color: var(--azul1);
}

footer .menu-footer .nav-item {
	text-align: center;
}

footer .menu-footer .nav-item .badge {
	position: absolute;
	top: 0;
	right: 0;
	width: 2em;
	height: 2em;
	display: flex;
	padding: 0;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

footer .menu-footer .nav-item .nav-link {
	font-size: 0.8em;
	font-weight: 600;
	color: var(--gris_claro);
}

footer .menu-footer .nav-item .nav-link svg {
	margin-right: 0.2em;
	font-size: 1.5em;
}

footer .menu-footer .nav-item .nav-link:hover {
	color: var(--blanco);
}

footer .redes a {
	margin-right: 0.3em;
	color: var(--gris);
	font-size: 1.75em;
}

@media (max-width: 575.98px) {
	footer .redes a {
		margin-right: 0.5em;
	}
}

a {
	color: var(--color1);
	text-decoration: none;
}

.btn {
	border-radius: 0;
}

.btn-light {
  --bs-btn-color:#000;
  --bs-btn-bg:#e3e5e6;
  --bs-btn-border-color:#e3e5e6;
  --bs-btn-hover-color:#000;
  --bs-btn-hover-bg:#d3d4d5;
  --bs-btn-hover-border-color:#c6c7c8;
  --bs-btn-focus-shadow-rgb:211,212,213;
  --bs-btn-active-color:#000;
  --bs-btn-active-bg:#c6c7c8;
  --bs-btn-active-border-color:#babbbc;
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:#000;
  --bs-btn-disabled-bg:#e3e5e6;
  --bs-btn-disabled-border-color:#e3e5e6
}

.btn-navegacion {
	padding: 0.1em 0.5em;
	color: var(--blanco);
	background-color: var(--gris);
	border-radius: 0.5em;
}

.btn-navegacion:hover, 
.btn-navegacion:active {
	color: var(--gris_oscuro);
	border-color: var(--gris);
}

.btn-paypal {
	padding: 8px 0px;
	font-size: 1.2em;
	font-weight: 600;
	color: #193364;
	background: #fbeedb;
	background: -moz-linear-gradient(top, #fbeedb 1%, #f9bf6d 49%, #faa622 53%, #faa622 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #fbeedb), color-stop(49%, #f9bf6d), color-stop(53%, #faa622), color-stop(100%, #faa622));
	background: -webkit-linear-gradient(top, #fbeedb 1%, #f9bf6d 49%, #faa622 53%, #faa622 100%);
	background: -o-linear-gradient(top, #fbeedb 1%, #f9bf6d 49%, #faa622 53%, #faa622 100%);
	background: -ms-linear-gradient(top, #fbeedb 1%, #f9bf6d 49%, #faa622 53%, #faa622 100%);
	background: linear-gradient(to bottom, #fbeedb 1%, #f9bf6d 49%, #faa622 53%, #faa622 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#fbeedb', endColorstr='#faa622', GradientType=0);
	border: 2px solid #faa622;
	text-transform: uppercase;
}

.btn-primary {
	min-width: 9.5em;
	font-size: 0.9em;
	font-weight: 600;
	text-transform: uppercase;
}

.btn-outline-success {
	font-size: 0.9em;
	font-weight: 600;
	text-transform: uppercase;
}

.btn-primary, .wizard > .actions a,
.wizard > .actions a:active,
.wizard > .actions a:hover, div.tox .tox-button:not(.tox-button--naked):not(.tox-button--secondary), .swal2-popup .swal2-actions button.swal2-confirm, .fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  --bs-btn-color: #fff;
  --bs-btn-bg: #8b4513;
  --bs-btn-border-color: #8b4513;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ae5f26;
  --bs-btn-hover-border-color: #ae5f26;
  --bs-btn-focus-shadow-rgb: 124, 134, 255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ae5f26;
  --bs-btn-active-border-color: #ae5f26;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #8b4513;
  --bs-btn-disabled-border-color: #8b4513;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #2acb35;
  --bs-btn-border-color: #2acb35;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #048b3f;
  --bs-btn-hover-border-color: #04823b;
  --bs-btn-focus-shadow-rgb: 43, 177, 101;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #04823b;
  --bs-btn-active-border-color: #047a38;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #2acb35;
  --bs-btn-disabled-border-color: #2acb35;
}

.btn-outline-success {
  --bs-btn-color: #8b4513;
  --bs-btn-border-color: #8b4513;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #8b4513;
  --bs-btn-hover-border-color: #8b4513;
  --bs-btn-focus-shadow-rgb: 5, 163, 74;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #8b4513;
  --bs-btn-active-border-color: #8b4513;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #8b4513;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #8b4513;
  --bs-gradient: none;
}

.buscador .btn {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid var(--gris_claro);
	border-radius: 0;
	color: var(--gris);
}

.buscador .form-control {
	border-top: none;
	border-left: none;
	border-right: none;
	border-radius: 0;
	background-color: transparent;
}

@media (max-width: 575.98px) {
	.buscador .form-control {
		color: var(--blanco);
		text-align: center;
	}
}

.buscador .form-control:focus {
	box-shadow: none;
	border-color: var(--gris);
}

.buscador .form-control:focus ~ .btn {
	border-color: var(--gris);
	color: var(--gris_oscuro);
}

.cover-img {
	min-height: 35em;
	height: auto;
	padding-top: 8em;
	margin-bottom: 1.5em;
	background: rgba(0,0,0,0.5);
}

@media (max-width: 575.98px) {
	.cover-img {
		min-height: 15em;
		padding-top: 4em;
	}
}

.divisor {
	color: transparent;
	box-shadow: 0px 3px 1px 0px var(--gris);
}

.form-control, 
.form-select {
	border-radius: 0;
}

.h2 {
	font-weight: 600;
}

.inner-title {
	font-size: 2.5em;
	font-weight: 800;
	color: var(--negro);
}

.lateral-flotante {
	position: fixed;
	top: 50%;
	right: 0;
	display: flex;
	width: 1.3em;
	height: 1.1em;
	padding-left: 0.1em;
	font-size: 2.85em;
	background-color: var(--gris_oscuro);
	box-shadow: 6px 2px 4px 0px #00000094;
	align-items: center;
	border-radius: 45% 0 0 45%;
	transition: 0.25s ease all;
}

.lateral-flotante:hover {
	background-color: var(--verde);
}

.lateral-flotante a {
	color: var(--blanco);
}

.link-bloque {
	font-size: 0.9em;
}

.menu-principal {
	flex-wrap: wrap;
}

.menu-principal .nav-link {
	font-size: 0.9em;
	font-weight: 600;
	color: var(--blanco);
	text-transform: uppercase;
}

@media (max-width: 575.98px) {
	.menu-principal .nav-link {
		color: var(--blanco);
	}
}

.menu-principal .nav-link:hover, 
.menu-principal .nav-link:active {
	color: var(--color1);
}

.modal {
	--bs-modal-width: 600px;
}

.navbar-toggler {
	border-color: var(--blanco);
	font-size: 1em;
	opacity: 0.75;
}

.navbar-toggler-icon,
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
	border-color: #ffffff;
}

.navbar-toggler:focus {
	box-shadow: 0 0 0 transparent;
}

.slick-prev::before,
.slick-next::before {
	color: var(--gris_claro);
}

.subtitulo-seccion {
	font-size: 0.9em;
	font-weight: 400 !important;
	color: var(--azul2);
	text-transform: none !important;
}

.text-normal {
	text-transform: none !important;
}

.titulo-bloque {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--verde_oscuro);
}

.titulo-especial {
	font-family: "Cookie", cursive;
	font-size: 4.2em;
	line-height: 0.8em;
}

@media (max-width: 575.98px) {
	.titulo-especial {
		font-size: 2.8em;
	}
}

.titulo-form {
	font-size: 1.4em;
	font-weight: 800;
	color: var(--color1);
	text-transform: uppercase;
}

.titulo-seccion {
	font-size: 1.5em;
	font-weight: 800;
	text-transform: uppercase;
}


/********** Home ***********/
#contactForm .text-danger {
	display: block;
	margin-top: -0.8em;
	margin-bottom: 1em;
}

.newslettr-label {
	font-size: 1.5em;
	font-weight: 800;
	color: var(--rojo);
	text-transform: uppercase;
}

@media (max-width: 575.98px) {
	.newslettr-label {
		font-size: 1.2em;
	}
}

.newslettr-label .fa-envelope {
	padding: 0.05em 0.25em;
	width: 0.65em;
	background-color: rgba(245,33,32,0.4);
	border-radius: 0.2em;
}

.prod-container {
	position: relative;
	border: 1px solid var(--gris_claro);
	border-radius: 0.8em;
	overflow: hidden;
}

.prod-container.prod-agotado:after {
	content: 'agotado';
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0.5em;
	margin-left: -2.5em;
	margin-top: -1.3em;
	font-size: 3em;
	background-color: #cccccc;
	rotate: -45deg;
}

.prod-descuento {
	margin-left: 0.5em;
	font-size: 0.7em;
	color: var(--verde);
}

@media (max-width: 575.98px) {
	.prod-descuento {
		display: block;
		margin-left: 0;
	}
}

.prod-envio {
	font-size: 0.8em;
	font-weight: 600;
	color: var(--verde_oscuro);
}

.prod-precio-orig {
	margin: 0;
	font-size: 0.85em;
	color: var(--gris_oscuro);
	text-decoration: line-through;
}

.prod-precio-final {
	font-size: 1.4em;
	color: var(--negro);
}

.prod-titulo {
	margin-top: 1em;
	margin-bottom: 0.7em;
	font-size: 0.9em;
}

.prod-titulo a {
	color: var(--gris_oscuro);
}

.prod-titulo a:hover {
	color: var(--verde_oscuro);
}

.slick-dots {
	bottom: 0.8em;
}

@media (max-width: 575.98px) {
	.slick-dots {
		bottom: 0.2em;
	}
}

.slick-dots li button::before {
	content: '◯';
	font-size: 12px;
	color: var(--blanco);
	opacity: 0.25;
}

.slick-dots li.slick-active button::before {
	color: var(--blanco);
	opacity: 0.85;
}

.slick-slide {
	height: inherit !important;
}

.slick-track {
	display: flex !important;
}


/******** Búsqueda *********/
.filtros .accordion-button::after {
	background: none;
}

.filtros.accordion .accordion-button {
	background-color: transparent;
	font-size: 0.65em;
	font-weight: 600;
	color: var(--bs-heading-color);
	box-shadow: 0px 0px 0px 1px var(--gris_claro);
}

.filtros.accordion .accordion-button::before {
	font-family: 'FontAwesome';
	content: '\f1de';
	float: left;
	margin-right: 0.5em;
	font-size: 0.75em;
	font-weight: 400;
}

.filtros.accordion .accordion-button:not(.collapsed)::after {
	font-family: 'FontAwesome';
	content: '\f102';
	float: right;
	font-size: 0.75em;
	font-weight: 400;
}

.filtros.accordion .accordion-button.collapsed::after {
	font-family: 'FontAwesome';
	content: '\f102';
	font-size: 0.75em;
	font-weight: 400;
}

.filtros .form-label {
	margin-bottom: 0.2em;
	font-size: 0.9em;
	font-weight: 600;
	color: var(--verde_oscuro);
}

.filtros .form-select {
	background-color: var(--gris_claro);
}

/******** Productos ********/
.productos .card {
	border-color: var(--gris_claro);
}

.productos .card .imagen {
	overflow: hidden;
}

.productos .card img {
	transform: scale(1);
	transition: 0.4s ease all;
}

.productos .card img:hover {
	transform: scale(1.2);
}

.productos .card .marca {
	font-size: 0.8em;
	font-weight: 600;
	color: var(--gris);
	text-transform: uppercase;
}

.productos .card .nombre {
	font-size: 0.95em;
	color: var(--color1);
	text-transform: uppercase;
}

.productos .card .precio {
	font-size: 1.2em;
	font-weight: 600;
	color: var(--gris_oscuro);
}


/***** Detalle producto *****/
section#producto {
	margin-top: 5em;
}

.breadcrumb .breadcrumb-item a {
	font-size: 0.85em;
	color: var(--negro);
	text-transform: uppercase;
}

.breadcrumb .breadcrumb-item a:hover, 
.breadcrumb .breadcrumb-item a:active {
	color: var(--color1);
}

.breadcrumb-item + .breadcrumb-item::before {
	color: var(--negro);
}

.breadcrumb .breadcrumb-item.active {
	font-size: 1.0em;
	color: var(--color1);
}

.comentarios .form-control {
	font-size: 0.875em;
}

.producto .detalles .especificaciones .titulo {
	font-weight: 800;
	color: var(--verde_oscuro);
}

.producto .detalles .nav-link {
	margin-right: 0.25em;
	color: var(--gris-oscuro);
	background-color: #dddddd;
	border-radius: 0;
}

.producto .detalles .nav-link.active {
	background-color: var(--blanco);
	border-bottom-color: #dddddd;
}

.producto .detalles .nav-tabs {
	border-bottom: none;
}

@media (max-width: 575.98px) {
	.producto .detalles .nav-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
	}
}

.producto .detalles .resumen {
	font-size: 1.0em;
	font-weight: 400;
}

.producto .detalles .tab-content {
	min-height: 8em;
	border: 1px solid #dddddd;
}

.producto .marca a {
	font-weight: 600;
	color: var(--gris_oscuro);
	text-transform: uppercase;
}

.producto .precio {
	margin-bottom: 0;
	font-size: 2.0em;
	font-weight: 800;
	color: var(--negro);
}

.producto .precio.agotado {
	text-decoration: line-through;
}

.producto .producto-titulo {
	font-size: 1.75em;
	font-weight: 800;
	color: var(--color1);
	text-transform: uppercase;
}

.producto .txt-agotado {
	margin-top: 0;
	font-size: 1.5em;
	color: #555;
	text-transform: uppercase;
}

.producto .variaciones label {
	font-size: 0.9em;
	font-weight: 600;
	text-transform: uppercase; 
}


/******** Carrito ********/
.carrito .control-cantidad {
	width: 9em;
}

.carrito .control-cantidad .btn {
	border-color: #dee2e6;
	border-radius: 0.5em;
}

.carrito .control-cantidad .form-control {
	font-size: 0.8em;
	text-align: center;
}

.carrito .form-label {
	color: var(--gris);
	text-transform: uppercase;
}

.carrito .tbody {
	padding: 0.5em 0;
	border-bottom: 1px solid var(--gris_claro);
}

.carrito .theader {
	padding: 0.5em 0.2em;
	color: var(--blanco);
	background-color: var(--color1);
	text-transform: uppercase;
}

@media (max-width: 575.98px) {
	.carrito .tbody, 
	.carrito .theader {
		font-size: 0.8em;
	}
}

.carrito .tbody .marca a {
	font-size: 0.8em;
	font-weight: 600;
	color: var(--gris_oscuro);
	text-transform: uppercase;
}

.carrito .tbody .producto {
	line-height: 1.2em;
}

.carrito .tbody .producto a {
	font-size: 0.9em;
	font-weight: 600;
	color: var(--color1);
	text-transform: uppercase;
}

.carrito .tbody .precio {
	font-weight: 600;
}

.carrito .tbody .remove {
	color: var(--negro);
}

.carrito .tbody .remove:hover, 
.carrito .tbody .remove:active {
	color: var(--verde_oscuro);
}

.carrito .tbody .variante, 
.carrito .tbody .variante a {
	font-size: 0.8em;
	color: var(--gris_oscuro);
	text-transform: uppercase;
}

.carrito .tbody .marca a:hover, 
.carrito .tbody .producto a:hover, 
.carrito .tbody .variante a:hover {
	text-decoration: underline;
}

@media (max-width: 575.98px) {
	.carrito .totales {
		font-size: 0.9em;
	}
}

.flotante-carrito {
	position: fixed;
	top: 50%;
	left: 0;
	display: flex;
	width: 3.5em;
	height: 3.1em;
	padding-right: 0.5em;
	font-size: 1.2em;
	background-color: var(--gris_oscuro);
	box-shadow: 6px 2px 4px 0px #00000094;
	align-items: center;
	border-radius: 0 0.4em 0.4em 0;
	transition: 0.25s ease all;
}

.flotante-carrito:hover {
	background-color: var(--verde_oscuro);
}

.flotante-carrito a {
	position: relative;
	color: var(--blanco);
	text-align: right;
	line-height: 1em;
}

.flotante-carrito small {
	font-size: 0.75em;
}

.flotante-carrito .badge {
	padding-left: 0;
	padding-right: 0;
	font-size: 0.7em;
	font-weight: 400;
}


/* Secciones personalizadas */
#contactForm .form-control {
	padding: 0.7em 1.4em;
	margin-bottom: 1em;
}

#contactForm .btn {
	width: 100%;
	padding: 0.8em;
}

.pag-3, 
.pag-4 {
	margin-top: 3em;
}

@media (max-width: 575.98px) {
	.pag-3, 
	.pag-4 {
		margin-top: 0;
	}
}

@media (max-width: 575.98px) {
	.pag-3 {
		margin-top: 0;
	}
}

.sec-3 {
	color: var(--blanco);
}

@media (max-width: 575.98px) {
	.sec-3 {
		padding-bottom: 4em;
	}
}

.sec-3 .inner-title {
	margin-bottom: 0.6em;
	color: var(--blanco);
	font-size: 3.2em;
	font-weight: 600;
}

@media (max-width: 575.98px) {
	.sec-3 .inner-title {
		font-size: 2.1em;
	}
}

.sec-3 .col-content {
	font-size: 1.5em;
}

@media (max-width: 575.98px) {
	.sec-3 .col-content {
		font-size: 1.25em;
	}
}

@media (max-width: 575.98px) {
	.sec-6 .inner-title {
		margin-top: 1em;
	}
}

.sec-8 .inner-title, 
.sec-10 .inner-title, 
.sec-14 .inner-title {
	margin-bottom: 0.9em;
	font-size: 1.8em;
	font-weight: 600;
}

.sec-10 {
	padding-top: 3em;
	padding-bottom: 2.5em;
}

@media (max-width: 575.98px) {
	.sec-10 {
		padding-top: 0.5em;
	}
}

.sec-10 .inner-title {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.sec-10 .img-fluid {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.sec-11, 
.sec-30, 
.sec-33 {
	text-align: center;
}

.sec-11 .fa-mug-saucer, 
.sec-30 .fa-leaf, 
.sec-33 .fa-users {
	font-size: 2.2em;
}

.sec-12 .stats > div {
	font-size: 2.2em;
	border-right: 1px solid var(--blanco);
	text-align: center;
}

.sec-12 .stats > div:last-child {
	border-right: none;
}

.sec-14 {
	padding-top: 4em;
}

.sec-14 .inner-title {
	text-align: center;
}

.sec-20 {
	padding: 2em 2.6em;
	background-color: var(--blanco);
}

.sec-20 .inner-title {
	font-size: 1.4em;
	font-weight: 600;
}

.sec-12 {
	background-color: #f3f4f6;
}

@media (max-width: 575.98px) {
	.sec-12 {
		width: 100%;
	}
}

.sec-12 > div {
	padding: 1.5em 0;
}

@media (max-width: 575.98px) {
	.sec-12 > div {
		padding: 1.5em 2em;
	}
}

.sec-13 {
	padding-top: 6em;
	
}

.sec-13 .inner-title, 
.sec-18 .inner-title {
	margin-bottom: 1.0em;
	color: var(--blanco);
}

.sec-14 > .row > div {
	padding: 0 2em 1.5em;
	border: 1px solid var(--gris_claro);
	border-radius: 0.25em;
}

.sec-14 .customer {
	display: flex;
	align-items: center;
}

.sec-14 .customer img {
	width: 80px;
	object-fit: cover;
	border-radius: 50%;
	overflow: hidden;
}

.sec-14 .customer > div {
	margin-left: 0.6em;
}

.sec-14 .customer > div p {
	margin-bottom: 0;
}

.sec-14 .customer > div p:first-child {
	font-weight: 600;
	color: var(--azul1);
}

.sec-14 .customer > div p:last-child {
	font-size: 0.9em;
	font-style: italic;
	color: var(--gris);
}

.sec-15 {
	margin-top: 5em;
	margin-bottom: 3em;
	text-align:center;
}

.sec-15 > .row {
	align-items: center;
}

.sec-15 .col-content {
	text-align: center;
}

.sec-15 img {
	width: 120px;
	cursor: pointer;
	transition: 0.3s all ease;
	filter: grayscale(1);
	opacity: 0.8;
}

.sec-15 img:hover {
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.1);
}

@media (max-width: 575.98px) {
	.sec-15 .col-md {
		flex: unset;
		width: 16% !important;
	}
	
	.sec-15 img {
		width: 42px;
	}
}

.sec-18 {
	padding: 2.5em 3em;
	background-color: var(--color1);
	color: var(--blanco);
}

.sec-38 .col-content h5 {
	font-size: 2.5em;
	font-weight: 800;
	color: var(--negro);
}

.sec-43 {
	font-size: 1.2em;
}

.sec-38 .inner-title,
.sec-43 .inner-title {
	margin: 0;
}

@media (max-width: 575.98px) {
	.sec-38 .col-content h5 {
		margin-bottom: 1em;
		font-size: 2.0em;
		text-align: center;
	}
}

/*.sec-58 {
	position: relative;
}

.sec-58::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}*/

.sec-58 {
	margin-top: 4em !important;
}

@media (max-width: 575.98px) {
	.sec-58 {
		margin-top: 3em !important;
	}
}

.sec-58 body {
  --color: rgba(30, 30, 30);
  --bgColor: rgba(245, 245, 245);
}

.sec-58 h1 {
  text-align: center;
}

.sec-58 ul {
  --col-gap: 2rem;
  --row-gap: 2rem;
  --line-w: 0.25rem;
  display: grid;
  grid-template-columns: var(--line-w) 1fr;
  grid-auto-columns: max-content;
  column-gap: var(--col-gap);
  list-style: none;
  width: min(60rem, 90%);
  margin-inline: auto;
}

/* line */
.sec-58 ul::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 34;
  background: rgb(225, 225, 225);
  border-radius: calc(var(--line-w) / 2);
}

/* columns*/

/* row gaps */
.sec-58 ul li:not(:last-child) {
  margin-bottom: var(--row-gap);
}

/* card */
.sec-58 ul li {
  grid-column: 2;
  --inlineP: 1.5rem;
  margin-inline: var(--inlineP);
  grid-row: span 2;
  display: grid;
  grid-template-rows: min-content min-content min-content;
}

/* date */
.sec-58 ul li .date {
  --dateH: 3rem;
  height: var(--dateH);
  margin-inline: calc(var(--inlineP) * -1);

  text-align: center;
  background-color: var(--accent-color);

  color: white;
  font-size: 1.25rem;
  font-weight: 700;

  display: grid;
  place-content: center;
  position: relative;

  border-radius: calc(var(--dateH) / 2) 0 0 calc(var(--dateH) / 2);
}

/* date flap */
.sec-58 ul li .date::before {
  content: "";
  width: var(--inlineP);
  aspect-ratio: 1;
  background: var(--accent-color);
  background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
  position: absolute;
  top: 100%;

  clip-path: polygon(0 0, 100% 0, 0 100%);
  right: 0;
}

/* circle */
.sec-58 ul li .date::after {
  content: "";
  position: absolute;
  width: 2rem;
  aspect-ratio: 1;
  background: var(--bgColor);
  border: 0.3rem solid var(--accent-color);
  border-radius: 50%;
  top: 50%;

  transform: translate(50%, -50%);
  right: calc(100% + var(--col-gap) + var(--line-w) / 2);
}

/* title descr */
.sec-58 ul li .title,
.sec-58 ul li .descr {
  background: var(--bgColor);
  position: relative;
  padding-inline: 1.5rem;
}
.sec-58 ul li .title {
  overflow: hidden;
  padding-block-start: 1.5rem;
  padding-block-end: 1rem;
  font-weight: 500;
}
.sec-58 ul li .descr {
  padding-block-end: 1.5rem;
  font-weight: 300;
}

/* shadows */
.sec-58 ul li .title::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 0.5rem;
  background: rgba(0, 0, 0, 0.5);
  left: 50%;
  border-radius: 50%;
  filter: blur(4px);
  transform: translate(-50%, 50%);
}

.sec-58 ul li .descr::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 0.5rem;
  left: 50%;
  border-radius: 50%;
  filter: blur(4px);
  transform: translate(-50%, 50%);
}

.sec-58 ul li .title::before {
  bottom: calc(100% + 0.125rem);
}

.sec-58 ul li .descr::before {
  z-index: -1;
  bottom: 0.25rem;
}

@media (min-width: 40rem) {
  .sec-58 ul {
    grid-template-columns: 1fr var(--line-w) 1fr;
  }
  .sec-58 ul::before {
    grid-column: 2;
  }
  .sec-58 ul li:nth-child(odd) {
    grid-column: 1;
  }
  .sec-58 ul li:nth-child(even) {
    grid-column: 3;
  }

  /* start second card */
  .sec-58 ul li:nth-child(2) {
    grid-row: 2/4;
  }

  .sec-58 ul li:nth-child(odd) .date::before {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    left: 0;
  }

  .sec-58 ul li:nth-child(odd) .date::after {
    transform: translate(-50%, -50%);
    left: calc(100% + var(--col-gap) + var(--line-w) / 2);
  }
  .sec-58 ul li:nth-child(odd) .date {
    border-radius: 0 calc(var(--dateH) / 2) calc(var(--dateH) / 2) 0;
  }
}

.sec-58 .credits {
  margin-top: 1rem;
  text-align: right;
}
.sec-58 .credits a {
  color: var(--color);
}

.sec-61, 
.sec-62, 
.sec-63, 
.sec-64 {
	margin-top: 3em;
}

.sec-80 {
	margin-top: 3em !important;
}

.sec-85, 
.sec-88 {
	height: auto !important;
	padding: 0;
}

.sec-85 .inner-title, 
.sec-88 .inner-title {
	font-size: 1.8em;
	font-weight: 600;
}

.sec-91 {
	margin-top: 4em;
}

.sec-91 .inner-title {
	margin-top: 1em;
	margin-bottom: 0.6em;
	font-size: 1.5em;
	font-weight: 700;
}

.sec-95, 
.sec-98, 
.sec-101 {
	margin: 0 !important;
}

.sec-95 .col-lg-9, 
.sec-98 .col-lg-9, 
.sec-101 .col-lg-9 {
	width: 100% !important;
	margin: 0 !important;
}

@media (max-width: 575.98px) {
	.sec-95, 
	.sec-98, 
	.sec-101 {
		width: 100% !important;
		text-align: center;
	}
}

.sec-103 {
	margin-top: 4em !important;
	text-align: center;
}
/* ==========================================================
   DIFORD 2026 — LAYOUT OVERRIDES
   Paleta basada en la propuesta azul/gris con naranja de marca
   ========================================================== */

:root {
	--color1: #c2410c;
	--color1-dark: #9a3412;
	--azul1: #1c1917;
	--azul2: #292524;
	--azul_oscuro: #0c0a09;
	--gris: #7a8895;
	--gris_claro: #f5f7fa;
	--gris_oscuro: #263746;
	--blanco: #ffffff;
	--negro: #1c1917;
	--diford-border: #dfe6ec;
	--diford-shadow: 0 12px 32px rgba(9, 34, 56, 0.08);
	--bs-heading-color: #1c1917;

	/* Alias globales: estas variables solo estaban definidas dentro de
	   .business-insurance-page en el CSS original (sitio principal).
	   Las declaramos aquí a nivel :root para que funcionen en TODAS
	   las páginas de este sitio (truck-insurance-page, marine-insurance-page,
	   city-hero/city-cta, etc.) sin depender de qué clase traiga cada una. */
	--business-blue: #5c5044;   /* tono mucho más tenue, cálido y muteado */
	--business-orange: var(--color1);
	--business-soft: var(--gris_claro);
}

/* Botón outline sobre fondo oscuro (hero secundario y CTAs de ciudad) —
   antes usaba el azul/naranja default de Bootstrap, invisible sobre el
   fondo carbón del sitio. */
.city-cta .btn-outline-primary,
.business-cta .btn-outline-primary {
	color: #fff;
	border-color: rgba(255,255,255,.75);
	background: transparent;
}
.city-cta .btn-outline-primary:hover,
.city-cta .btn-outline-primary:focus,
.business-cta .btn-outline-primary:hover,
.business-cta .btn-outline-primary:focus {
	color: var(--business-blue);
	background: #fff;
	border-color: #fff;
}

/* Sub-lockup "Truck Insurance" bajo el logo, en el header */
.navbar-brand--truck {
	display: flex;
	flex-direction: column;
	line-height: 1;
}
.navbar-brand__sub {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color1);
	margin-top: .15rem;
}

html,
body {
	height: auto;
}

body {
	margin: 0;
	font-family: 'Inter', 'Open Sans', sans-serif;
	color: var(--gris_oscuro);
	background: var(--blanco);
	-webkit-font-smoothing: antialiased;
}

body > .container,
body > .container-fluid,
body > .col-md-11 {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Inter', 'Open Sans', sans-serif;
	font-weight: 700;
	color: var(--azul1);
}

a {
	color: var(--color1);
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

a:hover {
	color: var(--color1-dark);
}

.btn {
	border-radius: .7rem;
	font-weight: 700;
}

.btn-primary,
.wizard > .actions a,
.wizard > .actions a:active,
.wizard > .actions a:hover,
div.tox .tox-button:not(.tox-button--naked):not(.tox-button--secondary),
.swal2-popup .swal2-actions button.swal2-confirm,
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--color1);
	--bs-btn-border-color: var(--color1);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--color1-dark);
	--bs-btn-hover-border-color: var(--color1-dark);
	--bs-btn-active-bg: var(--color1-dark);
	--bs-btn-active-border-color: var(--color1-dark);
	--bs-btn-disabled-bg: var(--color1);
	--bs-btn-disabled-border-color: var(--color1);
}

.form-control,
.form-select {
	min-height: 3.15rem;
	border-radius: .7rem;
	border-color: var(--diford-border);
}

.form-control:focus,
.form-select:focus {
	border-color: rgba(245, 130, 42, .65);
	box-shadow: 0 0 0 .25rem rgba(245, 130, 42, .13);
}

/* Header */
header.site-header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 1030;
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid rgba(16, 47, 73, .09);
	box-shadow: 0 5px 22px rgba(9, 34, 56, .06);
	backdrop-filter: blur(12px);
}

header.site-header > nav.navbar {
	padding: .65rem 0;
	background: transparent;
	border-top: 0;
}

.site-header .navbar-brand {
	margin-right: 2rem;
	padding: 0;
}

.site-header .logo {
	width: auto;
	height: 62px;
	max-width: 270px;
	object-fit: contain;
}

.menu-principal {
	flex-wrap: nowrap;
	gap: .1rem;
}

.menu-principal .nav-link {
	position: relative;
	padding: .9rem .8rem !important;
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--gris_oscuro);
	text-transform: none;
	white-space: nowrap;
}

.menu-principal .nav-link::after {
	transition: transform .2s ease;
}

.menu-principal > .nav-item > .nav-link::before {
	position: absolute;
	content: '';
	left: .8rem;
	right: .8rem;
	bottom: .45rem;
	height: 2px;
	background: var(--color1);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .2s ease;
}

.menu-principal > .nav-item > .nav-link:hover,
.menu-principal > .nav-item > .nav-link:focus,
.menu-principal > .nav-item > .nav-link.active,
.menu-principal > .nav-item.show > .nav-link {
	color: var(--azul1);
}

.menu-principal > .nav-item > .nav-link:hover::before,
.menu-principal > .nav-item > .nav-link:focus::before,
.menu-principal > .nav-item > .nav-link.active::before {
	transform: scaleX(1);
}

.site-header .dropdown-menu {
	min-width: 17rem;
	padding: .65rem;
	margin-top: .45rem;
	background: var(--blanco);
	border: 1px solid rgba(16, 47, 73, .09);
	border-radius: .85rem;
	box-shadow: var(--diford-shadow);
}

.site-header .dropdown-item {
	padding: .65rem .8rem;
	font-size: .88rem;
	font-weight: 500;
	color: var(--gris_oscuro);
	border-radius: .55rem;
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus {
	color: var(--azul1);
	background: #f2f6f9;
}

.header-actions {
	flex: 0 0 auto;
}

.header-phone {
	font-size: .9rem;
	font-weight: 700;
	color: var(--azul1);
	white-space: nowrap;
}

.header-phone:hover {
	color: var(--color1);
}

.header-phone svg,
.header-phone i {
	color: var(--color1);
}

.header-quote {
	min-width: auto;
	padding: .75rem 1rem;
	font-size: .78rem;
	letter-spacing: .02em;
	white-space: nowrap;
	text-transform: none;
}

.navbar-toggler {
	padding: .45rem .6rem;
	font-size: 1rem;
	border: 1px solid var(--diford-border);
	border-radius: .65rem;
	opacity: 1;
}

.navbar-toggler-icon,
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	background-image: var(--bs-navbar-toggler-icon-bg);
	border-color: transparent;
}

/* Main */
.site-main {
	width: 100%;
	min-height: 45vh;
	margin: 0;
	padding: 0;
	background: var(--blanco);
}

.site-main > .container:first-child,
.site-main > .container-fluid:first-child {
	padding-top: 0;
}

.site-main .card,
.site-main .widget,
.site-main .sec-20 {
	border-color: var(--diford-border);
	border-radius: 1rem;
	box-shadow: 0 8px 24px rgba(9, 34, 56, .05);
}

.inner-title,
.titulo-seccion {
	color: var(--azul1);
}

/* Footer */
footer.site-footer {
	padding: 0;
	color: rgba(255, 255, 255, .78);
	background: linear-gradient(180deg, #102f49 0%, #092238 100%);
}

.footer-main {
	padding-top: 4.5rem;
	padding-bottom: 3.5rem;
}

.footer-brand {
	display: inline-flex;
	padding: .35rem;
	margin-bottom: 1.25rem;
	background: var(--blanco);
	border-radius: .55rem;
}

.footer-brand img {
	width: auto;
	height: 54px;
	max-width: 280px;
	object-fit: contain;
}

.footer-tagline {
	max-width: 24rem;
	font-size: .95rem;
	line-height: 1.75;
	color: rgba(255, 255, 255, .74);
}

.footer-title {
	margin-bottom: 1.25rem;
	font-size: .88rem;
	font-weight: 800;
	letter-spacing: .06em;
	color: var(--blanco);
	text-transform: uppercase;
}

.footer-contact li {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .7rem;
}

.footer-contact svg,
.footer-contact i {
	width: 1rem;
	color: var(--color1);
}

.footer-contact a,
.footer-links a,
.footer-legal-links a {
	color: rgba(255, 255, 255, .74);
	text-decoration: none;
}

.footer-contact a:hover,
.footer-links a:hover,
.footer-legal-links a:hover {
	color: var(--blanco);
}

.footer-links li {
	margin-bottom: .65rem;
}

.footer-legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .8rem;
	font-size: .84rem;
}

.footer-legal-links a:not(:last-child)::after {
	content: '·';
	margin-left: .8rem;
	color: var(--color1);
}

.footer-bottom {
	padding: 1.25rem 0;
	font-size: .78rem;
	color: rgba(255, 255, 255, .55);
	border-top: 1px solid rgba(255, 255, 255, .11);
}

.footer-bottom a {
	color: var(--color1);
}

@media (max-width: 1199.98px) {
	.site-header .navbar-collapse {
		padding: 1rem 0 .5rem;
	}

	.menu-principal {
		gap: 0;
	}

	.menu-principal .nav-link {
		padding: .65rem 0 !important;
		white-space: normal;
	}

	.menu-principal > .nav-item > .nav-link::before {
		display: none;
	}

	.site-header .dropdown-menu {
		padding: .25rem 0 .5rem 1rem;
		margin: 0;
		border: 0;
		box-shadow: none;
	}

	.header-actions {
		align-items: flex-start !important;
		padding-top: .75rem;
		border-top: 1px solid var(--diford-border);
	}
}

@media (max-width: 575.98px) {
	header.site-header > nav.navbar {
		background: rgba(255, 255, 255, .98);
	}

	.site-header .logo {
		height: 47px;
		max-width: 220px;
	}

	.footer-main {
		padding-top: 3.5rem;
		padding-bottom: 2.5rem;
	}

	.footer-brand img {
		height: 46px;
		max-width: 235px;
	}
}

/* Business Insurance Brisbane — page-specific styles */
.business-insurance-page { --business-blue:#0b3153; --business-orange:#f58220; --business-soft:#f5f7fa; }
.business-hero .cms-slide { min-height: 620px; }
.business-hero .cms-slide__overlay { background:linear-gradient(90deg,rgba(5,35,64,.92) 0%,rgba(5,35,64,.7) 42%,rgba(5,35,64,.16) 100%); }
.business-hero .cms-slide__copy { max-width:650px; }
.business-hero .cms-slide__title { max-width:650px; font-size:clamp(2.8rem,5.5vw,5.2rem); text-transform:uppercase; line-height:.98; }
.business-hero .cms-slide__title::first-line { color:#fff; }
.business-hero .cms-slide__description { max-width:530px; font-size:1.25rem; }
.cms-slide__actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.cms-slide__cta-secondary { min-width:190px; }
.business-intro { padding:4rem 0 2rem; text-align:center; }
.business-intro .cms-text__inner { max-width:860px; margin-inline:auto; }
.business-intro .inner-title { text-transform:uppercase; color:var(--business-blue); }
.business-coverages { padding:2rem 0 5rem; background:#fff; }
.business-coverages .inner-title { text-transform:uppercase; color:var(--business-blue); }
.business-coverages .cms-card { border:0; border-radius:.35rem; background:linear-gradient(180deg,#fafbfc,#f1f3f6); box-shadow:none; text-align:center; }
.business-coverages .cms-card__body { padding:1.25rem 1rem 1.5rem; }
.business-coverages .cms-card__icon { min-height:86px; display:grid; place-items:end center; padding-top:1rem; color:var(--business-blue); font-size:3.2rem; }
.business-coverages .cms-card__icon i { transition:transform .25s ease,color .25s ease; }
.business-coverages .cms-card:hover .cms-card__icon i { color:var(--business-orange); transform:translateY(-3px); }
.business-coverages .cms-card__title { font-size:1.08rem; color:var(--business-blue); }
.business-coverages .cms-card__description { font-size:.92rem; color:#4e5965; }
.business-partner { padding:0 0 5rem; }
.business-partner .cms-columns__row { background:#fff; align-items:center; }
.business-partner .cms-column { padding:0; }
.business-partner .cms-column__inner { height:100%; }
.business-partner .cms-image { margin:0; height:100%; }
.business-partner .cms-image__img { width:100%; height:100%; min-height:420px; object-fit:cover; border-radius:0; }
.business-partner .business-partner-copy .cms-column__inner { padding:3.5rem; }
.business-partner h2 { color:var(--business-blue); text-transform:uppercase; font-size:clamp(2rem,3vw,3rem); }
.business-partner .fa-circle-check { color:var(--business-orange); margin-right:.55rem; }
.business-why { padding:4.5rem 0; }
.business-why .cms-background-section__overlay { background:rgba(4,39,70,.92); }
.business-why .cms-section-heading { text-align:center; }
.business-why .cms-columns { padding:1rem 0 0; }
.business-why .cms-columns__container { padding:0; }
.business-why .cms-column { text-align:center; color:#fff; border-right:1px solid rgba(255,255,255,.25); }
.business-why .cms-column:last-child { border-right:0; }
.business-why .cms-column__content i { color:var(--business-orange); font-size:2.8rem; margin-bottom:1rem; }
.business-why .cms-column__content h3 { color:#fff; font-size:1.15rem; }
.business-why .cms-column__content p { color:rgba(255,255,255,.82); font-size:.92rem; }
.business-process { padding:4.5rem 0 3.5rem; background:#fff; }
.business-process .cms-section-heading { text-align:center; }
.business-process .cms-section-heading__line { margin-inline:auto; }
.business-process .cms-column { text-align:center; position:relative; }
.business-process .process-number { width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--business-orange);color:#fff;font-weight:800;margin:0 auto .8rem; }
.business-process .process-icon { color:var(--business-blue);font-size:2.8rem;margin-bottom:.7rem; }
.business-process h3 { color:var(--business-blue); font-size:1.15rem; }
.business-trust { padding:2.5rem 0; background:#f4f6f8; }
.business-trust .cms-section-heading { text-align:center; margin-bottom:1.5rem; }
.business-trust .cms-section-heading__line { margin-inline:auto; }
.business-trust .cms-column { display:flex; align-items:center; justify-content:center; text-align:left; border-right:1px solid #d8dee5; }
.business-trust .cms-column:last-child { border-right:0; }
.business-trust .trust-item { display:flex; align-items:center; gap:.8rem; }
.business-trust .trust-item i { color:var(--business-blue); font-size:2.2rem; }
.business-trust .trust-item strong { color:var(--business-blue); display:block; font-size:1.05rem; }
.business-cta { padding:2rem 0; background:var(--business-blue); color:#fff; }
.business-cta .cms-columns__container { padding-top:0; padding-bottom:0; }
.business-cta .cms-columns__row { align-items:center; }
.business-cta .cms-column__content h2,.business-cta .cms-column__content h3 { color:#fff; }
.business-cta .cms-column__content p { margin:0; color:rgba(255,255,255,.82); }
.business-cta .cta-contact { display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; }
.business-cta .cta-contact a { color:#fff; font-weight:700; }
.business-cta .btn { border-radius:.3rem; }
@media (max-width:991.98px){
 .business-hero .cms-slide { min-height:560px; }
 .business-partner .business-partner-copy .cms-column__inner { padding:2rem; }
 .business-why .cms-column { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:1.5rem; }
 .business-trust .cms-column { border-right:0; justify-content:flex-start; }
}
@media (max-width:575.98px){
 .business-hero .cms-slide { min-height:600px; }
 .business-hero .cms-slide__title { font-size:2.65rem; }
 .business-hero .cms-slide__description { font-size:1.05rem; }
 .cms-slide__actions .btn { width:100%; }
 .business-partner .cms-image__img { min-height:300px; }
 .business-partner .business-partner-copy .cms-column__inner { padding:2rem 1.25rem; }
}

/* ==========================================================
   DIFORD BUSINESS — definitive structural repair 2026-07-23
   ========================================================== */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html,
    body { overflow-x: hidden; }
}

.site-main,
.main-container,
.cms-slider,
.cms-slider .main-slider,
.cms-slide,
.cms-columns,
.cms-background-section,
.cms-cards,
.cms-text {
    width: 100%;
    max-width: 100%;
}

.main-container { overflow-x: clip; }

/* Absolute hero media must be positioned against each slide, not the page. */
.cms-slide {
    position: relative !important;
    isolation: isolate;
}

.cms-slide__media {
    z-index: 0;
    display: block;
    overflow: hidden;
}

.cms-slide__image {
    display: block;
    max-width: none;
}

.cms-slide__overlay { z-index: 1; }
.cms-slide__content { z-index: 2; }

.cms-columns__row > *,
.cms-slide__copy,
.header-actions,
.navbar-collapse {
    min-width: 0;
}

img,
picture,
svg {
    max-width: 100%;
}

.cms-slide__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.business-hero .cms-slide,
.business-hero .cms-slide__content {
    min-height: 620px;
}

.business-why.cms-background-section {
    min-height: auto;
}

.business-why .business-why-grid.cms-columns {
    padding-top: 0;
    padding-bottom: 0;
}

.business-why-grid .cms-columns__row {
    justify-content: center;
}

@media (max-width: 1199.98px) {
    .site-header .navbar-collapse {
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        overflow-x: hidden;
    }
}

@media (max-width: 575.98px) {
    .business-hero .cms-slide,
    .business-hero .cms-slide__content {
        min-height: 590px;
    }
}


/* ==========================================================
   Diford CMS components — Bootstrap 5 visual layer
   Add after gtheme.css, or append these rules to that file.
   ========================================================== */

:root {
    --diford-navy: #0b2b43;
    --diford-navy-dark: #071e30;
    --diford-blue: #244d6b;
    --diford-orange: #f5822a;
    --diford-orange-dark: #dc6d18;
    --diford-surface: #f5f7fa;
    --diford-border: #dde5ec;
    --diford-text: #1d2c3a;
    --diford-muted: #627384;
    --diford-radius: 1rem;
    --diford-shadow: 0 1rem 2.5rem rgba(11, 43, 67, 0.08);
}

.cms-section-heading { margin-bottom: 2rem; }
.cms-section-heading .inner-title,
.cms-column__title {
    margin: 0;
    color: var(--diford-text);
    font-size: clamp(1.75rem, 3vw, 2.7rem);
    font-weight: 800;
    line-height: 1.15;
    text-transform: none;
}
.cms-section-heading__line {
    display: block;
    width: 4rem;
    height: .25rem;
    margin-top: 1rem;
    border-radius: 50rem;
    background: var(--diford-orange);
}
.cms-section-heading--light .inner-title { color: #fff; }

/* Slider / hero */
.cms-slider { position: relative; overflow: hidden; background: var(--diford-navy-dark); }
.cms-slide { min-height: clamp(31rem, 64vw, 43rem); overflow: hidden; }
.cms-slide__media,
.cms-slide__image,
.cms-slide__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.cms-slide__image { object-fit: cover; object-position: center; }
.cms-slide__overlay {
    z-index: 1;
    background: linear-gradient(90deg, rgba(5, 25, 41, .92) 0%, rgba(5, 25, 41, .72) 40%, rgba(5, 25, 41, .16) 100%);
}
.cms-slide__content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: clamp(31rem, 64vw, 43rem);
    align-items: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.cms-slide__copy { width: min(100%, 42rem); color: #fff; }
.cms-slide__eyebrow {
    margin-bottom: 1rem;
    color: var(--diford-orange);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cms-slide__title {
    margin-bottom: 1.25rem;
    color: #fff;
    font-size: clamp(2.35rem, 5vw, 4.6rem);
    font-weight: 800;
    line-height: 1.04;
    text-wrap: balance;
}
.cms-slide__description {
    max-width: 36rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}
.cms-slide__cta { padding: .85rem 1.35rem; border-radius: .65rem; }
.cms-slider .slick-dots { bottom: 1.25rem; z-index: 4; }
.cms-slider .slick-dots li button::before { color: #fff; }
.cms-slider .slick-prev,
.cms-slider .slick-next {
    z-index: 5;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    background: rgba(7,30,48,.45);
}
.cms-slider .slick-prev { left: 1.25rem; }
.cms-slider .slick-next { right: 1.25rem; }
.cms-slider .slick-prev::before,
.cms-slider .slick-next::before { display: none; }

/* Generic columns */
.cms-columns { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.cms-columns__row { --bs-gutter-x: 2rem; --bs-gutter-y: 2rem; }
.cms-column { display: flex; }
.cms-column__inner { width: 100%; }
.cms-column__content { color: var(--diford-muted); line-height: 1.75; }
.cms-column__content > :last-child { margin-bottom: 0; }
.cms-column__content h3,
.cms-column__content h4 { color: var(--diford-text); font-weight: 750; }
.cms-column__content ul { padding-left: 1.2rem; }
.cms-column__content li + li { margin-top: .45rem; }

/* Variants assigned through the existing `clases` CMS field */
.cms-columns--soft { background: var(--diford-surface); }
.cms-columns--dark { color: #fff; background: var(--diford-navy); }
.cms-columns--dark .inner-title,
.cms-columns--dark .cms-column__content h3,
.cms-columns--dark .cms-column__content h4 { color: #fff; }
.cms-columns--dark .cms-column__content { color: rgba(255,255,255,.78); }
.cms-columns--split .cms-columns__row { --bs-gutter-x: 0; border-radius: var(--diford-radius); overflow: hidden; background: #fff; box-shadow: var(--diford-shadow); }
.cms-columns--split .cms-column__inner { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: clamp(2rem, 5vw, 4.5rem); }
.cms-columns--split .cms-image { height: 100%; margin: 0; }
.cms-columns--split .cms-image__img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; }
.cms-columns--flush .cms-columns__container { max-width: none; padding-right: 0; padding-left: 0; }
.cms-columns--card .cms-column__inner { padding: 2rem; border: 1px solid var(--diford-border); border-radius: var(--diford-radius); background: #fff; box-shadow: 0 .75rem 2rem rgba(11,43,67,.05); }

/* Text */
.cms-text { padding: clamp(3rem, 6vw, 5rem) 0; }
.cms-text__inner { width: min(100%, 74rem); margin-inline: auto; }
.cms-text.narrow .cms-text__inner { width: min(100%, 52rem); }
.cms-text.wide .cms-text__inner { width: 100%; }
.cms-richtext { color: var(--diford-muted); font-size: 1.03rem; line-height: 1.8; }
.cms-richtext > :last-child { margin-bottom: 0; }
.cms-richtext h2,
.cms-richtext h3,
.cms-richtext h4 { margin-top: 2rem; color: var(--diford-text); font-weight: 750; }
.cms-richtext a { color: var(--diford-orange-dark); font-weight: 650; text-decoration: underline; text-underline-offset: .2em; }
.cms-richtext img { max-width: 100%; height: auto; border-radius: .85rem; }
.cms-richtext blockquote { padding: 1.5rem 1.75rem; border-left: .25rem solid var(--diford-orange); background: var(--diford-surface); }

/* Image */
.cms-image { margin: 0; overflow: hidden; }
.cms-image__img { display: block; width: 100%; height: auto; }
.cms-image.rounded .cms-image__img { border-radius: var(--diford-radius); }
.cms-image.cover .cms-image__img { height: 100%; object-fit: cover; }
.cms-image.shadow .cms-image__img { box-shadow: var(--diford-shadow); }

/* Cards */
.cms-cards { padding: clamp(3.5rem, 7vw, 6rem) 0; background: var(--diford-surface); }
.cms-card { overflow: hidden; border: 1px solid var(--diford-border); border-radius: var(--diford-radius); box-shadow: 0 .75rem 2rem rgba(11,43,67,.045); transition: transform .25s ease, box-shadow .25s ease; }
.cms-card:hover { transform: translateY(-.3rem); box-shadow: var(--diford-shadow); }
.cms-card__media { aspect-ratio: 16/10; overflow: hidden; background: #e9eef3; }
.cms-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.cms-card:hover .cms-card__image { transform: scale(1.04); }
.cms-card__body { display: flex; flex-direction: column; padding: 1.5rem; }
.cms-card__title { color: var(--diford-text); font-size: 1.25rem; font-weight: 750; }
.cms-card__description { color: var(--diford-muted); line-height: 1.65; }
.cms-card__link { color: var(--diford-orange-dark); font-weight: 750; text-decoration: none; }
.cms-card__link:hover { color: var(--diford-navy); }
.cms-cards--white { background: #fff; }
.cms-cards--icons .cms-card__media { aspect-ratio: 1; width: 4.5rem; margin: 1.5rem auto 0; border-radius: 50%; }

/* Background section */
.cms-background-section {
    position: relative;
    overflow: hidden;
    min-height: 26rem;
    padding: clamp(4rem, 8vw, 7rem) 0;
    color: #fff;
    background-position: center;
    background-size: cover;
}
.cms-background-section__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,30,48,.94), rgba(7,30,48,.72)); }
.cms-background-section__content { position: relative; z-index: 1; }
.cms-background-section .cms-columns,
.cms-background-section .cms-text { padding: 0; }
.cms-background-section .cms-column__content,
.cms-background-section .cms-richtext { color: rgba(255,255,255,.82); }
.cms-background-section .inner-title,
.cms-background-section h2,
.cms-background-section h3,
.cms-background-section h4 { color: #fff; }
.cms-background-section.overlay-light .cms-background-section__overlay { background: rgba(255,255,255,.88); }
.cms-background-section.overlay-light,
.cms-background-section.overlay-light .inner-title,
.cms-background-section.overlay-light h2,
.cms-background-section.overlay-light h3 { color: var(--diford-text); }
.cms-background-section.overlay-light .cms-column__content,
.cms-background-section.overlay-light .cms-richtext { color: var(--diford-muted); }

@media (max-width: 991.98px) {
    .cms-slide__overlay { background: linear-gradient(90deg, rgba(5,25,41,.91), rgba(5,25,41,.55)); }
    .cms-columns--split .cms-column__inner { padding: 2.25rem; }
    .cms-columns--split .cms-image__img { min-height: 21rem; }
}

@media (max-width: 767.98px) {
    .cms-slide { min-height: 35rem; }
    .cms-slide__content { min-height: 35rem; align-items: flex-end; padding-bottom: 5rem; }
    .cms-slide__overlay { background: linear-gradient(0deg, rgba(5,25,41,.96) 0%, rgba(5,25,41,.60) 68%, rgba(5,25,41,.25) 100%); }
    .cms-slider .slick-prev,
    .cms-slider .slick-next { display: none !important; }
    .cms-columns--reverse-mobile .cms-columns__row { flex-direction: column-reverse; }
    .cms-columns--split .cms-image__img { min-height: 18rem; }
}


/* ==========================================================
   Business Insurance Brisbane — final visual polish
   Version: 2026-07-23.5
   ========================================================== */

/* Prevent media/components from creating horizontal overflow. */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.site-main,
.cms-slider,
.cms-slider .main-slider,
.cms-slide,
.cms-columns,
.cms-cards,
.cms-text,
.cms-background-section {
    width: 100%;
    max-width: 100%;
}

.cms-slide {
    position: relative;
    isolation: isolate;
}

.cms-slide__media,
.cms-slide__image,
.cms-slide__overlay {
    position: absolute;
    inset: 0;
}

.cms-slide__media {
    display: block;
    overflow: hidden;
}

.cms-slide__image {
    max-width: none;
}

.cms-columns__row > *,
.cms-slide__copy,
.navbar-collapse,
.header-actions {
    min-width: 0;
}

/* Header refinements */
.site-header .container-xxl,
.site-main .container-xxl,
.site-footer .container-xxl {
    max-width: 1320px;
}

header.site-header > nav.navbar {
    min-height: 82px;
    padding-top: .7rem;
    padding-bottom: .7rem;
}

.site-header .logo {
    height: 68px;
    max-width: 305px;
}

.menu-principal {
    gap: .15rem;
}

.menu-principal .nav-link {
    padding-right: .9rem !important;
    padding-left: .9rem !important;
    font-size: .91rem;
}

.header-phone {
    font-size: .94rem;
}

.header-quote {
    min-width: 132px;
    padding: .82rem 1.15rem;
}

/* Hero */
.business-hero.cms-slider {
    background: #082844;
}

.business-hero .cms-slide,
.business-hero .cms-slide__content {
    min-height: clamp(540px, 55vw, 650px);
}

.business-hero .cms-slide__image {
    object-position: 58% center;
}

.business-hero .cms-slide__overlay {
    background:
        linear-gradient(90deg,
            rgba(4, 31, 55, .96) 0%,
            rgba(4, 31, 55, .88) 30%,
            rgba(4, 31, 55, .58) 53%,
            rgba(4, 31, 55, .10) 100%);
}

.business-hero .cms-slide__content {
    display: flex;
    align-items: center;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.business-hero .cms-slide__copy {
    width: min(100%, 670px);
}

.business-hero .cms-slide__eyebrow {
    margin-bottom: 1.1rem;
    color: #ff9a45;
    font-size: .88rem;
    letter-spacing: .095em;
}

.business-hero .cms-slide__title {
    margin-bottom: 1.4rem;
    font-size: clamp(3rem, 5.25vw, 5.25rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.business-hero .cms-slide__title-main,
.business-hero .cms-slide__title-accent {
    display: block;
}

.business-hero .cms-slide__title-main {
    color: #fff;
}

.business-hero .cms-slide__title-accent {
    color: var(--business-orange);
}

.business-hero .cms-slide__description {
    max-width: 550px;
    margin-bottom: 0;
    font-size: 1.18rem;
    line-height: 1.65;
}

.business-hero .cms-slide__actions {
    margin-top: 2rem;
}

.business-hero .cms-slide__cta,
.business-hero .cms-slide__cta-secondary {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .85rem 1.35rem;
    border-radius: .45rem;
}

.business-hero .cms-slide__cta-secondary {
    min-width: 200px;
    color: #fff;
    border-color: rgba(255,255,255,.75);
    background: rgba(4,31,55,.18);
}

.business-hero .cms-slide__cta-secondary:hover,
.business-hero .cms-slide__cta-secondary:focus {
    color: var(--business-blue);
    background: #fff;
    border-color: #fff;
}

/* Intro and general section rhythm */
.business-intro {
    padding: 4.75rem 0 1.75rem;
}

.business-intro .cms-text__inner {
    max-width: 900px;
}

.business-intro .inner-title {
    margin-bottom: 1rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
    letter-spacing: -.02em;
}

.business-intro .cms-section-heading__line {
    margin-right: auto;
    margin-left: auto;
}

.business-intro .cms-richtext {
    color: #526270;
    font-size: 1.06rem;
}

/* Coverages */
.business-coverages {
    padding: 2.25rem 0 5.5rem;
}

.business-coverages .cms-section-heading {
    margin-bottom: 2.5rem;
}

.business-coverages .inner-title {
    font-size: clamp(2rem, 3.2vw, 2.9rem);
}

.business-coverages .row {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

.business-coverages .cms-card {
    min-height: 330px;
    overflow: visible;
    border: 1px solid #e4e9ee;
    border-radius: .8rem;
    background: linear-gradient(180deg, #fbfcfd 0%, #f1f4f7 100%);
    box-shadow: 0 .5rem 1.5rem rgba(9, 38, 61, .035);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.business-coverages .cms-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245,130,42,.58);
    box-shadow: 0 1.1rem 2.25rem rgba(9, 38, 61, .10);
}

.business-coverages .cms-card__icon {
    min-height: 105px;
    padding-top: 1.65rem;
    font-size: 3.35rem;
}

.business-coverages .cms-card__body {
    padding: 1.2rem 1.25rem 1.65rem;
}

.business-coverages .cms-card__title {
    min-height: 2.7em;
    margin-bottom: .8rem;
    font-size: 1.1rem;
    line-height: 1.25;
}

.business-coverages .cms-card__description {
    min-height: 6.9em;
    font-size: .94rem;
    line-height: 1.58;
}

.business-coverages .cms-card__link {
    margin-top: auto;
    text-underline-offset: .2em;
}

/* Image + content */
.business-partner {
    padding: 0 0 5.75rem;
}

.business-partner .cms-columns__row {
    overflow: hidden;
    align-items: stretch;
    border: 1px solid #e2e8ed;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.3rem rgba(9,38,61,.08);
}

.business-partner .cms-column {
    padding: 0;
}

.business-partner .cms-image__img {
    min-height: 470px;
    border-radius: 0;
}

.business-partner .business-partner-copy .cms-column__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.5rem, 4vw, 4.25rem);
}

.business-partner .business-partner-copy .cms-column__title {
    position: relative;
    margin-bottom: 1.65rem;
    font-size: clamp(2.1rem, 3.4vw, 3.25rem);
    line-height: 1.02;
}

.business-partner .business-partner-copy .cms-column__title::after {
    content: '';
    display: block;
    width: 4rem;
    height: 4px;
    margin-top: 1.1rem;
    border-radius: 999px;
    background: var(--business-orange);
}

.business-partner .cms-column__content {
    color: #526270;
    font-size: 1rem;
}

.business-partner .cms-column__content li {
    display: flex;
    align-items: flex-start;
}

.business-partner .fa-circle-check {
    margin-top: .25rem;
}

/* Why Diford */
.business-why.cms-background-section {
    min-height: 0;
    padding: 5rem 0;
    background-color: #082d4d;
    background-position: center;
}

.business-why .cms-background-section__overlay {
    background:
        linear-gradient(90deg, rgba(5,35,61,.97), rgba(5,35,61,.91)),
        linear-gradient(rgba(5,35,61,.2), rgba(5,35,61,.2));
}

.business-why .cms-section-heading {
    margin-bottom: 2.6rem;
    text-align: center;
}

.business-why .cms-section-heading .inner-title {
    color: #fff;
    font-size: clamp(2rem, 3vw, 2.85rem);
}

.business-why .cms-section-heading__line {
    margin-right: auto;
    margin-left: auto;
}

.business-why .business-why-grid.cms-columns {
    padding: 0;
}

.business-why .business-why-grid .cms-columns__container {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.business-why .business-why-grid .cms-columns__row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 1.5rem;
}

.business-why .cms-column {
    position: relative;
    display: flex;
    padding: 0 2rem;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,.22);
}

.business-why .cms-column:last-child {
    border-right: 0;
}

.business-why .cms-column__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.business-why .cms-column__content > p:first-child {
    margin-bottom: .8rem;
}

.business-why .cms-column__content i {
    color: var(--business-orange);
    font-size: 3rem;
}

.business-why .cms-column__content h3 {
    margin-bottom: .7rem;
    color: #fff;
    font-size: 1.18rem;
}

.business-why .cms-column__content p {
    color: rgba(255,255,255,.78);
    font-size: .94rem;
    line-height: 1.6;
}

/* Process */
.business-process {
    padding: 5rem 0 4.75rem;
}

.business-process .cms-section-heading {
    margin-bottom: 2.7rem;
}

.business-process .inner-title {
    font-size: clamp(2rem, 3vw, 2.75rem);
}

.business-process .cms-columns__row {
    --bs-gutter-x: 2.5rem;
}

.business-process .cms-column {
    position: relative;
    text-align: center;
}

.business-process .cms-column:not(:last-child)::after {
    position: absolute;
    content: '';
    top: 3.65rem;
    left: calc(50% + 3.4rem);
    width: calc(100% - 6.8rem);
    border-top: 2px dashed rgba(245,130,42,.55);
}

.business-process .process-number {
    position: relative;
    z-index: 2;
    width: 2.55rem;
    height: 2.55rem;
    margin-bottom: .9rem;
    box-shadow: 0 0 0 .45rem #fff;
}

.business-process .process-icon {
    position: relative;
    z-index: 2;
    display: inline-grid;
    width: 4.3rem;
    height: 4.3rem;
    place-items: center;
    margin-bottom: .8rem;
    font-size: 2.6rem;
    background: #fff;
}

.business-process h3 {
    margin-bottom: .65rem;
    font-size: 1.22rem;
}

.business-process p {
    max-width: 240px;
    margin-right: auto;
    margin-left: auto;
    color: #5a6875;
    line-height: 1.6;
}

/* Trust strip */
.business-trust {
    padding: 3rem 0;
    background: #f2f5f8;
}

.business-trust .cms-section-heading {
    margin-bottom: 2rem;
}

.business-trust .inner-title {
    font-size: clamp(1.9rem, 2.6vw, 2.5rem);
}

.business-trust .cms-columns__row {
    --bs-gutter-y: 1.35rem;
}

.business-trust .cms-column {
    justify-content: center;
    min-height: 74px;
    padding: 0 1.5rem;
}

.business-trust .trust-item {
    width: 100%;
    justify-content: center;
    gap: 1rem;
}

.business-trust .trust-item i {
    flex: 0 0 auto;
    font-size: 2.55rem;
}

.business-trust .trust-item small {
    display: block;
    margin-bottom: .2rem;
    color: #657482;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.business-trust .trust-item strong {
    font-size: 1.12rem;
}

/* Final CTA */
.business-cta {
    padding: 2.65rem 0;
}

.business-cta .cms-columns__row {
    --bs-gutter-y: 1.5rem;
}

.business-cta .cms-column__content h2 {
    margin-bottom: .45rem;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem);
}

.business-cta .cms-column__content p {
    font-size: .96rem;
}

.business-cta .cta-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: .7rem;
}

.business-cta .cta-contact a {
    overflow-wrap: anywhere;
}

.business-cta .btn-primary {
    min-width: 190px;
    padding: .9rem 1.25rem;
    color: #fff;
    background: var(--business-orange);
    border-color: var(--business-orange);
}

.business-cta .btn-primary:hover {
    background: #dd6f16;
    border-color: #dd6f16;
}

/* Footer refinements */
.footer-main {
    padding-top: 5rem;
    padding-bottom: 4rem;
}

.footer-brand img {
    height: 60px;
    max-width: 300px;
}

.footer-tagline,
.footer-contact,
.footer-links,
.site-footer p {
    font-size: .94rem;
}

.footer-title {
    margin-bottom: 1.35rem;
    font-size: .94rem;
}

.footer-links li,
.footer-contact li {
    margin-bottom: .78rem;
}

@media (max-width: 1199.98px) {
    header.site-header > nav.navbar {
        min-height: 74px;
    }

    .site-header .logo {
        height: 58px;
        max-width: 270px;
    }

    .site-header .navbar-collapse {
        max-height: calc(100vh - 78px);
        overflow-y: auto;
        overflow-x: hidden;
    }

    .business-coverages .cms-card {
        min-height: 315px;
    }
}

@media (max-width: 991.98px) {
    .business-hero .cms-slide,
    .business-hero .cms-slide__content {
        min-height: 570px;
    }

    .business-coverages .cms-card__description {
        min-height: auto;
    }

    .business-partner .cms-image__img {
        min-height: 390px;
    }

    .business-why .cms-column {
        padding: 1rem 2rem 1.5rem;
        border-right: 0;
    }

    .business-why .cms-column:nth-child(odd) {
        border-right: 1px solid rgba(255,255,255,.18);
    }

    .business-why .cms-column:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .business-process .cms-column:not(:last-child)::after {
        display: none;
    }

    .business-trust .cms-column {
        border-right: 0;
    }
}

@media (max-width: 767.98px) {
    .business-hero .cms-slide,
    .business-hero .cms-slide__content {
        min-height: 610px;
    }

    .business-hero .cms-slide__content {
        align-items: flex-end;
        padding-bottom: 4.25rem;
    }

    .business-hero .cms-slide__image {
        object-position: 68% center;
    }

    .business-hero .cms-slide__overlay {
        background: linear-gradient(0deg,
            rgba(4,31,55,.98) 0%,
            rgba(4,31,55,.86) 43%,
            rgba(4,31,55,.28) 100%);
    }

    .business-hero .cms-slide__title {
        font-size: clamp(2.65rem, 12vw, 3.8rem);
    }

    .business-hero .cms-slide__description {
        font-size: 1.04rem;
    }

    .business-hero .cms-slide__actions .btn {
        width: auto;
        min-width: 0;
    }

    .business-partner .cms-columns__row {
        border-radius: .8rem;
    }

    .business-partner .cms-image__img {
        min-height: 310px;
    }

    .business-partner .business-partner-copy .cms-column__inner {
        padding: 2.25rem 1.5rem;
    }

    .business-why.cms-background-section {
        padding: 4.25rem 0;
    }

    .business-why .cms-column,
    .business-why .cms-column:nth-child(odd),
    .business-why .cms-column:nth-child(-n+2) {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .business-why .cms-column:last-child {
        border-bottom: 0;
    }

    .business-process,
    .business-trust {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .business-trust .cms-column {
        justify-content: flex-start;
    }

    .business-trust .trust-item {
        justify-content: flex-start;
    }

    .business-cta {
        text-align: center;
    }

    .business-cta .cta-contact {
        align-items: center;
    }

    .business-cta .text-lg-end {
        text-align: center !important;
    }
}

@media (max-width: 575.98px) {
    .site-header .logo {
        height: 48px;
        max-width: 225px;
    }

    .business-hero .cms-slide__actions {
        flex-direction: column;
    }

    .business-hero .cms-slide__actions .btn {
        width: 100%;
    }

    .business-intro {
        padding-top: 4rem;
    }

    .business-coverages,
    .business-partner {
        padding-bottom: 4.5rem;
    }

    .business-coverages .cms-card {
        min-height: 0;
    }

    .business-coverages .cms-card__title,
    .business-coverages .cms-card__description {
        min-height: 0;
    }

    .footer-main {
        padding-top: 4rem;
        padding-bottom: 3rem;
    }
}

/* ==========================================================
   Diford additional pages: Personal, Truck, Landlord, About,
   Contact. Requires the consolidated CMS component styles.
   ========================================================== */

/* Hero focal points */
.personal-hero .cms-slide__image { object-position: 66% center; }
.truck-hero .cms-slide__image { object-position: 72% center; }
.landlord-hero .cms-slide__image { object-position: 70% center; }
.about-hero .cms-slide__image { object-position: 69% center; }
.contact-hero .cms-slide__image { object-position: 67% center; }

/* Per-page accent handling */
.personal-insurance-page,
.truck-insurance-page,
.landlord-insurance-page,
.about-page,
.contact-page {
    --page-blue: #082d4d;
    --page-blue-deep: #05233d;
    --page-orange: #f5822a;
    --page-soft: #f3f6f9;
}

.personal-why,
.truck-why,
.landlord-why,
.about-why,
.contact-why {
    background-image: url('../img/secciones/common/why-bg.jpg');
}

/* Cards remain balanced across insurance pages */
.personal-coverages .cms-card,
.truck-coverages .cms-card,
.landlord-coverages .cms-card {
    min-height: 330px;
}

.personal-coverages .cms-card__icon,
.truck-coverages .cms-card__icon,
.landlord-coverages .cms-card__icon {
    color: #0b3658;
}

.personal-coverages .cms-card:hover .cms-card__icon,
.truck-coverages .cms-card:hover .cms-card__icon,
.landlord-coverages .cms-card:hover .cms-card__icon {
    color: var(--page-orange);
}

/* About page */
.about-brokers {
    padding: 1.5rem 0 5.5rem;
}

.about-brokers .cms-section-heading {
    margin-bottom: 2.5rem;
    text-align: center;
}

.about-brokers .cms-section-heading__line {
    margin-inline: auto;
}

.about-brokers .cms-columns__row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
    justify-content: center;
}

.about-brokers .cms-column__inner {
    height: 100%;
}

.broker-profile {
    height: 100%;
    overflow: hidden;
    border: 1px solid #e1e8ee;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.2rem 3rem rgba(8, 45, 77, .08);
}

.broker-profile > img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center 22%;
    background: #eef2f5;
}

.broker-profile__body {
    padding: 1.7rem 1.8rem 1.9rem;
}

.broker-profile__body h3 {
    margin-bottom: .25rem;
    color: #082d4d;
    font-size: 1.55rem;
}

.broker-role {
    margin-bottom: 1rem;
    color: var(--page-orange);
    font-weight: 700;
}

.broker-profile__body > p:not(.broker-role) {
    color: #566674;
    line-height: 1.7;
}

.broker-profile__body li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-top: .7rem;
    color: #526270;
}

.broker-profile__body li i {
    margin-top: .28rem;
    color: #0b3658;
}

.broker-profile__body a {
    color: #0b3658;
    overflow-wrap: anywhere;
}

.about-values {
    padding: 4.75rem 0 5.25rem;
    background: #f5f7f9;
}

.about-values .cms-section-heading {
    margin-bottom: 2.3rem;
    text-align: center;
}

.about-values .cms-section-heading__line {
    margin-inline: auto;
}

.value-card {
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
    border: 1px solid #e0e7ed;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(8,45,77,.05);
}

.value-card > i {
    margin-bottom: 1rem;
    color: #0b3658;
    font-size: 2.8rem;
}

.value-card h3 {
    margin-bottom: .6rem;
    color: #082d4d;
    font-size: 1.2rem;
}

.value-card p {
    margin-bottom: 0;
    color: #5b6975;
    line-height: 1.6;
}

/* Contact page */
.contact-info {
    padding: 4.75rem 0 3rem;
}

.contact-info .cms-section-heading,
.contact-quick .cms-section-heading {
    margin-bottom: 2.4rem;
    text-align: center;
}

.contact-info .cms-section-heading__line,
.contact-quick .cms-section-heading__line {
    margin-inline: auto;
}

.contact-info .cms-columns__row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.25rem;
}

.contact-info-card {
    height: 100%;
    padding: 2rem 1.3rem;
    text-align: center;
    border: 1px solid #e1e7ec;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 .8rem 2.1rem rgba(8,45,77,.05);
}

.contact-info-card > i {
    display: inline-grid;
    width: 4.5rem;
    height: 4.5rem;
    place-items: center;
    margin-bottom: 1rem;
    color: #fff;
    background: #082d4d;
    border-radius: 50%;
    font-size: 1.7rem;
}

.contact-info-card h3 {
    margin-bottom: .75rem;
    color: #082d4d;
    font-size: 1.2rem;
}

.contact-info-card a,
.contact-info-card strong {
    display: block;
    color: #082d4d;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.contact-info-card span {
    display: block;
    margin-top: .7rem;
    color: #60707e;
    line-height: 1.55;
}

.contact-main {
    padding: 1.5rem 0 5.5rem;
}

.contact-main .cms-columns__row {
    overflow: hidden;
    border: 1px solid #dfe7ed;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.2rem rgba(8,45,77,.08);
}

.contact-main .cms-column {
    padding: 0;
}

.contact-main .cms-column:first-child {
    border-right: 1px solid #e2e8ed;
}

.contact-panel {
    height: 100%;
    padding: clamp(2rem, 4vw, 3.5rem);
}

.contact-panel h2 {
    position: relative;
    margin-bottom: 1.4rem;
    color: #082d4d;
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
    font-weight: 800;
}

.contact-panel h2::after,
.contact-office h3::after {
    content: '';
    display: block;
    width: 3.4rem;
    height: 3px;
    margin-top: .8rem;
    background: var(--page-orange);
    border-radius: 999px;
}

.contact-panel > p {
    color: #5d6c79;
    line-height: 1.7;
}

.contact-panel .form-label {
    color: #24394b;
    font-size: .9rem;
    font-weight: 700;
}

.contact-panel .form-control,
.contact-panel .form-select {
    min-height: 50px;
    border: 1px solid #d9e1e7;
    border-radius: .45rem;
    background: #fff;
}

.contact-panel textarea.form-control {
    min-height: 140px;
}

.contact-panel .form-control:focus,
.contact-panel .form-select:focus {
    border-color: rgba(245,130,42,.75);
    box-shadow: 0 0 0 .2rem rgba(245,130,42,.13);
}

.contact-security {
    display: flex;
    gap: .55rem;
    margin-top: 1rem;
    margin-bottom: 0;
    color: #657583;
    font-size: .78rem;
}

.contact-security i {
    margin-top: .18rem;
    color: #0b3658;
}

.office-address {
    display: flex;
    gap: 1rem;
    padding: 1.4rem;
    margin: 1.5rem 0;
    border-radius: .75rem;
    background: #f3f6f9;
}

.office-address > i {
    color: #0b3658;
    font-size: 1.8rem;
}

.office-address strong {
    color: #082d4d;
}

.office-address p {
    margin: .65rem 0;
    color: #5d6b77;
}

.contact-office__image {
    width: 100%;
    aspect-ratio: 16 / 8;
    margin: .6rem 0 1.8rem;
    object-fit: cover;
    border-radius: .75rem;
}

.contact-office h3 {
    margin-bottom: 1.2rem;
    color: #082d4d;
    font-size: 1.2rem;
}

.contact-office li {
    display: flex;
    gap: .65rem;
    margin-bottom: .65rem;
    color: #5d6b77;
}

.contact-office li i {
    margin-top: .2rem;
    color: var(--page-orange);
}

.contact-quick {
    padding: 4.75rem 0 5rem;
    background: #f5f7f9;
}

.quick-help-card {
    display: flex;
    height: 100%;
    gap: 1.25rem;
    padding: 1.8rem;
    border: 1px solid #dfe7ed;
    border-radius: .9rem;
    background: #fff;
}

.quick-help-card > i {
    display: grid;
    flex: 0 0 4rem;
    width: 4rem;
    height: 4rem;
    place-items: center;
    color: #082d4d;
    background: #f1f4f7;
    border-radius: 50%;
    font-size: 1.6rem;
}

.quick-help-card h3 {
    margin-bottom: .4rem;
    color: #082d4d;
    font-size: 1.15rem;
}

.quick-help-card p {
    margin-bottom: .75rem;
    color: #5f6e7b;
}

.quick-help-card a {
    color: var(--page-orange);
    font-weight: 700;
}

/* Page-specific minor refinements */
.about-advice .cms-image__img,
.personal-partner .cms-image__img,
.truck-partner .cms-image__img,
.landlord-partner .cms-image__img {
    object-position: center;
}

.contact-cta {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .about-brokers,
    .contact-main {
        padding-bottom: 4.5rem;
    }

    .contact-main .cms-column:first-child {
        border-right: 0;
        border-bottom: 1px solid #e2e8ed;
    }
}

@media (max-width: 767.98px) {
    .personal-hero .cms-slide__image,
    .truck-hero .cms-slide__image,
    .landlord-hero .cms-slide__image,
    .about-hero .cms-slide__image,
    .contact-hero .cms-slide__image {
        object-position: 60% center;
    }

    .about-values,
    .contact-info,
    .contact-quick {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .broker-profile > img {
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 575.98px) {
    .contact-panel {
        padding: 1.6rem 1.25rem;
    }

    .quick-help-card {
        flex-direction: column;
    }
}


/* ==========================================================
   DIFORD HOME + FAQ — CMS complement 2026-07-23
   ========================================================== */

.home-page,
.faq-page {
    --page-blue: #082d4d;
    --page-blue-deep: #05233d;
    --page-orange: #f5822a;
    --page-soft: #f3f6f9;
}

/* HOME */
.home-hero .cms-slide__image {
    object-position: 63% center;
}

.home-hero .cms-slide,
.home-hero .cms-slide__content {
    min-height: 660px;
}

.home-hero .cms-slide__copy {
    max-width: 660px;
}

.home-trust {
    position: relative;
    z-index: 4;
    padding: 0 0 4.75rem;
    margin-top: -52px;
    background: transparent;
}

.home-trust .cms-columns__container {
    padding: 1.85rem 2rem;
    border: 1px solid rgba(8, 45, 77, .09);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.3rem 3.2rem rgba(8, 45, 77, .14);
}

.home-trust .cms-columns__row {
    --bs-gutter-y: 1.5rem;
}

.home-trust .cms-column {
    min-height: 82px;
}

.home-intro {
    padding: 1.25rem 0 2rem;
}

.home-solutions {
    padding-top: 1.5rem;
    padding-bottom: 5.75rem;
}

.home-solutions .cms-card {
    min-height: 325px;
}

.home-advice {
    margin-bottom: 0;
}

.home-advice .cms-image__img {
    object-position: center;
}

.home-why {
    background-image: url('../img/secciones/home/home-why.jpg');
}

.home-brokers {
    padding-top: 5.25rem;
    padding-bottom: 5.75rem;
    background: #f5f7f9;
}

.home-brokers .cms-section-heading {
    text-align: center;
}

.home-brokers .cms-section-heading__line {
    margin-inline: auto;
}

.home-brokers .cms-columns__row {
    max-width: 980px;
    margin-inline: auto;
}

.home-brokers .broker-profile > img {
    aspect-ratio: 4 / 3;
}

.home-cta {
    margin-top: 0;
}

/* FAQ */
.faq-hero .cms-slide__image {
    object-position: 67% center;
}

.faq-hero .cms-slide,
.faq-hero .cms-slide__content {
    min-height: 540px;
}

.faq-intro {
    padding: 4.75rem 0 2rem;
}

.faq-accordion {
    padding: 1rem 0 5.75rem;
    background: #fff;
}

.faq-accordion .cms-section-heading {
    margin-bottom: 2.5rem;
    text-align: center;
}

.faq-accordion .cms-section-heading__line {
    margin-inline: auto;
}

.faq-accordion .cms-accordion {
    max-width: 980px;
    margin-inline: auto;
}

.cms-accordion .accordion-item {
    overflow: hidden;
    margin-bottom: 1rem;
    border: 1px solid #dfe6ec;
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgba(8, 45, 77, .045);
}

.cms-accordion .accordion-item:last-child {
    margin-bottom: 0;
}

.cms-accordion .accordion-button {
    min-height: 72px;
    padding: 1.25rem 1.5rem;
    color: #0a3152;
    background: #fff;
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.4;
    box-shadow: none;
}

.cms-accordion .accordion-button:not(.collapsed) {
    color: #082d4d;
    background: #f5f8fa;
}

.cms-accordion .accordion-button:focus {
    border-color: transparent;
    box-shadow: 0 0 0 .2rem rgba(245, 130, 42, .14);
}

.cms-accordion .accordion-button::after {
    width: 2rem;
    height: 2rem;
    background-size: 1rem;
    background-position: center;
    border-radius: 50%;
    background-color: #f2f5f7;
}

.cms-accordion .accordion-body {
    padding: 0 1.5rem 1.5rem;
    color: #566775;
    font-size: .98rem;
    line-height: 1.75;
}

.cms-accordion .accordion-body p:last-child,
.cms-accordion .accordion-body ul:last-child {
    margin-bottom: 0;
}

.cms-accordion .accordion-body a {
    color: var(--page-orange);
    font-weight: 700;
}

.faq-help {
    padding: 4.75rem 0 5.25rem;
    background: #f3f6f9;
}

.faq-help .cms-section-heading {
    margin-bottom: 2.35rem;
    text-align: center;
}

.faq-help .cms-section-heading__line {
    margin-inline: auto;
}

.faq-help-card {
    display: flex;
    height: 100%;
    gap: 1.15rem;
    padding: 1.75rem;
    border: 1px solid #dde6ec;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(8, 45, 77, .05);
}

.faq-help-card > i {
    display: grid;
    flex: 0 0 4rem;
    width: 4rem;
    height: 4rem;
    place-items: center;
    color: #082d4d;
    background: #eef3f6;
    border-radius: 50%;
    font-size: 1.55rem;
}

.faq-help-card h3 {
    margin-bottom: .4rem;
    color: #082d4d;
    font-size: 1.12rem;
}

.faq-help-card p {
    margin-bottom: .65rem;
    color: #5e6e7b;
    line-height: 1.6;
}

.faq-help-card a {
    color: var(--page-orange);
    font-weight: 700;
}

.faq-cta {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .home-hero .cms-slide,
    .home-hero .cms-slide__content {
        min-height: 590px;
    }

    .home-trust {
        margin-top: 0;
        padding-top: 2rem;
    }

    .home-trust .cms-columns__container {
        box-shadow: 0 .8rem 2rem rgba(8,45,77,.08);
    }
}

@media (max-width: 767.98px) {
    .home-hero .cms-slide__image,
    .faq-hero .cms-slide__image {
        object-position: 62% center;
    }

    .home-brokers,
    .faq-accordion,
    .faq-help {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .faq-help-card {
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .home-hero .cms-slide,
    .home-hero .cms-slide__content {
        min-height: 620px;
    }

    .faq-hero .cms-slide,
    .faq-hero .cms-slide__content {
        min-height: 570px;
    }

    .home-trust .cms-columns__container {
        padding: 1.5rem 1rem;
    }

    .cms-accordion .accordion-button {
        min-height: 64px;
        padding: 1rem 1.1rem;
        font-size: .98rem;
    }

    .cms-accordion .accordion-body {
        padding: 0 1.1rem 1.2rem;
        font-size: .94rem;
    }
}

/* ========================================================================
   DIFORD — FINAL CONSOLIDATED OVERRIDES
   Consolidates the former site-fixes.css, home-faq-fix.css and
   cta-color-fix.css. This block intentionally lives at the end of gtheme.css.
   ======================================================================== */

:root {
    --diford-blue: #082d4d;
    --diford-blue-deep: #031f36;
    --diford-orange: #f5822a;
}

/* --- Slider / hero: use the real image rendered by slider.php --- */
.cms-slider,
.cms-slide {
    position: relative;
    overflow: hidden;
}

.cms-slide__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.cms-slide__image,
.home-hero .cms-slide__image,
.faq-hero .cms-slide__image,
.personal-hero .cms-slide__image,
.business-hero .cms-slide__image,
.truck-hero .cms-slide__image,
.landlord-hero .cms-slide__image,
.about-hero .cms-slide__image,
.contact-hero .cms-slide__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.cms-slide__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.cms-slide__content {
    position: relative;
    z-index: 2;
}

.home-hero .cms-slide__image { object-position: 63% center !important; }
.faq-hero .cms-slide__image { object-position: 67% center !important; }
.personal-hero .cms-slide__image { object-position: 66% center !important; }
.business-hero .cms-slide__image { object-position: 65% center !important; }
.truck-hero .cms-slide__image { object-position: 72% center !important; }
.landlord-hero .cms-slide__image { object-position: 70% center !important; }
.about-hero .cms-slide__image { object-position: 69% center !important; }
.contact-hero .cms-slide__image { object-position: 67% center !important; }

/* --- Reusable CTA: valid on every page, not only Business Insurance --- */
.business-cta {
    --cta-blue: var(--business-blue, var(--page-blue, var(--diford-blue)));
    --cta-orange: var(--business-orange, var(--page-orange, var(--diford-orange)));

    display: block;
    margin: 0;
    padding: 2.65rem 0;
    color: #fff;
    background-color: var(--cta-blue) !important;
}

.business-cta .cms-columns__container {
    padding-top: 0;
    padding-bottom: 0;
}

.business-cta .cms-columns__row {
    align-items: center !important;
    --bs-gutter-y: 1.5rem;
}

.business-cta .cms-column__inner,
.business-cta .cms-column__content {
    height: 100%;
    color: #fff !important;
}

.business-cta .cms-column__content h1,
.business-cta .cms-column__content h2,
.business-cta .cms-column__content h3,
.business-cta .cms-column__content h4 {
    margin-bottom: .45rem;
    color: #fff !important;
}

.business-cta .cms-column__content p,
.business-cta .cms-column__content li,
.business-cta .cms-column__content span,
.business-cta .cms-column__content a:not(.btn) {
    color: rgba(255, 255, 255, .9) !important;
}

.business-cta .cms-column__content p:last-child {
    margin-bottom: 0;
}

.business-cta .cta-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .7rem;
    height: 100%;
}

.business-cta .cta-contact a {
    display: inline-flex;
    align-items: center;
    color: #fff !important;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.business-cta .btn-primary {
    min-width: 190px;
    padding: .9rem 1.25rem;
    color: #fff !important;
    background-color: var(--cta-orange) !important;
    border-color: var(--cta-orange) !important;
}

.business-cta .btn-primary:hover,
.business-cta .btn-primary:focus {
    color: #fff !important;
    background-color: #dd6f16 !important;
    border-color: #dd6f16 !important;
}

.business-cta .text-lg-end {
    margin-bottom: 0;
}

/* --- Home cards: prevent inherited white/transparent content --- */
.home-solutions .cms-card__icon {
    display: grid !important;
    place-items: center;
    color: var(--diford-blue) !important;
}

.home-solutions .cms-card__title,
.home-solutions .card-title {
    color: var(--diford-blue) !important;
}

.home-solutions .cms-card__description,
.home-solutions .card-text {
    color: #566775 !important;
}

.home-solutions .cms-card__link {
    color: var(--diford-orange) !important;
}

/* --- FAQ: add breathing room at the beginning of answers --- */
.faq-accordion .accordion-body {
    padding-top: .65rem;
}

.faq-accordion .accordion-body > :first-child {
    margin-top: .25rem;
}

@media (max-width: 991.98px) {
    .business-cta {
        padding: 2.25rem 0;
    }

    .business-cta .cms-column__content,
    .business-cta .cta-contact,
    .business-cta .text-lg-end {
        text-align: left !important;
    }

    .business-cta .btn-primary {
        min-width: 0;
    }
}

@media (max-width: 767.98px) {
    .cms-slide__image,
    .home-hero .cms-slide__image,
    .faq-hero .cms-slide__image,
    .personal-hero .cms-slide__image,
    .business-hero .cms-slide__image,
    .truck-hero .cms-slide__image,
    .landlord-hero .cms-slide__image,
    .about-hero .cms-slide__image,
    .contact-hero .cms-slide__image {
        object-position: center !important;
    }
}

/* ========================================================================
   DIFORD — INSURANCE AUSTRALIA + BRISBANE INSURANCE BROKERS
   ======================================================================== */

.australia-hero .cms-slide__image {
    object-position: 66% center !important;
}

.brisbane-brokers-hero .cms-slide__image {
    object-position: 67% center !important;
}

.australia-intro,
.brisbane-intro {
    padding-top: 4.9rem;
    padding-bottom: 3.1rem;
}

.australia-coverages,
.brisbane-coverages {
    padding-top: 1.75rem;
}

.australia-partner,
.brisbane-partner {
    margin-bottom: 0;
}

.australia-partner .cms-image__img,
.brisbane-partner .cms-image__img {
    object-position: center;
}

.australia-why,
.brisbane-why {
    background-image: url('../img/secciones/common/why-bg.jpg');
}

.brisbane-broker-profiles {
    padding-top: 5.1rem;
    padding-bottom: 5.6rem;
    background: #f4f7f9;
}

.brisbane-broker-profiles .cms-section-heading {
    text-align: center;
}

.brisbane-broker-profiles .cms-section-heading__line {
    margin-inline: auto;
}

.brisbane-broker-profiles .cms-columns__row {
    max-width: 980px;
    margin-inline: auto;
}

.brisbane-broker-profiles .broker-profile > img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.australia-process,
.brisbane-process {
    padding-top: 5.1rem;
    padding-bottom: 5.1rem;
}

.australia-trust,
.brisbane-trust {
    padding-top: 3.8rem;
    padding-bottom: 3.8rem;
}

@media (max-width: 991.98px) {
    .australia-intro,
    .brisbane-intro {
        padding-top: 4rem;
        padding-bottom: 2.5rem;
    }

    .brisbane-broker-profiles {
        padding-top: 4.25rem;
        padding-bottom: 4.5rem;
    }
}

@media (max-width: 767.98px) {
    .australia-hero .cms-slide__image,
    .brisbane-brokers-hero .cms-slide__image {
        object-position: center !important;
    }

    .australia-process,
    .brisbane-process {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

/* ==========================================================
   Sticky header — final correction
   `overflow-x: hidden` on html/body created a scroll container
   that prevented position: sticky from tracking the viewport.
   ========================================================== */
html,
body {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

header.site-header.sticky-top {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1100 !important;
    align-self: flex-start;
}

/* Home: 7 tarjetas de cobertura — forzar 4 por fila (4+3) en vez de 6+1.
   Clases reales del partial: col-12 col-sm-6 col-lg-4 col-xl-2 d-flex.
   Con media query para no pisar el apilado en mobile/sm. */
@media (min-width: 992px) {
	.home-coverages.cms-cards .col-lg-4.col-xl-2 {
		flex: 0 0 25%;
		max-width: 25%;
	}
}

/* ============================================================
   Prueba: CTA con fondo claro + borde, en vez de bloque de color
   sólido oscuro. Mismas selectores que el bloque original (con
   !important) para ganar por orden de aparición en la cascada.
   ============================================================ */
.business-cta {
	color: var(--business-blue);
	background-color: #fff !important;
	box-shadow: 0 -10px 20px -12px rgba(28, 25, 23, .18);
	position: relative;
	z-index: 1;
}

.business-cta .cms-column__inner,
.business-cta .cms-column__content {
	color: var(--business-blue) !important;
}

.business-cta .cms-column__content h1,
.business-cta .cms-column__content h2,
.business-cta .cms-column__content h3,
.business-cta .cms-column__content h4 {
	color: var(--business-blue) !important;
}

.business-cta .cms-column__content p,
.business-cta .cms-column__content li,
.business-cta .cms-column__content span,
.business-cta .cms-column__content a:not(.btn) {
	color: rgba(61, 52, 43, .85) !important;
}

.business-cta .cta-contact a {
	color: var(--business-blue) !important;
}

/* "Get Quote" outline ahora sobre fondo claro: invertir a oscuro */
.city-cta .btn-outline-primary,
.business-cta .btn-outline-primary {
	color: var(--business-blue);
	border-color: var(--business-blue);
	background: transparent;
}
.city-cta .btn-outline-primary:hover,
.city-cta .btn-outline-primary:focus,
.business-cta .btn-outline-primary:hover,
.business-cta .btn-outline-primary:focus {
	color: #fff;
	background: var(--business-blue);
	border-color: var(--business-blue);
}
