/* Responsive presentation only. Business rules and prices stay independent. */
/* Shared live search uses a native modal: focus and the backdrop stay isolated. */
.site-search-trigger, .featured-course-premium-seal { display: none; }
.site-search-dialog:not([open]) { display: none; }
.site-search-dialog { position: fixed; inset: 16px 0 auto; width: min(560px, calc(100% - 24px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin-inline: auto; padding: 20px; border: 1px solid #d7e5ef; border-radius: 24px; background: #fff; color: #18364d; box-shadow: 0 24px 90px #00182e45; overflow-y: auto; overscroll-behavior: contain; text-align: right; }
.site-search-dialog::backdrop { background: #031c32a8; backdrop-filter: blur(5px); }
body.site-search-open { overflow: hidden; }
body.site-search-open :is(.home-app-dock, .bottom-nav) { visibility: hidden; pointer-events: none; }
.site-search-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.site-search-head h2 { font-size: 22px; line-height: 1.65; font-weight: 700; }
.site-search-dialog .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.site-search-head p { font-size: 12px; line-height: 1.9; color: #617589; margin-top: 4px; }
.site-search-head button { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #f2f7fb; color: #526779; }
.site-search-field { display: flex; align-items: center; gap: 6px; border: 1px solid #c8dce9; border-radius: 16px; padding: 5px; background: #f8fbfe; }
.site-search-field:focus-within { border-color: #0167ad; box-shadow: 0 0 0 3px #0167ad16; }
.site-search-field input { min-width: 0; width: 100%; height: 46px; padding: 8px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: #18364d; }
.site-search-field button { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #0167ad; color: #fff; }
#siteSearchStatus { margin: 14px 0; color: #60758a; font-size: 12px; line-height: 1.9; }
.site-search-results { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.site-search-results a { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 3px 10px; padding: 12px 14px; min-height: 70px; border: 1px solid #e1ebf2; border-radius: 14px; background: #f8fbfe; }
.site-search-results small { font-size: 10px; line-height: 1.8; color: #0167ad; }
.site-search-results strong { grid-column: 1; font-size: 13px; line-height: 1.9; font-weight: 700; overflow-wrap: anywhere; }
.site-search-results a > span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #0167ad; }
.site-search-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e5edf4; font-size: 11px; }
.site-search-suggestions > span { width: 100%; color: #738595; }
.site-search-suggestions button { min-height: 44px; padding: 8px 12px; border-radius: 12px; background: #fff6e6; color: #775018; font-weight: 700; }
:is(.site-search-dialog a, .site-search-dialog button, .site-search-trigger):focus-visible { outline: 3px solid #fba830; outline-offset: 3px; }
/* Place the category on the actual image, independently of card-body layout. */
.article-thumb, .archive-featured-media { position: relative; }
.mrtax-responsive .article-cat--on-image { inset: 12px auto auto 50%; width: max-content; max-width: calc(100% - 24px); margin: 0; z-index: 3; line-height: 1.8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transform: translateX(-50%); background: #fffffff2; color: #015c98; box-shadow: 0 3px 14px #04223b26; }
.article-card .article-thumb .article-readtime { bottom: auto; top: 12px; right: 12px; padding: 4px 8px; border-radius: 10px; background: #04223bc9; }
@media (max-width: 767px) {
  .mrtax-responsive #header .site-search-trigger { display: grid; place-items: center; grid-column: 3; grid-row: 1; width: 44px; height: 44px; min-width: 44px; border-radius: 14px; background: #edf6fc; color: #0167ad; }
  .featured-course--advisor { border: 1px solid #c99a51; background: #04223b; box-shadow: 0 8px 24px #04223b20; }
  .featured-course--advisor .featured-course-media { background: #04223b; }
  .featured-course--advisor .featured-course-premium-seal { position: absolute; z-index: 3; top: 14px; inset-inline-start: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid #f4d59b; border-radius: 11px; background: linear-gradient(120deg, #ffe2aa, #fba830); color: #3a280b; font-size: 11px; line-height: 1.8; font-weight: 700; box-shadow: 0 4px 18px #0003; }
  .mrtax-responsive .featured-course--advisor .featured-course-media > .featured-course-overlay-content { background: linear-gradient(150deg, #073653, #031c31); border-top: 1px solid #fba8305c; }
  .featured-course--advisor .featured-course-overlay-title { font-weight: 700; color: #fff; }
  .featured-course--advisor .featured-course-overlay-badge { background: #fba83018; border: 1px solid #fba83066; color: #ffcf82; }
  .featured-course--advisor .featured-course-overlay-price { color: #ffd48e; }
  .featured-course--advisor > div:not(.featured-course-media) { background: #04223b; color: #fff; border-top: 1px solid #fba83030; }
  .featured-course--advisor > div:not(.featured-course-media) .text-muted { color: #bacddd; }
  .featured-course--advisor .btn:not(.btn-accent) { color: #d5e8f5; }
  .featured-course--advisor .btn-accent { border: 1px solid #ffcf85; background: linear-gradient(110deg, #ffd591, #fba830); color: #3b290e; }
}
/* Editorial rhythm: preserve the alignment saved by the WordPress editor. */
.mrtax-responsive .article-hero-title { font-size: clamp(25px, 2.4vw, 34px); font-weight: 700; line-height: 1.65; }
.mrtax-responsive :is(.article-content, .product-rich-content, main .prose) { line-height: 2; }
.mrtax-responsive :is(.article-content, .product-rich-content, main .prose) :is(p, li, blockquote) { line-height: 2; }
.mrtax-responsive :is(.rich-content, main .prose) .has-text-align-center { text-align: center; }
.mrtax-responsive :is(.rich-content, main .prose) .has-text-align-right { text-align: right; }
.mrtax-responsive :is(.rich-content, main .prose) .has-text-align-left { text-align: left; }
/* Both Gutenberg and classic-editor alignment remain authoritative, including
   centered groups and table cells whose old theme rules forced a right align. */
#article-content :is(th, td) { text-align: inherit; }
#article-content :is(.has-text-align-center, .text-center, .aligncenter, [align="center"], center) { text-align: center; }
#article-content :is(.has-text-align-right, .text-right, [align="right"]) { text-align: right; }
#article-content :is(.has-text-align-left, .text-left, [align="left"]) { text-align: left; }
#article-content .has-text-align-justify { text-align: justify; }
#article-content :is(figure, img, .wp-caption).aligncenter { float: none; margin-inline: auto; }
/* Style editorial callouts in place; never rewrite the saved article content.
   Inline backgrounds and white text from old Gutenberg palettes are normalized
   together so the new light surfaces always retain readable contrast. */
#article-content :is(p, h2, h3, h4, .wp-block-group, .wp-block-column).has-background,
#article-content :is(.wp-block-quote, .wp-block-pullquote) {
  --article-box-accent: #0167ad; --article-box-surface: #eef6fc; --article-box-line: #cfe3f1;
  position: relative; max-width: 100%; margin-block: 24px; padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--article-box-line); border-inline-start: 4px solid var(--article-box-accent);
  border-radius: 18px; background: var(--article-box-surface) !important;
  color: #18364d !important; box-shadow: 0 8px 24px -18px #04223b30; line-height: 2;
  overflow-wrap: anywhere;
}
#article-content .has-background:is([style*="#ffb23d" i], [style*="#faa831" i], [style*="#fba830" i], .has-luminous-vivid-amber-background-color, .has-luminous-vivid-orange-background-color) {
  --article-box-accent: #fba830; --article-box-surface: #fff8e8; --article-box-line: #f4dfa9;
}
#article-content :is(p, h2, h3, h4, .wp-block-group, .wp-block-column).has-background :is(strong, b, em, span, p, li, h2, h3, h4),
#article-content :is(.wp-block-quote, .wp-block-pullquote) :is(strong, b, em, span, p) { color: inherit !important; }
#article-content :is(p, h2, h3, h4, .wp-block-group, .wp-block-column).has-background a { color: #014f86 !important; text-decoration: underline; text-underline-offset: .2em; }
#article-content :is(.wp-block-group.has-background, .wp-block-column.has-background, .wp-block-quote, .wp-block-pullquote) > :first-child { margin-top: 0; }
#article-content :is(.wp-block-group.has-background, .wp-block-column.has-background, .wp-block-quote, .wp-block-pullquote) > :last-child { margin-bottom: 0; }
#article-content .wp-block-pullquote blockquote { padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; }
#article-content .wp-block-quote cite { display: block; margin-top: 12px; color: #526b7c; font-size: .85em; font-style: normal; }
.article-editorial-note-wrap { padding-block: 24px 0; }
.article-editorial-note { display: flex; align-items: flex-start; gap: 14px; padding: clamp(18px, 3vw, 26px); border: 1px solid #f0d58d; border-inline-start: 4px solid #fba830; border-radius: 18px; background: #fff5d6; color: #5a4117; }
.article-editorial-note > svg { flex: none; margin-top: 5px; color: #966100; }
.article-editorial-note p { margin: 0; font-size: 14px; line-height: 2; }
.mrtax-responsive :is(.rich-content, main .prose) :is(h2,h3,h4) { line-height: 1.7; font-weight: 700; }
.mrtax-responsive main .prose > :is(h2,h3,h4) { margin-block: 1.8em .75em; }
.mrtax-responsive main .prose > :is(p,ul,ol,figure) { margin-block: 0 1.25em; }
.mrtax-responsive main .prose > :first-child { margin-top: 0; }
.mrtax-responsive main .prose > :last-child { margin-bottom: 0; }
.single-product main h2.font-title { font-weight: 700; }
.single-product .course-prerequisite { max-width: 100%; align-items: center; }
.single-product .course-prerequisite > div { min-width: 0; }
@media (min-width: 1024px) {
  .mrtax-responsive main > section[class*="py-"]:not(.mesh) { padding-block: 64px; }
  .single-product .course-prerequisite { padding: 20px; gap: 12px; }
  .single-product .course-prerequisite p { font-size: 13px; line-height: 2; margin: 0; }
}
/* Compatibility is presentation-only: original links, lists and text are retained. */
.rich-content .mrtax-legacy-callout { clear: both; margin-block: 24px; padding: 20px; border: 1px solid #d4e4ef; border-inline-start: 4px solid #0167ad; border-radius: 14px; background: #f3f8fc; color: #23374a; }
.rich-content .mrtax-legacy-callout--box3 { border-inline-start-color: #fba830; background: #fff9ee; }
.rich-content .mrtax-legacy-callout > :first-child { margin-top: 0; }
.rich-content .mrtax-legacy-callout > :last-child { margin-bottom: 0; }
.rich-content img.emoji { display: inline; width: 1em; height: 1em; margin: 0 .07em; vertical-align: -.1em; }
/* The supplied Lotus logo is white artwork on transparency. */
.about-logo-mark:has(img[src*="/lotus.webp"]), body.home .home-trust-logo:has(img[src*="/lotus.webp"]) { background: #04223b; border-radius: 12px; }
/* A long URL in a reply must not expand the comment's implicit grid column. */
.mrtax-responsive .mrtax-comment-body { grid-template-columns: minmax(0, 1fr); }
.mrtax-responsive .mrtax-comment-copy { min-width: 0; overflow-wrap: anywhere; }
.mrtax-responsive .mrtax-comment-copy :is(p, a) { overflow-wrap: anywhere; }
/* Persian hero headlines need room for ascenders/descenders on every screen. */
body.home #hero .home-hero-title { line-height: 1.5; margin-bottom: 24px; }
body.home #hero .home-hero-lead { line-height: 1.95; }
/* Keep each proof number separate from its multiline Persian caption. */
body.home #hero .home-hero-stats { column-gap: 24px; row-gap: 20px; align-items: start; }
body.home #hero .home-hero-stats > div { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
body.home #hero .home-hero-stats .counter { line-height: 1.5; white-space: nowrap; }
body.home #hero .home-hero-stats .counter + div { margin-top: 0; line-height: 2; }
/* The longer hero badge may wrap without leaving the image bounds. */
body.home #hero .hero-instructor-badge { left: 12px; max-width: calc(100% - 24px); padding: 7px 12px; border-radius: 14px; line-height: 1.8; text-align: center; }
body.home #hero .hero-instructor-badge > span { min-width: 0; white-space: normal; }
body.home #hero .hero-instructor-badge > :is(i,svg) { flex-shrink: 0; }
@media (max-width: 767px) {
  html { scroll-padding-top: 88px; }
  body.mrtax-responsive { --mobile-dock-space: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .mrtax-responsive:has(.bottom-nav) { padding-bottom: var(--mobile-dock-space); }
  .mrtax-responsive #header > div { padding-inline: 16px; }
  .mrtax-responsive #header > div > div { min-height: 60px; height: auto; gap: 10px; padding-block: 8px; }
  .mrtax-responsive #header a:has(> img) { min-width: 0; }
  .mrtax-responsive #header img { width: clamp(128px, 41vw, 176px); max-width: 100%; height: auto; }
  .mrtax-responsive #header :is(#burger, a[aria-label]), .mrtax-responsive #drawerClose { width: 44px; height: 44px; min-width: 44px; flex-shrink: 0; }
  .mrtax-responsive #header > div > div > div { flex-shrink: 0; }
  .mrtax-responsive #header .site-header-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .mrtax-responsive #header .site-header-logo { grid-column: 2; grid-row: 1; justify-self: center; }
  .mrtax-responsive #header .site-header-actions { display: contents; }
  .mrtax-responsive #header :is(.site-header-account, .site-header-phone) { display: none; }
  .mrtax-responsive #header #burger { grid-column: 1; grid-row: 1; }
  .mrtax-responsive #drawer { width: min(90vw, 360px); max-height: 100dvh; }
  .mrtax-responsive #drawer[aria-hidden="true"] { visibility: hidden; }
  .mrtax-responsive #drawer .drawer-subpanel { visibility: hidden; }
  .mrtax-responsive #drawer .drawer-accordion.open .drawer-subpanel { visibility: visible; }
  .mrtax-responsive #drawer nav { overscroll-behavior: contain; min-height: 0; }
  .mrtax-responsive #drawer :is(.drawer-item, .drawer-subitem) { min-height: 48px; }
  .mrtax-responsive .drawer-footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }

  /* Text may wrap without widening a grid or forcing justified gaps in Persian. */
  .mrtax-responsive :is(main, .mesh) .grid > * { min-width: 0; }
  .mrtax-responsive main :is(p, li, blockquote, dd) { text-justify: auto; overflow-wrap: break-word; }
  .mrtax-responsive main p { line-height: 1.9; }
  .mrtax-responsive main :is(img, video, iframe, audio) { max-width: 100%; }
  .mrtax-responsive .rich-content :is(.alignleft, .alignright) { float: none; margin-inline: auto; max-width: 100%; }
  .mrtax-responsive .rich-content :is(img:not(.emoji), figure, .wp-caption) { max-width: 100%; height: auto; }
  .mrtax-responsive .rich-content .mrtax-legacy-callout { margin-block: 20px; padding: 16px; overflow-wrap: anywhere; }
  .mrtax-responsive main :is(h1, h2, h3, legend) { overflow-wrap: break-word; }
  .mrtax-responsive main h2.font-title { font-size: clamp(22px, 6vw, 28px); line-height: 1.5; }
  .mrtax-responsive main h3.font-title { line-height: 1.6; }
  .mrtax-responsive main > section[class*="py-"],
  .mrtax-responsive .consultation-section { padding-block: 32px; }
  .mrtax-responsive main :is(.gap-10, .gap-12) { gap: 24px; }
  .mrtax-responsive main :is(.mb-10, .mb-12) { margin-bottom: 24px; }
  .mrtax-responsive main :is(.p-8, .p-10) { padding: 20px; }
  .mrtax-responsive :is(main, .mesh) [id] { scroll-margin-top: 88px; }
  .mrtax-responsive main .btn { min-height: 48px; max-width: 100%; white-space: normal; line-height: 1.7; padding-inline: 16px; }
  .mrtax-responsive main .btn > svg { flex-shrink: 0; }
  .mrtax-responsive main .btn-accent { box-shadow: 0 6px 16px -10px rgba(251,168,48,.55); }
  .mrtax-responsive main :is(.free-tab-btn, .archive-pagination button, .search-filter-btn, .reader-tool-btn, .roadmap-step-actions a, .roadmap-step-actions button) { min-height: 44px; }
  .mrtax-responsive main :is(.free-tab-btn, .archive-pagination button, .reader-tool-btn) { min-width: 44px; }
  .mrtax-responsive main :is(a, button, input, textarea, select):focus-visible { outline: 2px solid #0167ad; outline-offset: 3px; }

  /* Bring the page promise and first action into the first screen. */
  .mrtax-responsive .mesh > div[class*="max-w-"] { padding-top: 24px; padding-bottom: 28px; gap: 24px; }
  .mrtax-responsive .mesh h1 { font-size: clamp(26px, 7vw, 32px); line-height: 1.45; margin-bottom: 14px; text-align: start; }
  .mrtax-responsive .mesh h1.article-hero-title { font-size: clamp(23px, 6vw, 27px); line-height: 1.7; }
  .mrtax-responsive .mesh nav[aria-label] { flex-wrap: wrap; justify-content: flex-start; margin-bottom: 12px; font-size: 12px; line-height: 1.8; }
  .mrtax-responsive .mesh :is(.lg\:col-span-6, .lg\:col-span-7) > span { margin-bottom: 12px; max-width: 100%; white-space: normal; line-height: 1.8; }
  .mrtax-responsive .mesh :is(.lg\:col-span-6, .lg\:col-span-7) > p { font-size: 15px; line-height: 1.9; margin-bottom: 18px; text-align: start !important; }
  .mrtax-responsive .mesh :is(.lg\:col-span-6, .lg\:col-span-7) > :is(.grid, .flex):has(> .btn) { width: 100%; gap: 8px; justify-content: flex-start; }
  .mrtax-responsive .mesh :is(.lg\:col-span-6, .lg\:col-span-7) > :is(.grid, .flex) > .btn { width: 100%; justify-content: center; font-size: 14px; }
  .mrtax-responsive .mesh .mobile-hero-note { margin-top: 14px; font-size: 12px !important; line-height: 1.9 !important; }
  .mrtax-responsive .mesh .hero-search { width: 100%; }
  .mrtax-responsive .mesh .hero-search input { min-width: 0; }
  .mrtax-responsive .mesh .intro-video-badge { position: static; display: inline-flex; margin: 8px 0 0; max-width: 100%; }
  .mrtax-responsive .mesh :is(.coaching-hero-card, .plus-price-panel, .certificate-hero-card, .search-hero-card) { padding: 16px; }

  /* Homepage: compact proof, distinct paths, then courses; no giant decorative panels. */
  .mrtax-responsive.home .home-hero-inner { padding-block: 24px; gap: 20px; }
  body.mrtax-responsive.home #hero .home-hero-title { font-size: clamp(28px, 7vw, 34px); line-height: 1.6; margin-bottom: 20px; }
  .mrtax-responsive.home .home-hero-actions { margin-bottom: 20px; }
  .mrtax-responsive.home .home-hero-secondary-link { width: 100%; justify-content: center; min-height: 44px; border: 0; }
  body.mrtax-responsive.home #hero .home-hero-stats { text-align: start; column-gap: 16px; }
  .mrtax-responsive.home .home-hero-stats .counter { font-size: 24px; }
  body.home #hero .hero-instructor-wrap { margin-top: 32px; }
  body.home #hero .hero-instructor-badge { top: 0; transform: translateY(calc(-100% + 6px)); }
  .mrtax-responsive.home .hero-instructor-card img { width: 100%; height: 190px; object-fit: cover; object-position: center 24%; }
  .mrtax-responsive.home .hero-instructor-meta { padding: 12px; }
  .mrtax-responsive.home .hero-instructor-meta > .font-title { font-size: 20px; }
  .mrtax-responsive.home .home-trust-strip { padding-block: 16px; }
  .mrtax-responsive.home .home-trust-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .mrtax-responsive.home .home-trust-logo { min-height: 48px; padding: 8px; }
  .mrtax-responsive.home .home-trust-logo img { height: 28px; }
  .mrtax-responsive.home .home-section { padding-block: 32px; }
  .mrtax-responsive.home .home-section-heading { margin-bottom: 20px; }
  .mrtax-responsive.home .roadmap-step { gap: 8px 10px; padding: 12px; }
  .mrtax-responsive.home .learning-path-route-copy { min-width: 0; }
  .mrtax-responsive.home .learning-path-route-title { font-size: 15px; line-height: 1.7; }
  .mrtax-responsive.home .roadmap-scroll-next { margin-top: 16px; }
  .mrtax-responsive.home .home-featured-course-details { padding: 16px; }
  .mrtax-responsive.home :is(.home-featured-course-copy, .featured-course-media) { min-height: 0; }
  .mrtax-responsive.home .home-featured-course-copy { padding: 16px; }
  .mrtax-responsive.home .home-action-row > .btn { font-size: 14px; min-height: 48px; }
  /* Give the full course artwork its intrinsic height; put text below, not over it. */
  .mrtax-responsive .featured-course-media { display: flex; flex-direction: column; min-height: 0; background: #04223b; }
  .mrtax-responsive .featured-course-media > img { position: static; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; flex: none; }
  .mrtax-responsive .featured-course-media > .featured-course-shade { display: none; }
  .mrtax-responsive .featured-course-media > .featured-course-overlay-content { position: static; width: 100%; height: auto; min-height: 0; flex: none; padding: 14px 16px; background: #04223b; }
  .mrtax-responsive.home .home-service-grid > .lift-card { padding: 18px; }

  /* Lists and filters stay within their own layout, including encoded Persian URLs. */
  .mrtax-responsive .search-result-meta { width: 100%; min-width: 0; }
  .mrtax-responsive .search-result-meta small { display: block; max-width: 100%; min-width: 0; width: 100%; }
  .mrtax-responsive :is(.search-result-card, .search-result-body, .search-control, .search-main-input, .archive-search) { min-width: 0; max-width: 100%; }
  .mrtax-responsive .search-result-card { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 14px; }
  .mrtax-responsive .search-result-icon { width: 36px; height: 36px; border-radius: 10px; }
  .mrtax-responsive .search-result-body > strong { font-size: 15px; }
  .mrtax-responsive .search-result-body > em { font-size: 13px; font-weight: 400; }
  .mrtax-responsive .search-filter-list { display: flex; flex-wrap: wrap; gap: 6px; }
  .mrtax-responsive .search-filter-btn { flex: 1 1 110px; padding: 8px; }
  .mrtax-responsive .archive-filter { gap: 6px; }
  .mrtax-responsive .archive-search { min-height: 52px; }
  .mrtax-responsive .archive-search input { min-height: 44px; }
  .mrtax-responsive .article-card .article-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.8; max-height: 3.6em; }

  /* Touch-friendly forms without altering field names, validation or calculations. */
  body.mrtax-responsive :is(input, select, textarea):not([type="hidden"]) { font-size: 16px !important; }
  .mrtax-responsive :is(.mrtax-select__trigger, .mrtax-select__option) { min-height: 48px; font-size: 16px; }
  .mrtax-responsive .mrtax-select__value { white-space: normal; text-align: start; line-height: 1.65; }
  .mrtax-responsive .mrtax-select__menu { max-height: min(280px, 42dvh); overscroll-behavior: contain; }
  .mrtax-responsive :is(.contact-form, .payment-card, .certificate-form, .auth-card) { padding: 18px; min-width: 0; }
  .mrtax-responsive :is(.contact-form, .payment-card, .certificate-form, .auth-card) label { line-height: 1.8; }
  .mrtax-responsive .tax-pleading-fieldset { padding: 12px; }
  .mrtax-responsive .tax-pleading-fieldset legend { max-width: 100%; white-space: normal; }
  .mrtax-responsive .tax-pleading-total output { max-width: 100%; white-space: normal; font-size: 18px; }
  .mrtax-responsive :is(.contact-form, .certificate-form, .payment-layout) button[type="submit"] { width: 100%; min-height: 48px; }
  .mrtax-responsive .booking-progress { grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
  .mrtax-responsive .booking-progress span { flex-direction: column; min-width: 0; gap: 4px; min-height: 64px; padding: 6px 2px; font-size: 11px; text-align: center; }
  .mrtax-responsive .booking-progress b { width: 24px; height: 24px; }
  .mrtax-responsive .booking-live-price { flex-wrap: wrap; }
  .mrtax-responsive .consultation-featured-media img { max-height: 240px; object-fit: cover; object-position: center 20%; }
  .mrtax-responsive .consultation-section-heading { margin-bottom: 20px; }
  .mrtax-responsive .consultation-section-heading .sec-num,
  .mrtax-page-coaching main .sec-num,
  .mrtax-page-plus-pricing main .sec-num { display: none; }
  .mrtax-responsive .consultation-section-heading h2 { font-size: 26px; }
  .mrtax-responsive .booking-review dl div { flex-wrap: wrap; }

  /* Product price stays next to the decision, before secondary detail chips. */
  .mrtax-responsive .mesh div:has(> .product-hero-actions) { display: flex; flex-direction: column; align-items: stretch; }
  .mrtax-responsive .product-hero-chips { order: 2; margin-top: 16px; margin-bottom: 8px; }
  .mrtax-responsive .product-hero-price { gap: 10px; margin-bottom: 16px; }
  .mrtax-responsive .product-hero-actions { margin-bottom: 4px; }
  .mrtax-responsive .product-hero-actions + p { order: 3; }
  .mrtax-responsive .mrtax-purchase__price { flex-wrap: wrap; }
  .mrtax-responsive .mrtax-purchase__price strong { font-size: 20px; }
  .mrtax-responsive :is(.mrtax-purchase__text-button, .mrtax-purchase__full-login) { min-height: 44px; }

  /* Articles keep native reading controls and locally scrollable tables. */
  .mrtax-responsive .article-content { padding: 18px; min-width: 0; }
  .mrtax-responsive .article-content[data-font-step="0"] { font-size: 16px; line-height: 2; }
  .mrtax-responsive .article-content :is(p, li) { line-height: 2; }
  .mrtax-responsive .article-aside { order: 0; }
  .mrtax-responsive .reader-tools { flex-wrap: wrap; gap: 12px; padding: 12px; }
  .mrtax-responsive .reader-tools > div { min-width: 0; max-width: 100%; flex-wrap: wrap; }
  .mrtax-responsive .reader-tools > div:last-child { width: 100%; justify-content: space-between; }
  .mrtax-responsive .rich-content :is(figure.wp-block-table, pre), .mrtax-responsive .mobile-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .mrtax-responsive .mobile-toc { margin-bottom: 16px; padding: 0 14px; border: 1px solid #e7eef5; border-radius: 12px; background: #fff; }
  .mrtax-responsive .mobile-toc > summary { min-height: 48px; padding-block: 12px; color: #0167ad; font-size: 14px; font-weight: 700; cursor: pointer; }
  .mrtax-responsive .mobile-toc .article-aside-card { display: block; padding: 0 0 12px; border: 0; box-shadow: none; }
  .mrtax-responsive .mobile-toc .article-aside-card > h2 { display: none; }
  .mrtax-responsive .mobile-toc .reader-toc { max-height: 40dvh; overflow-y: auto; }
  .mrtax-responsive .mobile-toc .reader-toc a { min-height: 44px; }
  .mrtax-responsive .mobile-detail > summary { padding: 12px 0; min-height: 48px; font-size: 14px; font-weight: 700; color: #0167ad; cursor: pointer; }
  .mrtax-responsive .mobile-search-filters { padding: 0 14px; border: 1px solid #e7eef5; border-radius: 12px; background: #fff; }
  .mrtax-responsive .mobile-search-filters .search-panel { border: 0; padding: 0 0 14px; box-shadow: none; }
  .mrtax-responsive .mobile-hero-detail { padding-inline: 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; }
  .mrtax-responsive .mobile-hero-detail > summary { color: #fff; }
  .mrtax-responsive .mobile-hero-detail > div { padding-bottom: 14px; }
  .mrtax-responsive .mobile-table-hint { margin-block: 6px; color: #5d6b7c; font-size: 12px; }

  /* No stacked navigation bars above a phone keyboard or an open menu. */
  .mrtax-responsive .bottom-nav-item { min-width: 0; min-height: 60px; }
  .mrtax-responsive .bottom-nav-cta span { max-width: 100%; font-size: 10px; line-height: 1.7; text-align: center; }
  .mrtax-responsive .bottom-nav-item[aria-current="page"] { color: #0167ad; }
  .mrtax-responsive.drawer-open :is(.bottom-nav, .roadmap-mobile-cta, .booking-mobile-summary) { visibility: hidden; pointer-events: none; }
  .mrtax-responsive.mobile-input-focused :is(.bottom-nav, .roadmap-mobile-cta, .booking-mobile-summary) { display: none !important; }
  .mrtax-responsive:has(.booking-step[data-booking-step="4"].is-active) .booking-mobile-summary { display: none !important; }
  .mrtax-responsive :is(.reveal, .reveal.in) { opacity: 1; transform: none; transition: none; }
  .mrtax-responsive .glint { display: none; }
  .mrtax-responsive .campaign-hero-media { max-height: 210px; overflow: hidden; }
  .mrtax-responsive .campaign-hero-media img { width: 100%; height: 210px; object-fit: cover; }
}

@media (max-width: 359px) {
  .mrtax-responsive .mesh h1 { font-size: 26px; }
  .mrtax-responsive .footer-brand-column .footer-socials { gap: 10px; }
  .mrtax-responsive .auth-two-col { grid-template-columns: minmax(0, 1fr); }
}
