/* CatalunyaInfo — Senyera Edition v2 | AdSense Ready */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

:root {
  --c-red:#C8102E;--c-red-dark:#a00c24;--c-red-light:#e8314f;
  --c-gold:#FCDD09;--c-gold-dark:#e0c200;
  --c-ink:#1a0a0a;--c-gray-800:#3d2a2a;--c-gray-700:#4a3535;
  --c-gray-600:#6b4f4f;--c-gray-500:#8a6a6a;--c-gray-400:#b09090;
  --c-gray-300:#c8b0b0;--c-gray-200:#e8dcdc;--c-gray-100:#f7f2f2;
  --c-white:#ffffff;--c-bg:#fdf8f0;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Libre Baskerville',Georgia,serif;
  --font-ui:'DM Sans',system-ui,sans-serif;
  --max-w:1300px;--gap:1.5rem;--radius:4px;
  --shadow-sm:0 1px 4px rgba(26,10,10,.08);
  --shadow-md:0 4px 20px rgba(26,10,10,.13);
  --shadow-lg:0 12px 48px rgba(26,10,10,.2);
  --trans:all .24s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--c-bg);color:var(--c-ink);line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* Badges */
.badge{display:inline-block;font-family:var(--font-ui);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink);background:var(--c-gold);padding:.22em .65em;border-radius:2px}
.badge--red{background:var(--c-red);color:#fff}
.badge--dark{background:var(--c-ink);color:var(--c-gold)}
.badge--gray{background:var(--c-gray-200);color:var(--c-gray-600)}
.badge--outline{background:transparent;color:var(--c-red);border:1.5px solid var(--c-red)}

/* Divider */
.divider{border:none;height:3px;background:repeating-linear-gradient(90deg,var(--c-red) 0,var(--c-red) 20px,var(--c-gold) 20px,var(--c-gold) 40px);margin:2.5rem 0;opacity:.5}

/* Senyera bar */
.senyera-bar{height:6px;background:repeating-linear-gradient(90deg,var(--c-red) 0%,var(--c-red) 14.28%,var(--c-gold) 14.28%,var(--c-gold) 28.57%,var(--c-red) 28.57%,var(--c-red) 42.86%,var(--c-gold) 42.86%,var(--c-gold) 57.14%,var(--c-red) 57.14%,var(--c-red) 71.43%,var(--c-gold) 71.43%,var(--c-gold) 85.71%,var(--c-red) 85.71%,var(--c-red) 100%)}

/* Ticker */
.breaking-ticker{background:var(--c-red);color:#fff;font-family:var(--font-ui);font-size:.75rem;font-weight:500;padding:.5rem 0;overflow:hidden;border-bottom:3px solid var(--c-gold)}
.ticker-inner{display:flex;align-items:center;gap:1.25rem;white-space:nowrap}
.ticker-label{background:var(--c-gold);color:var(--c-ink);padding:.2em .85em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;flex-shrink:0}
.ticker-scroll{overflow:hidden;flex:1}
.ticker-items{display:inline-block;animation:ticker-move 45s linear infinite}
.ticker-items a{color:rgba(255,255,255,.92);margin-right:3.5rem;transition:color .2s}
.ticker-items a:hover{color:var(--c-gold)}
@keyframes ticker-move{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Header */
.site-header{background:var(--c-white);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(26,10,10,.09);border-bottom:1px solid var(--c-gray-200)}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:1rem;border-bottom:1px solid var(--c-gray-100)}

/* Logo */
.site-logo{font-family:var(--font-display);font-weight:700;font-size:2.2rem;letter-spacing:-.03em;line-height:1;flex-shrink:0;display:flex;align-items:center;color:var(--c-ink)}
.logo-cat{color:var(--c-red)}
.logo-dot{display:inline-block;width:.28em;height:.28em;background:var(--c-gold);border-radius:50%;margin:0 .05em .18em;flex-shrink:0;box-shadow:0 0 8px rgba(252,221,9,.7);animation:dot-pulse 3s ease-in-out infinite}
@keyframes dot-pulse{0%,100%{box-shadow:0 0 8px rgba(252,221,9,.7)}50%{box-shadow:0 0 18px rgba(252,221,9,1),0 0 32px rgba(252,221,9,.4)}}
.logo-info{color:var(--c-ink)}
.site-logo:hover .logo-cat{color:var(--c-red-dark)}
.header-meta{font-family:var(--font-ui);font-size:.7rem;color:var(--c-gray-600);text-align:center;line-height:1.5}
.header-meta strong{display:block;font-size:.8rem;color:var(--c-ink);font-weight:600;text-transform:capitalize}
.header-actions{display:flex;align-items:center;gap:.6rem}
.search-form{display:flex}
.search-input{border:1.5px solid var(--c-gray-200);background:var(--c-gray-100);color:var(--c-ink);padding:.45rem .9rem;font-family:var(--font-ui);font-size:.82rem;border-radius:var(--radius) 0 0 var(--radius);width:190px;outline:none;transition:var(--trans)}
.search-input:focus{border-color:var(--c-gold);background:var(--c-white);box-shadow:0 0 0 3px rgba(252,221,9,.25)}
.search-btn{background:var(--c-red);color:#fff;border:none;padding:.45rem .9rem;cursor:pointer;border-radius:0 var(--radius) var(--radius) 0;font-size:.9rem;transition:var(--trans)}
.search-btn:hover{background:var(--c-red-dark)}

/* Nav */
.main-nav{border-top:1px solid var(--c-gray-100)}
.nav-list{display:flex;overflow-x:auto;scrollbar-width:none;gap:.1rem}
.nav-list::-webkit-scrollbar{display:none}
.nav-list a{display:block;font-family:var(--font-ui);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-gray-600);padding:.7rem 1rem;white-space:nowrap;position:relative;transition:color .2s}
.nav-list a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-red),var(--c-gold));transform:scaleX(0);transition:transform .22s ease}
.nav-list a:hover{color:var(--c-red)}
.nav-list a:hover::after,.nav-list a.active::after{transform:scaleX(1)}
.nav-list a.active{color:var(--c-red)}
.menu-toggle{display:none;background:none;border:1.5px solid var(--c-gray-200);cursor:pointer;color:var(--c-ink);font-size:1.1rem;padding:.3rem .55rem;border-radius:var(--radius);transition:var(--trans)}
.menu-toggle:hover{border-color:var(--c-gold);background:var(--c-gold)}

