/*
Theme Name: Flat Law Firm Flatsome Child
Theme URI: https://flaw.vn
Description: Site-specific child theme for Flatsome 3.20.4. Preserves the Flatsome parent, UX Builder and WordPress content model.
Author: Flat Law Firm
Template: flatsome
Version: 1.2.0
Text Domain: flaw-flatsome-child
*/

:root {
  --flaw-ink: #222222;
  --flaw-muted: #5F5F5F;
  --flaw-accent: #940C27;
  --flaw-paper: #F7F4F0;
  --flaw-line: rgba(36, 33, 31, .16);
  --flaw-radius: 0;
  --flaw-content-max: 1180px;
}

html { scroll-behavior: smooth; }
body.flaw-legal-site { background: var(--flaw-paper); color: var(--flaw-ink); }
body.flaw-legal-site .container { max-width: var(--flaw-content-max); }
body.flaw-legal-site img { max-width: 100%; height: auto; }
body.flaw-legal-site .entry-content { overflow-wrap: anywhere; }
body.flaw-legal-site .entry-content iframe,
body.flaw-legal-site .entry-content table { max-width: 100%; }
body.flaw-legal-site .entry-content table { display: block; overflow-x: auto; }

/* Locale-aware navigation keeps the Flatsome header markup and mobile drawer. */
body.flaw-legal-site .header-nav > li > a,
body.flaw-legal-site .nav-dropdown > li > a { letter-spacing: .02em; }
body.flaw-legal-site .header-nav .nav-dropdown { border-top: 2px solid var(--flaw-accent); }
body.flaw-legal-site .header-nav .nav-dropdown li:hover > a { color: var(--flaw-accent); }
body.flaw-legal-site .header-main .nav-left,
body.flaw-legal-site .header-main .nav-right { align-items: center; }

.flaw-language-switcher { display: inline-flex; align-items: center; gap: .45rem; margin-left: .75rem; }
.flaw-language-switcher a { color: inherit; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.flaw-language-switcher a[aria-current="true"] { color: var(--flaw-accent); }
.flaw-header-contact { margin-left: .85rem; }
.flaw-header-contact a { background: var(--flaw-accent); color: #fff; padding: .7rem 1rem; border-radius: 999px; font-size: .75rem; font-weight: 600; letter-spacing: .05em; }

.flaw-footer-contact { border-top: 1px solid var(--flaw-line); padding: 3.25rem 0 1.25rem; }
.flaw-footer-contact__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; gap: 2rem; }
.flaw-footer-contact__label { color: var(--flaw-accent); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.flaw-footer-contact__address { font-style: normal; }
.flaw-footer-contact__bottom { border-top: 1px solid var(--flaw-line); margin-top: 2rem; padding-top: 1rem; color: var(--flaw-muted); font-size: .78rem; display: flex; justify-content: space-between; gap: 1rem; }

@media (max-width: 849px) {
  .flaw-language-switcher { margin-left: .35rem; gap: .3rem; }
  .flaw-header-contact { display: none; }
  .flaw-footer-contact__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .flaw-footer-contact__bottom { display: block; }
  .flaw-footer-contact__bottom span { display: block; margin-top: .4rem; }
  body.flaw-legal-site .entry-content img { width: auto; }
}

@media (max-width: 549px) {
  body.flaw-legal-site .page-wrapper,
  body.flaw-legal-site .blog-wrapper { padding-top: 1rem; }
  body.flaw-legal-site .entry-content { font-size: 1rem; line-height: 1.75; }
}

/* The old top bar has no configured content on flaw.vn; keep the parent header but avoid empty placeholders. */
body.flaw-legal-site .header-top { display: none; }


/* Keep homepage action and trust groups readable on narrow screens. */
@media (max-width: 549px) {
  body.flaw-legal-site .jpv-ml-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .7rem;
  }

  body.flaw-legal-site .jpv-ml-actions > .jpv-ml-button {
    display: block;
    margin: 0;
    width: 100%;
    text-align: center;
  }

  body.flaw-legal-site .jpv-ml-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
  }

  body.flaw-legal-site .jpv-ml-trust > * {
    display: block;
    margin: 0;
  }
}
