/* =============================================================================
 *  Presivo — homepage (magazine layout)
 *  Scoped under .home; uses --accent (set inline from Settings).
 * ========================================================================== */
.home { --line:#e5e7eb; --muted:#6b7280; --ink:#14181f; max-width:1200px; margin:0 auto; }
.home a { text-decoration:none; color:inherit; }
.home img { display:block; width:100%; height:100%; object-fit:cover; }

/* eyebrow / section label */
.home .eyebrow { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:.25rem; }
.home .eyebrow--light { color:#fff; }
.home .badge-ad { display:inline-block; background:#eef1f4; color:#6b7280; font-size:.62rem; font-weight:700; text-transform:uppercase; padding:.05rem .35rem; border-radius:3px; margin-right:.4rem; letter-spacing:.04em; }

/* breaking ticker */
.home-breaking { display:flex; align-items:stretch; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; margin:0 0 1.4rem; background:#fff; }
.home-breaking__tag { flex:0 0 auto; display:flex; align-items:center; background:var(--accent); color:#fff; font-weight:800; text-transform:uppercase; font-size:.74rem; letter-spacing:.05em; padding:.55rem .8rem; }
.home-breaking__list { list-style:none; margin:0; padding:0 .8rem; display:flex; gap:1.6rem; align-items:center; overflow:hidden; white-space:nowrap; }
.home-breaking__list li { position:relative; }
.home-breaking__list li + li::before { content:""; position:absolute; left:-.8rem; top:50%; width:4px; height:4px; border-radius:50%; background:var(--accent); transform:translateY(-50%); }
.home-breaking__list a { font-size:.9rem; font-weight:600; }
.home-breaking__list a:hover { color:var(--accent); }

/* hero */
.home-hero { display:grid; grid-template-columns:2fr 1fr; gap:1.2rem; margin-bottom:1.8rem; }
.hero-lead { position:relative; border-radius:12px; overflow:hidden; background:#0b1118; min-height:340px; }
.hero-lead__img { position:absolute; inset:0; }
.hero-lead__img img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-lead::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.85)); }
.hero-lead__body { position:relative; z-index:1; margin-top:auto; padding:1.4rem; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; min-height:340px; }
.hero-lead__body .eyebrow { color:#fff; }
.hero-lead__title { margin:.1rem 0 .4rem; font-size:1.7rem; line-height:1.15; font-weight:800; }
.hero-lead__title a:hover { text-decoration:underline; }
.hero-lead__lead { margin:0; color:#e5e7eb; font-size:.95rem; max-width:46ch; }

.hero-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.hl { border-bottom:1px solid var(--line); }
.hl:last-child { border-bottom:0; }
.hl a { display:grid; grid-template-columns:84px 1fr; gap:.7rem; padding:.6rem 0; align-items:center; }
.hl__img { width:84px; height:60px; border-radius:6px; overflow:hidden; background:#eef1f4; flex-shrink:0; }
.hl__img img { width:100%; height:100%; object-fit:cover; display:block; }
.hl__title { display:block; font-weight:700; font-size:.95rem; line-height:1.25; }
.hl a:hover .hl__title { color:var(--accent); }

/* main + sidebar grid */
.home-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:1.8rem; }

/* section blocks */
.sec-block { margin-bottom:1.8rem; }
.sec-head { display:flex; align-items:center; border-bottom:2px solid var(--line); margin-bottom:1rem; }
.sec-head h2 { margin:0; font-size:1.05rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; padding:.1rem .7rem .55rem 0; border-bottom:3px solid var(--accent); margin-bottom:-2px; }

.card-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1.2rem; }
.card-grid--tight { grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:1rem; }
.card { display:flex; flex-direction:column; }
.card__img { display:block; aspect-ratio:16/10; border-radius:8px; overflow:hidden; background:#eef1f4; margin-bottom:.55rem; }
.card__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.card:hover .card__img img { transform:scale(1.04); }
.card__title { margin:.1rem 0 .3rem; font-size:1.02rem; line-height:1.25; font-weight:700; }
.card:hover .card__title a { color:var(--accent); }
.card__lead { margin:0; color:var(--muted); font-size:.86rem; line-height:1.45; }

/* news in pictures */
.pic-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:.7rem; }
.pic { position:relative; aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:#0b1118; }
.pic img { transition:transform .3s ease; }
.pic:hover img { transform:scale(1.05); }
.pic::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.8)); }
.pic__cap { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:.7rem; color:#fff; font-weight:700; font-size:.9rem; line-height:1.2; }

/* sidebar widgets */
.home-aside { align-self:start; }
.widget { border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:1.4rem; background:#fff; }
.widget__head { font-weight:800; text-transform:uppercase; font-size:.8rem; letter-spacing:.04em; padding:.7rem .9rem; border-bottom:2px solid var(--accent); }
.widget--ad { border:0; padding:0; background:transparent; display:flex; justify-content:center; }

.pop { list-style:none; margin:0; padding:.4rem .9rem; counter-reset:none; }
.pop__item { display:grid; grid-template-columns:auto 1fr; gap:.6rem; align-items:start; padding:.55rem 0; border-bottom:1px solid var(--line); }
.pop__item:last-child { border-bottom:0; }
.pop__rank { font-weight:800; font-size:1.1rem; color:var(--accent); line-height:1.2; min-width:1.2rem; }
.pop__item a { font-weight:600; font-size:.92rem; line-height:1.3; }
.pop__item a:hover { color:var(--accent); }

/* weather */
.weather { color:#fff; background:linear-gradient(135deg, var(--accent), #7a0c14); border:0; }
.weather .widget__head { display:none; }
.weather__top { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.1rem .2rem; }
.weather__city { font-size:1.15rem; font-weight:800; }
.weather__cond { opacity:.9; font-size:.85rem; }
.weather__icon { opacity:.95; }
.weather__temp { padding:0 1.1rem 1rem; font-size:3rem; font-weight:800; line-height:1; }
.weather__temp span { font-size:1.2rem; font-weight:700; vertical-align:top; margin-left:.1rem; }

/* social */
.social { display:flex; flex-wrap:wrap; gap:.5rem; padding:.9rem; }
.social__btn { flex:1 1 auto; text-align:center; padding:.5rem .6rem; border-radius:6px; font-weight:700; font-size:.85rem; color:#fff; }
.social__btn--facebook { background:#1877f2; }
.social__btn--x { background:#111; }
.social__btn--instagram { background:linear-gradient(45deg,#f09433,#dc2743,#bc1888); }

/* responsive */
@media (max-width: 980px) {
  .home-hero { grid-template-columns:1fr; }
  .home-grid { grid-template-columns:1fr; }
  .home-aside { order:2; }
}
@media (max-width: 560px) {
  .hero-lead__title { font-size:1.35rem; }
  .home-breaking { flex-direction:column; }
  .home-breaking__list { white-space:normal; flex-wrap:wrap; gap:.4rem 1.2rem; padding:.6rem .8rem; }
}

/* ===== v2: category badges, bylines, headlines strip ===================== */
.home .badge-cat { display:inline-block; background:var(--accent); color:#fff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:.14rem .45rem; border-radius:3px; margin-bottom:.4rem; }
.home .badge-cat--sm { font-size:.6rem; }
.home .card__meta { font-size:.74rem; color:#9aa3af; margin-bottom:.25rem; }
.home .card__meta .meta-by { color:var(--accent); font-weight:700; }
.home .card__meta .meta-dot { margin:0 .12rem; color:#c7ccd2; }
.home .hero-lead__meta { margin-top:.45rem; font-size:.78rem; color:#e5e7eb; }
.home .hero-lead__meta .meta-by { color:#fff; font-weight:700; }
.home .hero-lead__meta .meta-dot { color:#cbd5e1; }

.home-strip { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:1rem; background:#f6f7f9; border:1px solid var(--line); border-radius:10px; padding:.85rem; margin:0 0 1.5rem; }
.strip-item { display:grid; grid-template-columns:64px 1fr; gap:.6rem; align-items:center; }
.strip-item__img { width:64px; height:48px; border-radius:6px; overflow:hidden; background:#e9edf1; flex-shrink:0; }
.strip-item__img img { width:100%; height:100%; object-fit:cover; display:block; }
.strip-item__meta { display:block; font-size:.68rem; color:#9aa3af; margin-bottom:.1rem; }
.strip-item__meta .meta-by { color:var(--accent); font-weight:700; }
.strip-item__title { display:block; font-weight:700; font-size:.86rem; line-height:1.25; color:var(--ink); }
.strip-item:hover .strip-item__title { color:var(--accent); }

/* live weather widget controls */
.home .weather__foot { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:0 1.1rem 1rem; margin-top:-.2rem; }
.home .weather__locate { background:rgba(255,255,255,.18); border:0; color:#fff; font-size:.74rem; font-weight:600; padding:.32rem .6rem; border-radius:999px; cursor:pointer; }
.home .weather__locate:hover { background:rgba(255,255,255,.30); }
.home .weather__locate.is-busy { opacity:.6; cursor:default; }
.home .weather__attr { color:rgba(255,255,255,.72); font-size:.66rem; text-decoration:none; }
.home .weather__attr:hover { color:#fff; text-decoration:underline; }

/* Author avatars in home zones — bulletproof size cap (fixes oversized portraits) */
.home-strip .meta-avatar,
.home-hero .meta-avatar,
.hl .meta-avatar,
.card .meta-avatar,
.strip-item__meta .meta-avatar { width:18px; height:18px; min-width:18px; object-fit:cover; border-radius:50%; vertical-align:middle; flex-shrink:0; display:inline-block; }
