/* ============================================================
   Seničan — homepage (scoped under .senican-home)
   Brand: purple #7A2A8D + golden yellow #FFC600
   Typography inherits the eihei theme system:
   - root is 62.5% → 1rem = 10px (all sizes below use that scale)
   - headings → --font-family-one (Fraunces), body → --font-family-general (Hanken Grotesk)
   ============================================================ */

.senican-home {
  /* Brand */
  --purple:        #7A2A8D;
  --purple-600:    #6A2079;
  --purple-deep:   #531861;
  --purple-ink:    #2C1530;
  --purple-soft:   #F4ECF6;
  --purple-softer: #FAF5FB;
  --purple-line:   #E4D3E9;

  --yellow:        #FFC600;
  --yellow-bright: #FFDD00;
  --yellow-deep:   #E8A800;
  --yellow-soft:   #FFF3C9;
  --yellow-tint:   #FFFAE6;

  /* Neutrals (warm paper) */
  --paper:    #FFFDF7;
  --paper-2:  #FBF7EF;
  --ink:      #241522;
  --ink-soft: #5E4E5C;
  --ink-mute: #8C7E8B;
  --line:     #EAE2DC;
  --line-2:   #E0D6CE;

  /* Civic-service neutral */
  --civic-bg:   #F5F4F2;
  --civic-line: #DAD7D2;
  --civic-ink:  #3A3640;

  /* Service alert accents */
  --el:   #C8851A;  --el-bg:#FBEFD7;
  --vo:   #2B6FA8;  --vo-bg:#E3EEF6;
  --do:   #5A6472;  --do-bg:#ECEEF1;

  /* Type — follow the theme so the homepage matches header/footer/posts */
  --serif: var(--font-family-one);
  --sans:  var(--font-family-general);

  /* Geometry */
  --r-sm: 8px;
  --r:    14px;
  --r-lg: 22px;
  --r-xl: 30px;
  --maxw: 1180px;
  --gut:  clamp(20px, 5vw, 56px);

  --shadow-card: 0 2px 4px rgba(44,21,48,.04), 0 14px 34px -16px rgba(44,21,48,.18);
  --shadow-soft: 0 1px 2px rgba(44,21,48,.05), 0 8px 22px -14px rgba(44,21,48,.16);

  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  font-size: 2rem;        /* 20px — matches theme body */
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Neutralise the theme's homepage grid so full-bleed bands work */
.home-template main.g-grid-template { display: block; padding: 0; }
.home-template { background: var(--color-body); }

.senican-home * { box-sizing: border-box; }
.senican-home img { max-width: 100%; display: block; }
.senican-home a { color: inherit; text-decoration: none; }

.senican-home .wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gut); }

/* ---------- Type ---------- */
.senican-home h1,
.senican-home h2,
.senican-home h3 { font-family: var(--serif); font-weight: 700; color: var(--purple-ink); line-height: 1.16; letter-spacing: -.01em; margin: 0; }

.senican-home .kicker {
  display: inline-flex; align-items: center; gap: 9px; white-space: nowrap;
  font-family: var(--sans);
  font-size: 1.3rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--purple);
}
.senican-home .kicker::before {
  content: ""; width: 26px; height: 3px; border-radius: 2px;
  background: var(--yellow); display: inline-block;
}

.senican-home .sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; }
.senican-home .sec-head h2 { font-size: clamp(2.8rem, 2.2vw + 1.6rem, 3.8rem); margin: 12px 0 0; }
.senican-home .sec-head .sub { color: var(--ink-soft); max-width: 46ch; margin: 10px 0 0; font-size: 1.7rem; }
.senican-home section { padding-block: clamp(48px, 7vw, 92px); }

/* ============================================================ HERO */
.senican-home .hero { text-align: center; padding-block: clamp(46px, 7vw, 84px) clamp(30px,4vw,44px); }
.senican-home .hero h1 {
  font-size: clamp(2.6rem, 2vw + 1.4rem, 3.6rem); font-weight: 700; max-width: 30ch; margin: 0 auto;
  line-height: 1.2; letter-spacing: -.01em;
}

/* Featured + manifest sa renderuju natívnym eihei blokom (.special-* / .about-*,
   styly su v screen.css). Ziaden custom featured-band tu nie je — viz index.hbs. */

/* .senican-home ma nepriehladne kremove pozadie; .about-overlay (gradient ram)
   je z-index:-1, takze bez vlastneho stacking kontextu by sa vykreslil ZA tymto
   pozadim a zmizol. isolation:isolate drzi overlay nad kremovym pozadim wrappera. */
.senican-home .about-section { isolation: isolate; }

