/* Cambios acotados: footer, Blog y botón móvil. No ocultan desbordamientos. */
#footer .row.wow { visibility: visible !important; animation: none !important; }
#footer #block-8 h2 { font-size: 28px; line-height: 1.2; }
#footer .footer-block a:not(.wp-block-social-link-anchor) { text-decoration: underline; text-underline-offset: 4px; }
#footer .footer-block a:focus-visible, .elb-blog a:focus-visible { outline: 3px solid #6f422c; outline-offset: 4px; }
#footer .footer-block p { overflow-wrap: anywhere; }
#footer .footer-block h2, #footer .footer-block a:not(.wp-block-social-link-anchor) { color: #6f422c !important; }
.elb-secondary-heading .elementor-heading-title { font-size: 40px; line-height: 1.15; }
body.home .elementor-element-2dcaedd .elementor-heading-title,
.elb-secondary-heading .elementor-heading-title { color: #88652c !important; }
.elb-blog { max-width: 1120px; margin: 0 auto; padding: 40px 24px 64px; color: #342920; }
.elb-blog p { color: #40342b; }
.elb-blog h2 { color: #6f422c; }
.elb-blog .elb-intro { max-width: 760px; margin: 0 auto 32px; text-align: center; font-size: 19px; line-height: 1.7; }
.elb-blog .elb-empty { padding: 30px; border: 1px solid #e4d4bd; border-radius: 16px; background: #faf6f0; text-align: center; }
.elb-blog .elb-empty h2 { color: #6f422c; font-size: 28px; margin-top: 0; }
.elb-blog .elb-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 0; margin: 32px 0; list-style: none; }
.elb-blog .elb-services a { display: block; padding: 24px; border: 1px solid #e4d4bd; border-radius: 12px; color: #6f422c; text-decoration: underline; }
.elb-blog .elb-contact { text-align: center; margin-top: 28px; }
.elb-blog .elb-contact a { display: inline-block; border-radius: 999px; padding: 14px 24px; background: #6f422c; color: #fff; text-decoration: none; }
@media (max-width: 767px) {
  #topbar .box-header > .row { display: grid; grid-template-columns: minmax(0,1fr) 52px 52px; align-items: center; margin: 0; gap: 4px; }
  #topbar .box-header > .row > div { width: auto; max-width: 100%; padding: 0; }
  #topbar .box-header { padding: 10px 8px !important; }
  #topbar .custom-logo { width: 88px !important; height: 88px !important; max-width: 100%; object-fit: contain; }
  #topbar { padding: 8px 0; }
  #topbar .logo { height: auto !important; min-height: 0; padding: 0; text-align: left; }
  .elementor .elementor-element.elementor-element-84db426 {
    position: fixed !important; right: 16px !important; bottom: 16px !important; bottom: max(16px,env(safe-area-inset-bottom)) !important;
    top: auto !important; left: auto !important; width: auto !important; max-width: calc(100vw - 32px) !important; transform: none !important; z-index: 1000;
  }
  .elementor-element-84db426 .elementor-button { min-height: 48px; padding: 13px 18px !important; max-width: 100%; }
  .elementor-element-84db426 .elementor-button-content-wrapper { align-items: center; gap: 8px; }
  .elementor-element-84db426 .elementor-button-text { display: inline !important; font-size: 14px; white-space: normal; line-height: 1.3; }
  #footer .footer-block { flex: 0 0 100%; max-width: 100%; padding: 8px 20px; text-align: center; }
  #footer .footer-block p, #footer .footer-block h2 { text-align: center !important; }
  #footer .footer-block p { margin: 0 0 8px; }
  #footer .footer-block h2 { margin: 12px 0; }
  #footer .widget { padding-top: 4px !important; padding-bottom: 4px !important; margin: 0 !important; }
  #footer .footer-block h2 { font-size: 22px; line-height: 1.3; }
  #footer .footer-block a:not(.wp-block-social-link-anchor) { display: inline-flex; align-items: center; min-height: 44px; }
  #footer { padding-bottom: 88px; }
  .elb-secondary-heading .elementor-heading-title { font-size: 30px; }
  .elementor .elementor-element.elementor-element-2dcaedd { width: 100% !important; max-width: 100%; }
  .elementor-element-2dcaedd .elementor-heading-title { font-size: clamp(28px,7vw,32px) !important; line-height: 1.15 !important; }
  .elb-blog { padding: 28px 16px 44px; }
  .elb-blog .elb-intro { font-size: 17px; }
  .elb-blog .elb-services { grid-template-columns: 1fr; }
  .elb-blog .elb-empty { padding: 24px 18px; }
  .elb-blog .elb-empty h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-element-84db426 { animation: none !important; }
}
