/*
Theme Name:   Cubal Adventure
Theme URI:    https://cubaladventure.com
Description:  Tema hijo de Hello Elementor para Cubal Adventure. Paleta de marca: Teal profundo + Crema cálida.
Author:       Cubal Adventure
Author URI:   https://cubaladventure.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  cubal-adventure
Tags:         elementor, water-sports, adventure, caribbean
*/

/* ============================================================
   CUBAL ADVENTURE — DESIGN TOKENS
   Paleta extraída del logo oficial:
   • Teal primario:   #1b6170  (fondo del logo)
   • Crema principal: #ede0c4  (texto del logo)
   ============================================================ */

:root {

  /* —— COLORES DE MARCA —— */
  --ca-teal:          #1b6170;   /* Teal primario — color dominante */
  --ca-teal-dark:     #134855;   /* Teal oscuro — hover, footers, fondos profundos */
  --ca-teal-mid:      #1e6e7f;   /* Teal medio */
  --ca-teal-light:    #2a8fa6;   /* Teal claro — acentos secundarios */
  --ca-teal-pale:     #d0ebf0;   /* Teal muy claro — fondos suaves */

  --ca-cream:         #ede0c4;   /* Crema principal — texto sobre teal */
  --ca-cream-light:   #f5edd8;   /* Crema clara — fondos cálidos */
  --ca-cream-dark:    #d4c49a;   /* Crema oscura — bordes, secundario */

  --ca-coral:         #e07b54;   /* Coral — CTA principal, botones de acción */
  --ca-coral-dark:    #c4613c;   /* Coral oscuro — hover de botones */
  --ca-coral-light:   #f5a880;   /* Coral claro — acentos decorativos */

  --ca-sand:          #f7f2ea;   /* Arena — fondo de secciones claras */
  --ca-white:         #ffffff;
  --ca-black:         #0d1a1f;   /* Negro con subtono teal */
  --ca-text:          #1a2e35;   /* Texto principal */
  --ca-text-light:    #4a6570;   /* Texto secundario / subtítulos */
  --ca-border:        #d8e8ec;   /* Bordes y separadores */

  /* —— TIPOGRAFÍA —— */
  --ca-font-heading:  'Playfair Display', 'Georgia', serif;
  --ca-font-body:     'Inter', 'Segoe UI', Arial, sans-serif;

  /* —— ESPACIADO —— */
  --ca-radius-sm:     8px;
  --ca-radius-md:     16px;
  --ca-radius-lg:     24px;
  --ca-radius-xl:     40px;
  --ca-radius-full:   9999px;

  /* —— SOMBRAS —— */
  --ca-shadow-sm:     0 2px 8px rgba(27, 97, 112, 0.10);
  --ca-shadow-md:     0 6px 20px rgba(27, 97, 112, 0.14);
  --ca-shadow-lg:     0 16px 48px rgba(27, 97, 112, 0.18);
  --ca-shadow-coral:  0 6px 24px rgba(224, 123, 84, 0.35);

  /* —— TRANSICIONES —— */
  --ca-transition:    all 0.22s ease;
}

/* ============================================================
   RESET & BASE
   ============================================================ */

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: var(--ca-font-body);
  color: var(--ca-text);
  background-color: var(--ca-white);
  line-height: 1.65;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* ============================================================
   TIPOGRAFÍA
   ============================================================ */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--ca-font-heading);
  color: var(--ca-text);
  line-height: 1.2;
  font-weight: 700;
}

h1 { font-size: clamp(36px, 5.5vw, 64px); }
h2 { font-size: clamp(28px, 4vw, 46px); }
h3 { font-size: clamp(22px, 3vw, 32px); }
h4 { font-size: 20px; }

p {
  font-family: var(--ca-font-body);
  font-size: 16px;
  color: var(--ca-text-light);
  line-height: 1.7;
}

a {
  color: var(--ca-teal);
  transition: var(--ca-transition);
}

a:hover {
  color: var(--ca-teal-dark);
  text-decoration: none;
}

/* ============================================================
   BARRA DE ANUNCIO (announcement bar sobre el header)
   ============================================================ */

