/* M27: solo componentes .etp-section; no altera PageLayer, tema o portada. */
.etp-section{--etp-blue:#0a1b65;--etp-red:#fc4a38;--etp-action:#b92e20;--etp-ink:#18223b;--etp-muted:#535d70;--etp-paper:#fff;--etp-soft:#f1f4fd;--etp-line:#d9dfed;--etp-radius:14px;--etp-space:24px;max-width:1170px;margin:0 auto;padding:32px 20px 48px;color:var(--etp-ink);font-family:var(--pagelayer-font-text-font-family,Karla),Arial,sans-serif;font-size:17px;line-height:1.6}
.etp-section,.etp-section *{box-sizing:border-box}
.etp-section [hidden]{display:none!important}
.etp-section :focus-visible{outline:3px solid var(--etp-blue);outline-offset:4px}
.etp-section a{color:var(--etp-action);text-underline-offset:.2em;overflow-wrap:anywhere}
.etp-section .etp-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.etp-section .etp-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--etp-line);border-radius:24px;background:var(--etp-paper);font-size:15px;font-weight:700;text-decoration:none;color:var(--etp-blue)}
.etp-section .etp-nav a[aria-current=page]{color:var(--etp-paper);background:var(--etp-blue);border-color:var(--etp-blue)}
.etp-section .etp-page-heading{padding:32px;border:1px solid var(--etp-line);border-top:5px solid var(--etp-red);border-radius:var(--etp-radius);background:var(--etp-soft);margin-bottom:var(--etp-space)}
.etp-section .etp-eyebrow{margin:0 0 8px;color:var(--etp-blue);font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.etp-section h1{font-size:clamp(28px,3.5vw,44px);line-height:1.15;color:var(--etp-blue);margin:0 0 16px;overflow-wrap:anywhere}
.etp-section .etp-page-heading p:last-child{max-width:80ch;margin:0;color:var(--etp-muted)}
.etp-section h2,.etp-section h3{line-height:1.3;color:var(--etp-blue);overflow-wrap:anywhere}
.etp-section .filters{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:20px;border:1px solid var(--etp-line);border-radius:var(--etp-radius);background:var(--etp-paper)}
.etp-section .filters-entities{grid-template-columns:minmax(0,1fr) auto}
.etp-section .filters label{display:block;min-width:0;font-size:15px;font-weight:700;color:var(--etp-blue)}
.etp-section input,.etp-section select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin-top:6px;padding:10px 12px;border:1px solid #8a95b1;border-radius:8px;font:inherit;color:var(--etp-ink);background:var(--etp-paper)}
.etp-section .reset{min-height:48px;padding:10px 16px;border:1px solid #8a95b1;border-radius:8px;background:var(--etp-paper);color:var(--etp-blue);font:inherit;font-weight:700;cursor:pointer}
.etp-section .result-meta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}
.etp-section .result-meta p{margin:0;color:var(--etp-blue);font-weight:700}
.etp-section .entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--etp-space)}
.etp-section .entity-card,.etp-section .center-card{min-width:0;padding:24px;border:1px solid var(--etp-line);border-radius:var(--etp-radius);background:var(--etp-paper)}
.etp-section .entity-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.etp-section .entity-card h2,.etp-section .center-card h3{font-size:22px;margin:0}
.etp-section .entity-card p,.etp-section address{margin:0;overflow-wrap:anywhere}
.etp-section address{font-style:normal;margin:12px 0 16px}
.etp-section .etp-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;margin-top:auto;padding:10px 16px;border-radius:8px;background:var(--etp-action);color:var(--etp-paper);font-weight:700;text-align:center;text-decoration:none;white-space:normal}
.etp-section .family{min-width:0;margin:0 0 16px;border:1px solid var(--etp-line);border-radius:var(--etp-radius);background:var(--etp-paper)}
.etp-section .family>summary{display:flex;align-items:center;gap:12px;min-height:76px;padding:20px;cursor:pointer;list-style:none}
.etp-section .family>summary::-webkit-details-marker{display:none}
.etp-section .family-title{min-width:0;flex:1;font-size:21px;line-height:1.35;font-weight:700;color:var(--etp-blue);overflow-wrap:anywhere}
.etp-section .count-pill{flex-shrink:0;padding:3px 10px;border-radius:24px;background:var(--etp-soft);font-size:14px;color:var(--etp-blue);white-space:nowrap}
.etp-section .expand-icon{flex-shrink:0;color:var(--etp-action);font-size:26px;line-height:1}
.etp-section .family[open]>.family-summary,.etp-section .family[open]>summary{background:var(--etp-soft);border-radius:13px 13px 0 0;border-bottom:1px solid var(--etp-line)}
.etp-section .family[open]>summary .expand-icon{transform:rotate(45deg)}
.etp-section .family-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}
.etp-section .center-card h3{font-size:20px}
.etp-section .center-families{margin-top:16px;font-size:14px}
.etp-section .center-families summary{cursor:pointer;font-weight:700}
.etp-section .center-families p{margin:8px 0 0;overflow-wrap:anywhere}
.etp-section .empty-state,.etp-section .etp-notice{padding:20px;border:1px solid var(--etp-line);border-radius:var(--etp-radius);background:var(--etp-soft);color:var(--etp-blue)}
.etp-section .etp-bottom-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;padding-top:20px;border-top:1px solid var(--etp-line)}
.etp-section .noscript{padding:16px;border:1px solid var(--etp-action);border-radius:8px}
@media(max-width:980px){.etp-section .entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.etp-section .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.etp-section{padding:24px 16px 32px}.etp-section .etp-page-heading{padding:24px 20px}.etp-section .entity-grid,.etp-section .family-body,.etp-section .filters,.etp-section .filters-entities{grid-template-columns:minmax(0,1fr)}.etp-section .family>summary{padding:16px 12px;gap:8px}.etp-section .family-title{font-size:18px}.etp-section .family-body{padding:16px}.etp-section .entity-card,.etp-section .center-card{padding:20px}.etp-section .count-pill{font-size:12px;padding:3px 7px}.etp-section .etp-nav{gap:8px}.etp-section .etp-nav a{padding:8px 12px}}

/* M31: home link, scoped to the common ETP section navigation. */
.etp-section .etp-nav a.etp-home-link{gap:7px;white-space:nowrap;flex:0 0 auto}
.etp-section .etp-nav a.etp-home-link svg{display:block;width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
