/* Safer Landlord Services — shared stylesheet for legal / policy pages.
   Reuses the design tokens and footer styling from index.html so these
   pages feel like part of the same site, without duplicating the site's
   full inline stylesheet on every page. */

:root{
  --navy:#382A4D; --navy-dark:#241a33; --pink:#DD2955; --pink-dark:#b81f43; --gold:#B19228;
  --accent-blue:#3B7CA3; --accent-lblue:#87B5DD; --accent-green:#57C37E; --accent-mint:#C7ECE9;
  --grey-50:#f7f7fa; --grey-100:#eeeef3; --grey-200:#e2e2ea; --grey-400:#a7a7ba;
  --grey-600:#6b6b80; --grey-800:#33334a; --ink:#1c1c2e; --white:#fff;
  --radius:14px; --shadow:0 2px 10px rgba(56,42,77,.08), 0 1px 2px rgba(56,42,77,.06);
  --shadow-lg:0 12px 32px rgba(56,42,77,.18);
  --heading-font:'Josefin Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --body-font:'Quattrocento Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;}
body{margin:0;font-family:var(--body-font);color:var(--ink);background:var(--white);line-height:1.65;}
h1,h2,h3,h4{font-family:var(--heading-font);color:var(--navy);line-height:1.25;}
a{color:var(--accent-blue);}
a:hover{color:var(--pink);}

/* header — simplified version of the site header, same brand mark */
.legal-header{background:var(--white);border-bottom:1px solid var(--grey-200);padding:16px 24px;}
.legal-header-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.legal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.legal-brand img{height:38px;width:auto;}
.legal-brand .name{font-family:var(--heading-font);font-weight:700;color:var(--navy);font-size:16px;line-height:1.2;}
.legal-back{font-size:14px;font-weight:700;text-decoration:none;color:var(--accent-blue);}

/* content wrapper */
.legal-wrap{max-width:780px;margin:0 auto;padding:48px 24px 72px;}
.legal-wrap h1{font-size:32px;margin:0 0 6px;}
.legal-wrap h2{font-size:21px;margin:36px 0 10px;}
.legal-wrap h3{font-size:16.5px;margin:22px 0 8px;color:var(--grey-800);}
.legal-wrap p{margin:0 0 14px;font-size:15.5px;color:var(--grey-800);}
.legal-wrap ul,.legal-wrap ol{margin:0 0 14px;padding-left:22px;font-size:15.5px;color:var(--grey-800);}
.legal-wrap li{margin-bottom:8px;}

.legal-meta{font-size:13px;color:var(--grey-600);margin-bottom:28px;}
.legal-meta span{display:inline-block;margin-right:16px;}

.legal-watermark{background:#fff3f5;border:1px solid var(--pink);border-radius:var(--radius);padding:16px 18px;font-size:14px;color:var(--pink-dark);margin:0 0 32px;}
.legal-watermark strong{display:block;margin-bottom:4px;font-family:var(--heading-font);}

/* placeholder highlighting — makes bracketed gaps visibly obvious rather
   than blending into normal text */
.legal-wrap .ph{background:#fff3cf;color:#7a5b00;padding:1px 5px;border-radius:4px;font-weight:700;white-space:normal;}

table.legal-table{width:100%;border-collapse:collapse;margin:12px 0 24px;font-size:14px;}
table.legal-table th,table.legal-table td{border:1px solid var(--grey-200);padding:10px 12px;text-align:left;vertical-align:top;}
table.legal-table th{background:var(--grey-50);font-family:var(--heading-font);color:var(--navy);}
.legal-table-scroll{overflow-x:auto;margin:0 0 24px;}
.legal-table-scroll table{margin:0;}

/* /legal hub cards */
.legal-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;}
@media(max-width:640px){.legal-hub-grid{grid-template-columns:1fr;}}
.legal-card{border:1px solid var(--grey-200);border-radius:var(--radius);padding:22px;background:var(--white);box-shadow:var(--shadow);}
.legal-card h3{margin:0 0 8px;font-size:17px;color:var(--navy);}
.legal-card p{margin:0 0 14px;font-size:14px;color:var(--grey-600);}
.legal-card a.legal-card-link{font-weight:700;font-size:14px;text-decoration:none;}
.legal-card.coming-soon{opacity:.7;}
.legal-card .status-pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px;margin-bottom:10px;}
.legal-card .status-pill.live{background:var(--accent-mint);color:#0d5c47;}
.legal-card .status-pill.pending{background:var(--grey-100);color:var(--grey-600);}

/* footer — copied verbatim from index.html so the site feels continuous */
footer{background:var(--navy-dark);color:#c9c2d6;padding:52px 24px 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;max-width:1120px;margin:0 auto;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:#fff;font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px;font-family:var(--heading-font);}
.footer-grid a{display:block;color:#c9c2d6;text-decoration:none;font-size:14px;margin-bottom:9px;}
.footer-grid a:hover{color:#fff;}
footer .brand-line{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
footer .brand-line img{height:34px;width:auto;background:#fff;border-radius:6px;padding:2px 4px;}
footer .tagline{font-size:15px;color:#fff;font-weight:700;margin-bottom:4px;font-family:var(--heading-font);}
footer .addr{font-size:13.5px;line-height:1.7;}
.footer-bottom{max-width:1120px;margin:36px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#8b84a0;}
.footer-bottom.wrap{text-align:center;}

/* cookie consent banner */
#sls-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--navy-dark);color:#e7e3ee;padding:20px 24px;box-shadow:0 -6px 24px rgba(0,0,0,.25);display:none;}
#sls-cookie-banner.show{display:block;}
.sls-cb-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.sls-cb-text{flex:1 1 380px;font-size:13.5px;line-height:1.6;}
.sls-cb-text a{color:var(--accent-lblue);}
.sls-cb-actions{display:flex;gap:10px;flex-wrap:wrap;}
.sls-cb-btn{border:0;border-radius:8px;padding:10px 16px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:var(--body-font);}
.sls-cb-accept{background:var(--pink);color:#fff;}
.sls-cb-accept:hover{background:var(--pink-dark);}
.sls-cb-reject{background:transparent;color:#e7e3ee;border:1px solid rgba(255,255,255,.3);}
.sls-cb-reject:hover{border-color:#fff;color:#fff;}
.sls-cb-manage{background:transparent;color:var(--accent-lblue);text-decoration:underline;padding:10px 4px;}

#sls-cookie-modal{position:fixed;inset:0;z-index:10000;background:rgba(28,28,46,.55);display:none;align-items:center;justify-content:center;padding:20px;}
#sls-cookie-modal.show{display:flex;}
.sls-cm-box{background:#fff;border-radius:var(--radius);max-width:560px;width:100%;max-height:85vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow-lg);}
.sls-cm-box h2{margin-top:0;}
.sls-cm-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--grey-200);}
.sls-cm-row:last-of-type{border-bottom:none;}
.sls-cm-row-text h4{margin:0 0 4px;font-size:14.5px;color:var(--navy);}
.sls-cm-row-text p{margin:0;font-size:13px;color:var(--grey-600);}
.sls-cm-toggle{flex:0 0 auto;}
.sls-cm-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
