@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Roboto:wght@400;500;700&display=swap");

/* ------------------------------------------------------------
 * Durán-Sindreu - Design System classes for Elementor
 * Usage: add these classes in Elementor > Advanced > CSS Classes
 * ------------------------------------------------------------ */

:root {
  --ds-color-bg-dark: #003b49;
  --ds-color-bg-dark-2: #004f5f;
  --ds-color-bg-light: #f4f5f5;
  --ds-color-white: #ffffff;
  --ds-color-text: #1f2933;
  --ds-color-text-soft: #5f6b76;
  --ds-color-primary: #ef6f2e;
  --ds-color-primary-2: #ff8a3d;
  --ds-color-line: #d8dde1;
  --ds-color-input: #8ea2ad;

  --ds-radius-xs: 8px;
  --ds-radius-sm: 12px;
  --ds-radius-md: 20px;
  --ds-radius-lg: 28px;
  --ds-radius-pill: 999px;

  --ds-space-2xs: 8px;
  --ds-space-xs: 12px;
  --ds-space-sm: 16px;
  --ds-space-md: 24px;
  --ds-space-lg: 40px;
  --ds-space-xl: 64px;
  --ds-space-2xl: 96px;

  --ds-shadow-soft: 0 10px 30px rgba(0, 35, 44, 0.12);
}

/* Layout helpers */
.ds-section {
  padding-top: var(--ds-space-xl);
  padding-bottom: var(--ds-space-xl);
}

.ds-section--tight {
  padding-top: var(--ds-space-lg);
  padding-bottom: var(--ds-space-lg);
}

.ds-section--light {
  background: var(--ds-color-bg-light);
}

.ds-section--dark {
  color: var(--ds-color-white);
  background: linear-gradient(180deg, var(--ds-color-bg-dark-2) 0%, var(--ds-color-bg-dark) 100%);
}

.ds-section--cta {
  color: var(--ds-color-white);
  background: linear-gradient(180deg, var(--ds-color-primary) 0%, var(--ds-color-bg-dark) 100%);
}

.ds-max {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Typography */
.ds-kicker {
  margin: 0 0 var(--ds-space-xs);
  color: var(--ds-color-primary);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.ds-title {
  margin: 0 0 var(--ds-space-sm);
  color: var(--ds-color-text);
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.08;
  font-weight: 700;
}

.ds-title--sm {
  font-size: clamp(26px, 3vw, 42px);
}

.ds-title--white {
  color: var(--ds-color-white);
}

.ds-subtitle {
  margin: 0 0 var(--ds-space-md);
  color: var(--ds-color-text-soft);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.45;
}

.ds-subtitle--white {
  color: rgba(255, 255, 255, 0.85);
}

/* Buttons and links */
.ds-btn,
a.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 10px 18px;
  border: 0;
  border-radius: 15px 15px 15px 15px;
  padding: 10px 20px 10px 20px;
  text-shadow: 0px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.ds-btn:hover,
a.ds-btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

.ds-btn--primary,
a.ds-btn--primary {
  color: var(--ds-color-white);
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
}

.ds-btn--teal,
a.ds-btn--teal {
  color: var(--ds-color-white);
  background: #0b798c;
}

.ds-link-more,
a.ds-link-more {
  color: var(--ds-color-primary);
  font-weight: 500;
  text-decoration: none;
}

/* Hero blocks */
.ds-hero {
  position: relative;
  overflow: hidden;
  color: var(--ds-color-white);
  min-height: clamp(260px, 36vh, 420px);
  display: flex;
  align-items: flex-end;
  padding: var(--ds-space-xl) 0;
}

.ds-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 35, 44, 0.62), rgba(0, 35, 44, 0.62));
  z-index: 0;
}

.ds-hero > * {
  position: relative;
  z-index: 1;
}

/* Cards and grids */
.ds-card {
  background: var(--ds-color-white);
  border: 1px solid var(--ds-color-line);
  border-radius: var(--ds-radius-sm);
  padding: var(--ds-space-md);
  box-shadow: var(--ds-shadow-soft);
}

.ds-card--flat {
  box-shadow: none;
}

.ds-media-card {
  overflow: hidden;
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  background: var(--ds-color-white);
}

.ds-media-card img {
  width: 100%;
  height: auto;
  display: block;
}

.ds-grid-2,
.ds-grid-3,
.ds-grid-4 {
  display: grid;
  gap: var(--ds-space-md);
}

.ds-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Team images */
.ds-team-photo img,
.ds-round-photo img {
  border-radius: var(--ds-radius-sm);
}

.ds-diamond-photo img {
  border-radius: var(--ds-radius-md);
  transform: rotate(45deg);
}

/* Forms */
.ds-form input[type="text"],
.ds-form input[type="email"],
.ds-form input[type="tel"],
.ds-form input[type="url"],
.ds-form textarea,
.ds-form select {
  width: 100%;
  border: 1px solid var(--ds-color-input);
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ds-color-text);
}

.ds-form textarea {
  border-radius: var(--ds-radius-sm);
  min-height: 120px;
}

.ds-form input:focus,
.ds-form textarea:focus,
.ds-form select:focus {
  outline: 0;
  border-color: #0b798c;
  box-shadow: 0 0 0 3px rgba(11, 121, 140, 0.14);
}

.ds-form .elementor-button,
.ds-form button,
.ds-form input[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  padding: 10px 18px;
  border: 0;
}

/* Footer section helpers */
.ds-footer {
  color: rgba(255, 255, 255, 0.9);
  background: var(--ds-color-bg-dark);
}

.ds-footer a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.ds-footer a:hover {
  color: #ffffff;
}

/* Utility classes */
.u-text-center {
  text-align: center;
}

.u-text-white {
  color: #fff;
}

