.observatorio-violencias-body { min-width: 0; }

.observatorio-violencias-section .violencias-page {
    --ov-primary: #3B663B;
    --ov-secondary: #8DC4B5;
    --ov-blue: #56689F;
    --ov-purple: #AA6DA3;
    --ov-beige: #E4C7B4;
    --ov-brown: #524632;
    --ov-highlight: #FCD203;
    --ov-dark: #1A1D1A;
    --ov-white: #FFFFFF;
    color: var(--ov-dark);
    background: var(--ov-white);
    padding: 72px 0 88px;
    max-width: 100vw;
    overflow-x: hidden;
}

.observatorio-violencias-section .violencias-page *, .observatorio-violencias-section .violencias-page *::before, .observatorio-violencias-section .violencias-page *::after { box-sizing: border-box; }
.observatorio-violencias-section .violencias-container { width: auto; max-width: 1180px; margin-right: auto; margin-left: auto; }
.observatorio-violencias-section .violencias-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: 72px; align-items: start; }
.observatorio-violencias-section .violencias-map-column, .observatorio-violencias-section .violencias-indicators { min-width: 0; }
.observatorio-violencias-section .violencias-map { position: relative; width: 100%; max-width: 620px; margin: 0 auto; }
.observatorio-violencias-section .violencias-map svg { display: block; width: 100%; height: auto; max-height: 650px; }
.observatorio-violencias-section .violencias-map svg path { fill: rgba(86, 104, 159, .48); stroke: var(--ov-white); stroke-width: 1.25; vector-effect: non-scaling-stroke; transition: fill .18s ease, opacity .18s ease; outline: none; }
.observatorio-violencias-section .violencias-map svg path.is-active { fill: var(--ov-blue); cursor: pointer; }
.observatorio-violencias-section .violencias-map svg path.is-active:hover,
.observatorio-violencias-section .violencias-map svg path.is-active:focus { fill: var(--ov-purple); stroke: var(--ov-highlight); stroke-width: 2.25; }
.observatorio-violencias-section .violencias-map svg path.is-inactive { cursor: default; opacity: .72; }
.observatorio-violencias-section .violencias-tooltip { position: absolute; z-index: 4; max-width: 250px; padding: 8px 11px; color: var(--ov-white); background: rgba(26, 29, 26, .92); border-radius: 4px; font-size: 13px; line-height: 1.35; pointer-events: none; transform: translate(-50%, calc(-100% - 12px)); opacity: 1; }
.observatorio-violencias-section .violencias-tooltip[aria-hidden="true"] { opacity: 0; visibility: hidden; }
.observatorio-violencias-section .violencias-map-credit { margin: 8px 0 0; color: var(--ov-brown); font-size: 11px; text-align: center; }
.observatorio-violencias-section .violencias-map-credit a { color: var(--ov-blue); text-decoration: underline; }
.observatorio-violencias-section .violencias-intro { position: relative; max-width: 700px; margin-top: 34px; padding-left: 24px; border-left: 5px solid var(--ov-purple); }
.observatorio-violencias-section .violencias-intro h1, .observatorio-violencias-section .violencias-intro h2, .observatorio-violencias-section .violencias-state-header h1 { margin: 0 0 18px; color: var(--ov-dark); font-size: clamp(32px, 4.2vw, 54px); line-height: 1.08; font-weight: 700; }
.observatorio-violencias-section .violencias-intro h1, .observatorio-violencias-section .violencias-intro h2, .observatorio-violencias-section .violencias-state-header h1, .observatorio-violencias-section .violencias-rich-text, .observatorio-violencias-section .violencias-state-intro { overflow-wrap: anywhere; }
.observatorio-violencias-section .violencias-rich-text, .observatorio-violencias-section .violencias-state-intro { color: var(--ov-brown); font-size: 17px; line-height: 1.75; }
.observatorio-violencias-section .violencias-indicators { margin-top: 32px; padding: 42px 38px; background: rgba(228, 199, 180, .28); border: 1px solid rgba(82, 70, 50, .18); border-top: 7px solid var(--ov-primary); border-radius: 3px; }
.observatorio-violencias-section .violencias-eyebrow { margin: 0 0 8px; color: var(--ov-purple); font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.observatorio-violencias-section .violencias-indicators h2 { margin: 0 0 34px; color: var(--ov-dark); font-size: clamp(26px, 3vw, 38px); line-height: 1.1; }
.observatorio-violencias-section .violencias-indicator-list { display: grid; gap: 28px; }
.observatorio-violencias-section .violencias-indicator { display: grid; grid-template-columns: 24px 1fr; gap: 17px; align-items: start; }
.observatorio-violencias-section .violencias-indicator-marker { width: 20px; height: 20px; margin-top: 9px; border: 4px solid var(--indicator-color); box-shadow: 5px 5px 0 rgba(26, 29, 26, .09); }
.observatorio-violencias-section .violencias-indicator strong { display: block; color: var(--indicator-color); font-size: clamp(22px, 2.2vw, 30px); line-height: 1; font-weight: 800; }
.observatorio-violencias-section .violencias-indicator p { margin: 7px 0 0; color: var(--ov-dark); font-size: 16px; line-height: 1.45; }

.observatorio-violencias-section .violencias-state-page { padding-top: 0; }
.observatorio-violencias-section .violencias-state-header { padding: 72px 0 58px; background: rgba(228, 199, 180, .32); border-bottom: 1px solid rgba(141, 196, 181, .65); }
.observatorio-violencias-section .violencias-back { display: inline-block; margin-bottom: 34px; color: var(--ov-primary); font-weight: 700; }
.observatorio-violencias-section .violencias-back:hover, .observatorio-violencias-section .violencias-back:focus { color: var(--ov-blue); }
.observatorio-violencias-section .violencias-state-header h1 { max-width: 900px; }
.observatorio-violencias-section .violencias-state-intro { max-width: 900px; }
.observatorio-violencias-section .violencias-tables { padding-top: 62px; }
.observatorio-violencias-section .violencias-table-block + .violencias-table-block { margin-top: 58px; }
.observatorio-violencias-section .violencias-table-block h2 { position: relative; margin: 0 0 22px; padding-left: 18px; color: var(--ov-primary); font-size: clamp(23px, 3vw, 34px); line-height: 1.25; }
.observatorio-violencias-section .violencias-table-block h2::before { content: ""; position: absolute; left: 0; top: .15em; width: 5px; height: 1.1em; background: var(--ov-purple); }
.observatorio-violencias-section .violencias-table-scroll { width: 100%; overflow-x: auto; border: 1px solid rgba(82, 70, 50, .24); border-radius: 3px; box-shadow: 0 10px 28px rgba(26, 29, 26, .07); }
.observatorio-violencias-section .violencias-table-scroll:focus { outline: 3px solid rgba(86, 104, 159, .45); outline-offset: 3px; }
.observatorio-violencias-section .violencias-table-block table { width: 100%; min-width: 680px; margin: 0; border-collapse: collapse; color: var(--ov-dark); background: var(--ov-white); }
.observatorio-violencias-section .violencias-table-block th, .observatorio-violencias-section .violencias-table-block td { padding: 15px 17px; border: 1px solid rgba(82, 70, 50, .2); text-align: center; vertical-align: middle; }
.observatorio-violencias-section .violencias-table-block thead tr:first-child th { color: var(--ov-white); background: var(--ov-primary); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.observatorio-violencias-section .violencias-table-block thead tr:nth-child(2) th { color: var(--ov-dark); background: rgba(141, 196, 181, .55); }
.observatorio-violencias-section .violencias-table-block tbody th { color: var(--ov-primary); background: rgba(228, 199, 180, .25); text-align: left; }
.observatorio-violencias-section .violencias-table-block tbody tr:hover { background: rgba(141, 196, 181, .13); }
.observatorio-violencias-section .violencias-total { color: var(--ov-blue); font-weight: 800; }

@media (max-width: 1200px) {
    .observatorio-violencias-section .violencias-container { margin-right: 20px; margin-left: 20px; }
}

@media (max-width: 900px) {
    .observatorio-violencias-section .violencias-page { padding-top: 52px; }
    .observatorio-violencias-section .violencias-hero { grid-template-columns: 1fr; gap: 46px; }
    .observatorio-violencias-section .violencias-indicators { margin-top: 0; }
    .observatorio-violencias-section .violencias-state-page { padding-top: 0; }
}

@media (max-width: 600px) {
    .observatorio-violencias-section .violencias-page { padding-bottom: 58px; }
    .observatorio-violencias-section .violencias-container { width: auto; margin-right: 14px; margin-left: 14px; }
    .observatorio-violencias-section .violencias-hero { display: block; width: auto; }
    .observatorio-violencias-section .violencias-map-column, .observatorio-violencias-section .violencias-map, .observatorio-violencias-section .violencias-map svg, .observatorio-violencias-section .violencias-indicators { width: 100%; max-width: 100%; }
    .observatorio-violencias-section .violencias-map svg { max-height: none; }
    .observatorio-violencias-section .violencias-intro { margin-top: 26px; padding-left: 17px; }
    .observatorio-violencias-section .violencias-intro h1, .observatorio-violencias-section .violencias-intro h2, .observatorio-violencias-section .violencias-state-header h1, .observatorio-violencias-section .violencias-rich-text, .observatorio-violencias-section .violencias-state-intro, .observatorio-violencias-section .violencias-map-credit { max-width: 100%; white-space: normal !important; overflow-wrap: break-word; }
    .observatorio-violencias-section .violencias-map-credit { padding: 0 8px; }
    .observatorio-violencias-section .violencias-indicators { padding: 30px 22px; }
    .observatorio-violencias-section .violencias-map-column + .violencias-indicators { margin-top: 46px; }
    .observatorio-violencias-section .violencias-state-header { padding: 48px 0 42px; }
    .observatorio-violencias-section .violencias-tables { padding-top: 42px; }
    .observatorio-violencias-section .violencias-table-block th, .observatorio-violencias-section .violencias-table-block td { padding: 12px 13px; }
}
