:root{
  --hei-bg:#e8f1f8;
  --hei-surface:#ffffff;
  --hei-surface-2:#f6f9fc;
  --hei-text:#17324d;
  --hei-text-soft:#597086;
  --hei-border:#d8e4ee;
  --hei-accent:#163047;
  --hei-accent-2:#0f2436;
  --hei-upcoming-bg:#fff1db;
  --hei-upcoming-text:#9b4b00;
  --hei-shadow:0 12px 34px rgba(12,31,51,.08);
  --hei-radius:18px;
}

.hei-agenda-app,
.hei-home-block{font-family:"League Spartan",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--hei-text)}
.hei-home-block{background:var(--hei-bg);border:1px solid var(--hei-border);border-radius:28px;padding:22px;box-shadow:var(--hei-shadow)}
.hei-title-row,.hei-cta-row,.hei-app-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hei-title-row h2,.hei-range-title{margin:0;font-size:32px;line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--hei-text)}
.hei-title-row a,.hei-back-link{color:var(--hei-accent);text-decoration:none;font-weight:700}
.hei-range-title{margin:0 0 18px}
.hei-app-head{margin:0 0 18px}
.hei-temporal-tabs,.hei-filter-pills{display:flex;gap:10px;flex-wrap:wrap}
.hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle{appearance:none;border:1px solid var(--hei-border);background:#fff;color:var(--hei-text);border-radius:999px;padding:11px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:.2s ease}
.hei-temporal-tabs button.is-active,.hei-filter-pills button.is-active{background:var(--hei-accent);border-color:var(--hei-accent);color:#fff}
.hei-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:800;transition:.2s ease}
.hei-btn-primary{background:var(--hei-accent);color:#fff}
.hei-btn-light{background:#fff;color:var(--hei-accent)}
.hei-btn-outline{background:transparent;border:1px solid currentColor;color:inherit}
.hei-btn:hover,.hei-temporal-tabs button:hover,.hei-filter-pills button:hover,.hei-other-toggle:hover{transform:translateY(-1px)}

/* Featured slider */
.hei-fx{position:relative;isolation:isolate;margin:0 0 26px}
.hei-fx *{box-sizing:border-box}
.hei-fx__viewport{overflow:hidden;border-radius:22px}
.hei-fx__track{display:flex;gap:16px;align-items:stretch;will-change:transform;transition:transform .42s cubic-bezier(.22,.61,.36,1)}
.hei-fx__slide{flex:0 0 calc(50% - 8px);min-width:calc(50% - 8px)}
.hei-fx-card{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid var(--hei-border);border-radius:22px;overflow:hidden;box-shadow:var(--hei-shadow);text-decoration:none;color:inherit}
.hei-fx-card__media{aspect-ratio:16/10;background:#eaf1f7;overflow:hidden}
.hei-fx-card__media img,.hei-agenda-media img{display:block;width:100%;height:100%;object-fit:cover}
.hei-noimg{width:100%;height:100%;min-height:180px;background:linear-gradient(135deg,#edf3f8,#dce7f1)}
.hei-fx-card__body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.hei-fx-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px}
.hei-fx-card__cat{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hei-text-soft)}
.hei-fx-card__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}
.hei-fx-card__badge--upcoming{background:var(--hei-upcoming-bg);color:var(--hei-upcoming-text)}
.hei-fx-card__title{margin:0;font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.hei-fx-card__meta{font-size:13px;color:var(--hei-text-soft);font-weight:700}
.hei-fx__slide.is-a2 .hei-fx-card{border-color:#ffd8a3;box-shadow:0 12px 34px rgba(155,75,0,.08)}
.hei-fx__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:999px;background:rgba(22,48,71,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;box-shadow:0 10px 24px rgba(12,31,51,.22)}
.hei-fx__nav[disabled]{opacity:.35;cursor:default;pointer-events:none}
.hei-fx__nav--prev{left:-10px}
.hei-fx__nav--next{right:-10px}
.hei-fx__dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.hei-fx__dot{width:10px;height:10px;border:0;border-radius:999px;background:#c7d6e2;cursor:pointer;padding:0}
.hei-fx__dot.is-active{background:var(--hei-accent)}

/* Admin debug */
.hei-debug-badges{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.hei-debug-badges span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff5bf;color:#6d5900;font-size:10px;font-weight:800}
.hei-debug-note{margin-top:12px;font-size:12px;line-height:1.4;color:#6c8195}

/* Agenda cards */
.hei-section-title{margin:20px 0 12px;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--hei-text)}
.hei-agenda-list{display:grid;gap:18px}
.hei-agenda-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;background:var(--hei-surface);border:1px solid var(--hei-border);border-radius:22px;overflow:hidden;box-shadow:var(--hei-shadow)}
.hei-agenda-card.is-a1{background:linear-gradient(180deg,var(--hei-accent) 0%,var(--hei-accent-2) 100%);border-color:var(--hei-accent-2);color:#fff}
.hei-agenda-media{background:#dce8f2;min-height:220px}
.hei-agenda-body{padding:18px 20px 20px}
.hei-time{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:#edf4fa;color:var(--hei-accent);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.hei-agenda-card.is-a1 .hei-time{background:rgba(255,255,255,.12);color:#fff}
.hei-agenda-body h3{margin:0 0 10px;font-size:26px;line-height:1.14;letter-spacing:-.03em}
.hei-agenda-body h3 a{color:inherit;text-decoration:none}
.hei-details{font-size:14px;color:var(--hei-text-soft);margin-bottom:10px}
.hei-agenda-card.is-a1 .hei-details,.hei-agenda-card.is-a1 .hei-excerpt{color:rgba(255,255,255,.86)}
.hei-term-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.hei-term-list span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#edf4fa;color:var(--hei-accent);font-size:11px;font-weight:800;letter-spacing:.05em}
.hei-agenda-card.is-a1 .hei-term-list span{background:rgba(255,255,255,.12);color:#fff}
.hei-excerpt{font-size:15px;line-height:1.55;color:#3f5a70;margin-bottom:14px}
.hei-links-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hei-all-day-wrap{margin-top:22px;padding:18px;border:1px dashed var(--hei-border);border-radius:22px;background:var(--hei-surface-2)}
.hei-all-day-wrap h3{margin:0 0 14px;font-size:20px}
.hei-agenda-card.is-all-day .hei-time{text-transform:none;letter-spacing:0}

/* Others */
.hei-others-wrap{margin-top:22px;padding:16px;border:1px solid var(--hei-border);border-radius:20px;background:var(--hei-surface-2)}
.hei-other-toggle{width:100%;background:var(--hei-accent);border-color:var(--hei-accent);color:#fff}
.hei-other-toggle.is-open{background:#0f2436}
.hei-other-panel{margin-top:14px}
.hei-other-group{display:grid;gap:12px}
.hei-other-group + .hei-other-group{margin-top:14px}
.hei-other-group h4{margin:0 0 6px;font-size:18px;color:var(--hei-text)}
.hei-other-card{padding:14px 15px;background:#fff;border:1px solid var(--hei-border);border-radius:16px}
.hei-other-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.hei-other-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf4fa;color:var(--hei-accent);font-size:11px;font-weight:800}
.hei-other-price,.hei-meta-line{font-size:13px;color:var(--hei-text-soft)}
.hei-other-card h4{margin:0 0 6px;font-size:18px;line-height:1.25}
.hei-other-card h4 a{color:inherit;text-decoration:none}
.hei-other-group-all-day{padding:12px;border:1px dashed var(--hei-border);border-radius:16px;background:#fbfdff}
.hei-empty-state{padding:28px;border:1px dashed var(--hei-border);border-radius:18px;background:#fff;color:var(--hei-text-soft);text-align:center}
.hei-empty-state-lg{margin-top:12px}

@media (max-width: 1100px){
  .hei-fx__slide{flex-basis:calc(50% - 8px);min-width:calc(50% - 8px)}
  .hei-title-row h2,.hei-range-title{font-size:28px}
  .hei-agenda-card{grid-template-columns:1fr}
  .hei-agenda-media{min-height:220px}
}
@media (max-width: 767px){
  .hei-home-block{padding:16px}
  .hei-title-row h2,.hei-range-title{font-size:24px}
  .hei-section-title{font-size:22px}
  .hei-fx__slide{flex-basis:100%;min-width:100%}
  .hei-fx__nav{width:38px;height:38px}
  .hei-fx__nav--prev{left:-6px}
  .hei-fx__nav--next{right:-6px}
  .hei-agenda-body h3{font-size:22px}
}


/* v15.6 visual refinements */
:root{
  --hei-bg:#F2F2F2;
  --hei-surface:#ffffff;
  --hei-surface-2:#EDF4FA;
  --hei-text:#163047;
  --hei-text-soft:#5d6f80;
  --hei-border:#E0E1DD;
  --hei-accent:#163047;
  --hei-accent-2:#163047;
  --hei-upcoming-bg:#163047;
  --hei-upcoming-text:#F2F2F2;
  --hei-shadow:none;
}
.hei-agenda-app,.hei-home-block,.hei-fx-card,.hei-agenda-card,.hei-other-card,.hei-all-day-wrap,.hei-others-wrap,.hei-empty-state,.hei-btn,.hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle{font-family:"League Spartan",Sans-serif;}
.hei-home-block{background:var(--hei-bg);border-radius:8px;padding:18px;box-shadow:none;}
.hei-title-row h2,.hei-range-title{font-size:28px;letter-spacing:-.02em;margin-bottom:14px;}
.hei-app-head{margin:0 0 12px;gap:8px;}
.hei-temporal-tabs,.hei-filter-pills{gap:6px;}
.hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle{border-radius:4px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1;border-color:var(--hei-border);background:var(--hei-surface-2);color:var(--hei-accent);box-shadow:none;transform:none !important;text-transform:none;}
.hei-temporal-tabs button.is-active,.hei-filter-pills button.is-active{background:var(--hei-accent);border-color:var(--hei-accent);color:var(--hei-bg);}
.hei-btn{min-height:36px;padding:0 14px;border-radius:4px;font-size:12px;font-weight:700;box-shadow:none;letter-spacing:.01em;}
.hei-btn-primary{background:var(--hei-accent);color:var(--hei-bg);}
.hei-btn-light{background:var(--hei-surface-2);color:var(--hei-accent);}
.hei-btn-outline{border-radius:4px;border:1px solid var(--hei-border);background:transparent;color:inherit;}
.hei-btn:hover,.hei-temporal-tabs button:hover,.hei-filter-pills button:hover,.hei-other-toggle:hover{transform:none !important;filter:brightness(.98);}
.hei-fx{margin:0 0 18px;}
.hei-fx__viewport{border-radius:8px;}
.hei-fx__track{gap:12px;}
.hei-fx__slide{flex:0 0 calc(25% - 9px);min-width:calc(25% - 9px);}
.hei-fx-card{border:1px solid var(--hei-border);border-radius:8px;background:var(--hei-surface);box-shadow:none;}
.hei-fx-card__media{aspect-ratio:16/9;}
.hei-fx-card__body{gap:6px;padding:10px 10px 12px;}
.hei-fx-card__top{min-height:auto;align-items:flex-start;}
.hei-fx-card__cat{font-size:10px;letter-spacing:.03em;color:var(--hei-text-soft);}
.hei-fx-card__badge{padding:5px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.02em;background:var(--hei-upcoming-bg);color:var(--hei-upcoming-text);}
.hei-fx-card__title{font-size:16px;line-height:1.15;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hei-fx-card__meta{font-size:11px;color:var(--hei-text-soft);font-weight:500;}
.hei-fx__slide.is-a2 .hei-fx-card{border-color:var(--hei-accent);background:#EDF4FA;}
.hei-fx__nav{width:34px;height:34px;border-radius:4px;background:var(--hei-accent);box-shadow:none;font-size:20px;}
.hei-fx__nav--prev{left:-4px}.hei-fx__nav--next{right:-4px}
.hei-fx__dots{gap:6px;margin-top:10px;}
.hei-fx__dot{width:8px;height:8px;border-radius:2px;background:#c4cbd1;}
.hei-fx__dot.is-active{background:var(--hei-accent);}
.hei-debug-badges,.hei-debug-note{display:none !important;}
.hei-section-title{margin:16px 0 10px;font-size:20px;font-weight:700;letter-spacing:-.01em;}
.hei-agenda-list{gap:12px;}
.hei-agenda-card{grid-template-columns:220px minmax(0,1fr);border-radius:8px;box-shadow:none;border:1px solid var(--hei-border);}
.hei-agenda-card.is-a1{background:var(--hei-accent);border-color:var(--hei-accent);}
.hei-agenda-media{min-height:180px;background:#dbe4ec;}
.hei-agenda-body{padding:14px 16px 14px;}
.hei-time{margin-bottom:8px;padding:4px 8px;border-radius:4px;font-size:11px;letter-spacing:.02em;}
.hei-agenda-body h3{margin:0 0 8px;font-size:22px;line-height:1.05;letter-spacing:-.02em;}
.hei-details{font-size:12px;margin-bottom:8px;}
.hei-term-list{display:flex;flex-wrap:wrap;gap:0;margin:0 0 10px;}
.hei-term-list span{padding:0;border-radius:0;background:transparent !important;color:inherit !important;font-size:11px;font-weight:600;letter-spacing:.02em;opacity:.9;}
.hei-term-list span + span:before{content:" / ";opacity:.5;}
.hei-excerpt{font-size:13px;line-height:1.4;margin-bottom:12px;}
.hei-links-row{gap:8px;margin-top:10px;}
.hei-all-day-wrap{margin-top:16px;padding:14px;border:1px solid var(--hei-border);border-radius:8px;background:var(--hei-surface-2);}
.hei-all-day-wrap h3{margin:0 0 10px;font-size:18px;font-weight:700;}
.hei-others-wrap{margin-top:16px;padding:12px;border:1px solid var(--hei-border);border-radius:8px;background:var(--hei-surface-2);}
.hei-other-toggle{width:100%;background:var(--hei-accent);border-color:var(--hei-accent);color:var(--hei-bg);font-weight:700;}
.hei-other-panel{margin-top:12px;}
.hei-other-group{gap:10px;}
.hei-other-group + .hei-other-group{margin-top:12px;}
.hei-other-group h4{font-size:16px;font-weight:700;}
.hei-other-card{padding:12px;border-radius:8px;box-shadow:none;}
.hei-other-topline{gap:6px;margin-bottom:6px;}
.hei-other-badge{padding:3px 6px;border-radius:4px;background:#E0E1DD;color:var(--hei-accent);font-size:10px;font-weight:700;}
.hei-other-price,.hei-meta-line{font-size:11px;}
.hei-other-card h4{font-size:16px;line-height:1.15;}
.hei-other-group-all-day{padding:10px;border:1px solid var(--hei-border);border-radius:8px;background:#fff;}
.hei-empty-state{padding:18px;border:1px solid var(--hei-border);border-radius:8px;background:#fff;}
@media (max-width:1100px){.hei-fx__slide{flex-basis:calc(50% - 6px);min-width:calc(50% - 6px);} .hei-title-row h2,.hei-range-title{font-size:24px;} .hei-agenda-card{grid-template-columns:1fr;} .hei-agenda-media{min-height:180px;}}
@media (max-width:767px){.hei-home-block{padding:14px;} .hei-title-row h2,.hei-range-title{font-size:21px;} .hei-section-title{font-size:18px;} .hei-fx__slide{flex-basis:100%;min-width:100%;} .hei-fx__nav{width:30px;height:30px;} .hei-agenda-body h3{font-size:19px;} .hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle{font-size:11px;padding:7px 8px;} }


.hei-cta-row--submit{justify-content:center;margin-top:26px;padding-top:10px}
.hei-btn-submit{min-width:280px}
.hei-submit-wrap{font-family:"League Spartan",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--hei-text);max-width:860px;margin:0 auto;background:var(--hei-surface);border:1px solid var(--hei-border);border-radius:22px;box-shadow:var(--hei-shadow);padding:22px}
.hei-submit-head{margin-bottom:18px}
.hei-submit-head h2{margin:0 0 6px;font-size:32px;line-height:1.04;letter-spacing:-.03em;color:var(--hei-text)}
.hei-submit-head p{margin:0;color:var(--hei-text-soft);font-size:16px}
.hei-submit-form{display:block}
.hei-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.hei-field{margin:0}
.hei-span-2{grid-column:1 / -1}
.hei-field label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700;color:var(--hei-text)}
.hei-field input[type="text"],.hei-field input[type="date"],.hei-field input[type="time"],.hei-field input[type="file"],.hei-field textarea{width:100%;border:1px solid var(--hei-border);background:#fff;border-radius:10px;padding:12px 14px;font:inherit;color:var(--hei-text);box-shadow:none;outline:none}
.hei-field textarea{resize:vertical;min-height:130px}
.hei-field input:focus,.hei-field textarea:focus{border-color:var(--hei-accent);box-shadow:0 0 0 3px rgba(22,48,71,.08)}
.hei-check label{flex-direction:row;align-items:center;gap:8px;padding-top:32px}
.hei-check input{width:auto}
.hei-submit-actions{display:flex;justify-content:center;padding-top:18px}
.hei-form-notice{margin:0 0 16px;padding:12px 14px;border-radius:10px;font-size:15px;font-weight:700}
.hei-form-notice.is-success{background:#edf7ef;color:#1f6b31;border:1px solid #cce7d1}
.hei-form-notice.is-error{background:#fff1f0;color:#8b2a20;border:1px solid #f2c8c3}
@media (max-width: 767px){.hei-btn-submit{min-width:0;width:100%}.hei-form-grid{grid-template-columns:1fr}.hei-check label{padding-top:0}.hei-submit-wrap{padding:18px}.hei-submit-head h2{font-size:28px}}

.hei-captcha{display:flex;justify-content:center;padding-top:4px}
.hei-captcha .g-recaptcha{transform-origin:left top}
@media (max-width:767px){.hei-captcha{justify-content:flex-start}.hei-captcha .g-recaptcha{transform:scale(.92)}}


/* v15.12 typography & buttons refinements */
.hei-title-row h2,
.hei-range-title,
.hei-section-title,
.hei-all-day-wrap h3,
.hei-other-group h4,
.hei-submit-head h2{
  font-family:"DM Serif Display", Georgia, serif;
  font-weight:400;
  letter-spacing:0;
  color:var(--hei-text);
}
.hei-title-row h2{font-size:38px; line-height:1.02; margin-bottom:6px;}
.hei-range-title{font-size:34px; line-height:1.04; margin-bottom:12px;}
.hei-section-title{font-size:28px; line-height:1.06; margin:22px 0 14px;}
.hei-all-day-wrap h3,.hei-other-group h4{font-size:24px; line-height:1.08;}
.hei-submit-head h2{font-size:38px; line-height:1.02;}
.hei-agenda-app,.hei-home-block,.hei-fx-card,.hei-agenda-card,.hei-other-card,.hei-all-day-wrap,.hei-others-wrap,.hei-empty-state,.hei-btn,.hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle,.hei-submit-wrap,.hei-submit-form,.hei-field label,.hei-field input,.hei-field textarea{
  font-family:"League Spartan", Sans-serif;
}
.hei-title-row a,.hei-back-link{font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:700;}
.hei-app-head{margin:0 0 16px;gap:10px;}
.hei-temporal-tabs,.hei-filter-pills{gap:8px;}
.hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle{
  padding:10px 14px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:4px;
}
.hei-btn{
  min-height:40px;
  padding:0 18px;
  border-radius:4px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hei-btn-primary,.hei-other-toggle{background:var(--hei-accent); color:#fff;}
.hei-btn-light{background:#fff; border:1px solid var(--hei-border); color:var(--hei-accent);}
.hei-btn-submit{min-width:320px;}
.hei-fx-card__cat{font-size:11px; letter-spacing:.09em; text-transform:uppercase;}
.hei-fx-card__title{font-size:19px; line-height:1.14;}
.hei-fx-card__meta{font-size:13px; font-weight:600;}
.hei-fx-card__body{padding:12px 12px 14px; gap:8px;}
.hei-fx-card__badge{padding:6px 10px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; border-radius:4px;}
.hei-fx__slide.is-a2 .hei-fx-card{background:#EDF4FA; border-color:#163047;}
.hei-fx__nav{width:36px;height:36px;}
.hei-time{font-size:12px; letter-spacing:.08em; text-transform:uppercase; border-radius:4px;}
.hei-agenda-body{padding:16px 18px 18px;}
.hei-agenda-body h3{font-size:28px; line-height:1.05; margin-bottom:10px;}
.hei-details{font-size:13px; margin-bottom:10px;}
.hei-term-list span{font-size:12px; letter-spacing:.04em; font-weight:600;}
.hei-excerpt{font-size:14px; line-height:1.48;}
.hei-other-card h4{font-size:18px; line-height:1.14;}
.hei-other-price,.hei-meta-line{font-size:12px;}
.hei-other-badge{padding:4px 8px; border-radius:4px; font-size:11px; letter-spacing:.06em; text-transform:uppercase;}
.hei-cta-row--submit{margin-top:30px; padding-top:14px;}
.hei-submit-wrap{border-radius:10px;}
.hei-submit-head p{font-size:17px; line-height:1.45;}
.hei-field label{font-size:15px; font-weight:600;}
.hei-field input[type="text"],.hei-field input[type="date"],.hei-field input[type="time"],.hei-field input[type="file"],.hei-field textarea{font-size:15px; border-radius:6px;}
.hei-form-notice{font-size:15px; border-radius:6px;}
@media (max-width:1100px){
  .hei-title-row h2{font-size:34px;}
  .hei-range-title{font-size:30px;}
  .hei-section-title{font-size:25px;}
  .hei-agenda-body h3{font-size:24px;}
}
@media (max-width:767px){
  .hei-title-row h2{font-size:30px;}
  .hei-range-title{font-size:27px;}
  .hei-section-title{font-size:22px;}
  .hei-all-day-wrap h3,.hei-other-group h4,.hei-submit-head h2{font-size:26px;}
  .hei-temporal-tabs button,.hei-filter-pills button,.hei-other-toggle,.hei-btn{font-size:12px; padding:9px 12px;}
  .hei-fx-card__title{font-size:18px;}
  .hei-agenda-body h3{font-size:21px;}
  .hei-submit-head p{font-size:15px;}
}


/* v16 agenda alignment to client mockup */
.hei-qhi-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 14px;margin:0 0 10px;border-bottom:1px solid var(--hei-border)}
.hei-qhi-brand{display:flex;flex-direction:column;line-height:1}
.hei-qhi-brand__top{font-family:"DM Serif Display", Georgia, serif;font-size:30px;color:var(--hei-accent);font-weight:400}
.hei-qhi-brand__bottom{font-family:"DM Serif Display", Georgia, serif;font-size:16px;color:var(--hei-accent);font-style:italic}
.hei-agenda-app .hei-fx__viewport{overflow:hidden;border-radius:8px}
.hei-agenda-app .hei-fx__slide{flex:0 0 calc(33.333% - 10px);min-width:calc(33.333% - 10px)}
.hei-agenda-app .hei-fx-card{background:#1C2130;border:1px solid #1C2130;border-radius:8px;box-shadow:none;color:#fff}
.hei-agenda-app .hei-fx-card__media{aspect-ratio:4/3;background:#1C2130;position:relative}
.hei-agenda-app .hei-fx-card__body{padding:12px 14px 14px;gap:6px}
.hei-agenda-app .hei-fx-card__top{min-height:unset;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}
.hei-agenda-app .hei-fx-card__cat{font-size:9px;letter-spacing:.12em;color:#E8832A}
.hei-agenda-app .hei-fx-card__badge{padding:3px 10px;border-radius:4px;font-size:10px;letter-spacing:.03em}
.hei-agenda-app .hei-fx-card__badge--upcoming{background:#E8832A;color:#fff}
.hei-agenda-app .hei-fx-card__badge--free,.hei-card-corner--free{background:#2D8B57;color:#fff;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:700}
.hei-agenda-app .hei-fx-card__title{font-size:16px;line-height:1.25;color:#fff}
.hei-agenda-app .hei-fx-card__meta{font-size:10px;color:rgba(255,255,255,.55)}
.hei-agenda-app .hei-fx__slide.is-a2 .hei-fx-card{border:2px solid #E8832A;background:#1C2130;box-shadow:none}
.hei-card-corner{position:absolute;top:8px;right:8px;z-index:2}
.hei-agenda-app .hei-fx__nav{background:#fff;color:var(--hei-text);box-shadow:none;border:1px solid var(--hei-border);width:28px;height:28px;font-size:16px;top:-38px;transform:none}
.hei-agenda-app .hei-fx__nav--prev{right:34px;left:auto}
.hei-agenda-app .hei-fx__nav--next{right:0;left:auto}
.hei-agenda-app .hei-fx__dots{justify-content:center;margin-top:10px}
.hei-agenda-app .hei-fx__dot{width:8px;height:8px;background:#d1d5db}
.hei-agenda-app .hei-fx__dot.is-active{width:18px;border-radius:4px;background:var(--hei-accent)}
.hei-agenda-app .hei-section-title{margin:8px 0 12px;padding-top:4px;font-size:11px;font-family:"League Spartan",Sans-serif;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--hei-accent);display:flex;align-items:center;gap:10px}
.hei-agenda-app .hei-section-title:after{content:"";height:1px;flex:1;background:var(--hei-border)}
.hei-agenda-app .hei-agenda-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hei-agenda-app .hei-agenda-card{display:block;background:#fff;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden;box-shadow:none;position:relative}
.hei-agenda-app .hei-agenda-card.is-a1{background:#1C2130;border:3px solid #E8832A;color:#fff}
.hei-agenda-app .hei-agenda-card.is-all-day{margin-top:0}
.hei-agenda-app .hei-agenda-card__link{display:block;color:inherit;text-decoration:none}
.hei-agenda-app .hei-agenda-media{min-height:0;aspect-ratio:16/11;position:relative;background:#dce8f2}
.hei-agenda-app .hei-agenda-body{padding:8px 10px 10px}
.hei-agenda-app .hei-agenda-star{position:absolute;top:0;left:0;right:0;background:#E8832A;color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:3px 0;z-index:2}
.hei-date-row{display:flex;align-items:baseline;gap:5px;margin-bottom:4px}
.hei-date-row__month{font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hei-accent)}
.hei-agenda-card.is-a1 .hei-date-row__month{color:#E8832A}
.hei-date-row__day{font-size:14px;font-weight:800;line-height:1;color:inherit}
.hei-date-row__time{font-size:10px;color:var(--hei-text-soft)}
.hei-agenda-card.is-a1 .hei-date-row__time{color:rgba(255,255,255,.6)}
.hei-agenda-app .hei-agenda-body h3{margin:0 0 4px;font-size:12px;line-height:1.3;font-weight:700;color:inherit}
.hei-agenda-app .hei-details{font-size:10px;color:var(--hei-text-soft);margin:0}
.hei-agenda-app .hei-agenda-card.is-a1 .hei-details{color:rgba(255,255,255,.6)}
.hei-agenda-app .hei-term-list,.hei-agenda-app .hei-excerpt,.hei-agenda-app .hei-links-row,.hei-agenda-app .hei-debug-note{display:none !important}
.hei-all-day-wrap{margin-top:16px;padding:0;border:0;background:transparent}
.hei-recurring-divider{height:1px;background:var(--hei-border);margin:4px 0 12px}
.hei-all-day-wrap > h3,.hei-other-group > h4{display:none}
.hei-other-panel .hei-recurring-divider{margin:0 0 12px}
.hei-other-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hei-other-card{padding:0;border-radius:8px;overflow:hidden}
.hei-other-card h4{font-size:12px;line-height:1.3;margin:0 0 4px}
.hei-other-card .hei-meta-line{font-size:10px}
.hei-other-card .hei-other-topline{padding:8px 10px 0}
.hei-other-card h4,.hei-other-card .hei-meta-line{padding:0 10px 10px}
.hei-other-card .hei-other-badge{border-radius:4px}
.hei-other-card.is-all-day .hei-meta-line{display:none}
.hei-agenda-app .hei-other-toggle{border-style:dashed;background:#F3F4F6;color:#6B7280;border-color:#E5E7EB;text-transform:none;letter-spacing:0;font-weight:600}
.hei-agenda-app .hei-btn-submit{display:inline-flex;min-width:320px}
.hei-agenda-app .hei-cta-row--submit{justify-content:center;margin-top:18px}
@media (max-width:1100px){
  .hei-agenda-app .hei-fx__slide{flex-basis:calc(50% - 8px);min-width:calc(50% - 8px)}
  .hei-agenda-app .hei-agenda-list,.hei-other-group{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .hei-qhi-header{align-items:flex-start;flex-direction:column}
  .hei-qhi-brand__top{font-size:26px}.hei-qhi-brand__bottom{font-size:14px}
  .hei-agenda-app .hei-fx__slide{flex-basis:100%;min-width:100%}
  .hei-agenda-app .hei-agenda-list,.hei-other-group{grid-template-columns:1fr}
  .hei-agenda-app .hei-btn-submit{min-width:0;width:100%}
}


/* v16.1 visual alignment */
.hei-agenda-app{background:transparent}
.hei-app-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 14px}
.hei-app-topline .hei-range-title{margin:0;font-family:"DM Serif Display", Georgia, serif;font-size:56px;line-height:0.95;font-weight:400;letter-spacing:-.02em;color:var(--hei-text)}
.hei-app-head{display:block;margin:0 0 18px}
.hei-back-link{font-family:"League Spartan", Sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hei-accent);white-space:nowrap}
.hei-temporal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.hei-temporal-tabs button{background:#fff;border:1px solid var(--hei-border);color:var(--hei-accent);padding:10px 14px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hei-temporal-tabs button.is-active{background:var(--hei-accent);color:#fff;border-color:var(--hei-accent)}
.hei-filter-pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hei-filter-pills button{background:#fff;border:1px solid var(--hei-border);color:var(--hei-accent);padding:8px 12px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.hei-filter-pills button.is-active{background:var(--hei-accent);color:#fff;border-color:var(--hei-accent)}
.hei-agenda-app .hei-fx{margin-bottom:18px}
.hei-agenda-app .hei-fx__viewport{overflow:hidden;border-radius:0}
.hei-agenda-app .hei-fx__track{gap:14px}
.hei-agenda-app .hei-fx__slide{flex:0 0 calc(33.333% - 10px);min-width:calc(33.333% - 10px)}
.hei-agenda-app .hei-fx-card{background:#1C2130;border:1px solid #1C2130;border-radius:6px;overflow:hidden}
.hei-agenda-app .hei-fx-card__media{aspect-ratio:4/3}
.hei-agenda-app .hei-fx-card__body{padding:10px 12px 12px;gap:6px}
.hei-agenda-app .hei-fx-card__cat{font-size:9px;letter-spacing:.1em;color:#E8832A}
.hei-agenda-app .hei-fx-card__title{font-size:17px;line-height:1.2;font-weight:600;color:#fff}
.hei-agenda-app .hei-fx-card__meta{font-size:11px;font-weight:500;color:rgba(255,255,255,.65)}
.hei-agenda-app .hei-fx-card__badge{border-radius:3px;padding:4px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.hei-agenda-app .hei-fx__slide.is-a2 .hei-fx-card{border:2px solid #E8832A}
.hei-agenda-app .hei-fx__nav{top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:4px;background:#163047;color:#fff;border:none;box-shadow:none}
.hei-agenda-app .hei-fx__nav--prev{left:-18px;right:auto}
.hei-agenda-app .hei-fx__nav--next{right:-18px;left:auto}
.hei-agenda-app .hei-fx__dots{margin-top:10px}
.hei-agenda-app .hei-section-title{margin:8px 0 12px;padding-top:0;font-size:11px;font-family:"League Spartan",Sans-serif;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--hei-accent);display:block}
.hei-agenda-app .hei-section-title:after{display:none}
.hei-agenda-app .hei-agenda-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hei-agenda-app .hei-agenda-card{display:block;background:#fff;border:1px solid #E5E7EB;border-radius:6px;overflow:hidden;box-shadow:none;position:relative}
.hei-agenda-app .hei-agenda-card.is-a1{background:#1C2130;border:2px solid #E8832A;color:#fff}
.hei-agenda-app .hei-agenda-media{aspect-ratio:16/11;min-height:0}
.hei-agenda-app .hei-agenda-body{padding:9px 10px 10px}
.hei-agenda-app .hei-agenda-star{position:absolute;top:0;left:0;right:0;background:#E8832A;color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:3px 0;z-index:2}
.hei-agenda-app .hei-date-row{margin-bottom:4px}
.hei-agenda-app .hei-date-row__month{font-size:8px;font-weight:700}
.hei-agenda-app .hei-date-row__day{font-size:14px;font-weight:700}
.hei-agenda-app .hei-date-row__time{font-size:10px}
.hei-agenda-app .hei-agenda-body h3{font-size:13px;line-height:1.3;font-weight:600;margin:0 0 5px}
.hei-agenda-app .hei-details{font-size:10px;line-height:1.35;font-weight:500}
.hei-agenda-app .hei-term-list,.hei-agenda-app .hei-excerpt,.hei-agenda-app .hei-links-row,.hei-agenda-app .hei-debug-note{display:none!important}
.hei-all-day-wrap{margin-top:16px;padding:0;border:0;background:transparent}
.hei-recurring-divider{height:1px;background:var(--hei-border);margin:10px 0 14px}
.hei-all-day-wrap > h3,.hei-other-group > h4{display:none}
.hei-agenda-app .hei-other-toggle{margin-top:8px;border-radius:6px;background:#F3F4F6;color:#6B7280;border:1px dashed #D1D5DB;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;padding:14px}
.hei-agenda-app .hei-cta-row--submit{justify-content:center;margin-top:18px}
.hei-agenda-app .hei-btn-submit{min-width:340px}
.hei-home-block .hei-title-row h2{font-family:"DM Serif Display", Georgia, serif;font-size:40px;font-weight:400;letter-spacing:-.02em}
.hei-home-block .hei-title-row a{font-family:"League Spartan", Sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hei-home-block .hei-fx__track{gap:14px}
.hei-home-block .hei-fx-card{background:#1C2130;border:1px solid #1C2130;border-radius:6px;box-shadow:none;color:#fff}
.hei-home-block .hei-fx-card__body{padding:10px 12px 12px;gap:6px}
.hei-home-block .hei-fx-card__cat{font-size:9px;letter-spacing:.1em;color:#E8832A}
.hei-home-block .hei-fx-card__title{font-size:17px;line-height:1.2;font-weight:600;color:#fff}
.hei-home-block .hei-fx-card__meta{font-size:11px;font-weight:500;color:rgba(255,255,255,.65)}
.hei-home-block .hei-fx-card__badge{border-radius:3px;padding:4px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.hei-home-block .hei-fx__slide.is-a2 .hei-fx-card{border:2px solid #E8832A}
.hei-home-block .hei-fx__nav{width:34px;height:34px;border-radius:4px;background:#163047;color:#fff;border:none;box-shadow:none}
.hei-home-block .hei-btn{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0 16px;min-height:40px;border-radius:4px}
@media (max-width:1100px){
  .hei-app-topline .hei-range-title{font-size:46px}
  .hei-agenda-app .hei-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .hei-app-topline{align-items:flex-start;flex-direction:column;gap:8px}
  .hei-app-topline .hei-range-title{font-size:34px}
  .hei-agenda-app .hei-fx__slide,.hei-home-block .hei-fx__slide{flex-basis:100%;min-width:100%}
  .hei-agenda-app .hei-agenda-list{grid-template-columns:1fr}
  .hei-home-block .hei-title-row h2{font-size:30px}
}

.hei-qhi-header{display:none!important}

/* v16.3 final visual corrections */
.hei-debug-badges{display:none!important}

/* Hide generic page titles when agenda shortcode is present and legacy title matches */
.hei-hide-legacy-title{display:none!important}

/* Agenda header: date is the hero, remove visual room for old title */
.hei-agenda-app{background:transparent}
.hei-app-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px}
.hei-app-topline .hei-range-title{margin:0;font-family:"DM Serif Display", Georgia, serif;font-size:60px;line-height:.95;font-weight:400;letter-spacing:-.02em;color:var(--hei-text)}
.hei-back-link{font-family:"League Spartan", Sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hei-accent);white-space:nowrap}

/* Temporal nav more like client example */
.hei-app-head{display:block;margin:0 0 18px}
.hei-temporal-tabs{display:flex;gap:0;flex-wrap:nowrap;margin:0 0 12px}
.hei-temporal-tabs button{padding:10px 16px;border-radius:0;background:#fff;border:1px solid #E5E7EB;color:#6B7280;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none}
.hei-temporal-tabs button + button{border-left:none}
.hei-temporal-tabs button:first-child{border-radius:6px 0 0 6px}
.hei-temporal-tabs button:last-child{border-radius:0 6px 6px 0}
.hei-temporal-tabs button.is-active{background:var(--hei-accent);border-color:var(--hei-accent);color:#fff}

/* Category pills like example */
.hei-filter-pills{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.hei-filter-pills button{background:#fff;border:1px solid #E5E7EB;color:#6B7280;padding:7px 14px;border-radius:18px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.hei-filter-pills button.is-active{background:var(--hei-accent);border-color:var(--hei-accent);color:#fff}

/* Section labels and cards slightly larger, lighter weight */
.hei-agenda-app .hei-section-title,
.hei-home-block .hei-section-title{font-size:12px;letter-spacing:.14em}

.hei-agenda-app .hei-fx-card,
.hei-home-block .hei-fx-card{border-radius:8px}
.hei-agenda-app .hei-fx-card__body,
.hei-home-block .hei-fx-card__body{padding:11px 13px 13px;gap:7px}
.hei-agenda-app .hei-fx-card__title,
.hei-home-block .hei-fx-card__title{font-size:18px;line-height:1.22;font-weight:600;color:#fff}
.hei-agenda-app .hei-fx-card__meta,
.hei-home-block .hei-fx-card__meta{font-size:11px;font-weight:500;color:rgba(255,255,255,.68)}
.hei-agenda-app .hei-fx-card__cat,
.hei-home-block .hei-fx-card__cat{font-size:9px;font-weight:700;letter-spacing:.09em}

.hei-agenda-app .hei-agenda-body,
.hei-home-block .hei-agenda-body{padding:10px 11px 11px}
.hei-agenda-app .hei-agenda-body h3,
.hei-home-block .hei-agenda-body h3{font-size:14px;line-height:1.32;font-weight:600;margin:0 0 5px}
.hei-agenda-app .hei-details,
.hei-home-block .hei-details{font-size:11px;line-height:1.4;font-weight:500}
.hei-agenda-app .hei-date-row__month,
.hei-home-block .hei-date-row__month{font-size:8px;font-weight:700}
.hei-agenda-app .hei-date-row__day,
.hei-home-block .hei-date-row__day{font-size:15px;font-weight:700}
.hei-agenda-app .hei-date-row__time,
.hei-home-block .hei-date-row__time{font-size:10px;font-weight:500}

/* Home/section shortcodes inherit updated look */
.hei-home-block .hei-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.hei-home-block .hei-title-row h2{font-family:"DM Serif Display", Georgia, serif;font-size:42px;line-height:.98;font-weight:400;letter-spacing:-.02em;margin:0}
.hei-home-block .hei-title-row a{font-family:"League Spartan", Sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hei-accent)}
.hei-home-block .hei-fx__slide{flex:0 0 calc(25% - 11px);min-width:calc(25% - 11px)}
.hei-home-block .hei-cta-row{justify-content:center;gap:12px;margin-top:14px}
.hei-home-block .hei-btn{min-height:40px;padding:0 18px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hei-home-block .hei-fx__nav{top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:4px;background:#163047;color:#fff;border:none;box-shadow:none}
.hei-home-block .hei-fx__nav--prev{left:-18px;right:auto}
.hei-home-block .hei-fx__nav--next{right:-18px;left:auto}
.hei-home-block .hei-fx__dot.is-active{background:var(--hei-accent)}

@media (max-width:1100px){
  .hei-app-topline .hei-range-title{font-size:48px}
  .hei-home-block .hei-fx__slide{flex-basis:calc(50% - 7px);min-width:calc(50% - 7px)}
}
@media (max-width:767px){
  .hei-app-topline{align-items:flex-start;flex-direction:column;gap:8px}
  .hei-app-topline .hei-range-title{font-size:36px}
  .hei-back-link{font-size:11px}
  .hei-temporal-tabs{width:100%}
  .hei-temporal-tabs button{flex:1;padding:9px 10px;font-size:12px}
  .hei-filter-pills button{font-size:11px;padding:6px 11px}
  .hei-home-block .hei-title-row h2{font-size:32px}
  .hei-home-block .hei-fx__slide{flex-basis:100%;min-width:100%}
}


/* v16.4 visual corrections */
.hei-range-title{font-size:28px !important;line-height:1.06 !important;letter-spacing:-.015em !important;margin-bottom:10px !important;}
.hei-app-topline{align-items:flex-end;gap:14px;margin-bottom:10px}
.hei-back-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--hei-accent);}
.hei-fx--with-head{margin-bottom:20px;}
.hei-fx__head{display:flex;align-items:center;gap:10px;margin:0 0 12px;}
.hei-fx__head-title{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--hei-accent);white-space:nowrap;}
.hei-fx__head-line{flex:1;height:1px;background:var(--hei-border);}
.hei-fx__head-nav{display:flex;gap:6px;align-items:center;}
.hei-fx--with-head .hei-fx__nav{position:static;transform:none;width:28px;height:28px;border:1px solid var(--hei-border);border-radius:50%;background:#fff;color:var(--hei-text);font-size:16px;box-shadow:none;}
.hei-fx--with-head .hei-fx__viewport{border-radius:8px;}
.hei-agenda-app .hei-fx__dots{margin-top:10px;}
.hei-agenda-app .hei-fx-card__title{font-size:15px !important;font-weight:600 !important;line-height:1.26 !important;}
.hei-agenda-app .hei-fx-card__meta{font-size:10px !important;font-weight:500 !important;}
.hei-agenda-app .hei-fx-card__cat{font-size:9px !important;font-weight:700 !important;letter-spacing:.11em !important;}
.hei-agenda-app .hei-agenda-body h3{font-size:13px !important;font-weight:600 !important;line-height:1.28 !important;}
.hei-agenda-app .hei-details{font-size:10px !important;font-weight:500 !important;}
.hei-agenda-app .hei-fx__slide{flex:0 0 calc(33.333% - 8px);min-width:calc(33.333% - 8px);}
@media (max-width:1100px){.hei-range-title{font-size:25px !important;} .hei-agenda-app .hei-fx__slide{flex:0 0 calc(50% - 6px);min-width:calc(50% - 6px);} }
@media (max-width:767px){.hei-range-title{font-size:22px !important;} .hei-fx__head-title{font-size:10px;} .hei-agenda-app .hei-fx__slide{flex:0 0 100%;min-width:100%;}}

/* Fix otros eventos titles */
.hei-other-card__link{display:block;color:inherit;text-decoration:none;}
.hei-other-card__content{display:block;padding:10px 12px;}
.hei-other-card__title{display:block !important;visibility:visible !important;opacity:1 !important;color:var(--hei-text) !important;font-size:14px !important;line-height:1.3 !important;font-weight:700 !important;margin:0 0 6px !important;}
.hei-other-card .hei-meta-line{display:block !important;visibility:visible !important;opacity:1 !important;}
.hei-other-card h4{display:none !important;}

/* v16.6 — Unificar shortcodes de portada/portadilla con el componente nuevo */
.hei-home-block .hei-fx--with-head{margin-top:8px;}
.hei-home-block .hei-fx__head{margin-bottom:10px;}
.hei-home-block .hei-fx__head-title{font-family:"League Spartan",Sans-serif;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#163047;}
.hei-home-block .hei-fx__slide{flex:0 0 calc(33.333% - 10px) !important;min-width:calc(33.333% - 10px) !important;}
.hei-home-block .hei-fx-card{background:#1C2130 !important;border:1px solid #1C2130 !important;border-radius:8px !important;color:#fff !important;box-shadow:none !important;}
.hei-home-block .hei-fx__slide.is-a2 .hei-fx-card{border:2px solid #E8832A !important;}
.hei-home-block .hei-fx-card__cat{color:#E8832A !important;}
.hei-home-block .hei-fx-card__title{color:#fff !important;font-size:16px !important;line-height:1.22 !important;font-weight:650 !important;}
.hei-home-block .hei-fx-card__meta{color:rgba(255,255,255,.68) !important;}
.hei-home-block .hei-fx__nav{top:50% !important;transform:translateY(-50%) !important;width:34px !important;height:34px !important;border-radius:4px !important;background:#163047 !important;color:#fff !important;border:0 !important;}
.hei-home-block .hei-fx__nav--prev{left:-16px !important;right:auto !important;}
.hei-home-block .hei-fx__nav--next{right:-16px !important;left:auto !important;}
.hei-home-block .hei-cta-row{display:flex;justify-content:center;gap:12px;margin-top:18px;flex-wrap:wrap;}
.hei-home-block .hei-btn{border-radius:4px !important;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;min-height:40px;padding:0 18px;}
@media (max-width:1100px){.hei-home-block .hei-fx__slide{flex:0 0 calc(50% - 7px) !important;min-width:calc(50% - 7px) !important;}}
@media (max-width:767px){.hei-home-block .hei-fx__slide{flex:0 0 100% !important;min-width:100% !important;}.hei-home-block .hei-title-row h2{font-size:28px !important;}.hei-home-block .hei-cta-row{align-items:stretch}.hei-home-block .hei-btn{width:100%;}}

/* === v16.7: home/portadilla shortcode cleanup === */
.hei-home-block{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;box-shadow:none !important;}
.hei-home-block > .hei-title-row{display:none !important;}
.hei-home-block .hei-title-row a{display:none !important;}
.hei-home-block .hei-fx--with-head{margin-top:0 !important;}
.hei-home-block .hei-fx__head{display:flex !important;align-items:center !important;gap:10px !important;margin:0 0 12px !important;}
.hei-home-block .hei-fx__head-title{font-family:"League Spartan", Sans-serif !important;font-size:11px !important;line-height:1 !important;font-weight:800 !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:#163047 !important;white-space:nowrap !important;}
.hei-home-block .hei-fx__head-line{flex:1 !important;height:1px !important;background:#E5E7EB !important;}
.hei-home-block .hei-fx__head-nav{display:flex !important;gap:6px !important;align-items:center !important;}
.hei-home-block .hei-fx--with-head .hei-fx__nav,.hei-home-block .hei-fx__head .hei-fx__nav{position:static !important;top:auto !important;left:auto !important;right:auto !important;transform:none !important;width:28px !important;height:28px !important;border:1px solid #E5E7EB !important;border-radius:50% !important;background:#fff !important;color:#163047 !important;font-size:16px !important;line-height:1 !important;box-shadow:none !important;}
.hei-home-block .hei-fx__head .hei-fx__nav:hover{background:#EDF4FA !important;border-color:#163047 !important;}
.hei-home-block .hei-cta-row{margin-top:18px !important;}

/* v16.9: Badge Gratis verde en shortcodes y agenda */
.hei-fx-card__badge--free,
.hei-fx .hei-fx-card__badge--free,
.hei-home-block .hei-fx-card__badge--free,
.hei-agenda-app .hei-fx-card__badge--free,
.hei-card-corner--free,
.hei-agenda-app .hei-card-corner--free,
.hei-home-block .hei-card-corner--free {
  background: #2D8B57 !important;
  color: #ffffff !important;
  border-color: #2D8B57 !important;
}
.hei-card-corner--free {
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .02em;
  z-index: 2;
}

/* v16.10 image support and fallback */
.hei-fx-card__media,
.hei-agenda-media{
  position:relative;
  background:#eaf1f7;
}
.hei-event-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hei-noimg{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:180px;
  background:linear-gradient(135deg,#edf3f8 0%,#dce7f1 100%);
  color:#163047;
  font-family:"DM Serif Display", Georgia, serif;
  font-size:22px;
  line-height:1.05;
  text-align:center;
}
.hei-fx-card__media.has-fallback::before,
.hei-agenda-media.has-fallback::before{
  content:"Qué Hacer\A en Ibiza";
  white-space:pre;
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#edf3f8 0%,#dce7f1 100%);
  color:#163047;
  font-family:"DM Serif Display", Georgia, serif;
  font-size:22px;
  line-height:1.05;
  text-align:center;
}

/* v16.11 robust image fallback */
.hei-fx-card__media.has-fallback img,
.hei-agenda-media.has-fallback img{display:none!important}
.hei-fx-card__media.has-fallback,
.hei-agenda-media.has-fallback{min-height:180px}
.hei-agenda-media.has-fallback{background:#dce8f2}

/* v16.12 — visual polish: softer palette + stronger Otros eventos visibility */
:root{
  --hei-accent:#1F4E79;
  --hei-accent-2:#173D60;
  --hei-text:#163047;
  --hei-border:#D9E3EC;
  --hei-surface-2:#F4F8FB;
  --hei-orange:#D9782A;
  --hei-dark-card:#263244;
}

/* Softer dark cards: less aggressive than pure navy, still editorial */
.hei-agenda-app .hei-fx-card,
.hei-home-block .hei-fx-card{
  background:var(--hei-dark-card) !important;
  border-color:var(--hei-dark-card) !important;
}
.hei-agenda-app .hei-fx__slide.is-a2 .hei-fx-card,
.hei-home-block .hei-fx__slide.is-a2 .hei-fx-card{
  border-color:var(--hei-orange) !important;
  box-shadow:0 0 0 1px rgba(217,120,42,.12) !important;
}
.hei-agenda-app .hei-fx-card__cat,
.hei-home-block .hei-fx-card__cat,
.hei-date-row__month,
.hei-agenda-card.is-a1 .hei-date-row__month{
  color:var(--hei-orange) !important;
}
.hei-agenda-app .hei-fx-card__badge--upcoming,
.hei-home-block .hei-fx-card__badge--upcoming,
.hei-agenda-app .hei-agenda-star{
  background:var(--hei-orange) !important;
}
.hei-agenda-app .hei-agenda-card.is-a1{
  background:var(--hei-dark-card) !important;
  border-color:var(--hei-orange) !important;
}

/* Slightly softer buttons/tabs but still clear */
.hei-temporal-tabs button.is-active,
.hei-filter-pills button.is-active,
.hei-btn-primary,
.hei-btn-submit{
  background:var(--hei-accent) !important;
  border-color:var(--hei-accent) !important;
}
.hei-temporal-tabs button,
.hei-filter-pills button{
  border-color:var(--hei-border) !important;
}

/* Make Otros eventos more visible without showing internal C1/C2 labels */
.hei-agenda-app .hei-others-wrap{
  margin-top:24px !important;
  padding:18px !important;
  background:#F4F8FB !important;
  border:1px solid #C9D9E6 !important;
  border-radius:8px !important;
}
.hei-agenda-app .hei-other-toggle{
  background:#FFFFFF !important;
  color:var(--hei-accent) !important;
  border:1px dashed #B9CBD9 !important;
  border-radius:6px !important;
  min-height:46px !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
}
.hei-agenda-app .hei-other-toggle:hover,
.hei-agenda-app .hei-other-toggle.is-open{
  background:#E8F1F8 !important;
  border-color:var(--hei-accent) !important;
  color:var(--hei-accent) !important;
}
.hei-agenda-app .hei-other-panel{
  margin-top:16px !important;
}
.hei-agenda-app .hei-other-card{
  border:1px solid #D7E4EE !important;
  background:#fff !important;
  border-radius:7px !important;
  box-shadow:none !important;
}
.hei-other-card__title{
  color:#163047 !important;
  font-weight:650 !important;
}
.hei-other-card__content .hei-meta-line,
.hei-other-card .hei-meta-line{
  color:#5D6F80 !important;
}

/* Keep free badge consistently green */
.hei-fx-card__badge--free,
.hei-card-corner--free{
  background:#2D8B57 !important;
  color:#fff !important;
}

/* Slight readability lift for compact cards */
.hei-agenda-app .hei-agenda-body h3{
  font-size:13.5px !important;
  font-weight:650 !important;
}
.hei-agenda-app .hei-details{
  font-size:10.5px !important;
}
.hei-agenda-app .hei-fx-card__title,
.hei-home-block .hei-fx-card__title{
  font-weight:650 !important;
}

/* v16.13 — jerarquía visual para Otros eventos */
.hei-agenda-app .hei-section-title--others{
  margin-top:24px !important;
  margin-bottom:10px !important;
}
.hei-agenda-app .hei-section-title--others + .hei-others-wrap{
  margin-top:0 !important;
}

/* v16.14 — el desplegable “Otros eventos...” asume el estilo de título de sección */
.hei-agenda-app .hei-section-title--others{display:none !important;}
.hei-agenda-app .hei-others-wrap{margin-top:24px !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;}
.hei-agenda-app .hei-other-toggle{width:100% !important;display:flex !important;align-items:center !important;gap:10px !important;min-height:auto !important;padding:0 !important;margin:0 0 12px !important;border:0 !important;background:transparent !important;color:var(--hei-accent) !important;border-radius:0 !important;box-shadow:none !important;font-family:"League Spartan",Sans-serif !important;font-size:13px !important;line-height:1 !important;font-weight:800 !important;letter-spacing:1.4px !important;text-transform:uppercase !important;text-align:left !important;cursor:pointer !important;}
.hei-agenda-app .hei-other-toggle::after{content:"";flex:1;height:1px;background:var(--hei-border);display:block;}
.hei-agenda-app .hei-other-toggle::before{content:"+";width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;order:3;border:1px solid var(--hei-border);border-radius:50%;color:#6B7280;background:#fff;font-size:14px;line-height:1;letter-spacing:0;font-weight:700;}
.hei-agenda-app .hei-other-toggle.is-open::before{content:"−";}
.hei-agenda-app .hei-other-toggle:hover,.hei-agenda-app .hei-other-toggle.is-open{background:transparent !important;color:var(--hei-accent) !important;border:0 !important;}
.hei-agenda-app .hei-other-panel{margin-top:0 !important;padding:14px !important;border:1px solid #D7E4EE !important;border-radius:8px !important;background:#F7FAFC !important;}

/* v17 selector de fecha concreta */
.hei-date-picker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:1px solid var(--hei-border, #E5E7EB);
  border-radius:6px;
  background:#fff;
  color:var(--hei-text, #1F4E79);
  overflow:hidden;
  min-height:38px;
  font-family:"League Spartan", Sans-serif;
}
.hei-date-picker span{
  display:inline-flex;
  align-items:center;
  height:100%;
  padding:0 0 0 12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hei-date-picker input[type="date"]{
  width:132px;
  min-height:38px;
  border:0;
  border-left:1px solid var(--hei-border, #E5E7EB);
  background:#fff;
  color:var(--hei-text, #1F4E79);
  font:inherit;
  font-size:13px;
  padding:0 8px;
  outline:none;
  cursor:pointer;
}
.hei-date-picker.is-active{
  border-color:var(--hei-accent, #1F4E79);
  background:var(--hei-accent, #1F4E79);
  color:#fff;
}
.hei-date-picker.is-active input[type="date"]{
  background:#fff;
  color:var(--hei-text, #1F4E79);
}
@media (max-width:767px){
  .hei-date-picker{width:100%;justify-content:space-between;}
  .hei-date-picker input[type="date"]{width:150px;}
}
