@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@300;400;500;600&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

/* ── Variables adicionales del diseño ── */
:root {
	--light-bg-custom: #F4F6F8;
	--text-muted-c: #6B7A8D;
	--border: #E2E8F0;
	--dark-section: #0A1E35;
}

/* ══════════════════════════════════════
	 BASE
══════════════════════════════════════ */
body {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	color: #0A2540;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	letter-spacing: -0.01em;
}

b, strong { font-weight: 700; }
p, li { font-weight: 300; }

/* ── Tipografía utilitaria ── */
.titulo {
	color: #333;
	font-size: 32px;
}
@media screen and (min-width: 576px) {
	.titulo { font-size: 40px; }
}

.subtitulo {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--bar-footer);
	margin-bottom: 8px;
}

.section-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--bar-footer);
	margin-bottom: 8px;
}

.text-color  { color: var(--botones) !important; }
.text-12     { font-size: 12px !important; }
.text-13     { font-size: 13px !important; }
.text-14     { font-size: 14px !important; }
.text-18     { font-size: 18px !important; }
.text-small  { font-size: 13px; }

.texto { color: #737b82; font-weight: 300; }
.texto .text-tiny  { font-size: 12px !important; }
.texto .text-small { font-size: 14px !important; }
.texto .text-big   { font-size: 20px !important; }
.texto .text-huge  { font-size: 28px !important; }
.texto figure img  { width: 100%; }
.texto figure.media {
	clear: both;
	display: block;
	margin: 0.9em 0;
	min-width: 15em;
}

.bg-claro { background-color: #F7F7F7; }

/* Línea decorativa */
.linea-color {
	height: 4px;
	width: 48px;
	background-color: var(--botones);
	border-radius: 2px;
}
.accent-line {
	width: 48px;
	height: 4px;
	background: var(--botones);
	border-radius: 2px;
	margin: 12px 0 20px;
}

.icono    { font-size: 20px; line-height: 20px; }
.icono-lg { font-size: 23px; line-height: 23px; }

/* ══════════════════════════════════════
	 BOTONES
══════════════════════════════════════ */
.btn, .btn-sm, .btn-color, .btn-outline-color, .btn-color2 {
	border-radius: 4px;
}
.btn-sm { font-size: 12px !important; line-height: 12px; }

.btn-color {
	background-color: var(--botones);
	color: var(--topbar-footer);
	padding: 9px 25px;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.btn-color:is(:hover, :focus) {
	background-color: var(--botones-hover) !important;
	border-color: var(--botones-hover) !important;
	color: #fff;
}

.btn-outline-gris {
	padding: 9px 25px;
	font-weight: 700;
	font-size: 14px;
	border: 2px solid #444;
	color: #444;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.btn-outline-gris:is(:hover, :focus) {
	background-color: #444 !important;
	color: #fff !important;
}

.btn-outline-light {
	padding: 9px 25px;
	font-weight: 700;
	font-size: 14px;
	border: 2px solid rgba(255,255,255,.45);
	color: #fff;
}
.btn-outline-light:is(:hover, :focus) {
	border-color: #fff;
	background-color: rgba(255,255,255,.1);
	color: #fff;
}

.btn-outline-color {
	border-color: var(--botones);
	color: var(--botones);
}
.btn-outline-color:is(:hover, :focus, :active) {
	background-color: var(--botones);
	color: #fff;
}

.btn-color2 {
	background-color: var(--botones-hover);
	color: #fff;
}
.btn-color2:is(:hover, :focus, :active) {
	background-color: var(--botones);
	color: #fff;
}

/* ── Botón carro ── */
.btn-carro {
	font-size: 1.5rem;
	padding-right: .1rem;
	color: var(--botones);
}
.btn-carro:is(:hover, :focus) { color: var(--botones-hover); }
.btn-carro .badge {
	height: 21px;
	width: 21px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	font-weight: 400;
	font-size: 12px;
	background-color: var(--botones);
	padding: 0;
	color: #fff;
}

/* ── WhatsApp flotante ── */
.whatsapp {
	position: fixed;
	z-index: 9999 !important;
	border-radius: 50% 50% 50% 0%;
	width: 62px;
	height: 62px;
	bottom: 15px;
	left: 15px;
	background-color: #25d366;
	padding: 8px 8px 8px 10px;
	animation: 1s infinite alternate shimmy;
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
}
.whatsapp i { font-size: 42px; color: #fff; }

@keyframes shimmy {
	0%   { transform: translate(0, 0); }
	100% { transform: translate(5px, -5px); }
}

/* ── Alertas ── */
.alerta .alert {
	position: fixed;
	bottom: 0;
	width: 100%;
	border-radius: 0;
	margin: 0;
	padding: 25px 15px;
	border: none;
	z-index: 9999;
	text-align: center;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15) !important;
}

/* ── WPS ── */
.wsp {
	font-size: 11px;
	font-weight: 400;
	font-family: sans-serif;
	line-height: 1px;
	padding: 3px 7px;
	text-transform: none;
}

/* ── Formularios ── */
.form-control, .form-select { border-radius: 0; }

/* ── Accordion categorías ── */
.accordion.categorias .accordion-item .accordion-header .link-categorias {
	padding: 1rem 1.25rem;
	font-size: 1rem;
	text-decoration: none;
	font-weight: 400;
	color: #212529;
}
.accordion.categorias .accordion-item .accordion-header .link-categorias:is(:hover, :focus) {
	color: var(--botones);
}
.accordion.categorias .accordion-item .accordion-header .accordion-button:not(.collapsed) {
	background-color: #f1f1f1;
	color: var(--botones);
}
.accordion.categorias .accordion-item .accordion-body { padding: 10px 20px; }
.accordion.categorias .accordion-item .accordion-body a { color: #666; font-weight: 300; }
.accordion.categorias .accordion-item .accordion-body a:is(:hover, :focus) { color: var(--botones); }

/* ══════════════════════════════════════
	 TOPBAR
══════════════════════════════════════ */
.topbar {
	background-color: var(--topbar-footer);
	font-size: 0.78rem;
	color: #fff;
	font-weight: 300;
	padding: 6px 0;
}
.topbar a { color: rgba(200,220,240,.9); text-decoration: none; }
.topbar .social-icons a {
	color: rgba(200,220,240,.9);
	margin-left: 10px;
	font-size: 0.9rem;
	transition: color .2s;
}
.topbar .social-icons a:hover { color: var(--botones); }

/* ══════════════════════════════════════
	 NAVBAR
══════════════════════════════════════ */
@media screen and (min-width: 0px) {
	#navbar .navbar-brand { margin-right: 0; width: 100%; text-align: center; margin-bottom: .5rem; }
}
@media screen and (min-width: 576px) {
	#navbar .navbar-brand { width: auto; margin-bottom: 0; text-align: left; }
}

#navbar .navbar-brand img {
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 0px) {
	#navbar .navbar-brand img { width: 200px; }
}
#navbar.navbar-shrink .navbar-brand img {
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 0px) {
	#navbar.navbar-shrink .navbar-brand img { width: 180px; }
}

#navbar #navbar-content .nav-item .nav-link {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 0.85rem;
	color: #0A2540 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 8px 20px;
	transition: color .2s;
}
#navbar #navbar-content .nav-item .nav-link:is(:hover, .active) {
	color: var(--bar-footer) !important;
}

