html, body {
  background-color: #f6f1e8 !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  color: #1b2a4a;
}
.elementor-location-single,
.elementor-location-archive,
.elementor-location-single .elementor,
[data-elementor-type="wp-page"],
[data-elementor-type="wp-post"] {
  background-color: #f6f1e8 !important;
}
.elementor-location-single .e-con,
.elementor-location-single .elementor-section,
.elementor-location-single .elementor-element:not(.elementor-widget-button):not(.elementor-widget-form):not(.elementor-widget-video),
.elementor-location-archive .e-con,
.elementor-location-archive .elementor-section,
[data-elementor-type="wp-page"] .e-con,
[data-elementor-type="wp-page"] .elementor-section,
[data-elementor-type="wp-post"] .e-con,
[data-elementor-type="wp-post"] .elementor-section {
  background-color: #f6f1e8 !important;
}
.has-white-background-color {
  background-color: #f6f1e8 !important;
}
.banner-prueba {
  background: #7a1f1f;
  color: #fff;
  text-align: center;
  font: 14px/1.4 "Segoe UI", sans-serif;
  padding: 8px 12px;
  position: relative;
  z-index: 100000;
}
.banner-prueba a { color: #ffe08a; }

/* Menú crema (mismo que la home en borrador) en lugar del header negro/amarillo de WordPress */
.elementor-location-header,
header[data-elementor-type="header"] {
  display: none !important;
}
header.nav,
header.cream-topbar {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 100001 !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
  width: 100% !important;
  min-height: 72px;
  padding: 10px 16px;
  background: #f6f1e8 !important;
  border-bottom: 1px solid #eadfcb;
  box-sizing: border-box;
}
header.nav .cream-topbar-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 1 auto;
  min-width: 0;
}
header.nav .logo {
  display: block;
  flex: 0 0 auto;
  line-height: 0;
}
header.nav .logo img,
header.nav img {
  display: block !important;
  max-height: 72px !important;
  width: auto !important;
  max-width: min(100%, 320px) !important;
  height: auto !important;
  background: #111 !important;
  border-radius: 6px;
  padding: 8px 14px;
  opacity: 1 !important;
  filter: none !important;
}
header.nav nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px 16px !important;
  flex: 1 1 420px;
  font-family: "Segoe UI", sans-serif;
  font-size: 16px;
}
header.nav nav > a {
  color: #1b2a4a !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px;
  white-space: nowrap;
  padding: 4px 2px;
}
header.nav nav > a[aria-current="page"] {
  border-bottom: 3px solid #e8b84a;
  padding-bottom: 2px;
}
header.nav .lang {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  margin-left: 6px;
  padding-left: 12px;
  border-left: 1px solid #eadfcb;
}
header.nav .lang a {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #eadfcb;
  color: #1b2a4a !important;
}
header.nav .lang a[aria-current="page"] {
  background: #1b2a4a;
  color: #f6f1e8 !important;
  border-color: #1b2a4a;
}
.nav-toggle {
  display: none;
  border: 1px solid #1b2a4a;
  background: #fff;
  color: #1b2a4a;
  font: 700 14px/1 "Segoe UI", sans-serif;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
}
@media (max-width: 960px) {
  header.nav,
  header.cream-topbar {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }
  header.nav .cream-topbar-bar {
    width: 100%;
  }
  .nav-toggle { display: none !important; }
  header.nav nav {
    display: flex !important;
    width: 100%;
    flex: 1 1 100%;
    flex-direction: row;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px 14px !important;
    padding-top: 4px;
  }
  header.nav nav > a {
    white-space: nowrap;
    padding: 4px 0;
    border-bottom: 0;
  }
  header.nav nav > a[aria-current="page"] {
    border-bottom: 3px solid #e8b84a;
    background: transparent;
    padding-bottom: 2px;
  }
  header.nav .lang {
    margin: 0;
    padding-left: 10px;
    border-left: 1px solid #eadfcb;
  }
  header.nav .logo img,
  header.nav img {
    max-height: 52px !important;
    max-width: min(88vw, 280px) !important;
    padding: 6px 10px;
  }
}
.nav-borrador {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  background: #f6f1e8;
  border-bottom: 1px solid #eadfcb;
  flex-wrap: nowrap;
  font-family: "Segoe UI", sans-serif;
  position: relative;
  z-index: 99999;
}
.nav-borrador img {
  display: block;
  max-height: 96px;
  width: auto;
  background: #111;
  border-radius: 6px;
  padding: 8px 14px;
}
.nav-borrador nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 18px;
  font-size: 17px;
}
.nav-borrador a {
  color: #1b2a4a;
  text-decoration: none;
  font-weight: 600;
}
.nav-borrador nav > a {
  letter-spacing: 0.6px;
  color: #1b2a4a;
  font-weight: 600;
}
.nav-borrador nav > a[aria-current="page"] {
  border-bottom: 3px solid #e8b84a;
  padding-bottom: 2px;
}
.nav-borrador .lang {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  margin-left: 8px;
  padding-left: 12px;
  border-left: 1px solid #eadfcb;
}
.nav-borrador .lang a {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #eadfcb;
  color: #1b2a4a;
}
.nav-borrador .lang a[aria-current="page"] {
  background: #1b2a4a;
  color: #f6f1e8;
  border-color: #1b2a4a;
}
@media (max-width: 860px) {
  .nav-borrador {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 16px;
  }
  .nav-borrador img { max-width: min(100%, 300px); }
}

