/* FJD Datos Personales: aviso de cookies y panel de preferencias. */
.fjd-cookies[hidden], .fjd-cookies-panel[hidden] { display: none !important; }

.fjd-cookies {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990; padding: 12px;
	font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	font-size: 15px; line-height: 1.5; color: var(--ink, #0b2216);
}
.fjd-cookies__box {
	max-width: 980px; margin: 0 auto; background: var(--paper, #fff); border: 2px solid var(--sea-deep, #035c2f);
	border-radius: 20px; padding: 16px 20px; box-shadow: 0 18px 50px -12px rgba(18, 34, 43, .45);
	display: flex; gap: 16px 24px; align-items: center; flex-wrap: wrap;
}
.fjd-cookies__text { margin: 0; flex: 1 1 420px; }
.fjd-cookies__text a { color: var(--link, #0b5d66); font-weight: 700; }
.fjd-cookies__actions, .fjd-cookies-panel__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Los botones "Aceptar" y "Solo necesarias" tienen el mismo peso visual. */
.fjd-cbtn {
	font: 800 15px/1 var(--font-body, inherit); cursor: pointer; padding: 12px 20px; border-radius: 999px;
	border: 2px solid var(--sea-deep, #035c2f); background: var(--paper, #fff); color: var(--ink, #0b2216);
}
.fjd-cbtn:hover { background: var(--tint, #e8f1e3); }
.fjd-cbtn:focus-visible, .fjd-switch input:focus-visible + .fjd-switch__ui { outline: 3px solid var(--sea, #007236); outline-offset: 3px; }
.fjd-cbtn--link { border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }

.fjd-cookies-panel {
	position: fixed; inset: 0; z-index: 99999; background: rgba(18, 34, 43, .55);
	display: grid; place-items: center; padding: 16px;
	font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif); color: var(--ink, #0b2216);
}
.fjd-cookies-panel__box { background: var(--paper, #fff); width: min(560px, 100%); max-height: 90vh; overflow: auto; border-radius: 20px; padding: 26px; }
.fjd-cookies-panel__box h2 { margin: 0 0 12px; font-size: 22px; }
.fjd-cookies-panel__box h3 { margin: 0 0 4px; font-size: 17px; }
.fjd-cookies-panel__box p { margin: 0; font-size: 14.5px; color: var(--muted, #4d6769); }
.fjd-cookies-panel__item { display: flex; gap: 16px; justify-content: space-between; align-items: center; padding: 14px 0; border-top: 1px solid var(--line, #d3e1de); }
.fjd-cookies-panel__actions { margin-top: 14px; }
.fjd-pill { white-space: nowrap; font-weight: 800; font-size: 13px; background: var(--tint, #e8f1e3); color: var(--sea-deep, #035c2f); padding: 5px 12px; border-radius: 999px; }

.fjd-switch { position: relative; display: inline-block; width: 52px; height: 30px; flex: none; }
.fjd-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.fjd-switch__ui { position: absolute; inset: 0; background: #b7c0c4; border-radius: 999px; transition: background .15s; }
.fjd-switch__ui::after { content: ""; position: absolute; left: 3px; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform .15s; }
.fjd-switch input:checked + .fjd-switch__ui { background: var(--sea-deep, #035c2f); }
.fjd-switch input:checked + .fjd-switch__ui::after { transform: translateX(22px); }

.fjd-pendiente { background: #fff3cd; color: #664d03; padding: 0 .35em; border-radius: 4px; }
body .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

@media (prefers-reduced-motion: reduce) { .fjd-switch__ui, .fjd-switch__ui::after { transition: none; } }
@media print { .fjd-cookies, .fjd-cookies-panel { display: none !important; } }
