/*
Theme Name: Sol Verde
Description: Independent Sol Verde WordPress theme for Meds World Mexico.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sol-verde
Update URI: https://www.medsworldmexico.com/sol-verde-custom/
*/

@font-face { font-family: "SV Poppins"; src: url("assets/fonts/Poppins-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
:root {
  --md-primary: #1f5c5a; --md-primary-hov: #2a716e; --md-mint: #8ed5b8;
  --md-mint-light: #e3f5ec; --md-accent: #f08a5d; --md-cream: #fff1e3;
  --md-gold: #f2b84b; --md-text: #1b3b3a; --md-muted: #66807d;
  --md-muted-readable: #5b7471; --md-focus: #b4512e;
  --md-card: #fff; --md-radius-card: 20px;
  --md-shadow: 0 8px 24px rgba(31,92,90,.08);
  --md-shadow-hov: 0 12px 32px rgba(31,92,90,.14);
  --md-heading-font: "SV Poppins", "Segoe UI", sans-serif;
  --md-body-font: system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 116px; }
body { margin: 0; color: var(--md-text); background: #fff; font: 16px/1.65 var(--md-body-font); overflow-wrap: break-word; }
img, video, iframe, embed { max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
input, select, textarea { font-size: max(1rem, 16px); }
a { color: var(--md-primary); }
a:hover { color: var(--md-primary-hov); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--md-focus); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { color: var(--md-text); font-family: var(--md-heading-font); font-weight: 700; line-height: 1.25; }
p { margin: 0 0 1.25rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed !important; z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; color: var(--md-primary); }
.sv-container { width: min(100% - 40px, 1220px); margin-inline: auto; min-width: 0; }
.sv-skip-link { position: absolute; left: -9999px; top: 8px; z-index: 9999; background: #fff; padding: 9px 14px; }
.sv-skip-link:focus { left: 8px; }

/* Header and navigation use WordPress menus and the existing Custom Logo. */
.sv-site-header { position: sticky; top: 0; z-index: 100; background: #fff; box-shadow: 0 4px 20px rgba(31,92,90,.08); }
.admin-bar .sv-site-header { top: 32px; }
.sv-header-main { display: grid; grid-template-columns: minmax(150px,220px) minmax(180px,1fr) auto; align-items: center; gap: clamp(15px,2.5vw,34px); min-height: 78px; }
.sv-header-main:has(.sv-header-contact) { grid-template-columns: minmax(150px,1fr) minmax(220px,340px) auto auto; }
.sv-brand { min-width: 0; }
.sv-brand a { display: inline-flex; align-items: center; text-decoration: none; }
.sv-brand .custom-logo { display: block; max-width: 100%; max-height: 58px; width: auto; object-fit: contain; }
.sv-brand-text { color: var(--md-primary); font: 700 clamp(1.2rem,2vw,1.55rem)/1.25 var(--md-heading-font); }
.sv-header-search { min-width: 0; }
.sv-header-contact { display: flex; flex-direction: column; gap: 2px; min-width: 0; max-width: 100%; justify-self: end; color: var(--md-text); font-size: .85rem; line-height: 1.3; text-align: right; }
.sv-header-contact a { color: var(--md-primary); overflow-wrap: anywhere; }
.sv-search-form { display: flex; align-items: center; width: 100%; min-width: 0; border: 1px solid var(--md-mint); border-radius: 999px; background: #fff; overflow: hidden; }
.sv-search-form:focus-within { outline: 3px solid var(--md-focus); outline-offset: 2px; }
.sv-search-form input { flex: 1; width: 100%; min-width: 0; border: 0; background: transparent; color: var(--md-text); padding: 11px 18px; outline: none; }
.sv-search-form input::placeholder { color: var(--md-muted-readable); opacity: 1; }
.sv-search-form button { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--md-primary); color: #fff; cursor: pointer; }
.sv-search-form button:hover { background: var(--md-primary-hov); }
.sv-header-tools { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sv-header-tools > * { flex: 0 0 auto; }
.sv-language-switcher, .sv-currency-switcher { position: relative; color: var(--md-text); font-size: .9rem; }
.sv-language-switcher summary, .sv-currency-switcher summary { list-style: none; cursor: pointer; padding: 8px 10px; border-radius: 999px; font-weight: 700; }
.sv-language-switcher summary::-webkit-details-marker, .sv-currency-switcher summary::-webkit-details-marker { display: none; }
.sv-language-switcher[open] summary, .sv-currency-switcher[open] summary, .sv-language-switcher summary:hover, .sv-currency-switcher summary:hover { background: var(--md-mint-light); }
.sv-language-switcher ul, .sv-currency-switcher ul, .sv-currency-switcher form { position: absolute; right: 0; top: calc(100% + 8px); z-index: 101; min-width: 140px; padding: 8px; margin: 0; list-style: none; border: 1px solid var(--md-mint-light); border-radius: 14px; background: #fff; box-shadow: var(--md-shadow); }
.sv-language-switcher li a, .sv-currency-switcher li a, .sv-currency-switcher form button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--md-text); text-align: left; text-decoration: none; cursor: pointer; }
.sv-language-switcher li a:hover, .sv-language-switcher li a[aria-current], .sv-currency-switcher li a:hover, .sv-currency-switcher li a[aria-current], .sv-currency-switcher form button:hover { background: var(--md-mint-light); color: var(--md-primary); }
.sv-currency { font-size: .9rem; font-weight: 700; }
.sv-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; color: var(--md-primary); text-decoration: none; font-size: 1.35rem; }
.sv-cart-count { display: grid; place-items: center; position: absolute; right: -6px; top: -3px; min-width: 17px; height: 17px; padding-inline: 3px; border-radius: 999px; background: var(--md-accent); color: #fff; font-size: .65rem; font-weight: 700; }
.sv-menu-toggle { display: none; width: 44px; height: 44px; padding: 9px; border: 1px solid var(--md-mint); border-radius: 12px; background: #fff; color: var(--md-primary); cursor: pointer; }
.sv-menu-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: currentColor; }
.sv-primary-nav { border-top: 1px solid var(--md-mint-light); }
.sv-primary-menu, .sv-primary-menu > ul { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding: 7px 0; margin: 0; list-style: none; }
.sv-primary-menu li { position: relative; list-style: none; }
.sv-primary-menu > li > a, .sv-primary-menu > ul > li > a { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 15px; border-radius: 999px; color: var(--md-text); font-weight: 600; text-decoration: none; line-height: 1.25; }
.sv-primary-menu > li > a:hover, .sv-primary-menu > ul > li > a:hover,
.sv-primary-menu > li.current-menu-item > a, .sv-primary-menu > li.current_page_item > a,
.sv-primary-menu > ul > li.current-menu-item > a, .sv-primary-menu > ul > li.current_page_item > a,
.sv-primary-menu > li.current-menu-ancestor > a, .sv-primary-menu > li > a[aria-current="page"] { color: var(--md-primary); background: var(--md-mint-light); }
.sv-primary-menu :where(.sub-menu, .children) { display: none; position: absolute; z-index: 102; left: 0; top: 100%; min-width: 220px; padding: 9px; margin: 0; list-style: none; border: 1px solid var(--md-mint-light); border-radius: 14px; background: #fff; box-shadow: var(--md-shadow); }
.sv-primary-menu li:hover > :where(.sub-menu, .children), .sv-primary-menu li:focus-within > :where(.sub-menu, .children) { display: block; }
.sv-primary-menu :where(.sub-menu, .children) a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--md-text); text-decoration: none; }
.sv-primary-menu :where(.sub-menu, .children) a:hover, .sv-primary-menu :where(.sub-menu, .children) .current-menu-item > a { background: var(--md-mint-light); color: var(--md-primary); }
.sv-primary-menu :where(.sub-menu, .children) :where(.sub-menu, .children) { left: 100%; top: 0; }

/* Page, post, archive and search layouts. */
.site-content { min-height: 55vh; padding-block: 42px 80px; }
.page-header { max-width: 1120px; padding: 25px 32px; margin: 0 auto 38px; border-radius: 22px; background: var(--md-mint-light); }
.page-header__title { margin: 0; color: var(--md-primary); font-size: clamp(2rem,4vw,2.4rem); }
.home .page-header { max-width: 1120px; background: transparent; padding: 0; margin-bottom: 24px; }
.home .page-header__title { font-size: clamp(2rem,3vw,2.4rem); text-align: center; }
.entry-content { min-width: 0; }
.entry-content p { font-size: 1.0625rem; line-height: 1.72; margin: 0 0 1.25rem; }
.entry-content h2 { font-size: clamp(1.65rem,3vw,2.25rem); margin: 2rem 0 1.35rem; }
.entry-content h3 { font-size: clamp(1.35rem,2.4vw,1.75rem); margin: 1.5rem 0 1.1rem; }
.entry-content h4 { font-size: 1.2rem; margin: 1.25rem 0 .8rem; }
.entry-content :where(ul,ol) { margin-bottom: 1.5rem; }
.entry-content li { line-height: 1.65; margin-bottom: .45rem; }
.entry-content blockquote { color: var(--md-text); background: var(--md-mint-light); border-left: 4px solid var(--md-primary); border-radius: 0 18px 18px 0; padding: 22px 24px; margin: 30px 0; font-size: 1.0625rem; font-style: normal; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content :where(img,figure,iframe) { max-width: 100%; }
.entry-content :where(iframe,video) { height: auto; }
.wp-block-embed__wrapper { max-width: 100%; }
.wp-block-embed__wrapper iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.sv-reading-layout > .sv-post { max-width: 980px; margin-inline: auto; }
.sv-post-meta { color: var(--md-muted-readable); font-size: .9rem; margin: 10px 0 0; }
.sv-featured-image img { display: block; max-width: 100%; border-radius: 20px; margin: 0 auto 30px; }
.sv-page-links { margin-top: 30px; }
.sv-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.sv-article-card { min-width: 0; overflow: hidden; border: 1px solid var(--md-mint-light); border-radius: 20px; background: #fff; box-shadow: var(--md-shadow); }
.sv-article-image img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sv-article-card-body { padding: 22px; }
.sv-article-card h2 { font-size: 1.35rem; margin: 0; }
.sv-article-card h2 a { text-decoration: none; }
.sv-excerpt p { margin-top: 15px; }
.sv-read-more { font-weight: 700; }
.sv-empty-state, .sv-error-page { max-width: 760px; margin-inline: auto; padding: 35px; border-radius: 20px; background: var(--md-mint-light); }
.sv-empty-state .sv-search-form, .sv-error-page .sv-search-form { max-width: 540px; }
.sv-primary-button, .woocommerce :where(a.button,button.button,input.button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 0; border-radius: 999px; background: var(--md-primary); color: #fff; font-weight: 700; text-decoration: none; }
.sv-primary-button:hover, .woocommerce :where(a.button,button.button,input.button):hover { background: var(--md-primary-hov); color: #fff; }
.sv-sidebar { max-width: 980px; margin: 55px auto 0; padding-top: 28px; border-top: 1px solid var(--md-mint-light); }
.sv-comments { max-width: 980px; margin: 60px auto 0; }
.sv-comments textarea { max-width: 100%; }
.sv-shop-content { overflow-wrap: anywhere; }
.site-content :where(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],textarea,select) { max-width: 100%; padding: 10px 12px; border: 1px solid var(--md-mint); border-radius: 10px; background: #fff; color: var(--md-text); }
.site-content :where(button,input[type="submit"],.wp-element-button) { border: 0; border-radius: 999px; background: var(--md-primary); color: #fff; padding: 10px 18px; cursor: pointer; }
.site-content :where(button,input[type="submit"],.wp-element-button):hover { background: var(--md-primary-hov); }
.navigation.pagination { margin-top: 42px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.navigation.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--md-mint); text-decoration: none; }
.navigation.pagination .page-numbers.current, .navigation.pagination .page-numbers:hover { color: #fff; background: var(--md-primary); border-color: var(--md-primary); }
.woocommerce .woocommerce-breadcrumb { color: var(--md-muted-readable); }
.woocommerce ul.products li.product { min-width: 0; padding: 12px; border: 1px solid var(--md-mint-light); border-radius: 20px; box-shadow: var(--md-shadow); }
.woocommerce ul.products li.product img { border-radius: 12px; }
.woocommerce ul.products li.product .price { color: var(--md-text); font-weight: 700; }

/* Footer keeps the site's registered footer widgets and navigation. */
.sv-site-footer { background: var(--md-primary); color: #fff; }
.sv-footer-inner { padding-block: 55px 24px; }
.sv-site-footer :where(h2,h3,h4,h5,p,li,a) { color: #fff; }
.sv-site-footer a:hover { color: var(--md-cream); }
.sv-footer-widgets { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 30px; }
.sv-footer-menu { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; padding: 0; margin: 30px 0; }
.sv-footer-bottom { padding-top: 22px; margin-top: 25px; border-top: 1px solid rgba(255,255,255,.2); font-size: .9rem; }
.sv-site-footer :where(a,button):focus-visible { outline-color: var(--md-gold); }

/* Long Home article: prose stays narrow; named components can use more width. */
.page .medical-content, .treatment-page .medical-content { max-width: 1120px; margin-inline: auto; min-width: 0; }
.home .medical-content { max-width: 1120px; }
.home .medical-content > :not(.md-data-table):not(.sv-popular):not(.sv-deals):not(.sv-lead-image) { max-width: 1120px; margin-left: auto; margin-right: auto; }
.home .medical-content > .sv-lead-image { max-width: 1180px; margin: 0 auto 42px; }
.home .medical-content > .md-data-table { max-width: 1120px; }
.home .medical-content > :first-child { margin-top: 0; }
.home .medical-content .sv-lead-image img {
  display: block; width: 100%; max-width: 1180px; height: auto;
  object-fit: cover; border-radius: 24px; box-shadow: var(--md-shadow);
  margin: 0;
}

/* The existing automatic table wrapper remains for legacy pages. */
.sv-table-wrap, .md-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sv-table-wrap { margin: 1.5rem 0 2rem; border-radius: 18px; border: 1px solid var(--md-mint-light); }
.sv-table-wrap table { min-width: 560px; margin: 0; }
.sv-table-wrap:focus-visible, .md-table-scroll:focus-visible { outline: 3px solid var(--md-focus); outline-offset: 2px; }
.site-content :where(.entry-content, .medical-content) table { border-collapse: collapse; width: 100%; }
.site-content :where(.entry-content, .medical-content) table th { color: #fff; background: var(--md-primary); font-weight: 700; }
.site-content :where(.entry-content, .medical-content) table :where(th, td) { padding: 14px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--md-mint-light); }
.site-content :where(.entry-content, .medical-content) table tbody tr:nth-child(even) { background: #f4fbf7; }
.site-content :where(.entry-content, .medical-content) table tbody tr:hover { background: var(--md-mint-light); }
.site-content :where(.entry-content, .medical-content) table tbody tr:last-child td { border-bottom: 0; }

/* Home: Top 10 reasons. Grid columns run top to bottom while DOM stays 1–10. */
.md-numbered { background: var(--md-mint-light); border-radius: 24px; padding: 32px; margin-block: 32px; }
.md-numbered > strong:first-child { display: block; color: var(--md-primary); font: 700 clamp(1.4rem, 2vw, 1.625rem)/1.35 var(--md-heading-font); margin-bottom: 22px; }
.md-numbered ol { display: grid; grid-auto-flow: column; grid-template-rows: repeat(5, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; counter-reset: sv-reason; list-style: none; padding: 0; margin: 0; }
.md-numbered ol > li { counter-increment: sv-reason; display: flex; align-items: flex-start; gap: 12px; min-width: 0; margin: 0; padding: 15px; border: 1px solid var(--md-mint); border-radius: 16px; background: #fff; color: var(--md-text); line-height: 1.5; break-inside: avoid; transition: transform .22s ease, box-shadow .22s ease; }
.md-numbered ol > li::before { content: counter(sv-reason); display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--md-primary); color: #fff; font-weight: 700; }
.md-numbered ol > li:hover { transform: translateY(-2px); box-shadow: var(--md-shadow); }

/* Order Process is a single vertical timeline. */
.md-process { max-width: 100%; background: var(--md-cream); border-radius: 24px; padding: 34px; margin: 32px auto; }
.md-process > .md-block-title { display: block; color: var(--md-primary); font: 700 clamp(1.35rem, 2vw, 1.55rem)/1.35 var(--md-heading-font); margin: 0 0 24px; }
.md-process ol { counter-reset: sv-step; list-style: none; padding: 0; margin: 0; }
.md-process ol > li { position: relative; counter-increment: sv-step; min-height: 68px; padding: 0 0 28px 60px; margin: 0; line-height: 1.6; }
.md-process ol > li:last-child { padding-bottom: 0; }
.md-process ol > li::before { content: counter(sv-step); position: absolute; left: 0; top: 0; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border: 4px solid #fff; border-radius: 50%; background: var(--md-primary); color: #fff; font-weight: 700; }
.md-process ol > li:nth-child(4)::before { background: var(--md-focus); }
.md-process ol > li:not(:last-child)::after { content: ""; position: absolute; left: 19px; top: 39px; bottom: 0; width: 2px; background: var(--md-mint); }
.md-process ol > li strong { display: block; color: var(--md-primary); font-size: 1.15rem; margin-bottom: 4px; }

/* Responsive data tables authored on the Home page. */
.md-data-table { background: var(--md-card); border: 1px solid var(--md-mint-light); border-radius: 22px; box-shadow: var(--md-shadow); overflow: hidden; margin: 36px auto; }
.md-data-table .md-block-title { color: var(--md-primary); background: var(--md-mint-light); font: 700 clamp(1.25rem, 2vw, 1.5rem)/1.4 var(--md-heading-font); padding: 21px 22px 14px; margin: 0; }
.md-data-table .md-block-title strong { color: inherit; }
.md-data-table .md-table-scroll { width: 100%; }
.md-data-table table { min-width: 620px; margin: 0; font-size: .98rem; }
.md-price-table td:last-child { font-weight: 700; color: var(--md-text); white-space: nowrap; }
.md-pharmacy-table table { min-width: 800px; }
.md-shipping-table td:last-child, .md-pharmacy-table td:nth-child(2) { font-weight: 700; color: var(--md-primary); }
.md-pharmacy-table :where(th, td):first-child { width: 55px; text-align: center; }
.md-pharmacy-table :where(th, td):last-child { min-width: 280px; }

/* Travel checklist has separate markers and dividers. */
.md-travel-steps { background: linear-gradient(135deg, var(--md-cream), var(--md-mint-light)); border-radius: 24px; padding: 30px 32px; margin-block: 32px; }
.md-travel-steps ol { list-style: none; counter-reset: sv-travel; margin: 0; padding: 0; }
.md-travel-steps ol > li { counter-increment: sv-travel; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: start; padding: 13px 0; margin: 0; border-bottom: 1px solid var(--md-mint); line-height: 1.6; }
.md-travel-steps ol > li:last-child { border-bottom: 0; }
.md-travel-steps ol > li::before { content: counter(sv-travel); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: var(--md-primary); color: #fff; font-weight: 700; }
.md-travel-steps ol > li strong { color: var(--md-primary); }

@media (max-width: 991px) {
  body.sv-menu-open { overflow: hidden; }
  .sv-header-main { grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; min-height: 64px; padding-block: 8px; }
  .sv-header-main:has(.sv-header-contact) { grid-template-columns: minmax(0,1fr) auto; }
  .sv-header-search { grid-column: 1 / -1; grid-row: 2; }
  .sv-header-main:has(.sv-header-contact) .sv-header-tools { grid-column: 2; grid-row: 1; }
  .sv-header-contact { grid-column: 1 / -1; grid-row: 3; flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
  .sv-header-tools { gap: 7px; }
  .sv-menu-toggle { display: block; }
  .sv-primary-nav { display: none; max-height: min(70vh,620px); overflow-y: auto; border-top: 1px solid var(--md-mint-light); }
  .sv-primary-nav.is-open { display: block; }
  .sv-primary-menu, .sv-primary-menu > ul { display: block; padding: 10px 0; }
  .sv-primary-menu > li > a, .sv-primary-menu > ul > li > a { display: block; min-height: 40px; padding: 9px 15px; white-space: normal; }
  .sv-primary-menu :where(.sub-menu,.children) { display: block; position: static; min-width: 0; padding: 0 0 0 18px; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .sv-primary-menu :where(.sub-menu,.children) :where(.sub-menu,.children) { position: static; }
  .sv-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .md-numbered ol { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: 1fr; }
  .home .medical-content > :not(.md-data-table):not(.sv-popular):not(.sv-deals) { max-width: 100%; }
}
@media (max-width: 782px) { .admin-bar .sv-site-header { top: 46px; } }
@media (max-width: 767px) {
  html { scroll-padding-top: 140px; }
  .sv-container { width: min(100% - 28px,1220px); }
  .sv-brand .custom-logo { max-width: min(100%,180px); max-height: 48px; }
  .sv-brand-text { max-width: min(100%,180px); font-size: 1.15rem; }
  .site-content { padding-block: 26px 58px; }
  .page-header { padding: 20px; margin-bottom: 30px; }
  .page-header__title { font-size: clamp(1.9rem,7vw,2.35rem); }
  .entry-content p { font-size: 1rem; line-height: 1.68; }
  .entry-content h2 { font-size: clamp(1.55rem,5vw,1.75rem); margin-top: 1.75rem; }
  .entry-content h3 { font-size: clamp(1.3rem,4.5vw,1.5rem); margin-top: 1.25rem; }
  .home .medical-content > .sv-lead-image { margin-bottom: 36px; }
  .home .medical-content .sv-lead-image img { border-radius: 16px; }
  .md-numbered { padding: 20px; }
  .md-process { padding: 18px; }
  .md-process ol > li { padding-left: 48px; }
  .md-process ol > li::before { width: 34px; height: 34px; }
  .md-process ol > li:not(:last-child)::after { left: 16px; top: 33px; }
  .md-process ol > li strong { font-size: 1.0625rem; }
  .md-travel-steps { padding: 18px; }
  .md-data-table .md-block-title { padding: 18px; }
  .sv-article-grid { grid-template-columns: minmax(0,1fr); }
  .entry-content :where(.alignleft,.alignright) { float: none; display: block; max-width: 100%; margin: 1rem auto; }
}
@media (max-width: 430px) {
  .sv-header-tools { gap: 4px; }
  .sv-currency { font-size: .78rem; }
  .sv-language-switcher summary, .sv-currency-switcher summary { font-size: .78rem; padding-inline: 5px; }
  .sv-cart { min-width: 32px; }
  .md-numbered, .md-process, .md-travel-steps { padding: 17px; }
  .md-numbered ol > li { padding: 13px; }
  .md-data-table table { font-size: .9375rem; }
  .md-data-table table :where(th,td) { padding: 12px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .md-numbered ol > li { transition-duration: .01ms !important; transform: none !important; }
}
@media print {
  .sv-site-header, .sv-site-footer, .sv-menu-toggle, .sv-primary-nav { display: none !important; }
  body, .site-content, .md-numbered, .md-process, .md-travel-steps, .md-data-table { color: #000; background: #fff !important; box-shadow: none !important; }
  .md-table-scroll { overflow: visible; }
  .md-data-table table { min-width: 0; font-size: .8rem; }
}
@media (max-width: 991px) {
  .sv-site-header {
    position: static;
  }

  html {
    scroll-padding-top: 20px;
  }
}
.sv-primary-menu li.menu-item-has-children > a::after,
.sv-primary-menu li.page_item_has_children > a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  vertical-align: middle;
}

@media (min-width: 992px) {
  .sv-primary-menu :is(.sub-menu, .children)
  > li.menu-item-has-children > a::after,
  .sv-primary-menu :is(.sub-menu, .children)
  > li.page_item_has_children > a::after {
    transform: translateY(-1px) rotate(-45deg);
  }
}
/* Add at the end of the theme's style.css. */
.sv-submenu-toggle { display: none; }

@media (max-width: 991px) {
  .sv-primary-nav.is-open {
    max-height: var(--sv-nav-available-height, 70vh);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }

  .sv-primary-nav.sv-submenus-ready .sv-primary-menu li > :is(.sub-menu, .children) {
    display: none;
  }
  .sv-primary-nav.sv-submenus-ready .sv-primary-menu li.sv-submenu-open > :is(.sub-menu, .children) {
    display: block;
  }

  .sv-primary-menu li.menu-item-has-children > a,
  .sv-primary-menu li.page_item_has_children > a {
    padding-right: 58px;
  }
  .sv-primary-menu li.menu-item-has-children > a::after,
  .sv-primary-menu li.page_item_has_children > a::after {
    display: none;
  }

  .sv-submenu-toggle {
    position: absolute;
    top: 0;
    right: 4px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--md-primary, #1f5c5a);
    cursor: pointer;
  }
  .sv-submenu-toggle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
  }
  .sv-submenu-open > .sv-submenu-toggle::after {
    transform: translateY(2px) rotate(225deg);
  }
  .sv-submenu-toggle:focus-visible {
    outline: 3px solid var(--md-focus, #b4512e);
    outline-offset: 2px;
  }
}