/* Fotos y vídeos: WP Rocket deja placeholders vacíos en el borrador local */
img[data-lazy-src],
img[data-src] {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
[data-wpr-lazyrender] {
  content-visibility: visible !important;
}
.elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 220px;
  background: #111;
}
.elementor-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.wp-block-image img,
.elementor-widget-theme-post-content img {
  max-width: 100%;
  height: auto;
}
.wp-block-image {
  margin: 16px 0;
}
.wp-block-image.alignleft,
.wp-block-image.alignright {
  max-width: min(100%, 480px);
}
.wp-block-image img.alignnone,
.wp-block-image img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.elementor-post__thumbnail,
.elementor-post__thumbnail img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Elementor: textos de lectura en azul marino; dorado solo en acentos sobre oscuro */
html body .elementor .elementor-heading-title,
html body .elementor .elementor-widget-heading .elementor-heading-title,
html body .elementor h1,
html body .elementor h2,
html body .elementor h3,
html body .elementor h4,
html body .elementor h5,
html body .elementor-testimonial__name,
html body .elementor-testimonial__cite,
html body .elementor-testimonial__title {
  color: #1b2a4a !important;
}
.elementor-testimonial__title {
  font-weight: 600;
}
html body .elementor-widget-form .elementor-heading-title,
html body .elementor-widget-form h2,
html body .elementor-widget-form h3 {
  color: #e8b84a !important;
}
html body .elementor .contacto-form,
html body .elementor .contacto-form h1,
html body .elementor .contacto-form h2,
html body .elementor .contacto-form h3,
html body .elementor .contacto-form p,
html body .elementor .contacto-form label,
html body .elementor .contacto-form span,
html body .contacto-form h2 {
  color: #f7f3ea !important;
  -webkit-text-fill-color: #f7f3ea !important;
}
html body .elementor .contacto-form a {
  color: #e8b84a !important;
  -webkit-text-fill-color: #e8b84a !important;
}

/* Pie de página global (plantilla Footer 15709): marino, sin formulario */
html body .elementor-location-footer,
html body .elementor-location-footer .elementor-section,
html body .elementor-location-footer .elementor-column,
html body .elementor-location-footer .elementor-widget-wrap,
html body .elementor-location-footer .elementor-element {
  background-color: #1b2a4a !important;
  background-image: none !important;
}
html body .elementor-location-footer .elementor-heading-title,
html body .elementor-location-footer h2 {
  color: #e8b84a !important;
  letter-spacing: 0.08em;
}
html body .elementor-location-footer,
html body .elementor-location-footer p,
html body .elementor-location-footer span,
html body .elementor-location-footer .elementor-post-date,
html body .elementor-location-footer .elementor-post__title,
html body .elementor-location-footer .elementor-nav-menu a {
  color: #f7f3ea !important;
}
html body .elementor-location-footer a {
  color: #f7f3ea !important;
}
html body .elementor-location-footer a:hover {
  color: #e8b84a !important;
}
html body .elementor-location-footer .elementor-nav-menu a {
  line-height: 1.9;
  padding: 5px 0;
  display: inline-block;
}
html body .elementor-location-footer .elementor-post__title {
  margin: 0 0 4px;
  line-height: 1.35;
}
html body .elementor-location-footer .elementor-post {
  margin-bottom: 12px;
}
.footer-contacto-cta {
  color: #f7f3ea;
  font-family: "Segoe UI", sans-serif;
}
.footer-contacto-cta .footer-mail-label {
  margin: 0 0 6px;
  opacity: 0.85;
}
.footer-contacto-cta .footer-mail {
  color: #e8b84a !important;
  font-weight: 700;
  text-decoration: none;
}
.footer-btn-gold {
  display: inline-block;
  margin-top: 16px;
  background: #e8b84a;
  color: #1b2a4a !important;
  font-weight: 800;
  font-size: 0.95rem;
  padding: 12px 22px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 6px 0 #c4921a;
}
.footer-legal-links {
  margin-top: 18px;
  font-size: 0.85rem;
  line-height: 1.6;
}

