/* Herend Calendar frontend. Uses the approved 2027 theme variables. */
body:has(.hn-page) .herend-page-main { max-width:none !important; width:100% !important; }
body:has(.hn-page) .herend-page-main .wp-block-post-content,
body:has(.hn-page) .herend-page-main .herend-page-title { width:100% !important; max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; }
.hn-page { color:var(--herend-ink,#27352d); width:100%; max-width:1200px; margin:0 auto; font-family:var(--herend-sans,Manrope,sans-serif); }
.hn-page * { box-sizing:border-box; }
.hn-page a { color:inherit; text-decoration:none; }
.hn-page a:focus-visible { outline:3px solid #a98b57; outline-offset:3px; }
.hn-intro { background:#f1f3ec; padding:22px 27px; border-radius:8px; margin-bottom:24px; }
.hn-intro p { max-width:790px; color:var(--herend-muted,#67766c); margin:7px 0 0; font-size:15px; line-height:1.75; }
.hn-kicker { text-transform:uppercase; letter-spacing:1.4px; font-size:10px; color:var(--herend-accent,#365d47); font-weight:800; }
.hn-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:14px 0 28px; border-bottom:1px solid var(--herend-border,#e5e8df); }
.hn-toolbar-label { font-size:13px; font-weight:800; }
.hn-places { display:flex; flex-wrap:wrap; gap:7px; }
.hn-page .hn-chip { display:inline-flex; padding:7px 12px; min-height:34px; align-items:center; border:1px solid #dbe2d9; border-radius:30px; font-size:12px; color:#526958; font-weight:700; line-height:1.2; }
.hn-page .hn-chip:hover { border-color:var(--herend-accent,#365d47); }
.hn-page .hn-chip.is-active { background:var(--herend-accent,#365d47); color:#fff; border-color:var(--herend-accent,#365d47); }
.hn-toggle { display:flex; align-items:center; gap:7px; color:var(--herend-muted,#67766c); font-size:12px; cursor:pointer; margin-left:auto; }
.hn-toggle input { width:16px; height:16px; accent-color:var(--herend-accent,#365d47); }
body:has(.hn-masses .hn-intent-toggle:not(:checked)) .hn-masses .hn-intention { display:none; }
.hn-columns { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(240px,.78fr); gap:52px; padding:35px 0 65px; }
.hn-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.hn-heading h2 { font:500 clamp(24px,3vw,34px)/1.25 var(--herend-serif,Lora,serif); margin:7px 0 20px; }
.hn-steppers { display:flex; gap:7px; }
.hn-page .hn-steppers a { display:grid; place-items:center; width:39px; height:39px; border-radius:6px; border:1px solid #d5ddd3; color:var(--herend-accent,#365d47); background:#fffefa; font:700 26px/1 sans-serif; }
.hn-page .hn-steppers a:hover { background:#eff3eb; }
.hn-day { margin:22px 0 5px; padding:0 0 4px; font-family:var(--herend-sans,Manrope,sans-serif); font-size:11px; color:var(--herend-accent,#365d47); text-transform:uppercase; letter-spacing:1px; font-weight:800; }
.hn-entry { display:grid; grid-template-columns:75px minmax(0,1fr) auto; gap:12px; border-bottom:1px solid var(--herend-border,#e5e8df); padding:14px 0; align-items:start; }
.hn-entry-time { font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; }
.hn-entry-main strong { display:block; font-size:14px; line-height:1.5; }
.hn-intention,.hn-location { font-size:12px; color:var(--herend-muted,#67766c); margin-top:4px; overflow-wrap:anywhere; }
.hn-place { font-size:11px; font-weight:600; color:#4b7056; background:#eff3eb; border-radius:6px; padding:5px 8px; text-align:right; max-width:190px; overflow-wrap:anywhere; }
.hn-side { border-left:1px solid var(--herend-border,#e5e8df); padding-left:31px; }
.hn-side h3 { font:500 25px/1.3 var(--herend-serif,Lora,serif); margin:9px 0 14px; }
.hn-side p { font-size:13px; line-height:1.8; color:var(--herend-muted,#67766c); margin:0 0 17px; }
.hn-side a,.hn-related a { font-size:13px; font-weight:800; color:var(--herend-accent,#365d47); }
.hn-related { display:flex; gap:24px; flex-wrap:wrap; margin-top:24px; }
.hn-empty,.hn-home-empty { border:1px solid #e0e6dc; background:#f1f3ed; padding:18px 20px; border-radius:7px; font-size:13px; color:var(--herend-muted,#67766c); }
.hn-empty p { margin:5px 0 0; }
.hn-view-switch { display:flex; gap:4px; margin:0 0 20px; }
.hn-page .hn-view-switch a { padding:8px 17px; background:#f1f3ed; border-radius:5px; font-size:12px; font-weight:800; color:var(--herend-accent,#365d47); }
.hn-page .hn-view-switch a.is-active { color:#fff; background:var(--herend-accent,#365d47); }
.hn-calendar { overflow-x:auto; margin:10px 0 25px; }
.hn-calendar-days,.hn-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:530px; }
.hn-calendar-days span { text-align:center; font-size:11px; padding:8px 0; font-weight:800; color:#6c7a70; }
.hn-calendar-grid { border-left:1px solid #e2e7df; border-top:1px solid #e2e7df; }
.hn-calendar-cell { min-height:98px; padding:8px 6px; border-right:1px solid #e2e7df; border-bottom:1px solid #e2e7df; background:#fffefa; }
.hn-calendar-cell.is-outside { background:#f4f5f0; opacity:.65; }
.hn-calendar-num { font-size:12px; font-weight:700; color:#526958; }
.hn-calendar-event { display:block; font-size:10px; line-height:1.35; border-left:3px solid var(--herend-accent,#365d47); margin-top:6px; padding:4px 4px 4px 6px; background:#eff3eb; overflow-wrap:anywhere; }
.hn-calendar-more { font-size:10px; color:var(--herend-muted,#67766c); }
.hn-home-list { display:grid; gap:0; width:100%; }
.hn-home-item { display:flex; align-items:start; gap:15px; border-bottom:1px solid var(--herend-border,#e5e8df); padding:14px 0; }
.hn-home-date { border-radius:7px; min-width:53px; min-height:58px; padding:5px 7px; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#eff3eb; color:var(--herend-accent,#365d47); font:500 23px/1.2 var(--herend-serif,Lora,serif); }
.hn-home-date small { font:700 10px/1.3 var(--herend-sans,Manrope,sans-serif); }
.hn-home-content { min-width:0; }
.hn-home-content strong { display:block; font-size:13px; line-height:1.4; }
.hn-home-content span { display:block; color:var(--herend-muted,#67766c); font-size:11px; margin-top:3px; }
.hn-home-content .hn-home-intention { color:#8b754c; }
.hn-home-empty a { color:var(--herend-accent,#365d47); font-weight:700; }
@media(max-width:850px){.hn-columns{grid-template-columns:1fr;gap:24px}.hn-side{border-left:0;border-top:1px solid var(--herend-border,#e5e8df);padding:25px 0 0}.hn-toggle{margin-left:0}}
@media(max-width:520px){.hn-intro{padding:18px}.hn-entry{grid-template-columns:64px minmax(0,1fr);gap:8px}.hn-place{grid-column:2;justify-self:start}.hn-heading h2{font-size:24px}.hn-places{gap:5px}.hn-page .hn-chip{padding:6px 10px;font-size:11px}}
@media print {.hn-toolbar,.hn-steppers,.hn-side,.hn-view-switch,.hn-related{display:none!important}.hn-columns{display:block;padding:0}.hn-page{color:#000}.hn-calendar{display:none}.hn-entry{break-inside:avoid}}