/* AD SLOTS — AdSense Ready */
.ad-slot{background:linear-gradient(135deg,#f7f2f2,#ede6e6);border:1px dashed var(--c-gray-300);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:.65rem;color:var(--c-gray-400);letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;transition:var(--trans);min-height:60px}
.ad-slot .ad-label{position:absolute;top:4px;right:6px;font-size:.5rem;color:var(--c-gray-300);text-transform:uppercase;letter-spacing:.08em}
.ad-slot--leaderboard{width:100%;min-height:90px;margin:1.25rem 0}
.ad-slot--rectangle{width:100%;min-height:250px;margin:0 0 1.5rem}
.ad-slot--in-article{width:100%;min-height:250px;max-width:640px;margin:2.5rem auto}
.ad-slot--skyscraper{width:100%;min-height:280px;margin-bottom:1.5rem}
ins.adsbygoogle{display:block}

/* Section header */
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.4rem;padding-bottom:.65rem;border-bottom:3px solid var(--c-ink);position:relative}
.section-header::after{content:'';position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:var(--c-gold)}
.section-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.section-header .view-all{font-family:var(--font-ui);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-red);padding-bottom:.25rem;border-bottom:1.5px solid var(--c-gold);transition:var(--trans)}
.section-header .view-all:hover{color:var(--c-red-dark)}
.section-label{font-family:var(--font-ui);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--c-red);display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.section-label::before{content:'';width:18px;height:3px;background:var(--c-gold);flex-shrink:0}
.section-label::after{content:'';flex:1;height:1px;background:var(--c-gray-200)}

