/* PR-UI09: public content directories and announcements only. */

:is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content {
  inline-size: min(calc(100% - 3rem), var(--ui-public-width, 1360px));
  max-inline-size: none;
  margin-inline: auto;
  padding-block: 2.5rem 4rem;
}

:is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content > .module-page {
  gap: 1.5rem;
}

:is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content .module-head {
  display: grid;
  gap: .45rem;
  padding: 0 0 1.35rem;
  border: 0;
  border-block-end: 1px solid var(--ui-line, #dce3e8);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

:is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content .module-head h2 {
  margin: 0;
  color: var(--ui-ink, #233039);
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  line-height: 1.2;
}

:is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content .module-head .hint {
  max-inline-size: 66ch;
  margin: 0;
  color: var(--ui-muted, #62717b);
  font-size: .98rem;
}

/* Interactive practice directory */
body[data-page-module="freePractice"] #module-content > .module-page .external-practice-filter-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: .85rem 1rem;
  padding: 1rem;
  border: 1px solid var(--ui-line, #dce3e8);
  border-radius: var(--ui-radius-card, 8px);
  background: var(--ui-section, #eef5f3);
}

body[data-page-module="freePractice"] #module-content .external-practice-filter-bar label {
  display: grid;
  gap: .35rem;
  min-inline-size: 0;
}

body[data-page-module="freePractice"] #module-content .external-practice-filter-bar label > span {
  color: var(--ui-ink, #233039);
  font-size: .85rem;
  font-weight: 700;
}

body[data-page-module="freePractice"] #module-content .external-practice-filter-bar select {
  min-block-size: 2.75rem;
  border-color: var(--ui-line-strong, #b9c7cd);
  background: var(--ui-surface, #fff);
}

body[data-page-module="freePractice"] #module-content .external-practice-filter-bar > .tag {
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
}

body[data-page-module="freePractice"] #module-content .external-practice-groups {
  gap: 2rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-group-heading {
  align-items: baseline;
  border-block-end-color: var(--ui-line, #dce3e8);
  padding-block-end: .7rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-group-heading h4 {
  color: var(--ui-brand, #063f3c);
  font-size: 1.1rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-group-heading span {
  color: var(--ui-muted, #62717b);
  font-size: .86rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-grid {
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-card {
  border-color: var(--ui-line, #dce3e8);
  border-radius: var(--ui-radius-card, 8px);
  background: var(--ui-surface, #fff);
  box-shadow: var(--ui-shadow-surface, 0 2px 12px rgb(15 43 40 / 6%));
}

body[data-page-module="freePractice"] #module-content .external-practice-card:hover {
  border-color: var(--ui-brand, #063f3c);
  box-shadow: var(--ui-shadow-floating, 0 10px 28px rgb(15 43 40 / 16%));
}

body[data-page-module="freePractice"] #module-content .external-practice-copy {
  gap: .55rem;
  padding: 1rem;
}

body[data-page-module="freePractice"] #module-content .external-practice-copy strong {
  color: var(--ui-ink, #233039);
  font-size: 1.08rem;
  line-height: 1.35;
}

body[data-page-module="freePractice"] #module-content .external-practice-copy p,
body[data-page-module="freePractice"] #module-content .external-practice-copy small {
  color: var(--ui-muted, #62717b);
  font-size: .92rem;
  line-height: 1.5;
}

body[data-page-module="freePractice"] #module-content .external-practice-copy .button {
  min-block-size: 2.75rem;
  margin-block-start: .2rem;
  border-color: var(--ui-brand, #063f3c);
  border-radius: var(--ui-radius-control, 6px);
  background: var(--ui-brand, #063f3c);
  color: #fff;
}

/* School and testimonial directories */
:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content > .public-trust-directory-page {
  gap: 1.75rem;
}

:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content .school-region-tabs {
  gap: .5rem;
  margin: 0;
  padding: .3rem;
  border: 1px solid var(--ui-line, #dce3e8);
  border-radius: var(--ui-radius-card, 8px);
  background: var(--ui-section, #eef5f3);
}

:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content .school-region-tab {
  min-block-size: 2.5rem;
  padding: .45rem .9rem;
  border-radius: var(--ui-radius-control, 6px);
  color: var(--ui-muted, #62717b);
  font-size: .92rem;
}

:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content .school-region-tab::after {
  display: none;
}

:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content .school-region-tab:is(:hover, :focus-visible),
:is(body[data-page-module="schools"], body[data-page-module="testimonials"]) #module-content .school-region-tab.is-active {
  background: var(--ui-surface, #fff);
  color: var(--ui-brand, #063f3c);
  box-shadow: 0 1px 4px rgb(15 43 40 / 12%);
}

body[data-page-module="schools"] #module-content .school-directory-search {
  max-inline-size: 30rem;
  margin: 1.25rem 0;
}

body[data-page-module="schools"] #module-content .school-directory-search input {
  min-block-size: 3rem;
  border-color: var(--ui-line-strong, #b9c7cd);
  border-radius: var(--ui-radius-control, 6px);
  background: var(--ui-surface, #fff);
}

body[data-page-module="schools"] #module-content .school-logo-grid {
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 1rem;
}

body[data-page-module="schools"] #module-content .school-logo-item {
  grid-template-rows: 5.25rem auto auto;
  gap: .5rem;
  padding: .8rem .6rem;
  border: 1px solid var(--ui-line, #dce3e8);
  border-radius: var(--ui-radius-card, 8px);
  background: var(--ui-surface, #fff);
  box-shadow: var(--ui-shadow-surface, 0 2px 12px rgb(15 43 40 / 6%));
}

body[data-page-module="schools"] #module-content .school-logo-box {
  width: 4.75rem;
  height: 4.75rem;
  border-color: var(--ui-line, #dce3e8);
  box-shadow: none;
}

body[data-page-module="schools"] #module-content .school-logo-box img {
  width: 4rem;
  height: 4rem;
}

body[data-page-module="schools"] #module-content .school-logo-item strong {
  color: var(--ui-ink, #233039);
  font-size: .9rem;
}

body[data-page-module="schools"] #module-content .school-directory-pagination {
  justify-content: flex-start;
  gap: .6rem;
  margin-block-start: 1.5rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--ui-line, #dce3e8);
}

body[data-page-module="schools"] #module-content .school-directory-pagination .button {
  min-block-size: 2.75rem;
}

body[data-page-module="testimonials"] #module-content .testimonial-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
}

body[data-page-module="testimonials"] #module-content :is(.testimonial-image-card, .testimonial-card) {
  border-color: var(--ui-line, #dce3e8);
  border-radius: var(--ui-radius-card, 8px);
  box-shadow: var(--ui-shadow-surface, 0 2px 12px rgb(15 43 40 / 6%));
}

body[data-page-module="testimonials"] #module-content .testimonial-card {
  border-inline-start: 3px solid var(--ui-cta, #c95749);
  padding: 1.1rem;
}

body[data-page-module="testimonials"] #module-content .testimonial-card p {
  color: var(--ui-body, #34434a);
  font-size: 1rem;
}

body[data-page-module="testimonials"] #module-content .testimonial-image-card > button {
  border-radius: var(--ui-radius-card, 8px) var(--ui-radius-card, 8px) 0 0;
  background: var(--ui-section, #eef5f3);
}

body[data-page-module="testimonials"] #module-content .testimonial-image-card img {
  aspect-ratio: 4 / 3;
}

/* Announcements: scan-friendly notice list with clear metadata. */
body[data-page-module="announcements"] #module-content > .role-workspace > .list {
  display: grid;
  gap: .8rem;
}

body[data-page-module="announcements"] #module-content > .role-workspace > .list > .list-item {
  display: grid;
  gap: .45rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--ui-line, #dce3e8);
  border-inline-start: 3px solid var(--ui-brand, #063f3c);
  border-radius: var(--ui-radius-card, 8px);
  background: var(--ui-surface, #fff);
  box-shadow: var(--ui-shadow-surface, 0 2px 12px rgb(15 43 40 / 6%));
}

body[data-page-module="announcements"] #module-content > .role-workspace > .list > .list-item > strong {
  color: var(--ui-ink, #233039);
  font-size: 1.05rem;
  line-height: 1.4;
}

body[data-page-module="announcements"] #module-content > .role-workspace > .list > .list-item > p {
  margin: 0;
  color: var(--ui-body, #34434a);
  line-height: 1.65;
}

body[data-page-module="announcements"] #module-content > .role-workspace > .list > .list-item .row-actions {
  align-items: center;
  gap: .7rem;
  margin-block-start: .2rem;
}

@media (max-width: 900px) {
  :is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content {
    inline-size: min(calc(100% - 2rem), var(--ui-public-width, 1360px));
    padding-block-start: 1.75rem;
  }

  body[data-page-module="freePractice"] #module-content .external-practice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-module="schools"] #module-content .school-logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  :is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content {
    inline-size: min(calc(100% - 1.5rem), var(--ui-public-width, 1360px));
    padding-block: 1.25rem calc(5rem + env(safe-area-inset-bottom, 0px));
  }

  :is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content .module-head {
    padding-block-end: 1rem;
  }

  :is(body[data-page-module="freePractice"], body[data-page-module="schools"], body[data-page-module="testimonials"], body[data-page-module="announcements"]) #module-content .module-head h2 {
    font-size: 1.5rem;
  }

  body[data-page-module="freePractice"] #module-content > .module-page .external-practice-filter-bar {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page-module="freePractice"] #module-content .external-practice-filter-bar > .tag {
    grid-column: auto;
  }

  body[data-page-module="freePractice"] #module-content .external-practice-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page-module="schools"] #module-content .school-region-tabs,
  body[data-page-module="testimonials"] #module-content .school-region-tabs {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  body[data-page-module="schools"] #module-content .school-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  body[data-page-module="schools"] #module-content .school-directory-pagination {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    align-items: center;
  }

  body[data-page-module="schools"] #module-content .school-directory-pagination > span {
    min-inline-size: 0;
  }

  body[data-page-module="schools"] #module-content .school-directory-pagination .button {
    inline-size: 100%;
    padding-inline: .5rem;
  }

  body[data-page-module="testimonials"] #module-content .testimonial-list {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page-module="announcements"] #module-content > .role-workspace > .list > .list-item {
    padding: .9rem;
  }
}
