.page-contact .theme-main{
    padding-top:0;
}

.docttus-contact{
    position:relative;
    padding:var(--theme-page-top-space) 0 96px;
    background:
        radial-gradient(circle at top left, rgba(0,209,224,.12), transparent 28%),
        linear-gradient(180deg, rgba(7,7,9,.98) 0%, rgba(10,14,24,.98) 100%);
    border-bottom:1px solid var(--line);
}

[data-theme="light"] .docttus-contact{
    background:linear-gradient(180deg, #ffffff 0%, #f5f6f8 100%);
}

.docttus-contact__hero{
    max-width:780px;
    margin:0 auto 48px;
    text-align:center;
}

.docttus-contact__hero h1{
    margin:18px 0 16px;
    color:var(--text);
    font-size:clamp(2.5rem, 5vw, 4.2rem);
    line-height:1.02;
    letter-spacing:-.06em;
}

.docttus-contact__hero p{
    margin:0 auto;
    max-width:700px;
    color:var(--muted);
    font-size:1.08rem;
    line-height:1.75;
}

.docttus-contact__layout{
    display:grid;
    gap:30px;
}

.docttus-contact__form-wrap{
    display:flex;
    justify-content:center;
}

.docttus-contact__cards-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
}

.docttus-contact__form-card,
.docttus-contact__card,
.docttus-contact__info-item{
    border:1px solid var(--line);
    background:rgba(17,23,35,.78);
    box-shadow:0 16px 34px rgba(0,0,0,.18);
}

[data-theme="light"] .docttus-contact__form-card,
[data-theme="light"] .docttus-contact__card,
[data-theme="light"] .docttus-contact__info-item{
    background:#ffffff;
    box-shadow:none;
}

.docttus-contact__form-card{
    width:min(100%, 920px);
    padding:38px 36px;
    border-radius:var(--radius-card-lg);
}

.docttus-contact__form-head{
    margin-bottom:22px;
}

.docttus-contact__form-head h2{
    margin:0 0 10px;
    color:var(--text);
    font-size:1.6rem;
    font-weight:800;
    letter-spacing:-.04em;
}

.docttus-contact__form-head p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.docttus-contact__notice,
.docttus-contact__form-error{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
    padding:14px 18px;
    border-radius:12px;
    font-size:.94rem;
    line-height:1.65;
    font-weight:500;
}

.docttus-contact__notice::before,
.docttus-contact__form-error::before{
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:1rem;
    flex-shrink:0;
    margin-top:2px;
}

.docttus-contact__notice.is-success{
    background:rgba(16,185,129,.12);
    border:1px solid rgba(16,185,129,.22);
    border-left:3px solid #10b981;
    color:#a7f3d0;
}

.docttus-contact__notice.is-success::before{
    content:'\f058';
    color:#10b981;
}

[data-theme="light"] .docttus-contact__notice.is-success{
    color:#047857;
}

.docttus-contact__notice.is-error,
.docttus-contact__form-error{
    background:rgba(248,113,113,.10);
    border:1px solid rgba(248,113,113,.18);
    border-left:3px solid #ef4444;
    color:#fecaca;
}

.docttus-contact__notice.is-error::before,
.docttus-contact__form-error::before{
    content:'\f06a';
    color:#ef4444;
}

[data-theme="light"] .docttus-contact__notice.is-error,
[data-theme="light"] .docttus-contact__form-error{
    color:#b91c1c;
}

/* Contador de caracteres */
.docttus-contact__char-count{
    font-size:.82rem;
    color:var(--muted);
    text-align:right;
    margin-top:-4px;
    transition:color .2s;
}

