/*
Theme Name: Kinderly Child (Optimizado)
Theme URI: https://kentcollegevicar.es
Description: Tema hijo de Kinderly con optimizaciones de tipografía, accesibilidad y responsive.
Author: Arantxa
Template: kinderly
Version: 2.2
*/

/* ===== Tipografía (heredar DaxlinePro en Elementor) ===== */
:root,
[class*="elementor-kit-"]{
  --e-global-typography-primary-font-family:'DaxlinePro', sans-serif !important;
  --e-global-typography-secondary-font-family:'DaxlinePro', sans-serif !important;
  --e-global-typography-text-font-family:'DaxlinePro', sans-serif !important;
  --e-global-typography-accent-font-family:'DaxlinePro', sans-serif !important;
}

/* Texto base */
body, p, li, span, a, input, textarea, select, button {
  font-family: 'DaxlinePro', sans-serif !important;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'DaxlinePro', sans-serif !important;
  line-height: 1.2;
}

/* Iconos Elementor intactos */
.elementor [class^="eicon"],
.elementor [class*=" eicon"],
.eicon,
.elementor-icon { font-family: 'eicons' !important; font-weight: normal !important; }

/* ===== Accesibilidad ===== */
.main-navigation a, footer a, button { min-height:48px; min-width:48px; padding:12px 16px; }
img { height:auto; display:block; }
.main-navigation a + a, footer a + a { margin-left:8px; margin-top:8px; }

/* ===== Tablet (≤991px) ===== */
@media (max-width: 991px) {
  h1, .elementor-heading-title { font-size: 32px !important; line-height: 1.3; }
  h2 { font-size: 26px !important; line-height: 1.3; }
  .elementor-section { padding-left: 25px !important; padding-right: 25px !important; }
  .elementor-button { font-size: 18px !important; padding: 14px 24px !important; }
  .main-navigation a { font-size: 18px !important; padding: 14px 18px !important; }
}

/* ===== Móvil landscape (768–991px) ===== */
@media (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  h1, .elementor-heading-title { font-size: 28px !important; line-height: 1.2; }
  h2 { font-size: 22px !important; line-height: 1.2; }
  .main-navigation a, .elementor-button { font-size: 16px !important; padding: 10px 14px !important; }
  .elementor img { max-width: 100% !important; height: auto !important; }
}

/* ===== Móvil portrait (≤767px) — base ===== */
@media (max-width: 767px) {
  h1, .elementor-heading-title { font-size: 24px !important; line-height: 1.3 !important; }
  h2 { font-size: 20px !important; line-height: 1.3 !important; }
  p  { font-size: 16px !important; line-height: 1.7 !important; }

  .elementor-section { padding-left: 15px !important; padding-right: 15px !important; }
  .elementor-button { font-size: 16px !important; padding: 12px 20px !important; width: 100% !important; text-align: center !important; }
  .elementor img { max-width: 100% !important; height: auto !important; }
  .main-navigation a { font-size: 16px !important; padding: 14px 16px !important; }

  /* Bloque rompemuros (anchos, guiones, espaciados, menú, logo, iframes, CTA) */
  .elementor .elementor-section,
  .elementor .elementor-container,
  .elementor .elementor-column,
  .elementor .elementor-column .elementor-widget-wrap,
  .elementor .elementor-widget,
  .e-con, .e-con-inner,
  .e-con > .elementor-widget,
  .e-con-inner > .elementor-widget{
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor .elementor-heading-title,
  .elementor .elementor-widget-text-editor p{
    -webkit-hyphens: none !important;
            hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: left !important;
  }

  .elementor .elementor-widget-heading .elementor-heading-title{
    font-size: clamp(22px, 6.2vw, 28px) !important;
    line-height: 1.25 !important;
  }
  h2, .elementor h2.elementor-heading-title{
    font-size: clamp(18px, 5.3vw, 22px) !important;
    line-height: 1.3 !important;
  }

  .elementor .elementor-section{ margin: 8px 0 !important; padding-left: 15px !important; padding-right: 15px !important; }
  .elementor .elementor-widget{ margin-top: 6px !important; margin-bottom: 8px !important; }
  .elementor .elementor-widget-image{ margin: 8px 0 12px !important; }

  .elementor .elementor-nav-menu--dropdown .elementor-item{
    font-size: 17px !important; line-height: 1.2 !important; padding: 10px 14px !important;
  }
  .elementor .elementor-nav-menu__container{ padding-top: 6px !important; padding-bottom: 6px !important; }
  header .elementor-widget-image img{ max-height: 32px !important; height:auto !important; width:auto !important; }

  iframe{ max-width: 100% !important; border-radius: 8px !important; margin: 10px 0 !important; }

  body{ padding-bottom: 90px !important; }
}
