/* =============================================
   PÁGINAS LEGAIS — M.W Instalações e Manutenções
   Mesma identidade visual do index.html
============================================= */
:root {
    --blue:        #005088;
    --blue-dark:   #003558;
    --blue-deeper: #001f3d;
    --orange:      #E67E22;
    --gray-light:  #e8ecef;
    --white:       #ffffff;
    --bg:          #F4F7F6;
    --text:        #1e2d3d;
    --text-light:  #6c7a89;
    --green-wa:    #25d366;
    --green-wa-dk: #128c7e;
    --radius:      12px;
    --ease:        cubic-bezier(.4,0,.2,1);
    --ff-title:    'Montserrat', sans-serif;
    --ff-body:     'Open Sans', sans-serif;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; }
body {
    font-family:var(--ff-body); color:var(--text);
    background:var(--bg); line-height:1.6; overflow-x:hidden;
}
img { max-width:100%; height:auto; }
a { color:var(--blue); text-decoration:none; transition:color .25s var(--ease); }
a:hover { color:var(--orange); }

.legal-container { max-width:840px; margin:0 auto; padding:0 24px; }

/* ---------- HEADER ---------- */
.legal-hdr {
    background:var(--white);
    border-bottom:1px solid var(--gray-light);
    padding:16px 0;
    position:sticky; top:0; z-index:50;
    box-shadow:0 1px 2px rgba(0,31,61,.05), 0 4px 16px rgba(0,31,61,.04);
}
.legal-hdr .legal-container {
    max-width:1200px;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.legal-logo { display:flex; align-items:center; gap:12px; color:var(--text); }
.legal-logo img { height:42px; width:auto; }
.legal-logo span {
    font-family:var(--ff-title); font-weight:800; font-size:1rem;
    color:var(--blue); line-height:1.15;
    display:flex; flex-direction:column;
}
.legal-logo small {
    font-family:var(--ff-body); font-weight:400;
    font-size:.68rem; color:var(--text-light); letter-spacing:.3px;
}
.legal-back {
    font-family:var(--ff-title); font-weight:700; font-size:.85rem;
    color:var(--blue); white-space:nowrap;
}

/* ---------- CONTEÚDO ---------- */
.legal-main { padding:64px 0 80px; }

.legal-eyebrow {
    font-family:var(--ff-title); font-weight:700;
    font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--orange); margin-bottom:10px;
}
.legal-main h1 {
    font-family:var(--ff-title);
    font-size:clamp(1.85rem,4.5vw,2.6rem); font-weight:800;
    color:var(--blue); line-height:1.15; letter-spacing:-.02em;
    margin-bottom:10px;
}
.legal-updated {
    font-size:.86rem; color:var(--text-light);
    padding-bottom:26px; margin-bottom:30px;
    border-bottom:1px solid var(--gray-light);
}
.legal-intro {
    font-size:1.05rem; line-height:1.85;
    color:var(--text); margin-bottom:38px;
    padding:22px 24px;
    background:var(--white); border-radius:var(--radius);
    border-left:4px solid var(--orange);
    box-shadow:0 1px 2px rgba(0,31,61,.05), 0 4px 16px rgba(0,31,61,.05);
}
.legal-main h2 {
    font-family:var(--ff-title);
    font-size:1.2rem; font-weight:800; color:var(--blue);
    letter-spacing:-.01em;
    margin:38px 0 14px;
}
.legal-main p  { margin-bottom:15px; line-height:1.85; color:var(--text-light); }
.legal-main p strong,
.legal-main li strong { color:var(--text); font-weight:600; }
.legal-main ul { margin:0 0 20px 0; padding-left:0; list-style:none; }
.legal-main li {
    position:relative; padding-left:26px; margin-bottom:11px;
    line-height:1.8; color:var(--text-light);
}
.legal-main li::before {
    content:''; position:absolute; left:6px; top:.72em;
    width:7px; height:7px; border-radius:50%;
    background:var(--orange);
}
.legal-main em { font-style:normal; color:var(--text); font-weight:600; }

/* ---------- CTA ---------- */
.legal-cta {
    margin-top:52px; padding:32px 28px;
    background:linear-gradient(160deg,var(--blue-deeper),var(--blue-dark));
    border-radius:20px; text-align:center;
}
.legal-cta p {
    font-family:var(--ff-title); font-weight:700; font-size:1.02rem;
    color:#fff; margin-bottom:18px;
}
.legal-cta a {
    display:inline-flex; align-items:center; gap:9px;
    background:linear-gradient(135deg,var(--green-wa),var(--green-wa-dk));
    color:#fff; font-family:var(--ff-title); font-weight:700; font-size:.92rem;
    padding:13px 28px; border-radius:50px;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.legal-cta a:hover {
    color:#fff; transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(37,211,102,.32);
}

/* ---------- FOOTER ---------- */
.legal-foot {
    background:var(--blue-deeper); color:rgba(255,255,255,.62);
    padding:28px 0; text-align:center; font-size:.85rem;
}
.legal-foot a { color:var(--orange); font-weight:600; }
.legal-foot a:hover { color:#fff; }

@media (max-width:600px) {
    .legal-main { padding:44px 0 60px; }
    .legal-logo span { font-size:.9rem; }
    .legal-logo img  { height:36px; }
    .legal-intro { padding:18px 18px; font-size:1rem; }
    .legal-cta   { padding:26px 20px; }
}
@media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { transition-duration:.01ms !important; }
    html { scroll-behavior:auto; }
}