@media screen and (max-width: 1200px) {
	#navbar #navbar-content .offcanvas-body ul {
		border-top: 1px solid #e3e3e3;
	}
	#navbar #navbar-content .offcanvas-body ul .nav-item .nav-link {
		padding: 1rem 20px !important;
		border-bottom: 1px solid #e3e3e3;
	}
	#navbar #navbar-content .offcanvas-body ul .nav-item .accordion-button:not(.collapsed) {
		color: var(--botones);
	}
}

#navbar .btn-link { text-decoration: none; color: #777; }
#navbar .btn-link:is(:hover, :focus) { color: #222 !important; }
#navbar .btn-icon a { color: #444; }
#navbar .btn-icon a:is(:hover, :focus) { color: var(--botones-hover); }

/* ── Subnav / Menú categorías ── */
.menu-categorias, .bg-verde-claro {
	background-color: var(--bar-footer) !important;
}
#navbar .menu-categorias .nav-item {
	border-right: 1px solid rgba(255,255,255,.2);
}
#navbar .menu-categorias .nav-item:last-child { border: none; }
#navbar .menu-categorias .nav-item .nav-link {
	color: rgba(255,255,255,.85) !important;
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	transition: opacity .2s;
}
#navbar .menu-categorias .nav-item .nav-link:is(:hover, :focus) {
	color: #fff !important;
	text-decoration: underline;
}
#navbar .menu-categorias .dropdown .dropdown-content {
	display: none;
	position: absolute;
	margin-top: 1px;
	background-color: #fff;
	max-width: 180px;
	width: 180px;
	border-top: 2px solid var(--botones);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
	z-index: 200;
}
#navbar .menu-categorias .dropdown .dropdown-content .dropdown-item {
	padding: .5rem 0;
	color: #555;
}
#navbar .menu-categorias .dropdown .dropdown-content .dropdown-item:hover {
	color: var(--botones);
}
#navbar .menu-categorias .dropdown:hover .dropdown-content { display: block; }