/* Hero */
.hero-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:3px;background:var(--c-gray-200);border:2px solid var(--c-gray-200);margin-bottom:3rem;box-shadow:var(--shadow-md);border-radius:var(--radius);overflow:hidden}
.hero-slider{grid-row:1/3;position:relative;overflow:hidden;background:var(--c-ink);height:480px}
.hero-slides{width:100%;height:100%;position:relative}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none}
.hero-slide--active{opacity:1;pointer-events:auto}
.hero-main{display:block;position:relative;overflow:hidden;background:var(--c-ink);width:100%;height:100%}
.hero-main img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.68;transition:transform .8s ease,opacity .3s}
.hero-slide--active .hero-main:hover img{transform:scale(1.04);opacity:.58}
.hero-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;z-index:10}
.hero-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:all .2s}
.hero-dot--active{background:var(--c-gold);transform:scale(1.3)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(26,10,10,.5);border:none;color:white;font-size:1.8rem;line-height:1;cursor:pointer;padding:.2rem .7rem;transition:background .2s}
.hero-arrow:hover{background:rgba(200,16,46,.8)}
.hero-arrow--prev{left:.5rem;border-radius:0 2px 2px 0}
.hero-arrow--next{right:.5rem;border-radius:2px 0 0 2px}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,10,10,.96) 0%,rgba(26,10,10,.45) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:2.25rem}
.hero-overlay::before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--c-red),var(--c-gold),var(--c-red))}
.hero-overlay .badge{margin-bottom:.75rem;align-self:flex-start}
.hero-title{font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:700;color:#fff;line-height:1.13;margin-bottom:.7rem;letter-spacing:-.025em}
.hero-excerpt{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:.9rem;font-family:var(--font-ui);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-meta{font-family:var(--font-ui);font-size:.7rem;color:rgba(255,255,255,.5)}
.hero-secondary{background:var(--c-white);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;justify-content:space-around}
.hero-secondary .article-card-sm{border-bottom:1px solid var(--c-gray-100);padding-bottom:.85rem}
.hero-secondary .article-card-sm:last-child{border-bottom:none;padding-bottom:0}
.article-card-sm__cat{margin-bottom:.25rem}

/* Cards */
.article-card{background:var(--c-white);border-radius:var(--radius);overflow:hidden;transition:var(--trans);box-shadow:var(--shadow-sm);border-bottom:3px solid transparent;display:flex;flex-direction:column}
.article-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-bottom-color:var(--c-gold)}
.article-card__img-wrap{overflow:hidden;flex-shrink:0}
.article-card__img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--c-gray-100);transition:transform .5s ease}
.article-card:hover .article-card__img{transform:scale(1.07)}
.article-card__body{padding:1.1rem;flex:1;display:flex;flex-direction:column}
.article-card__cat{margin-bottom:.55rem}
.article-card__title{font-family:var(--font-display);font-size:1.08rem;font-weight:700;line-height:1.28;margin-bottom:.45rem;color:var(--c-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;flex:1}
.article-card:hover .article-card__title{color:var(--c-red)}
.article-card__excerpt{font-size:.82rem;color:var(--c-gray-600);margin-bottom:.55rem;font-family:var(--font-ui);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-card__meta{font-family:var(--font-ui);font-size:.67rem;color:var(--c-gray-400);display:flex;gap:.75rem;justify-content:space-between;margin-top:auto}
.article-card--horizontal{flex-direction:row;gap:.85rem;padding:.85rem;align-items:flex-start;border-bottom:1px solid var(--c-gray-100);border-radius:0;box-shadow:none}
.article-card--horizontal:last-child{border-bottom:none}
.article-card--horizontal:hover{transform:none;box-shadow:none;background:var(--c-gray-100);border-bottom-color:var(--c-gray-100)}
.article-card--horizontal .article-card__img-wrap{flex-shrink:0;width:110px;border-radius:var(--radius);overflow:hidden}
.article-card--horizontal .article-card__img{aspect-ratio:4/3}
.article-card--horizontal .article-card__body{padding:0;flex:1}
.article-card--horizontal .article-card__title{font-size:.92rem}
.article-card-sm{display:flex;gap:.65rem;align-items:flex-start}
.article-card-sm__img{width:72px;height:54px;object-fit:cover;flex-shrink:0;border-radius:var(--radius);background:var(--c-gray-100)}
.article-card-sm__title{font-family:var(--font-display);font-size:.88rem;font-weight:600;line-height:1.28;color:var(--c-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.article-card-sm:hover .article-card-sm__title{color:var(--c-red)}
.article-card-sm__meta{font-family:var(--font-ui);font-size:.62rem;color:var(--c-gray-400);margin-top:.2rem}

/* Loading / Skeleton */
.loading-placeholder{font-family:var(--font-ui);color:var(--c-gray-400);padding:2rem;text-align:center;font-size:.85rem;grid-column:1/-1;animation:pulse 1.5s ease-in-out infinite}
.hero-loading{display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--c-gray-100)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.ci-empty{font-family:var(--font-ui);color:var(--c-gray-400);padding:2rem 0;grid-column:1/-1;text-align:center}
.skeleton{background:linear-gradient(90deg,var(--c-gray-100) 25%,var(--c-gray-200) 50%,var(--c-gray-100) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius)}
@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Grids */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.content-sidebar{display:grid;grid-template-columns:1fr 300px;gap:2.5rem}

/* Page header */
.page-header{background:linear-gradient(135deg,var(--c-red),var(--c-red-dark));color:#fff;padding:2.5rem 0 2rem;margin-bottom:2rem;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;top:0;right:0;bottom:0;width:40%;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(252,221,9,.07) 20px,rgba(252,221,9,.07) 40px)}
.page-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--c-gold)}
.page-header .badge{margin-bottom:.65rem}
.page-header h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.03em}
.page-header p{color:rgba(255,255,255,.7);margin-top:.5rem;font-size:.9rem;font-family:var(--font-ui)}

/* Sidebar */
.sidebar-widget{margin-bottom:2.25rem}
.sidebar-widget__title{font-family:var(--font-ui);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--c-gray-600);padding-bottom:.65rem;margin-bottom:1.1rem;border-bottom:2px solid var(--c-gold);display:flex;align-items:center;gap:.5rem}
.sidebar-widget__title::before{content:'';width:8px;height:8px;background:var(--c-red);transform:rotate(45deg);flex-shrink:0}
.trending-list{display:flex;flex-direction:column;gap:.9rem}
.trending-item{display:flex;gap:.75rem;align-items:flex-start}
.trending-num{font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:var(--c-gold);line-height:.9;flex-shrink:0;min-width:1.8rem;text-shadow:1px 1px 0 var(--c-gray-200)}
.trending-title{font-family:var(--font-display);font-size:.88rem;font-weight:600;line-height:1.3;color:var(--c-ink);transition:color .2s}
.trending-title:hover{color:var(--c-red)}

/* Reading progress */
#readingProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--c-red),var(--c-gold));width:0%;z-index:999;transition:width .1s linear;box-shadow:0 0 6px rgba(200,16,46,.4)}

/* Article */
.breadcrumbs{font-family:var(--font-ui);font-size:.72rem;color:var(--c-gray-400);margin-bottom:1.4rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.breadcrumbs a{color:var(--c-gray-600);transition:color .2s}
.breadcrumbs a:hover{color:var(--c-red)}
.breadcrumbs span{color:var(--c-gray-300)}
.article-header{margin-bottom:2rem}
.article-header .badge{margin-bottom:.85rem}
.article-header h1{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.6rem);font-weight:700;line-height:1.12;margin-bottom:.85rem;letter-spacing:-.025em}
.article-header .article-deck{font-size:1.1rem;color:var(--c-gray-600);font-family:var(--font-ui);font-weight:300;margin-bottom:1.1rem;line-height:1.55}
.article-byline{font-family:var(--font-ui);font-size:.75rem;color:var(--c-gray-400);display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;padding:.85rem 0;border-top:1px solid var(--c-gray-200);border-bottom:3px solid var(--c-gray-200);position:relative}
.article-byline::after{content:'';position:absolute;bottom:-3px;left:0;width:80px;height:3px;background:var(--c-gold)}
.article-byline strong{color:var(--c-ink)}
.article-byline .updated{color:var(--c-red);font-weight:600}
.article-featured-img{margin-bottom:1.75rem}
.article-featured-img img{width:100%;border-radius:var(--radius);max-height:520px;object-fit:cover;box-shadow:var(--shadow-md)}
.article-featured-img figcaption{font-family:var(--font-ui);font-size:.7rem;color:var(--c-gray-400);margin-top:.5rem;padding-left:.6rem;border-left:2px solid var(--c-gold)}
.article-body{max-width:740px}
.article-body p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}
.article-body h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:2.5rem 0 .85rem;line-height:1.2;letter-spacing:-.02em;padding-left:.85rem;border-left:4px solid var(--c-gold)}
.article-body h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:1.75rem 0 .6rem}
.article-body blockquote{border-left:4px solid var(--c-red);padding:1rem 1.5rem;margin:2rem 0;background:linear-gradient(to right,rgba(200,16,46,.04),transparent);position:relative}
.article-body blockquote::before{content:'"';font-family:var(--font-display);font-size:4rem;color:var(--c-gold);position:absolute;top:-.5rem;left:.75rem;line-height:1;opacity:.5}
.article-body blockquote p,.article-body blockquote{font-size:1.08rem;color:var(--c-gray-800);font-style:italic;line-height:1.65}
.article-body .sources-note{font-family:var(--font-ui);font-size:.77rem;color:var(--c-gray-400);border-top:1px solid var(--c-gray-200);padding-top:.85rem;margin-top:2rem}
.article-body .sources-note a{color:var(--c-red);text-decoration:underline}
.article-tags{margin-top:1.5rem;display:flex;gap:.45rem;flex-wrap:wrap}
.article-tags a{font-family:var(--font-ui);font-size:.7rem;padding:.25em .7em;border:1px solid var(--c-gray-200);border-radius:2px;color:var(--c-gray-600);transition:var(--trans)}
.article-tags a:hover{border-color:var(--c-gold);background:var(--c-gold);color:var(--c-ink)}
.related-section{margin-top:3rem;padding-top:1.75rem;border-top:3px solid var(--c-ink);position:relative}
.related-section::after{content:'';position:absolute;top:-3px;left:0;width:80px;height:3px;background:var(--c-gold)}
.related-section h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:1.25rem}