.contacto-form {
  background: linear-gradient(160deg, #1b2a4a 0%, #24365f 55%, #152038 100%) !important;
  color: #f7f3ea !important;
  border-radius: 28px;
  padding: 32px 28px 28px;
  box-shadow: 0 24px 50px rgba(18, 21, 28, 0.28);
  position: relative;
  overflow: hidden;
  max-width: 640px;
}
.contacto-form::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -50px;
  top: -60px;
  background: radial-gradient(circle, #e8b84a 0%, transparent 70%);
  opacity: 0.35;
  pointer-events: none;
}
.contacto-form .form-badge {
  display: inline-block;
  background: #e8b84a;
  color: #12151c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
  position: relative;
}
.contacto-form h2 {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 8px;
  position: relative;
  color: #f7f3ea !important;
}
.contacto-form .form-intro {
  opacity: 0.88;
  margin: 0 0 18px;
  position: relative;
}
.contacto-form .row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.contacto-form .row > label { flex: 1 1 150px; }
.contacto-form label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 12px;
  position: relative;
  color: #f7f3ea !important;
}
.contacto-form input,
.contacto-form select,
.contacto-form textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  border: 0;
  border-radius: 12px;
  padding: 12px 14px;
  font: 1rem "Segoe UI", sans-serif;
  background: #fff;
  color: #12151c;
}
.contacto-form textarea { min-height: 88px; resize: vertical; }
.contacto-form .check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 500;
  font-size: 0.85rem;
}
.contacto-form .check input { width: auto; margin-top: 3px; }
.contacto-form a { color: #e8b84a !important; }
.contacto-form .legal-note {
  font-size: 0.72rem;
  line-height: 1.45;
  opacity: 0.9;
  margin: 0 0 12px;
  font-weight: 400;
}
.contacto-form button[type="submit"] {
  width: 100%;
  margin-top: 6px;
  border: 0;
  border-radius: 14px;
  padding: 16px 18px;
  font: 800 1.02rem "Segoe UI", sans-serif;
  background: #e8b84a;
  color: #12151c;
  cursor: pointer;
  box-shadow: 0 10px 0 #c4921a;
  position: relative;
}
.contacto-form .form-ok {
  margin-top: 14px;
  background: rgba(232, 184, 74, 0.18);
  border: 1px solid #e8b84a;
  padding: 12px;
  border-radius: 10px;
}

/* Tarjeta de reseña: sombra paralela tenue */
.elementor-testimonial__content {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(27, 42, 74, 0.10), 0 2px 6px rgba(27, 42, 74, 0.06) !important;
  max-height: none !important;
  overflow: visible !important;
}
html body .elementor-testimonial__text,
html body .elementor-testimonial__content,
html body .elementor-testimonial__content p,
html body .elementor-tab-content,
html body .elementor-tab-content p {
  color: #1b2a4a !important;
  -webkit-text-fill-color: #1b2a4a !important;
  opacity: 1 !important;
}
html body .elementor-testimonial__text {
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
  overflow: visible !important;
  max-height: none !important;
}
.elementor-widget-testimonial-carousel .swiper {
  overflow: hidden !important;
}
.elementor-widget-testimonial-carousel .swiper-slide,
.elementor-widget-testimonial-carousel .elementor-testimonial {
  height: auto !important;
}
.elementor-testimonial__footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;
}
.elementor-testimonial__name,
.elementor-testimonial__title {
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-align: center !important;
}