/* ══════════════════════════════════════
	 HERO / SLIDE
══════════════════════════════════════ */
header .carousel-inner {
	background: linear-gradient(120deg, #0A2540 55%, #0E3A6A 100%);
}
@media screen and (min-width: 0px) {
	header .carousel-inner { margin-top: 150px; }
}
@media screen and (min-width: 768px) {
	header .carousel-inner { margin-top: 120px; }
}

header .carousel-inner .carousel-item .slide-content {
	min-height: 420px;
	display: flex;
	align-items: center;
}
@media screen and (min-width: 768px) {
	header .carousel-inner .carousel-item .slide-content { min-height: 500px; }
}
@media screen and (min-width: 992px) {
	header .carousel-inner .carousel-item .slide-content { min-height: 500px; }
}

header .carousel-inner .carousel-item .titulo-slide {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 800;
	color: #fff;
	line-height: 1.08;
}
@media screen and (min-width: 0px) {
	header .carousel-inner .carousel-item .titulo-slide { font-size: 40px; }
}
@media screen and (min-width: 768px) {
	header .carousel-inner .carousel-item .titulo-slide { font-size: 48px; }
}
@media screen and (min-width: 992px) {
	header .carousel-inner .carousel-item .titulo-slide { font-size: 56px; }
}

header .carousel-inner .carousel-item .subtitulo-slide { font-weight: 300; }
@media screen and (min-width: 0px) {
	header .carousel-inner .carousel-item .subtitulo-slide { font-size: 30px; }
}
@media screen and (min-width: 768px) {
	header .carousel-inner .carousel-item .subtitulo-slide { font-size: 34px; }
}
@media screen and (min-width: 992px) {
	header .carousel-inner .carousel-item .subtitulo-slide { font-size: 40px; }
}

/* Texto del slide en modo oscuro */
header .carousel-inner .carousel-item .texto-slide,
header .carousel-inner .carousel-item .texto-slide p {
	color: rgba(255,255,255,.75);
	font-size: .95rem;
}

/* Imagen del slide */
header .carousel-inner .carousel-item .col-md-6:last-child img {
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0,0,0,.4);
}

header .carousel-indicators {
	justify-content: flex-start;
	margin: 2rem auto;
}
header .carousel-indicators button {
	height: 10px !important;
	width: 10px !important;
	border-radius: 50% !important;
	border: 1px solid rgba(255,255,255,.5) !important;
	background-color: transparent !important;
	opacity: 0.6;
}
header .carousel-indicators button.active {
	background-color: var(--botones) !important;
	border-color: var(--botones) !important;
	opacity: 1;
}

