/*
Theme Name: Luna Silva Law
Author: Luna Silva Law
Description: Custom theme for Luna Silva Law — California workers' compensation defense.
Version: 1.0.15
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: luna-silva-law
*/
/* ---- Layout tokens: one content width, one side gutter, one content edge ---- */
:root{
  --lsl-max:1240px;
  --lsl-gutter:clamp(20px,5vw,64px);
  /* distance from the viewport edge to the content edge; used by full-bleed bars (header, hero) */
  --lsl-edge:max(var(--lsl-gutter), calc((100% - var(--lsl-max)) / 2));
}
html,body{margin:0;padding:0;background:#fff;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:'Inter',sans-serif;color:#0d2848;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box;}
a{color:inherit;text-decoration:none;}
a:hover{color:#ffe13e;}
[data-logos-track]::-webkit-scrollbar{display:none;}
.lsl-nav-link{color:#fff;}
.lsl-header .lsl-nav-link{color:#0d2848;}
.lsl-nav-link.current-menu-item,.lsl-nav-link.current_page_item{color:#ffe13e;}
.lsl-content a{color:#3d5ea7;text-decoration:underline;}
.lsl-content img{max-width:100%;height:auto;}
.lsl-drawer{position:fixed;inset:0;z-index:100;background:#0d2848;display:flex;flex-direction:column;padding:clamp(20px,5vw,64px);overflow-y:auto;}
.lsl-drawer[hidden]{display:none;}
.lsl-drawer-top{display:flex;justify-content:flex-end;}
.lsl-drawer-close{background:#ffe13e;border:0;width:44px;height:44px;border-radius:50%;color:#0d2848;font-size:22px;line-height:1;cursor:pointer;}
.lsl-drawer-nav{display:flex;flex-direction:column;gap:clamp(20px,4vh,36px);margin:auto 0;padding:32px 0;}
.lsl-drawer-nav .lsl-nav-link{color:#fff;font-size:clamp(28px,6vw,44px);}
.lsl-drawer-contact{margin:0;color:#b9c7dc;font-size:14px;line-height:1.7;}
body.lsl-menu-open{overflow:hidden;}
@media (max-width:899px){.lsl-header .lsl-nav-link{display:none !important;}.lsl-header-menu-btn{display:flex !important;}}

/* ---- People cards (homepage founders/associates + Attorneys page) ----
   Photo and text sit side by side in a fixed two-column grid, so every card in a row
   starts at the same height. On phones they stack: photo, then text, sharing one edge. */
.lsl-people{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(48px,6vw,88px) clamp(32px,5vw,80px);}
.lsl-person{--lsl-photo:clamp(200px,26vw,280px);display:grid;grid-template-columns:var(--lsl-photo) minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start;min-width:0;}
.lsl-person__photo{width:100%;aspect-ratio:3/4;overflow:hidden;background:#e9ecf3;}
.lsl-person__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.lsl-person__body{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;max-width:680px;}
.lsl-person__link{padding:4px 0;}
/* homepage: two cards per row once both fit side by side */
@media (min-width:1180px){
  .lsl-people--grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lsl-people--grid .lsl-person{--lsl-photo:clamp(180px,15vw,250px);}
}
/* Attorneys page: one bio per row with a larger portrait */
.lsl-people--list .lsl-person{--lsl-photo:clamp(220px,32vw,420px);gap:clamp(28px,4vw,64px);}
/* phones */
@media (max-width:639px){
  .lsl-person{grid-template-columns:minmax(0,1fr);gap:20px;}
  .lsl-person__photo{max-width:320px;}
  .lsl-people--grid .lsl-person{justify-items:center;}
  .lsl-people--grid .lsl-person__photo{max-width:240px;}
  .lsl-people--grid .lsl-person__body{align-items:center;text-align:center;}
  .lsl-people--list .lsl-person__photo{max-width:420px;}
  .lsl-person__link{padding:12px 0;}
}

/* ---- Primary call-to-action button ---- */
.lsl-cta-btn{display:inline-block;background:#ffe13e;color:#0d2848;font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;line-height:1.2;padding:18px 40px;white-space:nowrap;text-align:center;transition:background .2s ease,color .2s ease;}
.lsl-cta-btn:hover{background:#0d2848;color:#ffe13e;}
@media (max-width:599px){.lsl-cta-btn{width:100%;}}

/* ---- Comfortable tap targets on touch screens ---- */
@media (max-width:767px){
  footer li a{display:inline-block;padding:6px 0;}
  footer ul{gap:4px !important;}
}
