
/* =========================
   Sonoworld Palette Lock v1
   (Same as Abdominal page)
   ========================= */
.sv-page{
  --sv-ink:#0f172a;
  --sv-muted:#475569;
  --sv-soft:#f3f7ff;
  --sv-soft2:#eef5ff;
  --sv-card:#ffffff;
  --sv-line:#e2e8f0;
  --sv-blue:#3269ac;
  --sv-blue2:#5694cd;
  --sv-blue3:#103160;

  color:var(--sv-ink);
  position:relative;
  width:100%;
  max-width:100%;
  border-radius:18px;

  overflow:visible;
  isolation:isolate;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  scroll-behavior:smooth;

  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.sv-page::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background:linear-gradient(180deg, var(--sv-soft) 0%, #ffffff 38%, #ffffff 100%);
  z-index:-1;
}
.sv-page *{ box-sizing:border-box; }
.sv-page img{ max-width:100%; height:auto; display:block; }

.sv-wrap{ max-width:1120px; margin:0 auto; padding:0 18px; width:100%; }
.sv-section{ padding:56px 0; }
.sv-section.sv-tint{ background:linear-gradient(180deg, var(--sv-soft2), #ffffff); }
.sv-section[id]{ scroll-margin-top:72px; }

.sv-kicker{
  display:inline-flex; gap:10px; align-items:center;
  font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  font-size:12px; color:var(--sv-blue3);
  background:rgba(50,105,172,.10);
  border:1px solid rgba(50,105,172,.18);
  padding:8px 12px; border-radius:999px;
}
.sv-kicker svg{ width:16px; height:16px; stroke:currentColor; }

.sv-eyebrow{
  display:inline-block;
  font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  font-size:12px; color:var(--sv-blue);
  margin:0 0 8px;
}

.sv-breadcrumbs{
  font-size:13px; color:var(--sv-muted);
  margin:10px 0 0;
}
.sv-breadcrumbs a{ color:var(--sv-blue); text-decoration:none; font-weight:800; }
.sv-breadcrumbs a:hover{ text-decoration:underline; }

.sv-h1{
  margin:12px 0 10px;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.sv-lede{
  font-size: clamp(16px, 1.4vw, 18px);
  line-height:1.6;
  color:var(--sv-muted);
  margin:0 0 16px;
}
.sv-lede-experience{
  font-size: 15px;
  line-height:1.6;
  font-style: italic;
  color:var(--sv-blue3);
  margin: -4px 0 16px;
  border-left: 3px solid var(--sv-blue2);
  padding-left: 14px;
}

.sv-cta-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:14px; }
.sv-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  font-weight:900;
  font-size:14px;
  text-decoration:none;
  border:1px solid transparent;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  will-change: transform;
}
.sv-btn:hover{ transform: translateY(-1px); }
.sv-btn:active{ transform: translateY(0px); }
.sv-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--sv-blue), var(--sv-blue2));
  box-shadow:0 14px 28px rgba(50,105,172,.18);
}
.sv-btn-primary:hover{ box-shadow:0 18px 34px rgba(50,105,172,.22); }
.sv-btn-ghost{
  color:var(--sv-blue);
  background:#fff;
  border-color: rgba(50,105,172,.25);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.sv-btn-ghost:hover{ border-color: rgba(50,105,172,.38); }
.sv-btn svg{ width:18px; height:18px; stroke:currentColor; }

.sv-btn:focus-visible,
.sv-link:focus-visible,
.sv-pill:focus-visible,
.sv-breadcrumbs a:focus-visible{
  outline:3px solid rgba(86,148,205,.45);
  outline-offset:3px;
  border-radius:14px;
}

.sv-microcopy{
  margin:14px 0 0;
  font-size:13px;
  color:var(--sv-muted);
}
.sv-microcopy a{ color:var(--sv-blue); font-weight:900; text-decoration:none; }
.sv-microcopy a:hover{ text-decoration:underline; }

/* HERO */
.sv-hero{
  position:relative;
  padding:44px 0 34px;
  background:
    radial-gradient(900px 260px at 15% 10%, rgba(86,148,205,.18), transparent 65%),
    radial-gradient(800px 260px at 85% 0%, rgba(50,105,172,.12), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, var(--sv-soft) 100%);
  border-bottom:1px solid var(--sv-line);
  border-top-left-radius:18px;
  border-top-right-radius:18px;
}
.sv-hero .sv-wrap{
  display:grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr);
  gap:22px;
  align-items:stretch;
}
.sv-hero .sv-wrap > *{ min-width:0; }

