@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600&display=swap');

/* =====================================================
   Pali Member — ดำ-ทอง + Kanit
   ===================================================== */
:root {
  --pmb-gold:   #d4a017;
  --pmb-gold2:  #c9a227;
  --pmb-card:   #161b2e;
  --pmb-card2:  #1d2236;
  --pmb-border: rgba(255,255,255,.12);
  --pmb-text:   #e8edf5;
  --pmb-muted:  rgba(255,255,255,.5);
  --pmb-radius: 10px;
  --pmb-font:   'Kanit', sans-serif;
}

.pmb-outer {
  width: 100%;
  padding: 48px 20px 64px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  font-family: var(--pmb-font);
}

.pmb-box {
  width: 100%;
  max-width: 440px;
  background: var(--pmb-card);
  border: 1px solid var(--pmb-border);
  border-radius: 16px;
  padding: 36px 34px;
  box-sizing: border-box;
  box-shadow: 0 12px 48px rgba(0,0,0,.4);
}
.pmb-box-wide { max-width: 680px; }

/* Header */
.pmb-box-header { text-align: center; margin-bottom: 26px; }
.pmb-box-title {
  font-family: var(--pmb-font);
  font-size: 1.7rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: .3px;
}
.pmb-box-sub {
  font-family: var(--pmb-font);
  font-size: .9rem;
  font-weight: 300;
  color: var(--pmb-muted);
  margin: 0;
}

/* Social buttons (Nextend) */
.pmb-social { margin-bottom: 18px; }
.pmb-social .nsl-container { margin: 0 !important; }
.pmb-social a, .pmb-social .nsl-button { border-radius: var(--pmb-radius) !important; }

/* Divider */
.pmb-divider {
  display: flex; align-items: center;
  text-align: center;
  margin: 20px 0;
  color: var(--pmb-muted);
  font-size: .8rem;
  font-weight: 300;
}
.pmb-divider::before, .pmb-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--pmb-border);
}
.pmb-divider span { padding: 0 14px; }

/* Section heading */
.pmb-section-head {
  font-family: var(--pmb-font);
  font-size: .8rem;
  font-weight: 600;
  color: var(--pmb-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 22px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--pmb-border);
}
.pmb-section-head:first-child { margin-top: 0; }
.pmb-optional { color: var(--pmb-muted); font-weight: 300; font-size: .85em; text-transform: none; letter-spacing: 0; }

/* Form */
.pmb-form { width: 100%; }
.pmb-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pmb-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.pmb-field { margin-bottom: 16px; }
.pmb-label {
  display: block;
  font-family: var(--pmb-font);
  font-size: .82rem;
  font-weight: 500;
  color: rgba(255,255,255,.7);
  margin-bottom: 7px;
}
.pmb-req { color: #ef4444; }
.pmb-input {
  width: 100%;
  background: var(--pmb-card2);
  border: 1px solid var(--pmb-border);
  border-radius: var(--pmb-radius);
  color: var(--pmb-text);
  font-family: var(--pmb-font);
  font-size: .9rem;
  font-weight: 300;
  padding: 11px 14px;
  box-sizing: border-box;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  appearance: none;
}
.pmb-input:focus { border-color: var(--pmb-gold); box-shadow: 0 0 0 3px rgba(212,160,23,.12); }
.pmb-input::placeholder { color: rgba(255,255,255,.25); }
.pmb-input option { background: #1d2236; }
.pmb-textarea { resize: vertical; min-height: 80px; }

/* Password toggle */
.pmb-password-wrap { position: relative; }
.pmb-toggle-pw {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer;
  font-size: 1rem; opacity: .5; padding: 4px;
}
.pmb-toggle-pw:hover { opacity: .9; }

/* Row between */
.pmb-row-between { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.pmb-checkbox { display: flex; align-items: center; gap: 7px; cursor: pointer; font-size: .85rem; font-weight: 300; color: var(--pmb-muted); }
.pmb-checkbox input { accent-color: var(--pmb-gold); width: 15px; height: 15px; }
.pmb-link-sm { font-size: .82rem; color: var(--pmb-gold); text-decoration: none; font-weight: 300; }
.pmb-link-sm:hover { text-decoration: underline; }

/* PDPA */
.pmb-pdpa {
  background: rgba(212,160,23,.06);
  border: 1px solid rgba(212,160,23,.2);
  border-radius: var(--pmb-radius);
  padding: 14px 16px;
  margin: 20px 0;
}
.pmb-checkbox-pdpa { align-items: flex-start; font-size: .84rem; line-height: 1.6; }
.pmb-checkbox-pdpa input { margin-top: 3px; flex-shrink: 0; }

/* Buttons */
.pmb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--pmb-font);
  font-weight: 500;
  font-size: .9rem;
  padding: 12px 26px;
  border-radius: var(--pmb-radius);
  border: none;
  cursor: pointer;
  text-decoration: none !important;
  transition: all .2s;
}
.pmb-btn-primary {
  background: linear-gradient(135deg, var(--pmb-gold), var(--pmb-gold2));
  color: #1a1200 !important;
  font-weight: 600;
}
.pmb-btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(212,160,23,.3); }
.pmb-btn-primary:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.pmb-btn-ghost { background: transparent; color: var(--pmb-text) !important; border: 1px solid var(--pmb-border); }
.pmb-btn-ghost:hover { background: rgba(255,255,255,.06); }
.pmb-btn-full { width: 100%; margin-top: 6px; }