/* Opinion */
.opinion-card{background:var(--c-white);padding:1.35rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);border-top:4px solid var(--c-gold);transition:var(--trans)}
.opinion-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-top-color:var(--c-red)}
.opinion-card__author{display:flex;gap:.75rem;align-items:center;margin-bottom:.85rem}
.opinion-card__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--c-gray-100);flex-shrink:0;border:2px solid var(--c-gold)}
.opinion-card__name{font-family:var(--font-ui);font-size:.85rem;font-weight:700}
.opinion-card__role{font-family:var(--font-ui);font-size:.7rem;color:var(--c-gray-400)}
.opinion-card__title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.35;font-style:italic;transition:color .2s}
.opinion-card:hover .opinion-card__title{color:var(--c-red)}

/* Pagination */
.pagination{display:flex;gap:.4rem;align-items:center;justify-content:center;margin:3rem 0;flex-wrap:wrap}
.pagination a,.pagination span{font-family:var(--font-ui);font-size:.8rem;font-weight:600;padding:.45rem .85rem;border:1.5px solid var(--c-gray-200);border-radius:var(--radius);color:var(--c-gray-600);transition:var(--trans)}
.pagination a:hover{border-color:var(--c-gold);background:var(--c-gold);color:var(--c-ink)}
.pagination .current{background:var(--c-red);border-color:var(--c-red);color:#fff}
.pagination .dots{border:none}

/* Legal */
.legal-content{max-width:820px;margin:0 auto;padding:2.5rem 0 5rem}
.legal-content h1{font-family:var(--font-display);font-size:2.2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.025em}
.legal-content .legal-date{font-family:var(--font-ui);font-size:.75rem;color:var(--c-gray-400);margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:3px solid var(--c-gold)}
.legal-content h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin:2.5rem 0 .85rem;padding-left:.75rem;border-left:3px solid var(--c-red)}
.legal-content p,.legal-content li{font-size:.95rem;line-height:1.75;margin-bottom:.85rem;color:var(--c-gray-800);font-family:var(--font-ui)}
.legal-content ul{padding-left:1.5rem;list-style:disc}