.u-mb-0 {
  margin-bottom: 0;
}

.u-mb-sm {
  margin-bottom: var(--ds-space-sm);
}

.u-mb-md {
  margin-bottom: var(--ds-space-md);
}

.u-mb-lg {
  margin-bottom: var(--ds-space-lg);
}

.u-p-0 {
  padding: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .ds-grid-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ds-section {
    padding-top: var(--ds-space-lg);
    padding-bottom: var(--ds-space-lg);
  }

  .ds-grid-2,
  .ds-grid-3,
  .ds-grid-4 {
    grid-template-columns: 1fr;
  }

  .ds-hero {
    min-height: 220px;
    padding: var(--ds-space-lg) 0;
  }
}

/* ------------------------------------------------------------
 * Practical scoped presets (parent class / id driven)
 * Add ONE class to a parent container and style descendants.
 * ------------------------------------------------------------ */

/* Base scope: common typography + spacing + links */
.ds-scope {
  color: var(--ds-color-text);
}

.ds-scope .elementor-widget-heading .elementor-heading-title {
  color: var(--ds-color-text);
  font-weight: 700;
  line-height: 1.12;
}

.ds-scope .elementor-widget-text-editor,
.ds-scope .elementor-widget-theme-post-content {
  color: var(--ds-color-text-soft);
  line-height: 1.55;
}

.ds-scope .elementor-widget-button .elementor-button {
  border-radius: var(--ds-radius-pill);
  padding: 10px 18px;
  min-height: 38px;
  font-weight: 600;
}

.ds-scope .elementor-widget:not(:last-child) {
  margin-bottom: var(--ds-space-sm);
}

/* Scope variants (set only on parent) */
.ds-scope--light {
  background: var(--ds-color-bg-light);
}

.ds-scope--dark {
  color: var(--ds-color-white);
  background: linear-gradient(180deg, var(--ds-color-bg-dark-2) 0%, var(--ds-color-bg-dark) 100%);
}

.ds-scope--dark .elementor-widget-heading .elementor-heading-title,
.ds-scope--dark .elementor-widget-text-editor {
  color: var(--ds-color-white);
}

.ds-scope--dark .elementor-widget-text-editor {
  opacity: 0.88;
}

.ds-scope--cta {
  color: var(--ds-color-white);
  background: linear-gradient(180deg, var(--ds-color-primary) 0%, var(--ds-color-bg-dark) 100%);
}

/* Button presets by parent scope */
.ds-scope--btn-primary .elementor-widget-button .elementor-button {
  color: var(--ds-color-white);
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
  border: 0;
}

.ds-scope--btn-teal .elementor-widget-button .elementor-button {
  color: var(--ds-color-white);
  background: #0b798c;
  border: 0;
}

/* Cards preset: add to listing wrapper parent */
.ds-scope--cards .elementor-post,
.ds-scope--cards .e-loop-item,
.ds-scope--cards .elementor-widget-image-box,
.ds-scope--cards .elementor-widget-icon-box {
  background: #fff;
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  box-shadow: var(--ds-shadow-soft);
  overflow: hidden;
}

/* Form preset: add to form wrapper parent */
.ds-scope--form input[type="text"],
.ds-scope--form input[type="email"],
.ds-scope--form input[type="tel"],
.ds-scope--form input[type="url"],
.ds-scope--form textarea,
.ds-scope--form select {
  width: 100%;
  border: 1px solid var(--ds-color-input);
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ds-color-text);
}

.ds-scope--form textarea {
  border-radius: var(--ds-radius-sm);
  min-height: 120px;
}

.ds-scope--form input:focus,
.ds-scope--form textarea:focus,
.ds-scope--form select:focus {
  outline: 0;
  border-color: #0b798c;
  box-shadow: 0 0 0 3px rgba(11, 121, 140, 0.14);
}

.ds-scope--form .elementor-button,
.ds-scope--form button,
.ds-scope--form input[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  border: 0;
}

/* ------------------------------------------------------------
 * Pro mode: page-level presets by body class (page-id-XX)
 * Replace XX with real WordPress page IDs.
 * You can also duplicate blocks for CPT singles:
 * body.single-post, body.single-eventos, etc.
 * ------------------------------------------------------------ */

/* Shared page-level defaults */
body[class*="page-id-"] .elementor-widget-heading .elementor-heading-title {
  line-height: 1.12;
}

body[class*="page-id-"] .elementor-widget-button .elementor-button {
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 18px;
  font-weight: 600;
}

/* HOME preset (replace XX) */
body.page-id-XX-home .elementor-widget-button .elementor-button {
  color: #fff;
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
  border: 0;
}

body.page-id-XX-home .elementor-widget-posts .elementor-post,
body.page-id-XX-home .e-loop-item {
  border-radius: var(--ds-radius-xs);
  border: 1px solid #e5e8ea;
  overflow: hidden;
}

/* CONTACTO preset (replace XX) */
body.page-id-XX-contacto input[type="text"],
body.page-id-XX-contacto input[type="email"],
body.page-id-XX-contacto input[type="tel"],
body.page-id-XX-contacto textarea,
body.page-id-XX-contacto select {
  border: 1px solid var(--ds-color-input);
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 14px;
}

body.page-id-XX-contacto textarea {
  border-radius: var(--ds-radius-sm);
  min-height: 120px;
}

body.page-id-XX-contacto .elementor-button,
body.page-id-XX-contacto button,
body.page-id-XX-contacto input[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  border: 0;
}

/* SERVICIOS listing preset (replace XX) */
body.page-id-XX-servicios .elementor-widget-image-box,
body.page-id-XX-servicios .e-loop-item,
body.page-id-XX-servicios .elementor-post {
  background: #fff;
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  box-shadow: var(--ds-shadow-soft);
  overflow: hidden;
}