/* Banner sección interna */
header.banner-seccion {
	height: 300px;
	background: no-repeat center center scroll;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
@media screen and (min-width: 0px) {
	header.banner-seccion { margin-top: 165px; }
}
@media screen and (min-width: 576px) {
	header.banner-seccion { margin-top: 120px; }
}
@media screen and (min-width: 992px) {
	header.banner-seccion { margin-top: 100px; }
}
header.banner-seccion .titulo-slide {
	font-weight: 700;
	margin-bottom: 0;
	text-align: center;
}
@media screen and (min-width: 0px) {
	header.banner-seccion .titulo-slide { font-size: 28px; line-height: 28px; }
}
@media screen and (min-width: 768px) {
	header.banner-seccion .titulo-slide { font-size: 40px; line-height: 40px; }
}
@media screen and (min-width: 992px) {
	header.banner-seccion .titulo-slide { font-size: 50px; line-height: 50px; }
}

header.header-detalle { margin-top: 180px; }
header.header-detalle .breadcrumb li { font-size: 14px; }

/* ══════════════════════════════════════
	 BUSCADOR MODAL
══════════════════════════════════════ */
#buscardor.modal .modal-dialog { max-width: 100%; width: 100%; }
#buscardor.modal .modal-dialog .modal-content { border-radius: 0; border: none; }
#buscardor.modal .modal-dialog .modal-content .modal-body .input-group span.input-group-text {
	border-radius: 0; background-color: transparent; border: 0;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .input-group .form-control {
	border-radius: 0; border: 0; border-bottom: 1.5px solid #666; background-color: transparent;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .input-group .form-control:focus {
	box-shadow: none; border-color: var(--botones);
}
#buscardor.modal .modal-dialog .modal-content .modal-body .close {
	height: 40px !important; width: 40px; border-radius: 50%; opacity: 1;
	text-shadow: none; color: #000; padding: 0; transition: all .2s ease;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .close:hover {
	background-color: #222; color: #fff;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .close:focus {
	outline: none; box-shadow: none;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .cont-results {
	position: absolute; bottom: -10px;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .cont-results #results {
	width: 230px; max-height: 300px; text-align: left; list-style: none;
	padding: 5px 15px; overflow-y: auto; background-color: #fff;
	border-radius: 10px; position: absolute; z-index: 99;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .cont-results #results a {
	text-decoration: none; font-size: 14px; color: #666;
}
#buscardor.modal .modal-dialog .modal-content .modal-body .cont-results #results a:hover {
	color: var(--botones);
}

/* ══════════════════════════════════════
	 INFO DESTACADA (TRUST BADGES)
══════════════════════════════════════ */
.trust-section {
	background: var(--light-bg-custom);
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
.trust-item { text-align: center; }
.trust-icon { font-size: 2rem; color: var(--bar-footer); margin-bottom: 10px; }
.trust-item h6 {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 4px;
}
.trust-item p { font-size: 0.8rem; color: var(--text-muted-c); margin: 0; }

/* ── Info destacada horizontal (legacy) ── */
@media screen and (min-width: 0px) {
	.info-destacada [class^='col-'] { border-bottom: 1px solid var(--border); padding-bottom: .5rem; }
}
@media screen and (min-width: 992px) {
	.info-destacada [class^='col-'] { border-right: 1px solid var(--border); border-bottom: none; }
}
@media screen and (min-width: 0px) {
	.info-destacada [class^='col-']:last-child { border-bottom: none; padding-bottom: 0; }
}
@media screen and (min-width: 992px) {
	.info-destacada [class^='col-']:last-child { border-right: none; }
}

/* ══════════════════════════════════════
	 PRODUCTOS DESTACADOS
══════════════════════════════════════ */
.productos-destacados { background: #fff; }

/* ── Product card (home featured) ── */
.product-card {
	border: 1px solid var(--border);
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow .25s, transform .25s;
	background: #fff;
}
.product-card:hover {
	box-shadow: 0 12px 40px rgba(10,37,64,.12);
	transform: translateY(-4px);
}
.product-card .card-img-top {
	width: 100%;
	height: 200px;
	object-fit: contain;
	background-color: var(--light-bg-custom);
	transition: opacity .25s;
}
.product-card:hover .card-img-top { opacity: .9; }
.product-card .card-body { padding: 18px 20px; }
.product-card .card-title {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 8px;
	line-height: 1.25;
}
.product-card .card-text {
	font-size: 0.82rem;
	color: var(--text-muted-c);
	margin-bottom: 12px;
}

/* ── Product badge (categoría) ── */
.product-badge {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 3px 10px;
	border-radius: 20px;
	background: var(--light-bg-custom);
	color: var(--accent2);
	margin-bottom: 8px;
}

/* ── Btn product ── */
.btn-product {
	display: inline-block;
	background: var(--topbar-footer);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 8px 18px;
	border-radius: 4px;
	border: none;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s;
	text-align: center;
}
.btn-product:hover { background: var(--accent2); color: #fff; }
.btn-product.w-100 { display: block; }

/* ── Precio oferta ── */
.precio-oferta { font-size: 13px; text-decoration: line-through; }

/* ── Carrusel productos home ── */
#productos-home .owl-dots {
	display: flex; align-items: center; justify-content: center;
	margin: 1.5rem auto 0 auto;
}
#productos-home .owl-dots button {
	height: 10px; width: 10px; border-radius: 50%;
	background-color: var(--border) !important; margin: 0 4px;
	transition: background-color .2s ease, transform .2s ease;
}
#productos-home .owl-dots button.active {
	background-color: var(--botones) !important; transform: scale(1.2);
}