/* Contact — MILLORAT */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;padding:2rem 0 5rem}
.contact-form-group{margin-bottom:1.35rem}
.contact-form-group label{display:block;font-family:var(--font-ui);font-size:.72rem;font-weight:700;margin-bottom:.45rem;color:var(--c-gray-600);text-transform:uppercase;letter-spacing:.07em}
.contact-form-group input,.contact-form-group textarea,.contact-form-group select{width:100%;border:1.5px solid var(--c-gray-200);background:var(--c-bg);color:var(--c-ink);padding:.75rem 1rem;font-family:var(--font-ui);font-size:.9rem;border-radius:var(--radius);outline:none;transition:var(--trans);resize:vertical;-webkit-appearance:none}
.contact-form-group input[type="checkbox"],.contact-form-group input[type="radio"]{width:16px!important;height:16px!important;min-width:16px;padding:0!important;border-radius:3px;-webkit-appearance:auto;appearance:auto;accent-color:var(--c-red);cursor:pointer;flex-shrink:0}
.contact-form-group input:focus,.contact-form-group textarea:focus,.contact-form-group select:focus{border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(252,221,9,.2);background:var(--c-white)}
.contact-form-group input::placeholder,.contact-form-group textarea::placeholder{color:var(--c-gray-400)}
.contact-form-status{font-family:var(--font-ui);font-size:.82rem;padding:.75rem 1rem;border-radius:var(--radius);margin-top:.75rem;display:none;align-items:center;gap:.5rem}
.contact-form-status.visible{display:flex}
.contact-form-status.success{background:#e6f9f0;color:#1a7a45;border:1px solid #a3d9bf}
.contact-form-status.error{background:#fdecea;color:#c0392b;border:1px solid #f5b7b1}
.contact-info-box{background:var(--c-gray-100);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;border-left:3px solid var(--c-gold)}
.contact-info-box h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:.85rem;color:var(--c-ink)}
.contact-info-box ul{display:flex;flex-direction:column;gap:.75rem;font-size:.9rem;color:var(--c-gray-700)}
.contact-info-box ul li{display:flex;align-items:center;gap:.5rem}
.contact-info-box ul li a{color:var(--c-red);transition:color .2s}
.contact-info-box ul li a:hover{color:var(--c-red-dark);text-decoration:underline}
.btn-primary{background:var(--c-red);color:#fff;border:none;padding:.85rem 2.25rem;font-family:var(--font-ui);font-size:.85rem;font-weight:700;border-radius:var(--radius);cursor:pointer;transition:var(--trans);letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.5rem}
.btn-primary:hover{background:var(--c-red-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(200,16,46,.3)}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
.btn-primary.loading .btn-spinner{display:block}
@keyframes spin{to{transform:rotate(360deg)}}

/* Search overlay */
.search-overlay{display:none;position:fixed;inset:0;background:rgba(26,10,10,.88);z-index:200;backdrop-filter:blur(6px)}
.search-overlay.open{display:flex;align-items:flex-start;justify-content:center;padding-top:80px}
.search-box{background:var(--c-white);width:100%;max-width:680px;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-lg);margin:0 1rem;border-top:4px solid var(--c-gold)}
.search-box-input{display:flex;border-bottom:1px solid var(--c-gray-200)}
.search-box-input input{flex:1;padding:1.15rem 1.4rem;border:none;outline:none;font-size:1.1rem;font-family:var(--font-display);background:transparent;color:var(--c-ink)}
.search-box-close{background:none;border:none;padding:1rem 1.25rem;cursor:pointer;font-size:1.1rem;color:var(--c-gray-400);transition:color .2s}
.search-box-close:hover{color:var(--c-red)}
.search-results-list{max-height:420px;overflow-y:auto;padding:.5rem}
.search-result-item{padding:.85rem;border-radius:var(--radius);transition:var(--trans);display:flex;gap:.75rem;align-items:flex-start;border-left:3px solid transparent}
.search-result-item:hover{background:var(--c-gray-100);border-left-color:var(--c-gold)}
.search-result-item__title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--c-ink)}
.search-result-item__meta{font-family:var(--font-ui);font-size:.7rem;color:var(--c-gray-400);margin-top:.2rem}
.search-no-results{padding:2.5rem;text-align:center;font-family:var(--font-ui);color:var(--c-gray-400)}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--c-ink);color:#fff;padding:1.1rem 1.5rem;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--font-ui);font-size:.8rem;border-top:3px solid var(--c-gold);transform:translateY(0);transition:transform .4s ease}
.cookie-banner.hidden{transform:translateY(110%)}
.cookie-banner a{color:var(--c-gold)}
.cookie-banner__btns{display:flex;gap:.5rem;flex-shrink:0}
.cookie-btn{padding:.45rem 1.25rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-ui);font-size:.75rem;font-weight:700;border:none;transition:var(--trans);text-transform:uppercase;letter-spacing:.06em}
.cookie-btn--accept{background:var(--c-gold);color:var(--c-ink)}
.cookie-btn--accept:hover{background:var(--c-gold-dark)}
.cookie-btn--reject{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2)}
.cookie-btn--reject:hover{color:#fff;border-color:rgba(255,255,255,.6)}

/* Newsletter */
.newsletter-widget{background:linear-gradient(135deg,var(--c-red),var(--c-red-dark));padding:1.4rem;border-radius:var(--radius);border-bottom:4px solid var(--c-gold);position:relative;overflow:hidden}
.newsletter-widget::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:rgba(252,221,9,.12);border-radius:50%}
.newsletter-widget h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:.45rem}
.newsletter-widget p{font-family:var(--font-ui);font-size:.82rem;color:rgba(255,255,255,.8);margin-bottom:.85rem}
.newsletter-widget a{display:block;text-align:center;background:var(--c-gold);color:var(--c-ink);padding:.65rem;border-radius:var(--radius);font-family:var(--font-ui);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;transition:var(--trans)}
.newsletter-widget a:hover{background:var(--c-gold-dark)}