body.page-id-XX-servicios .elementor-widget-button .elementor-button {
  color: #fff;
  background: #0b798c;
  border: 0;
}

/* EVENTOS listing preset (replace XX) */
body.page-id-XX-eventos .e-loop-item,
body.page-id-XX-eventos .elementor-post {
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  background: #fff;
  overflow: hidden;
}

/* NOTICIAS listing preset (replace XX) */
body.page-id-XX-noticias .e-loop-item,
body.page-id-XX-noticias .elementor-post {
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  background: #fff;
  overflow: hidden;
}

body.page-id-XX-noticias .elementor-widget-post-info,
body.page-id-XX-noticias .elementor-widget-text-editor {
  color: var(--ds-color-text-soft);
}

/* UNETE preset (replace XX) */
body.page-id-XX-unete .elementor-widget-heading .elementor-heading-title {
  color: var(--ds-color-text);
}

body.page-id-XX-unete .elementor-widget-button .elementor-button {
  color: #fff;
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
  border: 0;
}

/* NOSOTROS preset (replace XX) */
body.page-id-XX-nosotros .elementor-widget-image img {
  border-radius: var(--ds-radius-sm);
}

/* Optional helper scope by ID (if you prefer section CSS ID in Elementor)
 * Example in Elementor: CSS ID = ds-contacto
 * Then this applies:
 */
#ds-contacto input[type="text"],
#ds-contacto input[type="email"],
#ds-contacto input[type="tel"],
#ds-contacto textarea,
#ds-contacto select {
  border: 1px solid var(--ds-color-input);
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 14px;
}

#ds-contacto textarea {
  border-radius: var(--ds-radius-sm);
  min-height: 120px;
}

#ds-contacto .elementor-button,
#ds-contacto button,
#ds-contacto input[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  border: 0;
}

/* ------------------------------------------------------------
 * Wrapper-based restyling (Elementor root div)
 * Example wrapper:
 * <div class="restyling-new-general restyling-new-servicios elementor elementor-5753">
 * ------------------------------------------------------------ */

/* GENERAL preset – se aplica en todas las páginas con restyling */
body .restyling-new-general .elementor-widget-heading .elementor-heading-title {
  line-height: 1.12;
  
}

body .restyling-new-general .elementor-widget-text-editor,
body .restyling-new-general .elementor-widget-theme-post-content {
  color: var(--ds-color-text-soft);
  line-height: 1.55;
}

body .restyling-new-general .elementor-widget-button .elementor-button {
  border-radius: 15px 15px 15px 15px;
  padding: 10px 20px 10px 20px;
  text-shadow: 0px;
  min-height: 38px;
  padding: 10px 18px;
  font-weight: 600;
}
body .restyling-new-general .elementor-portfolio.elementor-has-item-ratio{
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  padding: 2em 0em 2em 0em;
  @media (max-width: 768px) {
    padding: 1em 0em 1em 0em;
  }
}
body .restyling-new-general.restyling-new-servicios .elementor-portfolio.elementor-has-item-ratio{
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  padding: 2em 4em 2em 4em;
  @media (max-width: 768px) {
    padding: 1em 0em 1em 0em;
  }
}
body .restyling-new-servicios .elementor-post.elementor-portfolio-item, 
body .restyling-new-servicios .elementor-post.elementor-portfolio-item .elementor-portfolio-item__overlay,
body .restyling-new-servicios .elementor-post.elementor-portfolio-item .elementor-portfolio-item__img{
  aspect-ratio: 4 / 5;
}
body .restyling-new-servicios .elementor-post.elementor-portfolio-item img,
body .restyling-new-servicios .elementor-post.elementor-portfolio-item .elementor-portfolio-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .restyling-new-servicios .elementor-post.elementor-portfolio-item .elementor-post__thumbnail__link,
body .restyling-new-general.restyling-new-servicios .elementor-post.elementor-portfolio-item .elementor-post__thumbnail__link {
  padding-bottom: 0 !important;
  height: 100% !important;
}
body .restyling-new-general .elementor-portfolio-item .elementor-post__thumbnail__link .elementor-portfolio-item__overlay{
  background-color: #E67033CC;
}
body .restyling-new-general .elementor-portfolio-item .elementor-post__thumbnail__link .elementor-portfolio-item__overlay h3{
  color: #FFFFFF;
  font-size: 20px;
}

/* High-specificity fallback against Elementor per-page selectors
 * (e.g. .elementor-XXXX .elementor-element.elementor-element-YYYY .elementor-button)
 */
body .restyling-new-general.elementor .elementor-element .elementor-widget-button .elementor-button,
body .restyling-new-general.elementor .elementor-element .elementor-button[type="submit"] {
  border-radius: 15px 15px 15px 15px;
  padding: 10px 20px 10px 20px;
  text-shadow: 0px;
  box-shadow: none;
  min-height: 38px;
  padding: 10px 18px;
  font-weight: 600;
}

/* SERVICIOS preset – solo donde esté restyling-new-servicios */
body .restyling-new-servicios .elementor-widget-button .elementor-button {
  color: #fff;
  background: #0b798c;
  border: 0;
}

body .restyling-new-servicios.elementor .elementor-element .elementor-widget-button .elementor-button,
body .restyling-new-servicios.elementor .elementor-element .elementor-button[type="submit"] {
  color: #fff;
  background: #0b798c;
  border: 0;
}

body .restyling-new-servicios .elementor-widget-image-box,
body .restyling-new-servicios .elementor-widget-icon-box,
body .restyling-new-servicios .e-loop-item,
body .restyling-new-servicios .elementor-post {
  background: #fff;
  border: 1px solid #e5e8ea;
  border-radius: var(--ds-radius-xs);
  box-shadow: var(--ds-shadow-soft);
  overflow: hidden;
}

