/* Ajustes puntuales; las hojas originales conservan el diseño del sitio. */
.cbi-contact-methods { margin-top: 26px; color: #666; font-size: 15px; line-height: 1.8; }
.cbi-contact-methods p { margin: 0 0 20px; }
.cbi-contact-methods strong { display: inline-block; margin-bottom: 5px; color: #292929; font-weight: 600; }
.cbi-email-reveal { display: inline-block; cursor: pointer; font: inherit; text-transform: none; }
.cbi-email-link { color: inherit; overflow-wrap: anywhere; }
#cbi-lightbox { max-width: 96vw; max-height: 96vh; border: 0; padding: 12px; background: #171717; }
#cbi-lightbox::backdrop { background: rgba(0,0,0,.86); }
#cbi-lightbox img { display: block; max-width: 92vw; max-height: 86vh; object-fit: contain; }
.cbi-lightbox-close { position: absolute; top: 8px; right: 12px; z-index: 2; border: 0; background: transparent; color: #fff; font-size: 30px; cursor: pointer; }
@media (max-width: 767px) { .cbi-contact-methods { margin-top: 18px; } }
/* En Contacto, la navegación del encabezado debe conservar contraste oscuro. */
body.page-id-2014 #site-header .main-navigation ul#primary-menu > li > a { color: #151515 !important; }
body.page-id-2014 #site-header .main-navigation ul#primary-menu > li.current-menu-item > a { color: #151515 !important; }
#panel-btn { cursor: pointer; }

/* Pie institucional simple: logo a la izquierda y datos a la derecha. */
#site-footer.cbi-footer { background:#3e3e3e; color:#fff; }
#site-footer .cbi-footer-main { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:32px; width:100%; max-width:none; box-sizing:border-box; padding:52px max(7.5%, calc((100% - 1200px)/2)); }
#site-footer .cbi-footer-brand { display:flex; align-items:center; justify-content:flex-start; min-width:0; }
#site-footer .cbi-footer-brand img { display:block; width:min(100%,330px); height:auto; }
#site-footer .cbi-footer-contact { display:flex; justify-content:space-between; gap:28px; }
#site-footer .cbi-footer-contact p { margin:0; color:#fff; font-size:16px; line-height:1.65; }
#site-footer .cbi-footer-contact strong { display:block; margin-bottom:8px; color:#fff; font-weight:600; }
#site-footer .cbi-footer-contact a { color:#fff; }
#site-footer .cbi-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px max(7.5%, calc((100% - 1200px)/2)); background:#087fb5; color:#fff; font-size:12px; }
#site-footer .cbi-footer-bottom a { color:#fff; }

/* Los acordeones dependían del JavaScript de WordPress/tema, ausente en la versión estática. */
.ot-accordions .acc-toggle { cursor:pointer; }
.ot-accordions .acc-toggle:focus-visible { outline:2px solid #008bd2; outline-offset:3px; }
.ot-accordions .acc-content { transition:opacity .2s ease; }

@media (max-width: 1024px) {
  /* El botón móvil queda disponible en todas las páginas, no solo en Inicio. */
  .header-mobile { display:block !important; }
  .header-mobile .octf-menu-mobile { display:block !important; visibility:visible !important; }
  #mmenu-toggle { display:block !important; position:fixed; top:14px; right:14px; z-index:10001; width:48px; height:48px; }
  #mmenu-toggle button { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:0; border-radius:2px; background:#3e3e3e; color:#008bd2 !important; cursor:pointer; }
  #mmenu-toggle button i:before { color:#008bd2; font-size:25px; }
  .mmenu-wrapper { z-index:10002; }
  .mmenu-overlay { z-index:10001 !important; }
}
@media (max-width: 767px) {
  #site-footer .cbi-footer-main { grid-template-columns:1fr 1fr; gap:18px; padding:34px 22px; }
  #site-footer .cbi-footer-contact { flex-direction:column; gap:18px; }
  #site-footer .cbi-footer-contact p { font-size:14px; }
  #site-footer .cbi-footer-bottom { flex-direction:column; align-items:flex-start; padding:16px 22px; font-size:11px; }
  .elementor-4797 .image-gallery .gallery.gallery-columns-7 { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; width:100%; margin:0 !important; }
  .elementor-4797 .image-gallery .gallery.gallery-columns-7 .gallery-item { float:none !important; width:auto !important; max-width:none !important; box-sizing:border-box; padding:0 8px 8px 0 !important; }
  .elementor-4797 .image-gallery .gallery.gallery-columns-7 .gallery-item img { display:block; width:100%; height:auto; }
}

.ot-accordions .acc-item.current .acc-content { display:block !important; }

/* Ajuste final de cabecera y galería móvil. */
@media (max-width:1024px) {
  .header-mobile .the-logo img { display:block; width:min(58vw,245px) !important; max-width:245px !important; height:auto !important; }
  .header-mobile .elementor-2888 .elementor-element-04a6a8c { min-height:70px !important; }
  #mmenu-toggle { top:12px !important; right:12px !important; width:44px !important; height:44px !important; }
  #mmenu-toggle button { width:44px !important; height:44px !important; }
  #mmenu-toggle button i { display:none !important; }
  #mmenu-toggle button::before { content:""; display:block; width:23px; height:17px; background:linear-gradient(to bottom,#008bd2 0 2px,transparent 2px 7px,#008bd2 7px 9px,transparent 9px 15px,#008bd2 15px 17px); }
}
@media (max-width:767px) {
  body.page-id-4797 .elementor-4797 .elementor-element-e4e68c6 { padding:12px 0 8px !important; }
  body.page-id-4797 .elementor-4797 .elementor-element-f05f931 > .elementor-widget-container { margin:0 !important; padding:0 10px !important; }
  body.page-id-4797 #content .gallery.galleryid-4797 { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; width:100% !important; margin:0 !important; }
  body.page-id-4797 #content .gallery.galleryid-4797 > .gallery-item { display:block !important; float:none !important; width:auto !important; max-width:none !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
  body.page-id-4797 #content .gallery.galleryid-4797 .gallery-icon,
  body.page-id-4797 #content .gallery.galleryid-4797 .gallery-icon a { display:block; width:100%; }
  body.page-id-4797 #content .gallery.galleryid-4797 img { display:block; width:100% !important; height:auto !important; }
  #site-footer.cbi-footer { display:block !important; background:#3e3e3e !important; }
  #site-footer .cbi-footer-brand img { display:block !important; width:100% !important; max-width:245px !important; height:auto !important; }
}
