/* Header buttons only. The approved homepage styles remain in homepage.css. */
.gm-site .masthead .gm-masthead-actions .btn {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 14px;
  gap: 7px;
}
.gm-site .masthead .gm-masthead-actions .btn svg.gm-ui-icon {
  display: block;
  flex: none;
}
@media (max-width: 760px) {
  .gm-site .masthead .gm-masthead-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
  }
  .gm-site .masthead .gm-masthead-actions .btn {
    width: auto;
    padding: 8px 12px;
  }
}

.gm-site .gm-social-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none}
.gm-site .gm-social-link:focus-visible{outline:2px solid #1f1c14;outline-offset:3px}

/* Keep the existing CTA destination; shorten only its mobile label. */
.gm-site .gm-masthead-actions .gm-cta-label-desktop { display: inline; }
.gm-site .gm-masthead-actions .gm-cta-label-mobile { display: none; }
@media (max-width: 760px) {
  .gm-site .gm-masthead-actions .gm-cta-label-desktop { display: none; }
  .gm-site .gm-masthead-actions .gm-cta-label-mobile { display: inline; }
}

/* Mobile: logo and menu/search first row, CTAs below; desktop shell unchanged. */
.gm-site .gm-mobile-header-tools { display: none; }
.gm-site .gm-mobile-social-links { display:flex; gap:8px; margin-top:16px; }
@media (max-width:760px) {
  .gm-site .masthead { flex-wrap:wrap; gap:12px 8px; }
  .gm-site .masthead > a { flex:0 1 auto; min-width:0; }
  .gm-site .masthead .brand-logo { width:clamp(165px, calc(100vw - 140px), 200px); max-width:100%; }
  .gm-site .gm-mobile-header-tools { display:flex; align-items:center; gap:4px; margin-left:auto; }
  .gm-site .gm-mobile-header-tools .icon-btn { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; }
  .gm-site .masthead .gm-masthead-actions { width:100%; flex:0 0 100%; justify-content:flex-start; gap:8px; }
  .gm-site .masthead .gm-masthead-actions .btn { white-space:nowrap; min-height:44px; }
  .gm-site .nav-row { display:none; }
}

/* Subtle separation between mobile logo/menu row and CTA row. */
@media (max-width:760px) {
  .gm-site .masthead .gm-masthead-actions {
    border-top:1px solid #e5e4de;
    padding-top:14px;
    margin-top:2px;
  }
}

/* Pin the logo and controls to one upper row even under parent-theme flex rules. */
@media (max-width:760px) {
  .gm-site .masthead { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:center; gap:12px 8px; }
  .gm-site .masthead > a { grid-column:1; grid-row:1; min-width:0; width:100%; }
  .gm-site .masthead .brand-logo { width:200px; max-width:100%; height:auto; }
  .gm-site .masthead .gm-mobile-header-tools { grid-column:2; grid-row:1; display:flex; flex-wrap:nowrap; width:auto; min-width:0; margin:0; gap:4px; justify-self:end; }
  .gm-site .masthead .gm-mobile-header-tools .icon-btn { flex:0 0 44px; width:44px; min-width:44px; max-width:44px; height:44px; padding:0; }
  .gm-site .masthead .gm-masthead-actions { grid-column:1 / -1; grid-row:2; min-width:0; width:100%; }
}