/* Footer */
.site-footer{background:var(--c-ink);color:rgba(240,232,216,.6);margin-top:4rem;border-top:4px solid var(--c-gold)}
.footer-main{padding:3.5rem 0 2.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.footer-brand .site-logo{color:#fff;margin-bottom:.85rem;display:flex}
.footer-brand .logo-cat{color:#fff}
.footer-brand .logo-dot{animation:none;box-shadow:none}
.footer-brand p{font-size:.82rem;line-height:1.65;max-width:270px;font-family:var(--font-ui)}
.footer-col h4{font-family:var(--font-ui);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--c-gold);margin-bottom:.85rem}
.footer-col ul{display:flex;flex-direction:column;gap:.45rem}
.footer-col a{font-size:.83rem;font-family:var(--font-ui);transition:color .2s}
.footer-col a:hover{color:var(--c-gold)}
.footer-bottom{border-top:1px solid rgba(252,221,9,.15);padding:1.35rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-family:var(--font-ui);font-size:.72rem}
.footer-bottom a{color:rgba(240,232,216,.35);transition:color .2s}
.footer-bottom a:hover{color:var(--c-gold)}
.footer-legal-links{display:flex;gap:1.35rem;flex-wrap:wrap}

.main-content{padding:2rem 0 3rem}

/* Sobre nosaltres */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.about-value{background:var(--c-white);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);border-top:3px solid var(--c-gold);transition:var(--trans)}
.about-value:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.about-value h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-bottom:.65rem;color:var(--c-ink)}
.about-value p{font-family:var(--font-ui);font-size:.88rem;color:var(--c-gray-700);line-height:1.65}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.team-card{background:var(--c-white);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;transition:var(--trans)}
.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.team-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--c-gold),var(--c-red));margin:0 auto .85rem;border:3px solid var(--c-gold);display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.team-card h4{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:.25rem}
.team-card p{font-family:var(--font-ui);font-size:.78rem;color:var(--c-gray-500)}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeInUp .5s ease forwards}