/* placeholder fills */
.senican-home .ph { display: block; background: var(--purple-soft); background-size: cover; background-position: center; }
.senican-home .ph[data-h="1"]{ background: linear-gradient(150deg,#cfe6c4,#9ec48a); }
.senican-home .ph[data-h="2"]{ background: linear-gradient(150deg,#3a2330,#6a3550); }
.senican-home .ph[data-h="3"]{ background: linear-gradient(150deg,#e8d6b0,#caa873); }
.senican-home .ph[data-h="4"]{ background: linear-gradient(150deg,#e7c9a0,#c98f63); }
.senican-home .ph[data-h="5"]{ background: linear-gradient(150deg,#dfe2e6,#aeb6bf); }
.senican-home .ph[data-h="6"]{ background: linear-gradient(150deg,#d9b48a,#a06a3c); }
.senican-home .ph[data-h="7"]{ background: linear-gradient(150deg,#cdb89a,#7c5230); }
.senican-home .ph[style*="url"]{ background-color: var(--purple-soft); }

/* ============================================================ EDITORIAL "Čo je nové" */
.senican-home .search-pill {
  display:inline-flex; align-items:center; gap:9px; padding:12px 20px; border-radius:999px;
  border:1px solid var(--line-2); background:#fff; color:var(--ink-mute); font-size:1.6rem; cursor:pointer;
  font-family:var(--sans);
}
.senican-home .search-pill:hover { border-color: var(--purple); }

.senican-home .lead-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3vw,40px); }
.senican-home .lead-card .ph { aspect-ratio:16/11; border-radius:var(--r-lg); }
.senican-home .lead-card .by { font-size:1.4rem; color:var(--ink-mute); margin:18px 0 8px; }
.senican-home .lead-card h3 { font-size:clamp(2.2rem,2vw,2.8rem); margin:0 0 10px; }
.senican-home .lead-card p { margin:0; color:var(--ink-soft); font-size:1.8rem; }

.senican-home .art-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,38px); margin-top:clamp(34px,4vw,54px); }
.senican-home .art-card .ph { aspect-ratio:4/3; border-radius:var(--r); }
.senican-home .art-card .by { font-size:1.4rem; color:var(--ink-mute); margin:16px 0 7px; }
.senican-home .art-card h3 { font-size:clamp(1.9rem,1.4vw,2.1rem); margin:0 0 9px; }
.senican-home .art-card p { margin:0; color:var(--ink-soft); font-size:1.6rem; }

.senican-home .more-btn {
  display:block; margin:clamp(40px,5vw,60px) auto 0; padding:15px 36px; border:none; cursor:pointer;
  background:var(--purple); color:#fff; border-radius:999px; font-family:var(--sans); font-weight:600; font-size:1.7rem;
  transition:background .15s, transform .15s; text-align:center;
}
.senican-home .more-btn:hover { background:var(--purple-deep); transform:translateY(-1px); }

/* ============================================================ CIVIC band wrapper */
.senican-home .civic { background:var(--purple-softer); border-block:1px solid var(--purple-line); }
.senican-home .attribution { font-size:1.3rem; color:var(--ink-mute); display:inline-flex; align-items:center; gap:6px; }
.senican-home .attribution a { color:var(--purple); text-decoration:underline; text-underline-offset:2px; }

/* Badges */
.senican-home .badge {
  display:inline-flex; align-items:center; gap:6px; font-size:1.2rem; font-weight:700; white-space:nowrap;
  letter-spacing:.06em; text-transform:uppercase; padding:5px 11px; border-radius:999px; line-height:1;
}
.senican-home .badge.mesto   { background:var(--purple-soft); color:var(--purple); }
.senican-home .badge.uradne  { background:#EEEBE6; color:var(--civic-ink); border:1px solid var(--civic-line); letter-spacing:.1em; }
.senican-home .badge.poduj   { background:var(--yellow-soft); color:#8a6a00; }

/* ---- Z mesta cards ---- */
.senican-home .mesto-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.senican-home .mesto-card {
  background:#fff; border:1px solid var(--purple-line); border-radius:var(--r); padding:22px 22px 20px;
  display:flex; flex-direction:column; gap:13px; transition:transform .15s, box-shadow .15s;
}
.senican-home .mesto-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.senican-home .mesto-card .top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.senican-home .mesto-card .date { font-size:1.3rem; color:var(--ink-mute); font-weight:500; }
.senican-home .mesto-card h3 { font-size:clamp(1.7rem,1.3vw,1.9rem); line-height:1.24; margin:0; }
.senican-home .mesto-card p { margin:0; color:var(--ink-soft); font-size:1.55rem; line-height:1.45; flex:1; }
.senican-home .mesto-card .foot { padding-top:13px; border-top:1px solid var(--line); }

/* ============================================================ PODUJATIA */
.senican-home .filters { display:flex; gap:9px; flex-wrap:wrap; }
.senican-home .chip {
  padding:9px 18px; border-radius:999px; border:1px solid var(--line-2); background:#fff;
  font-family:var(--sans); font-size:1.5rem; font-weight:600; color:var(--ink-soft); cursor:pointer;
  transition:all .15s;
}
.senican-home .chip:hover { border-color:var(--purple); color:var(--purple); }
.senican-home .chip.on { background:var(--purple); border-color:var(--purple); color:#fff; }

.senican-home .event-list { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:30px; }
.senican-home .event {
  display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:18px 22px;
  transition:transform .15s, box-shadow .15s, border-color .15s;
}
.senican-home .event:hover { transform:translateY(-2px); box-shadow:var(--shadow-soft); border-color:var(--purple-line); }
.senican-home .datechip {
  width:68px; height:68px; border-radius:14px; display:grid; place-content:center; text-align:center;
  background:var(--purple); color:#fff; line-height:1;
}
.senican-home .datechip .d { font-family:var(--serif); font-weight:700; font-size:2.6rem; }
.senican-home .datechip .m { font-size:1.15rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:4px; color:var(--yellow-bright); }
.senican-home .event .meta h3 { font-size:clamp(1.7rem,1.3vw,1.9rem); margin:0 0 6px; }
.senican-home .event .meta .where { font-size:1.5rem; color:var(--ink-soft); display:flex; gap:14px; flex-wrap:wrap; }
.senican-home .event .meta .where b { color:var(--purple); font-weight:600; }
.senican-home .cat-badge {
  align-self:flex-start; white-space:nowrap;
  font-size:1.15rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; line-height:1;
}
.senican-home .cat-badge.kultura  { background:var(--purple-soft); color:var(--purple); }
.senican-home .cat-badge.sport    { background:var(--yellow-soft); color:#8A6A00; }
.senican-home .cat-badge.komunita { background:#E6EEF0; color:#356A74; }
.senican-home .event.hide { display:none; }

/* ============================================================ SERVIS — alert strip */
.senican-home .servis-strip {
  background:var(--civic-bg); border:1px solid var(--civic-line); border-radius:var(--r-lg);
  padding:8px; display:flex; flex-direction:column;
}
.senican-home .servis-strip .hdr { display:flex; align-items:center; gap:12px; padding:14px 16px 16px; }
.senican-home .servis-strip .hdr .ttl { font-family:var(--serif); font-weight:700; font-size:clamp(1.7rem,1.3vw,1.9rem); color:var(--civic-ink); }
.senican-home .servis-strip .hdr .hdr-note { font-size:1.3rem; }
.senican-home .alert-row {
  display:grid; grid-template-columns:auto 1fr auto auto; gap:16px; align-items:center;
  background:#fff; border:1px solid var(--civic-line); border-radius:10px; padding:14px 16px; margin:5px;
}
.senican-home .alert-ico { width:40px; height:40px; border-radius:9px; display:grid; place-content:center; flex:none; }
.senican-home .alert-ico.el { background:var(--el-bg); color:var(--el); }
.senican-home .alert-ico.vo { background:var(--vo-bg); color:var(--vo); }
.senican-home .alert-ico.do { background:var(--do-bg); color:var(--do); }
.senican-home .alert-ico svg { width:21px; height:21px; }
.senican-home .alert-row .what { font-weight:600; color:var(--civic-ink); font-size:1.65rem; }
.senican-home .alert-row .what span { display:block; font-weight:400; color:var(--ink-soft); font-size:1.45rem; }
.senican-home .alert-row .when { font-size:1.5rem; color:var(--civic-ink); font-weight:600; text-align:right; }
.senican-home .alert-row .when span { display:block; font-weight:400; color:var(--ink-mute); font-size:1.3rem; }
.senican-home .alert-row .src { font-size:1.3rem; color:var(--ink-mute); white-space:nowrap; }

/* ============================================================ TRANSPARENTNOSŤ — document list */
.senican-home .doc-list { border:1px solid var(--civic-line); border-radius:var(--r); overflow:hidden; background:#fff; }
.senican-home .doc {
  display:grid; grid-template-columns:1fr auto auto auto auto; gap:20px; align-items:center;
  padding:18px 22px; border-bottom:1px solid var(--line); transition:background .12s;
}
.senican-home .doc:last-child { border-bottom:none; }
.senican-home .doc:hover { background:var(--civic-bg); }
.senican-home .doc .name { font-weight:600; color:var(--civic-ink); font-size:clamp(1.6rem,1.2vw,1.8rem); }
.senican-home .doc .type { font-size:1.4rem; color:var(--ink-mute); }
.senican-home .doc .date { font-size:1.4rem; color:var(--ink-soft); white-space:nowrap; }
.senican-home .doc .arrow { color:var(--purple); font-weight:700; }

/* ============================================================ RESPONSIVE */
@media (max-width: 980px) {
  .senican-home .mesto-grid { grid-template-columns:repeat(2,1fr); }
  .senican-home .art-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
  .senican-home .lead-grid { grid-template-columns:1fr; }
  .senican-home .art-grid { grid-template-columns:1fr; }
  .senican-home .mesto-grid { grid-template-columns:1fr; }
  .senican-home .event-list { grid-template-columns:1fr; }
  .senican-home .event { grid-template-columns:auto 1fr; }
  .senican-home .cat-badge { grid-column:2; justify-self:start; margin-top:2px; }
  .senican-home .alert-row { grid-template-columns:auto 1fr; }
  .senican-home .alert-row .when,
  .senican-home .alert-row .src { grid-column:2; text-align:left; }
  .senican-home .doc { grid-template-columns:1fr auto; }
  .senican-home .doc .type { display:none; }
}