.ca-announcement-bar {
  background: var(--ca-teal-dark);
  color: var(--ca-cream);
  text-align: center;
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.ca-announcement-bar a {
  color: var(--ca-coral-light);
  text-decoration: underline;
  margin-left: 8px;
  font-weight: 700;
}

.ca-announcement-bar a:hover {
  color: var(--ca-cream);
}

/* ============================================================
   HEADER / NAVBAR
   ============================================================ */

.site-header,
#site-header,
.elementor-location-header {
  background: rgba(13, 26, 31, 0.97) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 9999;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
  border-bottom: 1px solid rgba(237, 224, 196, 0.08);
}

/* Logo */
.site-header .site-logo img,
.elementor-location-header .site-logo img {
  max-height: 55px;
  width: auto;
}

/* Nav links */
.elementor-nav-menu .elementor-item,
.elementor-nav-menu--main .elementor-item {
  font-family: var(--ca-font-body) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--ca-cream) !important;
  letter-spacing: 0.3px;
  transition: var(--ca-transition);
  padding: 8px 0 !important;
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active {
  color: var(--ca-coral-light) !important;
}

/* Nav underline active */
.elementor-nav-menu--layout-horizontal
  .elementor-nav-menu > li > a.elementor-item::after {
  background-color: var(--ca-coral) !important;
  height: 2px;
}

/* ============================================================
   BOTONES
   ============================================================ */

/* Botón primario — Coral (CTA principal) */
.elementor-button.elementor-button-primary,
.elementor-button[data-ca-style="primary"],
.ca-btn-primary,
a.ca-btn-primary {
  background-color: var(--ca-coral) !important;
  color: var(--ca-white) !important;
  border: none !important;
  border-radius: var(--ca-radius-full) !important;
  padding: 14px 32px !important;
  font-family: var(--ca-font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  box-shadow: var(--ca-shadow-coral) !important;
  transition: var(--ca-transition) !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.elementor-button.elementor-button-primary:hover,
.ca-btn-primary:hover {
  background-color: var(--ca-coral-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(224, 123, 84, 0.45) !important;
}

/* Botón secundario — Teal */
.elementor-button.elementor-button-secondary,
.ca-btn-secondary,
a.ca-btn-secondary {
  background-color: var(--ca-teal) !important;
  color: var(--ca-cream) !important;
  border: 2px solid var(--ca-teal) !important;
  border-radius: var(--ca-radius-full) !important;
  padding: 12px 30px !important;
  font-family: var(--ca-font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  transition: var(--ca-transition) !important;
}

.elementor-button.elementor-button-secondary:hover,
.ca-btn-secondary:hover {
  background-color: var(--ca-teal-dark) !important;
  border-color: var(--ca-teal-dark) !important;
  transform: translateY(-2px) !important;
}

/* Botón outline — sobre fondo oscuro */
.elementor-button.elementor-button-outline,
.ca-btn-outline {
  background-color: transparent !important;
  color: var(--ca-cream) !important;
  border: 2px solid var(--ca-cream) !important;
  border-radius: var(--ca-radius-full) !important;
  padding: 12px 30px !important;
  font-family: var(--ca-font-body) !important;
  font-weight: 600 !important;
  transition: var(--ca-transition) !important;
  backdrop-filter: blur(6px);
}

.ca-btn-outline:hover {
  background-color: rgba(237, 224, 196, 0.15) !important;
  transform: translateY(-2px) !important;
}

/* WhatsApp button */
.ca-btn-whatsapp,
a.ca-btn-whatsapp {
  background-color: #25d366 !important;
  color: var(--ca-white) !important;
  border-radius: var(--ca-radius-full) !important;
  padding: 14px 32px !important;
  font-family: var(--ca-font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.35) !important;
  transition: var(--ca-transition) !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ca-btn-whatsapp:hover {
  background-color: #1ebe5b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.45) !important;
}

/* Elementor default button override */
.elementor-button-wrapper .elementor-button {
  border-radius: var(--ca-radius-full) !important;
  font-weight: 700 !important;
  font-family: var(--ca-font-body) !important;
  letter-spacing: 0.3px;
  transition: var(--ca-transition) !important;
}

/* ============================================================
   SECCIONES — HELPERS DE FONDO
   Apply via CSS class in Elementor section settings
   ============================================================ */

/* Fondo teal oscuro (hero, footer) */
.ca-bg-dark {
  background-color: var(--ca-teal-dark) !important;
}

/* Fondo teal primario */
.ca-bg-teal {
  background-color: var(--ca-teal) !important;
}

/* Fondo arena / crema suave (alternancia de secciones) */
.ca-bg-sand {
  background-color: var(--ca-sand) !important;
}

/* Fondo negro con subtono marino */
.ca-bg-black {
  background-color: var(--ca-black) !important;
}

/* Fondo crema cálida */
.ca-bg-cream {
  background-color: var(--ca-cream-light) !important;
}

/* Texto en crema (sobre fondos oscuros) */
.ca-text-cream h1,
.ca-text-cream h2,
.ca-text-cream h3,
.ca-text-cream h4,
.ca-text-cream p,
.ca-text-cream .elementor-heading-title,
.ca-text-cream .elementor-widget-text-editor {
  color: var(--ca-cream) !important;
}

.ca-text-cream-muted p,
.ca-text-cream-muted .elementor-widget-text-editor {
  color: rgba(237, 224, 196, 0.80) !important;
}

/* ============================================================
   HERO SECTION
   ============================================================ */

.ca-hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.ca-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(19, 72, 85, 0.60) 0%,
    rgba(13, 26, 31, 0.40) 50%,
    rgba(13, 26, 31, 0.20) 100%
  );
  pointer-events: none;
}

/* Badge encima del H1 */
.ca-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(237, 224, 196, 0.18);
  border: 1px solid rgba(237, 224, 196, 0.45);
  backdrop-filter: blur(8px);
  border-radius: var(--ca-radius-full);
  padding: 7px 18px;
  color: var(--ca-cream);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 20px;
}

/* ============================================================
   TRUST BAR
   ============================================================ */

.ca-trust-bar {
  background: var(--ca-teal);
  padding: 0;
}

.ca-trust-bar .elementor-column {
  border-right: 1px solid rgba(237, 224, 196, 0.15);
  padding: 22px 32px !important;
  text-align: center;
}

.ca-trust-bar .elementor-column:last-child {
  border-right: none;
}

.ca-trust-number {
  font-family: var(--ca-font-heading) !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: var(--ca-cream) !important;
  line-height: 1 !important;
}

.ca-trust-label {
  font-size: 12.5px !important;
  color: rgba(237, 224, 196, 0.75) !important;
  margin-top: 4px;
}

/* ============================================================
   TARJETAS DE ACTIVIDADES
   ============================================================ */

.ca-card {
  background: var(--ca-white);
  border-radius: var(--ca-radius-lg);
  overflow: hidden;
  box-shadow: var(--ca-shadow-sm);
  transition: var(--ca-transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.ca-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--ca-shadow-lg);
}

/* Imagen de la card */
.ca-card .elementor-image img,
.ca-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.ca-card:hover .elementor-image img,
.ca-card:hover img {
  transform: scale(1.05);
}

/* Etiqueta de categoría */
.ca-card-tag {
  display: inline-block;
  background: var(--ca-teal-pale);
  color: var(--ca-teal);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  padding: 4px 12px;
  border-radius: var(--ca-radius-full);
  margin-bottom: 10px;
}

/* Precio en card */
.ca-card-price {
  font-family: var(--ca-font-heading) !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  color: var(--ca-teal) !important;
  line-height: 1 !important;
}

.ca-card-price-unit {
  font-size: 12px !important;
  color: var(--ca-text-light) !important;
  font-weight: 400 !important;
}

/* ============================================================
   SECCIÓN DE EMBARCACIONES (oscura)
   ============================================================ */

.ca-section-boats {
  background: var(--ca-teal) !important;
}

.ca-section-boats h2,
.ca-section-boats h3,
.ca-section-boats .elementor-heading-title {
  color: var(--ca-cream) !important;
}

.ca-section-boats p,
.ca-section-boats .elementor-widget-text-editor {
  color: rgba(237, 224, 196, 0.85) !important;
}

/* Feature pills sobre teal */
.ca-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(237, 224, 196, 0.15);
  color: var(--ca-cream);
  border-radius: var(--ca-radius-full);
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 600;
  margin: 4px;
}

/* ============================================================
   SECCIÓN "POR QUÉ ELEGIRNOS"
   ============================================================ */

.ca-why-card {
  background: var(--ca-sand);
  border-radius: var(--ca-radius-md);
  padding: 28px 24px;
  height: 100%;
  border-left: 3px solid var(--ca-teal-pale);
  transition: var(--ca-transition);
}

.ca-why-card:hover {
  border-left-color: var(--ca-teal);
  background: var(--ca-white);
  box-shadow: var(--ca-shadow-md);
  transform: translateX(4px);
}

.ca-why-icon {
  font-size: 36px;
  margin-bottom: 14px;
  display: block;
}

.ca-why-card h3,
.ca-why-card .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--ca-teal-dark) !important;
  margin-bottom: 8px;
}

