
.clmcs-landing-intro{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  align-items:center;
  margin:0 0 32px;
  padding:36px;
  border:1px solid var(--clmcs-border);
  border-radius:var(--clmcs-radius);
  background:var(--clmcs-surface-alt);
  overflow:hidden;
}
.clmcs-landing-intro--with-image{
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
}
.clmcs-landing-intro__copy{
  min-width:0;
}
.clmcs-landing-intro h1{
  margin:0 0 20px!important;
  padding:0!important;
  color:var(--clmcs-ink)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:clamp(36px,4.4vw,62px)!important;
  font-weight:600!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
}
.clmcs-landing-intro__text{
  color:var(--clmcs-ink);
  font-family:"Open Sans",Arial,sans-serif;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.72;
}
.clmcs-landing-intro__text p{
  margin:0!important;
}
.clmcs-landing-intro__media{
  min-width:0;
  height:100%;
}
.clmcs-landing-intro__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:340px;
  max-height:520px;
  object-fit:cover;
  border-radius:calc(var(--clmcs-radius) * .65);
}
@media(max-width:980px){
  .clmcs-landing-intro--with-image{
    grid-template-columns:1fr;
  }
  .clmcs-landing-intro__media img{
    min-height:300px;
    max-height:440px;
  }
}
@media(max-width:767px){
  .clmcs-landing-intro{
    padding:24px;
  }
  .clmcs-landing-intro h1{
    font-size:clamp(32px,10vw,46px)!important;
  }
  .clmcs-landing-intro__media img{
    min-height:240px;
  }
}


