/* Libro II del Código civil de Cataluña · Cuadro de mandos — estilo del tema «Libro II del Código civil de Cataluña · Boletín».
   Toma colores y tipografías de los presets del tema (theme.json), con
   valores de reserva para el escritorio de WordPress. */
.fc2d {
	--paper: var(--wp--preset--color--base, #F8F6F1);
	--card: var(--wp--preset--color--surface, #FFFFFF);
	--ink: var(--wp--preset--color--contrast, #16181D);
	--ink-2: var(--wp--preset--color--muted, #5C6170);
	--line: var(--wp--preset--color--rule, #E2DDD2);
	--accent: var(--wp--preset--color--accent, #9B2C22);
	--accent-soft: var(--wp--preset--color--accent-soft, #F4E7E2);
	--tc: var(--wp--preset--color--pizarra-azul, #2E5A72);
	--otro: var(--wp--preset--color--ocre, #8C6215);
	--ok: var(--wp--preset--color--olivo, #5E6B2F);
	--serif: var(--wp--preset--font-family--serif, Newsreader, "Iowan Old Style", Georgia, serif);
	--sans: var(--wp--preset--font-family--sans, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	--v1: color-mix(in srgb, var(--ink) 9%, var(--paper));
	--v2: color-mix(in srgb, var(--accent) 22%, var(--paper));
	--v3: color-mix(in srgb, var(--accent) 42%, var(--paper));
	--v4: color-mix(in srgb, var(--accent) 64%, var(--paper));
	--v5: var(--accent);
	--v6: color-mix(in srgb, var(--accent) 70%, var(--ink));
	position: relative;
	box-sizing: border-box;
	font-family: var(--sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
}
.fc2d[data-context="admin"] { background: var(--paper); padding: 24px 28px; border: 1px solid var(--line); }
.fc2d *, .fc2d *::before, .fc2d *::after { box-sizing: border-box; }
.fc2d h2, .fc2d h3, .fc2d h4, .fc2d p { margin: 0; color: inherit; }
.fc2d button { font-family: inherit; color: inherit; letter-spacing: normal; text-transform: none; }
.fc2d a { color: var(--accent); text-decoration: none; }
.fc2d a:hover { color: var(--ink); text-decoration: underline; }
.fc2d-wrap { margin-top: 18px; }

.fc2d-kicker { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.fc2d-muted { color: var(--ink-2); }

/* Carga y errores */
.fc2d-loading { display: flex; align-items: center; gap: 10px; padding: 40px; color: var(--ink-2); justify-content: center; }
.fc2d-loading span { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line); border-top-color: var(--accent); animation: fc2d-spin .8s linear infinite; }
@keyframes fc2d-spin { to { transform: rotate(360deg); } }
.fc2d-error { padding: 24px; color: var(--accent); }

/* Entradilla */
.fc2d-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 22px; }
.fc2d-hero-txt { max-width: 760px; }
.fc2d-title { font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 560; line-height: 1.05; letter-spacing: -.012em; margin: 4px 0 10px !important; padding: 0 !important; }
.fc2d-sub { font-family: var(--serif); font-size: 1.125rem; line-height: 1.5; color: var(--ink); margin-top: 6px !important; }
.fc2d-hero-links { display: flex; gap: 8px; flex-wrap: wrap; }
.fc2d-btn { display: inline-flex; align-items: center; gap: 6px; padding: .6em 1.25em; border-radius: 999px; background: var(--ink); color: var(--paper) !important; border: 1px solid var(--ink); font-family: var(--sans); font-weight: 600; font-size: 14px; cursor: pointer; text-decoration: none !important; line-height: 1.2; transition: background .15s, border-color .15s; }
.fc2d-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff !important; }
.fc2d-btn-ghost { background: transparent; color: var(--ink) !important; border-color: var(--line); }
.fc2d-btn-ghost:hover { background: transparent; border-color: var(--accent); color: var(--accent) !important; }

/* Cifras: franja con filetes, como un sumario de periódico */
.fc2d-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.fc2d-kpi { padding: 14px 16px 14px 0; }
.fc2d-kpi + .fc2d-kpi { padding-left: 16px; border-left: 1px solid var(--line); }
.fc2d-kpi-v { font-family: var(--serif); font-size: 2.1rem; font-weight: 560; line-height: 1.1; letter-spacing: -.01em; font-variant-numeric: lining-nums tabular-nums; }
.fc2d-kpi-l { font-weight: 600; font-size: 13px; margin-top: 2px; }
.fc2d-kpi-s { font-size: 12px; color: var(--ink-2); }

/* Buscador */
.fc2d-searchbox { position: relative; margin-bottom: 26px; z-index: 5; }
.fc2d .fc2d-search { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 13px 18px 13px 46px; border-radius: 999px; border: 1px solid var(--line); background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235C6170' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") no-repeat 18px center; color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.4; box-shadow: none; outline: none; }
.fc2d .fc2d-search:focus { border-color: var(--ink); }
.fc2d-results { display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: var(--card); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 34px rgba(22, 24, 29, .12); max-height: 380px; overflow-y: auto; }
.fc2d-results.open { display: block; }
.fc2d-res { display: flex; justify-content: space-between; gap: 12px; width: 100%; text-align: left; padding: 11px 16px; border: 0; border-bottom: 1px solid var(--line); background: none; cursor: pointer; font-size: 15px; }
.fc2d-res span { font-family: var(--serif); font-size: 1.05rem; }
.fc2d-res:hover, .fc2d-res:focus { background: var(--accent-soft); outline: none; }
.fc2d-res small { color: var(--ink-2); white-space: nowrap; font-size: 12px; }

/* Secciones con filete superior, como .ccb-seccion del tema */
.fc2d-card { border-top: 3px solid var(--ink); padding: 14px 0 0; margin-bottom: 34px; min-width: 0; }
.fc2d-card-h { margin-bottom: 14px; }
.fc2d-card-h h3 { font-family: var(--serif); font-size: clamp(1.3rem, 2.4vw, 1.6rem); font-weight: 560; letter-spacing: -.012em; line-height: 1.2; margin: 2px 0 4px !important; padding: 0 !important; }
.fc2d-card-h p { color: var(--ink-2); font-size: 14px; }
.fc2d-grid2 { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 36px; align-items: start; }

/* Gráfico */
.fc2d-svg { width: 100%; height: auto; display: block; overflow: visible; }
.fc2d-gridline { stroke: var(--line); stroke-width: 1; }
.fc2d-tick { stroke: var(--ink-2); }
.fc2d-lane { stroke: var(--line); stroke-dasharray: 2 4; }
.fc2d-axis { fill: var(--ink-2); font-size: 11px; font-family: var(--sans); }
.fc2d-bar { fill: var(--accent); pointer-events: none; }
.fc2d-bar.on { fill: var(--ink); }
.fc2d-dot { fill: var(--tc); pointer-events: none; }
.fc2d-hit { fill: transparent; }
.fc2d-hit:hover { fill: var(--ink); fill-opacity: .05; }
.fc2d-chart-info { margin-top: 12px; }
.fc2d-top { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fc2d-mini { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); font-weight: 600; margin-right: 4px; }
.fc2d-chip { display: inline-flex; align-items: center; gap: 6px; padding: .2em .7em; border-radius: 999px; border: 1px solid var(--line); background: transparent; cursor: pointer; font-size: 13px; line-height: 1.6; }
.fc2d-chip b { color: var(--accent); font-weight: 650; }
.fc2d-chip:hover, .fc2d-chip.on { border-color: var(--accent); color: var(--accent); }
.fc2d-chip-x { color: var(--ink-2); }
.fc2d-k { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex: none; }
.fc2d-k.k-tc { background: var(--tc); }
.fc2d-k.k-otro { background: var(--otro); }
.fc2d-tip .k-tc { color: #8fc1dc; }
.fc2d-tip .k-ley { color: #f0a59b; }
.fc2d-tip .k-otro { color: #e2bd6b; }

/* Mapa */
.fc2d-filters { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; min-height: 30px; }
.fc2d-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13px; color: var(--ink-2); user-select: none; }
.fc2d .fc2d-switch input { appearance: none; -webkit-appearance: none; width: 32px; height: 18px; min-width: 0; border-radius: 999px; background: var(--line); position: relative; cursor: pointer; transition: background .15s; margin: 0; border: 0; box-shadow: none; padding: 0; }
.fc2d .fc2d-switch input::before { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .15s; margin: 0; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.fc2d .fc2d-switch input:checked { background: var(--accent); }
.fc2d .fc2d-switch input:checked::before { transform: translateX(14px); }
.fc2d-sel { display: inline-flex; align-items: center; gap: 8px; background: var(--accent-soft); color: var(--accent); padding: 3px 5px 3px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.fc2d-sel button { border: 0; background: rgba(0,0,0,.06); border-radius: 50%; width: 20px; height: 20px; cursor: pointer; font-size: 10px; line-height: 20px; padding: 0; color: inherit; }
.fc2d-map-block { margin-bottom: 18px; transition: opacity .2s; }
.fc2d-map-block.faded { opacity: .45; }
.fc2d-map-h { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 7px; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
.fc2d-map-h strong { font-size: 12px; letter-spacing: .07em; text-transform: uppercase; font-weight: 650; }
.fc2d-map-h span { font-family: var(--serif); font-size: 15px; color: var(--ink-2); font-style: italic; }
.fc2d-map-n { color: var(--ink-2); font-size: 12px; white-space: nowrap; }
.fc2d-cells { display: flex; flex-wrap: wrap; gap: 3px; }
.fc2d .fc2d-cell { width: 20px; height: 20px; min-width: 0; min-height: 0; border-radius: 3px; border: 0; padding: 0; margin: 0; cursor: pointer; background: var(--v1); transition: transform .08s, opacity .15s; display: inline-block; flex: none; box-shadow: none; }
.fc2d .fc2d-cell.v2 { background: var(--v2); }
.fc2d .fc2d-cell.v3 { background: var(--v3); }
.fc2d .fc2d-cell.v4 { background: var(--v4); }
.fc2d .fc2d-cell.v5 { background: var(--v5); }
.fc2d .fc2d-cell.v6 { background: var(--v6); }
.fc2d .fc2d-cell.gone { background: repeating-linear-gradient(135deg, var(--v1) 0 2px, var(--ink-2) 2px 3px); opacity: .55; }
.fc2d .fc2d-cell:hover { transform: scale(1.35); position: relative; z-index: 2; box-shadow: 0 0 0 1.5px var(--paper); }
.fc2d .fc2d-cell.dim { opacity: .13; }
.fc2d .fc2d-cell.hl { box-shadow: 0 0 0 1.5px var(--ink); }
.fc2d .fc2d-cell.cur { box-shadow: 0 0 0 2px var(--ink); transform: scale(1.2); position: relative; z-index: 1; }
.fc2d-sep { width: 1px; height: 20px; margin: 0 4px; background: var(--line); flex: none; }
.fc2d-legend { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 12px; color: var(--ink-2); margin-top: 8px; }
.fc2d-legend span { margin: 0 8px 0 2px; }
.fc2d-legend .fc2d-cell { cursor: default; }
.fc2d .fc2d-legend .fc2d-cell:hover { transform: none; box-shadow: none; }

/* Normas */
.fc2d-card-norms { position: sticky; top: 140px; }
.admin-bar .fc2d-card-norms { top: 172px; }
.fc2d[data-context="admin"] .fc2d-card-norms { top: 40px; }
.fc2d-seg { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 3px; margin-bottom: 10px; gap: 2px; flex-wrap: wrap; }
.fc2d-seg button { border: 0; background: none; padding: 4px 12px; border-radius: 999px; cursor: pointer; font-size: 13px; color: var(--ink-2); }
.fc2d-seg button.on { background: var(--ink); color: var(--paper); font-weight: 600; }
.fc2d-norms { max-height: var(--fc2d-max-h, 760px); overflow-y: auto; }
.fc2d-norm { display: flex; gap: 14px; padding: 11px 6px; cursor: pointer; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; transition: background .12s; }
.fc2d-norm:hover { background: color-mix(in srgb, var(--ink) 3%, transparent); }
.fc2d-norm.on { border-left-color: var(--accent); background: var(--accent-soft); }
.fc2d-norm:focus-visible { outline: 2px solid var(--accent); }
.fc2d-norm-date { width: 62px; flex: none; }
.fc2d-norm-date span { display: block; font-family: var(--serif); font-weight: 560; font-size: 1.15rem; line-height: 1.2; font-variant-numeric: lining-nums; }
.fc2d-norm-date small { color: var(--ink-2); font-size: 11px; }
.fc2d-norm-body { flex: 1; min-width: 0; }
.fc2d-norm-name { font-family: var(--serif); font-weight: 500; font-size: 1.02rem; line-height: 1.3; display: flex; gap: 8px; align-items: baseline; }
.fc2d-norm-name .fc2d-k { transform: translateY(-2px); }
.fc2d-norm-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; font-size: 12px; }
.fc2d-norm-bar { height: 2px; background: var(--line); margin-top: 8px; overflow: hidden; }
.fc2d-norm-bar span { display: block; height: 100%; background: var(--accent); }
.fc2d-tag { font-size: 11px; padding: 0 .55em; border-radius: 999px; color: var(--ink-2); border: 1px solid var(--line); line-height: 1.6; }
.fc2d-tag.warn { color: var(--accent); border-color: var(--accent); }
.fc2d-link { font-weight: 600; }

/* Tooltip */
.fc2d-tip { position: absolute; display: none; pointer-events: none; z-index: 50; background: var(--wp--preset--color--band, #1E2A2F); color: var(--wp--preset--color--band-text, #EDEAE3); padding: 8px 11px; border-radius: 6px; font-size: 12.5px; line-height: 1.45; max-width: 330px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.fc2d-tip .fc2d-muted { color: #b9c0c3; }

/* Ficha lateral */
.fc2d-scrim { position: fixed; inset: 0; background: rgba(22, 24, 29, .35); opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 99990; }
.fc2d-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(640px, 100vw); background: var(--paper); z-index: 99991; box-shadow: -14px 0 40px rgba(22, 24, 29, .2); border-left: 1px solid var(--line); transform: translateX(102%); transition: transform .25s cubic-bezier(.2,.8,.2,1); overflow-y: auto; padding: 18px 30px 48px; }
.admin-bar .fc2d-panel { top: 32px; }
.fc2d-has-panel .fc2d-panel { transform: none; }
.fc2d-has-panel .fc2d-scrim { opacity: 1; pointer-events: auto; }
.fc2d-panel-top { display: flex; justify-content: space-between; align-items: center; position: sticky; top: -18px; background: var(--paper); padding: 8px 0; margin: -8px 0 8px; z-index: 2; }
.fc2d-nav { display: flex; gap: 6px; }
.fc2d-icon { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: transparent; cursor: pointer; font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.fc2d-icon:hover { border-color: var(--ink); }
.fc2d-crumbs { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 12px; color: var(--ink-2); }
.fc2d-crumbs span:not(:last-child)::after { content: "›"; margin: 0 6px; }
.fc2d-art-title { font-family: var(--serif); font-size: clamp(2rem, 4vw, 2.6rem); font-weight: 560; letter-spacing: -.012em; line-height: 1.1; margin: 8px 0 10px !important; padding: 0 !important; }
.fc2d-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.fc2d-badge { font-size: 12px; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); font-weight: 500; }
.fc2d-badge.warn { border-color: var(--accent); color: var(--accent); }
.fc2d-badge.tc { border-color: var(--tc); color: var(--tc); }
.fc2d-actions { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.fc2d-sec { border-top: 3px solid var(--ink); padding-top: 12px; margin-top: 22px; }
.fc2d-sec h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); font-weight: 650; margin-bottom: 12px !important; font-family: var(--sans); }

/* Cronología de versiones */
.fc2d-tl { list-style: none; margin: 0 !important; padding: 0 0 0 20px !important; position: relative; }
.fc2d-tl::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: 10px; width: 1px; background: var(--line); }
.fc2d-tl li { position: relative; padding: 3px 0 9px; margin: 0 !important; list-style: none; }
.fc2d-tl li::before { content: ""; position: absolute; left: -20px; top: 11px; width: 11px; height: 11px; border-radius: 50%; background: var(--paper); border: 2px solid var(--accent); }
.fc2d-tl li.k-tc::before { border-color: var(--tc); }
.fc2d-tl li.k-orig::before { border-color: var(--ink-2); }
.fc2d-tl li.on::before { background: var(--accent); }
.fc2d-tl li.on.k-tc::before { background: var(--tc); }
.fc2d-tl li.on.k-orig::before { background: var(--ink-2); }
.fc2d-tl-btn { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; border: 0; background: none; padding: 4px 10px; margin-left: -10px; border-radius: 6px; cursor: pointer; text-align: left; width: calc(100% + 10px); }
.fc2d-tl-btn:hover { background: color-mix(in srgb, var(--ink) 4%, transparent); }
.fc2d-tl li.on .fc2d-tl-btn { background: var(--accent-soft); }
.fc2d-tl-date { font-size: 12px; color: var(--ink-2); }
.fc2d-tl-name { font-family: var(--serif); font-weight: 500; font-size: 1.05rem; line-height: 1.3; }
.fc2d-tl-links { display: flex; gap: 14px; font-size: 12.5px; margin-top: 1px; }

/* Texto del precepto */
.fc2d-text-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.fc2d-text-h h4 { margin-bottom: 0 !important; }
.fc2d-text { font-family: var(--serif); font-size: 1.15rem; line-height: 1.6; color: var(--ink); }
.fc2d-text p { margin: 0 0 .75em !important; }
.fc2d-text p.parrafo_2 { padding-left: 1.2em; }
.fc2d-text ins { background: color-mix(in srgb, var(--ok) 18%, transparent); color: inherit; text-decoration: none; border-radius: 2px; padding: 0 1px; }
.fc2d-text del { color: var(--accent); text-decoration: line-through; text-decoration-thickness: 1px; background: color-mix(in srgb, var(--accent) 8%, transparent); border-radius: 2px; }
.fc2d-text .ins-p { border-left: 3px solid var(--ok); padding-left: 12px; }
.fc2d-text em strong, .fc2d-text strong em { background: color-mix(in srgb, var(--tc) 14%, transparent); }
.fc2d-nota { font-size: 13px; color: var(--ink-2); border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--ink) 4%, transparent); padding: 9px 13px; margin-top: 10px !important; }
.fc2d-tcitem { margin-bottom: 12px; }
.fc2d-tcitem a { font-family: var(--serif); font-weight: 560; font-size: 1.05rem; }
.fc2d-tcitem p { font-size: 13px; color: var(--ink-2); }


/* Código a una fecha */
.fc2d-datebar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: -6px 0 16px; }
.fc2d-date-l { display: inline-flex; align-items: center; gap: 8px; }
.fc2d .fc2d-date { font-family: var(--sans); font-size: 14px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--ink); min-height: 0; margin: 0; box-shadow: none; }
.fc2d-date-presets { display: flex; flex-wrap: wrap; gap: 6px; }
.fc2d-date-info { flex-basis: 100%; font-size: 13px; color: var(--ink-2); }
.fc2d-date-info:empty { display: none; }
.fc2d-dated .fc2d-date { border-color: var(--tc); color: var(--tc); }
.fc2d .fc2d-cell.fut { background: transparent; box-shadow: inset 0 0 0 1px var(--line); opacity: .6; }
.fc2d-sel-date { background: color-mix(in srgb, var(--tc) 12%, transparent); color: var(--tc); }
.fc2d-chip-go { border-color: var(--accent); color: var(--accent); font-weight: 600; }
.fc2d-nota-date { border-left-color: var(--tc); margin: -8px 0 16px !important; }

/* Búsqueda por texto */
.fc2d-res-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 16px; background: color-mix(in srgb, var(--ink) 4%, transparent); font-size: 12px; color: var(--ink-2); border-bottom: 1px solid var(--line); }
.fc2d-res-txt { flex-direction: column; align-items: flex-start; gap: 2px; }
.fc2d-res-txt span { display: flex; gap: 8px; align-items: baseline; }
.fc2d .fc2d-res-txt small.fc2d-snip { white-space: normal; font-family: var(--serif); font-size: 14px; color: var(--ink-2); line-height: 1.4; }
.fc2d-snip mark { background: var(--accent-soft); color: var(--accent); padding: 0 2px; border-radius: 2px; }
.fc2d-results { max-height: 480px; }

/* Remisiones */
.fc2d-mini-l { font-size: 12px; color: var(--ink-2); margin: 8px 0 6px !important; }
.fc2d-sec .fc2d-top a.fc2d-chip { text-decoration: none; color: var(--ink); }
.fc2d-sec .fc2d-top a.fc2d-chip:hover { color: var(--accent); }

/* Cambios de una reforma */
.fc2d-norm-title { font-size: clamp(1.5rem, 3vw, 2rem); }
.fc2d-nv-item { border-top: 1px solid var(--line); padding: 14px 0 4px; }
.fc2d-nv-h { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 6px; }
.fc2d-nv-h a { font-family: var(--serif); font-weight: 560; font-size: 1.15rem; color: var(--ink); }
.fc2d-nv-h .fc2d-muted { font-size: 12px; }
.fc2d-nv-item .fc2d-text { font-size: 1.02rem; }

/* Listados */
.fc2d-list-n { font-size: 12px; margin-bottom: 8px !important; }
.fc2d-list { columns: 3 260px; column-gap: 32px; margin: 0 !important; padding-left: 1.4em !important; }
.fc2d-list li { break-inside: avoid; padding: 3px 0; font-size: 14px; }
.fc2d-list li a { font-family: var(--serif); font-size: 1.02rem; color: var(--ink); margin-right: 8px; }
.fc2d-list li a:hover { color: var(--accent); }
.fc2d-list li .fc2d-muted { font-size: 12px; }

/* Contenido servido para buscadores (se sustituye al cargar el cuadro) */
.fc2d-ssr { max-width: 760px; }
.fc2d-ssr h2 { font-family: var(--serif); font-size: 2.2rem; font-weight: 560; margin: 8px 0 14px !important; }
.fc2d-ssr h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); margin: 22px 0 8px !important; }
.fc2d-ssr-crumbs { font-size: 12px; color: var(--ink-2); }

/* Barra del escritorio */
.fc2d-adminbar { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; margin-top: 12px; padding: 12px 16px; background: #fff; border: 1px solid #dcdcde; }
.fc2d-adminbar form { display: flex; align-items: center; }
.fc2d-adminbar-help { color: #646970; }

@media (max-width: 1100px) {
	.fc2d-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fc2d-kpi:nth-child(4) { border-left: 0; padding-left: 0; }
	.fc2d-kpi:nth-child(n+4) { border-top: 1px solid var(--line); }
	.fc2d-grid2 { grid-template-columns: 1fr; gap: 0; }
	.fc2d-card-norms { position: static; }
}
@media (max-width: 600px) {
	.fc2d-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fc2d-kpi, .fc2d-kpi + .fc2d-kpi { padding: 12px 10px 12px 0; border-left: 0; }
	.fc2d-kpi:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--line); }
	.fc2d-kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
	.fc2d-kpi-v { font-size: 1.7rem; }
	.fc2d .fc2d-cell { width: 15px; height: 15px; }
	.fc2d-panel { padding: 14px 18px 40px; }
	.fc2d-chart { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.fc2d-svg { min-width: 680px; }
	.fc2d-map-h { flex-direction: column; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
	.fc2d-panel, .fc2d-scrim, .fc2d-cell { transition: none; }
}

/* v1.1.1 — lectura: selector de versión, comparación y periodo de la cronología */
.fc2d-panel.fc2d-panel-wide { width: min(1180px, 100vw); }
.fc2d-text-h { flex-wrap: wrap; gap: 8px 12px; }
.fc2d-seg.fc2d-modes { margin-bottom: 0; }
.fc2d-vbar { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; }
.fc2d .fc2d-vsel { flex: 1; min-width: 0; width: auto; max-width: none; height: auto; min-height: 0; margin: 0; padding: 8px 12px; font-family: var(--sans); font-size: 14px; line-height: 1.3; border: 1px solid var(--line); border-radius: 10px; background-color: var(--card); color: var(--ink); box-shadow: none; }
.fc2d-icon.fc2d-icon-s { width: 32px; height: 32px; flex: none; }
.fc2d-icon[disabled] { opacity: .35; cursor: default; }
.fc2d-vcount { font-size: 12px; white-space: nowrap; }
.fc2d-leg { font-size: 12.5px; color: var(--ink-2); margin: 0 0 12px !important; }
.fc2d-leg ins { background: color-mix(in srgb, var(--ok) 18%, transparent); text-decoration: none; padding: 0 3px; border-radius: 2px; }
.fc2d-leg del { color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); padding: 0 3px; border-radius: 2px; }
.fc2d-cmp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.fc2d-cmp-col { min-width: 0; }
.fc2d-cmp-col + .fc2d-cmp-col { border-left: 1px solid var(--line); padding-left: 28px; }
.fc2d .fc2d-cmp-col .fc2d-vsel { display: block; width: 100%; margin-bottom: 14px; }
.fc2d-cmp .fc2d-text del { text-decoration: none; color: inherit; background: color-mix(in srgb, var(--accent) 16%, transparent); }
.fc2d-hist summary { cursor: pointer; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); font-weight: 650; }
.fc2d-hist[open] summary { margin-bottom: 12px; }
.fc2d-range { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.fc2d-range .fc2d-seg { margin-bottom: 0; }
.fc2d-range-n { font-size: 12px; }
@media (max-width: 760px) {
	.fc2d-cmp { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.fc2d-cmp-col + .fc2d-cmp-col { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 16px; }
	.fc2d-text { font-size: 1.2rem; }
}

/* Sigla de la norma junto al número del artículo */
.fc2d-abbr { color: var(--accent); font-family: var(--sans); font-size: .5em; font-weight: 700; letter-spacing: .06em; margin-left: .35em; vertical-align: .35em; }

/* Color propio del Reglamento: acento azul pizarra (la Ley usa el rojo del tema); sentencias y fechas, en rojo. */
.fc2d { --accent: var(--wp--preset--color--pizarra-azul, #2E5A72); --accent-soft: #E3EDF2; --tc: var(--wp--preset--color--accent, #9B2C22); --del: var(--wp--preset--color--accent, #9B2C22); border-top: 4px solid var(--accent); padding-top: 18px; }
.fc2d-text del, .fc2d-leg del { color: var(--del); background: color-mix(in srgb, var(--del) 8%, transparent); }
.fc2d-cmp .fc2d-text del { color: inherit; background: color-mix(in srgb, var(--del) 16%, transparent); }
.fc2d-tip .k-tc { color: #f0a59b; }
.fc2d-tip .k-ley { color: #8fc1dc; }

.fc2d-epi { font-family: var(--serif); font-style: italic; font-size: 1.1rem; color: var(--ink-2); margin: -4px 0 12px !important; }