/* Form message */
.pmb-form-msg {
  margin-top: 14px;
  font-size: .85rem;
  font-weight: 300;
  text-align: center;
  display: none;
}
.pmb-form-msg.error   { display: block; color: #f87171; }
.pmb-form-msg.success { display: block; color: #34d399; }

/* Box footer */
.pmb-box-footer {
  text-align: center;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--pmb-border);
  font-size: .88rem;
  font-weight: 300;
  color: var(--pmb-muted);
}
.pmb-link { color: var(--pmb-gold); text-decoration: none; font-weight: 500; }
.pmb-link:hover { text-decoration: underline; }

/* Already logged in */
.pmb-already { text-align: center; max-width: 420px; }
.pmb-already-icon {
  width: 60px; height: 60px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(52,211,153,.15);
  color: #34d399;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem;
}
.pmb-already h2 { color: #fff; font-weight: 600; margin: 0 0 6px; font-size: 1.3rem; }
.pmb-already p { color: var(--pmb-muted); font-weight: 300; margin: 0 0 20px; }
.pmb-already-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Tabs (profile) */
.pmb-tabs { display: flex; gap: 4px; margin-bottom: 24px; border-bottom: 1px solid var(--pmb-border); }
.pmb-tab {
  background: none; border: none;
  color: var(--pmb-muted);
  font-family: var(--pmb-font);
  font-size: .9rem; font-weight: 400;
  padding: 10px 20px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .2s;
}
.pmb-tab.active { color: var(--pmb-gold); border-bottom-color: var(--pmb-gold); }
.pmb-tab:hover { color: #fff; }
.pmb-tab-panel { display: none; }
.pmb-tab-panel.active { display: block; }

.pmb-logout-section { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--pmb-border); text-align: center; }

/* Responsive */
@media (max-width: 640px) {
  .pmb-outer { padding: 24px 14px 40px; }
  .pmb-box { padding: 26px 20px; }
  .pmb-grid-2, .pmb-grid-3 { grid-template-columns: 1fr; gap: 0; }
  .pmb-box-title { font-size: 1.45rem; }
}

/* ===== Header Login Button / Account Dropdown ===== */
.pmb-hdr-login-btn {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, #d4a017, #c9a227);
  color: #1a1200 !important;
  font-family: 'Kanit', sans-serif;
  font-weight: 600;
  font-size: .9rem;
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all .2s;
  line-height: 1;
}
.pmb-hdr-login-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(212,160,23,.3);
  color: #1a1200 !important;
}

/* Account (logged in) */
.pmb-hdr-account { position: relative; display: inline-block; font-family: 'Kanit', sans-serif; }
.pmb-hdr-account-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(212,160,23,.3);
  color: #fff;
  font-family: 'Kanit', sans-serif;
  font-size: .88rem;
  font-weight: 400;
  padding: 7px 14px 7px 7px;
  border-radius: 30px;
  cursor: pointer;
  transition: all .2s;
}
.pmb-hdr-account-btn:hover { background: rgba(255,255,255,.14); border-color: #d4a017; }
.pmb-hdr-avatar {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d4a017, #c9a227);
  color: #1a1200;
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: .95rem;
  text-transform: uppercase;
  flex-shrink: 0;
}
.pmb-hdr-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Dropdown */
.pmb-hdr-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: #161b2e;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all .2s;
  z-index: 99999;
}
.pmb-hdr-account.open .pmb-hdr-dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
.pmb-hdr-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  color: #e8edf5 !important;
  font-size: .88rem; font-weight: 300;
  text-decoration: none !important;
  border-radius: 7px;
  transition: background .15s;
}
.pmb-hdr-item:hover { background: rgba(255,255,255,.07); color: #d4a017 !important; }
.pmb-hdr-item svg { color: #d4a017; flex-shrink: 0; }
.pmb-hdr-logout { color: #f87171 !important; }
.pmb-hdr-logout svg { color: #f87171; }
.pmb-hdr-logout:hover { background: rgba(248,113,113,.1); color: #f87171 !important; }
.pmb-hdr-divider { height: 1px; background: rgba(255,255,255,.1); margin: 6px 4px; }

/* Dharma name field */
.pmb-label-with-icon {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
}
.pmb-label-with-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  border-radius: 50%;
  flex: 0 0 auto;
}
.pmb-icon-input {
  position: relative;
}
.pmb-icon-input > img {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 22px;
  height: 22px;
  object-fit: contain;
  border-radius: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
}
.pmb-icon-input .pmb-input {
  padding-left: 44px !important;
}

/* Completed lessons page */
.pmb-completed-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 36px 18px 60px;
  font-family: 'Kanit', sans-serif;
  color: #1f2937;
}
.pmb-completed-header {
  margin-bottom: 24px;
  border-bottom: 1px solid rgba(88,0,149,.14);
  padding-bottom: 16px;
}
.pmb-completed-header h1 {
  margin: 0 0 6px;
  color: #580095;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.2;
  font-weight: 700;
}
.pmb-completed-header p {
  margin: 0;
  color: #64748b;
  font-size: 1rem;
}
.pmb-completed-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.pmb-completed-wrap .pali-card {
  overflow: hidden !important;
  border: 1px solid rgba(88,0,149,.14) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(88,0,149,.10) !important;
}
.pmb-completed-wrap .pali-progress-fill,
.pmb-completed-wrap .pali-card-thumb::after {
  background: #9b5de5 !important;
}
.pmb-completed-wrap .pali-card-meta,
.pmb-completed-wrap .pali-card-resume {
  color: #7b6a8e !important;
}
.pmb-completed-wrap .pali-card-title a {
  color: #28123c !important;
}
.pmb-completed-wrap .pali-card-title a:hover {
  color: #580095 !important;
}
.pmb-completed-wrap .pali-card-open,
.pmb-completed-wrap .pali-card-open:visited,
.pmb-completed-wrap .pali-card-open:hover,
.pmb-completed-wrap .pali-card-open:focus {
  background: #580095 !important;
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.pmb-completed-wrap .pali-card-action,
.pmb-completed-wrap .pali-wl-btn,
.pmb-completed-wrap .pali-fav-btn,
.pmb-completed-wrap .pali-card-action:visited,
.pmb-completed-wrap .pali-wl-btn:visited,
.pmb-completed-wrap .pali-fav-btn:visited {
  background: #f1e4ff !important;
  background-color: #f1e4ff !important;
  border: 1px solid #d4b8f3 !important;
  color: #580095 !important;
  box-shadow: none !important;
}
.pmb-completed-wrap .pali-card-action:hover,
.pmb-completed-wrap .pali-wl-btn:hover,
.pmb-completed-wrap .pali-fav-btn:hover,
.pmb-completed-wrap .pali-card-action:focus,
.pmb-completed-wrap .pali-wl-btn:focus,
.pmb-completed-wrap .pali-fav-btn:focus {
  background: #e3c9fb !important;
  background-color: #e3c9fb !important;
  border-color: #b987e8 !important;
  color: #3f006d !important;
}
.pmb-completed-wrap .pali-wl-btn.in-wl,
.pmb-completed-wrap .pali-fav-btn.is-liked {
  background: #c5a3e8 !important;
  background-color: #c5a3e8 !important;
  border-color: #a674d8 !important;
  color: #2f124a !important;
}
.pmb-completed-wrap .pali-card-actions {
  gap: 7px !important;
}
.pmb-completed-empty {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 28px;
  border: 1px dashed rgba(88,0,149,.28);
  border-radius: 8px;
  background: #fbf7ff;
  color: #64748b;
}
.pmb-completed-empty strong { color: #580095; font-size: 1.05rem; }
.pmb-completed-card {
  overflow: hidden;
  border: 1px solid rgba(88,0,149,.14);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.pmb-completed-thumb {
  display: block;
  aspect-ratio: 16 / 9;
  background: #f3e8ff;
  color: #580095;
  text-decoration: none !important;
}
.pmb-completed-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pmb-completed-thumb span {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.pmb-completed-card-body { padding: 14px; }
.pmb-completed-card-body h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  line-height: 1.45;
}
.pmb-completed-card-body h3 a {
  color: #1f2937 !important;
  text-decoration: none !important;
}
.pmb-completed-card-body h3 a:hover { color: #580095 !important; }
.pmb-completed-card-body p {
  margin: 0 0 12px;
  color: #64748b;
  font-size: .9rem;
}
.pmb-completed-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 6px;
  background: #580095;
  color: #fff !important;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none !important;
}
.pmb-completed-open:hover { filter: brightness(1.08); }

@media (max-width: 1024px) {
  .pmb-completed-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pmb-completed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .pmb-completed-wrap { padding: 26px 14px 44px; }
  .pmb-completed-grid { grid-template-columns: 1fr; }
}

/* Pali Member v1.1.49 — force the completed lessons page to use the purple sample tone. */
body:not(.wp-admin):has(.pmb-completed-wrap) {
  background: #f3ecfb !important;
}
body:not(.wp-admin) .pmb-completed-wrap {
  background: #f3ecfb !important;
}
body:not(.wp-admin) .pmb-completed-wrap .pali-card-open,
body:not(.wp-admin) .pmb-completed-wrap .pali-card-open:hover,
body:not(.wp-admin) .pmb-completed-wrap .pali-card-open:focus {
  background: #580095 !important;
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}
body:not(.wp-admin) .pmb-completed-wrap .pali-card-action,
body:not(.wp-admin) .pmb-completed-wrap .pali-wl-btn,
body:not(.wp-admin) .pmb-completed-wrap .pali-fav-btn {
  background: #f0e3ff !important;
  background-color: #f0e3ff !important;
  border-color: #d8b9f5 !important;
  color: #580095 !important;
}
body:not(.wp-admin) .pmb-completed-wrap .pali-wl-btn.in-wl,
body:not(.wp-admin) .pmb-completed-wrap .pali-fav-btn.is-liked {
  background: #c7a5ea !important;
  background-color: #c7a5ea !important;
  border-color: #aa7add !important;
  color: #2f124a !important;
}
body:not(.wp-admin) .pmb-completed-wrap .pali-section-title,
body:not(.wp-admin) .pmb-completed-wrap .pmb-completed-header h1 {
  color: #580095 !important;
}
body:not(.wp-admin) .pmb-completed-wrap .pali-section-title {
  border-left: 5px solid #8e57cf !important;
  padding-left: 12px !important;
}

/* =====================================================
   Pali Member v1.0.3 — สีเขียว / ขาว / ทอง
   จำกัดผลเฉพาะฟอร์มสมาชิก ไม่กระทบ Header หรือธีม
   ===================================================== */
.pmb-outer {
  --pmb-green: #034f4f;
  --pmb-green-deep: #023d3d;
  --pmb-green-card: #075b59;
  --pmb-gold: #ffc000;
  --pmb-gold2: #e4ab00;
  --pmb-card: #075b59;
  --pmb-card2: #034f4f;
  --pmb-border: rgba(255,255,255,.75);
  --pmb-text: #ffffff;
  --pmb-muted: rgba(255,255,255,.78);

  position: relative;
  isolation: isolate;
  padding: clamp(42px,6vw,72px) 20px !important;
  background: #034f4f !important;
  box-shadow: 0 0 0 100vmax #034f4f;
  clip-path: inset(0 -100vmax);
}

.pmb-outer .pmb-box {
  background: var(--pmb-green-card) !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  outline: 3px solid var(--pmb-gold) !important;
  outline-offset: -8px !important;
  padding: 34px !important;
  box-shadow: 0 22px 44px rgba(0,0,0,.25) !important;
}

.pmb-outer .pmb-box-title { color: #ffffff !important; }
.pmb-outer .pmb-box-title::after {
  content: '';
  display: block;
  width: 54px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 9px;
  background: var(--pmb-gold);
}
.pmb-outer .pmb-box-sub { color: var(--pmb-muted) !important; }

.pmb-outer .pmb-section-head {
  color: var(--pmb-gold) !important;
  border-bottom-color: rgba(255,255,255,.35) !important;
}
.pmb-outer .pmb-label { color: #ffffff !important; }
.pmb-outer .pmb-req { color: var(--pmb-gold) !important; }

.pmb-outer .pmb-input {
  background: var(--pmb-green-deep) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
}
.pmb-outer .pmb-input::placeholder { color: rgba(255,255,255,.58) !important; }
.pmb-outer .pmb-input:focus {
  border-color: var(--pmb-gold) !important;
  box-shadow: 0 0 0 3px rgba(255,192,0,.19) !important;
}
.pmb-outer select.pmb-input { color-scheme: dark; }
.pmb-outer .pmb-input option { background: #ffffff !important; color: #023d3d !important; }

.pmb-outer .pmb-pdpa {
  background: rgba(255,192,0,.11) !important;
  border-color: rgba(255,192,0,.65) !important;
}
.pmb-outer .pmb-checkbox { color: var(--pmb-muted) !important; }
.pmb-outer .pmb-checkbox input { accent-color: var(--pmb-gold) !important; }
.pmb-outer .pmb-link,
.pmb-outer .pmb-link-sm { color: var(--pmb-gold) !important; }

.pmb-outer .pmb-btn-primary {
  min-height: 50px;
  border-radius: 999px !important;
  background: var(--pmb-gold) !important;
  color: var(--pmb-green-deep) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}
.pmb-outer .pmb-btn-primary:hover {
  background: #ffffff !important;
  color: var(--pmb-green-deep) !important;
  filter: none !important;
}
.pmb-outer .pmb-btn-ghost {
  border-color: #ffffff !important;
  color: #ffffff !important;
}
.pmb-outer .pmb-btn-ghost:hover { background: rgba(255,255,255,.12) !important; }
.pmb-outer .pmb-box-footer {
  border-top-color: rgba(255,255,255,.35) !important;
  color: var(--pmb-muted) !important;
}
.pmb-outer .pmb-divider { color: var(--pmb-muted) !important; }
.pmb-outer .pmb-divider::before,
.pmb-outer .pmb-divider::after { background: rgba(255,255,255,.35) !important; }

.pmb-hdr-login-btn {
  background: #ffc000 !important;
  color: #034f4f !important;
  border-radius: 999px !important;
}
.pmb-hdr-login-btn:hover { color: #034f4f !important; background: #ffd54a !important; }

@media (max-width: 640px) {
  .pmb-outer { padding: 34px 14px 46px !important; }
  .pmb-outer .pmb-box { padding: 28px 20px !important; border-radius: 17px !important; }
}

/* Account / Profile: explicit green theme and its own cache-safe selectors. */
body .pmb-profile-outer {
  background: #034f4f !important;
}
body .pmb-profile-outer .pmb-profile-box {
  background: #075b59 !important;
  border-color: #ffffff !important;
}
body .pmb-profile-outer .pmb-tab {
  color: rgba(255,255,255,.72) !important;
}
body .pmb-profile-outer .pmb-tab.active {
  color: #ffc000 !important;
  border-bottom-color: #ffc000 !important;
}
body .pmb-profile-outer .pmb-tabs,
body .pmb-profile-outer .pmb-section-head {
  border-color: rgba(255,255,255,.35) !important;
}

/* Header account button: keep the logged-in name readable on a white header. */
body .pmb-hdr-account-btn,
body button.pmb-hdr-account-btn {
  background: #ffc000 !important;
  border: 1px solid #d89f00 !important;
  color: #034f4f !important;
  box-shadow: 0 4px 12px rgba(255,192,0,.24) !important;
}
body .pmb-hdr-account-btn:hover,
body button.pmb-hdr-account-btn:hover {
  background: #ffd54a !important;
  border-color: #ffc000 !important;
  color: #034f4f !important;
}
body .pmb-hdr-account-btn .pmb-hdr-name,
body .pmb-hdr-account-btn svg {
  color: #034f4f !important;
  fill: none !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}
body .pmb-hdr-account-btn .pmb-hdr-avatar {
  background: #034f4f !important;
  color: #ffffff !important;
}

/*
 * Header structure is intentionally left to Astra/Elementor.
 * The member plugin styles its own control only; it must not change
 * header height, grid/flex mode, menu spacing, or logo positioning.
 */

/* =====================================================
   Pali Member v1.1.0 — White / Purple theme
   Main purple: #9575cd | Soft purple: #d7c3f4
   Loaded last so legacy green/gold rules cannot override it.
   ===================================================== */
.pmb-outer {
  --pmb-green: #9575cd;
  --pmb-green-deep: #ffffff;
  --pmb-green-card: #ffffff;
  --pmb-gold: #9575cd;
  --pmb-gold2: #d7c3f4;
  --pmb-card: #ffffff;
  --pmb-card2: #faf7ff;
  --pmb-border: #d7c3f4;
  --pmb-text: #35264d;
  --pmb-muted: #715e8f;
  background: #f7f2ff !important;
  box-shadow: 0 0 0 100vmax #f7f2ff !important;
}

.pmb-outer .pmb-box {
  background: #ffffff !important;
  border: 2px solid #d7c3f4 !important;
  outline: none !important;
  box-shadow: 0 18px 42px rgba(89, 61, 132, .14) !important;
}

.pmb-outer .pmb-box-title,
.pmb-outer .pmb-label,
.pmb-outer .pmb-already h2 {
  color: #35264d !important;
}
.pmb-outer .pmb-box-title::after { background: #9575cd !important; }
.pmb-outer .pmb-box-sub,
.pmb-outer .pmb-checkbox,
.pmb-outer .pmb-box-footer,
.pmb-outer .pmb-divider,
.pmb-outer .pmb-already p {
  color: #715e8f !important;
}
.pmb-outer .pmb-section-head,
.pmb-outer .pmb-link,
.pmb-outer .pmb-link-sm {
  color: #7555ae !important;
}
.pmb-outer .pmb-section-head,
.pmb-outer .pmb-box-footer {
  border-color: #e8dcf8 !important;
}
.pmb-outer .pmb-req { color: #9575cd !important; }

.pmb-outer .pmb-input {
  background: #ffffff !important;
  color: #35264d !important;
  border: 1px solid #d7c3f4 !important;
}
.pmb-outer .pmb-input::placeholder { color: #a99abb !important; }
.pmb-outer .pmb-input:focus {
  border-color: #9575cd !important;
  box-shadow: 0 0 0 3px rgba(149,117,205,.18) !important;
}
.pmb-outer select.pmb-input { color-scheme: light !important; }
.pmb-outer .pmb-input option {
  background: #ffffff !important;
  color: #35264d !important;
}

.pmb-outer .pmb-pdpa {
  background: #faf7ff !important;
  border-color: #d7c3f4 !important;
}
.pmb-outer .pmb-checkbox input { accent-color: #9575cd !important; }
.pmb-outer .pmb-divider::before,
.pmb-outer .pmb-divider::after { background: #e8dcf8 !important; }

.pmb-outer .pmb-btn-primary {
  background: #9575cd !important;
  color: #ffffff !important;
  border: 2px solid #9575cd !important;
  box-shadow: 0 9px 20px rgba(149,117,205,.28) !important;
}
.pmb-outer .pmb-btn-primary:hover {
  background: #d7c3f4 !important;
  color: #4b3370 !important;
  border-color: #9575cd !important;
}
.pmb-outer .pmb-btn-ghost {
  background: #f4edfc !important;
  color: #65479b !important;
  border: 2px solid #d7c3f4 !important;
}
.pmb-outer .pmb-btn-ghost:hover {
  background: #d7c3f4 !important;
  color: #4b3370 !important;
  border-color: #9575cd !important;
}

body .pmb-profile-outer {
  background: #f7f2ff !important;
}
body .pmb-profile-outer .pmb-profile-box {
  background: #ffffff !important;
  border-color: #d7c3f4 !important;
}
body .pmb-profile-outer .pmb-tab { color: #715e8f !important; }
body .pmb-profile-outer .pmb-tab.active {
  color: #7555ae !important;
  border-bottom-color: #9575cd !important;
}
body .pmb-profile-outer .pmb-tab:hover { color: #9575cd !important; }
body .pmb-profile-outer .pmb-tabs,
body .pmb-profile-outer .pmb-section-head {
  border-color: #e8dcf8 !important;
}

body .pmb-hdr-login-btn {
  background: #9575cd !important;
  color: #ffffff !important;
  border: 2px solid #d7c3f4 !important;
}
body .pmb-hdr-login-btn:hover {
  background: #d7c3f4 !important;
  color: #4b3370 !important;
  border-color: #9575cd !important;
}

body .pmb-hdr-account-btn,
body button.pmb-hdr-account-btn {
  background: #f4edfc !important;
  border: 1px solid #d7c3f4 !important;
  color: #4b3370 !important;
  box-shadow: 0 4px 12px rgba(149,117,205,.18) !important;
}
body .pmb-hdr-account-btn:hover,
body button.pmb-hdr-account-btn:hover {
  background: #d7c3f4 !important;
  border-color: #9575cd !important;
  color: #4b3370 !important;
}
body .pmb-hdr-account-btn .pmb-hdr-name,
body .pmb-hdr-account-btn svg {
  color: #4b3370 !important;
}
body .pmb-hdr-account-btn .pmb-hdr-avatar {
  background: #9575cd !important;
  color: #ffffff !important;
}
body .pmb-hdr-dropdown {
  background: #ffffff !important;
  border: 1px solid #d7c3f4 !important;
  box-shadow: 0 14px 36px rgba(89,61,132,.18) !important;
}
body .pmb-hdr-item { color: #4b3370 !important; }
body .pmb-hdr-item svg { color: #9575cd !important; }
body .pmb-hdr-item:hover {
  background: #f4edfc !important;
  color: #7555ae !important;
}
body .pmb-hdr-divider { background: #e8dcf8 !important; }

/* =====================================================
   Pali Member v1.1.3 — Safe desktop header placement
   Keep Astra's native header/grid layout.  Only the widget
   containing the member control is anchored to the right.
   ===================================================== */
body [data-elementor-type="header"],
body .elementor-location-header,
body .ast-primary-header-bar {
  position: relative !important;
}

/* Floating slot appended to the header root — pinned to the right,
   vertically centred, and out of the navigation flow.
   Desktop only (above Astra's 1024px burger breakpoint). */
@media (min-width: 1601px) {
  /* Pali Member v1.1.20 — keep the logo a little farther left, then let
     the menu group breathe closer to the visual centre of the header. */
  body .ast-primary-header-bar,
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header,
  body .elementor-location-header .elementor-section,
  body .elementor-location-header .elementor-container,
  body .elementor-location-header .elementor-widget-wrap,
  body [data-elementor-type="header"],
  body [data-elementor-type="header"] .elementor-section,
  body [data-elementor-type="header"] .elementor-container,
  body [data-elementor-type="header"] .elementor-widget-wrap {
    max-width: 100% !important;
  }

  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(22px, 1.6vw, 34px) !important;
    padding-right: 18px !important;
  }

  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .ast-primary-header-bar .site-title,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body .elementor-location-header .site-title,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity,
  body [data-elementor-type="header"] .site-title {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  body .pmb-account-slot {
    position: absolute !important;
    /* Push the button further out from the last menu item so a long
       menu (many items) never runs underneath it. */
    right: clamp(42px, 5vw, 100px) !important;
    left: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 999 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* กันเมนูไม่ให้ไหลไปทับปุ่ม Login ที่ชิดขวา
     เผื่อพื้นที่ด้านขวาของแถบเมนูหลักให้พอดีกับความกว้างปุ่ม
     (v1.1.13 — เผื่อพื้นที่มากขึ้นอีก เพราะเมนูมีหลายรายการและยาว) */
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .ast-primary-header-bar,
  body .ast-primary-header-bar .site-primary-header-wrap {
    padding-right: clamp(240px, 21vw, 320px) !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    margin-left: clamp(28px, 2.2vw, 44px) !important;
  }

  /* =====================================================
     Pali Member v1.1.13 — compact desktop menu spacing
     Tightens the gap between top-level menu items so a long
     menu (many items) fits comfortably before the account
     button, instead of relying on shrinking the button area.
     Only affects horizontal spacing — sizes, colours and
     dropdown behaviour stay whatever the theme/Elementor set.
     ===================================================== */
  body .ast-primary-header-bar .main-header-menu > li.menu-item,
  body .elementor-location-header .main-header-menu > li.menu-item {
    margin-right: 0 !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* =====================================================
     Pali Member v1.1.13 — fix nested (flyout) submenus
     running off the right edge of the screen.  The theme
     opens 2nd-level dropdowns to the right of their parent
     by default, which overflows offscreen for items near the
     right end of the menu (e.g. "หลักสูตรเทียบโอน" → "MOOC").
     Flip nested submenus to open to the LEFT of their parent
     instead, so they always stay inside the viewport.
     ===================================================== */
  body .main-header-menu .sub-menu .sub-menu,
  body .elementor-location-header .sub-menu .sub-menu {
    left: auto !important;
    right: 100% !important;
  }
}

/* =====================================================
   Pali Member v1.1.28 — balanced desktop edge spacing
   Keep the logo and account control exactly 24px from the
   left and right viewport edges. Remove the older extra
   account margin that doubled the right-hand inset.
   ===================================================== */
@media (min-width: 1025px) {
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
  }

  body .pmb-account-slot {
    right: 24px !important;
    margin-right: 0 !important;
  }

  body .pmb-account-slot .pmb-hdr-account,
  body .pmb-account-slot .pmb-hdr-login-btn,
  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    margin-right: 0 !important;
  }
}

/* =====================================================
   Pali Member v1.1.30 — direct visual logo offset.
   The theme's three-column header grid keeps the branding cell inset;
   move the branding itself left while leaving navigation/login untouched.
   ===================================================== */
@media (min-width: 1025px) {
  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    transform: translateX(-40px) !important;
  }
}

/* =====================================================
   Pali Member v1.1.29 — make the Astra desktop header truly full width.
   The centred max-width container kept the logo away from the viewport
   edge even though its inner padding had already been reduced.
   ===================================================== */
@media (min-width: 1025px) {
  body .ast-primary-header-bar,
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .ast-primary-header-bar,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body [data-elementor-type="header"] .ast-primary-header-bar,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .ast-primary-header-bar .site-logo-img,
  body .ast-primary-header-bar .custom-logo-link,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body .elementor-location-header .site-logo-img,
  body .elementor-location-header .custom-logo-link {
    margin-left: 0 !important;
    padding-left: 0 !important;
    left: auto !important;
    transform: none !important;
  }

  body .pmb-account-slot {
    right: 24px !important;
  }
}

body .pmb-account-slot .pmb-hdr-account,
body .pmb-account-slot .pmb-hdr-login-btn {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  transform: none !important;
}

/* On tablet/mobile the Astra header collapses to a burger menu at 1024px.
   Drop the absolute pin from that width down so the control sits inline,
   never overlaps the logo, and never interferes with the off-canvas menu
   (which must stack its items vertically). */
@media (max-width: 1024px) {
  body .pmb-account-slot {
    position: static !important;
    transform: none !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    margin-left: auto !important;
    z-index: auto !important;
  }

  /*
   * Pali Member v1.1.8 — mobile navigation repair
   *
   * Some header builders keep the desktop flex direction after the burger
   * button is opened.  Scope the repair to the actual mobile/dropdown menu
   * containers so desktop navigation and the member account dropdown are
   * unaffected.
   */
  body .elementor-location-header .elementor-nav-menu--dropdown,
  body [data-elementor-type="header"] .elementor-nav-menu--dropdown,
  body .ast-mobile-header-wrap .ast-mobile-header-content,
  body .ast-mobile-header-wrap .main-header-menu,
  body .ast-header-break-point .main-header-menu {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .elementor-location-header .elementor-nav-menu--dropdown > ul.elementor-nav-menu,
  body [data-elementor-type="header"] .elementor-nav-menu--dropdown > ul.elementor-nav-menu,
  body .ast-mobile-header-wrap ul.main-header-menu,
  body.ast-header-break-point ul.main-header-menu,
  body .ast-header-break-point ul.main-header-menu {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body .elementor-location-header .elementor-nav-menu--dropdown li.menu-item,
  body [data-elementor-type="header"] .elementor-nav-menu--dropdown li.menu-item,
  body .ast-mobile-header-wrap .main-header-menu > li.menu-item,
  body.ast-header-break-point .main-header-menu > li.menu-item,
  body .ast-header-break-point .main-header-menu > li.menu-item {
    display: block !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body .elementor-location-header .elementor-nav-menu--dropdown li.menu-item > a,
  body [data-elementor-type="header"] .elementor-nav-menu--dropdown li.menu-item > a,
  body .ast-mobile-header-wrap .main-header-menu li.menu-item > a,
  body.ast-header-break-point .main-header-menu li.menu-item > a,
  body .ast-header-break-point .main-header-menu li.menu-item > a {
    display: flex !important;
    width: 100% !important;
    white-space: normal !important;
  }

  /* Submenus also stack below their parent instead of forming another row. */
  body .elementor-location-header .elementor-nav-menu--dropdown ul.sub-menu,
  body [data-elementor-type="header"] .elementor-nav-menu--dropdown ul.sub-menu,
  body .ast-mobile-header-wrap .main-header-menu ul.sub-menu,
  body.ast-header-break-point .main-header-menu ul.sub-menu,
  body .ast-header-break-point .main-header-menu ul.sub-menu {
    position: static !important;
    float: none !important;
    width: 100% !important;
  }
}

/* =====================================================
   Pali Member v1.1.9 — compact account control on phones
   Keep the member button inside narrow headers without
   changing the desktop or tablet layout.
   ===================================================== */
@media (max-width: 480px) {
  body .pmb-hdr-account {
    max-width: min(112px, 33vw) !important;
    margin-right: 8px !important;
    transform: translateX(-4px) !important;
  }

  body .pmb-hdr-account-btn,
  body button.pmb-hdr-account-btn {
    width: 100% !important;
    max-width: 112px !important;
    min-width: 0 !important;
    gap: 5px !important;
    padding: 5px 7px 5px 5px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body .pmb-hdr-account-btn .pmb-hdr-avatar {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    font-size: 12px !important;
  }

  body .pmb-hdr-account-btn .pmb-hdr-name {
    min-width: 0 !important;
    max-width: 62px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .pmb-hdr-account-btn > svg {
    width: 11px !important;
    height: 11px !important;
    flex: 0 0 11px !important;
  }

  body .pmb-hdr-login-btn {
    margin-right: 8px !important;
    transform: translateX(-4px) !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  body .pmb-hdr-login-btn > svg {
    width: 13px !important;
    height: 13px !important;
    margin-right: 4px !important;
  }

  body .pmb-hdr-dropdown {
    right: 0 !important;
    min-width: 180px !important;
    max-width: calc(100vw - 24px) !important;
  }
}
/* =====================================================
   Pali Member v1.1.23 — compact intermediate desktop header
   Prevent the Login control from covering the last menu item and
   remove the oversized logo-to-menu gap on 1025–1366px screens.
   ===================================================== */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .ast-primary-header-bar .site-primary-header-wrap {
    column-gap: 8px !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center {
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }

  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
    column-gap: 8px !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    margin-left: 8px !important;
    padding-right: 0 !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  body .pmb-account-slot {
    right: 12px !important;
    max-width: 104px !important;
  }

  body .pmb-account-slot .pmb-hdr-login-btn {
    max-width: 104px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body .pmb-account-slot .pmb-hdr-login-btn > svg {
    width: 14px !important;
    height: 14px !important;
    margin-right: 4px !important;
  }

  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    margin-right: clamp(20px, 3vw, 42px) !important;
  }
}
/* Pali Member v1.1.26 — restore a comfortable left logo inset.
   Visually move the Astra logo toward the left by the same inset used
   for the account control on the right, without changing menu flow. */
@media (min-width: 1601px) {
  body .ast-primary-header-bar .site-branding,
  body .elementor-location-header .site-branding,
  body [data-elementor-type="header"] .site-branding {
    transform: none !important;
  }
}

/* v1.1.28 final edge-spacing override — must remain last. */
@media (min-width: 1025px) {
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    margin-left: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
  }

  body .pmb-account-slot {
    right: 24px !important;
    margin-right: 0 !important;
  }

  body .pmb-account-slot .pmb-hdr-account,
  body .pmb-account-slot .pmb-hdr-login-btn,
  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    margin-right: 0 !important;
  }
}

/* v1.1.30 final logo position override — keep this rule last. */
@media (min-width: 1025px) {
  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    transform: translateX(-40px) !important;
  }
}

/* =====================================================
   Pali Member v1.1.33 — safely widen the menu on both sides.
   Transform does not add page width. The 36px gained from link padding
   is split visually: 18px toward the logo and 18px toward Login.
   ===================================================== */
@media (min-width: 1400px) {
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .elementor-location-header .main-header-bar-navigation,
  body [data-elementor-type="header"] .main-header-bar-navigation {
    margin-left: 0 !important;
    transform: translateX(-18px) !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.34 — wider spacing inside every menu item.
   Increase only link padding; do not enlarge the page/header width.
   Half of the added total width is offset to the left so both ends
   grow evenly toward the logo and Login button.
   ===================================================== */
@media (min-width: 1400px) {
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .elementor-location-header .main-header-bar-navigation,
  body [data-elementor-type="header"] .main-header-bar-navigation {
    margin-left: 0 !important;
    transform: translateX(-36px) !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.35 — move the full logo grid cell and widen menu again.
   Targeting the complete left header section prevents theme rules on the
   inner logo element from cancelling the visual offset.
   ===================================================== */
@media (min-width: 1400px) {
  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left {
    transform: translateX(-40px) !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .elementor-location-header .main-header-bar-navigation,
  body [data-elementor-type="header"] .main-header-bar-navigation {
    margin-left: 0 !important;
    transform: translateX(-72px) !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 22px !important;
    padding-right: 22px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.36 — final desktop menu-size lock.
   Keep this rule last so Astra/Elementor cannot reduce labels again.
   ===================================================== */
@media (min-width: 1400px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 22px !important;
    padding-right: 22px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1025px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
}

/* =====================================================
   Pali Member v1.1.38 — responsive 1280 / 1366 / 1440 header.
   1.5cm is approximately 56.7 CSS pixels on a standard display.
   Keep both header edges balanced and scale menu typography/spacing
   by viewport width so the account control never covers navigation.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1499px) {
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 57px !important;
    padding-right: 57px !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left,
  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    transform: none !important;
    margin-left: 0 !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    transform: none !important;
    margin-left: 8px !important;
    margin-right: 58px !important;
    padding-right: 0 !important;
  }

  body .pmb-account-slot {
    right: 57px !important;
    width: 42px !important;
    max-width: 42px !important;
  }

  body .pmb-account-slot .pmb-hdr-name,
  body .pmb-account-slot .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }

  body .pmb-account-slot .pmb-hdr-account-btn,
  body .pmb-account-slot .pmb-hdr-login-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    justify-content: center !important;
  }
}

/* 1280px class */
@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 3px !important;
    padding-right: 3px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }
}

/* 1366px class */
@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* 1440px class */
@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.51 - mobile hamburger menu levels
   ===================================================== */
@media (max-width: 1024px) {
  /* Level 1 */
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item > a,
  body .ast-mobile-header-wrap ul.main-header-menu > li.menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li.menu-item > a,
  body .ast-header-break-point ul.main-header-menu > li.menu-item > a {
    min-height: 48px !important;
    padding: 10px 18px !important;
    background: #FFFFFF !important;
    color: #000000 !important;
    line-height: 1.35 !important;
  }

  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item > a:hover,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item > a:focus,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.current-menu-item > a,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.current-menu-ancestor > a,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li.menu-item > a.elementor-item-active,
  body .ast-mobile-header-wrap ul.main-header-menu > li.menu-item > a:hover,
  body .ast-mobile-header-wrap ul.main-header-menu > li.menu-item > a:focus,
  body .ast-mobile-header-wrap ul.main-header-menu > li.current-menu-item > a,
  body .ast-mobile-header-wrap ul.main-header-menu > li.current-menu-ancestor > a,
  body.ast-header-break-point ul.main-header-menu > li.menu-item > a:hover,
  body.ast-header-break-point ul.main-header-menu > li.menu-item > a:focus,
  body.ast-header-break-point ul.main-header-menu > li.current-menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li.current-menu-ancestor > a {
    background: #580095 !important;
    color: #FFFFFF !important;
  }

  /* Level 2 */
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.menu-item > a,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li.menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.menu-item > a,
  body .ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.menu-item > a {
    min-height: 42px !important;
    padding: 8px 18px 8px 34px !important;
    background: #9575CD !important;
    color: #000000 !important;
    line-height: 1.3 !important;
  }

  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.current-menu-item > a,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.current-menu-ancestor > a,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li.menu-item > a.elementor-item-active,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li.current-menu-item > a,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li.current-menu-ancestor > a,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.current-menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li.current-menu-ancestor > a {
    background: #983DE0 !important;
    color: #FFFFFF !important;
  }

  /* Level 3 */
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a,
  body .ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a {
    min-height: 38px !important;
    padding: 7px 18px 7px 52px !important;
    background: #F2CFEE !important;
    color: #000000 !important;
    line-height: 1.25 !important;
  }

  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li.current-menu-item > a,
  body .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a.elementor-item-active,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body .ast-mobile-header-wrap ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.current-menu-item > a,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:hover,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.menu-item > a:focus,
  body.ast-header-break-point ul.main-header-menu > li > ul.sub-menu > li > ul.sub-menu > li.current-menu-item > a {
    background: #F8B4EB !important;
    color: #000000 !important;
  }

  body .elementor-nav-menu--dropdown a .sub-arrow,
  body .ast-mobile-header-wrap .main-header-menu a .ast-header-navigation-arrow,
  body.ast-header-break-point .main-header-menu a .ast-header-navigation-arrow {
    margin-left: auto !important;
    color: inherit !important;
  }
}

/* v1.1.39 — keep Login/account in the native header row through 1440px. */
@media (min-width: 1200px) and (max-width: 1499px) {
  body .pmb-account-slot {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }

  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex: 0 0 42px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name,
  body .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }

  body .pmb-hdr-account-btn,
  body .pmb-hdr-login-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    justify-content: center !important;
  }
}

/* =====================================================
   Pali Member v1.1.37 — balanced header and collision guard.
   - Bring the clipped logo slightly inward from the left edge.
   - Enlarge desktop menu labels without the old negative offsets.
   - Reserve a real clear zone for the floating Login/account control.
   ===================================================== */
@media (min-width: 1400px) {
  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left {
    transform: translateX(14px) !important;
  }

  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    transform: none !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    transform: none !important;
    margin-left: 12px !important;
    margin-right: 176px !important;
    padding-right: 0 !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  body .pmb-account-slot {
    right: 28px !important;
    max-width: 148px !important;
  }

  body .pmb-account-slot .pmb-hdr-account-btn,
  body .pmb-account-slot .pmb-hdr-login-btn {
    max-width: 148px !important;
  }

  body .pmb-account-slot .pmb-hdr-name {
    display: block !important;
    max-width: 78px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* Intermediate desktop widths have less room than the complete menu needs.
   Keep the menu readable and show the member control as a compact icon so it
   can never cover the last navigation item. */
@media (min-width: 1025px) and (max-width: 1399px) {
  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left {
    transform: translateX(10px) !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .elementor-location-header .main-header-bar-navigation,
  body [data-elementor-type="header"] .main-header-bar-navigation {
    transform: none !important;
    margin-left: 8px !important;
  }

  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 16px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name,
  body .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }
}

/* v1.1.38 final cascade lock — keep last. */
@media (min-width: 1200px) and (max-width: 1499px) {
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 57px !important;
    padding-right: 57px !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left {
    transform: none !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    transform: none !important;
    margin-left: 8px !important;
    margin-right: 58px !important;
    padding-right: 0 !important;
  }

  body .pmb-account-slot {
    right: 57px !important;
    width: 42px !important;
    max-width: 42px !important;
  }

  body .pmb-account-slot .pmb-hdr-name,
  body .pmb-account-slot .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }

  body .pmb-account-slot .pmb-hdr-account-btn,
  body .pmb-account-slot .pmb-hdr-login-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    justify-content: center !important;
  }
}

@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 3px !important;
    padding-right: 3px !important;
    font-size: 13px !important;
  }
}

@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 14px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 15px !important;
  }
}

/* v1.1.39 final Login row lock — keep this at the end of the stylesheet. */
@media (min-width: 1200px) and (max-width: 1499px) {
  body .pmb-account-slot {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex: 0 0 42px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name,
  body .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }

  body .pmb-hdr-account-btn,
  body .pmb-hdr-login-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    justify-content: center !important;
  }
}

/* =====================================================
   Pali Member v1.1.40 — fix 1280/1366/1440 header overflow.

   Root cause: v1.1.38 set `width:100% + padding-left/right:57px` on the
   header containers. On containers that resolve to content-box sizing the
   total width becomes 100vw + 114px, so the whole header row overflows to
   the right: the logo is pushed inward from the left edge and the in-flow
   Login control (last item in the nav row) is pushed past the right edge
   of the viewport.

   Fix:
   1) Force border-box on every header container so padding can never
      add to the 100% width.
   2) Reduce the edge padding 57px -> 28px and drop the old 58px
      right-margin "reserved zone" (Login sits in normal flow at these
      widths, it does not float, so no zone is needed).
   3) Let the grid/flex cells shrink (min-width:0) so nothing can force
      horizontal overflow.
   4) Give the freed space back to the menu: larger labels per width
      class (1280 -> 14px, 1366 -> 15px, 1440 -> 16px).
   5) Keep the Login/account control compact (42px icon) and guarantee
      it stays visible at the right end of the row.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1499px) {
  /* 1) sizing guard + 2) balanced edge padding */
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  body .ast-primary-header-bar,
  body .elementor-location-header,
  body [data-elementor-type="header"] {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  /* logo: pinned to the padded left edge, never translated */
  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left,
  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    transform: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    flex: 0 0 auto !important;
  }

  /* 3) cells may shrink; the row itself never wraps */
  body .ast-primary-header-bar .ast-builder-grid-row > *,
  body .elementor-location-header .elementor-container > *,
  body [data-elementor-type="header"] .elementor-container > * {
    min-width: 0 !important;
  }

  /* nav: drop the old reserved zone, keep a small breathing gap */
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    transform: none !important;
    margin-left: 10px !important;
    margin-right: 12px !important;
    padding-right: 0 !important;
    min-width: 0 !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    flex-wrap: nowrap !important;
  }

  /* 5) Login/account: compact icon, in-flow, always visible on the right */
  body .pmb-account-slot {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none !important;
  }

  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex: 0 0 42px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name,
  body .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: none !important;
  }

  body .pmb-hdr-account-btn,
  body .pmb-hdr-login-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    justify-content: center !important;
  }
}

/* 4) larger menu labels per width class — keep after the block above */
@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.41 — restore the full account pill and stop the
   menu from overlapping the logo at 1280/1366/1440.

   Problems introduced by v1.1.40:
   1) The account control was collapsed to a 42px icon; the client wants
      the complete pill (avatar + truncated name + caret) at every
      desktop width.
   2) With the overflow fixed, the header grid still lets the nowrap
      menu bleed left over the site branding on some widths.

   Fix: turn the primary header row into an explicit flexbox — logo
   fixed at the left, nav flexible in the middle (it may shrink, never
   overlap), account pill fixed at the right — and re-enable the pill's
   name/caret with ellipsis truncation like the wide-desktop layout.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1499px) {
  /* --- explicit flex row: [logo][nav grows/shrinks][pill] --- */
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .ast-primary-header-bar .site-primary-header-wrap > .ast-builder-grid-row,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .elementor-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    column-gap: 14px !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-left,
  body .elementor-location-header .site-header-primary-section-left,
  body [data-elementor-type="header"] .site-header-primary-section-left {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    transform: none !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center,
  body [data-elementor-type="header"] .site-header-primary-section-center {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
  }

  body .ast-primary-header-bar .site-header-primary-section-right,
  body .elementor-location-header .site-header-primary-section-right,
  body [data-elementor-type="header"] .site-header-primary-section-right {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    margin-left: 0 !important;
  }

  /* branding never shrinks or slides under the nav */
  body .ast-primary-header-bar .site-branding,
  body .ast-primary-header-bar .ast-site-identity,
  body .elementor-location-header .site-branding,
  body .elementor-location-header .ast-site-identity,
  body [data-elementor-type="header"] .site-branding,
  body [data-elementor-type="header"] .ast-site-identity {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    transform: none !important;
    margin: 0 !important;
  }

  /* nav sits after the logo inside the flex row; may shrink, never
     translated, never overlapping */
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
  }

  /* --- restore the full pill: avatar + name (ellipsis) + caret --- */
  body .pmb-hdr-account,
  body .pmb-hdr-login-btn {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  body .pmb-hdr-account-btn,
  body button.pmb-hdr-account-btn,
  body .pmb-hdr-login-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: 168px !important;
    padding: 6px 12px 6px 7px !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    white-space: nowrap !important;
  }

  body .pmb-hdr-login-btn {
    padding: 8px 14px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name,
  body .pmb-hdr-login-btn span:not(.screen-reader-text) {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 84px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
  }

  body .pmb-hdr-account-btn > svg {
    display: inline-block !important;
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
  }

  body .pmb-hdr-account-btn .pmb-hdr-avatar {
    display: inline-flex !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    font-size: 13px !important;
  }

  body .pmb-hdr-dropdown {
    right: 0 !important;
    left: auto !important;
    min-width: 190px !important;
  }
}

/* menu label sizes tuned for the full pill (~150px wider than an icon).
   Still larger than the pre-1.1.40 sizes at 1366/1440. Keep last. */
@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 15.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.42 — make the whole menu fit at the 1280 class.

   At 1200–1329px the nav row was wider than its flex cell; with the
   cell clipped (overflow:hidden) and the menu right-aligned, the FIRST
   items (หน้าแรก, วิธีการเรียน) were cut off on the left.

   Fix: shrink every consumer of horizontal space in this range just
   enough for all nine items to fit — edge padding, cell gaps, site
   title, menu label size/padding, and a slightly more compact pill.
   No clipping tricks; the row simply fits.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1329px) {
  /* tighter edges + gaps */
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .ast-primary-header-bar .ast-builder-grid-row,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .elementor-container {
    column-gap: 10px !important;
  }

  /* slightly smaller branding (site title text + logo image) */
  body .ast-primary-header-bar .site-title,
  body .elementor-location-header .site-title,
  body [data-elementor-type="header"] .site-title {
    font-size: 21px !important;
    line-height: 1.2 !important;
  }

  body .ast-primary-header-bar .site-branding img,
  body .ast-primary-header-bar .custom-logo,
  body .elementor-location-header .site-branding img,
  body [data-elementor-type="header"] .site-branding img {
    max-height: 52px !important;
    width: auto !important;
  }

  /* compact menu labels — every item must fit on one row */
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 2px !important;
    padding-right: 2px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    column-gap: 2px !important;
  }

  /* dropdown caret icons: trim their reserved width a little */
  body .main-header-menu > li.menu-item .ast-header-navigation-arrow,
  body .main-header-menu > li.menu-item > a .sub-arrow,
  body .main-header-menu > li.menu-item > a svg {
    margin-left: 1px !important;
  }

  /* compact (but still complete) pill: avatar + name + caret */
  body .pmb-hdr-account-btn,
  body button.pmb-hdr-account-btn {
    max-width: 142px !important;
    padding: 5px 10px 5px 6px !important;
    gap: 6px !important;
    font-size: 12.5px !important;
  }

  body .pmb-hdr-account-btn .pmb-hdr-avatar {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    font-size: 12px !important;
  }

  body .pmb-hdr-account .pmb-hdr-name {
    max-width: 66px !important;
  }

  body .pmb-hdr-login-btn {
    padding: 7px 11px !important;
    font-size: 12.5px !important;
  }

  /* safety: if a translation/extra item still makes the row 1–2px too
     wide, clip on the RIGHT side of the nav cell (menu left-aligned)
     so the first items can never disappear again */
  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center,
  body [data-elementor-type="header"] .site-header-primary-section-center {
    justify-content: flex-start !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    justify-content: flex-start !important;
  }
}

/* =====================================================
   Pali Member v1.1.43 — spread the 1280-class menu across the full
   row so it reaches the account pill instead of leaving a dead gap
   after ติดต่อเรา.

   The nine items now fit comfortably (v1.1.42), so give the leftover
   width back to the menu: the nav cell keeps its flexible width and
   the menu distributes its items evenly across it (space-between),
   with slightly larger labels since there is room again.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center,
  body [data-elementor-type="header"] .site-header-primary-section-center {
    justify-content: stretch !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    width: 100% !important;
    justify-content: space-between !important;
    column-gap: 0 !important;
  }

  /* room is back — labels a touch larger than the v1.1.42 floor */
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 3px !important;
    padding-right: 3px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.44 — 1280 class: right-aligned, larger menu.

   Client feedback on v1.1.43: the evenly-spread menu reads too small
   and should sit toward the right, next to the account pill.

   Measured slack at 1280px with 12.5px labels was ~145px, which is
   enough to raise labels to 14px (+~120px total). Align the whole
   menu to the right with a small fixed gap before the pill; the gap
   grows after the logo instead.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1329px) {
  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center,
  body [data-elementor-type="header"] .site-header-primary-section-center {
    justify-content: flex-end !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    width: auto !important;
    flex: 0 1 auto !important;
    margin-left: auto !important;
    margin-right: 10px !important;
  }

  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    width: auto !important;
    justify-content: flex-end !important;
    column-gap: 0 !important;
  }

  /* larger labels: 12.5px -> 14px */
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 3px !important;
    padding-right: 3px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.45 — restore dropdown submenus at 1200–1499px.

   Root cause: v1.1.41 put `overflow: hidden` on the nav's flex cell
   (.site-header-primary-section-center) to stop the menu bleeding over
   the logo, and v1.1.40 added `overflow-x: clip` on the header roots.
   Submenus are absolutely-positioned children that hang BELOW the
   header row, so the hidden/clip boxes cut them off entirely — hover
   ran, but the panel was invisible.

   The row now genuinely fits (v1.1.42–44 sizing), so the clipping
   guards are no longer needed. Return every header container to
   overflow: visible and make sure submenu panels can escape the row.

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1200px) and (max-width: 1499px) {
  body .ast-primary-header-bar,
  body .elementor-location-header,
  body [data-elementor-type="header"] {
    overflow: visible !important;
    overflow-x: visible !important;
  }

  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container,
  body .ast-primary-header-bar .site-header-primary-section-center,
  body .elementor-location-header .site-header-primary-section-center,
  body [data-elementor-type="header"] .site-header-primary-section-center,
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment,
  body .ast-primary-header-bar .main-header-bar,
  body .ast-primary-header-bar .main-header-menu,
  body .elementor-location-header .main-header-menu,
  body [data-elementor-type="header"] .main-header-menu {
    overflow: visible !important;
  }

  /* submenu panels: on top of everything, never squeezed by the row's
     flex sizing, positioned under their parent item as usual */
  body .main-header-menu > li.menu-item {
    position: relative !important;
  }

  body .main-header-menu .sub-menu,
  body .main-header-menu ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 99999 !important;
    min-width: 220px !important;
    overflow: visible !important;
  }

  body .main-header-menu .sub-menu .sub-menu {
    top: 0 !important;
    left: 100% !important;
  }

  /* items near the right edge: open their panel leftward so it stays
     on-screen (last two top-level items) */
  body .main-header-menu > li.menu-item:nth-last-child(-n+2) > .sub-menu {
    left: auto !important;
    right: 0 !important;
  }

  /* submenu labels keep a readable size, independent of the compact
     top-row sizing */
  body .main-header-menu .sub-menu a {
    font-size: 14.5px !important;
    padding: 9px 16px !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.46 — make the 1366/1440 classes genuinely fit.

   With clipping removed (v1.1.45, required for submenus) the nowrap
   menu row must be narrower than its cell, or it bleeds left over the
   branding. At 1400–1499px the row measured ~100–130px too wide with
   15.5px labels + 8px paddings.

   Budget per width class (viewport − 2×28 edge − branding − pill −
   gaps), and size labels to fit INSIDE it with slack:
     1400–1499  ->  14px labels, 5px padding   (~40px slack at 1400)
     1330–1399  ->  13.5px labels, 4px padding
   Branding also gives back a little (logo ≤56px, title ≤22px).

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1330px) and (max-width: 1499px) {
  /* slightly smaller branding frees ~30px */
  body .ast-primary-header-bar .site-title,
  body .elementor-location-header .site-title,
  body [data-elementor-type="header"] .site-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  body .ast-primary-header-bar .site-branding img,
  body .ast-primary-header-bar .custom-logo,
  body .elementor-location-header .site-branding img,
  body [data-elementor-type="header"] .site-branding img {
    max-height: 56px !important;
    width: auto !important;
  }

  /* keep the menu right-aligned toward the pill, small fixed gap */
  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    margin-left: auto !important;
    margin-right: 10px !important;
    flex: 0 1 auto !important;
    width: auto !important;
  }
}

@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

/* =====================================================
   Pali Member v1.1.47 — larger menu labels, funded only by reclaimed
   edge padding and existing slack. Branding and pill untouched.

   Space gained per side at 1330–1499px: edge padding 28 -> 20 (+16px
   total) and nav-to-pill gap 10 -> 8 (+2px). Plus the ~40–60px of
   deliberate slack left by v1.1.46. Spent on labels:
     1400–1499  ->  15px  (+1px)
     1330–1399  ->  14.5px (+1px)
     1200–1329  ->  14px  (unchanged — that class has no slack to spend)

   Keep this entire block at the very end of the stylesheet.
   ===================================================== */
@media (min-width: 1330px) and (max-width: 1499px) {
  body .ast-primary-header-bar .site-primary-header-wrap,
  body .ast-primary-header-bar .ast-container,
  body .ast-primary-header-bar .ast-builder-grid-row,
  body .elementor-location-header .site-primary-header-wrap,
  body .elementor-location-header .ast-container,
  body .elementor-location-header .elementor-container,
  body [data-elementor-type="header"] .site-primary-header-wrap,
  body [data-elementor-type="header"] .ast-container,
  body [data-elementor-type="header"] .elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body .ast-primary-header-bar .main-header-bar-navigation,
  body .ast-primary-header-bar .ast-main-header-bar-alignment,
  body .elementor-location-header .main-header-bar-navigation,
  body .elementor-location-header .ast-main-header-bar-alignment,
  body [data-elementor-type="header"] .main-header-bar-navigation,
  body [data-elementor-type="header"] .ast-main-header-bar-alignment {
    margin-right: 8px !important;
  }
}

@media (min-width: 1330px) and (max-width: 1399px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  body .ast-primary-header-bar .main-header-menu > li.menu-item > a,
  body .elementor-location-header .main-header-menu > li.menu-item > a,
  body [data-elementor-type="header"] .main-header-menu > li.menu-item > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
}
