/* ============================================================
   Legal Pages Suite — Stylesheet
   Mobile-first. Single shared design system for every tool page.
   ============================================================ */
:root{
  --ls-primary:#274c77; --ls-primary-dark:#1a365d; --ls-secondary:#6096ba; --ls-accent:#4895ef;
  --ls-bg:#f0f3fb; --ls-surface:#ffffff; --ls-surface-2:#f8fafd; --ls-border:#e4e9f2;
  --ls-text:#1e2a3a; --ls-muted:#5b6b7f; --ls-success:#1f9d63; --ls-warning:#f8961e; --ls-danger:#e0417f;
  --ls-radius:14px; --ls-radius-sm:9px;
  --ls-shadow-sm:0 1px 3px rgba(30,42,58,.07); --ls-shadow:0 6px 18px rgba(30,42,58,.09); --ls-shadow-lg:0 18px 44px rgba(30,42,58,.13);
  --ls-grad:linear-gradient(135deg,#274c77 0%,#6096ba 100%);
  --ls-grad-accent:linear-gradient(135deg,#4895ef 0%,#1f9d63 100%);
  --ls-ring:0 0 0 4px rgba(72,149,239,.16);
  --ls-transition:all .22s cubic-bezier(.25,.8,.25,1);
  --ls-maxw:1180px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}
body{
  font-family:'Lora',Georgia,serif !important;
  background:url('/theme/image/background.svg') no-repeat center center fixed !important;
  background-size:cover !important; background-color:var(--ls-bg) !important;
  color:var(--ls-text); line-height:1.65; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; padding-top:54px;
}
img{max-width:100%;display:block}
.ls-font-ui{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.ls-container{max-width:var(--ls-maxw);margin:0 auto;padding:0 1.1rem}
.ls-h1{font-size:clamp(1.7rem,6vw,2.9rem);line-height:1.22;font-weight:800;color:#fff;letter-spacing:-.5px}
.ls-h2{font-size:clamp(1.3rem,4vw,2rem);font-weight:800;color:var(--ls-primary);position:relative;padding-bottom:.7rem;margin-bottom:1.4rem}
.ls-h2::after{content:'';position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:2px;background:var(--ls-grad)}
.ls-h3{font-size:1.1rem;font-weight:700;color:var(--ls-primary-dark)}
.ls-lead{font-size:1.02rem;color:#eaf1f8;max-width:720px;margin:.9rem auto 0}
.ls-text-muted{color:var(--ls-muted)}
.ls-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;letter-spacing:.5px;
  padding:.34rem .85rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px)}

/* ===== BREADCRUMBS ===== */
.ls-breadcrumbs{font-family:'Inter',system-ui,sans-serif;font-size:.82rem;color:#d9e6f5;margin-bottom:.9rem}
.ls-breadcrumbs a{color:#fff;text-decoration:none;opacity:.85}
.ls-breadcrumbs a:hover{opacity:1;text-decoration:underline}
.ls-breadcrumbs span{opacity:.6;margin:0 .35rem}

/* ===== HERO ===== */
.ls-hero{background:var(--ls-grad);color:#fff;padding:2.6rem 0 2rem;position:relative;overflow:hidden;box-shadow:var(--ls-shadow)}
.ls-hero::before{content:'';position:absolute;top:-70px;right:-70px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.09);filter:blur(6px)}
.ls-hero::after{content:'';position:absolute;bottom:-100px;left:-90px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.05)}
.ls-hero-inner{position:relative;z-index:1;text-align:center;max-width:860px;margin:0 auto}
.ls-hero-logo{display:inline-flex;align-items:center;gap:.6rem;font-size:clamp(1.15rem,3vw,1.7rem);font-weight:800;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.5rem 1.3rem;border-radius:999px;backdrop-filter:blur(8px);margin-bottom:1rem}
.ls-hero-logo i{color:#9fd0ff}
.ls-hero-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}

/* ===== MODE CARDS (hub) ===== */
.ls-modes{display:grid;grid-template-columns:1fr;gap:1rem;margin:2rem 0}
@media (min-width:620px){.ls-modes{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.ls-modes{grid-template-columns:repeat(3,1fr)}}
.ls-mode-card{display:flex;flex-direction:column;gap:.55rem;background:var(--ls-surface);border:1px solid var(--ls-border);border-radius:var(--ls-radius);
  padding:1.4rem 1.3rem;text-decoration:none;color:var(--ls-text);box-shadow:var(--ls-shadow-sm);transition:var(--ls-transition);position:relative;overflow:hidden}
.ls-mode-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--ls-grad);opacity:0;transition:var(--ls-transition)}
.ls-mode-card:hover,.ls-mode-card:focus-visible{transform:translateY(-5px);box-shadow:var(--ls-shadow-lg);border-color:var(--ls-accent)}
.ls-mode-card:hover::before,.ls-mode-card:focus-visible::before{opacity:1}
.ls-mode-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;background:var(--ls-grad);box-shadow:0 6px 14px rgba(39,76,119,.28)}
.ls-mode-card h3{font-size:1.06rem;font-weight:700;color:var(--ls-primary-dark)}
.ls-mode-card p{font-size:.9rem;color:var(--ls-muted);flex:1}
.ls-mode-link{font-size:.85rem;font-weight:700;color:var(--ls-accent);display:inline-flex;align-items:center;gap:.4rem}
.ls-mode-card.featured{border:2px solid var(--ls-accent);background:linear-gradient(180deg,#f4f8ff,#fff)}
.ls-mode-card.featured .ls-mode-icon{background:var(--ls-grad-accent)}

/* ===== VALUE STRIP ===== */
.ls-value-strip{display:grid;grid-template-columns:1fr;gap:.9rem;margin:1.8rem 0}
@media (min-width:700px){.ls-value-strip{grid-template-columns:repeat(3,1fr)}}
.ls-value-item{display:flex;gap:.7rem;align-items:flex-start;background:var(--ls-surface);border:1px solid var(--ls-border);border-radius:var(--ls-radius-sm);padding:1rem 1.1rem;box-shadow:var(--ls-shadow-sm)}
.ls-value-item i{color:var(--ls-accent);font-size:1.15rem;margin-top:.15rem;flex-shrink:0}
.ls-value-item h4{font-size:.94rem;color:var(--ls-primary-dark);margin-bottom:.2rem}
.ls-value-item p{font-size:.84rem;color:var(--ls-muted)}

/* ===== STEPS ===== */
.ls-steps{display:flex;justify-content:space-between;margin:1.8rem auto 1.2rem;position:relative;padding:0 .3rem;max-width:760px;flex-wrap:wrap;gap:.7rem;background:transparent}
.ls-steps::before{content:'';position:absolute;top:23px;left:40px;right:40px;height:4px;background:var(--ls-border);border-radius:4px}
.ls-progress{position:absolute;top:23px;left:40px;height:4px;background:var(--ls-grad-accent);border-radius:4px;transition:width .4s ease;z-index:1;max-width:calc(100% - 80px)}
.ls-step{flex:1;min-width:78px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;cursor:default}
.ls-step-num{width:42px;height:42px;border-radius:50%;background:var(--ls-surface-2);border:2px solid var(--ls-border);color:var(--ls-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.02rem;transition:var(--ls-transition);font-family:'Inter',sans-serif}
.ls-step-label{font-size:.76rem;color:var(--ls-muted);margin-top:.5rem;text-align:center;font-weight:600;font-family:'Inter',sans-serif}
.ls-step.active .ls-step-num{background:var(--ls-accent);color:#fff;border-color:var(--ls-accent);transform:scale(1.08);box-shadow:0 0 0 5px rgba(72,149,239,.18)}
.ls-step.active .ls-step-label{color:var(--ls-accent)}
.ls-step.done .ls-step-num{background:var(--ls-success);color:#fff;border-color:var(--ls-success)}
.ls-step.done .ls-step-label{color:var(--ls-success)}

/* ===== WIZARD / FORMS ===== */
.ls-wizard{background:var(--ls-surface);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow-lg);padding:1.4rem;margin:1.6rem 0}
@media (min-width:620px){.ls-wizard{padding:2.1rem}}
.ls-panel{display:none}
.ls-panel.active{display:block;animation:lsFade .4s ease}
@keyframes lsFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ls-panel-intro{font-size:.92rem;color:var(--ls-muted);margin:-.7rem 0 1.2rem}
.ls-field{margin-bottom:1.3rem}
.ls-label{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.94rem;margin-bottom:.5rem;color:var(--ls-text);font-family:'Inter',sans-serif}
.ls-hint{font-size:.8rem;color:var(--ls-muted);margin-top:.4rem}
.ls-req{color:var(--ls-danger)}
.ls-input,.ls-select,.ls-textarea{width:100%;padding:.8rem .95rem;border:1.5px solid var(--ls-border);border-radius:var(--ls-radius-sm);font:inherit;font-size:.96rem;background:#fcfdff;color:var(--ls-text);transition:var(--ls-transition)}
.ls-input:focus,.ls-select:focus,.ls-textarea:focus{outline:none;border-color:var(--ls-accent);box-shadow:var(--ls-ring);background:#fff}
.ls-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235b6b7f' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.ls-check{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .7rem;border-radius:var(--ls-radius-sm);cursor:pointer;transition:var(--ls-transition);font-size:.92rem}
.ls-check:hover{background:var(--ls-surface-2)}
.ls-check input{width:19px;height:19px;accent-color:var(--ls-primary);margin-top:2px;flex-shrink:0}
.ls-grid-2{display:grid;grid-template-columns:1fr;gap:0 1.3rem}
@media (min-width:640px){.ls-grid-2{grid-template-columns:1fr 1fr}}
.ls-checks-grid{display:grid;grid-template-columns:1fr;gap:.1rem}
@media (min-width:640px){.ls-checks-grid.ls-checks-2{grid-template-columns:1fr 1fr}}
/* Tooltip */
.ls-tip{position:relative;display:inline-flex;color:var(--ls-accent);cursor:help}
.ls-tip::after{content:attr(data-tip);position:absolute;bottom:135%;left:50%;transform:translateX(-50%);width:220px;background:var(--ls-primary-dark);color:#fff;font-size:.78rem;font-weight:400;line-height:1.5;padding:.6rem .75rem;border-radius:8px;opacity:0;visibility:hidden;transition:.2s;box-shadow:var(--ls-shadow-lg);z-index:30;pointer-events:none}
.ls-tip:hover::after,.ls-tip:focus-visible::after{opacity:1;visibility:visible}
/* Buttons */
.ls-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border:none;border-radius:var(--ls-radius-sm);font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;transition:var(--ls-transition);text-decoration:none;font-family:'Inter',sans-serif}
.ls-btn-primary{background:var(--ls-grad);color:#fff;box-shadow:var(--ls-shadow-sm)}
.ls-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--ls-shadow)}
.ls-btn-outline{background:#fff;border:2px solid var(--ls-primary);color:var(--ls-primary)}
.ls-btn-outline:hover{background:rgba(39,76,119,.06);transform:translateY(-2px)}
.ls-btn-success{background:var(--ls-grad-accent);color:#fff}
.ls-btn-success:hover{transform:translateY(-2px);box-shadow:var(--ls-shadow)}
.ls-btn:disabled{opacity:.55;cursor:not-allowed;transform:none !important}
.ls-btn-group{display:flex;gap:.8rem;margin-top:1.8rem;flex-wrap:wrap}
.ls-field-error{border-color:var(--ls-danger) !important;box-shadow:0 0 0 3px rgba(224,65,127,.14) !important}
.ls-error-msg{display:flex;align-items:center;gap:.5rem;background:#fdecf2;border:1px solid #f6c3d7;color:#b02159;padding:.7rem .9rem;border-radius:var(--ls-radius-sm);font-size:.88rem;margin-bottom:1rem;font-family:'Inter',sans-serif}
/* Review */
.ls-review{background:var(--ls-surface-2);border:1px solid var(--ls-border);border-radius:var(--ls-radius-sm);padding:1.2rem;margin-bottom:1.1rem}
.ls-review-grid{display:grid;grid-template-columns:1fr;gap:1rem 1.5rem}
@media (min-width:640px){.ls-review-grid{grid-template-columns:1fr 1fr}}
.ls-review h4{color:var(--ls-primary);font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-family:'Inter',sans-serif}
.ls-review p{font-size:.88rem;margin-bottom:.3rem;color:var(--ls-muted)}
.ls-review p b{color:var(--ls-text)}
/* ===== RESULTS ===== */
.ls-result{display:none;background:var(--ls-surface);border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow-lg);padding:1.4rem;margin:1.6rem 0}
@media (min-width:620px){.ls-result{padding:2.1rem}}
.ls-result.active{display:block;animation:lsFade .5s ease}
.ls-result-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:flex-end;margin-bottom:1.2rem}
.ls-tabs{display:flex;gap:.35rem;border-bottom:2px solid var(--ls-border);margin-bottom:1.5rem;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ls-tab{padding:.65rem 1.1rem;background:none;border:none;border-bottom:3px solid transparent;font:inherit;font-weight:700;font-size:.88rem;color:var(--ls-muted);cursor:pointer;transition:var(--ls-transition);margin-bottom:-2px;white-space:nowrap;font-family:'Inter',sans-serif}
.ls-tab:hover{color:var(--ls-primary)}
.ls-tab.active{color:var(--ls-primary);border-bottom-color:var(--ls-accent)}
.ls-docpane{display:none}
.ls-docpane.active{display:block;animation:lsFade .3s ease}
.ls-doc{max-height:540px;overflow-y:auto;padding:1.3rem;border:1px solid var(--ls-border);border-radius:var(--ls-radius-sm);background:#fbfcfe;margin-bottom:1.3rem;line-height:1.85;color:#33404f}
@media (min-width:640px){.ls-doc{padding:1.6rem}}
.ls-doc h1{font-size:1.35rem;color:var(--ls-primary-dark);margin-bottom:.6rem}
.ls-doc h2{font-size:1.1rem;color:var(--ls-primary);margin:1.5rem 0 .6rem}
.ls-doc h3{font-size:1rem;color:var(--ls-primary-dark);margin:1rem 0 .4rem}
.ls-doc p,.ls-doc li{font-size:.93rem;margin-bottom:.55rem}
.ls-doc ul,.ls-doc ol{padding-left:1.3rem;margin-bottom:.8rem}
.ls-doc table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.85rem;display:block;overflow-x:auto}
.ls-doc th{background:var(--ls-primary);color:#fff;padding:.55rem;text-align:left}
.ls-doc td{padding:.55rem;border-bottom:1px solid var(--ls-border)}
.ls-doc tr:nth-child(even){background:var(--ls-surface-2)}
.ls-actions{display:flex;gap:.7rem;flex-wrap:wrap}
.ls-action{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--ls-surface-2);border:1px solid var(--ls-border);border-radius:var(--ls-radius-sm);font:inherit;font-size:.85rem;font-weight:600;color:var(--ls-text);cursor:pointer;transition:var(--ls-transition);font-family:'Inter',sans-serif}
.ls-action:hover{background:var(--ls-border);transform:translateY(-2px)}
.ls-result-note{display:flex;gap:.6rem;align-items:flex-start;background:#fff8e8;border:1px solid #f3dfa8;color:#8a6413;padding:.8rem 1rem;border-radius:var(--ls-radius-sm);font-size:.85rem;margin-top:1.2rem;font-family:'Inter',sans-serif}
.ls-result-note i{margin-top:.15rem}
/* ===== TRUST / PREMIUM / FAQ ===== */
.ls-section{padding:2.6rem 0}
@media (min-width:640px){.ls-section{padding:3.2rem 0}}
.ls-trust{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.6rem}
@media (min-width:640px){.ls-trust{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.ls-trust{grid-template-columns:repeat(4,1fr)}}
.ls-trust-card{background:var(--ls-surface);border:1px solid var(--ls-border);border-radius:var(--ls-radius);padding:1.4rem;box-shadow:var(--ls-shadow-sm);transition:var(--ls-transition)}
.ls-trust-card:hover{transform:translateY(-4px);box-shadow:var(--ls-shadow-lg);border-color:var(--ls-accent)}
.ls-trust-card i{font-size:1.6rem;color:var(--ls-accent);margin-bottom:.7rem}
.ls-trust-card h3{font-size:1rem;color:var(--ls-primary-dark);margin-bottom:.4rem}
.ls-trust-card p{font-size:.86rem;color:var(--ls-muted)}
.ls-premium{background:linear-gradient(135deg,#f3f7ff,#e9f0ff);border:2px solid var(--ls-accent);border-radius:var(--ls-radius);padding:1.7rem;position:relative;overflow:hidden;box-shadow:var(--ls-shadow-lg);margin:2rem 0}
@media (min-width:640px){.ls-premium{padding:2.2rem}}
.ls-premium::before{content:'PREMIUM';position:absolute;top:16px;right:-34px;background:var(--ls-accent);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:1.5px;padding:4px 42px;transform:rotate(45deg);font-family:'Inter',sans-serif}
.ls-premium ul{list-style:none;margin:1.1rem 0;display:grid;grid-template-columns:1fr;gap:.55rem}
@media (min-width:640px){.ls-premium ul{grid-template-columns:repeat(2,1fr)}}
.ls-premium li{display:flex;gap:.55rem;align-items:flex-start;font-size:.92rem}
.ls-premium li i{color:var(--ls-success);margin-top:3px}
.ls-faq{max-width:820px;margin:1.8rem auto 0}
.ls-faq-item{border:1px solid var(--ls-border);border-radius:var(--ls-radius-sm);background:var(--ls-surface);margin-bottom:.7rem;overflow:hidden;box-shadow:var(--ls-shadow-sm)}
.ls-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:none;border:none;font:inherit;font-weight:700;font-size:.96rem;color:var(--ls-text);cursor:pointer;text-align:left;transition:var(--ls-transition)}
.ls-faq-q:hover{color:var(--ls-primary);background:var(--ls-surface-2)}
.ls-faq-q i{transition:var(--ls-transition);color:var(--ls-accent);flex-shrink:0}
.ls-faq-q.active i{transform:rotate(180deg)}
.ls-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 1.2rem}
.ls-faq-a.open{max-height:640px;padding:0 1.2rem 1.1rem}
.ls-faq-a p{font-size:.91rem;color:var(--ls-muted)}
.ls-cta{text-align:center;background:var(--ls-grad);color:#fff;border-radius:var(--ls-radius);padding:2.4rem 1.3rem;margin:2.4rem 0 1rem;position:relative;overflow:hidden}
.ls-cta::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:rgba(255,255,255,.08);border-radius:50%}
.ls-cta h2{color:#fff;border:none;padding:0;margin-bottom:.6rem}
.ls-cta h2::after{display:none}
.ls-cta p{color:#dbe8f5;position:relative}
.ls-cta .ls-btn{background:#fff;color:var(--ls-primary);margin-top:1.3rem;position:relative;border-radius:999px;padding:.95rem 2rem}
.ls-cta .ls-btn:hover{transform:translateY(-3px)}
/* ===== INTERNAL LINK / RELATED TOOLS STRIP ===== */
.ls-related{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.ls-related a{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:600;color:var(--ls-primary);background:var(--ls-surface-2);border:1px solid var(--ls-border);padding:.5rem .9rem;border-radius:999px;text-decoration:none;transition:var(--ls-transition)}
.ls-related a:hover{background:var(--ls-primary);color:#fff;border-color:var(--ls-primary)}
/* SEO block */
.ls-seo{color:#3a4a5e}
.ls-seo h2{font-size:1.5rem;margin:2.2rem 0 .9rem}
@media (min-width:640px){.ls-seo h2{font-size:1.7rem}}
.ls-seo h3{margin:1.4rem 0 .6rem}
.ls-seo p{margin-bottom:1rem;font-size:.97rem}
.ls-seo ul,.ls-seo ol{padding-left:1.3rem;margin-bottom:1rem}
.ls-seo li{margin-bottom:.4rem;font-size:.97rem}
.ls-seo table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.88rem;display:block;overflow-x:auto}
.ls-seo th{background:var(--ls-primary);color:#fff;padding:.6rem;text-align:left}
.ls-seo td{padding:.6rem;border-bottom:1px solid var(--ls-border)}
/* ===== RESPONSIVE FINE-TUNING ===== */
@media (max-width:860px){
  .ls-steps::before,.ls-progress{display:none}
  .ls-step{flex:0 0 calc(33.33% - .7rem);min-width:0}
}
@media (max-width:560px){
  .ls-container{padding:0 .95rem}
  .ls-hero{padding:2.1rem 0 1.6rem}
  .ls-step{flex:0 0 calc(50% - .5rem)}
  .ls-step-num{width:36px;height:36px;font-size:.9rem}
  .ls-step-label{font-size:.72rem}
  .ls-btn-group{flex-direction:column}
  .ls-btn{width:100%}
  .ls-doc{padding:1rem}
  .ls-cta{padding:2rem 1rem}
}
:focus-visible{outline:3px solid var(--ls-accent);outline-offset:2px}