.sv-trustchips{
  display:flex; flex-wrap:wrap; gap:10px;
  margin:14px 0 18px;
}
.sv-chip{
  display:inline-flex; gap:8px; align-items:center;
  padding:10px 12px;
  border:1px solid var(--sv-line);
  background:#fff;
  border-radius:999px;
  font-size:13px;
  color:var(--sv-ink);
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.sv-chip svg{ width:16px; height:16px; stroke:var(--sv-blue); }

.sv-hero-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sv-line);
  box-shadow:0 18px 40px rgba(15,23,42,.10);
  min-height: 320px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.sv-hero-card .sv-hero-img{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.38) 52%,
      rgba(255,255,255,.12) 100%
    ),
    url('https://sonoworld.co.uk/wp-content/uploads/2022/07/private-pelvic-ultrasound-scan.webp') center/cover no-repeat;
  transform: scale(1.02);
}
.sv-hero-card .sv-hero-overlay{
  position:relative;
  padding:18px;
  display:grid;
  gap:10px;
}
.sv-statgrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.sv-stat{
  border:1px solid var(--sv-line);
  background:rgba(255,255,255,.92);
  border-radius:16px;
  padding:12px;
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}
.sv-stat b{ display:block; font-size:14px; }
.sv-stat span{ display:block; margin-top:4px; font-size:12.5px; color:var(--sv-muted); }

