/* ACMS Resources page — page-scoped, enqueued only on the Resources page (see functions.php). */

.acms-rule { width: 64px; height: 5px; background: var(--acms-yellow); }
.acms-rule--sm { width: 52px; height: 4px; }

#acms-res-hero,
#acms-res-collections,
#acms-res-pubs,
#acms-res-library,
#acms-res-enquiries { margin-bottom: 0 !important; }
#acms-res-hero .et_pb_module,
#acms-res-collections .et_pb_module,
#acms-res-pubs .et_pb_module,
#acms-res-library .et_pb_module,
#acms-res-enquiries .et_pb_module { margin-bottom: 0; }

/* ---------- PAGE TITLE BAND ---------- */
#acms-res-hero { position: relative; background: var(--acms-navy); overflow: hidden; padding: 0 !important; }
#acms-res-hero .et_pb_code,
#acms-res-hero .et_pb_code_inner { display: contents; }
#acms-res-hero .et_pb_column { position: static; }
#acms-res-hero .acms-hero-photo,
#acms-res-hero .acms-hero-scrim { position: absolute; inset: 0; z-index: 0; }
#acms-res-hero .acms-hero-photo { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
#acms-res-hero .acms-hero-scrim { background: linear-gradient(90deg, rgba(11,57,79,.94) 0%, rgba(11,57,79,.66) 70%, rgba(11,57,79,.38) 100%); }
#acms-res-hero > .et_pb_row { position: relative; z-index: 1; padding: 56px 60px 64px !important; }
#acms-res-hero .et_pb_column { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
#acms-res-hero .acms-breadcrumb p { display: flex; align-items: center; gap: 10px; font: 600 13px/1 var(--acms-font); letter-spacing: .06em; color: var(--acms-hero-muted); padding-bottom: 0; }
#acms-res-hero .acms-breadcrumb a { color: var(--acms-hero-muted); text-decoration: none; }
#acms-res-hero .acms-breadcrumb a:hover { color: var(--acms-white); }
#acms-res-hero .acms-breadcrumb .acms-crumb-current { color: var(--acms-yellow); }
#acms-res-hero h1.et_pb_module_header { font: 700 54px/1.1 var(--acms-font); color: var(--acms-white); padding-bottom: 0; }
#acms-res-hero .acms-hero-sub p { font: 400 19px/1.6 var(--acms-font); color: rgba(255,255,255,.9); max-width: 780px; padding-bottom: 0; text-wrap: pretty; }

/* ---------- BROWSE BY COLLECTION ---------- */
#acms-res-collections { padding-top: 80px !important; }
#acms-collections-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;
  border-bottom: 1px solid var(--acms-line);
  padding-bottom: 20px;
  margin-bottom: 36px;
}
#acms-collections-head h2.et_pb_module_header { font: 800 15px/1 var(--acms-font); letter-spacing: .16em; text-transform: uppercase; color: var(--acms-brown); padding-bottom: 0; }
#acms-collections-head .acms-all-link p { padding-bottom: 0; }
#acms-collections-head .acms-all-link a { font: 700 15px/1 var(--acms-font); color: var(--acms-navy); text-decoration: none; }
#acms-collections-head .acms-all-link a:hover { color: var(--acms-navy-dark); }

#acms-collections-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
#acms-collections-grid .et_pb_column { margin: 0 !important; width: auto !important; }
#acms-collections-grid a.acms-collection-card {
  text-decoration: none;
  display: flex; flex-direction: column;
  background: var(--acms-white); border: 1px solid var(--acms-line);
  transition: box-shadow .2s ease, transform .2s ease;
  height: 100%;
}
#acms-collections-grid a.acms-collection-card:hover { box-shadow: 0 16px 34px rgba(21,89,122,.16); transform: translateY(-3px); }
#acms-collections-grid .acms-collection-img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--acms-img-bg); }
#acms-collections-grid .acms-collection-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#acms-collections-grid .acms-collection-body { padding: 28px 28px 32px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
#acms-collections-grid .acms-collection-eyebrow { font: 800 12px/1 var(--acms-font); letter-spacing: .12em; text-transform: uppercase; color: var(--acms-brown); }
#acms-collections-grid .acms-collection-title { font: 700 25px/1.25 var(--acms-font); color: var(--acms-navy); }
#acms-collections-grid .acms-collection-desc { font: 400 15px/1.65 var(--acms-font); color: var(--acms-body); flex: 1; }
#acms-collections-grid .acms-collection-cta { display: flex; align-items: center; gap: 10px; font: 700 15px/1 var(--acms-font); color: var(--acms-navy); padding-top: 6px; }
#acms-collections-grid .acms-collection-cta .acms-arrow { color: var(--acms-yellow); }

/* ---------- PUBLICATIONS (Zotero shortcode) ---------- */
#acms-res-pubs { padding-top: 60px !important; padding-bottom: 80px !important; }
#acms-res-pubs .et_pb_column { width: 100% !important; }

