/* Portada panorámica de eventos: aislada de los catálogos y fichas existentes. */
.presencial-events-page { background:#f5f9fd; }
.pe-hero { color:#fff; background:#110c09 url('assets/banners/catalogo-presencial-hero-20261008.webp') center 52%/cover no-repeat; }
.pe-hero-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:190px; padding-block:22px; }
.pe-hero-inner > div { max-width:68%; }
.pe-eyebrow { display:inline-block; background:#e80020; color:#fff; font-size:10px; font-weight:800; padding:5px 9px; border-radius:3px; margin-bottom:8px; }
.pe-hero h1 { font-size:clamp(27px,2.3vw,38px); font-weight:900; line-height:1.15; letter-spacing:-1px; margin-bottom:10px; }
.pe-hero h1 span { color:#ffcd00; }
.pe-hero p { font-size:12px; line-height:1.6; color:#edeef1; }
.pe-hero ul { display:grid; gap:9px; list-style:none; padding:15px 18px; border-radius:5px; background:#060908cc; font-size:11px; min-width:210px; }
.pe-hero li { display:flex; align-items:center; gap:10px; }
.pe-hero li i { color:#ffcd00; width:18px; text-align:center; font-size:16px; }
.pe-shortcuts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding-block:12px; }
.pe-shortcuts > a { display:flex; align-items:center; gap:13px; border:1px solid #e2e8f1; border-radius:4px; padding:13px 15px; box-shadow:0 3px 7px #20345207; background:#f8fbff; }
.pe-shortcuts > a > i { font-size:23px; }
.pe-shortcuts b { display:block; font-size:11px; font-weight:800; line-height:1.3; }
.pe-shortcuts small { display:block; font-size:9px; color:#72819a; margin-top:3px; }
.pe-shortcuts a.is-active { background:#ee0021; border-color:#ee0021; color:#fff; }
.pe-shortcuts a.is-active small { color:#ffe4e9; }
.pe-shortcuts a.pe-calendar-shortcut { background:#ffda26; border-color:#f5ca18; color:#122037; }
.pe-layout { display:grid; grid-template-columns:220px minmax(0,1fr) 290px; gap:22px; align-items:start; padding:8px 0 35px; }
.pe-sidebar,.pe-results,.pe-right { min-width:0; }
.pe-filters-panel { background:#f1f6fc; border:1px solid #dfe7f0; border-radius:5px; padding:14px; }
.pe-filters-panel summary { display:flex; align-items:center; justify-content:space-between; list-style:none; font-size:14px; font-weight:800; cursor:pointer; }
.pe-filters-panel summary::-webkit-details-marker { display:none; }
.pe-filters-panel summary i { font-size:12px; margin-right:6px; }
.pe-filters-panel[open] summary > i { transform:rotate(180deg); }
.pe-clear { display:block; text-align:right; font-size:9px; color:#73839a; margin:10px 0 17px; }
.pe-clear:hover { color:#ee0021; }
.pe-sidebar form { display:grid; gap:16px; }
.pe-field { display:grid; gap:7px; font-size:11px; font-weight:800; }
.pe-sidebar input[type=search],.pe-sidebar select { width:100%; border:1px solid #dce5ef; border-radius:4px; padding:8px; color:#51627a; background:#f9fcff; font-size:10px; font-weight:500; min-width:0; }
.pe-search { position:relative; }
.pe-search > i { position:absolute; top:10px; left:9px; color:#8391a5; font-size:10px; }
.pe-search input { padding-left:27px!important; }
.pe-sidebar fieldset { border:0; padding:0; min-width:0; }
.pe-sidebar legend { font-size:11px; font-weight:800; margin-bottom:8px; }
.pe-radio { display:flex; align-items:center; gap:6px; font-size:10px; color:#53657f; margin-bottom:7px; cursor:pointer; }
.pe-radio input { accent-color:#ee0021; margin:0; width:13px; height:13px; flex-shrink:0; }
.pe-radio span { flex:1; }
.pe-radio b { font-size:9px; font-weight:600; }
.pe-apply { color:#fff; background:#ee0021; border:0; padding:10px; border-radius:4px; cursor:pointer; font-size:11px!important; font-weight:800!important; }
.pe-results { scroll-margin-top:15px; }
.pe-results-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }
.pe-results-heading h2 { display:flex; align-items:center; gap:10px; font-size:23px; letter-spacing:-.5px; font-weight:800; }
.pe-results-heading h2 i { color:#ee0021; }
.pe-results-heading p { font-size:10px; color:#63738c; margin-top:5px; }
.pe-views { display:flex; border:1px solid #dce5ef; border-radius:4px; background:#fff; padding:2px; flex-shrink:0; }
.pe-views > a { padding:6px 7px; border-radius:3px; font-size:9px; color:#52657f; }
.pe-views > a[aria-current=page] { background:#ee0021; color:#fff; }
.pe-results-bar { display:flex; justify-content:space-between; gap:14px; font-size:10px; color:#74839a; margin-bottom:13px; }
.pe-results-bar a { color:#bc001b; font-weight:700; }
.pe-event-list { display:grid; gap:12px; }
.pe-event { display:grid; grid-template-columns:59px minmax(0,1fr) 180px 138px; align-items:center; gap:14px; padding:10px; background:#fff; border:1px solid #e5ebf3; border-radius:6px; box-shadow:0 3px 8px #20345006; }
.pe-date { display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:stretch; min-height:94px; padding:8px 5px; color:#fff; background:linear-gradient(140deg,#14202b,#030b11); border:1px solid #293847; border-radius:5px; }
.pe-date b { font-size:30px; font-weight:900; line-height:1.15; }
.pe-date span { font-size:12px; }.pe-date small { font-size:9px; margin-top:4px; }.pe-date > i { font-size:25px; margin-bottom:5px; }
.pe-badge { display:inline-block; padding:3px 6px; border-radius:3px; font-size:8px; line-height:1.15; color:#fff; background:#ee0021; font-weight:800; }
.pe-badge.zoom { background:#ee0021; }
.pe-event h3 { font-size:17px; font-weight:800; line-height:1.25; margin:6px 0 4px; overflow-wrap:anywhere; }
.pe-event h3 a:hover { color:#ee0021; }
.pe-event-copy > p { font-size:10px; color:#66758d; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pe-event-meta { display:flex; flex-wrap:wrap; gap:6px 10px; font-size:9px; color:#61718a; margin-top:9px; }
.pe-event-meta > span { display:flex; align-items:center; gap:4px; }.pe-event-meta > span:first-child { max-width:100%; overflow-wrap:anywhere; }
.pe-event-photos { display:flex; gap:5px; min-width:0; }
.pe-event-photos > a { flex:1; min-width:0; }
.pe-event-photos img { display:block; width:100%; height:64px; border-radius:4px; object-fit:cover; background:#edf2f8; }
.pe-event-photos > img { max-width:100%; object-fit:contain; }
.pe-event-action { display:flex; flex-direction:column; align-items:stretch; gap:6px; }
.pe-event-action > small { font-size:9px; font-weight:700; }.pe-countdown { background:#f0f4fa; padding:8px 4px; border-radius:3px; font-size:12px; font-variant-numeric:tabular-nums; text-align:center; }
.pe-event-status { color:#607089; font-size:11px; font-weight:600; text-align:center; background:#f0f4fa; padding:8px 4px; border-radius:3px; }
.pe-event-action > a { display:flex; align-items:center; justify-content:center; gap:7px; color:#142138; background:#ffcd00; padding:8px 7px; border-radius:3px; font-size:10px; font-weight:800; }
.pe-event-action > a:hover { background:#efbf00; }
.pe-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:48px 24px; border:1px dashed #cbd7e7; border-radius:6px; background:#fff; }
.pe-empty > i { font-size:33px; color:#a4b4c9; margin-bottom:15px; }.pe-empty h3 { font-size:18px; font-weight:800; margin-bottom:8px; }.pe-empty p { font-size:12px; color:#6d7e97; line-height:1.6; }
.pe-empty > div { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:18px; }.pe-empty a { background:#ffcd00; color:#15233c; padding:9px 13px; border-radius:4px; font-size:11px; font-weight:800; }.pe-empty a + a { background:#edf2f8; }
.pe-pagination { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:17px 0; font-size:10px; color:#73839c; }.pe-pagination nav { display:flex; gap:5px; }.pe-pagination nav a { display:grid; place-items:center; height:28px; min-width:28px; border:1px solid #dce5ef; background:#fff; border-radius:4px; }.pe-pagination a[aria-current=page] { color:#fff; background:#ee0021; border-color:#ee0021; }
.pe-right { display:grid; gap:14px; }
.pe-dark { color:#fff; background:#06131f; padding:12px; border:1px solid #203141; border-radius:5px; }
.pe-dark h2 { font-size:13px; font-weight:800; }.pe-card-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:9px; }
.pe-card-heading > span { background:#304052; color:#c4cfda; font-size:8px; font-weight:800; padding:4px 6px; border-radius:3px; white-space:nowrap; }.pe-card-heading > span.is-live { background:#ed0021; color:#fff; }
.pe-live-preview { position:relative; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:#03070a; }.pe-live-preview img { width:100%; height:100%; object-fit:cover; opacity:.6; }.pe-live-preview > i { position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); font-size:34px; color:#ffffffa6; }.pe-live-preview > span { position:absolute; bottom:8px; left:8px; font-size:9px; color:#e6eaf0; }
.pe-live > p { font-size:10px; color:#d5dce5; line-height:1.6; margin:10px 0 5px; }.pe-live > small { display:block; font-size:9px; color:#a6b5c8; }
.pe-live .tvlive-btn { width:100%; justify-content:center; font-size:10px; padding:10px 8px; margin:8px 0; border-radius:4px; }
.pe-next-location > h2 { margin-bottom:10px; }.pe-next-location iframe { width:100%; height:150px; border:0; border-radius:4px 4px 0 0; background:#f3f5f6; }
.pe-address { background:#fff; color:#19283c; padding:12px; border-radius:0 0 4px 4px; }.pe-address strong { font-size:11px; }.pe-address p { color:#667991; font-size:10px; line-height:1.5; margin:5px 0 8px; }.pe-address a { font-size:10px; font-weight:800; background:#e9eff7; border-radius:3px; padding:6px 8px; display:inline-block; }
.pe-location-empty { padding:18px 10px; background:#102335; border-radius:4px; text-align:center; }.pe-location-empty > i { display:block; font-size:32px; color:#ffcd00; margin-bottom:12px; }.pe-location-empty strong { font-size:12px; }.pe-location-empty p { font-size:10px; color:#acbbce; margin:8px 0 13px; line-height:1.6; }.pe-location-empty a { font-size:10px; color:#ffda3e; font-weight:700; }
.pe-how { scroll-margin-top:15px; }.pe-how ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:14px 0; list-style:none; }.pe-how li { position:relative; text-align:center; }.pe-how li > b { display:grid; place-items:center; width:28px; height:28px; background:#ffcd00; color:#102138; border-radius:50%; font-size:12px; margin:0 auto 9px; }.pe-how li > strong { display:block; font-size:8px; }.pe-how li > p { font-size:8px; color:#b0c0d3; line-height:1.5; margin-top:5px; }.pe-how > a { display:block; color:#ffcd00; border-top:1px solid #26384b; padding-top:10px; font-size:10px; }
.pe-locations { border-top:1px solid #dce5ef; padding-top:18px; scroll-margin-top:15px; }.pe-locations h2 { font-size:18px; font-weight:800; margin-bottom:12px; }.pe-locations h2 i { color:#ee0021; }.pe-locations > p { font-size:12px; color:#70819a; line-height:1.6; }.pe-locations > a { display:inline-block; margin-top:10px; color:#ba001b; font-size:11px; font-weight:700; }.pe-locations > div { display:grid; gap:10px; }.pe-locations > div > a { display:flex; justify-content:space-between; gap:15px; background:#fff; border:1px solid #dce5ef; padding:14px; border-radius:4px; font-size:12px; }.pe-locations b { color:#ba001b; font-size:10px; white-space:nowrap; }
.pe-calendar { background:#fff; border:1px solid #dce5ef; border-radius:6px; overflow:hidden; }.pe-month { display:flex; justify-content:space-between; align-items:center; padding:15px; background:#fff; }.pe-month h3 { font-size:18px; font-weight:800; }.pe-month > a { padding:7px 10px; border-radius:3px; border:1px solid #e1e7ef; color:#677b94; }.pe-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.pe-weekday { background:#f1f5fa; font-size:10px; color:#62748d; padding:10px 4px; text-align:center; }.pe-calendar-day,.pe-blank { border-top:1px solid #e5ebf3; border-right:1px solid #e5ebf3; min-height:88px; padding:6px; min-width:0; }.pe-calendar-day > time { display:block; font-size:11px; font-weight:700; color:#6b7d96; }.pe-calendar-day.is-today > time { color:#ee0021; }.pe-calendar-day a { display:block; background:#fff0f3; border-left:2px solid #ee0021; color:#aa001a; padding:5px; font-size:9px; line-height:1.3; margin-top:5px; overflow-wrap:anywhere; }.pe-calendar-day a b { display:block; font-size:8px; margin-bottom:2px; }.pe-calendar-note { padding:12px; font-size:10px; color:#72849a; border-top:1px solid #e5ebf3; }
.pe-unassigned { margin:10px 0 22px; }.pe-unassigned > h2 { font-size:19px; }.pe-unassigned > p { font-size:11px; color:#70819a; margin:8px 0 13px; }.pe-lot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.pe-lot-grid article { background:#fff; border:1px solid #dce5ef; border-radius:5px; overflow:hidden; padding-bottom:10px; }.pe-lot-grid img { width:100%; height:110px; object-fit:cover; }.pe-lot-grid h3,.pe-lot-grid small,.pe-lot-grid b,.pe-lot-grid article > a:last-child { margin:8px 10px; display:block; font-size:11px; }.pe-lot-grid b { color:#dc0020; font-size:15px; }.pe-lot-grid article > a:last-child { color:#b6001b; font-weight:700; }.pe-lot-pages { display:flex; gap:12px; justify-content:center; font-size:12px; margin:15px 0; }
@media(min-width:1700px) { .pe-layout { grid-template-columns:240px minmax(0,1fr) 330px; gap:26px; }.pe-event { grid-template-columns:66px minmax(0,1fr) 240px 160px; padding:13px; }.pe-event-photos img { height:80px; }.pe-event h3 { font-size:19px; } }
@media(max-width:1350px) { .pe-layout { grid-template-columns:190px minmax(0,1fr) 250px; gap:16px; }.pe-shortcuts { gap:8px; }.pe-shortcuts > a { padding:10px; gap:8px; }.pe-shortcuts > a > i { font-size:20px; }.pe-event { grid-template-columns:50px minmax(0,1fr) 130px; gap:10px; }.pe-event-photos { grid-column:2; grid-row:2; }.pe-event-photos img { height:48px; }.pe-event-action { grid-column:3; grid-row:1/3; }.pe-date { grid-row:1/3; }.pe-event h3 { font-size:15px; }.pe-results-heading { flex-wrap:wrap; gap:10px; }.pe-results-heading h2 { font-size:21px; } }
@media(max-width:1100px) { .pe-layout { grid-template-columns:200px minmax(0,1fr); gap:18px; }.pe-right { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); }.pe-shortcuts { grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:180px; overflow-x:auto; scrollbar-width:thin; padding-bottom:14px; }.pe-hero-inner { min-height:180px; }.pe-hero h1 { font-size:29px; } }
@media(max-width:800px) { .pe-layout { grid-template-columns:1fr; gap:16px; }.pe-right { grid-template-columns:1fr 1fr; }.pe-how { grid-column:1/-1; }.pe-filters-panel { padding:13px; }.pe-sidebar form { grid-template-columns:1fr 1fr; gap:14px; }.pe-sidebar form > label:first-child,.pe-apply { grid-column:1/-1; }.pe-hero-inner > div { max-width:100%; }.pe-hero ul { display:none; }.pe-hero-inner { background:linear-gradient(90deg,#04090be0,#04090b50); }.pe-locations > div > a { flex-direction:column; }.pe-results-bar { flex-wrap:wrap; } }
@media(max-width:550px) { .pe-hero h1 { font-size:27px; }.pe-hero p { font-size:11px; }.pe-hero-inner { min-height:210px; }.pe-event { grid-template-columns:47px minmax(0,1fr); gap:10px; }.pe-date { grid-row:1/3; }.pe-event-photos { grid-column:2; grid-row:2; }.pe-event-action { grid-column:1/-1; grid-row:3; flex-direction:row; align-items:center; }.pe-event-action > a { margin-left:auto; padding:8px 11px; }.pe-event-status { padding:7px; font-size:10px; }.pe-countdown { font-size:11px; }.pe-event h3 { font-size:16px; }.pe-event-photos img { height:64px; }.pe-date b { font-size:27px; }.pe-right { grid-template-columns:1fr; }.pe-how { grid-column:auto; }.pe-calendar-day,.pe-blank { min-height:70px; padding:4px; }.pe-calendar-day a { padding:3px; font-size:8px; }.pe-pagination { flex-wrap:wrap; }.pe-lot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
