/* ============================================================
   MZUNI Library — page brand styling
   Uses the THEME DEFAULT font (no custom font-family).
   Targets widget-level classes (reliable on this theme).
   ============================================================ */
:root{
  --mzg:#065B12; --mzg-dark:#043d0c; --mzgold:#CCA302; --mzgold-dark:#8f7100;
  --mzink:#1d1b14; --mzmuted:#55524a; --mzcream:#fbfaf6; --mzline:#e6e2d8;
}
/* anchor offset for the sticky header */
#message,#sections,#centres,#documents,#about-intro{ scroll-margin-top:120px; }

/* Eyebrow */
.mz-eyebrow .elementor-heading-title{
  font-size:.78rem !important; font-weight:700 !important;
  letter-spacing:.16em !important; text-transform:uppercase; color:var(--mzgold-dark) !important;
  margin-bottom:.4rem;
}
/* Titles */
.mz-title .elementor-heading-title{
  font-weight:700 !important; color:var(--mzink) !important;
  line-height:1.15; letter-spacing:-.01em; font-size:clamp(1.8rem,3.1vw,2.6rem) !important;
}
.mz-title.mz-on-green .elementor-heading-title{ color:#fff !important; }

/* Lead + body text */
.mz-lead, .mz-lead p{ color:var(--mzmuted); font-size:1.06rem; line-height:1.75; }
.elementor-widget-text-editor p{ line-height:1.75; }

/* Message from UL portrait */
.mz-portrait img{
  width:230px; height:300px; object-fit:cover;
  border-radius:6px; border-bottom:5px solid var(--mzgold);
  box-shadow:0 18px 45px rgba(29,27,20,.14);
}
.mz-ul-name .elementor-heading-title{ color:var(--mzg) !important; font-weight:700 !important; }

/* Tabs (Library Sections) */
.mz-tabs .elementor-tab-title{ font-weight:600; color:var(--mzmuted); border:none !important; padding:14px 20px; font-size:1.05rem; }
.mz-tabs .elementor-tab-title.elementor-active{ color:var(--mzg); border-bottom:3px solid var(--mzgold) !important; }
.mz-tabs .elementor-tab-title:hover{ color:var(--mzg); }
.mz-tabs .elementor-tab-content{ border:none !important; padding:24px 4px; color:var(--mzmuted); font-size:1.02rem; line-height:1.75; }
.mz-tabs .elementor-tabs-wrapper{ border-bottom:1px solid var(--mzline); }
.mz-tabs .elementor-tabs-content-wrapper{ border:none !important; }

/* Card titles */
.mz-card .elementor-icon-box-wrapper{ background:var(--mzcream); border:1px solid var(--mzline); border-left:4px solid var(--mzg); border-radius:6px; padding:26px 24px; height:100%; text-align:left; transition:transform .2s, box-shadow .2s; }
.mz-card:hover .elementor-icon-box-wrapper{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(29,27,20,.10); border-left-color:var(--mzgold); }
.mz-card .elementor-icon-box-icon{ margin-bottom:10px; }
.mz-card .elementor-icon{ color:var(--mzg) !important; font-size:22px; }
.mz-card .elementor-icon-box-title{ font-size:1.12rem; font-weight:700; color:var(--mzink); margin-bottom:4px; }
.mz-card .elementor-icon-box-description{ color:var(--mzmuted); font-size:.9rem; }

/* Buttons */
.mz-btn .elementor-button{ background:var(--mzg) !important; color:#fff !important; border-radius:4px; font-weight:600; }
.mz-btn .elementor-button:hover{ background:var(--mzg-dark) !important; }
.mz-btn-gold .elementor-button{ background:var(--mzgold) !important; color:#2c2200 !important; }
.mz-btn-gold .elementor-button:hover{ background:#b8920a !important; }

/* Group title */
.mz-grouptitle .elementor-heading-title{ font-size:1.5rem !important; color:var(--mzink) !important; font-weight:700 !important; }

/* Collections feature rows */
.mz-col-img img{ width:100%; height:360px; object-fit:cover; border-radius:8px; box-shadow:0 18px 45px rgba(29,27,20,.12); }

/* Service / feature cards (image-led variant has its own markup) */
.mz-svc .elementor-icon-box-wrapper{ background:var(--mzcream); border:1px solid var(--mzline); border-top:4px solid var(--mzgold); border-radius:8px; padding:28px 24px; height:100%; text-align:left; transition:transform .2s, box-shadow .2s; }
.mz-svc:hover .elementor-icon-box-wrapper{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(29,27,20,.10); }
.mz-svc .elementor-icon{ color:var(--mzg) !important; font-size:22px; }
.mz-svc .elementor-icon-box-icon{ margin-bottom:12px; }
.mz-svc .elementor-icon-box-title{ font-size:1.12rem; color:var(--mzink); font-weight:700; margin-bottom:5px; }
.mz-svc .elementor-icon-box-description{ color:var(--mzmuted); font-size:.92rem; line-height:1.6; }

/* Visit: accordion */
.mz-acc .elementor-accordion-item{ border:1px solid var(--mzline) !important; border-radius:6px; margin-bottom:10px; overflow:hidden; }
.mz-acc .elementor-tab-title{ font-weight:700 !important; color:var(--mzink) !important; background:var(--mzcream); border:none !important; }
.mz-acc .elementor-tab-title.elementor-active{ color:var(--mzg) !important; }
.mz-acc .elementor-tab-content{ color:var(--mzmuted) !important; border:none !important; line-height:1.7; }

/* Baked text column (collections / image-led blocks) */
.mzc-k{ font-weight:700; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mzgold-dark); display:block; margin-bottom:10px; }
.mzc-t{ font-size:1.7rem; color:var(--mzink); font-weight:700; margin:0 0 12px; line-height:1.15; }
.mzc p{ color:var(--mzmuted); font-size:1.03rem; line-height:1.75; margin:0 0 .7rem; }
.mzc ul{ color:var(--mzmuted); margin:.4rem 0 0 1.1rem; line-height:1.7; }
.mzc .mzc-link{ display:inline-block; margin-top:6px; color:var(--mzg); font-weight:600; border-bottom:2px solid var(--mzgold); padding-bottom:1px; text-decoration:none; }

/* Visit: steps + contact */
.mz-step .elementor-icon-box-wrapper{ background:var(--mzcream); border:1px solid var(--mzline); border-left:3px solid var(--mzgold); border-radius:6px; padding:20px 22px; text-align:left; height:100%; }
.mz-step .elementor-icon{ background:var(--mzg); color:#fff !important; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; }
.mz-step .elementor-icon-box-title{ font-size:1.05rem; color:var(--mzink); font-weight:700; }
.mz-step .elementor-icon-box-description{ color:var(--mzmuted); font-size:.9rem; }

/* Hours card (elegant, replaces the green block) */
.mz-hours{ background:#fff; border:1px solid var(--mzline); border-radius:10px; padding:8px 26px; box-shadow:0 14px 40px rgba(29,27,20,.07); max-width:560px; }
.mz-hours .row{ display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-bottom:1px solid var(--mzline); }
.mz-hours .row:last-child{ border-bottom:none; }
.mz-hours .day{ color:var(--mzink); font-weight:600; }
.mz-hours .time{ color:var(--mzg); font-weight:700; }
.mz-hours .time.closed{ color:#b0392f; }

/* Contact card */
.mz-contact{ background:var(--mzcream); border:1px solid var(--mzline); border-radius:10px; padding:26px 28px; }
.mz-contact h4{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mzgold-dark); margin:0 0 14px; }
.mz-contact .ci{ display:flex; gap:12px; align-items:flex-start; margin-bottom:12px; color:var(--mzink); font-size:.96rem; line-height:1.5; }
.mz-contact .ci i{ color:var(--mzg); width:18px; text-align:center; margin-top:3px; }
.mz-map{ width:100%; height:300px; border:1px solid var(--mzline); border-radius:10px; }

/* ===== Collections: editorial image with category badge ===== */
.mz-coll-img{ height:420px; border-radius:10px; background-size:cover; background-position:center; position:relative; box-shadow:0 22px 55px rgba(29,27,20,.16); }
.mz-coll-cat{ position:absolute; top:0; left:0; background:var(--mzg); color:#fff; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:9px 16px; border-bottom-right-radius:10px; }
@media(max-width:768px){ .mz-coll-img{ height:300px; } }

/* ===== Harvard-style task rows ===== */
.mz-tasks{ display:grid; gap:0; }
.mz-tasks a{ display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 4px; border-top:1px solid var(--mzline); color:var(--mzink); transition:padding .2s; text-decoration:none; }
.mz-tasks a:last-child{ border-bottom:1px solid var(--mzline); }
.mz-tasks a:hover{ padding-left:10px; }
.mz-tasks .tt{ font-size:1.25rem; font-weight:700; margin-bottom:3px; }
.mz-tasks .ts{ color:var(--mzmuted); font-size:.93rem; }
.mz-tasks .ta{ color:var(--mzgold-dark); font-size:1.3rem; flex-shrink:0; }
.mz-tasks a:hover .tt{ color:var(--mzg); }

/* ===== Pill links (how-to guides) ===== */
.mz-pills{ display:flex; flex-wrap:wrap; gap:12px; }
.mz-pills a{ background:var(--mzcream); border:1px solid var(--mzline); border-radius:999px; padding:11px 22px; font-weight:600; color:var(--mzink); text-decoration:none; transition:.2s; font-size:.95rem; }
.mz-pills a:hover{ border-color:var(--mzg); color:var(--mzg); transform:translateY(-2px); }

/* ===== Homepage hero AJAX search polish ===== */
.mz-herosearch .jet-search-filter,
.mz-herosearch form{ background:#fff; border-radius:999px; padding:7px 7px 7px 22px; box-shadow:0 24px 60px rgba(0,0,0,.28); display:flex; align-items:center; gap:8px; }
.mz-herosearch input{ border:none !important; background:transparent !important; box-shadow:none !important; font-size:1.05rem !important; padding:12px 6px !important; }
.mz-herosearch input:focus{ outline:none !important; }
.mz-herosearch .jet-ajax-search__submit,
.mz-herosearch button[type=submit]{ background:var(--mzg) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:13px 30px !important; font-weight:700 !important; cursor:pointer; transition:.2s; }
.mz-herosearch .jet-ajax-search__submit:hover,
.mz-herosearch button[type=submit]:hover{ background:var(--mzg-dark) !important; }

/* ===== Homepage quick-access cards ===== */
.mz-qa{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mz-qa a{ display:block; background:#fff; border:1px solid var(--mzline); border-radius:12px; padding:26px 24px; box-shadow:0 14px 40px rgba(29,27,20,.08); transition:.2s; text-decoration:none; }
.mz-qa a:hover{ transform:translateY(-6px); box-shadow:0 26px 60px rgba(29,27,20,.14); border-color:var(--mzgold); }
.mz-qa .qi{ width:48px; height:48px; border-radius:12px; background:var(--mzcream); color:var(--mzg); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:14px; }
.mz-qa .qt{ font-size:1.1rem; font-weight:700; color:var(--mzink); margin-bottom:4px; }
.mz-qa .qd{ font-size:.88rem; color:var(--mzmuted); line-height:1.5; }
.mz-qa .qg{ display:inline-block; margin-top:10px; color:var(--mzg); font-weight:600; font-size:.85rem; }
@media(max-width:900px){ .mz-qa{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .mz-qa{ grid-template-columns:1fr; } }

/* ===== Homepage feature image cards (collections preview) ===== */
.mz-feat{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mz-feat a{ position:relative; height:300px; border-radius:12px; overflow:hidden; display:flex; align-items:flex-end; text-decoration:none; box-shadow:0 18px 45px rgba(29,27,20,.16); }
.mz-feat a::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,52,11,0) 35%,rgba(4,40,9,.86) 100%); z-index:1; transition:.3s; }
.mz-feat a:hover::before{ background:linear-gradient(180deg,rgba(6,91,18,.2) 10%,rgba(4,40,9,.9) 100%); }
.mz-feat .fc{ position:relative; z-index:2; padding:22px; color:#fff; }
.mz-feat .fc .fk{ font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mzgold); }
.mz-feat .fc .ft{ font-size:1.3rem; font-weight:700; margin-top:4px; }
@media(max-width:820px){ .mz-feat{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .mz-feat{ grid-template-columns:1fr; } }

/* ===== Announcements band heading ===== */
.mz-secthead{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:14px; margin-bottom:24px; }
.mz-secthead .mz-viewall{ color:var(--mzg); font-weight:700; text-decoration:none; border-bottom:2px solid var(--mzgold); padding-bottom:2px; white-space:nowrap; }

/* ===== Footer (committee spec) ===== */
.mz-footer{ color:#cbdccf; }
.mz-footer .fcols{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1.3fr; gap:34px; }
.mz-footer h4{ color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin:0 0 16px; font-weight:700; position:relative; padding-bottom:10px; }
.mz-footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background:var(--mzgold); }
.mz-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.mz-footer a{ color:#cbdccf; text-decoration:none; transition:.2s; }
.mz-footer a:hover{ color:#f0e2b0; }
.mz-footer .ci{ display:flex; gap:11px; margin-bottom:11px; align-items:flex-start; font-size:.94rem; line-height:1.5; }
.mz-footer .ci i{ color:#9be3a6; margin-top:3px; width:16px; text-align:center; }
.mz-footer .social{ display:flex; gap:10px; margin-top:2px; }
.mz-footer .social a{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:1rem; }
.mz-footer .social a:hover{ background:var(--mzgold); color:#2c2200; }
.mz-footer .fbottom{ border-top:1px solid rgba(255,255,255,.14); margin-top:34px; padding-top:18px; font-size:.85rem; opacity:.82; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
@media(max-width:820px){ .mz-footer .fcols{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .mz-footer .fcols{ grid-template-columns:1fr; } }

/* ===== Welcome Remarks: librarian card ===== */
.mz-ulcard{ background:#fff; border:1px solid var(--mzline); border-radius:12px; padding:24px; text-align:center; box-shadow:0 18px 45px rgba(29,27,20,.10); }
.mz-ulcard img{ width:100%; max-width:230px; height:300px; object-fit:cover; border-radius:8px; border-bottom:5px solid var(--mzgold); margin:0 auto 16px; display:block; }
.mz-ulcard .mz-ulname{ font-size:1.2rem; font-weight:700; color:var(--mzg); }
.mz-ulcard .mz-ultitle{ color:var(--mzgold-dark); font-size:.9rem; font-weight:600; margin-top:2px; }
.mz-wr-msg p{ color:var(--mzmuted); font-size:1.06rem; line-height:1.85; margin:0 0 1rem; }
.mz-wr-msg .mz-sign{ font-weight:700; color:var(--mzg); margin-top:1.4rem; }
.mz-wr-msg .mz-sign span{ display:block; font-weight:400; color:var(--mzmuted); font-size:.92rem; }
.mz-wr-msg .mz-q{ font-size:1.3rem; line-height:1.5; color:var(--mzink); border-left:4px solid var(--mzgold); padding-left:18px; margin:0 0 1.4rem; }

/* ============================================================
   RESPONSIVE — tablet & mobile
   ============================================================ */
@media(max-width:1024px){
  .mz-qa{ grid-template-columns:repeat(2,1fr); }
  .mz-feat{ grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
  .mz-title .elementor-heading-title{ font-size:clamp(1.5rem,6vw,2rem) !important; }
  .mzc-t{ font-size:1.4rem; }
  .mz-coll-img, .mz-col-img img{ height:260px !important; }
  .mz-feat a{ height:240px; }
  .mz-tasks .tt{ font-size:1.1rem; }
  .mz-map{ height:240px; }
  .mz-hours{ padding:6px 18px; }
  .mz-secthead{ flex-direction:column; align-items:flex-start; }
}
/* Hero AJAX search — always one line (no wrap), field shrinks to fit */
.mz-herosearch .jet-ajax-search__form,
.mz-herosearch form{ flex-wrap:nowrap !important; }
.mz-herosearch .jet-ajax-search__fields-holder{ flex:1 1 0 !important; min-width:0 !important; }
.mz-herosearch .jet-ajax-search__submit,
.mz-herosearch button[type=submit]{ flex:0 0 auto !important; white-space:nowrap !important; }
@media(max-width:768px){
  /* compact pill on tablet & phone */
  .mz-herosearch .jet-ajax-search__form,
  .mz-herosearch form{ flex-direction:row !important; align-items:center !important; border-radius:999px !important; padding:5px 5px 5px 16px !important; gap:6px !important; box-shadow:0 12px 34px rgba(0,0,0,.22) !important; }
  .mz-herosearch input{ width:100% !important; min-width:0 !important; padding:10px 4px !important; font-size:.9rem !important; text-align:left !important; }
  .mz-herosearch .jet-ajax-search__submit,
  .mz-herosearch button[type=submit]{ padding:10px 16px !important; font-size:.85rem !important; border-radius:999px !important; }
}
@media(max-width:600px){
  .mz-qa{ grid-template-columns:1fr; }
  .mz-feat{ grid-template-columns:1fr; }
  .mz-feat a{ height:220px; }
  .mz-pills{ gap:9px; }
  .mz-pills a{ padding:10px 16px; font-size:.9rem; }
  /* tighten card padding */
  .mz-card .elementor-icon-box-wrapper,
  .mz-svc .elementor-icon-box-wrapper,
  .mz-step .elementor-icon-box-wrapper{ padding:20px 18px; }
  /* footer bottom stacks */
  .mz-footer .fbottom{ flex-direction:column; gap:4px; }
}
/* Prevent stray horizontal overflow on small screens */
@media(max-width:600px){ .mz-coll-img, .mz-feat a, .mzdb__item{ max-width:100%; } }

/* Comfortable side padding on tablet & mobile (sections built with 0 side padding) */
@media(max-width:1024px){
  .e-con-boxed > .e-con-inner{ padding-left:26px !important; padding-right:26px !important; }
}
@media(max-width:600px){
  .e-con-boxed > .e-con-inner{ padding-left:18px !important; padding-right:18px !important; }
}
html,body{ overflow-x:hidden; }