/* El HTML clonado deja el modal GDPR con attribute open; al scroll WP Rocket lo reactiva */
#moove_gdpr_cookie_modal,
dialog#moove_gdpr_cookie_modal {
  display: none !important;
}
html.borrador-cookies-off #moove_gdpr_cookie_info_bar,
html.borrador-cookies-off .moove-gdpr-info-bar-container {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 860px) {
  html body .elementor-testimonial__text {
    font-size: 1.08rem !important;
    line-height: 1.6 !important;
  }
  .elementor-testimonial__content {
    padding: 18px 16px !important;
    text-align: left !important;
  }
  .elementor-widget-testimonial-carousel .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-widget-testimonial-carousel .elementor-swiper-button {
    display: flex !important;
  }
}

/* Testimonios: nombres del acordeón, iconos +/− y cajas de categoría */
html body .elementor-accordion-title,
html body .elementor-tab-title,
html body .elementor-tab-title a {
  color: #1b2a4a !important;
  -webkit-text-fill-color: #1b2a4a !important;
  font-weight: 600 !important;
  transition: none !important;
  transform: none !important;
}
html body .elementor-tab-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}
html body .elementor-accordion-title {
  flex: 1 1 auto;
}
html body .elementor-accordion-title .acc-place {
  font-weight: 400 !important;
  color: #1b2a4a !important;
  opacity: 0.72;
}
html body .elementor-tab-content {
  transition: none !important;
}
html body .elementor-accordion-icon {
  width: 1.4rem !important;
  min-width: 1.4rem !important;
  flex: 0 0 1.4rem !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  color: #1b2a4a !important;
}
html body .elementor-accordion-icon-closed,
html body .elementor-accordion-icon-opened {
  width: 1.4rem !important;
  min-width: 1.4rem !important;
  text-align: center !important;
}
html body .elementor-accordion-icon i,
html body .elementor-accordion-icon i::before {
  color: #1b2a4a !important;
}
html body .elementor-accordion-icon-closed i::before {
  content: "+" !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 1.15rem !important;
}
html body .elementor-accordion-icon-opened i::before {
  content: "−" !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 1.15rem !important;
}
html body .elementor .elementor-element.elementor-widget-image-box,
html body .elementor .elementor-element.elementor-widget-image-box > .elementor-widget-container,
html body .elementor .elementor-widget-image-box .elementor-image-box-wrapper {
  background: #e8b84a !important;
  border: 0 none !important;
  border-width: 0 !important;
  border-color: #e8b84a !important;
  outline: none !important;
  box-shadow: none !important;
}
html body .elementor-widget-image-box .elementor-image-box-wrapper {
  border-radius: 6px !important;
  padding: 6px 10px !important;
  align-items: center !important;
  gap: 8px !important;
}
html body .elementor-widget-image-box .elementor-image-box-img,
html body .elementor-widget-image-box .elementor-image-box-img img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
}
html body .elementor-widget-image-box .elementor-image-box-title {
  color: #1b2a4a !important;
  font-weight: 700 !important;
  font-size: 1.08rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
html body .elementor-align-justify.elementor-widget-button,
html body .elementor-align-justify.elementor-widget-button > .elementor-widget-container {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  background: transparent !important;
}
html body .elementor-align-justify .elementor-button {
  background: transparent !important;
  color: #1b2a4a !important;
  border: 1px solid #1b2a4a !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
html body .elementor-align-justify .elementor-button .elementor-button-text {
  color: #1b2a4a !important;
}
html body .elementor-align-justify .elementor-button:hover,
html body .elementor-align-justify .elementor-button:focus {
  background: #e8b84a !important;
  border-color: #1b2a4a !important;
  color: #1b2a4a !important;
}
html body .elementor-align-justify .elementor-button:hover .elementor-button-text,
html body .elementor-align-justify .elementor-button:focus .elementor-button-text {
  color: #1b2a4a !important;
}

/* Testimonios: vídeo e índice a la misma altura, sin hueco hasta el listado */
.elementor-15953 .elementor-element-8058997 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.elementor-15953 .elementor-element-8058997 > .elementor-container {
  align-items: flex-start !important;
}
.elementor-15953 .elementor-element-2310730 > .elementor-widget-wrap,
.elementor-15953 .elementor-element-b9cedda > .elementor-widget-wrap {
  align-items: flex-start !important;
  align-content: flex-start !important;
}
.elementor-15953 .elementor-element-2310730 .elementor-element {
  margin-bottom: 8px !important;
}
.elementor-15953 .elementor-element-c500ca4 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-15953 .elementor-element-b9cedda {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.elementor-15953 > .elementor-section,
.elementor-15953 > .elementor-section > .elementor-container,
.elementor-15953 > .elementor-section .elementor-column,
.elementor-15953 > .elementor-section .elementor-widget-wrap {
  overflow: visible !important;
}
.elementor-15953 .elementor-accordion,
.elementor-15953 .elementor-accordion-item,
.elementor-15953 .elementor-tab-content {
  overflow: hidden !important;
}
.elementor-15953 .elementor-element-9044bb1 {
  position: relative;
  z-index: 3;
}

.elementor-accordion-item {
  clear: both;
  overflow: hidden;
}
.elementor-tab-content::after {
  content: "";
  display: table;
  clear: both;
}
.comentario-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
}
.comentario-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.comentario-row > img {
  flex: 0 0 128px;
  width: 128px !important;
  max-width: 128px !important;
  height: auto !important;
  float: none !important;
  margin: 0 !important;
  order: 2;
}
.elementor-15953 .elementor-tab-content img,
.elementor-15953 .elementor-tab-content .alignleft,
.elementor-15953 .elementor-tab-content .wp-caption {
  position: static !important;
  max-width: 128px !important;
  height: auto !important;
}
.elementor-tab-content img.alignleft,
.elementor-tab-content .alignleft,
.elementor-tab-content img[style*="float: left"] {
  float: none !important;
  margin: 0 !important;
}
.comentario-lead {
  display: block !important;
  margin: 8px 0 6px;
  font-weight: 600;
  line-height: 1.4;
}
.elementor-tab-content .alignright,
.elementor-tab-content img[style*="float: right"] {
  float: none !important;
  margin: 0 !important;
}

html body .elementor *:not(i):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.eicon):not([class*="eicon"]) {
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
}

html body .elementor-section:has(.gform_wrapper),
html body .e-con:has(.gform_wrapper) {
  border: 0 !important;
  box-shadow: none !important;
}
html body .elementor-element-5ffac67,
html body .elementor-inner-section:has(.gform_wrapper),
html body .elementor-inner-section:has(.gform_wrapper) > .elementor-container,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-column,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-widget-wrap,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-element-populated,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-widget,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-widget-container,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-shortcode {
  background: #1b2a4a !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body .elementor-element-5ffac67,
html body .elementor-inner-section:has(.gform_wrapper) {
  background: linear-gradient(160deg, #1b2a4a 0%, #24365f 55%, #152038 100%) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 50px rgba(18, 21, 28, 0.28) !important;
  overflow: hidden !important;
  padding: 0 !important;
}
html body .elementor-inner-section:has(.gform_wrapper) .elementor-widget-heading,
html body .elementor-inner-section:has(.gform_wrapper) .elementor-heading-title {
  background: transparent !important;
  color: #e8b84a !important;
  padding: 18px 22px 0 !important;
  margin: 0 !important;
}
html body .gform_wrapper,
html body .gform_wrapper .gform-body,
html body .elementor-widget-form .elementor-widget-container,
html body .elementor-form {
  background: linear-gradient(160deg, #1b2a4a 0%, #24365f 55%, #152038 100%) !important;
  color: #f7f3ea !important;
  border-radius: 28px !important;
  padding: 28px 22px 22px !important;
  box-shadow: 0 24px 50px rgba(18, 21, 28, 0.28) !important;
  border: 0 !important;
}
html body .elementor-inner-section:has(.gform_wrapper) .gform_wrapper,
html body .elementor-inner-section:has(.gform_wrapper) .gform_wrapper .gform-body {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 8px 18px 22px !important;
}
html body .gform_wrapper .gform_heading,
html body .gform_wrapper .gform_title,
html body .gform_wrapper .gform_description,
html body .gform_wrapper label,
html body .gform_wrapper .gfield_label,
html body .gform_wrapper .gfield_description,
html body .gform_wrapper legend,
html body .elementor-form label,
html body .elementor-field-label {
  color: #f7f3ea !important;
  background: transparent !important;
}
html body .gform_wrapper .gform_title {
  color: #e8b84a !important;
  font-weight: 800 !important;
}
html body .elementor-inner-section:has(.gform_wrapper) {
  overflow: visible !important;
}
html body .gform_wrapper label,
html body .gform_wrapper .gfield_label,
html body .gform_wrapper legend,
html body .elementor-form label,
html body .elementor-field-label {
  font: 600 0.95rem/1.45 "Segoe UI", Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
  overflow: visible !important;
  white-space: normal !important;
}
html body .gform_wrapper .gfield_description,
html body .gform_wrapper .gfield_checkbox label,
html body .gform_wrapper .gfield_consent_label,
html body .gform_wrapper .gfield--type-consent label {
  font: 400 0.85rem/1.5 "Segoe UI", Arial, Helvetica, sans-serif !important;
  color: #f7f3ea !important;
  overflow: visible !important;
}
html body .gform_wrapper input[type="text"],
html body .gform_wrapper input[type="email"],
html body .gform_wrapper input[type="tel"],
html body .gform_wrapper input[type="number"],
html body .gform_wrapper select,
html body .gform_wrapper textarea,
html body .elementor-form input,
html body .elementor-form select,
html body .elementor-form textarea {
  background: #fff !important;
  color: #12151c !important;
  border: 0 !important;
  border-radius: 12px !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  font: 16px/1.4 "Segoe UI", Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  overflow: visible !important;
  -webkit-text-fill-color: #12151c !important;
}
html body .gform_wrapper input[type="email"] {
  padding-right: 40px !important;
}
html body .gform_wrapper textarea,
html body .elementor-form textarea {
  min-height: 120px !important;
  resize: vertical !important;
}
html body .gform_wrapper input::placeholder,
html body .gform_wrapper textarea::placeholder,
html body .elementor-form input::placeholder,
html body .elementor-form textarea::placeholder {
  color: #5c6570 !important;
  -webkit-text-fill-color: #5c6570 !important;
  opacity: 1 !important;
  font: 16px/1.4 "Segoe UI", Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
}
html body .gform_wrapper select {
  min-height: 48px !important;
  appearance: auto !important;
}
html body .gform_wrapper input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  -webkit-text-fill-color: initial !important;
}
html body .gform_wrapper .gform_button,
html body .gform_wrapper input[type="submit"],
html body .elementor-form .elementor-button {
  background: #e8b84a !important;
  color: #12151c !important;
  border: 0 !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 0 #c4921a !important;
}
html body .gform_wrapper a {
  color: #e8b84a !important;
}
.site-footer-draft {
  padding: 40px 6vw 28px;
  background: #1b2a4a;
  color: #f7f3ea;
  font-family: "Segoe UI", sans-serif;
  font-size: 0.9rem;
}
.site-footer-draft a { color: #f7f3ea; }
.site-footer-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 40px;
  max-width: 1180px;
  margin: 0 auto 28px;
}
.site-footer-grid > div { flex: 1 1 220px; }
.site-footer-draft h2 {
  color: #e8b84a;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.site-footer-draft ul { list-style: none; margin: 0; padding: 0; }
.site-footer-draft li { margin-bottom: 8px; line-height: 1.7; }
.site-footer-draft .footer-mail { color: #e8b84a; font-weight: 700; }
.site-footer-draft .footer-copy {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.12);
  opacity: 0.85;
  text-align: center;
}

.cream-hide-toc #ez-toc-container,
.cream-hide-toc .ez-toc-container,
.cream-hide-toc .ez-toc,
.cream-hide-toc .ez-toc-widget-container,
.cream-hide-toc .ez-toc-widget-sticky,
.cream-hide-toc .cream-toc,
.page-opiniones-de-los-alumnos #ez-toc-container,
.page-opiniones-de-los-alumnos .ez-toc-container,
.page-opiniones-de-los-alumnos .ez-toc,
.page-opiniones-de-los-alumnos .cream-toc,
.page-videos #ez-toc-container,
.page-videos .ez-toc-container,
.page-videos .ez-toc,
.page-videos .cream-toc,
.page-blog #ez-toc-container,
.page-blog .ez-toc-container,
.page-blog .ez-toc,
.page-blog .cream-toc,
.page-biografia #ez-toc-container,
.page-biografia .ez-toc,
.page-biografia .cream-toc {
  display: none !important;
}

#ez-toc-container,
.ez-toc-container,
.cream-toc {
  background: #f3ead8 !important;
  border: 1px solid #eadfcb !important;
  border-radius: 12px !important;
  color: #1b2a4a !important;
  padding: 16px 20px 12px !important;
  margin: 16px auto 28px !important;
  max-width: 720px;
  width: calc(100% - 32px);
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  box-sizing: border-box;
}
.cream-featured {
  max-width: 920px;
  width: calc(100% - 32px);
  margin: 18px auto 8px;
  text-align: center;
}
.cream-featured img,
.cream-featured .wp-post-image,
.elementor-widget-theme-post-featured-image img,
.elementor-post__thumbnail img,
img.wp-post-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  border-radius: 12px;
}
.elementor-widget-theme-post-featured-image,
.elementor-post__thumbnail {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.cream-toc .ez-toc-title,
#ez-toc-container .ez-toc-title {
  color: #1b2a4a !important;
  font-weight: 700 !important;
  font-size: 1.02rem !important;
  margin: 0 0 10px !important;
}
.cream-toc ol,
#ez-toc-container ol,
.cream-toc .ez-toc-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: none;
}
.cream-toc li,
#ez-toc-container li {
  margin: 0 0 6px !important;
  line-height: 1.45;
  font-size: 0.95rem;
}
.cream-toc a,
#ez-toc-container a {
  color: #1b2a4a !important;
  text-decoration: none !important;
}
.cream-toc a:hover,
#ez-toc-container a:hover {
  text-decoration: underline !important;
}
.elementor-widget-post-info,
.elementor-post-info__item--type-terms,
.elementor-post-info__terms-list {
  display: none !important;
}

