/* InfoPenedès — nueva portada (v2). Móvil primero. Todo con prefijo .ip- para no chocar con style.css durante la transición.
   Tipografías propias (sin peticiones a Google): PT Serif (titulares) + Inter (interfaz y texto). Burdeos de marca como único color de acento. */

@font-face{font-family:'Inter';src:url('/assets/fonts/inter-latin-var.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'PT Serif';src:url('/assets/fonts/ptserif-700-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'PT Serif';src:url('/assets/fonts/ptserif-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* alternativa con métricas de Inter: evita el salto de maquetación mientras carga la fuente */
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica');size-adjust:107.06%;ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%;}

:root{
  --ip-ink:#161213; --ip-ink-2:#3b3532; --ip-muted:#665f5b;
  --ip-line:#e6e0d9; --ip-line-2:#cfc7be;
  --ip-bg:#fff; --ip-paper:#faf7f2;
  --ip-wine:#8a1224; --ip-wine-d:#6e0e1d; --ip-wine-tint:#f7ecee;
  --ip-serif:'PT Serif',Georgia,'Times New Roman',serif;
  --ip-sans:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ip-gutter:16px; --ip-max:1320px;
  --ip-fs-hero:clamp(1.75rem,1.35rem + 1.5vw,2.5rem);
}
html.ip-lock{overflow:hidden}
/* en las páginas interiores la cabecera y el pie van dentro de un contenedor .ip que no genera caja (así la cabecera fija sigue funcionando) */
.ip-chrome{display:contents}
.ip{margin:0;font-family:var(--ip-sans);font-size:16px;line-height:1.5;color:var(--ip-ink);background:var(--ip-bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ip *,.ip *::before,.ip *::after{box-sizing:border-box}
.ip img{display:block;max-width:100%;height:auto}
.ip picture{display:block}
:where(.ip) a{color:inherit;text-decoration:none}
:where(.ip) :is(h1,h2,h3,p,ul,ol,figure){margin:0;padding:0}
:where(.ip) :is(ul,ol){list-style:none}
.ip button{font:inherit;color:inherit}
.ip :focus-visible{outline:2px solid var(--ip-wine);outline-offset:2px}
.ip-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ip-skip{position:absolute;left:8px;top:-60px;z-index:300;background:var(--ip-ink);color:#fff;padding:12px 16px;font-weight:600;border-radius:2px}
.ip-skip:focus{top:8px}
.ip-wrap{width:100%;max-width:var(--ip-max);margin:0 auto;padding-inline:var(--ip-gutter)}
.ip-ic{flex-shrink:0}

/* ---------- franja de la maqueta ---------- */
.ip-previewbar{background:#fff3cd;color:#5c4a00;text-align:center;font-size:12px;padding:6px 12px;border-bottom:1px solid #ecd98a}

/* ---------- última hora (solo existe cuando hay una noticia urgente) ---------- */
.ip-breaking{background:var(--ip-ink);color:#fff}
.ip-breaking a{display:flex;gap:12px;align-items:baseline;padding:10px 0;min-height:44px}
.ip-breaking-tag{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.ip-dot{width:8px;height:8px;border-radius:50%;background:#ff5a5f;animation:ip-pulse 2s ease-in-out infinite}
.ip-breaking-title{font-weight:600;font-size:15px;line-height:1.35}
.ip-breaking a:hover .ip-breaking-title{text-decoration:underline;text-underline-offset:3px}
@keyframes ip-pulse{50%{opacity:.35}}

/* ---------- cabecera ---------- */
.ip-header{position:sticky;top:0;z-index:60;background:var(--ip-bg);border-bottom:1px solid var(--ip-line)}
.ip-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px}
.ip-logo{display:flex;align-items:center;flex-shrink:0;min-height:44px}
.ip-logo img{height:24px;width:auto}
.ip-date{display:none}
.ip-iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0;background:none;border:0;cursor:pointer;color:var(--ip-ink)}
.ip-iconbtn:hover{color:var(--ip-wine)}
.ip-menubtn{margin-right:-10px}
.ip-menubtn-label{display:none}
.ip-nav{display:none}

/* selector ES | CA: píldora */
.ip-lang{display:inline-flex;flex-shrink:0;border:1px solid var(--ip-line-2);border-radius:999px;overflow:hidden;font-size:12.5px;font-weight:700;letter-spacing:.04em}
.ip-lang a,.ip-lang-cur{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;line-height:1}
.ip-lang a{color:var(--ip-ink)}
.ip-lang a:hover{background:var(--ip-paper);color:var(--ip-wine)}
.ip-lang-cur{background:var(--ip-wine);color:#fff}
.ip-lang-lg a,.ip-lang-lg .ip-lang-cur{min-height:44px;padding:0 20px;font-size:14px}
.ip-lang-dark{border-color:#4a4340}
.ip-lang-dark a{color:#e9e3dd}.ip-lang-dark a:hover{background:#2a2423;color:#fff}

/* pestañas de secciones en móvil (se desplazan con el dedo; fuera de la cabecera fija, así no restan altura al leer) */
.ip-chips{display:flex;align-items:center;gap:2px;overflow-x:auto;padding:0 var(--ip-gutter);border-bottom:1px solid var(--ip-line);scrollbar-width:none;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
.ip-chips::-webkit-scrollbar{display:none}
.ip-chips a,.ip-chip-search{display:inline-flex;align-items:center;flex-shrink:0;min-height:46px;padding:0 12px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--ip-ink)}
.ip-chip-search{min-width:44px;padding:0;margin-left:-4px;background:none;border:0;cursor:pointer}
.ip-chips a:hover{color:var(--ip-wine)}

/* ---------- menú y buscador (diálogos nativos: foco atrapado y Esc, sin librerías) ---------- */
.ip-dlg{padding:0;border:0;background:var(--ip-bg);color:var(--ip-ink);font-family:var(--ip-sans)}
.ip-dlg::backdrop{background:rgba(22,18,19,.55)}
.ip-menu{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;overflow-y:auto;padding:0 var(--ip-gutter) 32px}
.ip-menu[open]{animation:ip-in .18s ease-out}
.ip-dlg-head{display:flex;align-items:center;justify-content:space-between;height:56px}
.ip-dlg-title{font-family:var(--ip-serif);font-weight:700;font-size:20px}
.ip-searchform{display:flex;align-items:center;border:1.5px solid var(--ip-ink);margin:8px 0 16px}
.ip-searchform input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ip-ink);outline-offset:-2px}
.ip-searchform button[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:48px;border:0;background:var(--ip-ink);color:#fff;cursor:pointer}
.ip-menulist a{display:flex;align-items:center;min-height:52px;padding:6px 0;border-bottom:1px solid var(--ip-line);font-family:var(--ip-serif);font-weight:700;font-size:24px}
.ip-menulist a:hover{color:var(--ip-wine)}
.ip-menulist-sep{margin-top:16px}
.ip-menulist-sep a,.ip-menulist-sep+li a{font-family:var(--ip-sans);font-size:16px;font-weight:600}
.ip-dlg-foot{margin-top:24px}
.ip-searchdlg{position:fixed;inset:0 0 auto 0;margin:0 auto;width:100%;max-width:760px;padding:12px var(--ip-gutter) 16px;border-radius:0 0 4px 4px}
.ip-searchdlg[open]{animation:ip-in .16s ease-out}
.ip-searchform-lg{margin:0}
.ip-searchform-lg button.ip-iconbtn{order:3}
@keyframes ip-in{from{opacity:0;transform:translateY(-8px)}}

/* ---------- botones y enlaces de texto ---------- */
.ip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1.5px solid var(--ip-ink);background:transparent;color:var(--ip-ink);font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.ip-btn:hover{background:var(--ip-ink);color:#fff}
.ip-btn-wine{background:var(--ip-wine);border-color:var(--ip-wine);color:#fff}
.ip-btn-wine:hover{background:var(--ip-wine-d);border-color:var(--ip-wine-d)}
.ip-btn-light{border-color:#8d8580;color:#fff}.ip-btn-light:hover{background:#fff;color:var(--ip-ink)}
.ip-textlink{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--ip-wine)}
.ip-textlink:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- franja útil ---------- */
.ip-quick{background:var(--ip-paper);border-bottom:1px solid var(--ip-line);font-size:13px}
.ip-quick .ip-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}
.ip-q-wx{display:flex;align-items:center;gap:6px;color:var(--ip-ink-2);min-width:0}
.ip-q-wx .ip-ic{color:var(--ip-wine)}
.ip-q-wx strong{font-weight:700;color:var(--ip-ink)}
.ip-q-wx small{display:none;font-size:12px;color:var(--ip-muted)}
.ip-q-agenda{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:600;color:var(--ip-wine);white-space:nowrap}
.ip-q-agenda:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- tarjetas y piezas comunes ---------- */
.ip-kicker{display:flex;flex-wrap:wrap;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;line-height:1.5;color:var(--ip-wine)}
.ip-kicker::before{content:'';width:7px;height:7px;margin-right:8px;background:var(--ip-wine);flex-shrink:0}
.ip-kicker>*+*::before{content:'';display:inline-block;width:3px;height:3px;margin:0 8px;border-radius:50%;background:currentColor;opacity:.5;vertical-align:middle}
.ip-kicker time{color:var(--ip-muted);font-weight:500;letter-spacing:0;text-transform:none;font-size:12.5px}
.ip-ai{margin-top:6px;font-size:11.5px;line-height:1.3;color:var(--ip-muted)}
.ip-media,.ip-thumb,.ip-hero-media{display:block;overflow:hidden;background:var(--ip-paper)}
.ip-media picture,.ip-thumb picture,.ip-hero-media picture{width:100%;height:100%}
.ip-media img,.ip-thumb img,.ip-hero-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ip-media:hover img,.ip-thumb:hover img,.ip-hero-media:hover img{transform:scale(1.025)}
.ip-media,.ip-hero-media{aspect-ratio:3/2}
.ip-thumb{aspect-ratio:3/2}
.ip-media-empty{background:var(--ip-paper)}
.ip-card-title,.ip-hero-title{font-family:var(--ip-serif);font-weight:700;text-wrap:balance}
.ip-card-title a,.ip-hero-title a,.ip-latest-title,.ip-ev-title{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1.5px;transition:background-size .22s ease}
.ip-card-title a:hover,.ip-hero-title a:hover{background-size:100% 1.5px;color:var(--ip-wine)}
.ip-card-v .ip-card-body{padding-top:12px}
.ip-card-v .ip-card-title{margin-top:6px;font-size:1.1875rem;line-height:1.25}
.ip-card-big .ip-card-title{font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem);line-height:1.2}
.ip-card-dek{margin-top:8px;font-size:15.5px;line-height:1.55;color:var(--ip-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ip-card-h{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:start}
.ip-card-h .ip-card-title{margin-top:4px;font-size:1.0625rem;line-height:1.26}
.ip-card-h .ip-kicker{font-size:11px}
.ip-card-h .ip-kicker::before{display:none}

/* ---------- portada: principal + secundarias + lo último ---------- */
.ip-front{display:grid;gap:0;padding-top:20px}
.ip-hero-body{padding-top:14px}
.ip-hero-title{margin:8px 0 10px;font-size:var(--ip-fs-hero);line-height:1.12;letter-spacing:-.012em}
.ip-hero-dek{font-size:1.0625rem;line-height:1.55;color:var(--ip-ink-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ip-secondary{margin-top:20px;border-top:2px solid var(--ip-ink)}
.ip-secondary>.ip-card{padding:16px 0;border-bottom:1px solid var(--ip-line)}
.ip-latest{margin-top:8px}
.ip-label{display:flex;align-items:center;gap:8px;padding:16px 0 6px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1}
.ip-label::before{content:'';width:7px;height:7px;background:var(--ip-wine)}
.ip-latest li{border-bottom:1px solid var(--ip-line)}
.ip-latest li a{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:baseline;padding:13px 0;min-height:48px}
.ip-latest time{font-size:12px;font-weight:700;line-height:1.4;color:var(--ip-wine);white-space:nowrap}
.ip-latest-title{font-size:15.5px;font-weight:600;line-height:1.38}
.ip-latest li a:hover .ip-latest-title{background-size:100% 1.5px;color:var(--ip-wine)}

/* ---------- secciones ---------- */
.ip-sec,.ip-town-name{scroll-margin-top:60px}
.ip-sec{padding-block:36px 8px}
.ip-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px;margin-bottom:20px;padding-top:14px;border-top:2px solid var(--ip-ink)}
.ip-sec-title{font-family:var(--ip-serif);font-weight:700;font-size:1.5rem;line-height:1.2}
.ip-sec-sub{flex-basis:100%;font-size:14.5px;line-height:1.5;color:var(--ip-muted)}
.ip-sec-link{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;font-weight:600;color:var(--ip-wine)}
.ip-sec-link:hover{text-decoration:underline;text-underline-offset:3px}
.ip-grid3{display:grid;gap:24px}

/* agenda */
.ip-agenda{margin-top:36px;padding-block:32px 36px;background:var(--ip-paper);border-block:1px solid var(--ip-line)}
.ip-agenda-grid{display:grid;gap:20px}
.ip-agenda-intro .ip-sec-title{font-size:1.625rem}
.ip-agenda-intro .ip-sec-sub{margin-top:6px}
.ip-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;margin:18px 0 4px;border:1.5px solid var(--ip-ink);background:#fff}
.ip-tabs[hidden]{display:none}
.ip-tabs button{min-height:46px;padding:0 6px;border:0;border-right:1px solid var(--ip-line-2);background:#fff;font-size:13.5px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .16s,color .16s}
.ip-tabs button:last-child{border-right:0}
.ip-tabs button:hover{background:var(--ip-wine-tint)}
.ip-tabs button[aria-selected=true]{background:var(--ip-ink);color:#fff}
.ip-tab-n{display:inline-block;min-width:18px;margin-left:3px;font-weight:500;opacity:.75}
.ip-agenda-cta{display:none;margin-top:12px}
.ip-panel-title{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ip-wine)}
.js .ip-panel-title:not(.ip-panel-title-on){display:none}
.js .ip-panel[hidden]{display:none}
.ip-panel+.ip-panel{margin-top:20px}
.ip-ev{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:start;padding:14px 0;border-top:1px solid var(--ip-line-2);min-height:56px}
.ip-events li:first-child .ip-ev{border-top:0}
.ip-ev-when{display:flex;flex-direction:column;font-size:15px;font-weight:700;line-height:1.3;color:var(--ip-wine);font-variant-numeric:tabular-nums}
.ip-ev-day{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ip-muted)}
.ip-ev-title{font-size:16px;font-weight:600;line-height:1.35}
.ip-ev:hover .ip-ev-title{background-size:100% 1.5px;color:var(--ip-wine)}
.ip-ev-body{display:flex;flex-direction:column;gap:3px}
.ip-ev-meta{font-size:13px;line-height:1.4;color:var(--ip-muted)}
.ip-ev-town{font-weight:600;color:var(--ip-ink-2)}
.ip-agenda .ip-textlink{margin-top:4px}

/* municipios */
.ip-townchips{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 24px}
.ip-townchips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--ip-line-2);font-size:14px;font-weight:600;transition:border-color .16s,color .16s,background-color .16s}
.ip-townchips a:hover{border-color:var(--ip-wine);color:var(--ip-wine);background:var(--ip-wine-tint)}
.ip-towns-grid{display:grid;gap:36px}
.ip-town-name{margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--ip-line-2);scroll-margin-top:72px}
.ip-town-list{margin-top:14px;border-top:1px solid var(--ip-line)}
.ip-town-list li{border-bottom:1px solid var(--ip-line)}
.ip-town-list a{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:baseline;padding:12px 0;min-height:48px;font-size:15px;font-weight:600;line-height:1.38}
.ip-town-list time{font-size:12px;font-weight:700;color:var(--ip-wine);white-space:nowrap}
.ip-town-list a:hover span{color:var(--ip-wine)}
.ip-town .ip-textlink{margin-top:6px}

/* tarjetas «horizontales en móvil»: miniatura a la izquierda; desde 640 px vuelven a ser verticales */
.ip-card-hm{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:start}
.ip-card-hm .ip-card-body{padding-top:0}
.ip-card-hm .ip-card-title{font-size:1.0625rem;line-height:1.26;margin-top:4px}
.ip-card-hm .ip-kicker{font-size:11px}
.ip-card-hm .ip-kicker::before{display:none}
.ip-card-hm .ip-kicker time{flex-basis:100%}
.ip-card-hm .ip-kicker time::before{display:none}
.ip-card-hm .ip-ai{display:none}
.ip-townchips{display:none}
.ip-latest li:nth-child(n+6){display:none}
.ip-events li:nth-child(n+5){display:none}
.ip-discover{margin-top:20px}

/* servicios: caja claramente distinta de lo editorial */
.ip-svc{padding-block:48px 8px}
.ip-svc-box{display:grid;gap:20px;padding:22px 20px;border:1.5px solid var(--ip-line-2);background:var(--ip-paper)}
.ip-svc-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ip-muted)}
.ip-svc-title{margin:4px 0 8px;font-family:var(--ip-serif);font-weight:700;font-size:1.5rem;line-height:1.2}
.ip-svc-text p:last-child{font-size:15px;color:var(--ip-ink-2)}
.ip-svc-list{display:flex;flex-wrap:wrap;gap:8px}
.ip-svc-list a{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1.5px solid var(--ip-line-2);background:#fff;font-size:14.5px;font-weight:600;transition:border-color .16s,color .16s}
.ip-svc-list a:hover{border-color:var(--ip-wine);color:var(--ip-wine)}
.ip-svc-list .ip-ic{color:var(--ip-wine)}
.ip-svc-cta{justify-self:start}
.ip-empty{padding:48px 0;color:var(--ip-muted)}

/* ---------- pie ---------- */
.ip-footer{margin-top:56px;padding-block:40px 28px;background:var(--ip-ink);color:#d9d3cc;font-size:14.5px}
.ip-footer-grid{display:grid;gap:32px 24px;grid-template-columns:1fr 1fr}
.ip-footer-brand{grid-column:1/-1}
.ip-footer-logo{font-family:var(--ip-serif);font-weight:700;font-size:1.5rem;color:#fff;margin-bottom:8px}
.ip-footer-brand p:not(.ip-footer-logo){max-width:36ch;color:#b9b1aa}
.ip-footer-yt{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:8px;color:#fff;font-weight:600}
.ip-footer-yt:hover{text-decoration:underline;text-underline-offset:3px}
.ip-footer h2{margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-family:var(--ip-sans)}
.ip-footer li a{display:flex;align-items:center;min-height:44px;color:#d9d3cc}
.ip-footer li a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ip-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid #3a3330;color:#a79f98;font-size:13px}
.ip-footer :focus-visible{outline-color:#fff}

/* ---------- cookies ---------- */
.ip-cookie{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;flex-direction:column;gap:14px;padding:16px var(--ip-gutter);background:var(--ip-ink);color:#fff;border-top:3px solid var(--ip-wine);font-size:13px;line-height:1.5}
.ip-cookie[hidden]{display:none}
.ip-cookie a{color:#fff;text-decoration:underline}
.ip-cookie-actions{display:flex;gap:8px}
.ip-cookie-actions .ip-btn{flex:1;padding:0 10px;font-size:13px}

/* ================= ≥ 640 px ================= */
@media (min-width:640px){
  :root{--ip-gutter:24px}
  .ip-sec-title{font-size:1.75rem}
  .ip-grid3{grid-template-columns:repeat(3,1fr)}
  .ip-card-hm{display:block}
  .ip-card-hm .ip-card-body{padding-top:12px}
  .ip-card-hm .ip-card-title{font-size:1.1875rem;line-height:1.25;margin-top:6px}
  .ip-card-hm .ip-kicker{font-size:11.5px}
  .ip-card-hm .ip-kicker::before{display:block}
  .ip-card-hm .ip-kicker time{flex-basis:auto}
  .ip-card-hm .ip-kicker time::before{display:inline-block}
  .ip-townchips{display:flex}
  .ip-latest li:nth-child(n+6){display:list-item}
  .ip-events li:nth-child(n+5){display:list-item}
  .ip-card-hm .ip-ai{display:block}
  .ip-front{grid-template-columns:1fr 1fr;column-gap:32px}
  .ip-hero{grid-column:1/-1}
  .ip-hero-media{aspect-ratio:16/9}
  .ip-secondary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px;padding-top:24px}
  .ip-secondary>.ip-card{padding:0;border-bottom:0}
  .ip-latest{grid-column:1/-1;margin-top:28px;border-top:2px solid var(--ip-ink)}
  .ip-latest ul{columns:2;column-gap:32px}
  .ip-latest li{break-inside:avoid}
  .ip-label{padding-top:14px}
  .ip-towns-grid{grid-template-columns:1fr 1fr;gap:40px}
  .ip-svc-box{grid-template-columns:1fr;padding:28px}
  .ip-footer-grid{grid-template-columns:repeat(4,1fr)}
  .ip-footer-brand{grid-column:auto}
  .ip-cookie{flex-direction:row;align-items:center;justify-content:space-between}
  .ip-cookie-actions{flex-shrink:0}
  .ip-cookie-actions .ip-btn{flex:none;padding:0 20px;font-size:14px}
  .ip-footer li a{min-height:40px}
  .ip-q-wx small{display:inline}
}

/* ================= ≥ 960 px (escritorio) ================= */
@media (min-width:960px){
  .ip-header{top:-72px}
  .ip-bar{height:72px;justify-content:flex-start;gap:24px}
  .ip-logo img{height:38px}
  .ip-date{display:block;margin-right:auto;font-size:13px;color:var(--ip-muted);padding-left:4px}
  .ip-menubtn{margin-right:-6px}
  .ip-menubtn-label{display:inline;font-size:14px;font-weight:600}
  .ip-nav{display:block;border-top:1px solid var(--ip-line)}
  .ip-nav-in{display:flex;align-items:center;justify-content:space-between;min-height:46px}
  .ip-nav ul{display:flex;gap:30px}
  .ip-nav li a{display:inline-flex;align-items:center;min-height:46px;font-size:14.5px;font-weight:600;letter-spacing:.01em;background-image:linear-gradient(var(--ip-wine),var(--ip-wine));background-repeat:no-repeat;background-position:0 calc(100% - 8px);background-size:0 2px;transition:background-size .2s ease,color .2s}
  .ip-nav li a:hover{background-size:100% 2px;color:var(--ip-wine)}
  .ip-searchbtn{font-size:14px;font-weight:600;padding:0 4px}
  .ip-chips{display:none}
  .ip-lang a,.ip-lang-cur{min-height:34px}

  /* menú lateral en escritorio */
  .ip-menu{inset:0 0 0 auto;width:min(440px,100%);padding:0 32px 32px}


  .ip-sec{padding-block:48px 8px}
  .ip-agenda{margin-top:48px;padding-block:44px 48px}
  .ip-agenda-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}
  .ip-tabs{grid-auto-flow:row;border:0;background:transparent;gap:0;margin-top:20px}
  .ip-tabs button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:0 4px;border:0;border-bottom:1px solid var(--ip-line-2);background:transparent;font-size:15px;text-align:left}
  .ip-tabs button:first-child{border-top:1px solid var(--ip-line-2)}
  .ip-tabs button:hover{background:transparent;color:var(--ip-wine)}
  .ip-tabs button[aria-selected=true]{background:transparent;color:var(--ip-wine);box-shadow:inset 3px 0 0 var(--ip-wine);padding-left:14px}
  .ip-agenda-cta{display:inline-flex;margin-top:24px}
  .ip-agenda .ip-textlink{display:none}
  .ip-ev{grid-template-columns:84px 1fr;gap:20px;padding:16px 0}
  .ip-ev-title{font-size:17px}
  .ip-ev-when{font-size:17px}
  .ip-towns-grid{gap:56px}
  .ip-town .ip-card-big{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:'media body' 'ai body';grid-template-rows:auto 1fr;column-gap:22px;align-items:start}
  .ip-town .ip-card-big .ip-media{grid-area:media}
  .ip-town .ip-card-big .ip-ai{grid-area:ai}
  .ip-town .ip-card-big .ip-card-body{grid-area:body;padding-top:0}
  .ip-town .ip-card-big .ip-card-title{margin-top:8px}
  .ip-svc-box{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:32px;padding:32px 36px}
  .ip-svc-list{flex-direction:column;align-items:stretch}
  .ip-svc-cta{justify-self:end}
  .ip-footer{padding-top:48px}
}

/* tableta: las dos secundarias van en horizontal (miniatura + texto) para no competir con la principal */
@media (min-width:640px) and (max-width:1099px){
  .ip-secondary>.ip-card-hm{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:'media body' 'ai body';grid-template-rows:auto 1fr;gap:0 18px;align-items:start}
  .ip-secondary>.ip-card-hm .ip-media{grid-area:media}
  .ip-secondary>.ip-card-hm .ip-ai{grid-area:ai}
  .ip-secondary>.ip-card-hm .ip-card-body{grid-area:body;padding-top:0}
  .ip-secondary>.ip-card-hm .ip-card-title{margin-top:6px}
}

/* tableta ancha / portátil pequeño: noticia principal en horizontal (imagen + texto) en lugar de una imagen gigante */
@media (min-width:700px) and (max-width:1099px){
  .ip-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:'media body' 'ai body';grid-template-rows:auto 1fr;column-gap:28px;align-items:start}
  .ip-hero-media{grid-area:media;aspect-ratio:3/2}
  .ip-hero>.ip-ai{grid-area:ai}
  .ip-hero-body{grid-area:body;padding-top:0}
  .ip-hero-title{font-size:clamp(1.5rem,1rem + 1.6vw,2rem);margin-top:6px}
  .ip-hero-dek{-webkit-line-clamp:6}
}

/* portada en tres columnas: solo cuando caben (a 960-1099 px se queda la composición de tableta) */
@media (min-width:1100px){
  .ip-front{grid-template-columns:minmax(0,1.5fr) minmax(0,.92fr) minmax(0,.78fr);column-gap:0;padding-top:28px}
  .ip-hero{grid-column:1;padding-right:32px}
  .ip-hero-media{aspect-ratio:16/10}
  .ip-secondary{grid-column:2;display:block;margin-top:0;padding:0 28px;border-top:0;border-left:1px solid var(--ip-line)}
  .ip-secondary>.ip-card+.ip-card{margin-top:24px;padding-top:24px;border-top:1px solid var(--ip-line)}
  .ip-latest{grid-column:3;margin-top:0;padding-left:28px;border-top:0;border-left:1px solid var(--ip-line)}
  .ip-latest ul{columns:1}
  .ip-label{padding-top:0}
  .ip-latest li a{grid-template-columns:1fr;gap:3px;padding:12px 0}
  .ip-hero-dek{-webkit-line-clamp:5}
}

@media (min-width:1200px){
  .ip-hero{padding-right:40px}
  .ip-secondary{padding:0 32px}
  .ip-latest{padding-left:32px}
}

/* pantallas muy estrechas (320 px): logo, selector de idioma y hamburguesa caben sin desbordar */
@media (max-width:359px){
  .ip-bar{gap:8px}
  .ip-logo img{height:20px}
  .ip-lang a,.ip-lang-cur{padding:0 10px}
}

@media (prefers-reduced-motion:reduce){
  .ip *,.ip *::before,.ip *::after{animation:none!important;transition:none!important}
  .ip-media:hover img,.ip-thumb:hover img,.ip-hero-media:hover img{transform:none}
}
@media print{.ip-header,.ip-chips,.ip-cookie,.ip-previewbar,.ip-dlg{display:none!important}}