.ca-why-card p {
  font-size: 14px !important;
  color: var(--ca-text-light) !important;
}

/* ============================================================
   SECCIÓN VERDE PROFUNDO (naturaleza oscura)
   ============================================================ */

.ca-section-verde {
  background: linear-gradient(135deg, var(--ca-teal-dark) 0%, #0f4a55 100%) !important;
}

.ca-section-verde h2,
.ca-section-verde h3,
.ca-section-verde .elementor-heading-title {
  color: var(--ca-cream) !important;
}

.ca-section-verde p,
.ca-section-verde .elementor-widget-text-editor {
  color: rgba(237, 224, 196, 0.85) !important;
}

/* ============================================================
   RESEÑAS / TESTIMONIOS
   ============================================================ */

.ca-review-card {
  background: var(--ca-white);
  border-radius: var(--ca-radius-md);
  padding: 24px;
  box-shadow: var(--ca-shadow-sm);
  border-top: 3px solid var(--ca-teal-pale);
  height: 100%;
  transition: var(--ca-transition);
}

.ca-review-card:hover {
  border-top-color: var(--ca-teal);
  box-shadow: var(--ca-shadow-md);
  transform: translateY(-3px);
}

.ca-review-stars {
  color: #e6a817;
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.ca-review-text {
  font-size: 14.5px !important;
  font-style: italic !important;
  color: var(--ca-text) !important;
  line-height: 1.7 !important;
  margin-bottom: 16px !important;
}

.ca-reviewer-name {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--ca-teal-dark) !important;
}

.ca-reviewer-origin {
  font-size: 12px !important;
  color: var(--ca-text-light) !important;
}

/* Rating badge grande */
.ca-rating-big {
  font-family: var(--ca-font-heading) !important;
  font-size: 60px !important;
  font-weight: 900 !important;
  color: var(--ca-teal) !important;
  line-height: 1 !important;
}

/* ============================================================
   SECTION TAG (etiqueta pequeña encima de los títulos)
   ============================================================ */

.ca-section-tag {
  display: inline-block;
  background: var(--ca-teal-pale);
  color: var(--ca-teal-dark);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 5px 14px;
  border-radius: var(--ca-radius-full);
  margin-bottom: 12px;
}

/* Variante sobre fondo oscuro */
.ca-section-tag-light {
  background: rgba(237, 224, 196, 0.18);
  color: var(--ca-cream);
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */

.ca-faq-item {
  border: 1.5px solid var(--ca-border);
  border-radius: var(--ca-radius-md);
  overflow: hidden;
  margin-bottom: 10px;
  transition: var(--ca-transition);
}

.ca-faq-item:hover {
  border-color: var(--ca-teal-pale);
  box-shadow: var(--ca-shadow-sm);
}

/* Elementor Accordion override */
.elementor-accordion .elementor-tab-title {
  background: var(--ca-white) !important;
  color: var(--ca-text) !important;
  font-family: var(--ca-font-body) !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--ca-border) !important;
  padding: 18px 22px !important;
  border-radius: 0 !important;
}

.elementor-accordion .elementor-tab-title.elementor-active {
  background: var(--ca-teal) !important;
  color: var(--ca-cream) !important;
  border-bottom-color: var(--ca-teal) !important;
}

.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  color: var(--ca-teal) !important;
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
  color: var(--ca-cream) !important;
}

