/* Kudea 2.0 — pequeños estilos comunes (vídeos y miniaturas con "play") */
.kudea-video { position: relative; padding-top: 56.25%; margin-bottom: 20px; background: #000; }
.kudea-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kudea-has-video { position: relative; display: block; }
.kudea-play {
    position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px;
    border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; font-size: 26px; line-height: 64px;
    text-align: center; padding-left: 5px; pointer-events: none; transition: background .2s;
}
.kudea-has-video:hover .kudea-play { background: rgba(0, 0, 0, .85); }
.form-group.has-error .form-control { border-color: #a94442; }
.form-group.has-error .help-block { color: #a94442; }

/* ===== Kudea 2.9.8 — piezas comunes (cada web pone su color con --k-accent en su CSS) ===== */
:root { --k-accent: #555; --k-accent-text: #fff; }

/* Vídeos ligeros (miniatura + ▶; el reproductor se carga al pulsar) */
.k-video { position: relative; width: 100%; aspect-ratio: 16 / 9; margin-bottom: 20px; background: #111; }
.k-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.k-video-play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; cursor: pointer; background: #111 center / cover no-repeat; }
.k-video-icon { position: absolute; left: 50%; top: 50%; width: 72px; height: 50px; margin: -25px 0 0 -36px; border-radius: 12px; background: var(--k-accent); opacity: .92; transition: background .2s, opacity .2s; }
.k-video-icon:after { content: ""; position: absolute; left: 29px; top: 15px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.k-video-play:hover .k-video-icon, .k-video-play:focus .k-video-icon { background: #c4302b; opacity: 1; }

/* Buscador */
.k-search { display: flex; margin: 0 0 10px; }
.k-search input { flex: 1; min-width: 0; height: 38px; padding: 6px 10px; border: 1px solid #ccc; border-right: 0; border-radius: 0; font-size: 14px; }
.k-search input:focus { outline: none; border-color: var(--k-accent); }
.k-search button { flex: none; width: 44px; height: 38px; margin: 0; border: 0; border-radius: 0; background: var(--k-accent); color: var(--k-accent-text); font-size: 16px; cursor: pointer; }

/* Compartir: el botón de copiar cambia de color un momento al copiar */
.k-share-x { vertical-align: -1px; }
.k-share-copy.ok { background: #2e7d32 !important; color: #fff !important; }

/* Aviso de cookies propio */
.k-cookies { position: fixed; z-index: 2000; left: 20px; bottom: 20px; max-width: 420px; padding: 16px 18px; background: var(--k-accent); color: var(--k-accent-text);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .3); font: 13px/1.5 Arial, Helvetica, sans-serif; }
.k-cookies[hidden], .k-cookies-config[hidden] { display: none !important; }
.k-cookies p { margin: 0 0 10px; color: inherit; font-size: 13px; line-height: 1.5; }
.k-cookies a { color: inherit; text-decoration: underline; font-weight: 600; }
.k-cookies-btns { text-align: right; }
.k-cookies-btns button { margin-left: 8px; }
@media (max-width: 520px) { .k-cookies { left: 10px; right: 10px; bottom: 10px; max-width: none; } }
.k-cookies-config { position: fixed; z-index: 1999; left: 14px; bottom: 14px; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%;
  background: var(--k-accent); color: var(--k-accent-text); box-shadow: 0 2px 8px rgba(0, 0, 0, .25); cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: .75; transition: opacity .2s; }
.k-cookies-config:hover, .k-cookies-config:focus { opacity: 1; }