/* ── Otras grillas de productos (servicios, listados) ── */
.productos .card {
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	overflow: hidden;
	transition: box-shadow .25s, transform .25s;
}
.productos .card:hover {
	box-shadow: 0 12px 40px rgba(10,37,64,.12);
	transform: translateY(-4px);
}
.productos .card figure img { aspect-ratio: 1; object-fit: contain; }
.productos .card figure .add-carro {
	position: absolute; top: 0; bottom: 0; right: 0; left: 0;
	background-color: rgba(0,0,0,.45);
	display: flex; flex-direction: column;
	align-items: center; justify-content: flex-end;
	opacity: 0; transition: all .3s ease-in-out;
}
.productos .card figure:hover .add-carro { opacity: 1; }
.productos .card:hover figure img { opacity: .7; }

/* ══════════════════════════════════════
	 DARK SECTION (fondo-verde)
══════════════════════════════════════ */
.fondo-verde {
	background-color: var(--dark-section);
	background-position: center;
	background-size: cover;
	background-blend-mode: multiply;
	position: relative;
	overflow: hidden;
}
.fondo-verde::before {
	content: '';
	position: absolute;
	top: -80px; right: -80px;
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(245,166,35,.12) 0%, transparent 70%);
	pointer-events: none;
}
.fondo-verde .titulo { color: #fff; }
.fondo-verde p, .fondo-verde .texto { color: #a0b4c8; }

/* Decoración imagen */
.linea-sup-img {
	position: absolute; top: -8px; left: 0;
	height: 8px; width: 50%; background-color: var(--botones);
}
.linea-inf-img {
	position: absolute; bottom: -8px; right: 0;
	height: 8px; width: 50%; background-color: var(--botones);
}

/* ── Sección clara (article) ── */
.fondo-claro { background-position: center; background-size: cover; }

/* ══════════════════════════════════════
	 NEWSLETTER / SUSCRIBIR
══════════════════════════════════════ */
.newsletter-section {
    background: var(--botones);
    padding: 60px 0;
}
.newsletter-section p {
    color: rgba(10, 37, 64, .7);
    font-size: 0.9rem;
}
.section-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--accent2);
    margin-bottom: 8px;
}
.newsletter-section h2 {
    color: var(--topbar-footer);
    font-size: 2rem;
}
.newsletter-section p {
    color: rgba(10, 37, 64, .7);
    font-size: 0.9rem;
}
.newsletter-form .form-control {
    border: none;
    border-radius: 4px 0 0 4px;
    height: 48px;
    font-size: 0.88rem;
    padding: 0 18px;
    box-shadow: none !important;
}
.newsletter-form .btn-subscribe {
    background: var(--topbar-footer);
    color: #fff;
    border: none;
    border-radius: 0 4px 4px 0;
    height: 48px;
    padding: 0 28px;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    transition: background .2s;
}