.cream-archive {
  max-width: 920px;
  width: calc(100% - 32px);
  margin: 24px auto 56px;
  color: #1b2a4a;
}
.cream-archive .page-header {
  text-align: center;
  margin-bottom: 28px;
}
.cream-archive .entry-title {
  color: #1b2a4a !important;
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.25;
  margin: 0 0 10px;
}
.cream-archive .archive-description {
  max-width: 40rem;
  margin: 0 auto;
  opacity: 0.88;
}
.cream-archive-card {
  background: #fff;
  border: 1px solid #eadfcb;
  border-radius: 16px;
  padding: 20px 22px 16px;
  margin: 0 0 18px;
}
.cream-archive-card .entry-title {
  font-size: 1.25rem;
}
.cream-archive-card a {
  color: #1b2a4a !important;
  text-decoration: none;
}
.cream-archive-card a:hover {
  color: #c9a227 !important;
  text-decoration: underline;
}
.cream-archive-thumb {
  display: block;
  margin: 8px 0 12px;
}
.cream-archive-thumb img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.cream-archive-excerpt {
  font-size: 0.98rem;
  line-height: 1.55;
}
.cream-archive-excerpt .cream-toc,
.cream-archive-excerpt #ez-toc-container,
.cream-archive .gform_wrapper {
  display: none !important;
}
.cream-archive-more {
  margin: 10px 0 0;
  font-weight: 700;
}
.cream-archive .navigation.pagination {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.cream-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 32px;
}

