/* GALTSIDI two-price switcher. Scoped; does not alter WordPress theme. */
.glt-price-switcher {
  --gs-ink:#123c50; --gs-tint:#eef7f9; --gs-turquoise:#0e8fa5;
  --gs-stroke:#dceaf0;
  isolation:isolate; width:100%; font:inherit; color:var(--gs-ink);
}
.glt-price-switcher,.glt-price-switcher * { box-sizing:border-box; }
.glt-price-switcher [hidden] { display:none !important; }
.glt-price-switcher > .glt-price-switcher-heading,
.glt-price-switcher > .glt-switcher-tabs { width:min(100%,1280px); margin-inline:auto; }
.glt-price-switcher-heading {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:0 0 9px; padding:0 4px;
}
.glt-switcher-heading-text { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; }
.glt-switcher-eyebrow {
  font-size:10px; font-weight:800; letter-spacing:.12em; color:#1d99a6;
}
.glt-switcher-heading-text > strong {
  font-size:16px; font-weight:800; letter-spacing:-.025em; color:#163d50;
}
.glt-switcher-caption { color:#8296a0; font-size:12px; font-weight:500; }
.glt-switcher-tabs {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  padding:8px; border:1px solid #daeaf0; border-radius:20px;
  background:#f1f8fa; box-shadow:0 9px 26px rgba(19,78,101,.055);
  margin-bottom:20px;
}
.glt-price-switcher .glt-switcher-tab {
  width:100%; border:1px solid transparent; border-radius:14px;
  display:flex; align-items:center; text-align:left; gap:13px;
  padding:10px 14px; min-height:72px;
  text-decoration:none !important;
  background:transparent; color:#325c6c !important;
  font:inherit; cursor:pointer; box-shadow:none; text-transform:none;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.glt-price-switcher .glt-switcher-tab:hover { background:#fff; border-color:#bfe3e7; transform:translateY(-1px); }
.glt-price-switcher .glt-switcher-tab:focus-visible { outline:3px solid #40aabd; outline-offset:3px; }
.glt-price-switcher .glt-switcher-tab.is-current {
  background:linear-gradient(110deg,#0e7790,#0da1aa);
  border-color:#0c8698; color:white !important;
  box-shadow:0 10px 22px rgba(8,113,137,.18);
}
.glt-switcher-icon {
  display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px;
  border:1px solid #cfe4e9; border-radius:13px; background:#fff; color:#0c8e9c;
}
.glt-switcher-tab.is-current .glt-switcher-icon {
  border-color:rgba(255,255,255,.23); color:white; background:rgba(255,255,255,.15);
}
.glt-switcher-tab-info { min-width:0; display:flex; flex-direction:column; gap:3px; line-height:1.25; }
.glt-switcher-tab-info strong { font:inherit; font-size:17px; line-height:1.24; font-weight:800; color:inherit; }
.glt-switcher-tab-info small { font:inherit; font-size:12px; font-weight:500; color:inherit; opacity:.72; }
.glt-switcher-tab.is-current .glt-switcher-tab-info small { opacity:.88; }
.glt-switcher-end {
  display:grid;place-items:center;margin-left:auto;flex:0 0 25px;
  width:25px;height:25px;background:rgba(255,255,255,.2);border-radius:50%;
  font-size:14px;font-weight:800;opacity:0;
}
.glt-switcher-tab.is-current .glt-switcher-end { opacity:1; }
.glt-switcher-arrow { margin-left:auto; font-size:22px; font-weight:650; color:#0d8c9c; }
.glt-switcher-external:hover .glt-switcher-arrow { transform:translate(2px,-2px); }
.glt-switcher-panels > .glt-switcher-panel { min-width:0; }
@media(max-width:767px) {
  .glt-price-switcher-heading { margin-bottom:8px; padding-inline:2px; }
  .glt-switcher-eyebrow { display:none; }
  .glt-switcher-heading-text > strong { font-size:14px; }
  .glt-switcher-caption { font-size:10px; line-height:1.3; max-width:145px; text-align:right; }
  .glt-switcher-tabs { gap:6px; padding:5px; border-radius:16px; margin-bottom:13px; }
  .glt-price-switcher .glt-switcher-tab { gap:8px; padding:9px 8px; min-height:61px; border-radius:12px; }
  .glt-switcher-icon { flex-basis:36px; width:36px; height:36px; border-radius:10px; }
  .glt-switcher-icon svg { width:21px; height:21px; }
  .glt-switcher-tab-info strong { font-size:15px; }
  .glt-switcher-tab-info small { font-size:10px; line-height:1.35; }
  .glt-switcher-end { display:none; }
  .glt-switcher-arrow { font-size:18px; }
  /* Keep the prominent search from v2.3 above the fold even with two tabs. */
  .glt-price-switcher .glt-instance .glt-hero { padding-top:23px; padding-bottom:43px; }
  .glt-price-switcher .glt-instance .glt-hero h2 { margin-top:12px; margin-bottom:11px; }
  .glt-price-switcher .glt-instance .glt-hero-facts { margin-top:12px; }
  .glt-price-switcher .glt-instance .glt-hero-copy > p { display:none; }
}
@media(max-width:360px) {
  .glt-price-switcher .glt-switcher-tab { gap:6px; padding:7px 6px; }
  .glt-switcher-icon { flex-basis:32px; width:32px; height:32px; }
  .glt-switcher-tab-info small { font-size:9px; }
  .glt-switcher-tab-info strong { font-size:14px; }
  .glt-switcher-caption { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .glt-switcher-tab { transition:none !important; }
}

/* Setup state: second tab stays in-page even before the service catalog is published. */
.glt-switcher-empty {
  margin:18px auto 32px; max-width:1280px; padding:46px 26px;
  border:1px solid #d9ebef; border-radius:22px;
  background:linear-gradient(135deg,#f1fafb 0%,#fff 100%);
  text-align:center; color:#31576a;
}
.glt-switcher-empty > span { display:inline-grid; place-items:center; width:56px; height:56px; border-radius:16px; background:#dff3f4; color:#0e8e9b; font-size:30px; margin-bottom:12px; }
.glt-switcher-empty h3 { margin:0 0 10px; font-size:23px; font-weight:800; color:#143e51; }
.glt-switcher-empty p { margin:0 auto; max-width:540px; font-size:15px; line-height:1.65; }
.glt-switcher-empty .glt-switcher-admin-hint { margin-top:15px; font-size:13px; color:#6f8792; }
.glt-raw-mount { min-height:90px; display:block; }
.glt-raw-mount > .glt-loading { display:flex; align-items:center; gap:12px; border-radius:16px; padding:22px 26px; background:#f2fafb; border:1px solid #d8ebef; color:#186175; font-size:15px; }
.glt-loading-spinner { display:inline-block; width:18px; height:18px; border-radius:50%; border:3px solid #c5e7e9; border-top-color:#078fa1; animation:glt-spin .8s linear infinite; }
@keyframes glt-spin { to {transform:rotate(360deg)} }
.glt-raw-error { border:1px solid #e8dad8; background:#fff9f7; color:#754c44; border-radius:14px; padding:20px; }
.glt-raw-retry { margin-left:12px; border:0; border-radius:9px; padding:9px 14px; background:#067c8a; color:white; font-weight:700; cursor:pointer; }
@media (prefers-reduced-motion:reduce) { .glt-loading-spinner { animation:none; } }