/* ══════════════════════════════════════
	 SECCIÓN CONTACTO
══════════════════════════════════════ */
.contact-form-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: 0 4px 24px rgba(10, 37, 64, .07);
}
.contact-info-card {
	background: var(--dark-section);
	border-radius: 16px;
	padding: 36px 32px;
	color: #fff;
	height: 100%;
}
.contact-form-card label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--dark-section);
	margin-bottom: 4px;
}
.contact-form-card .form-control, .contact-form-card .form-control:focus {
	border: 1px solid var(--border);
	border-radius: 6px;
	font-size: 0.88rem;
	padding: 10px 14px;
	box-shadow: none;
	transition: border-color .2s;
}
.contact-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
}
.contact-item .icon {
	font-size: 1.1rem;
	color: var(--botones);
	margin-top: 2px;
	flex-shrink: 0;
}
.contact-item p {
	font-size: 0.87rem;
	color: #a0b4c8;
	margin: 0;
	line-height: 1.5;
}
.contact-social a {
	color: #a0b4c8;
	font-size: 1.1rem;
	margin-right: 12px;
	transition: color .2s;
}
.contact-info-card h5 {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: 24px;
	color: var(--botones);
}
.opacity-img {
	top: 0; width: 100%; height: 100%; margin: auto; left: 0; right: 0;
	border-radius: 2rem; background-color: #1d1c1c8a;
}
@media screen and (min-width: 992px) {
	#contacto .datos { position: absolute; top: 0; right: 0; }
}
.contacto .form-control { border-radius: 0; border: none; border-bottom: 1px solid #e3e3e3; }
.info-contacto .icono {
	background-color: var(--botones);
	aspect-ratio: 1; width: 30px; height: 30px;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	border-radius: 50%;
}

/* ══════════════════════════════════════
	 RRSS / SOCIAL STRIP
══════════════════════════════════════ */
.banner-redes { }
.banner-redes h2 {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.8rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.banner-redes h2 span { color: var(--bar-footer); }

.social-big-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--border);
	color: #0A2540;
	font-size: 1.3rem;
	margin: 0 6px;
	text-decoration: none;
	transition: all .2s;
}
.social-big-icon:hover {
	background: var(--topbar-footer);
	color: #fff;
	border-color: var(--topbar-footer);
}

/* ══════════════════════════════════════
	 FOOTER
══════════════════════════════════════ */
footer {
    background: var(--topbar-footer);
    color: #a0b4c8;
    padding: 56px 0 24px;
}
footer .footer-social a {
    display: inline-block;
    margin-right: 10px;
}
footer a {
    color: #a0b4c8;
    text-decoration: none;
    font-size: 0.85rem;
    display: block;
    margin-bottom: 8px;
    transition: color .2s;
}
footer h6 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff;
    margin-bottom: 16px;
}
.payment-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.payment-badge {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #d0dce8;
    letter-spacing: .04em;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin-top: 40px;
    padding-top: 20px;
    font-size: 0.78rem;
}
/* ══════════════════════════════════════
	 INDICADORES
══════════════════════════════════════ */
.cont-indicadores { background-color: var(--bar-footer) !important; }
.cont-indicadores .indicadores .row [class^='col-'] { border-left: 1px solid var(--botones); }

/* ══════════════════════════════════════
	 DETALLE PRODUCTO
══════════════════════════════════════ */
.img-productos > ul > li { text-align: center; }
.img-productos > ul > li a > img {
	width: 100%; aspect-ratio: 1; object-fit: contain; object-position: center;
}

