/*
Theme Name: Manoj Yadav Advocate - Stitch
Theme URI: https://manojyadavadvocate.com/
Author: Chambers of Manoj Yadav
Author URI: https://manojyadavadvocate.com/
Description: Editorial Legal Chambers design (Stitch redesign) for manojyadavadvocate.com. Warm paper background, brass accents, Playfair Display headlines, Source Sans 3 body. Tailwind is pre-compiled to assets/css/tailwind.css at build time (see BUILD-TAILWIND.md); this sheet holds the WordPress-required header plus content typography for post/page bodies.
Version: 1.7.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mya-stitch
*/

/* ---------- Content typography (post/page bodies from the WP editor) ---------- */
.mya-content { color: #1d1c16; }
.mya-content h1, .mya-content h2, .mya-content h3, .mya-content h4 {
	font-family: "Playfair Display", Georgia, serif;
	color: #241811;
	letter-spacing: -0.015em;
	margin: 2em 0 0.7em;
	line-height: 1.25;
}
.mya-content h2 { font-size: 26px; font-weight: 600; }
.mya-content h3 { font-size: 20px; font-weight: 600; }
.mya-content h4 { font-size: 17px; font-weight: 600; }
.mya-content p { margin: 0 0 1.15em; line-height: 1.75; }
.mya-content a { color: #8a5c1c; text-decoration: underline; text-underline-offset: 3px; }
.mya-content a:hover { color: #241811; }
.mya-content ul, .mya-content ol { margin: 0 0 1.25em 1.4em; }
.mya-content ul { list-style: disc; }
.mya-content ol { list-style: decimal; }
.mya-content li { margin-bottom: 0.45em; line-height: 1.7; }
.mya-content blockquote {
	margin: 1.6em 0; padding: 1em 1.4em;
	background: #f8f3ea; border-left: 3px solid #bd8b34;
	font-family: "Playfair Display", Georgia, serif; font-style: italic; color: #452e1d;
}
.mya-content table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 15px; }
.mya-content th, .mya-content td { border: 1px solid #e7e2d9; padding: 10px 12px; text-align: left; vertical-align: top; }
.mya-content th { background: #f2ede4; font-weight: 600; }
.mya-content tr.odd td, .mya-content tr:nth-child(odd) td { background: #fdf8ef; }
.mya-content img { max-width: 100%; height: auto; }
.mya-content hr { border: 0; border-top: 1px solid #e7e2d9; margin: 2em 0; }
.mya-content strong { color: #241811; }
.mya-content code { background: #f2ede4; padding: 2px 6px; font-size: 0.92em; }

/* ---------- FAQ blocks seeded in content ---------- */
.mya-content .mya-faq, .mya-content .faq { background: #fdf8ef; border: 1px solid #e7e2d9; padding: 18px 20px; margin: 1.4em 0; }

/* ---------- Small helpers ---------- */
.pt-18 { padding-top: 4.5rem; }
.md\:py-18 { padding-top: 4.5rem; padding-bottom: 4.5rem; }

/* Material Symbols alignment */
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: middle; }


/* ---------- v1.2.0: premium detail-page content ---------- */
.mya-premium ul li::marker { color: #bd8b34; }
.mya-premium li strong, .mya-premium p strong { color: #241811; }


/* ---------- v1.2.6: mobile fixes ---------- */
@media (max-width: 767px) {
  /* metric strip: 2x2, smaller numerals, allow wrap */
  .mya-stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [class*="font-headline-xxl"] { word-wrap: break-word; overflow-wrap: break-word; }
  /* big stat numerals scale down */
  .text-headline-xxl, [class*="text-[40px]"], [class*="text-[48px]"], [class*="text-[56px]"] { font-size: 30px !important; line-height: 1.1 !important; }
  /* hero title */
  h1 { word-break: normal; overflow-wrap: break-word; }
  /* prevent any overflow-x from wide grids/tables */
  body { overflow-x: hidden; }
  table { display: block; overflow-x: auto; }
  /* long headings in cards */
  .font-headline-xl, .font-headline-lg { overflow-wrap: break-word; }
}


/* ---------- v1.2.7: mobile stat numerals + strip wrap ---------- */
@media (max-width: 767px) {
  /* stat strip numerals/words (font-headline-xl = 38px) must not bleed into the adjacent cell */
  .text-headline-xl { font-size: 26px !important; line-height: 1.15 !important; letter-spacing: -0.01em !important; }
  /* every stat strip: never more than 2 columns on phones */
  /* long labels inside stat tiles wrap instead of clipping */
  .font-label-caps { overflow-wrap: break-word; }
  /* directory-index pill rows scroll horizontally instead of breaking layout */
  nav[class*="flex"], div[class*="overflow-x-auto"] { max-width: 100%; }
  /* images never exceed viewport */
  img { max-width: 100%; height: auto; }
}





/* ---------- v1.5.6: homepage metric strip — stop mid-word breaking on mobile ----------
   The strip is `grid grid-cols-2 md:grid-cols-4`. At 2 columns the 38px numerals and
   the tracking-widest labels were wider than their cell, so overflow-wrap:break-word
   (inherited from the mobile rules above) split real words: "Locatio/ns", "Appell/ate". */
@media (max-width: 767px) {
  .grid.grid-cols-2.md\:grid-cols-4 > div > .font-headline-xl,
  .grid.grid-cols-2.md\:grid-cols-4 > div > .text-headline-xl {
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
  .grid.grid-cols-2.md\:grid-cols-4 .font-label-caps,
  .grid.grid-cols-2.md\:grid-cols-4 .text-label-caps {
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
}

/* ---------- v1.5.6: contain wide content inside post/page bodies ---------- */
@media (max-width: 767px) {
  .mya-content table { display: block; width: 100% !important; max-width: 100%; overflow-x: auto; }
  .mya-content img, .mya-content iframe, .mya-content pre, .mya-content video {
    max-width: 100% !important; height: auto;
  }
  .mya-content > div, .mya-content > section { max-width: 100% !important; }
  /* icon badge boxes must never be widened by a long ligature/icon name */
  .w-8.h-8, .w-10.h-10, .w-12.h-12 { overflow: hidden; }
}


/* ---------- v1.5.7: FAQ accordion state (works with the new JS in main.js) ---------- */
#faq-accordion .faq-btn[aria-expanded="false"] + .faq-content,
#faq-accordion-group .faq-toggle[aria-expanded="false"] + .faq-content { display: none; }
#faq-accordion .faq-btn[aria-expanded="true"] .material-symbols-outlined,
#faq-accordion-group .faq-toggle[aria-expanded="true"] .material-symbols-outlined { transform: rotate(180deg); }

/* ---------- v1.5.7: long email/phone must wrap inside narrow sidebar cards,
   and let the flex text column shrink (min-width:0) instead of overflowing ---------- */
a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; }
aside .sticky, aside .sticky > div, aside .sticky > div > div { min-width: 0; }
/* NOTE: do NOT set overflow-wrap:anywhere on all sidebar text — it splits ordinary
   words mid-word. min-width:0 above is what actually fixes the email overflow. */
