/*
Theme Name: Wisdom Direct — Clean
Theme URI: https://wisdomdirect.pt/
Author: Wisdom Direct
Description: Reconstrução do site institucional, preservando a identidade e os conteúdos do tema v3.
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 8.3
Text Domain: wisdomdirect-clean
*/

:root {
    --bg:#070a0f;
    --bg2:#0d121a;
    --card:#111821;
    --text:#f5f7fa;
    --muted:#9aa7b7;
    --line:#25303d;
    --gold:#d8b36a;
    --gold2:#f0d79d;
    --max:1220px;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:"DM Sans",system-ui,sans-serif;
    line-height:1.6;
}
a {
    text-decoration:none;
    color:inherit;
}
.wrap {
    max-width:var(--max);
    margin:auto;
    padding:0 26px;
}
header.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(7,10,15,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.07);
}
.nav {
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.logo {
    font-weight:800;
    letter-spacing:-.05em;
    font-size:23px;
}
.logo b {
    color:var(--gold);
}
.main-menu {
    display:flex;
    gap:24px;
    align-items:center;
    font-size:14px;
    color:#cbd3dd;
    font-weight:600;
}
.main-menu a:hover {
    color:var(--gold2);
}
.navcta {
    border:1px solid #3a4654;
    border-radius:99px;
    padding:10px 16px;
    background:#101721;
}
.hero {
    padding:112px 0 100px;
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 80% 15%,rgba(216,179,106,.18),transparent 34%),radial-gradient(circle at 15% 50%,rgba(40,100,150,.16),transparent 35%),linear-gradient(180deg,#080b11,#070a0f);
}
.grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
}
.eyebrow {
    color:var(--gold2);
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:18px;
}
.hero h1 {
    font:800 clamp(48px,6vw,78px)/1.10 Manrope,sans-serif;
    letter-spacing:-.055em;
    margin:0 0 25px;
}
.hero h1 span {
    color:var(--gold);
}
.lead {
    font-size:20px;
    color:#b9c3cf;
    max-width:690px;
}
.actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:32px;
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:99px;
    padding:14px 22px;
    font-weight:800;
    border:1px solid transparent;
    cursor:pointer;
}
.primary {
    background:linear-gradient(135deg,var(--gold),var(--gold2));
    color:#111;
}
.secondary {
    background:#111821;
    border-color:#344151;
}
.proof {
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    margin-top:32px;
    color:#aab5c2;
    font-size:13px;
}
.proof strong {
    color:#fff;
}
.visual {
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(145deg,#111924,#0b1017);
    border-radius:30px;
    padding:34px;
    min-height:465px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    box-shadow:0 35px 100px rgba(0,0,0,.45);
    position:relative;
    overflow:hidden;
}
.visual:before {
    content:"WD";
    position:absolute;
    right:15px;
    top:-20px;
    font:800 190px/1 Manrope;
    color:rgba(216,179,106,.07);
}
.visual .line {
    height:1px;
    background:#33404e;
    margin:18px 0;
}
.visual strong {
    font:800 35px/1.1 Manrope;
}
.visual p {
    color:#aeb9c6;
    max-width:440px;
}
.section {
    padding:92px 0;
}
.dark2 {
    background:var(--bg2);
}
.center {
    text-align:center;
}
.center h2,.section h2 {
    font:800 clamp(34px,4vw,52px)/1.05 Manrope;
    letter-spacing:-.045em;
    margin:0 0 16px;
}
.sub {
    color:var(--muted);
    max-width:760px;
    margin:0 auto 48px;
    font-size:17px;
}
.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.card {
    background:linear-gradient(145deg,var(--card),#0d141d);
    border:1px solid var(--line);
    border-radius:24px;
    padding:31px;
}
.card h3 {
    font:800 25px/1.1 Manrope;
    margin:0 0 10px;
}
.card p,.card li {
    color:var(--muted);
}
.list {
    padding-left:20px;
}
.list li {
    margin:7px 0;
}
.icon {
    width:42px;
    height:42px;
    border-radius:13px;
    background:rgba(216,179,106,.12);
    color:var(--gold2);
    display:grid;
    place-items:center;
    font-weight:800;
    margin-bottom:20px;
}
.split {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
    align-items:start;
}
.checks {
    display:grid;
    gap:14px;
}
.check {
    display:flex;
    gap:15px;
    padding:20px;
    border:1px solid var(--line);
    background:#0e151e;
    border-radius:18px;
}
.check .icon {
    width:38px;
    height:38px;
    flex:0 0 38px;
    margin:0;
}
.check b {
    display:block;
}
.check span {
    display:block;
    color:var(--muted);
    font-size:14px;
    margin-top:4px;
}
.process {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}
.step {
    border-top:2px solid var(--gold);
    padding:25px 22px;
    background:#0e151e;
    border-radius:0 0 18px 18px;
}
.step b {
    color:var(--gold2);
    font-size:12px;
    letter-spacing:.12em;
}
.step h3 {
    font:700 20px Manrope;
    margin:28px 0 8px;
}
.step p {
    font-size:14px;
    color:var(--muted);
}
.project-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.project {
    min-height:235px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:linear-gradient(145deg,#121a24,#0b1017);
    border:1px solid var(--line);
    border-radius:24px;
    padding:30px;
    position:relative;
    overflow:hidden;
}
.project:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 85% 15%,rgba(216,179,106,.15),transparent 35%);
    pointer-events:none;
}
.badge {
    display:inline-block;
    width:max-content;
    border:1px solid #354252;
    border-radius:99px;
    padding:6px 10px;
    color:#d7e0e9;
    font-size:11px;
    margin-bottom:20px;
    position:relative;
}
.project h3,.project p {
    position:relative;
}
.cta {
    padding:55px;
    border:1px solid #2e3946;
    border-radius:30px;
    background:radial-gradient(circle at 90% 10%,rgba(216,179,106,.16),transparent 30%),#0d141c;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}
.cta p {
    color:var(--muted);
}
.contact-item {
    padding:30px;
    border:1px solid var(--line);
    border-radius:24px;
    background:linear-gradient(145deg,var(--card),#0d141d);
}
.contact-item small {
    display:block;
    color:var(--gold2);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
    margin-bottom:8px;
}
.form-card {
    max-width:900px;
    margin:35px auto 90px;
    padding:38px;
    background:linear-gradient(145deg,#111821,#0d141d);
    border:1px solid var(--line);
    border-radius:26px;
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.field {
    display:flex;
    flex-direction:column;
    gap:7px;
}
.full {
    grid-column:1/-1;
}
.field label,.form-title {
    font-size:13px;
    font-weight:700;
    color:#dce3ea;
}
.required {
    color:var(--gold2);
}
.field input,.field textarea {
    width:100%;
    padding:14px 15px;
    background:#080d13;
    border:1px solid #344151;
    border-radius:11px;
    color:#fff;
    font:inherit;
    outline:0;
}
.field input:focus,.field textarea:focus {
    border-color:var(--gold);
}
.field textarea {
    min-height:170px;
    resize:vertical;
}
.service-checks {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.service-check {
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 14px;
    border:1px solid #2b3744;
    border-radius:12px;
    background:#0a1017;
    color:#cbd4dd;
    font-size:13px;
}
.service-check input {
    width:auto;
    accent-color:var(--gold);
}
.form-note {
    font-size:12px;
    color:var(--muted);
    margin:20px 0;
}
.form-actions {
    display:flex;
    justify-content:flex-end;
    gap:12px;
}
.notice {
    padding:16px 18px;
    border:1px solid rgba(216,179,106,.25);
    background:rgba(216,179,106,.06);
    border-radius:14px;
    color:#d9e1e8;
    margin-bottom:20px;
}
footer {
    border-top:1px solid var(--line);
    padding:45px 0;
    background:#05080c;
}
.foot {
    display:flex;
    justify-content:space-between;
    gap:30px;
}
.foot p {
    color:var(--muted);
    font-size:13px;
}
@media(max-width:900px) {
    .grid,.split {
        grid-template-columns:1fr;
    }
    .cards,.project-grid {
        grid-template-columns:1fr;
    }
    .process {
        grid-template-columns:1fr 1fr;
    }
    .hero {
        padding:75px 0;
    }
    .foot {
        display:block;
    }
}
@media(max-width:540px) {
    .process,.form-grid,.service-checks {
        grid-template-columns:1fr;
    }
    .full {
        grid-column:auto;
    }
    .section {
        padding:65px 0;
    }
    .wrap {
        padding:0 18px;
    }
    .hero h1 {
        font-size:46px;
    }
    .form-card {
        padding:25px 20px;
    }
}
.success-card {
    padding:70px 40px;
}
.success-icon {
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    border:1px solid rgba(232,190,98,.55);
    color:#e8be62;
    font-size:34px;
}
.success-card h2 {
    font-family:Manrope,sans-serif;
    font-size:34px;
    margin:0 0 18px;
}
.success-card .lead {
    max-width:700px;
    margin:0 auto 18px;
}
.notice {
    margin:0 auto 24px;
    padding:18px 22px;
    border:1px solid rgba(232,190,98,.35);
    border-radius:14px;
    background:#111a24;
    color:#d9e0ea;
}

/* Navigation, keyboard access and readable content. */
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--gold2); outline-offset: 4px; }
html { scroll-padding-top: 100px; }
body.admin-bar .site-header { top: 32px; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 1000; padding: 12px 18px; color: #111; background: var(--gold2); border-radius: 8px; }
.skip-link:focus { top: 12px; }
.main-menu .menu { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; list-style: none; padding: 0; margin: 0; }
.main-menu li { position: relative; }
.main-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 220px; display: none; margin: 0; padding: 12px; list-style: none; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px; }
.main-menu li:hover > .sub-menu, .main-menu li:focus-within > .sub-menu { display: block; }
.main-menu .sub-menu a { display: block; padding: 8px; }
.menu-toggle { font: inherit; color: var(--text); background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 16px; cursor: pointer; }
.custom-logo { width: auto; max-width: 240px; max-height: 60px; object-fit: contain; }
.custom-logo-link { display: inline-flex; }
.entry-content { margin-bottom: 24px; overflow-wrap: anywhere; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content iframe { max-width: 100%; }
.entry-content a:not(.btn), .privacy-link, .form-note a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content table { display: block; overflow-x: auto; max-width: 100%; }
.centered-lead { margin-inline: auto; }
.service-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.service-fieldset legend { margin-bottom: 8px; }
.service-fieldset .form-note { margin: 0 0 12px; }
.wdc-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-actions { flex-wrap: wrap; }
.btn { font: inherit; font-weight: 800; }
button:disabled { cursor: wait; opacity: .65; }
.text-button { padding: 3px; border: 0; background: transparent; color: var(--gold2); font: inherit; text-decoration: underline; cursor: pointer; }
.grid > *, .split > *, .cards > *, .process > * { min-width: 0; }
@media (max-width: 900px) {
    .nav { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
    .main-menu { width: 100%; }
    .main-menu .menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
    .main-menu a { display: block; padding: 12px 6px; }
    .main-menu .navcta { padding-inline: 16px; margin-top: 8px; width: fit-content; }
    .main-menu .sub-menu { position: static; display: block; border: 0; padding-block: 0; }
    .wd-js .main-menu { display: none; }
    .wd-js .main-menu.is-open { display: block; }
    .cta { flex-direction: column; align-items: flex-start; padding: 32px; }
}
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }
@media (max-width: 540px) {
    .hero h1 { font-size: clamp(36px, 10.7vw, 46px); }
    .visual { min-height: 350px; padding: 26px; }
    .visual strong { font-size: 30px; }
    .success-card { padding: 35px 20px; }
    .success-card h2 { font-size: 28px; }
    .form-actions > * { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