/* Selector cantidad */
.quantity { position: relative; }
.quantity input {
	width: 85%; height: 42px; line-height: 1.65; float: left; display: block;
	padding: 0; margin: 0; padding-left: 15px; border: 1px solid #eee;
}
.quantity input:focus { outline: 0; }
.quantity input[type=number] { -moz-appearance: textfield; appearance: textfield; }
.quantity input[type=number]::-webkit-inner-spin-button,
.quantity input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.quantity .quantity-nav { float: left; position: relative; height: 42px; }
.quantity .quantity-nav .quantity-button {
	position: relative; cursor: pointer; border-left: 1px solid #eee;
	width: 20px; text-align: center; color: #333; font-size: 13px;
	font-family: "Trebuchet MS", Helvetica, sans-serif !important;
	line-height: 1.7; transform: translateX(-100%);
	-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
}
.quantity .quantity-nav .quantity-button.quantity-up { position: absolute; height: 50%; top: 0; border-bottom: 1px solid #eee; }
.quantity .quantity-nav .quantity-button.quantity-down { position: absolute; bottom: -1px; height: 50%; }

/* Selectores color/talla */
.select-color { width: 40px; height: 40px; margin-right: .3rem; margin-bottom: .4rem; position: relative; padding: 0; }
.select-color input { position: absolute; opacity: 0; cursor: pointer; margin: 0; }
.select-color .cont-color { position: absolute; top: 0; left: 0; height: 40px; width: 40px; padding: 4px; border: 1px solid #e3e3e3; background-color: #fff; }
.select-color .cont-color .color { height: 100%; width: 100%; }
.select-color:hover input ~ label .cont-color { border-color: #80bdff; box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25); cursor: pointer; }
.select-color:hover input:checked ~ label .cont-color { border-color: #80bdff; box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25); }

.select-tallas { width: 45px; min-height: 32px; margin-right: .3rem; margin-bottom: .4rem; position: relative; padding: 0; }
.select-tallas input { position: absolute; opacity: 0; cursor: pointer; margin: 0; }
.select-tallas .cont-talla { position: absolute; top: 0; left: 0; padding: 4px 0; width: 45px; border: 1px solid #e3e3e3; font-size: 14px; background-color: #fff; }
.select-tallas :hover input ~ .cont-talla { border-color: #80bdff; box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25); cursor: pointer; }
.select-tallas :hover:checked ~ .cont-talla { border-color: #80bdff; box-shadow: 0 0 0 0.15rem rgba(0,123,255,.25); }

.color-swatch { width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(0,0,0,.1); }
.btn-check:checked + .btn { border-color: #0d6efd; box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); }

/* ══════════════════════════════════════
	 SERVICIOS
══════════════════════════════════════ */
.servicios .card { border-radius: 30px; overflow: hidden; }
.servicios .card img { aspect-ratio: 1.3; object-fit: cover; }
.servicios .card .card-body .servicio-titulo {
	font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 700;
}
.servicios .card .card-footer { background-color: #fff; padding: 1rem; border: none; }

/* ══════════════════════════════════════
	 PROFESIONALES
══════════════════════════════════════ */
.profesionales .card { border: none !important; border-radius: 0; }
.profesionales .card img { aspect-ratio: 1; object-fit: cover; }

/* ══════════════════════════════════════
	 PROPIEDADES
══════════════════════════════════════ */
.filtro-prop .form-select {
	background-color: transparent; border-radius: 0; border-color: #666;
	color: #666; font-size: 13px; padding: .8rem .8rem;
	text-transform: uppercase; letter-spacing: 1px;
}
.filtro-prop .form-select option { color: #666; font-size: 14px; text-transform: capitalize !important; }
.filtro-prop form .bootstrap-select > .dropdown-toggle {
	background-color: transparent; border-radius: 0; border-color: #666;
	color: #666; font-size: 13px; padding: .8rem .8rem;
	text-transform: uppercase; letter-spacing: 1px;
}
.filtro-prop form .bootstrap-select .dropdown-menu li a { color: #666; font-size: 14px; text-transform: capitalize !important; }

/* ══════════════════════════════════════
	 GALERÍAS
══════════════════════════════════════ */
.galerias figure { border-radius: 20px; overflow: hidden; }
.galerias figure img { aspect-ratio: 1; object-fit: cover; width: 100%; transition: all .2s ease-in; }
.galerias figure:is(:hover) img { opacity: .6; }
.galerias .sobre-texto {
	position: absolute; bottom: 0; left: 0; right: 0; top: 0;
	background: linear-gradient(to top, rgba(0,0,0,.8), 10%, rgba(0,0,0,0));
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end;
	padding: 1rem; color: #fff;
}
.galerias .sobre-texto h5 { letter-spacing: 1.5px; }
.galerias-img ul li a img { aspect-ratio: .9; width: 100%; object-fit: cover; }

/* ══════════════════════════════════════
	 PREGUNTAS FRECUENTES
══════════════════════════════════════ */
#preguntas.accordion.preguntas .accordion-item { border-radius: 0; border: none; }
#preguntas.accordion.preguntas .accordion-item .accordion-button {
	border-radius: 15px;
	background-color: var(--botones-hover);
	color: #fff;
}
#preguntas.accordion.preguntas .accordion-item .accordion-button.collapsed {
	border-radius: 15px;
	border: 1px solid #e3e3e3;
	background-color: #fff;
	color: #666;
}

/* ══════════════════════════════════════
	 RESEÑAS
══════════════════════════════════════ */
#reviews .owl-stage { margin: 0 auto; }
#reviews .owl-dots { display: flex; align-items: center; justify-content: center; margin: .5rem auto 0 auto; }
#reviews .owl-dots button { height: 15px; width: 15px; border-radius: 50%; background-color: #e3e3e3 !important; margin: 0 3px; }
#reviews .owl-dots button.active { background-color: var(--botones) !important; }
#reviews .review .foto img { width: 55px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; }

/* ══════════════════════════════════════
	 MARCAS / CLIENTES
══════════════════════════════════════ */
#clientes .owl-item figure img { width: 175px !important; opacity: .6; transition: all .3s ease; }
#clientes .owl-item figure:is(:hover) img { opacity: 1; }
#clientes .owl-dots { text-align: center; }
#clientes .owl-dots button.owl-dot { height: 11px; width: 11px; border-radius: 50%; background-color: #d7d7d7 !important; margin: 5px 3px; }
#clientes .owl-dots button.owl-dot.active { background-color: var(--botones) !important; }

/* ══════════════════════════════════════
	 BLOG / NOTICIAS
══════════════════════════════════════ */
.list-noti img { aspect-ratio: 1.3; object-fit: cover; }

/* ══════════════════════════════════════
	 CATEGORÍAS (grid)
══════════════════════════════════════ */
#categorias figure { position: relative; background-color: #bfbfbf; transition: all .3s ease-in-out; }
#categorias figure:hover { background-color: #e4e4e4; }
#categorias figure img { width: 100%; aspect-ratio: .85; object-fit: cover; mix-blend-mode: multiply; }
#categorias figure .sobre-categoria {
	position: absolute; top: 1rem; left: 1rem; bottom: 1rem; right: 1rem;
	border: 2px solid var(--blanco);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
}
#categorias figure .sobre-categoria h4 { text-shadow: 0 0 5px rgba(0,0,0,.2); }
#categorias figure .sobre-categoria a { transition: all .3s ease; margin-top: 2.5rem; opacity: 0; }
#categorias figure:hover .sobre-categoria a { margin-top: 1rem; opacity: 1; }
#categorias .owl-nav { display: block !important; text-align: right; margin-top: 0.5rem; }
#categorias .owl-nav button span {
	background-color: #fff; border: 1px solid #000; height: 45px; width: 45px;
	border-radius: 0; display: inline-flex; align-items: center; justify-content: center;
	color: #000; transition: all .2s ease-in-out;
}
#categorias .owl-nav button span:hover { background-color: #000; color: #fff; }

/* ══════════════════════════════════════
	 MAPA / USUARIO / BREADCRUMB
══════════════════════════════════════ */
.mapa iframe { width: 100%; }

.menu-user .nav-link { border: 1px solid #e3e3e3; margin-bottom: .5rem; border-radius: 5px; color: #666; }
.menu-user .nav-link:is(:hover, :focus) { color: var(--botones); }
.menu-user .nav-link i { color: var(--botones); margin-right: .3rem; }
.menu-user .nav-link.active { color: var(--botones); background-color: #F2F4EF; }

.breadcrumb .breadcrumb-item { font-size: 14px; font-weight: 300; }
.breadcrumb .breadcrumb-item a { color: var(--botones); text-decoration: none; }

/* ══════════════════════════════════════
	 RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 767px) {
	.fondo-verde { padding: 56px 0; }
	#contacto .contacto { margin-top: 24px; }
	.banner-redes { text-align: center; }
}

.hojas { position: absolute; bottom: -6rem; left: 0; }