.elementor-accordion .elementor-tab-content {
  background: var(--ca-white) !important;
  color: var(--ca-text-light) !important;
  font-size: 14.5px !important;
  padding: 16px 22px !important;
  line-height: 1.7 !important;
  border: 1px solid var(--ca-border) !important;
  border-top: none !important;
}

/* ============================================================
   MAPA / LOCATION
   ============================================================ */

.ca-map-wrapper {
  border-radius: var(--ca-radius-lg);
  overflow: hidden;
  box-shadow: var(--ca-shadow-md);
  border: 3px solid var(--ca-teal-pale);
}

.ca-map-wrapper iframe {
  display: block;
  width: 100%;
  min-height: 380px;
  border: none;
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer,
.elementor-location-footer {
  background-color: var(--ca-black) !important;
  border-top: 1px solid rgba(237, 224, 196, 0.08);
}

.elementor-location-footer h4,
.elementor-location-footer .elementor-heading-title {
  color: var(--ca-cream) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}

.elementor-location-footer p,
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer li,
.elementor-location-footer a {
  color: rgba(237, 224, 196, 0.65) !important;
  font-size: 13.5px !important;
}

.elementor-location-footer a:hover {
  color: var(--ca-cream) !important;
}

/* Footer logo */
.elementor-location-footer .site-logo img {
  max-height: 50px;
  width: auto;
  opacity: 0.9;
}

/* Footer divider / copyright bar */
.ca-footer-bottom {
  border-top: 1px solid rgba(237, 224, 196, 0.10);
  padding-top: 24px;
  margin-top: 40px;
}

.ca-footer-bottom p,
.ca-footer-bottom span {
  color: rgba(237, 224, 196, 0.45) !important;
  font-size: 12.5px !important;
}

/* Iconos sociales en footer */
.elementor-location-footer .elementor-social-icon {
  background: rgba(237, 224, 196, 0.10) !important;
  border-radius: 8px !important;
  transition: var(--ca-transition) !important;
}

.elementor-location-footer .elementor-social-icon:hover {
  background: var(--ca-coral) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   FLOATING WHATSAPP BUTTON
   ============================================================ */

.ca-whatsapp-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  background: #25d366;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45);
  z-index: 99999;
  transition: var(--ca-transition);
  cursor: pointer;
  text-decoration: none;
}

.ca-whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 30px rgba(37, 211, 102, 0.55);
}