/* ---------- LIBRARY PANEL ---------- */
#acms-res-library { background: var(--acms-navy); }
#acms-res-library-inner {
  padding: 52px 56px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: center;
  background: var(--acms-navy);
  margin: 0 auto !important;
  width: auto !important;
}
.acms-res-library-copy { display: flex !important; flex-direction: column; align-items: flex-start; gap: 18px; width: 100% !important; }
.acms-res-library-copy h2.et_pb_module_header { font: 700 32px/1.2 var(--acms-font); color: var(--acms-white); padding-bottom: 0; text-wrap: pretty; }
.acms-res-library-copy .acms-body p { font: 400 17px/1.75 var(--acms-font); color: rgba(255,255,255,.86); max-width: 620px; padding-bottom: 0; }
.acms-res-library-copy .acms-cta-row p { display: flex; flex-wrap: wrap; gap: 12px; padding-bottom: 0; }
.acms-res-library-copy .acms-cta-row a { font: 700 16px/1 var(--acms-font); text-decoration: none; display: inline-block; }
.acms-res-library-copy .acms-btn-filled { background: var(--acms-yellow); color: var(--acms-brown); padding: 15px 30px; }
.acms-res-library-copy .acms-btn-filled:hover { background: var(--acms-yellow-hover); }
.acms-res-library-copy .acms-btn-outline { background: transparent; color: var(--acms-white); border: 2px solid rgba(255,255,255,.6); padding: 13px 30px; }
.acms-res-library-copy .acms-btn-outline:hover { border-color: var(--acms-white); }

#acms-res-library-stats { width: 100% !important; }
/* Switched from the gap+background 'grout line' technique to explicit borders -- the gap
   technique's fractional (sub-pixel) column/row widths on this specific grid were producing a
   faint extra rendering seam beyond the intended cross, reported as a stray horizontal line. */
#acms-res-library-stats-inner {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 0; background: transparent;
  width: 100% !important; padding: 0 !important;
}
#acms-res-library-stats-inner > *:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
#acms-res-library-stats-inner > *:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.18); }
#acms-res-library-stats .et_pb_column { background: var(--acms-navy); padding: 24px 22px; margin: 0 !important; width: auto !important; }
#acms-res-library-stats .acms-stat-n p { font: 700 34px/1 var(--acms-font); color: var(--acms-yellow); padding-bottom: 6px; }
#acms-res-library-stats .acms-stat-l p { font: 700 13px/1.4 var(--acms-font); letter-spacing: .08em; text-transform: uppercase; color: var(--acms-hero-muted); padding-bottom: 0; }

/* ---------- ENQUIRIES ---------- */
#acms-res-enquiries { background: var(--acms-teal); border-top: 1px solid var(--acms-line); }
#acms-res-enquiries > .et_pb_row { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--acms-teal); }
#acms-res-enquiries .et_pb_column { background: var(--acms-white); padding: 44px; margin: 0 !important; width: auto !important; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
#acms-res-enquiries h2.et_pb_module_header { font: 700 28px/1.3 var(--acms-font); color: var(--acms-navy); padding-bottom: 0; }
#acms-res-enquiries .acms-body { flex: 1; }
#acms-res-enquiries .acms-body p { font: 400 17px/1.75 var(--acms-font); color: var(--acms-body); padding-bottom: 0; }
#acms-res-enquiries .et_pb_button {
  background: var(--acms-yellow) !important; color: var(--acms-brown) !important;
  font: 700 16px/1 var(--acms-font) !important; padding: 15px 28px !important;
  border-radius: 0 !important; border: none !important;
}
#acms-res-enquiries .et_pb_button:hover { background: var(--acms-yellow-hover) !important; }
/* The gap lived on .acms-contact-links itself, but its only DIRECT child is .et_pb_text_inner
   (a single wrapper div) -- the two <a> tags actually sit one level deeper, as siblings inside
   the <p>. The gap never reached them, so the two links (each individually display:flex, making
   them block-level) stacked with zero space between -- 'on top of each other'. Moved the flex
   column + gap onto the actual parent of both links, the <p> itself. */
#acms-res-enquiries .acms-contact-links { display: block; }
#acms-res-enquiries .acms-contact-links p { display: flex; flex-direction: column; gap: 12px; padding-bottom: 0; }
#acms-res-enquiries .acms-contact-links a { display: flex; align-items: center; gap: 14px; font: 700 19px/1 var(--acms-font); color: var(--acms-navy); text-decoration: none; }
#acms-res-enquiries .acms-contact-links a:hover { color: var(--acms-navy-dark); }
#acms-res-enquiries .acms-contact-links svg { flex: none; }

/* ---------- CLOSING IMAGE: now a native Divi section background-image ---------- */
#acms-res-bottom { padding: 0 !important; }
#acms-res-bottom > .et_pb_row { padding: 0 !important; }

/* ---------- SECTION SPACING: top-only padding, matches prototype pattern ---------- */
#acms-res-collections { padding-bottom: 0 !important; }
#acms-res-library { padding-top: 84px !important; padding-bottom: 0 !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  #acms-collections-grid { grid-template-columns: 1fr 1fr; }
  #acms-res-library-inner { grid-template-columns: 1fr; gap: 40px; margin: 0 24px !important; padding: 44px 32px; }
  #acms-res-enquiries > .et_pb_row { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #acms-res-hero h1.et_pb_module_header { font-size: 38px; }
  #acms-collections-grid { grid-template-columns: 1fr; }
  #acms-res-library-stats { grid-template-columns: 1fr; }
}

/* HERO-HEIGHT-CONSISTENCY */
#acms-res-hero { min-height: 339px !important; }

/* Divi's own default row padding (scales with viewport) was compounding with the intentional
   36px gap between the heading and the card grid, plus adding a second unwanted gap between
   the Publications section and the Library section below. Zero both rows' own defaults. */
#acms-collections-head-row { padding: 0 !important; }
#acms-collections-grid { padding: 0 !important; }