.clmcs-wrap{
  font-family:"Open Sans",Arial,sans-serif;
  color:var(--clmcs-ink);
  font-size:var(--clmcs-body-size);
  width:100%;
}
.clmcs-wrap *, .clmcs-wrap *::before, .clmcs-wrap *::after{box-sizing:border-box}
.clmcs-wrap h2,.clmcs-wrap .clmcs-period,.clmcs-wrap .clmcs-kicker,.clmcs-wrap .clmcs-button{font-family:"Montserrat",Arial,sans-serif!important}
.clmcs-wrap h2{margin:8px 0 16px!important;padding:0!important;color:inherit!important;font-size:var(--clmcs-title-size)!important;line-height:1.08!important;font-weight:600!important}
.clmcs-kicker{display:block;margin-bottom:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.clmcs-copy{line-height:1.7}
.clmcs-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.clmcs-info__item{padding:32px;background:var(--clmcs-surface);border:1px solid var(--clmcs-border);border-radius:var(--clmcs-radius)}
.clmcs-info__item--accent{background:var(--clmcs-accent);color:var(--clmcs-accent-text);border-color:var(--clmcs-accent)}
.clmcs-challenge{display:grid;grid-template-columns:.88fr 1.12fr;gap:20px}
.clmcs-clue,.clmcs-question{padding:34px;border-radius:var(--clmcs-radius);overflow:hidden}
.clmcs-clue{display:flex;min-height:520px;flex-direction:column;justify-content:space-between;background:var(--clmcs-accent);color:var(--clmcs-accent-text)}
.clmcs-question{background:var(--clmcs-surface-alt);border:1px solid var(--clmcs-border)}
.clmcs-period{display:inline-block;padding:7px 12px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.clmcs-location{margin:-8px 0 20px;font-family:"Montserrat",Arial,sans-serif;font-size:14px;font-weight:600}
.clmcs-clue p{line-height:1.7}
.clmcs-question__text{margin:0 0 24px;font-family:"Montserrat",Arial,sans-serif;font-size:20px;font-weight:600;line-height:1.45}
.clmcs-form{display:grid;gap:18px}
.clmcs-answers{display:grid;gap:10px;margin:0;padding:0;border:0}
.clmcs-answer{display:flex;gap:12px;align-items:center;min-height:54px;padding:13px 15px;border:1px solid var(--clmcs-border);border-radius:var(--clmcs-field-radius);background:transparent;cursor:pointer}
.clmcs-answer:hover{border-color:var(--clmcs-accent)}
.clmcs-answer input{position:absolute;opacity:0;pointer-events:none}
.clmcs-answer__mark{width:20px;height:20px;flex:0 0 20px;border:1px solid var(--clmcs-ink);border-radius:50%;position:relative}
.clmcs-answer input:checked + .clmcs-answer__mark::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--clmcs-accent)}
.clmcs-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body #page-container .clmcs-fields input,html body .clmcs-fields input{width:100%!important;min-height:54px!important;padding:12px 16px!important;border:1px solid var(--clmcs-border)!important;border-radius:var(--clmcs-field-radius)!important;background:transparent!important;color:var(--clmcs-ink)!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:16px!important;box-shadow:none!important}
.clmcs-fields input:focus{border-color:var(--clmcs-accent)!important;box-shadow:0 0 0 1px var(--clmcs-accent)!important;outline:none!important}
.clmcs-fields input::placeholder{color:var(--clmcs-muted)!important;opacity:1!important}
.clmcs-privacy-box{padding:15px 17px;border:1px solid var(--clmcs-border);border-radius:var(--clmcs-field-radius);background:var(--clmcs-surface);font-size:13px;line-height:1.5}
.clmcs-privacy-box label{display:flex;gap:10px;align-items:flex-start}
.clmcs-privacy-box input{margin-top:4px}
.clmcs-privacy-box a,.clmcs-legal a{color:inherit;text-decoration:underline}
.clmcs-feedback{min-height:20px;font-size:14px;line-height:1.4}
.clmcs-feedback.is-error{color:#a20e0e}
html body #page-container .clmcs-button,html body .clmcs-button{display:inline-flex!important;justify-content:center!important;align-items:center!important;min-height:52px!important;padding:13px 25px!important;border:0!important;border-radius:var(--clmcs-button-radius)!important;background:var(--clmcs-accent)!important;color:var(--clmcs-accent-text)!important;font-size:var(--clmcs-button-size)!important;font-weight:600!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer!important;box-shadow:none!important}
html body #page-container .clmcs-button:hover,html body .clmcs-button:hover{opacity:1!important}
html body #page-container .clmcs-wrap a.clmcs-button--light,html body .clmcs-wrap a.clmcs-button--light{background:var(--clmcs-clue-button-bg)!important;color:var(--clmcs-clue-button-text)!important;border-radius:var(--clmcs-clue-button-radius)!important;font-size:var(--clmcs-clue-button-size)!important;width:fit-content!important}
html body #page-container .clmcs-wrap a.clmcs-button--light:hover,html body .clmcs-wrap a.clmcs-button--light:hover{background:var(--clmcs-clue-button-hover-bg)!important;color:var(--clmcs-clue-button-hover-text)!important;opacity:1!important}
html body #page-container .clmcs-wrap button.clmcs-button--submit,html body .clmcs-wrap button.clmcs-button--submit{background:var(--clmcs-submit-button-bg)!important;color:var(--clmcs-submit-button-text)!important;border-radius:var(--clmcs-submit-button-radius)!important;font-size:var(--clmcs-submit-button-size)!important;width:100%!important}
html body #page-container .clmcs-wrap button.clmcs-button--submit:hover,html body .clmcs-wrap button.clmcs-button--submit:hover{background:var(--clmcs-submit-button-hover-bg)!important;color:var(--clmcs-submit-button-hover-text)!important;opacity:1!important}
.clmcs-button:disabled{opacity:.45!important;cursor:wait!important}
.clmcs-legal{margin:0;color:var(--clmcs-muted);font-size:12px;text-align:center}
.clmcs-success{padding:40px 10px;text-align:center}
.clmcs-success__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:var(--clmcs-accent);color:var(--clmcs-accent-text);font-size:26px;font-weight:700}
.clmcs-empty{padding:34px;border:1px solid var(--clmcs-border);border-radius:var(--clmcs-radius);background:var(--clmcs-surface);text-align:center}
.clmcs-wrap .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:980px){.clmcs-info,.clmcs-challenge{grid-template-columns:1fr}.clmcs-clue{min-height:390px}}
@media(max-width:767px){.clmcs-info__item,.clmcs-clue,.clmcs-question{padding:24px}.clmcs-fields{grid-template-columns:1fr}}


