/**
 * Página /contato/ — design Dreamland, isolado do popup e de outros widgets.
 * O form é o widget Elementor Pro NATIVO (estilização básica; controles Pro
 * de Conteúdo/Estilo/Avançado continuam funcionando).
 */
.dl-contact-page,
.dl-contact-page *,
.dl-contact-page *::before,
.dl-contact-page *::after{box-sizing:border-box}
.dl-contact-page{width:100%;max-width:100%;overflow:clip}
.dl-contact-page .dl-cp-kicker{
    font-family:"Coolvetica","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:clamp(10px,.7vw,13px);
    font-weight:500;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;
}
.dl-cp-hero{
    --dl-cp-side:clamp(22px,4vw,100px);
    --dl-cp-top:150px;
    --dl-cp-bottom:96px;
    --dl-cp-title:112px;
    --dl-cp-intro:23px;
    --dl-cp-ink:#101010;
    --dl-cp-muted:#55534e;
    --dl-cp-line:#a9a59e;
    background:#f0eee8;
    color:var(--dl-cp-ink);
}
.dl-cp-hero__inner{
    width:100%;max-width:1920px;min-height:min(780px,92vh);
    padding:var(--dl-cp-top) var(--dl-cp-side) var(--dl-cp-bottom);
    margin:0 auto;display:flex;flex-direction:column;gap:clamp(55px,9vw,145px);
    align-items:stretch;justify-content:space-between;
}
.dl-cp-hero .dl-cp-kicker{color:var(--dl-cp-muted)}
.dl-cp-hero__title{
    margin:0;
    font-family:"Coolvetica","Helvetica Neue",Helvetica,Arial,sans-serif;
    color:var(--dl-cp-ink);
    font-weight:600;
    font-size:var(--dl-cp-title);
    line-height:.91;letter-spacing:-.047em;
    text-wrap:balance;overflow-wrap:anywhere;
    max-width:1400px;
}
.dl-cp-hero__bottom{
    border-top:1px solid var(--dl-cp-line);
    padding-top:clamp(20px,2vw,40px);
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
    align-items:start;gap:clamp(28px,5vw,100px);
}
.dl-cp-hero__intro{
    font:400 var(--dl-cp-intro)/1.48 "Helvetica Neue",Helvetica,Arial,sans-serif;
    letter-spacing:-.01em;color:var(--dl-cp-ink);
    max-width:690px;margin:0;
}
/* Colunas nativas Elementor dentro do contêiner de formulário. */
.dl-contact-page .dl-cp-form-section{
    --dl-cp-bg:#101010;
    --dl-cp-ink:#f2f0ea;
    --dl-cp-muted:#b7b4ae;
    --dl-cp-line:#55534e;
    --dl-cp-green:#72e6ad;
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    align-items:stretch;
    gap:clamp(50px,7vw,155px);
    background:var(--dl-cp-bg);
    color:var(--dl-cp-ink);
    width:100%;
    max-width:none;
    padding:clamp(92px,9vw,165px) clamp(22px,4vw,100px) clamp(105px,11vw,190px);
}
.dl-contact-page .dl-cp-form-section > .e-con-inner{
    max-width:1720px;
    margin:auto;
    width:100%;
    display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    gap:clamp(50px,7vw,155px);
    align-items:stretch;
}
.dl-contact-page .dl-cp-copy-col,
.dl-contact-page .dl-cp-form-col{
    min-width:0;width:100%;max-width:100%;
    padding:0;margin:0;background:transparent;
    align-self:stretch;
}
.dl-cp-intro{
    --dl-cp-text:#f2f0ea;
    --dl-cp-muted:#b7b4ae;
    --dl-cp-accent:#72e6ad;
    --dl-cp-panel-title:67px;
    --dl-cp-panel-text:18px;
    --dl-cp-email:23px;
    min-width:0;position:relative;display:flex;flex-direction:column;
    align-items:flex-start;min-height:720px;gap:clamp(32px,4vw,65px);
    color:var(--dl-cp-text);
}
.dl-cp-intro__kicker{color:var(--dl-cp-muted)}
.dl-cp-intro__title{
    font:600 var(--dl-cp-panel-title)/.99 "Coolvetica","Helvetica Neue",Helvetica,Arial,sans-serif;
    letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;
    max-width:610px;margin:0;color:var(--dl-cp-text);
}
.dl-cp-intro__description{
    font:400 var(--dl-cp-panel-text)/1.58 "Helvetica Neue",Helvetica,Arial,sans-serif;
    max-width:525px;margin:0;color:var(--dl-cp-muted);
}
.dl-cp-intro__direct{margin-top:auto;max-width:100%;width:100%;position:relative;z-index:1}
.dl-cp-intro__direct .dl-cp-kicker{color:var(--dl-cp-muted);display:block;margin-bottom:16px}
.dl-contact-page .dl-cp-intro__email{
    display:inline-flex;gap:18px;align-items:center;justify-content:space-between;
    font:400 var(--dl-cp-email)/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;
    letter-spacing:-.02em;color:var(--dl-cp-text);
    border-bottom:1px solid var(--dl-cp-muted);padding-bottom:12px;
    max-width:100%;word-break:break-word;text-decoration:none;
    transition:color .2s ease,border-color .2s ease;
}
.dl-contact-page .dl-cp-intro__email:is(:hover,:focus-visible,:active),
.dl-contact-page .dl-cp-intro__email:is(:hover,:focus-visible,:active) svg{
    color:var(--dl-cp-accent);border-color:var(--dl-cp-accent);
}
.dl-contact-page .dl-cp-intro__email:focus-visible{outline:2px solid var(--dl-cp-accent);outline-offset:5px}
.dl-cp-intro__arrow{width:18px;height:18px;flex:none}
.dl-cp-intro__arrow svg{display:block;width:100%;height:100%;color:inherit}
.dl-cp-intro__symbol{
    position:absolute;max-width:none;width:clamp(90px,15vw,270px);
    height:auto;bottom:5%;right:6%;opacity:.16;pointer-events:none;
    transform:rotate(-24deg);
    transform-origin:50% 50%;
}
.dl-cp-intro__symbol--rotating{
    animation:dl-cp-symbol-rotation var(--dl-cp-symbol-spin,36s) linear infinite;
}
@keyframes dl-cp-symbol-rotation{
    from{transform:rotate(-24deg)}
    to{transform:rotate(336deg)}
}
/* Base editorial do formulário nativo; controles de Estilo Elementor Pro
   geram seletores mais específicos e podem sobrescrever os padrões. */