/* CONTACTO preset – usar junto a restyling-new-general */
body .restyling-new-contacto input[type="text"],
body .restyling-new-contacto input[type="email"],
body .restyling-new-contacto input[type="tel"],
body .restyling-new-contacto input[type="url"],
body .restyling-new-contacto textarea,
body .restyling-new-contacto select {
  border: 1px solid var(--ds-color-input);
  border-radius: var(--ds-radius-pill);
  min-height: 38px;
  padding: 10px 14px;
}

body .restyling-new-contacto textarea {
  border-radius: var(--ds-radius-sm);
  min-height: 120px;
}

body .restyling-new-contacto .elementor-button,
body .restyling-new-contacto button,
body .restyling-new-contacto input[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  border: 0;
}

body .restyling-new-contacto.elementor .elementor-element .elementor-button,
body .restyling-new-contacto.elementor .elementor-element .elementor-button[type="submit"] {
  border-radius: var(--ds-radius-pill);
  background: #0b798c;
  color: #fff;
  border: 0;
}

/* EVENTOS / NOTICIAS listing presets (cards homogéneas) */
body .restyling-new-eventos .e-loop-item,
body .restyling-new-eventos .elementor-post,
body .restyling-new-noticias .e-loop-item,
body .restyling-new-noticias .elementor-post {
  background: #fff;
  border-radius: var(--ds-radius-xs);
  border: 1px solid #e5e8ea;
  overflow: hidden;
}

/* UNETE preset – CTAs más fuertes */
body .restyling-new-unete .elementor-widget-button .elementor-button {
  color: #fff;
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
  border: 0;
}

body .restyling-new-unete.elementor .elementor-element .elementor-widget-button .elementor-button,
body .restyling-new-unete.elementor .elementor-element .elementor-button[type="submit"] {
  color: #fff;
  background: linear-gradient(90deg, var(--ds-color-primary) 0%, var(--ds-color-primary-2) 100%);
  border: 0;
}

/* ------------------------------------------------------------
 * Forms global (Elementor) - aspecto predeterminado para todos
 * Aplicar dentro del restyling (wrapper): .restyling-new-general
 * ------------------------------------------------------------ */

/* Inputs + textarea + select */
body .restyling-new-general form.elementor-form input[type="text"],
body .restyling-new-general form.elementor-form input[type="email"],
body .restyling-new-general form.elementor-form input[type="tel"],
body .restyling-new-general form.elementor-form input[type="url"],
body .restyling-new-general form.elementor-form textarea,
body .restyling-new-general form.elementor-form select {
  border: 1px solid currentColor !important;
  border-radius: 15px !important;
  opacity: 1 !important;
  background: #ffffff !important;
  color: #002D37 !important;
  box-shadow: none !important;
  padding: 10px 20px !important;
}

/* Input/textarea focus: mismo borde/estilo */
body .restyling-new-general form.elementor-form input:focus,
body .restyling-new-general form.elementor-form textarea:focus,
body .restyling-new-general form.elementor-form select:focus {
  border: 1px solid #005964 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 89, 100, 0.15) !important;
}

/* Botón "Enviar" dentro del form */
body .restyling-new-general form.elementor-form button.elementor-button,
body .restyling-new-general form.elementor-form input[type="submit"],
body .restyling-new-general .elementor-author-box .elementor-author-box__button {
  border-radius: 15px !important;
  padding: 10px 20px 10px 20px !important;
  border: 0 !important;
  background: #005964 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: none !important;
  width: auto !important;
  display: inline-flex !important;
  white-space: nowrap !important;
  flex-basis: auto !important;
  flex: 0 0 auto !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  font-family: "Roboto", sans-serif !important;
}
body .restyling-new-general .dark form.elementor-form button.elementor-button,
body .restyling-new-general .dark form.elementor-form input[type="submit"],
body .restyling-new-general .dark .elementor-author-box .elementor-author-box__button {
  background-color: #FF652B !important;
  color: #ffffff !important;
}
/* Si Elementor aplica flex-basis:100% al contenedor del submit, lo anulamos */
body .restyling-new-general form.elementor-form .elementor-field-type-submit,
body .restyling-new-general form.elementor-form .e-form__buttons {
  flex-basis: auto !important;
  width: auto !important;
}

body .restyling-new-general form.elementor-form .elementor-field-type-submit button.elementor-button,
body .restyling-new-general form.elementor-form .elementor-field-type-submit input[type="submit"] {
  flex-basis: auto !important;
  flex: 0 0 auto !important;
}

/* Icono rombo en botones (global restyling) */
body .restyling-new-general .elementor-button {
  position: relative;
  gap: 10px;
  font-family: "Roboto", sans-serif !important;
}

body .restyling-new-general .elementor-button .elementor-button-content-wrapper, footer .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Roboto", sans-serif !important;
}

body .restyling-new-general .elementor-button .elementor-button-content-wrapper::before, footer .elementor-button .elementor-button-content-wrapper::before{
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 3px;
  background: #fff;
  transform: rotate(45deg);
  flex: 0 0 13px;
  transition: transform 0.35s ease;
  text-transform: uppercase;
}

body .restyling-new-general .elementor-button:hover .elementor-button-content-wrapper::before,
body .restyling-new-general .elementor-button:focus-visible .elementor-button-content-wrapper::before,
footer .elementor-button.elementor-button:hover .elementor-button-content-wrapper::before,
footer .elementor-button .elementor-button:focus-visible .elementor-button-content-wrapper::before{
  transform: rotate(225deg);
}
body .restyling-new-general .elementor-button .elementor-button-content-wrapper span {
  color: #fff;

}
body .restyling-new-general #white p{
  color: #ffffff !important;
}