/* Responsive — Vegeu les regles completes al final del fitxer */

/* ======================================================
   RESPONSIVE COMPLET — CatalunyaInfo v3
   Tots els breakpoints optimitzats per mobile, tablet i desktop
   ====================================================== */

/* --- Tablet gran (≤1024px) --- */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr) }
  .footer-main { grid-template-columns: 1fr 1fr }
  .about-grid { grid-template-columns: 1fr }
  .team-grid { grid-template-columns: repeat(2, 1fr) }
  .content-sidebar { grid-template-columns: 1fr }
  .sidebar { display: none }
  .article-body { max-width: 100% }
}

/* --- Tablet (≤768px) --- */
@media (max-width: 768px) {
  :root { --gap: 1rem }

  /* Layout */
  .container { padding: 0 1rem }
  .grid-3 { grid-template-columns: repeat(2, 1fr) }
  .grid-2 { grid-template-columns: 1fr }
  .hero-grid { grid-template-columns: 1fr }
  .hero-slider { height: 280px; grid-row: auto }
  .hero-main { min-height: 280px; grid-row: auto }
  .content-sidebar { grid-template-columns: 1fr }
  .sidebar { display: none }
  .contact-grid { grid-template-columns: 1fr }
  .team-grid { grid-template-columns: repeat(2, 1fr) }

  /* Header */
  .search-input { width: 130px; font-size: .78rem }
  .header-meta { display: none }
  .header-top { padding: .65rem 0 }
  .site-logo { font-size: 1.65rem }

  /* Nav mobile burger */
  .menu-toggle { display: flex; align-items: center; justify-content: center }
  .main-nav { display: none; border-top: 2px solid var(--c-gold); position: absolute; top: 100%; left: 0; right: 0; background: var(--c-white); z-index: 99; box-shadow: 0 8px 24px rgba(26,10,10,.15) }
  .main-nav.open { display: block }
  .main-nav.open .nav-list { flex-direction: column; padding: .5rem 0 }
  .main-nav.open .nav-list a { padding: .9rem 1.5rem; border-bottom: 1px solid var(--c-gray-100); font-size: .8rem }
  .main-nav.open .nav-list a:last-child { border-bottom: none }
  .site-header { position: sticky; top: 0; z-index: 100 }

  /* Cards */
  .news-card { flex-direction: column }
  .news-card.horizontal { flex-direction: row }
  .news-card.horizontal .news-card__img { width: 110px; min-height: 90px; flex-shrink: 0 }

  /* Article */
  .article-header h1 { font-size: 1.6rem }
  .article-body p { font-size: 1rem }
  .article-body h2 { font-size: 1.3rem }
  .article-featured-img img { max-height: 320px }

  /* Hero cards text */
  .hero-card__title { font-size: 1.1rem }
  .hero-card-main__title { font-size: 1.4rem }

  /* Footer */
  .footer-main { grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 2rem 0 1.5rem }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .5rem }
  .footer-legal-links { flex-wrap: wrap; gap: .75rem }

  /* Cookie */
  .cookie-banner { flex-direction: column; align-items: flex-start }

  /* Ad slots */
  .ad-slot--leaderboard { min-height: 60px }

  /* Section headers */
  .section-header h2 { font-size: 1.2rem }

  /* Pagination */
  .pagination a, .pagination span { padding: .4rem .65rem; font-size: .75rem }
}