.dl-contact-page .dl-cp-form-col .elementor-widget-form{width:100%;min-width:0}
.dl-contact-page .dl-cp-form-col .elementor-form,
.dl-contact-page .dl-cp-form-col .elementor-form-fields-wrapper{width:100%}
.dl-contact-page .dl-cp-form-col .elementor-field-group{
    min-width:0;width:100%;max-width:100%;
    margin:0;padding:clamp(20px,2.4vw,35px) 0;
    border-top:1px solid #666;
    display:block;
}
.dl-contact-page .dl-cp-form-col .elementor-field-label{
    font:500 clamp(11px,.78vw,13px)/1.45 "Coolvetica","Helvetica Neue",Helvetica,Arial,sans-serif;
    text-transform:uppercase;letter-spacing:.11em;
    color:#f2f0ea;margin:0 0 15px;
}
.dl-contact-page .dl-cp-form-col .elementor-field:not([type="checkbox"]):not([type="radio"]),
.dl-contact-page .dl-cp-form-col input:not([type="checkbox"]):not([type="radio"]),
.dl-contact-page .dl-cp-form-col textarea,
.dl-contact-page .dl-cp-form-col select{
    width:100%;min-width:0;max-width:100%;height:auto;min-height:47px;
    border:0;border-radius:0;border-bottom:1px solid #555;
    box-shadow:none;outline-offset:4px;
    color:#f2f0ea;background:transparent;
    font:400 clamp(16px,1.2vw,19px)/1.45 "Helvetica Neue",Helvetica,Arial,sans-serif;
    padding:14px 18px;transition:border-color .22s ease;
}
.dl-contact-page .dl-cp-form-col textarea{min-height:160px;resize:vertical}
/* Elementor Pro may output input padding as a widget-specific declaration.
   Constrain the correction to this Contact-page Form, including textarea/select. */
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-field-group :is(input.elementor-field,textarea.elementor-field,select.elementor-field):not([type="checkbox"]):not([type="radio"]){
    padding:14px 18px!important;
    box-sizing:border-box;
}
/* Inputs and placeholders remain legible against the brand off-white field
   background, even when Elementor's global default was plain white. */
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-field-group :is(input.elementor-field,textarea.elementor-field,select.elementor-field):not([type="checkbox"]):not([type="radio"]){
    background:#f0eee8;
    color:#101010;
}
.dl-contact-page .dl-cp-form-col .elementor-widget-form :is(input.elementor-field,textarea.elementor-field)::placeholder{
    color:#66615b;
    opacity:1;
}
.dl-contact-page .dl-cp-form-col :is(input,textarea)::placeholder{
    color:#a9a7a2;opacity:1;
}
.dl-contact-page .dl-cp-form-col :is(input,textarea,select):focus{
    border-color:#72e6ad;
    outline:2px solid transparent;
}
.dl-contact-page .dl-cp-form-col .elementor-field-type-checkbox .elementor-field-subgroup{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;
}
.dl-contact-page .dl-cp-form-col .elementor-field-type-checkbox .elementor-field-option{
    display:flex;align-items:flex-start;gap:10px;
    padding:0;margin:0;min-width:0;
}
.dl-contact-page .dl-cp-form-col input[type="checkbox"]{
    width:19px;height:19px;min-width:19px;margin:3px 0 0;
    accent-color:#72e6ad;cursor:pointer;
}
.dl-contact-page .dl-cp-form-col .elementor-field-type-checkbox .elementor-field-option label{
    cursor:pointer;min-width:0;flex:1;overflow-wrap:break-word;
    color:#f2f0ea;
    font:400 clamp(14px,1vw,17px)/1.48 "Helvetica Neue",Helvetica,Arial,sans-serif;
}
.dl-contact-page .dl-cp-form-col .elementor-field-type-submit{
    padding-top:clamp(24px,3vw,48px);border-top:1px solid #666;
}
.dl-contact-page .dl-cp-form-col .elementor-button[type="submit"]{
    display:flex;align-items:center;justify-content:center;
    width:100%;min-height:60px;
    background:#f0eee8;color:#101010;border:1px solid #f0eee8;
    border-radius:0;box-shadow:none;
    font:600 13px/1.2 "Coolvetica","Helvetica Neue",Arial,sans-serif;
    letter-spacing:.11em;text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.dl-contact-page .dl-cp-form-col .elementor-button[type="submit"]:is(:hover,:focus-visible,:active){
    background:#72e6ad;color:#101010;border-color:#72e6ad;
}
.dl-contact-page .dl-cp-form-col .elementor-button[type="submit"]:focus-visible{
    outline:2px solid #72e6ad;outline-offset:4px;
}
/* Specificity correction: Elementor Pro/global Button variables can override
   the button's foreground separately from its background. Force readable
   colors on the actual child span/icon too, not just the button element. */
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-button[type="submit"]{
    background-color:#f0eee8!important;
    color:#101010!important;
    border-color:#f0eee8!important;
    box-shadow:none!important;
}
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-button[type="submit"] :is(.elementor-button-text,.elementor-button-content-wrapper,.elementor-button-icon,svg){
    color:#101010!important;
    fill:currentColor;
}
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-button[type="submit"]:is(:hover,:focus-visible,:active){
    background-color:#72e6ad!important;
    border-color:#72e6ad!important;
    color:#101010!important;
}
.dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-button[type="submit"]:is(:hover,:focus-visible,:active) :is(.elementor-button-text,.elementor-button-content-wrapper,.elementor-button-icon,svg){
    color:#101010!important;
}
.dl-contact-page .dl-cp-form-col .elementor-message{
    color:#f2f0ea;font:400 16px/1.5 "Helvetica Neue",Arial,sans-serif;
    margin-top:24px;
}
.dl-contact-page .dl-cp-form-col .elementor-message-success{color:#72e6ad}
.dl-contact-page .dl-cp-form-col .elementor-message-danger{color:#ffd0bd}
.dl-contact-page .dl-cp-form-col .elementor-field-required-message{color:#ffd0bd}
@media(min-width:1921px){
    .dl-contact-page .dl-cp-form-section{padding-inline:max(62px,calc((100vw - 1720px)/2))}
}
@media(max-width:1024px){
    .dl-contact-page .dl-cp-form-section,
    .dl-contact-page .dl-cp-form-section > .e-con-inner{
        grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
        gap:clamp(30px,5vw,65px);
    }
    .dl-cp-intro{min-height:650px}
    .dl-contact-page .dl-cp-form-col .elementor-field-type-checkbox .elementor-field-subgroup{grid-template-columns:1fr}
    .dl-cp-hero__inner{min-height:650px;gap:72px}
}
@media(max-width:767px){
    .dl-cp-hero__inner{
        min-height:0;gap:clamp(48px,12vw,90px);
        padding:var(--dl-cp-top) var(--dl-cp-side) var(--dl-cp-bottom);
    }
    .dl-cp-hero__title{
        font-size:min(var(--dl-cp-title),clamp(34px,10vw,56px));
        line-height:1.03;letter-spacing:-.038em;max-width:100%;
    }
    .dl-cp-hero__bottom{display:flex;flex-direction:column;gap:22px;padding-top:24px}
    .dl-cp-hero__intro{font-size:var(--dl-cp-intro);max-width:540px}
    .dl-contact-page .dl-cp-form-section,
    .dl-contact-page .dl-cp-form-section > .e-con-inner{
        display:flex;flex-direction:column;gap:52px;
    }
    .dl-contact-page .dl-cp-form-section{
        padding:clamp(68px,12vw,92px) 22px clamp(82px,13vw,110px);
    }
    .dl-cp-intro{min-height:0;gap:28px}
    .dl-cp-intro__title{font-size:min(var(--dl-cp-panel-title),clamp(30px,9vw,48px));line-height:1.05}
    .dl-cp-intro__description{font-size:var(--dl-cp-panel-text)}
    .dl-cp-intro__direct{margin-top:12px}
    .dl-cp-intro__email{font-size:min(var(--dl-cp-email),19px)}
    .dl-cp-intro__symbol{display:none}
    .dl-contact-page .dl-cp-form-col .elementor-field-group{padding:21px 0}
    .dl-contact-page .dl-cp-form-col .elementor-widget-form .elementor-form .elementor-field-group :is(input.elementor-field,textarea.elementor-field,select.elementor-field):not([type="checkbox"]):not([type="radio"]){padding:13px 15px!important}
    .dl-contact-page .dl-cp-form-col .elementor-field-type-checkbox .elementor-field-subgroup{grid-template-columns:1fr;gap:12px}
    .dl-contact-page .dl-cp-form-col .elementor-button[type="submit"]{min-height:56px}
}
@media(max-width:359px){
    .dl-cp-hero__title{font-size:min(var(--dl-cp-title),34px)}
    .dl-cp-intro__title{font-size:min(var(--dl-cp-panel-title),30px)}
    .dl-contact-page .dl-cp-form-section{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
    .dl-cp-intro__symbol--rotating{animation:none!important}
    .dl-contact-page *,.dl-contact-page *::before,.dl-contact-page *::after{
        transition:none!important;animation:none!important;scroll-behavior:auto!important;
    }
}

/* Contato #73 — diretório editorial (preserva o Form Pro e o botão original). */
.dl-cp-intro__contact-items{
    display:flex;flex-direction:column;gap:clamp(18px,2.4vw,26px);
}
.dl-cp-intro__contact-item{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.dl-cp-intro__contact-name{
    color:var(--dl-cp-muted);font:500 10px/1.4 "Coolvetica","Helvetica Neue",Arial,sans-serif;
    letter-spacing:.12em;text-transform:uppercase;
}
.dl-contact-page .dl-cp-intro__contact-item .dl-cp-intro__email{
    width:100%;max-width:440px;min-width:0;
    font-size:clamp(16px,1.6vw,var(--dl-cp-email));
    padding:0 0 9px;overflow-wrap:anywhere;
}
.dl-contact-page .dl-cp-intro__contact-item .dl-cp-intro__email:is(:hover,:focus,:focus-visible,:active){
    color:var(--dl-cp-accent)!important;border-color:var(--dl-cp-accent)!important;
}
.dl-cp-intro__external-links{
    display:flex;flex-wrap:wrap;gap:9px 19px;align-items:center;
    max-width:510px;margin-top:clamp(22px,2.7vw,32px);
    padding-top:18px;border-top:1px solid rgba(242,240,234,.22);
}
.dl-contact-page .dl-cp-intro__external-link,
.dl-contact-page .dl-cp-intro__external-link:visited{
    display:inline-flex;align-items:center;gap:5px;min-height:30px;
    background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    color:var(--dl-cp-muted)!important;text-decoration:none!important;
    font:500 11px/1.3 "Helvetica Neue",Arial,sans-serif!important;
    letter-spacing:.035em;
    transition:color .2s ease;
}
.dl-cp-intro__external-link svg{width:12px;height:12px;display:block;stroke:currentColor}
.dl-contact-page .dl-cp-intro__external-link:is(:hover,:focus,:focus-visible,:active){
    color:var(--dl-cp-accent)!important;
}
.dl-contact-page .dl-cp-intro__external-link:focus-visible{outline:2px solid var(--dl-cp-accent)!important;outline-offset:3px}
@media(max-width:767px){
    .dl-cp-intro__contact-items{gap:20px}
    .dl-contact-page .dl-cp-intro__contact-item .dl-cp-intro__email{
        font-size:clamp(15px,4.4vw,19px);max-width:100%;
    }
    .dl-cp-intro__external-links{gap:7px 18px}
}