/* ------------------------------------------------------------
 * Test page preset: post category-persona
 * ------------------------------------------------------------ */

/* Primera sección top-level del template single: degradado azul */
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type{
  background-color: transparent !important;
  background-image: linear-gradient(180deg, #002D37 0%, #005964 100%) !important;
  margin-top: -130px;
  margin-bottom: 0px;
  padding: 200px 200px 120px 200px;
}

@media (max-width: 1200px) {
  body.single-post
    .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
    > section.elementor-top-section:first-of-type {
    padding: 150px 0px 120px 0px;
  }
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type h1{
  color: #ffffff;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-theme-post-content p,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-theme-post-content li,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor p,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor div,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor li,
  body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor em, 
  body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor a,
  body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor strong, 
  body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor b,
  body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type .elementor-widget-text-editor iº  {
  color: #ffffff !important;
  margin-top: 0px;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form .elementor-element-populated{
    padding: 5% 15% 5% 15%;
}
body
  .elementor-location-single.restyling-new-general
  #form .elementor-widget:not(:last-child){
      margin-block-end: 0px;
}
body.wp-singular
  .elementor-location-single.restyling-new-general
  #form .elementor-element-populated{
    padding: 0;
}
body.wp-singular
  .elementor-location-single.restyling-new-general
  #form .elementor-section{
    box-shadow: none;
}
body.wp-singular
  .elementor-location-single.restyling-new-general
  #form .elementor-element-populated #col-2 .elementor-element-populated{
    padding: 50px 45px 50px 45px;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form .elementor-element-populated h2{
    color: #E67033;
    font-weight: 800;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form #legal p, 
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form #legal a, 
body.single-post 
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form #legal div, 
body.single-post 
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form a, 
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form  p,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form  p{
    color: #002D37 !important;
    font-size: 12px;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form .elementor-field-subgroup{
  display: block
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  #form .elementor-field-subgroup label{
    font-weight: 400;
} 
/* Imagen principal de la zona superior (2a sección top-level en esta plantilla) */
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:first-of-type img {
  border-radius: 15px 15px 15px 15px !important;
}

/* Última sección top-level del template single: degradado naranja -> azul */
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:last-of-type {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, #FF652B 0%, #002D37 100%) !important;
  background-attachment: local;
}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:last-of-type .elementor-background-overlay{
  display: none;

}
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:last-of-type .elementor-container{
    min-height: 700px;

}
body .restyling-new-general p, body .restyling-new-general div, body .restyling-new-general li{
  font-family: "Roboto", sans-serif !important;
}
/* Texto legal pequeño (labels de checkbox/radio + enlaces) */
body .restyling-new-general form.elementor-form .elementor-field-option label,
body .restyling-new-general form.elementor-form .elementor-field-type-checkbox label,
body .restyling-new-general form.elementor-form .elementor-field-type-radio label,
body .restyling-new-general form.elementor-form .elementor-field-subgroup label{
  font-family: "Roboto", sans-serif !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #002D37 !important;
  opacity: 1 !important;
}

body .restyling-new-general form.elementor-form .elementor-field-option label a,
body .restyling-new-general form.elementor-form .elementor-field-subgroup label a {
  color: #002D37 !important;
  text-decoration: none !important;
}

body .restyling-new-general form.elementor-form .elementor-field-subgroup label a:hover,
body .restyling-new-general form.elementor-form .elementor-field-option label a:hover {
  text-decoration: none !important;
}

/* ------------------------------------------------------------
 * Estilos básicos para todas las páginas restyling
 * Wrapper: .restyling-new-general
 * Desktop / Tablet / Mobile: 3 valores separados por "/"
 * ------------------------------------------------------------ */

/* Cover (hero) */
body .restyling-new-general .ds-hero {
  min-height: 500px;          /* todos */
  margin: -130px 0 0 0;      /* todos */
  padding: 150px 200px 120px 200px; /* Desktop */
  box-sizing: border-box;
}

/* Cover (hero) para posts interiores Elementor (sin necesidad de ds-hero)
 * Ej: sección superior del template single con slideshow/cover.
 */
body .restyling-new-general .elementor-location-single
  .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height {
  min-height: 500px; /* todos */
  margin: -130px 0 0 0; /* todos */
  padding: 150px 200px 120px 200px; /* Desktop */
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  body .restyling-new-general .ds-hero {
    padding: 150px 0 120px 0; /* Tablet */
  }

  body .restyling-new-general .elementor-location-single
    .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height {
    padding: 150px 0 120px 0; /* Tablet */
  }
}

@media (max-width: 767px) {
  body .restyling-new-general .ds-hero {
    padding: 150px 0 120px 0; /* Mobile */
  }

  body .restyling-new-general .elementor-location-single
    .elementor-top-section.elementor-section-stretched.elementor-section-height-min-height {
    padding: 150px 0 120px 0; /* Mobile */
  }
}

/* Titulares (Poppins bold) */
body .restyling-new-general .elementor-widget-heading h1.elementor-heading-title,
body .restyling-new-general .ds-title {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  font-size: 40px;     /* Desktop */
  line-height: 1.2em; /* todos */
  margin: 0;
}
header a.elementor-button span:before{
  display: none;
}
/* Refuerzo: también para títulos h1 cuando no dependen del wrapper .elementor-widget-heading */
body .restyling-new-general h1,
body .restyling-new-general h2,
body .restyling-new-general h3,
body .restyling-new-general h4,
body .restyling-new-general h5,
body .restyling-new-general h6,
body .restyling-new-general h2 a,
body .restyling-new-general h3 a,
body .restyling-new-general h4 a,
body .restyling-new-general h5 a{
  font-family: "Poppins", sans-serif !important;
  font-weight: 500 !important;
} 
body .restyling-new-general h1.elementor-heading-title {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.4em;
  margin: 0;
}

/* Home page */
body.home .restyling-new-general.elementor #actualidad .elementor-post__thumbnail img{
  filter: saturate(0) brightness(0.9);
  mix-blend-mode: luminosity;
}
body.home .restyling-new-general.elementor #actualidad .elementor-post__thumbnail{
  background: #84d4d8 0% 0% no-repeat padding-box;
}
body.home .restyling-new-general.elementor #actualidad p{
  color: #ffffff !important;
}
body.home .restyling-new-general.elementor #actualidad .elementor-button{
  background-color: #FF652B;
} 
body.home .restyling-new-general.elementor #actualidad .elementor-button:hover{
  background-color: #000;
} 
body.home .restyling-new-general.elementor #actualidad .elementor-button span span{
  text-transform: uppercase;
} 
/* Servicios generales */
body .restyling-new-general.restyling-new-servicios-generales.elementor .elementor-element .elementor-column .elementor-element-populated{
    border-radius: 12px 12px 12px 12px;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor .elementor-element img{
  width: 100%;
  border-radius: 15px 15px 15px 15px;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor .elementor-element a.elementor-button span span{
  color: #E67033;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor .elementor-element a.elementor-button span:before{
  display: none;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor .elementor-element a.elementor-button{
  padding: 8px 0px;
  font-weight: 400;
  font-size: 15px;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor #form{
  padding-top: 0px;
}
body .restyling-new-general.restyling-new-servicios-generales.elementor #form input,
body .restyling-new-general.restyling-new-servicios-generales.elementor #form textarea,
body .restyling-new-general.restyling-new-servicios-generales.elementor #form select{
  background: transparent !important;
  color: #ffffff !important;

}
body .restyling-new-general.restyling-new-servicios-generales.elementor #form p,
body .restyling-new-general.restyling-new-servicios-generales.elementor #form a, 
body .restyling-new-general.restyling-new-servicios-generales.elementor #form div,  
body .restyling-new-general.restyling-new-servicios-generales.elementor #form .elementor-field-subgroup label{
  color: #ffffff !important;
  font-size: 12px !important;
}
/* FIN Servicios generales */
body .restyling-new-general .elementor-widget-heading h2.elementor-heading-title,
body .restyling-new-general .ds-subtitle {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  font-size: 50px;     /* Desktop */
  line-height: 1.4em; /* todos */
  margin: 0;
}

/* Refuerzo: subtítulos h2 cuando no dependen del wrapper .elementor-widget-heading */
body .restyling-new-general h2.elementor-heading-title {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  font-size: 50px;
  line-height: 1.4em;
  margin: 0;
}

@media (max-width: 1024px) {
  body .restyling-new-general .elementor-widget-heading h1.elementor-heading-title,
  body .restyling-new-general .ds-title {
    font-size: 40px; /* Tablet */
  }

  body .restyling-new-general .elementor-widget-heading h2.elementor-heading-title,
  body .restyling-new-general .ds-subtitle {
    font-size: 35px; /* Tablet */
  }

  body .restyling-new-general h1.elementor-heading-title {
    font-size: 40px;
  }

  body .restyling-new-general h2.elementor-heading-title {
    font-size: 35px;
  }
}

@media (max-width: 767px) {
  body .restyling-new-general .elementor-widget-heading h1.elementor-heading-title,
  body .restyling-new-general .ds-title {
    font-size: 25px; /* Mobile */
  }

  body .restyling-new-general .elementor-widget-heading h2.elementor-heading-title,
  body .restyling-new-general .ds-subtitle {
    font-size: 18px; /* Mobile */
  }

  body .restyling-new-general h1.elementor-heading-title {
    font-size: 25px;
  }

  body .restyling-new-general h2.elementor-heading-title {
    font-size: 18px;
  }
}

/* Botones (radio y padding) */
body .restyling-new-general.elementor .elementor-widget-button .elementor-button,
body .restyling-new-general.elementor .elementor-widget-button .elementor-button[type="submit"],
body .restyling-new-general.elementor .elementor-button[type="submit"] {
  border-radius: 15px 15px 15px 15px;
  padding: 10px 20px 10px 20px;
}

/* Cuerpo de texto (Roboto, 18/16/15, color #002D37) */
body .restyling-new-general,
body .restyling-new-general .elementor-widget-text-editor,
body .restyling-new-general .elementor-widget-theme-post-content,
body .restyling-new-general .elementor-widget-text-editor p,
body .restyling-new-general .elementor-widget-theme-post-content p,
body .restyling-new-general ul,
body .restyling-new-general ol,
body .restyling-new-general li {
  font-family: "Roboto", sans-serif !important;
  font-size: 18px;      /* Desktop */
  line-height: 1.6;
  color: #002D37;
}

/* Asegurar color azul también en títulos y párrafos (override frente a CSS de Elementor/tema).
 * Nota: dejamos spans con estilos inline (p.ej. texto naranja) sin tocar.
 */
body .restyling-new-general p,
body .restyling-new-general li,
body .restyling-new-general h1,
body .restyling-new-general h2,
body .restyling-new-general h3,
body .restyling-new-general h4,
body .restyling-new-general h5,
body .restyling-new-general h6,
body .restyling-new-general .elementor-widget-heading .elementor-heading-title {
  color: #002D37;
}

/* Especificidad extra en contenedores de texto de posts interiores */
body .restyling-new-general .elementor-widget-theme-post-content p,
body .restyling-new-general .elementor-widget-theme-post-content li,
body .restyling-new-general .elementor-widget-text-editor p,
body .restyling-new-general .elementor-widget-text-editor li {
  color: #002D37 !important;
}



/* Refuerzo final para interiores:
 * Elementor suele pintar colores en <a>, <strong>, <em>, <time> dentro del contenido.
 */
body .restyling-new-general .elementor-widget-theme-post-content a,
body .restyling-new-general .elementor-widget-theme-post-content strong,
body .restyling-new-general .elementor-widget-theme-post-content em,
body .restyling-new-general .elementor-widget-theme-post-content time,
body .restyling-new-general .elementor-widget-text-editor a,
body .restyling-new-general .elementor-widget-text-editor strong,
body .restyling-new-general .elementor-widget-text-editor em,
body .restyling-new-general .elementor-widget-text-editor time,
body .restyling-new-general .elementor-post-info,
body .restyling-new-general .elementor-post-info a,
body .restyling-new-general .elementor-post-info time {
  color: #002D37;
}

@media (max-width: 1024px) {
  body .restyling-new-general,
  body .restyling-new-general .elementor-widget-text-editor,
  body .restyling-new-general .elementor-widget-theme-post-content,
  body .restyling-new-general .elementor-widget-text-editor p,
  body .restyling-new-general .elementor-widget-theme-post-content p,
  body .restyling-new-general ul,
  body .restyling-new-general ol,
  body .restyling-new-general li {
    font-size: 16px; /* Tablet */
  }
}

@media (max-width: 767px) {
  body .restyling-new-general,
  body .restyling-new-general .elementor-widget-text-editor,
  body .restyling-new-general .elementor-widget-theme-post-content,
  body .restyling-new-general .elementor-widget-text-editor p,
  body .restyling-new-general .elementor-widget-theme-post-content p,
  body .restyling-new-general ul,
  body .restyling-new-general ol,
  body .restyling-new-general li {
    font-size: 15px; /* Mobile */
  }
}

/* ------------------------------------------------------------
 * Event category buttons
 * Default: orange + uppercase | Hover/focus: black
 * ------------------------------------------------------------ */
body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-widget-button .elementor-button,
body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-post__read-more {
  background: #ff652b !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border: 0 !important;
}

body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-widget-button .elementor-button:hover,
body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-widget-button .elementor-button:focus-visible,
body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-post__read-more:hover,
body .restyling-new-general:is(.category-eventos, .category-events, .category-esdeveniments) .elementor-post__read-more:focus-visible {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Toggle title typography */
body .restyling-new-general .elementor-toggle .elementor-tab-title .elementor-toggle-title,
body .restyling-new-general .elementor-toggle-title {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
}

body .restyling-new-general .elementor-toggle .elementor-toggle-item .elementor-toggle-title{
  color: #002D37 !important;
}

/* Footer: tipografía Poppins (override Kit / tema).
 * Elementor Theme Builder suele usar .elementor-location-footer, no siempre <footer>. */
footer,
.elementor-location-footer,
footer .elementor-widget-heading .elementor-heading-title,
.elementor-location-footer .elementor-widget-heading .elementor-heading-title,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6,
footer p,
.elementor-location-footer p,
footer a,
.elementor-location-footer a,
footer li,
.elementor-location-footer li,
footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor,
footer .elementor-nav-menu a,
footer .elementor-nav-menu .elementor-item,
.elementor-location-footer .elementor-nav-menu a,
.elementor-location-footer .elementor-nav-menu .elementor-item,
footer .elementor-button,
.elementor-location-footer .elementor-button,
footer .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-text,
footer label,
.elementor-location-footer label,
footer input,
.elementor-location-footer input,
footer textarea,
.elementor-location-footer textarea,
footer select,
.elementor-location-footer select {
  font-family: "Poppins", sans-serif !important;
}
.elementor-location-footer h4{
  margin-bottom: 2rem;
}
footer .elementor-icon i,
footer i.elementor-icon,
.elementor-location-footer .elementor-icon i,
.elementor-location-footer i.elementor-icon {
  font-family: "eicons" !important;
}
footer .elementor-widget .elementor-icon-list-item, footer.elementor-widget .elementor-icon-list-item a{
  display: block;
}
/* Inicio (portada): Poppins en titulares; Roboto en texto y botones (Lato del Kit).
 * NOTA: el menú/cabecera se fuerza a Poppins más abajo en una regla global. */
body.home .elementor-location-header .elementor-button,
body.home .elementor-location-header .elementor-widget-text-editor,
body.home .elementor-location-header .elementor-widget-text-editor p,
body.home .elementor-widget-button .elementor-button,
body.home .elementor-widget-text-editor,
body.home .elementor-widget-text-editor p,
body.home .elementor-widget-theme-post-content,
body.home .elementor-widget-theme-post-content p,
body.home .elementor-post__excerpt,
body.home .elementor-post__read-more,
body.home .restyling-new-general p,
body.home .restyling-new-general li,
body.home .restyling-new-general .elementor-widget-text-editor,
body.home .restyling-new-general .elementor-widget-theme-post-content,
body.front-page .elementor-location-header .elementor-button,
body.front-page .elementor-location-header .elementor-widget-text-editor,
body.front-page .elementor-location-header .elementor-widget-text-editor p,
body.front-page .elementor-widget-button .elementor-button,
body.front-page .elementor-widget-text-editor,
body.front-page .elementor-widget-text-editor p,
body.front-page .elementor-widget-theme-post-content,
body.front-page .elementor-widget-theme-post-content p,
body.front-page .elementor-post__excerpt,
body.front-page .elementor-post__read-more,
body.front-page .restyling-new-general p,
body.front-page .restyling-new-general li,
body.front-page .restyling-new-general .elementor-widget-text-editor,
body.front-page .restyling-new-general .elementor-widget-theme-post-content {
  font-family: "Roboto", sans-serif !important;
}

/* Menú / Cabecera: tipografía Poppins en todas las páginas (override Kit / tema). */
header .elementor-nav-menu a,
header .elementor-nav-menu .elementor-item,
header .elementor-nav-menu--dropdown a,
header nav a,
header nav li,
header .elementor-button,
header .elementor-button .elementor-button-text,
header .elementor-button .elementor-button-content-wrapper,
header a.elementor-button,
header a.elementor-button span,
.elementor-location-header,
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-nav-menu .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header nav a,
.elementor-location-header nav li,
.elementor-location-header .elementor-button,
.elementor-location-header .elementor-button .elementor-button-text,
.elementor-location-header .elementor-button .elementor-button-content-wrapper,
.elementor-location-header a.elementor-button,
.elementor-location-header a.elementor-button span,
body.home .elementor-location-header .elementor-nav-menu a,
body.home .elementor-location-header .elementor-nav-menu .elementor-item,
body.home .elementor-location-header .elementor-nav-menu--dropdown a,
body.home .elementor-location-header .elementor-button,
body.home .elementor-location-header .elementor-button .elementor-button-text,
body.home .elementor-location-header a.elementor-button span,
body.front-page .elementor-location-header .elementor-nav-menu a,
body.front-page .elementor-location-header .elementor-nav-menu .elementor-item,
body.front-page .elementor-location-header .elementor-nav-menu--dropdown a,
body.front-page .elementor-location-header .elementor-button,
body.front-page .elementor-location-header .elementor-button .elementor-button-text,
body.front-page .elementor-location-header a.elementor-button span {
  font-family: "Poppins", sans-serif !important;
}

body.home .elementor-widget-heading .elementor-heading-title,
body.home .elementor-post__title,
body.home .elementor-post__title a,
body.home .restyling-new-general h1,
body.home .restyling-new-general h2,
body.home .restyling-new-general h3,
body.home .restyling-new-general h4,
body.home .restyling-new-general h5,
body.home .restyling-new-general h6,
body.home .restyling-new-general .elementor-widget-heading .elementor-heading-title,
body.front-page .elementor-widget-heading .elementor-heading-title,
body.front-page .elementor-post__title,
body.front-page .elementor-post__title a,
body.front-page .restyling-new-general h1,
body.front-page .restyling-new-general h2,
body.front-page .restyling-new-general h3,
body.front-page .restyling-new-general h4,
body.front-page .restyling-new-general h5,
body.front-page .restyling-new-general h6,
body.front-page .restyling-new-general .elementor-widget-heading .elementor-heading-title {
  font-family: "Poppins", sans-serif !important;
}

/* Override final (debe quedar al final del archivo)
 * En category-persona, el texto de la 2a sección va en blanco.
 */
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-theme-post-content p,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-theme-post-content li,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-theme-post-content a,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-theme-post-content strong,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-theme-post-content em,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-text-editor p,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-text-editor li,
body.single-post
  .elementor-location-single.restyling-new-general:is(.category-persona, .category-person)
  > section.elementor-top-section:nth-of-type(2) .elementor-widget-text-editor a {
  color: #ffffff !important;
}

.form-servicios .elementor-field-subgroup {
  display: block;
  font-size: 12px !important;
}

.form-servicios .elementor-field-subgroup a {
  color: #002D37 !important;
}

/* Read more wrapper: tipografía Roboto (override Kit / tema) */
body .elementor-post__read-more-wrapper a,
body .elementor-post__read-more-wrapper .elementor-post__read-more,
body .restyling-new-general .elementor-post__read-more-wrapper a,
body .restyling-new-general .elementor-post__read-more-wrapper .elementor-post__read-more,
body.home .elementor-post__read-more-wrapper a,
body.front-page .elementor-post__read-more-wrapper a {
  font-family: "Roboto", sans-serif !important;
}

/* Tarjeta de post: color del título (h3 a) */
body .elementor-post__card h3 a,
body .restyling-new-general .elementor-post__card h3 a,
body.home .elementor-post__card h3 a,
body.front-page .elementor-post__card h3 a {
  color: #002D37 !important;
}

/* Single post typography overrides */
body.single-post .restyling-new-general a{
  color: #FD6719 !important;
  font-family: "Roboto", sans-serif !important;
}

body.single-post .restyling-new-general h1,
body.single-post .restyling-new-general h1.elementor-heading-title,
body.single-post .restyling-new-general h1 *,
body.single-post .restyling-new-general h1.elementor-heading-title * {
  color: #FD6719;
  font-family: "Poppins", sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
}

body.single-post .restyling-new-general h2,
body.single-post .restyling-new-general h2.elementor-heading-title,
body.single-post .restyling-new-general h2 *,
body.single-post .restyling-new-general h2.elementor-heading-title * {
  color: #FD6719;
  font-family: "Poppins", sans-serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
}

body.single-post .restyling-new-general h3,
body.single-post .restyling-new-general h3.elementor-heading-title,
body.single-post .restyling-new-general h3 *,
body.single-post .restyling-new-general h3.elementor-heading-title * {
  color: #FD6719;
  font-family: "Poppins", sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
}

body.single-post .restyling-new-general h4,
body.single-post .restyling-new-general h4.elementor-heading-title,
body.single-post .restyling-new-general h4 *,
body.single-post .restyling-new-general h4.elementor-heading-title * {
  color: #005964 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

body.single-post .restyling-new-general h5,
body.single-post .restyling-new-general h5.elementor-heading-title,
body.single-post .restyling-new-general h5 *,
body.single-post .restyling-new-general h5.elementor-heading-title * {
  color: #A4C9CB !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
}

body.single-post .restyling-new-general h6,
body.single-post .restyling-new-general h6.elementor-heading-title,
body.single-post .restyling-new-general h6 *,
body.single-post .restyling-new-general h6.elementor-heading-title * {
  color: #002D37 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

body.single-post .restyling-new-general .elementor-post__excerpt p {
  color: #002D37 !important;
}