.cream-article {
  max-width: 800px;
  width: calc(100% - 32px);
  margin: 12px auto 56px;
  color: #1b2a4a;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
}
.cream-article-body {
  display: block;
}
.cream-article h1,
.cream-article h2,
.cream-article h3,
.cream-article h4,
.cream-article h5,
.cream-article h6 {
  color: #1b2a4a !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight: 750;
  line-height: 1.25;
  margin: 1.2em 0 0.5em;
}
.cream-article p,
.cream-article li,
.cream-article td,
.cream-article th,
.cream-article span,
.cream-article div,
.cream-article .elementor-widget-container,
.cream-article .elementor-widget-text-editor {
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  color: #1b2a4a;
}
.cream-article a {
  color: #1b2a4a !important;
}
.cream-article a:hover {
  color: #c9a227 !important;
}
.cream-article img.alignleft,
.cream-article img.alignright,
.cream-article img.alignnone,
.cream-article img.aligncenter,
.cream-article .wp-caption {
  float: none;
  display: block;
  margin: 16px auto;
  max-width: 100%;
  height: auto;
}
.cream-featured img[src=""],
.cream-article img:not([src]) {
  display: none;
}

.elementor-posts-container .elementor-post__title,
.elementor-post__title,
.elementor-post__title a,
.elementor-widget-posts .elementor-heading-title,
.elementor-widget-theme-post-title .elementor-heading-title {
  color: #1b2a4a !important;
  -webkit-text-fill-color: #1b2a4a !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight: 750 !important;
  font-size: 1.15rem !important;
  line-height: 1.3 !important;
}
.elementor-post__excerpt,
.elementor-post__excerpt p {
  color: #1b2a4a !important;
}