/* --- Mobile gran (≤600px) --- */
@media (max-width: 600px) {
  .grid-3 { grid-template-columns: 1fr }
  .hero-grid { grid-template-columns: 1fr }
  .news-card.horizontal { flex-direction: column }
  .news-card.horizontal .news-card__img { width: 100%; min-height: 180px }

  .article-header h1 { font-size: 1.35rem; line-height: 1.3 }
  .article-body { padding: 0 }
  .article-body blockquote { padding: .75rem 1rem }

  .footer-main { grid-template-columns: 1fr }
  .team-grid { grid-template-columns: 1fr }

  /* Search box */
  .search-overlay { padding-top: 0 }
  .search-box { border-radius: 0; margin: 0; min-height: 100vh; }
  .search-box-input input { font-size: 1rem }
}

/* --- Mobile (≤480px) --- */
@media (max-width: 480px) {
  .container { padding: 0 .85rem }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr }

  .hero-slider { height: 240px }
  .hero-main { min-height: 240px }

  /* Header compacte */
  .site-logo { font-size: 1.45rem }
  .search-form { display: none } /* Ocult, el toggle obre overlay */
  .search-trigger-btn { display: flex }
  .header-actions { gap: .4rem }

  /* Article */
  .article-header h1 { font-size: 1.2rem }
  .article-layout { grid-template-columns: 1fr }
  .article-body p { font-size: .95rem }
  .article-tags { gap: .35rem }
  .related-section { margin-top: 2rem }

  /* Cards list estil mòbil */
  .news-card { margin-bottom: .75rem }
  .news-card__title { font-size: .9rem }

  /* Footer */
  .footer-brand p { max-width: 100% }
  .cookie-banner__btns { width: 100% }
  .cookie-btn { flex: 1; text-align: center }

  .ad-slot--leaderboard { min-height: 50px }
  .ad-slot--rectangle { min-height: 200px }

  /* Ticker */
  .ticker-label { font-size: .55rem; padding: .2em .6em }
  .ticker-items a { font-size: .72rem }

  /* Senyera bar */
  .senyera-bar { height: 4px }

  /* Section spacing */
  .main-content { padding: 1.25rem 0 2rem }
  .section-header { margin-bottom: 1rem }
}

/* --- Mòbil petit (≤360px) --- */
@media (max-width: 360px) {
  .site-logo { font-size: 1.25rem }
  .article-header h1 { font-size: 1.1rem }
  .hero-slider { height: 200px }
  .hero-main { min-height: 200px }
  .container { padding: 0 .65rem }
}

/* --- Assegura que el header és sticky a mòbil i que el nav overlay queda bé --- */
@media (max-width: 768px) {
  .site-header { position: sticky; top: 0; z-index: 100 }
  body.nav-open { overflow: hidden }
}

/* --- Imprimir --- */
@media print {
  .site-header, .breaking-ticker, .senyera-bar, .ad-slot,
  .cookie-banner, .search-overlay, .related-section,
  .newsletter-widget, .site-footer { display: none !important }
  .article-body { max-width: 100%; font-size: 11pt }
  a[href]::after { content: " (" attr(href) ")" }
}
