/*
Theme Name: Marchena
Theme URI: https://www.marchena.es/
Author: Ayuntamiento de Marchena
Description: Tema institucional para el Ayuntamiento de Marchena. Diseno a medida (azul institucional y oro), tipografias Libre Franklin y Source Serif 4.
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: marchena
*/

/* Accesibilidad: texto solo para lectores de pantalla */
.mrch-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Accesibilidad: enlace "saltar al contenido" (visible al enfocar con el teclado) */
.mrch-skip{position:absolute;left:8px;top:-56px;z-index:2000;background:#0e2c54;color:#fff;padding:11px 18px;border-radius:0 0 6px 6px;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s ease;}
.mrch-skip:focus{top:0;outline:3px solid #c8a24a;outline-offset:2px;}

/* Herramienta de accesibilidad (botón + panel) */
.mrch-a11y{position:relative;}
.mrch-a11y__toggle{display:flex;align-items:center;gap:6px;background:none;border:0;color:inherit;font:inherit;font-size:13px;line-height:1;cursor:pointer;opacity:.9;padding:0;}
.mrch-a11y__toggle:hover,.mrch-a11y__toggle:focus{opacity:1;}
.mrch-a11y__badge{border:1px solid rgba(255,255,255,.4);border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.mrch-a11y__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:1500;background:#fff;color:#1c2430;border:1px solid #d5dae2;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:16px;width:244px;}
.mrch-a11y__panel[hidden]{display:none;}
.mrch-a11y__h{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#5b6472;}
.mrch-a11y__row{display:flex;gap:8px;margin-bottom:12px;}
.mrch-a11y__row button{flex:1;padding:9px 0;border:1px solid #d5dae2;background:#f7f5f0;border-radius:6px;font-weight:700;font-size:15px;cursor:pointer;color:#123a70;}
.mrch-a11y__opt{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:6px;border:1px solid #d5dae2;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#1c2430;}
.mrch-a11y__opt[aria-pressed="true"]{background:#123a70;color:#fff;border-color:#123a70;}
.mrch-a11y__reset{color:#8a4b2f;font-weight:600;}
.mrch-a11y__decl{display:block;margin-top:8px;font-size:13px;color:#123a70;text-decoration:underline;}
.mrch-a11y__toggle:focus-visible,.mrch-a11y__row button:focus-visible,.mrch-a11y__opt:focus-visible,.mrch-a11y__decl:focus-visible{outline:3px solid #c8a24a;outline-offset:2px;}
@media (max-width:520px){.mrch-a11y__panel{position:fixed;top:48px;right:8px;left:8px;width:auto;max-height:78vh;overflow:auto;z-index:2100;}}

/* Estados de accesibilidad aplicados por la herramienta */
html.a11y-text-1{zoom:1.12;}
html.a11y-text-2{zoom:1.25;}
html.a11y-text-3{zoom:1.4;}
html.a11y-links a{text-decoration:underline !important;outline:2px solid #b0842f !important;outline-offset:1px;}
html.a11y-contrast,html.a11y-contrast body{background:#000 !important;}
html.a11y-contrast *:not(svg):not(path):not(rect):not(circle):not(img){background-color:transparent !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;text-shadow:none !important;}
html.a11y-contrast a,html.a11y-contrast a *{color:#ffea00 !important;}
html.a11y-contrast a{text-decoration:underline !important;}
/* El propio panel de accesibilidad debe quedar opaco y legible en alto contraste */
html.a11y-contrast .mrch-a11y__panel{background-color:#000 !important;border:2px solid #fff !important;box-shadow:0 0 0 9999px rgba(0,0,0,.6) !important;}
html.a11y-contrast .mrch-a11y__panel a{color:#ffea00 !important;}
html.a11y-contrast .mrch-a11y__row button,html.a11y-contrast .mrch-a11y__opt{border:1px solid #fff !important;}
html.a11y-contrast .mrch-a11y__opt[aria-pressed="true"]{background-color:#ffea00 !important;color:#000 !important;}

/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-14bcb01d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-7a633a95.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-051382bb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-065516f4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-51277ba7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-14bcb01d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-7a633a95.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-051382bb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-065516f4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-51277ba7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-14bcb01d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-7a633a95.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-051382bb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-065516f4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-51277ba7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-14bcb01d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-7a633a95.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-051382bb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-065516f4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-51277ba7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-14c990cc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-f1df269b.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-018b5145.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-93be6af0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-7a7e8046.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/font-c17fbb5d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-14c990cc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-f1df269b.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-018b5145.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-93be6af0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-7a7e8046.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/font-c17fbb5d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-14c990cc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-f1df269b.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-018b5145.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-93be6af0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-7a7e8046.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/font-c17fbb5d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-14c990cc.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-f1df269b.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-018b5145.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-93be6af0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-7a7e8046.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/font-c17fbb5d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { font-family: "Libre Franklin", system-ui, sans-serif; color: #1c2430; background: #f7f5f0; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; }
  ::selection { background: #123a70; color: #fff; }
  :focus-visible { outline: 3px solid var(--oro, #b0842f); outline-offset: 2px; }
  @keyframes mch-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* =========================================================
   Contenido de paginas creadas desde el editor (.marchena-content)
   ========================================================= */
.marchena-content {
  font-size: 16.5px;
  line-height: 1.7;
  color: #33404f;
  max-width: 820px;
}
.marchena-content > * + * { margin-top: 1.1em; }
.marchena-content h2,
.marchena-content h3,
.marchena-content h4 {
  font-family: "Source Serif 4", Georgia, serif;
  color: var(--azur, #123a70);
  line-height: 1.25;
  font-weight: 700;
  margin-top: 1.8em;
}
.marchena-content h2 { font-size: 27px; letter-spacing: -.2px; }
.marchena-content h3 { font-size: 21px; }
.marchena-content h4 { font-size: 18px; }
.marchena-content p { margin: 0; }
.marchena-content a {
  color: var(--azur, #123a70);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(18, 58, 112, .35);
}
.marchena-content a:hover { text-decoration-color: var(--oro, #b0842f); }
.marchena-content ul,
.marchena-content ol { margin: 0; padding-left: 1.4em; }
.marchena-content li + li { margin-top: .4em; }
.marchena-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.marchena-content blockquote {
  margin: 1.4em 0;
  padding: 6px 22px;
  border-left: 4px solid var(--oro, #b0842f);
  color: #4a5464;
  font-style: italic;
}
.marchena-content figure { margin: 0; }
.marchena-content figcaption {
  font-size: 13px;
  color: #7a828f;
  margin-top: 8px;
}
.marchena-content table {
  border-collapse: collapse;
  width: 100%;
  font-size: 15px;
}
.marchena-content th,
.marchena-content td {
  border: 1px solid #e0ddd3;
  padding: 10px 14px;
  text-align: left;
}
.marchena-content th {
  background: #f2eee5;
  color: var(--azur, #123a70);
  font-weight: 600;
}
.marchena-content hr {
  border: 0;
  border-top: 1px solid #e0ddd3;
  margin: 2em 0;
}

/* ============================================================
   Navegación principal: desplegables + menú móvil (hamburguesa)
   ============================================================ */
.mrch-nav {
  border-top: 1px solid rgba(255, 255, 255, .14);
  position: relative;
}
.mrch-navwrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 2px;
}
.mrch-navlink {
  padding: 14px 18px;
  font-size: 14.5px;
  font-weight: 500;
  color: #dfe6f2;
  border-bottom: 3px solid transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.mrch-navlink:hover,
.mrch-navlink:focus { color: #fff; }
.mrch-navlink--active {
  color: #fff;
  font-weight: 600;
  border-bottom-color: var(--oro, #b0842f);
}
.mrch-caret { font-size: 11px; opacity: .85; }

.mrch-has-sub { position: relative; display: flex; }
.mrch-sub {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 262px;
  background: #fff;
  border-top: 3px solid var(--oro, #b0842f);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.mrch-has-sub:hover > .mrch-sub,
.mrch-has-sub:focus-within > .mrch-sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mrch-sub li a {
  display: block;
  padding: 10px 20px;
  font-size: 13.5px;
  color: #1c2430;
  text-decoration: none;
  line-height: 1.3;
}
.mrch-sub li a:hover,
.mrch-sub li a:focus {
  background: #f0ece2;
  color: var(--azur, #123a70);
}

.mrch-navtoggle { display: none; }

@media (max-width: 860px) {
  .mrch-navtoggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 14px 24px;
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .10);
    cursor: pointer;
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
  }
  .mrch-navtoggle-bars,
  .mrch-navtoggle-bars::before,
  .mrch-navtoggle-bars::after {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
  }
  .mrch-navtoggle-bars { position: relative; }
  .mrch-navtoggle-bars::before { position: absolute; top: -6px; }
  .mrch-navtoggle-bars::after  { position: absolute; top: 6px; }

  .mrch-navwrap {
    display: none;
    flex-direction: column;
    padding: 0 0 8px;
  }
  .mrch-nav.is-open .mrch-navwrap { display: flex; }
  .mrch-navlink {
    padding: 13px 24px;
    border-bottom: 0;
    width: 100%;
  }
  .mrch-navlink--active {
    border-bottom: 0;
    box-shadow: inset 3px 0 0 var(--oro, #b0842f);
  }
  .mrch-has-sub { display: block; }
  .mrch-has-sub .mrch-navlink--parent { justify-content: space-between; }
  .mrch-caret { margin-left: auto; }
  .mrch-sub {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border-top: 0;
    background: rgba(0, 0, 0, .16);
    padding: 0;
    display: none;
  }
  .mrch-has-sub.is-open > .mrch-sub { display: block; }
  .mrch-sub li a {
    color: #eaf0f8;
    padding-left: 40px;
  }
  .mrch-sub li a:hover,
  .mrch-sub li a:focus {
    background: rgba(255, 255, 255, .08);
    color: #fff;
  }
}

/* ============================================================
   Responsive: cabecera, buscador, barra de utilidad y pie
   ============================================================ */
/* Imagenes y tablas del contenido nunca desbordan */
.marchena-content img { max-width: 100%; height: auto; }

@media (max-width: 860px) {
  .mrch-headtop {
    flex-direction: column;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .mrch-search {
    min-width: 0 !important;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .mrch-utilbar {
    height: auto !important;
    flex-wrap: wrap;
    justify-content: center !important;
    gap: 4px 14px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .mrch-utilbar > div {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 14px !important;
  }
  .mrch-footgrid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .marchena-content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .mrch-footgrid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   Actualidad: rejilla de tarjetas (col-4 escritorio / col-12 movil)
   ============================================================ */
@media (max-width: 860px) {
  .mrch-actualidad-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   El Ayuntamiento: pagina con menu lateral (WEB-07)
   ============================================================ */
.mrch-ayto { display: grid; grid-template-columns: 262px 1fr; gap: 44px; align-items: start; }

.mrch-ayto__nav { position: sticky; top: 18px; }
.mrch-ayto__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.mrch-ayto__navlink {
  display: block;
  padding: 11px 14px; border-radius: 8px; text-decoration: none;
  color: var(--azur, #123a70); font-weight: 600; font-size: 14.5px; line-height: 1.3;
  border-left: 3px solid transparent; transition: background .15s, border-color .15s, color .15s;
}
.mrch-ayto__navlink:hover { background: #f0ece2; }
.mrch-ayto__navlink.is-active { background: var(--azur, #123a70); color: #fff; border-left-color: var(--oro, #b0842f); }

.mrch-ayto__panel {
  background: #fff; border: 1px solid #e2ddd0; border-radius: 12px;
  padding: 34px 38px; box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
}
.mrch-ayto__panel + .mrch-ayto__panel { margin-top: 28px; } /* solo aplica sin JS */
.mrch-ayto.js-tabs .mrch-ayto__panel { display: none; }
.mrch-ayto.js-tabs .mrch-ayto__panel.is-active { display: block; }
.mrch-ayto__panel:focus { outline: none; }
.mrch-ayto__panel h2 {
  font-family: "Source Serif 4", Georgia, serif; font-size: 27px; font-weight: 700;
  color: var(--azur, #123a70); letter-spacing: -.2px; line-height: 1.2; margin: 0 0 18px;
}
.mrch-ayto__panel h3 {
  font-family: "Source Serif 4", Georgia, serif; font-size: 19px; font-weight: 700;
  color: var(--azur, #123a70); margin: 26px 0 12px;
}
.mrch-ayto__panel p { margin: 0 0 14px; font-size: 16px; line-height: 1.7; color: #33404f; }
.mrch-ayto__panel ul { margin: 0 0 14px; padding-left: 0; list-style: none; }
.mrch-ayto__panel ul li {
  position: relative; padding-left: 20px; margin: 0 0 9px;
  font-size: 15.5px; line-height: 1.55; color: #33404f;
}
.mrch-ayto__panel ul li::before {
  content: ""; position: absolute; left: 2px; top: 9px;
  width: 7px; height: 7px; border-radius: 50%; background: var(--oro, #b0842f);
}

.mrch-ayto table { border-collapse: collapse; width: 100%; font-size: 14.5px; margin: 4px 0 6px; }
.mrch-ayto th,
.mrch-ayto td { border: 1px solid #e0ddd3; padding: 10px 13px; text-align: left; vertical-align: top; }
.mrch-ayto th { background: #f2eee5; color: var(--azur, #123a70); font-weight: 600; }
.mrch-ayto td.mrch-ayto__num { text-align: center; color: #8a8574; font-variant-numeric: tabular-nums; }
.mrch-ayto__grupo {
  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .3px;
  padding: 2px 9px; border-radius: 999px; background: #eef1f6; color: var(--azur, #123a70);
}

/* Contenido traído de páginas existentes (Tenencias, Comisiones, Mesa): listas
   de nombres compactas y viñetas normales, sin heredar el estilo de los otros paneles. */
.mrch-ayto__doc { font-size: 15.5px; }
.mrch-ayto__doc p { margin: 0; }
.mrch-ayto__doc > * + * { margin-top: .5em; }
.mrch-ayto__doc ul { list-style: disc; padding-left: 1.35em; }
.mrch-ayto__doc ul li { padding-left: 0; margin: 0 0 4px; }
.mrch-ayto__doc ul li::before { content: none; }

.mrch-ayto__saluda { display: grid; grid-template-columns: 220px 1fr; gap: 30px; align-items: start; }
.mrch-ayto__foto { margin: 0; }
.mrch-ayto__foto img { width: 100%; height: auto; display: block; border-radius: 10px; border: 1px solid #cfd5df; }
.mrch-ayto__foto figcaption { font-size: 12.5px; color: #7a828f; margin-top: 8px; line-height: 1.4; }
.mrch-ayto__ph {
  background: repeating-linear-gradient(135deg, #d9dde6 0 12px, #e4e7ee 12px 24px);
  border: 1px solid #cfd5df; border-radius: 10px; aspect-ratio: 3 / 4;
  display: flex; align-items: center; justify-content: center; text-align: center;
}
.mrch-ayto__ph span {
  font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12px; color: #7a828f;
  background: rgba(255, 255, 255, .85); padding: 6px 10px; border-radius: 4px;
}
.mrch-ayto__firma { margin-top: 22px; padding-top: 18px; border-top: 1px solid #ece7db; }
.mrch-ayto__firma .n { font-family: "Source Serif 4", Georgia, serif; font-weight: 700; color: var(--azur, #123a70); font-size: 17px; }
.mrch-ayto__firma .c { font-size: 14px; color: #6a7382; }

@media (max-width: 860px) {
  .mrch-ayto { grid-template-columns: 1fr; gap: 22px; }
  .mrch-ayto__nav { position: static; }
  .mrch-ayto__list { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .mrch-ayto__list .mrch-ayto__navlink { border-left: 0; border: 1px solid #e2ddd0; }
  .mrch-ayto__list .mrch-ayto__navlink.is-active { border-color: var(--azur, #123a70); }
  .mrch-ayto__panel { padding: 24px 20px; }
  .mrch-ayto__saluda { grid-template-columns: 1fr; }
  .mrch-ayto__foto { max-width: 240px; }
  .mrch-ayto table { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
}
