/* ==========================================================
   PASQUINI LAW — GLOBAL REFINEMENT CSS
   Premium polish: typography, buttons, contrast, spacing
   ========================================================== */

/* --- A. TYPOGRAPHY & READABILITY --- */

/* Body text: larger, more readable */
.entry-content p,
.entry-content li,
div[style*="font-size:0.975rem"],
div[style*="font-size:0.9rem"] p,
p[style*="font-size:0.975rem"],
p[style*="font-size:0.9rem"] {
  font-size: 1.04rem !important;
  line-height: 1.92 !important;
}

/* Card body text: more readable */
p[style*="font-size:0.875rem"] {
  font-size: 0.95rem !important;
  line-height: 1.85 !important;
}

/* FAQ answer text */
.pl-faq-a p {
  font-size: 0.95rem !important;
  line-height: 1.92 !important;
}

/* FAQ question headings */
.pl-faq-q h3 {
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
}

/* Kicker / overline text: larger, more legible */
p[style*="font-size:0.62rem"],
p[style*="font-size:0.65rem"],
p[style*="font-size:0.68rem"] {
  font-size: 0.74rem !important;
  letter-spacing: 0.2em !important;
}

/* H1 headings: larger, more confident */
h1,
.entry-content h1,
div[style*="padding"] h1 {
  font-size: 2.6rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
}

/* Hero cover H1s: even bolder */
.wp-block-cover h1,
.wp-block-cover__inner-container h1 {
  font-size: 2.75rem !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}

/* H2 headings: refined editorial feel */
h2,
.entry-content h2,
h2[style*="font-size:2rem"],
h2[style*="font-size:1.9rem"],
h2[style*="font-size:1.85rem"] {
  font-size: 2.1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
}