/* Subnav */
.sv-subnav{
  position:sticky;
  top: var(--sv-sticky-top, 0px);
  z-index:9;
  background: rgba(255,255,255,.92);
  border-top:1px solid var(--sv-line);
  border-bottom:1px solid var(--sv-line);
}
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
  .sv-subnav{
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255,255,255,.86);
  }
}
.sv-subnav .sv-wrap{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:10px 18px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.sv-pill{
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:900;
  color:var(--sv-blue3);
  text-decoration:none;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(50,105,172,.20);
  background:rgba(50,105,172,.07);
  transition: background .12s ease, border-color .12s ease;
}
.sv-pill:hover{
  background:rgba(50,105,172,.12);
  border-color: rgba(50,105,172,.30);
}
.sv-pill svg{ width:16px; height:16px; stroke:var(--sv-blue); }

.sv-h2{
  margin:0 0 10px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing:-.015em;
}
.sv-lead2{
  margin:0 0 18px;
  color:var(--sv-muted);
  line-height:1.65;
  font-size:16px;
  max-width: 76ch;
}

/* Cards */
.sv-cards{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}
.sv-card{
  background:var(--sv-card);
  border:1px solid var(--sv-line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
  transition: transform .12s ease, box-shadow .12s ease;
  display:flex;
  flex-direction:column;
  min-height: 220px;
}
.sv-card:hover{ transform: translateY(-2px); box-shadow:0 18px 34px rgba(15,23,42,.09); }
.sv-card .sv-thumb{ height:128px; background: #eaf2ff; position:relative; }
.sv-card .sv-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.sv-card .sv-body{ padding:16px; display:grid; gap:10px; }
.sv-tag{
  display:inline-flex;
  width:fit-content;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--sv-blue3);
  background: rgba(86,148,205,.16);
  border:1px solid rgba(86,148,205,.22);
}
.sv-tag.sv-tag-now{ background: rgba(220,38,38,.10); color:#991b1b; border-color: rgba(220,38,38,.22); }
.sv-tag.sv-tag-soon{ background: rgba(245,158,11,.10); color:#92400e; border-color: rgba(245,158,11,.22); }
.sv-tag.sv-tag-plan{ background: rgba(16,185,129,.10); color:#065f46; border-color: rgba(16,185,129,.22); }

.sv-card h3{ margin:0; font-size:16px; letter-spacing:-.01em; }
.sv-card p{ margin:0; color:var(--sv-muted); font-size:14px; line-height:1.55; }
.sv-card .sv-links{
  margin-top:auto;
  display:flex; flex-wrap:wrap; gap:10px;
  padding:0 16px 16px;
}
.sv-link{
  display:inline-flex; align-items:center; gap:8px;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  color:var(--sv-blue);
}
.sv-link:hover{ text-decoration:underline; }
.sv-link svg{ width:16px; height:16px; stroke:currentColor; }

/* Layout helpers */
.sv-two{
  display:grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap:18px;
  align-items:start;
}
.sv-two > *{ min-width:0; }

.sv-panel{
  background:#fff;
  border:1px solid var(--sv-line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.sv-panel h3{ margin:0 0 10px; font-size:16px; }
.sv-panel + .sv-panel{ margin-top:12px; }
.sv-bullets{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.sv-bullets li{
  display:grid;
  grid-template-columns: 18px 1fr;
  gap:10px;
  align-items:start;
  color:var(--sv-muted);
  line-height:1.55;
  font-size:14px;
}
.sv-bullets svg{ width:18px; height:18px; stroke:var(--sv-blue); margin-top:2px; }

.sv-media{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--sv-line);
  box-shadow:0 18px 40px rgba(15,23,42,.10);
  background:#fff;
}
.sv-media img{ width:100%; height:100%; object-fit:cover; display:block; }

.sv-steps{ display:grid; gap:12px; }
.sv-step{
  display:grid;
  grid-template-columns: 46px 1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid var(--sv-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
.sv-step .sv-num{
  width:46px; height:46px;
  border-radius:16px;
  display:grid; place-items:center;
  font-weight:900;
  color:var(--sv-blue3);
  background:rgba(50,105,172,.12);
  border:1px solid rgba(50,105,172,.18);
}
.sv-step b{ display:block; margin-bottom:4px; }
.sv-step span{ display:block; color:var(--sv-muted); font-size:14px; line-height:1.55; }

.sv-callout{
  border-radius:18px;
  padding:18px;
  border:1px solid rgba(50,105,172,.22);
  background: linear-gradient(135deg, rgba(86,148,205,.18), rgba(50,105,172,.08));
  display:grid;
  gap:10px;
  box-shadow:0 14px 30px rgba(15,23,42,.06);
}
.sv-callout b{ font-size:16px; }
.sv-callout p{ margin:0; color:var(--sv-muted); line-height:1.6; font-size:14px; }

.sv-pricegrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:6px;
}
.sv-price{
  background:#fff;
  border:1px solid var(--sv-line);
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
.sv-price .sv-big{
  font-size:24px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--sv-blue3);
}
.sv-price .sv-small{
  font-size:13px;
  color:var(--sv-muted);
  margin-top:6px;
  line-height:1.45;
}

/* Comparison table — TA vs TV, NHS vs Private */
.sv-comparetable-wrap{
  border-radius:18px;
  overflow-x:auto;
  border:1px solid var(--sv-line);
  background:#fff;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.sv-comparetable{
  width:100%;
  border-collapse: collapse;
  font-size:14px;
  line-height:1.5;
  min-width: 560px;
}
.sv-comparetable thead th{
  background: linear-gradient(135deg, rgba(86,148,205,.16), rgba(50,105,172,.08));
  color:var(--sv-blue3);
  font-weight:900;
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid var(--sv-line);
}
.sv-comparetable tbody th{
  text-align:left;
  font-weight:900;
  padding:12px 16px;
  background: var(--sv-soft);
  color:var(--sv-ink);
  border-bottom:1px solid var(--sv-line);
  width: 28%;
  vertical-align: top;
}
.sv-comparetable tbody td{
  padding:12px 16px;
  color: var(--sv-muted);
  border-bottom:1px solid var(--sv-line);
  vertical-align: top;
}
.sv-comparetable tbody tr:last-child th,
.sv-comparetable tbody tr:last-child td{ border-bottom:none; }

/* Symptom → finding compact table */
.sv-symptable{
  width:100%;
  border-collapse: collapse;
  font-size:14px;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--sv-line);
}
.sv-symptable th, .sv-symptable td{
  padding:11px 14px;
  text-align:left;
  border-bottom:1px solid var(--sv-line);
  color: var(--sv-muted);
}
.sv-symptable th{
  font-weight:900;
  color: var(--sv-ink);
  background: var(--sv-soft);
  width:40%;
}
.sv-symptable tr:last-child th, .sv-symptable tr:last-child td{ border-bottom:none; }

/* Tag-list of additional checks */
.sv-taglist{
  display:flex; flex-wrap:wrap; gap:8px;
  list-style:none; padding:0; margin:6px 0 0;
}
.sv-taglist li{
  font-size:13px;
  font-weight:900;
  color: var(--sv-blue3);
  background:#fff;
  border:1px solid var(--sv-line);
  border-radius:999px;
  padding:7px 12px;
}

/* Practice (non-commodity) block */
.sv-practice{
  border-radius:18px;
  padding:22px;
  border:1px solid rgba(50,105,172,.22);
  background:
    radial-gradient(420px 240px at 0% 0%, rgba(86,148,205,.18), transparent 60%),
    linear-gradient(135deg, #ffffff, rgba(86,148,205,.06));
  box-shadow:0 16px 34px rgba(15,23,42,.07);
  display:grid;
  gap:14px;
}
.sv-practice-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:12px;
}
.sv-practice-card{
  background:#fff;
  border:1px solid var(--sv-line);
  border-radius:14px;
  padding:14px;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.sv-practice-card h4{
  margin:0 0 8px;
  font-size:15px;
  color: var(--sv-blue3);
  letter-spacing:-.01em;
}
.sv-practice-card p{
  margin:0;
  color: var(--sv-muted);
  font-size:14px;
  line-height:1.6;
}
.sv-practice-disclaimer{
  font-size:13px;
  color: var(--sv-muted);
  font-style: italic;
  margin:0;
}

/* Credentials row */
.sv-credentials{
  display:flex; flex-wrap:wrap; gap:10px;
  list-style:none; padding:0; margin:18px 0 0;
}
.sv-credentials li{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--sv-line);
  font-size:13px;
  font-weight:900;
  color: var(--sv-ink);
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.sv-credentials svg{ width:14px; height:14px; stroke:var(--sv-blue); }

/* Reviews */
.sv-reviewgrid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:16px;
  margin-top:16px;
}
.sv-review{
  background:#fff;
  border:1px solid var(--sv-line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.sv-review .sv-reviewtop{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start;
  margin-bottom:10px;
}
.sv-review b{ font-size:15px; }
.sv-stars{ display:inline-flex; gap:2px; color:var(--sv-blue3); font-size:14px; line-height:1; }
.sv-review p{ margin:0; color:var(--sv-muted); line-height:1.65; font-size:14px; }

/* Placeholder warning */
.sv-placeholder{
  border:2px dashed #f59e0b;
  background:#fffbeb;
  border-radius:14px;
  padding:14px 16px;
  font-size:13.5px;
  color:#78350f;
  font-weight:800;
  margin-bottom:14px;
}

/* Footerbar */
.sv-footerbar{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  align-items:center;
  padding:18px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--sv-line);
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
.sv-footerbar b{ display:block; font-size:16px; }
.sv-footerbar span{ display:block; margin-top:6px; color:var(--sv-muted); font-size:14px; line-height:1.55; }

/* FAQ */
details.sv-faq{
  border:1px solid var(--sv-line);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
details.sv-faq + details.sv-faq{ margin-top:12px; }
details.sv-faq summary{
  cursor:pointer;
  font-weight:900;
  color:var(--sv-ink);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
details.sv-faq summary::-webkit-details-marker{ display:none; }
.sv-faq .sv-faq-ico{
  width:28px; height:28px;
  border-radius:10px;
  display:grid; place-items:center;
  background:rgba(50,105,172,.10);
  border:1px solid rgba(50,105,172,.18);
  flex:0 0 auto;
}
.sv-faq .sv-faq-ico svg{ width:16px; height:16px; stroke:var(--sv-blue); }
.sv-faq .sv-faq-a{
  padding-top:10px;
  color:var(--sv-muted);
  line-height:1.65;
  font-size:14px;
}
.sv-faq .sv-faq-a a{ color:var(--sv-blue); font-weight:900; text-decoration:none; }
.sv-faq .sv-faq-a a:hover{ text-decoration:underline; }

/* References */
.sv-refs{
  margin:0; padding:0 0 0 22px;
  color: var(--sv-muted);
  font-size:13.5px;
  line-height:1.65;
}
.sv-refs li + li{ margin-top:10px; }
.sv-refs a{ color: var(--sv-blue); font-weight:900; text-decoration:none; word-break: break-word; }
.sv-refs a:hover{ text-decoration:underline; }

/* Citation superscript link */
.sv-cite{
  font-size: 11px;
  font-weight:900;
  color: var(--sv-blue);
  text-decoration:none;
  vertical-align: super;
  padding: 0 2px;
}
.sv-cite:hover{ text-decoration: underline; }

/* Responsive */
@media (max-width: 980px){
  .sv-hero .sv-wrap{ grid-template-columns: 1fr; }
  .sv-hero-card{ min-height: 260px; }
  .sv-two{ grid-template-columns: 1fr; }
  .sv-footerbar{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .sv-statgrid{ grid-template-columns: 1fr; }
  .sv-pricegrid{ grid-template-columns: 1fr; }
  .sv-cta-row .sv-btn{ width:100%; }
  .sv-comparetable tbody th{ width: 38%; }
}
@media (prefers-reduced-motion: reduce){
  .sv-page{ scroll-behavior:auto; }
  .sv-btn{ transition:none; }
  .sv-btn:hover{ transform:none; }
}





/* sv-* hero layout fix 2026-07-12-v2 */

/* When breadcrumbs sit as a direct child of .sv-wrap, force them to span all columns */
.sv-hero .sv-wrap > .sv-breadcrumbs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* When .sv-hero-inner sits as a direct child of .sv-wrap, force it to span all columns and become the 2-col grid */
.sv-hero .sv-wrap > .sv-hero-inner {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

/* Also handle .sv-hero-inner as a standalone grid (when it is the only child of .sv-wrap) */
.sv-hero-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.sv-hero-inner > * { min-width: 0; }

/* Hero card should never have a white background - use the hero section bg */
.sv-hero .sv-hero-card {
  background: transparent !important;
}

/* Responsive: stack on mobile */
@media (max-width: 767px) {
  .sv-hero .sv-wrap > .sv-hero-inner,
  .sv-hero-inner {
    grid-template-columns: 1fr !important;
  }
}

/* sv-catbtn-grid jump nav fix 2026-07-12 */
.sv-catbtn-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:12px !important; margin:20px 0 !important; }
@media(max-width:767px){.sv-catbtn-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:480px){.sv-catbtn-grid{grid-template-columns:1fr !important;}}
.sv-catbtn { display:flex !important; align-items:center !important; gap:12px !important; padding:14px 16px !important; background:#fff !important; border:1px solid #e2e8f0 !important; border-radius:12px !important; text-decoration:none !important; color:#0f172a !important; font-weight:500 !important; transition:box-shadow 0.2s,transform 0.15s !important; box-shadow:0 1px 3px rgba(0,0,0,0.07) !important; }
.sv-catbtn:hover { box-shadow:0 4px 12px rgba(0,0,0,0.12) !important; transform:translateY(-1px) !important; }
.sv-catbtn-ico { width:40px !important; height:40px !important; border-radius:10px !important; display:flex !important; align-items:center !important; justify-content:center !important; flex-shrink:0 !important; }
.sv-catbtn-ico svg { width:20px !important; height:20px !important; fill:#fff !important; }
.sv-catbtn strong { display:block !important; font-size:0.875rem !important; font-weight:600 !important; color:#0f172a !important; }
.sv-catbtn span { display:block !important; font-size:0.75rem !important; color:#64748b !important; font-weight:400 !important; }
.sv-catcard-img img { width:100% !important; height:160px !important; object-fit:cover !important; border-radius:12px 12px 0 0 !important; display:block !important; }


/* sv-hero-grid fix 2026-07-12 */
.sv-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.sv-hero-grid > * { min-width: 0; }
@media (max-width: 767px) {
  .sv-hero-grid { grid-template-columns: 1fr !important; }
}

/* sv-stat-card grid fix */
.sv-stat-card {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}

/* sv-hero-grid fullwidth fix 2026-07-12 */
/* When .sv-wrap contains .sv-hero-grid, make the grid span full width */
.sv-hero .sv-wrap > .sv-hero-grid {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* sv-subnav-inner fix 2026-07-12 */
/* Map sv-subnav-inner to the same layout as sv-subnav .sv-wrap */
.sv-subnav-inner {
  display: flex !important;
  gap: 4px !important;
  overflow: auto !important;
  padding: 10px 18px !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.sv-subnav-inner a {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--sv-blue3, #2B5BA8) !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(50,105,172,.20) !important;
  background: rgba(50,105,172,.07) !important;
  transition: background .15s, color .15s !important;
}
.sv-subnav-inner a:hover,
.sv-subnav-inner a.active,
.sv-subnav-inner a[aria-current] {
  background: rgba(50,105,172,.18) !important;
  color: #1a3f7a !important;
}
.sv-subnav-pill {
  background: var(--sv-blue3, #2B5BA8) !important;
  color: #fff !important;
  border-color: var(--sv-blue3, #2B5BA8) !important;
}
.sv-subnav-pill:hover {
  background: #1a3f7a !important;
  color: #fff !important;
}


/* overflow-x-fix-2026-07-13 : oxy-pro-menu closed dropdowns extend the page scroll width
   site-wide (they are position:absolute past the right edge). body already had overflow-x:hidden
   but the html/viewport still scrolled. `clip` stops the horizontal scroll WITHOUT creating a
   scroll container, so position:sticky (headers, the prices subnav) is unaffected. Falls back to
   `visible` on very old browsers = prior behavior, so no regression. */
html{ overflow-x: clip; }
