/* Heti hirdetések – approved 2027 typography and layout; colors follow the active theme. */
body:has(.hh-week-view) .herend-page-main { width:100% !important; max-width:none !important; }
body:has(.hh-week-view) .herend-page-main .wp-block-post-content,
body:has(.hh-week-view) .herend-page-main .herend-page-title { width:100% !important; max-width:1200px !important; margin-inline:auto !important; }
.hh-week-view { width:100%; max-width:1200px; margin:0 auto; color:var(--herend-ink,#27352d); font-family:var(--herend-sans,Manrope,sans-serif); font-size:14px; line-height:1.7; }
.hh-week-view * { box-sizing:border-box; }
.hh-week-view a { text-decoration:none; color:inherit; }
.hh-week-view a:hover { color:var(--herend-accent,#365d47); text-decoration:underline; }
.hh-week-view h2,.hh-week-view h3 { font-family:var(--herend-serif,Lora,serif); font-weight:500; }
.hh-kicker { font-size:11px; color:var(--herend-accent,#365d47); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hh-topline { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 27px; }
.hh-topline h2 { font-size:clamp(27px,3vw,39px); line-height:1.22; margin:8px 0; }
.hh-topline p,.hh-section-head p { color:var(--herend-muted,#67766c); margin:0; font-size:14px; }
.hh-top-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.hh-week-view .hh-print-button,.hh-week-view .hh-secondary { display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; gap:8px; padding:11px 16px; border-radius:8px; font:750 13px/1.2 var(--herend-sans,Manrope,sans-serif); min-height:42px; cursor:pointer; }
.hh-week-view .hh-print-button { color:#fff; background:var(--herend-accent-strong,#284a38); border:1px solid var(--herend-accent-strong,#284a38); }
.hh-week-view .hh-print-button:hover { color:#fff; background:var(--herend-accent,#365d47); }
.hh-week-view .hh-secondary { border:1px solid var(--herend-border,#e5e8df); color:var(--herend-accent,#365d47); background:#fffefa; }
.hh-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:40px; }
.hh-shortcuts a { display:flex; flex-direction:column; justify-content:center; min-height:86px; padding:17px 20px; border:1px solid var(--herend-border,#e5e8df); background:#fffefa; border-radius:10px; }
.hh-shortcuts strong { font-size:15px; }
.hh-shortcuts span { display:block; color:var(--herend-muted,#67766c); font-size:12px; margin-top:4px; }
.hh-notice-area { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(260px,.84fr); align-items:start; gap:28px; margin-bottom:57px; }
.hh-section-head { margin-bottom:20px; }
.hh-section-head h2 { font-size:clamp(28px,3vw,35px); margin:5px 0 9px; line-height:1.2; }
.hh-notice-card { border:1px solid var(--herend-border,#e5e8df); background:#fffefa; padding:26px 30px; border-radius:11px; }
.hh-shared-body > :first-child { margin-top:0; }
.hh-shared-body > :last-child { margin-bottom:0; }
.hh-shared-body :is(h2,h3,h4) { font-family:var(--herend-sans,Manrope,sans-serif); font-size:15px; font-weight:800; margin:24px 0 6px; }
.hh-shared-body p,.hh-local-card p { color:#526357; line-height:1.8; font-size:14px; margin:0 0 14px; }
.hh-shared-body ul,.hh-shared-body ol { padding-left:22px; }
.hh-shared-body li { margin-bottom:8px; }
.hh-local-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.hh-local-grid:empty { display:none; }
.hh-local-card { border:1px solid var(--herend-border,#e5e8df); padding:18px 21px; border-radius:9px; background:#fffefa; min-width:0; }
.hh-local-card h3 { color:var(--herend-accent,#365d47); font:500 23px/1.2 var(--herend-serif,Lora,serif); margin:0 0 12px; }
.hh-local-card p:last-child { margin:0; }
.hh-empty,.hh-error { background:#eff3eb; border:1px solid var(--herend-border,#e5e8df); color:var(--herend-muted,#67766c); padding:18px 21px; border-radius:8px; }
.hh-error { margin:12px 0; border-color:#d4b9a1; background:#fff7ef; color:#80512e; }
.hh-aside { display:grid; gap:14px; }
.hh-aside-box { background:var(--herend-accent-soft,#eff3eb); padding:25px 23px; border:1px solid var(--herend-border,#e5e8df); border-radius:10px; }
.hh-aside-box h3 { font-size:23px; line-height:1.25; margin:10px 0 15px; }
.hh-aside-box p,.hh-aside-note p { font-size:13px; color:var(--herend-muted,#67766c); margin:15px 0 0; line-height:1.75; }
.hh-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; border-top:1px solid var(--herend-border,#e5e8df); padding-top:14px; }
.hh-counts > div { text-align:center; }
.hh-counts strong { font:500 28px/1.2 var(--herend-serif,Lora,serif); color:var(--herend-accent,#365d47); display:block; }
.hh-counts span { font-size:10px; color:var(--herend-muted,#67766c); }
.hh-aside-note { background:#fffefa; border:1px solid var(--herend-border,#e5e8df); padding:22px; border-radius:10px; }
.hh-aside-note strong { font-size:14px; }
.hh-calendar-section { margin-top:40px; }
.hh-week-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.hh-week-nav { display:flex; gap:8px; }
.hh-week-nav a { background:#fffefa; border:1px solid var(--herend-border,#e5e8df); border-radius:7px; color:var(--herend-accent,#365d47); display:grid; place-items:center; width:43px; height:43px; font:700 27px/1 Georgia,serif; }
.hh-week-nav a:hover { background:var(--herend-accent-soft,#eff3eb); text-decoration:none; }
.hh-filterbar { background:#fffefa; border:1px solid var(--herend-border,#e5e8df); padding:16px 18px; border-radius:10px; margin:22px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.hh-filter-towns,.hh-filter-extra { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.hh-filter-towns > strong { font-size:12px; white-space:nowrap; }
.hh-filter-chips,.hh-type-filter { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.hh-filter-chips a,.hh-type-filter a { border:1px solid #dce4dc; padding:6px 10px; border-radius:99px; font-weight:700; font-size:11px; min-height:31px; display:inline-flex; align-items:center; }
.hh-type-filter a { border-radius:6px; }
.hh-filter-chips a.is-active,.hh-type-filter a.is-active { color:#fff; background:var(--herend-accent,#365d47); border-color:var(--herend-accent,#365d47); }
.hh-filter-extra label { display:flex; align-items:center; white-space:nowrap; gap:6px; font-size:12px; color:var(--herend-muted,#67766c); cursor:pointer; }
.hh-filter-extra input { accent-color:var(--herend-accent,#365d47); width:15px; height:15px; }
.hh-week-view:has(.hh-intentions input:not(:checked)) .hh-intention { display:none; }
.hh-days { display:grid; gap:12px; }
.hh-day-card { display:grid; grid-template-columns:170px minmax(0,1fr); background:#fffefa; border:1px solid var(--herend-border,#e5e8df); border-radius:10px; overflow:hidden; break-inside:avoid; }
.hh-day-date { background:var(--herend-accent-soft,#eff3eb); border-right:1px solid var(--herend-border,#e5e8df); padding:23px 19px; display:flex; align-items:baseline; gap:4px 9px; flex-wrap:wrap; align-content:start; }
.hh-day-number { font:500 43px/1.1 var(--herend-serif,Lora,serif); color:var(--herend-accent,#365d47); }
.hh-day-month { font-size:11px; color:var(--herend-accent,#365d47); font-weight:700; }
.hh-day-date strong { font-size:13px; display:block; width:100%; }
.hh-day-entries { padding:12px 21px; min-width:0; }
.hh-event-row { display:grid; grid-template-columns:78px 105px minmax(0,1fr); gap:13px; padding:13px 0; border-top:1px solid var(--herend-border,#e5e8df); }
.hh-event-row:first-child { border-top:0; }
.hh-event-row time { font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.hh-event-location { color:var(--herend-accent,#365d47); font-weight:750; font-size:12px; overflow-wrap:anywhere; }
.hh-event-row strong { font-size:14px; font-weight:750; line-height:1.45; }
.hh-intention,.hh-event-row small { font-size:12px; color:var(--herend-muted,#67766c); display:block; margin-top:5px; overflow-wrap:anywhere; }
.hh-bottom { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:31px; }
.hh-bottom > div { border:1px solid var(--herend-border,#e5e8df); background:#fffefa; padding:22px 25px; border-radius:10px; }
.hh-bottom h3 { font-size:24px; margin:6px 0; }
.hh-bottom p { font-size:13px; color:var(--herend-muted,#67766c); margin:6px 0 18px; }
.hh-archive-list { margin:8px 0 0; padding-left:20px; }
.hh-archive-list a { font-size:12px; color:var(--herend-accent,#365d47); }
@media(max-width:980px) { .hh-notice-area { grid-template-columns:1fr; } .hh-aside { grid-template-columns:1fr 1fr; } .hh-filterbar { align-items:flex-start; flex-direction:column; } }
@media(max-width:720px) { .hh-topline { display:block; } .hh-top-actions { margin-top:18px; } .hh-shortcuts { grid-template-columns:1fr; gap:9px; } .hh-aside { grid-template-columns:1fr; } .hh-local-grid { grid-template-columns:1fr; } .hh-day-card { grid-template-columns:1fr; } .hh-day-date { border-right:0; border-bottom:1px solid var(--herend-border,#e5e8df); padding:12px 17px; align-items:center; } .hh-day-number { font-size:30px; } .hh-day-date strong { width:auto; margin-left:auto; } .hh-event-row { grid-template-columns:70px 77px minmax(0,1fr); gap:7px; } .hh-day-entries { padding:7px 15px; } .hh-bottom { grid-template-columns:1fr; } }
@media(max-width:450px) { .hh-topline h2 { font-size:27px; } .hh-shortcuts a { padding:13px 16px; } .hh-event-row { grid-template-columns:60px minmax(0,1fr); gap:5px 12px; } .hh-event-row time { font-size:14px; } .hh-event-location { grid-column:2; grid-row:2; } .hh-event-row > div { grid-column:2; grid-row:1; } .hh-day-date strong { width:100%; margin:0; } .hh-notice-card { padding:20px; } }
@media print {
  @page { size:A4; margin:13mm 14mm; }
  html,body { background:#fff !important; color:#000 !important; }
  .herend-page-main { padding:0 !important; }
  .herend-page-title { font-size:20pt !important; margin-bottom:8pt !important; }
  .hh-week-view { width:100%; max-width:none; color:#000; font-size:10pt; }
  .hh-shortcuts,.hh-top-actions,.hh-filterbar,.hh-week-nav,.hh-bottom,.hh-aside { display:none !important; }
  .hh-topline { margin:0 0 9pt; }
  .hh-topline h2 { font-size:15pt; margin:2pt 0; }
  .hh-notice-area { display:block; margin:0 0 14pt; }
  .hh-section-head { margin:5pt 0; }
  .hh-section-head h2 { font-size:15pt; margin:0; }
  .hh-section-head p,.hh-kicker { display:none; }
  .hh-notice-card,.hh-local-card { border:0; background:#fff; padding:0; box-shadow:none; }
  .hh-local-grid { display:block; margin-top:9pt; }
  .hh-local-card { break-inside:avoid; margin-bottom:8pt; }
  .hh-local-card h3 { font-size:12pt; margin-bottom:3pt; }
  .hh-local-card p,.hh-shared-body p { font-size:9pt; line-height:1.4; margin-bottom:5pt; color:#000; }
  .hh-calendar-section { margin:0; }
  .hh-day-card { grid-template-columns:95px 1fr; border:0; border-bottom:1px solid #bbb; border-radius:0; }
  .hh-day-date { border:0; background:#fff; padding:5pt 6pt 4pt 0; }
  .hh-day-number { font-size:22pt; color:#000; }
  .hh-day-month { color:#000; font-size:8pt; }
  .hh-day-date strong { font-size:9pt; }
  .hh-day-entries { padding:4pt 0; }
  .hh-event-row { grid-template-columns:50px 75px minmax(0,1fr); gap:6pt; padding:4pt 0; }
  .hh-event-row :is(strong,time) { font-size:9pt; }
  .hh-event-location,.hh-intention,.hh-event-row small { font-size:8pt; color:#000; }
}