.ca-whatsapp-float svg,
.ca-whatsapp-float img {
  width: 32px;
  height: 32px;
}

/* ============================================================
   ELEMENTOR — OVERRIDES GLOBALES
   ============================================================ */

/* Sección con padding estándar */
.elementor-section .elementor-container {
  max-width: 1200px;
}

/* Divider con color de marca */
.elementor-divider-separator {
  border-top-color: var(--ca-teal-pale) !important;
}

/* Icon Box — icono teal */
.elementor-icon-box-icon .elementor-icon i,
.elementor-icon-box-icon .elementor-icon svg {
  color: var(--ca-teal) !important;
  fill: var(--ca-teal) !important;
}

/* Image box hover */
.elementor-image-box-wrapper:hover img {
  transform: scale(1.03);
  transition: transform 0.35s ease;
}

/* Testimonial */
.elementor-testimonial__text {
  font-style: italic !important;
  color: var(--ca-text) !important;
}

.elementor-testimonial__name {
  color: var(--ca-teal-dark) !important;
  font-weight: 700 !important;
}

/* Progress bar */
.elementor-progress-wrapper .elementor-progress-bar {
  background-color: var(--ca-teal) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  :root {
    --ca-radius-lg: 18px;
  }
}

@media (max-width: 767px) {
  .ca-trust-bar .elementor-column {
    padding: 16px 20px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(237, 224, 196, 0.12) !important;
  }

  .ca-trust-number {
    font-size: 26px !important;
  }

  .ca-whatsapp-float {
    bottom: 18px;
    right: 18px;
    width: 54px;
    height: 54px;
  }

  .ca-hero {
    min-height: 80vh;
  }

  .ca-card img,
  .ca-card .elementor-image img {
    height: 180px;
  }
}

@media (max-width: 480px) {
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  h3 { font-size: 21px; }
}

/* ============================================================
   LOGO — HEADER CENTRADO & FOOTER AJUSTADO
   ============================================================ */

/* Header: logo centrado */
.site-header,
#site-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 24px !important;
}

/* Logo en header */
.site-header .site-logo,
.site-header .custom-logo-link,
#site-header .site-logo,
#site-header .custom-logo-link {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

.site-header .custom-logo,
.site-header .site-logo img,
#site-header .custom-logo,
#site-header .site-logo img {
  max-height: 64px !important;
  width: auto !important;
}

/* Ocultar título de texto si hay logo */
.site-header .site-title,
#site-header .site-title {
  display: none !important;
}

/* Footer: logo más pequeño y centrado */
footer .custom-logo,
footer .site-logo img,
.elementor-location-footer .custom-logo,
.elementor-location-footer .site-logo img,
.site-footer .custom-logo,
.site-footer .site-logo img {
  max-height: 48px !important;
  width: auto !important;
  opacity: 0.85;
}

footer .site-logo,
footer .custom-logo-link,
.site-footer .site-logo {
  display: flex !important;
  justify-content: center !important;
}
/* HEADER centrado — Hello Elementor dynamic-header */
.site-header.dynamic-header .header-inner {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.site-header.dynamic-header .header-inner .site-logo,
.site-header.dynamic-header .header-inner .custom-logo-link {
    margin: 0 !important;
    float: none !important;
}
.site-header.dynamic-header .custom-logo {
    max-height: 62px !important;
    width: auto !important;
}
/* Ocultar menú de nav si está vacío */
.site-header.dynamic-header .main-navigation:empty {
    display: none !important;
}

/* FOOTER logo proporcional */
#site-footer .custom-logo,
#site-footer img.custom-logo,
footer.site-footer .custom-logo,
footer.site-footer img {
    max-height: 80px !important;
    max-width: 220px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 10px !important;
}