/* H3 headings: distinct from body */
h3,
.entry-content h3,
h3[style*="font-size:1rem"],
h3[style*="font-size:0.95rem"] {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* Small text in dark trust bars */
div[style*="background:#16284a"] p[style*="font-size:0.62rem"],
div[style*="background:#16284a"] p[style*="font-size:0.65rem"] {
  font-size: 0.68rem !important;
  color: #7a9ab8 !important;
}
div[style*="background:#16284a"] p[style*="font-size:1.1rem"] {
  font-size: 1.2rem !important;
}

/* --- B. BUTTONS & CTA SYSTEM --- */

/* Primary CTA: gold background */
a[style*="background:#c9a84c"],
a[style*="background: #c9a84c"] {
  padding: 15px 30px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  border-radius: 2px !important;
  transition: opacity 0.2s ease !important;
}
a[style*="background:#c9a84c"]:hover,
a[style*="background: #c9a84c"]:hover {
  opacity: 0.9 !important;
}

/* Secondary CTA: navy background */
a[style*="background:#1a2d4e"],
a[style*="background: #1a2d4e"] {
  padding: 15px 30px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  border-radius: 2px !important;
  transition: opacity 0.2s ease !important;
}
a[style*="background:#1a2d4e"]:hover,
a[style*="background: #1a2d4e"]:hover {
  opacity: 0.9 !important;
}

/* Tertiary: outline/ghost buttons */
a[style*="border:1px solid #c8c0b0"],
a[style*="border: 1px solid #c8c0b0"],
a[style*="border:1.5px solid"] {
  padding: 15px 30px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  border-radius: 2px !important;
}

/* "Learn More" links: slightly larger */
a[style*="text-transform:uppercase"][style*="font-size:0.78rem"],
a[style*="text-transform:uppercase"][style*="font-size:0.75rem"] {
  font-size: 0.8rem !important;
  letter-spacing: 0.1em !important;
}

/* --- C. NAVIGATION & HEADER --- */

/* Logo: slightly more presence */
.site-header .custom-logo,
.kadence-header .custom-logo,
#masthead .custom-logo,
.site-branding img,
.custom-logo-link img {
  max-height: 52px !important;
  height: auto !important;
  width: auto !important;
}

/* Nav links: slightly more spacing */
#masthead .main-navigation a,
.site-header .main-navigation a,
.kadence-header .main-navigation a,
[class*="kadence-header"] nav a {
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* Dropdown menu items: refined */
#masthead .sub-menu a,
.site-header .sub-menu a,
.kadence-header .sub-menu a {
  font-size: 0.85rem !important;
  padding: 10px 18px !important;
}

/* --- D. SPACING & RHYTHM --- */

/* Section dividers: tighter gold lines */
div[style*="width:42px;height:3px;background:#c9a84c"],
div[style*="width:48px;height:3px;background:#c9a84c"] {
  width: 44px !important;
  height: 3px !important;
  margin-bottom: 26px !important;
}

/* Section heading clusters: tighter spacing */
div[style*="text-align:center;margin-bottom:52px"],
div[style*="text-align:center;margin-bottom:48px"] {
  margin-bottom: 44px !important;
}

/* --- E. DARK NAVY SECTIONS --- */

/* Improve text contrast on dark backgrounds */
div[style*="background:#09182c"] p[style*="color:#6a8aaa"],
div[style*="background:#09182c"] p[style*="color:#5a7a9a"],
div[style*="background:#0a1c30"] p[style*="color:#6a8aaa"],
div[style*="background:#0a1c30"] p[style*="color:#5a7a9a"] {
  color: #8fb0cc !important;
}

div[style*="background:#09182c"] p[style*="color:#c9d1da"],
div[style*="background:#09182c"] p[style*="color:#b8c4d0"],
div[style*="background:#0a1c30"] p[style*="color:#c9d1da"],
div[style*="background:#0a1c30"] p[style*="color:#b8c4d0"] {
  color: #d8e0e8 !important;
}

/* Dark section headings: brighter white */
div[style*="background:#09182c"] h2[style*="color:#ffffff"],
div[style*="background:#09182c"] h3[style*="color:#ffffff"],
div[style*="background:#0a1c30"] h2[style*="color:#ffffff"],
div[style*="background:#0a1c30"] h3[style*="color:#ffffff"] {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
}

/* Dark section body text: more readable */
div[style*="background:#09182c"] p[style*="font-size:0.875rem"],
div[style*="background:#0a1c30"] p[style*="font-size:0.875rem"] {
  font-size: 0.95rem !important;
  line-height: 1.85 !important;
}

/* Dark cards/panels: more padding */
div[style*="background:#09182c"] div[style*="padding:28px"],
div[style*="background:#09182c"] div[style*="padding:26px"],
div[style*="background:#0a1c30"] div[style*="padding:28px"],
div[style*="background:#0a1c30"] div[style*="padding:26px"] {
  padding: 32px !important;
}

/* Statewide coverage dark section text */
div[style*="background:#09182c"] p[style*="font-size:0.9rem"],
div[style*="background:#0a1c30"] p[style*="font-size:0.9rem"] {
  font-size: 0.96rem !important;
  line-height: 1.88 !important;
}

/* --- F. FOOTER --- */

/* Footer text: improved readability */
.site-footer,
.site-footer-wrap,
footer.site-footer {
  font-size: 0.92rem !important;
}

.site-footer a,
.site-footer-wrap a,
footer.site-footer a {
  color: rgba(255,255,255,0.75) !important;
  transition: color 0.2s ease !important;
}
.site-footer a:hover,
footer.site-footer a:hover {
  color: #c9a84c !important;
}

/* Footer headings */
.site-footer h2,
.site-footer h3,
.site-footer .widget-title,
footer.site-footer h2,
footer.site-footer h3 {
  color: #ffffff !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Copyright line: better contrast */
.site-footer .site-info,
.site-footer-below-wrap,
.footer-copyright,
footer .site-info {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.82rem !important;
}

/* --- G. CARD & GRID POLISH --- */

/* Practice area cards: refined shadows */
div[style*="border-top:3px solid #c9a84c"][style*="box-shadow"] {
  box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}
div[style*="border-top:3px solid #c9a84c"][style*="box-shadow"]:hover {
  box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
  transform: translateY(-2px) !important;
}

/* Card content padding: slightly more generous */
div[style*="padding:26px 26px 34px 26px"],
div[style*="padding:26px 26px 32px 26px"] {
  padding: 28px 28px 36px 28px !important;
}

/* Internal links: refined styling */
a[style*="color:#c9a84c"][style*="text-decoration:none"][style*="font-weight:600"] {
  border-bottom: 1px solid rgba(201,168,76,0.3) !important;
  transition: border-color 0.2s ease !important;
}
a[style*="color:#c9a84c"][style*="text-decoration:none"][style*="font-weight:600"]:hover {
  border-bottom-color: #c9a84c !important;
}

/* --- H. MOBILE REFINEMENTS --- */

@media (max-width: 768px) {
  /* Body text: still readable on mobile */
  .entry-content p,
  p[style*="font-size:0.975rem"],
  p[style*="font-size:0.9rem"] {
    font-size: 0.98rem !important;
    line-height: 1.85 !important;
  }

  /* H1 on mobile */
  .wp-block-cover h1,
  .wp-block-cover__inner-container h1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  /* H2 on mobile */
  h2, .entry-content h2 {
    font-size: 1.75rem !important;
  }

  /* Cards: readable on mobile */
  p[style*="font-size:0.875rem"] {
    font-size: 0.92rem !important;
  }

  /* Buttons: full width and comfortable */
  a[style*="background:#c9a84c"],
  a[style*="background:#1a2d4e"] {
    padding: 16px 24px !important;
    font-size: 0.85rem !important;
  }

  /* Logo: appropriate mobile size */
  .site-header .custom-logo,
  .kadence-header .custom-logo,
  #masthead .custom-logo {
    max-height: 42px !important;
  }
}

@media (max-width: 420px) {
  .wp-block-cover h1,
  .wp-block-cover__inner-container h1 {
    font-size: 1.75rem !important;
    line-height: 1.22 !important;
  }
}


/* ===========================================================
   MOBILE RESPONSIVENESS FIXES
   Added: 2026-04-05
   Purpose: Fix header overlap, grid stacking, spacing on mobile
   Safe to remove: restores to previous state
   =========================================================== */

/* --- 1. FIX HEADER/HERO TEXT OVERLAP (ALL PAGES) --- */
/* The transparent absolute header (80px) overlaps hero banner text.
   This adds top padding so text clears the header on mobile. */
@media (max-width: 768px) {
  .wp-block-cover .wp-block-cover__inner-container {
    padding-top: 80px !important;
  }

  /* Reduce cover min-heights on mobile for proportional banners */
  .wp-block-cover.alignfull {
    min-height: 320px !important;
  }
}

/* --- 2. FORCE ALL INLINE GRIDS TO SINGLE-COLUMN ON MOBILE --- */
/* Inline grid-template-columns can only be overridden with !important */
@media (max-width: 768px) {
  .entry-content [style*="grid-template-columns"],
  .entry-content-wrap [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Also handle the practice grid on homepage */
  .pl-practice-grid,
  .pl-atty-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* --- 3. RESPONSIVE IMAGES AND IFRAMES --- */
@media (max-width: 768px) {
  .entry-content img,
  .entry-content-wrap img {
    width: 100% !important;
    height: auto !important;
    max-height: 300px;
    object-fit: cover;
  }

  .entry-content iframe,
  .entry-content-wrap iframe {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* --- 4. IMPROVED TAP TARGETS FOR MOBILE --- */
@media (max-width: 768px) {
  /* Mobile nav drawer links */
  .mobile-navigation a,
  .drawer-navigation a {
    padding: 12px 16px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* Footer links */
  .site-footer a {
    padding: 6px 0;
    display: inline-block;
    min-height: 44px;
    line-height: 32px;
  }

  /* CTA buttons - ensure good tap size */
  .entry-content a[style*="padding"],
  .entry-content-wrap a[style*="padding"] {
    min-height: 44px;
    min-width: 44px;
  }
}

/* --- 5. SECTION SPACING FIXES FOR MOBILE --- */
@media (max-width: 768px) {
  /* Reduce oversized section padding on mobile */
  .entry-content [style*="padding: 80px"],
  .entry-content [style*="padding:80px"],
  .entry-content-wrap [style*="padding: 80px"],
  .entry-content-wrap [style*="padding:80px"] {
    padding: 40px 20px !important;
  }

  .entry-content [style*="padding: 64px"],
  .entry-content [style*="padding:64px"],
  .entry-content-wrap [style*="padding: 64px"],
  .entry-content-wrap [style*="padding:64px"] {
    padding: 32px 16px !important;
  }

  /* Ensure content doesn't touch screen edges */
  .entry-content > div,
  .entry-content-wrap > div {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* But not for full-width cover blocks */
  .wp-block-cover.alignfull {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* --- 6. FOOTER STACKING ON MOBILE --- */
@media (max-width: 768px) {
  .site-top-footer-inner-wrap {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center;
  }

  .site-bottom-footer-inner-wrap {
    text-align: center;
  }
}

/* --- 7. SMALLER BREAKPOINT REFINEMENTS (SMALL PHONES) --- */
@media (max-width: 480px) {
  /* Tighter heading sizes on very small screens */
  .wp-block-cover h1,
  .entry-content h1,
  .entry-content-wrap h1 {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  .entry-content h2,
  .entry-content-wrap h2 {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }

  /* Ensure CTA buttons stack vertically */
  .wp-block-cover .wp-block-cover__inner-container {
    padding-top: 90px !important;
  }
}


/* ===========================================================
   ROUND 2 MOBILE RESPONSIVENESS FIXES
   Added: 2026-04-05
   Purpose: Address remaining mobile issues from second audit
   Safe to remove: restores to Round 1 state
   =========================================================== */

/* --- R2-1: ATTORNEY PAGE BLANK WHITE GAP FIX --- */
/* Removes the 112px gap (32px margin + 80px padding) between
   the hero banner and portrait/bio section on /attorney/ */
@media (max-width: 768px) {
  .page-id-15 .wp-block-cover.alignfull,
  .page-id-15 .wp-block-cover.alignfull {
    margin-bottom: 8px !important;
  }
  .page-id-15 .entry-content > div:nth-child(3),
  .page-id-15 .entry-content > div:nth-child(3) {
    padding-top: 24px !important;
  }
}

/* --- R2-2: CONTACT PAGE CALENDLY CONTAINER OVERFLOW FIX --- */
/* Constrains the Calendly widget wrapper (inline 502px) to
   fit within the mobile viewport */
@media (max-width: 768px) {
  .calendly-inline-widget {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 500px !important;
    overflow: hidden;
  }
  .calendly-inline-widget iframe {
    width: 100% !important;
    height: 100% !important;
  }
}

/* --- R2-3: GREENVILLE/BLUFFTON PHONE GRAPHIC FIX --- */
/* Hides the oversized phone emoji SVG (260e.svg) inside the
   sticky CTA bar so Greenville matches Bluffton's clean layout:
   "Call Now" | "Free Consultation" with no graphic */
@media (max-width: 768px) {
  .pl-bar-call img,
  .pl-bar-call img.emoji {
    display: none !important;
  }
  .pl-bar-consult img,
  .pl-bar-consult img.emoji {
    display: none !important;
  }
}

/* --- R2-4: BROADER SECTION PADDING REDUCTION --- */
/* Catches sections using padding shorthand (padding:80px 24px)
   not caught by R1 selectors. No-space format matches inline styles. */
@media (max-width: 768px) {
  .entry-content > div[style*="padding:80px"],
  .entry-content > div[style*="padding: 80px"],
  .entry-content-wrap > div[style*="padding:80px"],
  .entry-content-wrap > div[style*="padding: 80px"] {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .entry-content > div[style*="padding:68px"],
  .entry-content > div[style*="padding: 68px"],
  .entry-content-wrap > div[style*="padding:68px"],
  .entry-content-wrap > div[style*="padding: 68px"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .entry-content > div[style*="padding:64px"],
  .entry-content > div[style*="padding: 64px"],
  .entry-content-wrap > div[style*="padding:64px"],
  .entry-content-wrap > div[style*="padding: 64px"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* --- R2-5: SCOPE IMAGE STRETCHING RULE --- */
/* Exclude CTA bar icons and small decorative images from
   the Round 1 width:100% rule */
@media (max-width: 768px) {
  .pl-bar-call img,
  .pl-bar-consult img,
  .site-header img,
  .site-footer img {
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
  }
}

/* --- R2-6: NORMALIZE COVER HEIGHTS ON MOBILE --- */
/* Tightens homepage hero: removes excess grey space around
   phone number by shrinking cover and top-aligning content */
@media (max-width: 768px) {
  .home .wp-block-cover.alignfull {
    min-height: 380px !important;
    align-items: flex-start !important;
  }
  .home .wp-block-cover .wp-block-cover__inner-container {
    padding-bottom: 24px !important;
  }
}
@media (max-width: 480px) {
  .home .wp-block-cover.alignfull {
    min-height: 340px !important;
  }
}

/* --- R2-7: CENTER-ALIGN STACKED GRID ITEMS --- */
/* When multi-column grids stack to single column on mobile,
   center the text for better visual balance */
@media (max-width: 768px) {
  .entry-content [style*="grid-template-columns: repeat(3"],
  .entry-content [style*="grid-template-columns: repeat(4"],
  .entry-content [style*="grid-template-columns:repeat(3"],
  .entry-content [style*="grid-template-columns:repeat(4"],
  .entry-content-wrap [style*="grid-template-columns: repeat(3"],
  .entry-content-wrap [style*="grid-template-columns: repeat(4"],
  .entry-content-wrap [style*="grid-template-columns:repeat(3"],
  .entry-content-wrap [style*="grid-template-columns:repeat(4"] {
    text-align: center;
  }
}

/* --- R2-8: ATTORNEY DETAIL BOX FONT SIZE --- */
/* Bumps small 0.72rem text to readable 14px on mobile */
@media (max-width: 768px) {
  .entry-content [style*="font-size: 0.72rem"],
  .entry-content [style*="font-size:0.72rem"],
  .entry-content-wrap [style*="font-size: 0.72rem"],
  .entry-content-wrap [style*="font-size:0.72rem"] {
    font-size: 0.875rem !important;
  }
}

/* --- R2-9: RINGCENTRAL / CTA BAR OVERLAP PREVENTION --- */
/* Pushes the RingCentral floating widget above the sticky
   CTA bars on location pages */
@media (max-width: 768px) {
  #rc-widget-adapter-frame,
  [id*="ringcentral"],
  body > div[style*="position: fixed"][style*="bottom: 100px"] {
    bottom: 140px !important;
  }
}

/* --- R2-10: FAQ HEADING TAP TARGETS --- */
/* Ensures FAQ question headings have adequate touch size */
@media (max-width: 768px) {
  .entry-content details summary,
  .entry-content-wrap details summary {
    min-height: 44px;
    padding: 12px 16px !important;
    cursor: pointer;
  }
  .entry-content h3[id],
  .entry-content-wrap h3[id] {
    padding: 8px 0;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* ===========================================================
   LOCATION PAGE HERO TIGHTENING (Greenville + Bluffton)
   Added: 2026-04-05
   Purpose: Move heading/text onto hero image, shrink grey gap,
            make both location pages visually consistent
   Safe to remove: restores to previous 70vh centered layout
   =========================================================== */

/* --- GREENVILLE HERO (page-id-107) --- */
@media (max-width: 768px) {
  .page-id-107 .wp-block-cover.alignfull {
    min-height: auto !important;
    align-items: flex-start !important;
  }
  .page-id-107 .wp-block-cover .wp-block-cover__inner-container {
    padding-top: 80px !important;
    padding-bottom: 32px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .page-id-107 .wp-block-cover .wp-block-cover__inner-container h1 {
    margin-bottom: 12px !important;
  }
  .page-id-107 .wp-block-cover .wp-block-cover__inner-container p {
    margin-bottom: 24px !important;
  }
  .page-id-107 .wp-block-cover .wp-block-cover__inner-container a:last-child {
    margin-top: 8px !important;
  }
}

/* --- BLUFFTON HERO (page-id-105) --- */
@media (max-width: 768px) {
  .page-id-105 .wp-block-cover.alignfull {
    min-height: auto !important;
    align-items: flex-start !important;
  }
  .page-id-105 .wp-block-cover .wp-block-cover__inner-container {
    padding-top: 80px !important;
    padding-bottom: 32px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .page-id-105 .wp-block-cover .wp-block-cover__inner-container h1 {
    margin-bottom: 12px !important;
  }
  .page-id-105 .wp-block-cover .wp-block-cover__inner-container p {
    margin-bottom: 24px !important;
  }
  .page-id-105 .wp-block-cover .wp-block-cover__inner-container a:last-child {
    margin-top: 8px !important;
  }
}