/* =============================================
   PORTAL PAGES — Modern Design (pp-*)
   ============================================= */

/* ---- Wider container override ---- */
@media (min-width: 1200px) {
  .container { max-width: 1560px; }
}

/* ---- Bootstrap btn-primary → portal brand blue ---- */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: #1A3666 !important;
  border-color: #1A3666 !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #152b52 !important;
  border-color: #152b52 !important;
}

/* =============================================
   PORTAL HEADER — 4 zonas
   Utility bar → Brand strip → Nav bar → Avisos
   ============================================= */

/* ---- Utility bar (topo, navy escuro) ---- */
.sh-util-bar {
  background: #143250;
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  letter-spacing: .01em;
}
.sh-util-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 38px;
  gap: 24px;
}
.sh-util-left, .sh-util-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sh-util-link {
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: color .18s;
}
.sh-util-link:hover { color: #fff; text-decoration: none; }
.sh-util-gold { color: #d4aa30; font-weight: 600; }
.sh-util-gold:hover { color: #f0c650; }
.sh-util-sep {
  display: inline-block;
  width: 1px; height: 13px;
  background: rgba(255,255,255,.22);
}
.sh-util-theme-btn {
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  width: 28px; height: 28px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  transition: background .18s;
  padding: 0;
}
.sh-util-theme-btn:hover { background: rgba(255,255,255,.2); }

/* ---- Sticky header wrapper ---- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 4px 24px rgba(20,50,80,.18);
}

/* ---- Brand strip (branco) ---- */
.sh-brand { background: #fff; }
.sh-brand-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  gap: 40px;
}

/* Logo: imagem + separador + nome institucional */
.sh-brand-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
.sh-brand-logo img { height: 110px; width: auto; display: block; }
.sh-brand-sep {
  display: inline-block;
  width: 1px; height: 44px;
  background: #e2e6ee;
  flex-shrink: 0;
}
.sh-brand-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sh-brand-name {
  font-size: 16px;
  font-weight: 700;
  color: #1f3f70;
  line-height: 1.3;
  max-width: 240px;
}
.sh-brand-fallback {
  font-size: 1.1rem;
  font-weight: 800;
  color: #1f3f70;
}
.sh-brand-sub {
  font-size: 12px;
  color: #b8941f;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* Actions: busca + botões */
.sh-brand-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  justify-content: flex-end;
  max-width: 640px;
}

/* Busca */
.sh-search-bar {
  display: flex;
  align-items: stretch;
  flex: 1;
  max-width: 340px;
  height: 46px;
  border: 1.5px solid #dde2ec;
  border-radius: 10px;
  background: #fafbfd;
  overflow: hidden;
  transition: border-color .18s, box-shadow .18s;
}
.sh-search-bar:focus-within {
  border-color: #2a5494;
  box-shadow: 0 0 0 3px rgba(42,84,148,.09);
  background: #fff;
}
.sh-search-icon {
  display: flex; align-items: center;
  padding: 0 10px 0 14px;
  color: #8a94a6;
  font-size: 14px;
  pointer-events: none;
  flex-shrink: 0;
}
.sh-search-bar input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 0 10px 0 0;
  font-size: 14px;
  color: #1f2937;
  outline: none;
  min-width: 0;
  height: 100%;
  font-family: inherit;
}
.sh-search-bar input::placeholder { color: #9aa3b5; }

/* Botões da brand strip */
.sh-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  height: 46px; padding: 0 22px;
  background: #b8941f;
  color: #fff;
  font-size: 14px; font-weight: 700;
  border-radius: 10px;
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: .01em;
  box-shadow: 0 2px 10px rgba(184,148,31,.30);
  transition: background .2s, transform .15s;
  flex-shrink: 0;
}
.sh-btn-primary:hover { background: #9e7d18; color: #fff; text-decoration: none; transform: translateY(-1px); }
.sh-btn-outline {
  display: inline-flex; align-items: center;
  height: 46px; padding: 0 20px;
  background: transparent;
  color: #1f3f70;
  font-size: 14px; font-weight: 700;
  border-radius: 10px;
  border: 1.5px solid #1f3f70;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s;
  flex-shrink: 0;
}
.sh-btn-outline:hover { background: #eef2f9; color: #1f3f70; text-decoration: none; }

/* Acesso ao portal de transparência do CRCRO */
.sh-btn-transparency {
  display: inline-flex; align-items: center; gap: 8px;
  height: 46px; padding: 0 19px 0 9px;
  font-size: 14px; font-weight: 800; color: #fff;
  background: linear-gradient(135deg, #214a82, #17345c);
  border: 1.5px solid #d4aa30;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 10px;
  box-shadow: 0 3px 13px rgba(31,63,112,.38);
  transition: background .2s, color .2s, transform .15s, box-shadow .2s;
  flex-shrink: 0;
}
.sh-btn-transparency:hover {
  background: linear-gradient(135deg, #295a9b, #1b3d6c);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 5px 17px rgba(31,63,112,.48);
}
.sh-btn-transparency-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  padding: 3px;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
}
.sh-btn-transparency-icon img { width: 100%; height: 100%; object-fit: contain; }

/* Destaque de transparência federal no rodapé */
.footer-transparency-highlight {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  margin: 0 0 38px;
  color: #fff;
  background: linear-gradient(100deg, rgba(31,63,112,.96), rgba(20,50,80,.96));
  border: 1px solid rgba(212,170,48,.7);
  border-left: 5px solid #d4aa30;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
  text-decoration: none;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}
.footer-transparency-highlight:hover {
  color: #fff;
  border-color: #f0c650;
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
  text-decoration: none;
  transform: translateY(-2px);
}
.footer-transparency-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  background: #fff;
  border-radius: 50%;
}
.footer-transparency-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.footer-transparency-content strong {
  color: #fff;
  font-size: 17px;
  line-height: 1.25;
}
.footer-transparency-content small {
  color: rgba(255,255,255,.72);
  font-size: 13px;
}
.footer-transparency-action {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-left: auto;
  padding-left: 20px;
  color: #f0c650;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

/* ---- Nav bar (navy médio) ---- */
.sh-navbar {
  background: linear-gradient(90deg, #1a3660 0%, #1f4578 100%);
  border-top: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
}
.sh-navbar-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: 50px;
}
.sh-nav-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
}
.sh-nav-item { display: flex; align-items: center; position: relative; }
.sh-nav-link {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 18px;
  font-family: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  text-decoration: none;
  border-radius: 6px;
  margin: 6px 2px;
  height: calc(100% - 12px);
  border-bottom: none;
  transition: color .18s, background .18s;
}
.sh-nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.10);
  text-decoration: none;
}
.sh-nav-link.active {
  background: rgba(212,170,48,.18);
  color: #f0c84a;
}
.sh-nav-toggle {
  display: flex; align-items: center;
  color: #fff;
  font-size: 1.4rem;
  padding: 0 16px;
  cursor: pointer;
}

/* ---- Mega menu (ancorado na nav bar) ---- */
.sh-nav-item.has-mega { position: relative; }
.mega-panel {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  z-index: 9999;
  min-width: 500px;
  background: #fff;
  border-radius: 0 0 14px 14px;
  border-top: 3px solid #d4aa30;
  box-shadow: 0 12px 40px rgba(0,0,0,.15), 0 2px 8px rgba(0,0,0,.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events: none;
}
.sh-nav-item.has-mega:hover .mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.mega-panel-header {
  display: flex;
  align-items: center;
  padding: 16px 24px 12px;
  border-left: 4px solid #d4aa30;
  margin: 18px 20px 8px;
  font-size: .9rem;
  font-weight: 700;
  color: #1f3f70;
  letter-spacing: .01em;
}
.mega-panel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 4px 12px 18px;
}
.mega-panel-grid.single-col { grid-template-columns: 1fr; }
.mega-panel-link {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 8px;
  text-decoration: none;
  color: #222;
  transition: background .15s;
}
.mega-panel-link:hover { background: #eef2f9; text-decoration: none; color: #1f3f70; }
.mega-panel-icon {
  width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
  font-size: .85rem; color: #8a9ab5;
}
.mega-panel-title {
  font-size: .87rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a2e;
}
.mega-panel-link:hover .mega-panel-title { color: #1f3f70; }
.mega-panel-link:hover .mega-panel-icon { color: #1f3f70; }

/* ---- Barra de avisos (breaking news) ---- */
.sh-announce-bar {
  background: #eef1f7;
  border-bottom: 1px solid #e0e5ef;
}
.sh-announce-inner {
  display: flex;
  align-items: center;
  height: 44px;
  gap: 16px;
  overflow: hidden;
}
.sh-announce-badge {
  flex-shrink: 0;
  display: inline-flex; align-items: center;
  background: #b8941f;
  color: #fff;
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 4px;
}
.sh-announce-links {
  flex: 1;
  overflow: hidden;
  font-size: 13.5px;
  color: #3d4a5c;
  white-space: nowrap;
}
.sh-announce-track {
  display: inline-block;
  white-space: nowrap;
  animation: sh-marquee 30s linear infinite;
}
@keyframes sh-marquee {
  from { transform: translateX(100%); }
  to   { transform: translateX(-100%); }
}
.sh-announce-links a {
  color: #1f3f70; font-weight: 600;
  text-decoration: none;
  transition: color .18s;
}
.sh-announce-links a:hover { color: #2a5494; text-decoration: underline; }
.sh-announce-dot {
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #c3cad8;
  margin: 0 13px;
  vertical-align: middle;
}

/* ---- Page hero bar (replaces .breadcrumb-area) ---- */
.pp-hero {
  background: linear-gradient(135deg, #0d1b5e 0%, var(--base-color) 100%);
  color: #fff;
  padding: 26px 0 22px;
  position: relative;
  overflow: hidden;
}
.pp-hero::after {
  content: '';
  position: absolute;
  right: -50px; bottom: -50px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  pointer-events: none;
}
.pp-hero-breadcrumb {
  list-style: none;
  padding: 0; margin: 0 0 8px;
  display: flex; flex-wrap: wrap; align-items: center;
  font-size: .78rem;
  opacity: .85;
}
.pp-hero-breadcrumb li { display: flex; align-items: center; }
.pp-hero-breadcrumb li::after { content: "/"; margin: 0 7px; opacity: .5; }
.pp-hero-breadcrumb li:last-child::after { display: none; }
.pp-hero-breadcrumb a { color: rgba(255,255,255,.85); text-decoration: none; transition: color .2s; }
.pp-hero-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.pp-hero-breadcrumb .pp-active a { color: #fff; font-weight: 600; }
.pp-hero-title {
  font-size: 1.55rem; font-weight: 800;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.pp-hero-sub {
  font-size: .88rem; opacity: .8; margin-top: 4px;
}

/* ---- Main content section ---- */
.pp-main {
  background: #f4f6fa;
  padding: 32px 0 56px;
  min-height: 55vh;
}

/* ---- Section heading ---- */
.pp-section-heading {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 0 0 20px;
  flex-wrap: wrap; gap: 10px;
}
.pp-section-heading h2 {
  font-size: 1.2rem; font-weight: 800;
  color: #0d1b5e; margin: 0;
  display: flex; align-items: center; gap: 8px;
  border-left: 4px solid var(--base-color);
  padding-left: 12px;
}
.pp-section-heading h2 i { color: var(--base-color); font-size: .95rem; }

/* ---- News card ---- */
.pp-news-card {
  display: block;
  text-decoration: none !important;
  color: #333;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  margin-bottom: 24px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  border: 2px solid transparent;
}
.pp-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  color: #333;
  border-color: var(--base-color);
}
.pp-news-img {
  position: relative;
  overflow: hidden;
  height: 175px;
  background: #dde2ea;
}
.pp-news-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.pp-news-card:hover .pp-news-img img { transform: scale(1.04); }
.pp-news-cat {
  position: absolute; top: 10px; left: 10px;
  padding: 3px 10px; border-radius: 12px;
  font-size: .7rem; font-weight: 700;
  color: #fff; letter-spacing: .02em;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.pp-news-body { padding: 15px 18px 18px; }
.pp-news-title {
  font-size: .93rem; font-weight: 700;
  color: #1a2340; line-height: 1.45;
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .2s;
}
.pp-news-card:hover .pp-news-title { color: var(--base-color); }
.pp-news-meta {
  font-size: .77rem; color: #888;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.pp-news-meta i { color: var(--base-color); opacity: .75; font-size: .7rem; }

/* ---- Gallery card ---- */
.pp-gallery-card {
  display: block; text-decoration: none !important; color: #333;
  background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  margin-bottom: 24px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  border: 2px solid transparent;
}
.pp-gallery-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  color: #333;
  border-color: var(--base-color);
}
.pp-gallery-img {
  height: 200px; overflow: hidden; background: #dde2ea;
}
.pp-gallery-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s;
}
.pp-gallery-card:hover .pp-gallery-img img { transform: scale(1.04); }
.pp-gallery-body { padding: 14px 16px 16px; }
.pp-gallery-body h5 { font-size: .93rem; font-weight: 700; color: #1a2340; margin: 0 0 4px; transition: color .2s; }
.pp-gallery-card:hover .pp-gallery-body h5 { color: var(--base-color); }
.pp-gallery-body small { font-size: .77rem; color: #888; }

/* ---- Event card (list view) ---- */
.pp-event-card {
  display: flex;
  text-decoration: none !important; color: #333;
  background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  margin-bottom: 20px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  border: 2px solid transparent;
}
.pp-event-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  color: #333;
  border-color: var(--base-color);
}
.pp-event-img {
  width: 130px; flex-shrink: 0;
  background: #dde2ea; overflow: hidden;
}
.pp-event-img img { width: 100%; height: 100%; object-fit: cover; }
.pp-event-body { padding: 16px 18px; flex: 1; min-width: 0; }
.pp-event-date {
  font-size: .77rem; color: var(--base-color); font-weight: 700;
  margin-bottom: 5px;
  display: flex; align-items: center; gap: 5px;
}
.pp-event-title { font-size: .93rem; font-weight: 700; color: #1a2340; margin: 0 0 5px; transition: color .2s; }
.pp-event-card:hover .pp-event-title { color: var(--base-color); }
.pp-event-meta { font-size: .78rem; color: #888; }

/* ---- Post/Event detail ---- */
.pp-post-main { background: #f4f6fa; padding: 32px 0 56px; min-height: 55vh; }
.pp-post-wrap {
  background: #fff; border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  overflow: hidden;
}
.pp-post-inner { padding: 32px 36px; }
.pp-post-title { font-size: 1.45rem; font-weight: 800; color: #0d1b5e; line-height: 1.35; margin-bottom: 12px; }
.pp-post-meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-size: .82rem; color: #888;
  padding: 12px 0; margin-bottom: 24px;
  border-top: 1px solid #edf0f5; border-bottom: 1px solid #edf0f5;
}
.pp-post-meta i { color: var(--base-color); opacity: .8; }
.pp-post-cover { width: 100%; height: auto; border-radius: 8px; margin-bottom: 24px; }
.pp-post-footer {
  border-top: 1px solid #edf0f5; padding: 16px 0 0; margin-top: 24px;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.pp-post-footer-label { font-size: .85rem; color: #888; font-weight: 600; }

/* ---- Static / institutional content ---- */
.pp-content-main { background: #f4f6fa; padding: 32px 0 56px; min-height: 55vh; }
.pp-content-wrap {
  background: #fff; border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  padding: 36px 40px;
}
.pp-content-wrap h3 {
  font-size: 1.25rem; font-weight: 800; color: #0d1b5e;
  padding-bottom: 12px; margin-bottom: 20px;
  border-bottom: 3px solid var(--base-color);
}
.pp-content-wrap p { font-size: .95rem; line-height: 1.7; color: #444; }
.pp-content-wrap a { color: var(--base-color); }
.pp-content-wrap ul, .pp-content-wrap ol { padding-left: 1.5em; }
.pp-content-wrap li { margin-bottom: 6px; font-size: .95rem; color: #444; }

/* ---- Site map ---- */
.pp-sitemap-main { background: #f4f6fa; padding: 32px 0 56px; min-height: 55vh; }
.pp-sitemap-wrap {
  background: #fff; border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  padding: 32px 36px;
}
.pp-sitemap-wrap h3 {
  font-size: 1.25rem; font-weight: 800; color: #0d1b5e;
  border-left: 4px solid var(--base-color); padding-left: 12px;
  margin-bottom: 20px;
}
.pp-sitemap-wrap ul { list-style: none; padding: 0; margin: 0 0 4px; }
.pp-sitemap-wrap > ul > li { margin-bottom: 6px; }
.pp-sitemap-wrap ul a { color: var(--base-color); text-decoration: none; font-weight: 600; font-size: .93rem; }
.pp-sitemap-wrap ul a:hover { text-decoration: underline; }
.pp-sitemap-wrap ul ul { padding-left: 20px; margin-top: 3px; }
.pp-sitemap-wrap ul ul a { color: #555; font-weight: 400; }

/* ---- Empty state ---- */
.pp-empty {
  text-align: center; padding: 52px 20px; color: #bbb;
}
.pp-empty i { font-size: 2.8rem; display: block; margin-bottom: 12px; opacity: .4; }
.pp-empty p { font-size: .93rem; color: #999; margin: 0; }

/* ---- Responsive ---- */
@media (max-width: 767px) {
  .footer-transparency-highlight {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 16px;
    margin-bottom: 30px;
  }
  .footer-transparency-icon { width: 48px; height: 48px; flex-basis: 48px; }
  .footer-transparency-icon img { width: 34px; height: 34px; }
  .footer-transparency-content { flex: 1; }
  .footer-transparency-action { width: 100%; margin-left: 64px; padding-left: 0; }
  .pp-hero-title { font-size: 1.25rem; }
  .pp-post-inner { padding: 20px 18px; }
  .pp-content-wrap { padding: 24px 18px; }
  .pp-sitemap-wrap { padding: 24px 18px; }
  .pp-event-img { width: 90px; }
}

/* Header actions squeeze on narrower desktop/laptop widths (992–1399px):
   without this, the search bar's intrinsic width plus both action buttons
   (neither of which shrinks) overflow past the container edge. Placed at
   the end of the file so these overrides win the cascade against the
   unconditional .sh-nav-link/.sh-brand-* rules declared earlier. */
@media (max-width: 1399.98px) {
  .sh-brand-actions { gap: 8px; max-width: 480px; }
  .sh-search-bar { flex: 1 1 120px; min-width: 0; max-width: 200px; }
  .sh-btn-primary, .sh-btn-transparency { padding-left: 14px; padding-right: 14px; font-size: 13px; }
}
@media (max-width: 1199.98px) {
  .sh-search-bar { display: none; }
  /* The real logo (image, not the text fallback) is wide enough that even
     with the search bar gone, the actions can still overflow at the bottom
     of this range — shrink the logo and tighten the row gap too. */
  .sh-brand-inner { gap: 20px; }
  .sh-brand-logo img { height: 80px; }
  .sh-brand-sep { height: 34px; }
  .sh-brand-name { max-width: 190px; font-size: 14px; }
  .sh-nav-link { padding: 0 8px; margin: 6px 0; font-size: 11.5px; letter-spacing: .03em; }
}