.docttus-contact__char-count.is-warning{ color:#f59e0b; }
.docttus-contact__char-count.is-limit{ color:#ef4444; font-weight:700; }

/* Scrollbar textarea */
.docttus-contact__field textarea::-webkit-scrollbar{ width:5px; }
.docttus-contact__field textarea::-webkit-scrollbar-track{
    background:rgba(255,255,255,.04);
    border-radius:4px;
}
.docttus-contact__field textarea::-webkit-scrollbar-thumb{
    background:rgba(0,209,224,.35);
    border-radius:4px;
}
.docttus-contact__field textarea::-webkit-scrollbar-thumb:hover{
    background:var(--cyan);
}
[data-theme="light"] .docttus-contact__field textarea::-webkit-scrollbar-track{
    background:rgba(15,23,42,.06);
}
[data-theme="light"] .docttus-contact__field textarea::-webkit-scrollbar-thumb{
    background:rgba(11,141,151,.3);
}

.docttus-contact__form{
    display:grid;
    gap:18px;
}

.docttus-contact__field-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.docttus-contact__field{
    display:grid;
    gap:8px;
}

.docttus-contact__field span{
    color:var(--text);
    font-size:.92rem;
    font-weight:700;
}

.docttus-contact__field input,
.docttus-contact__field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px 16px;
    background:rgba(255,255,255,.03);
    color:var(--text);
    outline:none;
    transition:border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

[data-theme="light"] .docttus-contact__field input,
[data-theme="light"] .docttus-contact__field textarea{
    background:#ffffff;
}

.docttus-contact__field input:focus,
.docttus-contact__field textarea:focus{
    border-color:var(--cyan);
    box-shadow:0 0 0 4px rgba(0,209,224,.10);
}

.docttus-contact__field textarea{
    min-height:180px;
    resize:vertical;
}

.docttus-contact__field small{
    color:#fca5a5;
    font-size:.84rem;
    line-height:1.45;
}

[data-theme="light"] .docttus-contact__field small{
    color:#dc2626;
}

.docttus-contact__honeypot{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.docttus-contact__form-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:16px;
}

.docttus-contact__form-actions p{
    margin:0;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding-top:6px;
    text-align:center;
    color:var(--muted);
    font-size:.88rem;
    line-height:1.55;
}

.docttus-contact__form-actions p i{
    color:var(--cyan);
    font-size:.9rem;
    flex:0 0 auto;
}

.docttus-contact__form-actions p span{
    max-width:420px;
}

.docttus-contact__form-actions .theme-btn,
.docttus-contact__card .theme-btn{
    min-height:46px;
    padding:0 18px;
    border-radius:10px;
    font-size:14px;
    font-weight:700;
    margin-top:auto;
    align-self:flex-end;
}

.docttus-contact__card{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-height:100%;
    padding:24px 22px;
    border-radius:var(--radius-card);
    border-color:rgba(0,209,224,.28);
}

[data-theme="light"] .docttus-contact__card{
    border-color:rgba(15,23,42,.08);
}

.docttus-contact__icon{
    width:54px;
    height:54px;
    border-radius:var(--radius-card-sm);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,209,224,.1);
    color:var(--cyan);
    font-size:1.4rem;
}

[data-theme="light"] .docttus-contact__icon{
    background:rgba(11,141,151,.06);
}

.docttus-contact__card h2{
    margin:0;
    color:var(--text);
    font-size:1.2rem;
    font-weight:800;
}

.docttus-contact__card p{
    margin:0;
    color:var(--muted);
    font-size:.96rem;
    line-height:1.68;
}

.docttus-contact__meta{
    color:var(--cyan);
    font-size:.9rem;
    font-weight:700;
}

.docttus-contact__info{
    display:grid;
    gap:14px;
    margin-top:2px;
}

.docttus-contact__info-item{
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
    border-radius:var(--radius-card);
}

.docttus-contact__info-item strong{
    display:block;
    margin-bottom:8px;
    color:var(--text);
    font-size:.95rem;
    font-weight:800;
}

.docttus-contact__info-item span{
    color:var(--muted);
    font-size:.93rem;
    line-height:1.6;
}

@media (max-width: 1080px){
    .docttus-contact{
        padding:var(--theme-page-top-space) 0 84px;
    }

    .docttus-contact__cards-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 720px){
    .docttus-contact{
        padding:var(--theme-page-top-space) 0 72px;
    }

    .docttus-contact__hero{
        margin-bottom:34px;
    }

    .docttus-contact__form-card,
    .docttus-contact__card{
        padding:22px 18px;
        border-radius:var(--radius-card);
    }

    .docttus-contact__field-grid{
        grid-template-columns:1fr;
    }

    .docttus-contact__form-actions{
        align-items:stretch;
    }

    .docttus-contact__form-actions .theme-btn,
    .docttus-contact__card .theme-btn{
        align-self:flex-end;
    }
}