/* v1.5 — Introducción limpia + imagen integrada en LA PISTA */
.clmcs-landing-intro{
  display:block!important;
  margin:0 0 34px!important;
  padding:10px 2px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.clmcs-landing-intro__copy{max-width:1080px!important}
.clmcs-landing-intro h1{
  max-width:1020px!important;
  margin:0 0 20px!important;
  font-size:clamp(38px,5vw,68px)!important;
  line-height:1.04!important;
}
.clmcs-landing-intro__text{max-width:1050px!important}
.clmcs-landing-intro__media{display:none!important}

.clmcs-clue--image{
  position:relative!important;
  isolation:isolate!important;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.38) 43%,rgba(0,0,0,.76) 100%),
    var(--clmcs-clue-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
}
.clmcs-clue--image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 72%);
}
.clmcs-clue--image h2,
.clmcs-clue--image p,
.clmcs-clue--image .clmcs-kicker,
.clmcs-clue--image .clmcs-location{
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28)!important;
}
.clmcs-clue--image .clmcs-period{
  color:#fff!important;
  border-color:rgba(255,255,255,.9)!important;
  background:rgba(0,0,0,.14)!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.clmcs-clue--image .clmcs-button--light{
  box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
}
@media(max-width:767px){
  .clmcs-landing-intro{padding:2px 0 10px!important;margin-bottom:26px!important}
  .clmcs-landing-intro h1{font-size:clamp(34px,11vw,48px)!important}
  .clmcs-clue--image{background-position:center!important}
}


/* v1.5.1 — Ajustes finos para móvil */
@media(max-width:767px){
  /* Titular inicial más contenido en pantallas pequeñas */
  .clmcs-landing-intro h1{
    font-size:clamp(29px,8.6vw,40px)!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }

  /* Más aire entre el texto de la pista y el CTA */
  .clmcs-clue .clmcs-button,
  .clmcs-clue .clmcs-button--light{
    margin-top:30px!important;
  }
}


/* v1.5.2 — Corrección de desbordamiento horizontal en móvil */
.clmcs-wrap,
.clmcs-wrap *,
.clmcs-wrap *::before,
.clmcs-wrap *::after{
  box-sizing:border-box!important;
}

.clmcs-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

.clmcs-grid,
.clmcs-info,
.clmcs-clue,
.clmcs-challenge,
.clmcs-form,
.clmcs-card,
.clmcs-landing-intro{
  min-width:0!important;
  max-width:100%!important;
}

.clmcs-form input[type="text"],
.clmcs-form input[type="email"],
.clmcs-form input[type="url"],
.clmcs-form textarea,
.clmcs-form select,
.clmcs-option,
.clmcs-consent,
.cf-turnstile{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:767px){
  .clmcs-wrap{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .clmcs-grid{
    display:block!important;
    width:100%!important;
  }

  .clmcs-clue,
  .clmcs-challenge,
  .clmcs-card{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .clmcs-form{
    width:100%!important;
  }

  .clmcs-form-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }

  .clmcs-option{
    display:flex!important;
    align-items:center!important;
  }

  .clmcs-consent{
    display:flex!important;
    align-items:flex-start!important;
  }

  .clmcs-option label,
  .clmcs-consent label,
  .clmcs-consent span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Turnstile no debe ensanchar la tarjeta */
  .cf-turnstile{
    overflow:hidden!important;
  }

  .cf-turnstile iframe{
    max-width:100%!important;
  }
}


/* v1.5.3 — Fix estructural real del ancho en móvil */
@media(max-width:767px){

  html,
  body{
    overflow-x:hidden!important;
  }

  /* El shortcode nunca puede superar el ancho de su módulo Divi */
  .clmcs-wrap{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:hidden!important;
  }

  /* Eliminar cualquier grid/flex que conserve medidas de escritorio */
  .clmcs-info,
  .clmcs-challenge,
  .clmcs-fields{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .clmcs-info__item,
  .clmcs-clue,
  .clmcs-question,
  .clmcs-landing-intro,
  .clmcs-empty{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* La tarjeta del reto es la que estaba provocando el recorte */
  .clmcs-question{
    overflow:hidden!important;
  }

  .clmcs-form,
  .clmcs-answers,
  .clmcs-fields,
  .clmcs-privacy-box,
  .clmcs-captcha,
  .clmcs-feedback,
  .clmcs-legal{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Cada respuesta */
  .clmcs-answer{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .clmcs-answer > span:last-child{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  /* Campos: neutralizar estilos de Divi y Safari */
  html body #page-container .clmcs-fields input[type="text"],
  html body #page-container .clmcs-fields input[type="email"],
  html body .clmcs-fields input[type="text"],
  html body .clmcs-fields input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 12px 0!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }

  /* Privacidad */
  .clmcs-privacy-box{
    padding:16px!important;
  }

  .clmcs-privacy-box label{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    align-items:start!important;
  }

  .clmcs-privacy-box label > span{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  /* Turnstile: permitir que reduzca escala si el ancho disponible es pequeño */
  .clmcs-captcha{
    overflow:hidden!important;
  }

  .clmcs-captcha .cf-turnstile{
    width:300px!important;
    max-width:100%!important;
    transform-origin:left top!important;
  }

  /* Botón */
  html body #page-container .clmcs-wrap button.clmcs-button--submit,
  html body .clmcs-wrap button.clmcs-button--submit{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Evitar que cualquier elemento interno empuje el contenedor */
  .clmcs-question *{
    max-width:100%;
  }
}

/* Pantallas especialmente estrechas: escalar solo Turnstile */
@media(max-width:380px){
  .clmcs-captcha .cf-turnstile{
    transform:scale(.88)!important;
    margin-bottom:-8px!important;
  }
}


/* v1.5.4 — Ajuste definitivo del formulario móvil */
@media(max-width:767px){

  /* Recuperar espacio útil dentro de la tarjeta del reto.
     14px permite que Turnstile responsive disponga de mucho más ancho. */
  .clmcs-question{
    padding:20px 14px!important;
    overflow:hidden!important;
  }

  /* Las respuestas vuelven a ser GRID: el display:block anterior anulaba el gap. */
  .clmcs-answers{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .clmcs-answer{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:14px 16px!important;
    box-sizing:border-box!important;
  }

  /* Separación clara entre respuestas y campos */
  .clmcs-fields{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin-top:2px!important;
  }

  html body #page-container .clmcs-fields input[type="text"],
  html body #page-container .clmcs-fields input[type="email"],
  html body .clmcs-fields input[type="text"],
  html body .clmcs-fields input[type="email"]{
    margin:0!important;
  }

  /* Protección de datos con el mismo ancho real que el formulario */
  .clmcs-privacy-box{
    width:100%!important;
    max-width:100%!important;
    padding:16px!important;
    margin:0!important;
  }

  /* Turnstile flexible: centrado y contenido */
  .clmcs-captcha{
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .clmcs-captcha .cf-turnstile{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
    transform-origin:center top!important;
  }

  .clmcs-captcha .cf-turnstile iframe{
    display:block!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
}

/* En móviles muy estrechos, Turnstile necesita una ligera reducción visual.
   El resto del formulario NO se escala. */
@media(max-width:400px){
  .clmcs-captcha .cf-turnstile{
    zoom:.90;
  }
}

@media(max-width:360px){
  .clmcs-captcha .cf-turnstile{
    zoom:.84;
  }
}


/* v1.5.5 — Ritmo vertical uniforme + Turnstile compacto real en móvil */
@media(max-width:767px){

  /* Todo el formulario usa el mismo ritmo vertical */
  .clmcs-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  .clmcs-answers{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
  }

  .clmcs-fields{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
  }

  .clmcs-answer,
  .clmcs-fields input,
  .clmcs-privacy-box,
  .clmcs-captcha,
  .clmcs-feedback,
  .clmcs-button--submit,
  .clmcs-legal{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* Captcha compacto: no se escala ni se recorta */
  .clmcs-captcha{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }

  .clmcs-turnstile{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    zoom:1!important;
    overflow:visible!important;
  }

  .clmcs-turnstile iframe{
    display:block!important;
    max-width:none!important;
    transform:none!important;
    zoom:1!important;
  }

  /* Anular hacks anteriores de escalado */
  .clmcs-captcha .cf-turnstile,
  .clmcs-captcha .cf-turnstile iframe{
    transform:none!important;
    zoom:1!important;
    margin:0!important;
  }
}


/* v1.5.6 — Turnstile invisible + ritmo uniforme */
.clmcs-captcha--invisible{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.clmcs-captcha--invisible .clmcs-turnstile{
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:767px){
  .clmcs-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  .clmcs-answers{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin:0!important;
  }

  .clmcs-fields{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin:0!important;
  }

  .clmcs-answer,
  .clmcs-fields input,
  .clmcs-privacy-box,
  .clmcs-feedback,
  .clmcs-button--submit,
  .clmcs-legal{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* El captcha invisible no participa en el flujo del grid */
  .clmcs-captcha--invisible{
    position:absolute!important;
  }
}


/* v1.5.7 — Separación entre bloques en móvil */
@media(max-width:767px){

  /* Caja 1 + Caja 2 */
  .clmcs-info{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    width:100%!important;
  }

  /* Caja 3 + Caja 4 */
  .clmcs-challenge{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    width:100%!important;
  }

  .clmcs-info__item,
  .clmcs-clue,
  .clmcs-question{
    margin:0!important;
  }
}


/* v1.5.9 — Tamaños configurables de la introducción */
.clmcs-landing-intro h1{
  font-size:var(--clmcs-landing-title-desktop)!important;
}
.clmcs-landing-intro__text{
  font-size:var(--clmcs-landing-text-desktop)!important;
}

@media(max-width:767px){
  .clmcs-landing-intro h1{
    font-size:var(--clmcs-landing-title-mobile)!important;
  }
  .clmcs-landing-intro__text{
    font-size:var(--clmcs-landing-text-mobile)!important;
  }
}


/* v1.6.0 — Información dinámica de campaña + texto previo a datos */
.clmcs-clue .clmcs-period{line-height:1.35!important}
.clmcs-clue .clmcs-location{
  margin-top:10px!important;
  font-weight:600!important;
}
.clmcs-participant-intro{
  width:100%;
  margin:0!important;
  font-family:"Open Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  font-weight:600;
  color:var(--clmcs-ink);
}
@media(max-width:767px){
  .clmcs-participant-intro{margin:0!important}
}


/* v1.6.1 — Ajustes exclusivos de móvil para fecha y provincia */
@media(max-width:767px){

  .clmcs-period{
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
    line-height:1.25!important;
    padding:9px 12px!important;
  }

  .clmcs-period__line1,
  .clmcs-period__line2{
    display:block!important;
    width:100%!important;
    white-space:nowrap!important;
  }

  .clmcs-period__separator{
    display:none!important;
  }

  .clmcs-location{
    display:inline-flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:5px!important;
    width:auto!important;
    max-width:100%!important;
    margin:14px 0 20px!important;
    padding:9px 13px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.94)!important;
    color:#111!important;
    text-shadow:none!important;
    font-size:14px!important;
    line-height:1.35!important;
    box-shadow:0 5px 18px rgba(0,0,0,.12)!important;
  }

  .clmcs-clue--image .clmcs-location,
  .clmcs-clue--image .clmcs-location__prefix,
  .clmcs-clue--image .clmcs-location__province{
    color:#111!important;
    text-shadow:none!important;
  }

  .clmcs-location__prefix{
    font-weight:500!important;
  }

  .clmcs-location__province{
    font-family:"Montserrat",Arial,sans-serif!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.02em!important;
  }
}


/* v1.6.2 — Provincia vuelve al estilo original; nombre destacado */
.clmcs-location{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}

.clmcs-location__prefix{
  font-weight:inherit!important;
}

.clmcs-location__province{
  font-weight:700!important;
  text-transform:uppercase!important;
}

.clmcs-clue--image .clmcs-location,
.clmcs-clue--image .clmcs-location__prefix,
.clmcs-clue--image .clmcs-location__province{
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28)!important;
}

@media(max-width:767px){
  .clmcs-location{
    display:block!important;
    margin:10px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:inherit!important;
    line-height:inherit!important;
  }

  /* Se conserva el formato de fecha en dos líneas de v1.6.1 */
  .clmcs-period{
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}


/* v1.6.3 — Mejor aprovechamiento vertical de LA PISTA en escritorio */
@media(min-width:768px){

  .clmcs-clue{
    position:relative!important;
  }

  .clmcs-clue__content{
    display:flex!important;
    flex-direction:column!important;
    min-height:100%!important;
  }

  /* Mantiene encabezado, fecha, título y provincia agrupados arriba */
  .clmcs-clue__helper{
    margin-top:34px!important;
  }

  /* El CTA sigue anclado abajo, pero el contenido intermedio respira mejor */
  .clmcs-clue .clmcs-button{
    margin-top:auto!important;
  }

  /* Más presencia y mejor lectura del texto de ayuda */
  .clmcs-clue__helper{
    max-width:88%!important;
    font-size:17px!important;
    line-height:1.55!important;
  }
}


/* ==========================================================
   v1.7.0 FINAL — Microanimaciones sutiles
   Solo escritorio/tablet con puntero. Móvil permanece estático.
   ========================================================== */

@media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){

  /* Entrada general: rápida y elegante */
  .clmcs-landing-intro{
    animation:clmcsFadeUp .55s cubic-bezier(.22,.61,.36,1) both;
  }

  .clmcs-info{
    animation:clmcsFadeUp .55s cubic-bezier(.22,.61,.36,1) .10s both;
  }

  .clmcs-challenge{
    animation:clmcsFadeUp .6s cubic-bezier(.22,.61,.36,1) .22s both;
  }

  /* Tarjetas: mínima elevación al hover */
  .clmcs-info__item,
  .clmcs-clue,
  .clmcs-question{
    transition:
      transform .28s ease,
      box-shadow .28s ease,
      border-color .28s ease!important;
  }

  .clmcs-info__item:hover,
  .clmcs-question:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(0,0,0,.07)!important;
  }

  /* La pista gana profundidad sin mover el contenido */
  .clmcs-clue--image{
    transition:
      background-size 1.1s cubic-bezier(.22,.61,.36,1),
      box-shadow .28s ease,
      transform .28s ease!important;
    background-size:100% auto!important;
  }

  .clmcs-clue--image:hover{
    background-size:103% auto!important;
    transform:translateY(-3px);
    box-shadow:0 16px 38px rgba(0,0,0,.13)!important;
  }

  /* Botones: respuesta táctil muy leve */
  .clmcs-button,
  .clmcs-button--submit,
  .clmcs-button--light{
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      background-color .18s ease,
      color .18s ease!important;
  }

  .clmcs-button:hover,
  .clmcs-button--submit:hover,
  .clmcs-button--light:hover{
    transform:translateY(-2px);
  }

  .clmcs-button:active,
  .clmcs-button--submit:active,
  .clmcs-button--light:active{
    transform:translateY(0) scale(.99);
  }

  /* Opciones de respuesta: solo feedback visual */
  .clmcs-answer{
    transition:
      border-color .18s ease,
      background-color .18s ease,
      transform .18s ease!important;
  }

  .clmcs-answer:hover{
    transform:translateX(2px);
  }
}

@keyframes clmcsFadeUp{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Accesibilidad: sin movimiento si el usuario lo solicita */
@media (prefers-reduced-motion:reduce){
  .clmcs-wrap *,
  .clmcs-wrap *::before,
  .clmcs-wrap *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* En móvil se prioriza carga y estabilidad: sin animaciones */
@media (max-width:767px){
  .clmcs-landing-intro,
  .clmcs-info,
  .clmcs-challenge,
  .clmcs-info__item,
  .clmcs-clue,
  .clmcs-question,
  .clmcs-button,
  .clmcs-answer{
    animation:none!important;
    transform:none!important;
  }
}


/* ==========================================================
   v1.7.2 — Imagen a sangre + animación móvil ligera
   ========================================================== */

/* La foto cubre SIEMPRE toda la tarjeta, sea horizontal, vertical o cuadrada */
.clmcs-clue.clmcs-clue--image{
  position:relative!important;
  overflow:hidden!important;
  background-color:transparent!important;
  background-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,.24) 0%,
      rgba(0,0,0,.32) 38%,
      rgba(0,0,0,.52) 72%,
      rgba(0,0,0,.68) 100%
    ),
    var(--clmcs-clue-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* Evita bandas de color heredadas dentro de La pista */
.clmcs-clue.clmcs-clue--image > *,
.clmcs-clue.clmcs-clue--image > div,
.clmcs-clue.clmcs-clue--image > section{
  background-color:transparent!important;
}

/* Neutraliza overlays antiguos sólidos */
.clmcs-clue.clmcs-clue--image::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.10) 0%,
    rgba(0,0,0,0) 72%
  )!important;
}

.clmcs-clue.clmcs-clue--image > *{
  position:relative!important;
  z-index:1!important;
}

/* El botón conserva su fondo propio, sin crear una franja completa */
.clmcs-clue.clmcs-clue--image .clmcs-button--light{
  align-self:flex-start!important;
  background:var(--clmcs-clue-button-bg)!important;
}

/* Escritorio: mantener cover también en hover */
@media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .clmcs-clue.clmcs-clue--image{
    background-size:cover!important;
    transition:
      transform .28s ease,
      box-shadow .28s ease,
      filter .35s ease!important;
  }

  .clmcs-clue.clmcs-clue--image:hover{
    background-size:cover!important;
    transform:translateY(-3px);
    box-shadow:0 16px 38px rgba(0,0,0,.13)!important;
    filter:brightness(1.025);
  }
}

/* Móvil: animación muy ligera, sin zoom de imagen */
@media (max-width:767px) and (prefers-reduced-motion:no-preference){

  .clmcs-landing-intro{
    animation:clmcsMobileFade .45s ease both!important;
  }

  .clmcs-info{
    animation:clmcsMobileFade .45s ease .08s both!important;
  }

  .clmcs-challenge{
    animation:clmcsMobileFade .5s ease .16s both!important;
  }

  .clmcs-clue.clmcs-clue--image{
    background-size:cover!important;
    background-position:center center!important;
    transform:none!important;
  }

  .clmcs-button:active,
  .clmcs-button--submit:active,
  .clmcs-button--light:active{
    transform:scale(.985)!important;
  }
}

@keyframes clmcsMobileFade{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Accesibilidad */
@media (prefers-reduced-motion:reduce){
  .clmcs-wrap *,
  .clmcs-wrap *::before,
  .clmcs-wrap *::after{
    animation:none!important;
    transition:none!important;
  }
}


/* v1.7.3 — Provincia inmediatamente debajo de la fecha */
.clmcs-location--under-period{
  margin:10px 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  width:auto!important;
  display:block!important;
}

.clmcs-location--under-period .clmcs-location__province{
  font-weight:700!important;
  text-transform:uppercase!important;
}

@media(max-width:767px){
  .clmcs-location--under-period{
    margin:9px 0 13px!important;
  }
}
