/* ===========================================================================
   DC Contact Form (CF7) — dc-cf7-form
   =========================================================================== */

.dccf7 {
    --gf-primary: #a0c040;
    --gf-dark: #2b2926;
    --gf-muted: #7a726a;
    --gf-surface: #faf7f4;
    --gf-border: rgba(43,41,38,.08);
    background: #ffffff;
    padding: clamp(64px, 9vh, 112px) 24px;
    font-family: 'DM Sans','Poppins',system-ui,sans-serif;
    color: var(--gf-dark);
}
.dccf7 .dccf7__inner {
    max-width: 1240px; margin: 0 auto;
    display: grid;
    gap: clamp(36px, 6vw, 72px);
}
.dccf7--split .dccf7__inner {
    grid-template-columns: 1fr 1.2fr;
    align-items: start;
}
.dccf7--stacked .dccf7__inner {
    grid-template-columns: 1fr;
    align-items: stretch;
}
.dccf7 .dccf7__intro { max-width: 480px; }
.dccf7 .dccf7__eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    padding: 7px 14px; border-radius: 100px;
    background: var(--gf-surface);
    font-size: 11px; font-weight: 800; letter-spacing:.2em; text-transform: uppercase;
    color: var(--gf-muted); margin-bottom: 22px;
}
.dccf7 .dccf7__eyebrow::before {
    content:''; width:7px; height:7px; border-radius:50%;
    background: var(--gf-primary);
}
.dccf7 .dccf7__title {
    font-size: clamp(26px, 3.6vw, 40px); font-weight: 800;
    letter-spacing: -.5px; line-height: 1.15; margin: 0 0 16px;
}
.dccf7 .dccf7__desc {
    font-size: 16px; line-height: 1.7; color: var(--gf-muted); margin: 0;
}
.dccf7 .dccf7__form {
    background: #ffffff;
    border: 1px solid var(--gf-border);
    border-radius: 16px;
    padding: clamp(24px, 4vw, 40px);
    box-shadow: 0 24px 56px -28px rgba(43,41,38,.18);
}
/* CF7 element styling */
.dccf7 .wpcf7-form p { margin: 0 0 14px; font-size: 13px; font-weight: 600; color: var(--gf-dark); }
.dccf7 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    width: 100%; padding: 14px 16px;
    background: var(--gf-surface);
    border: 1px solid var(--gf-border);
    border-radius: 10px;
    font-size: 14px; font-weight: 500; color: var(--gf-dark);
    font-family: inherit;
    transition: border-color .25s, background .25s, box-shadow .25s;
}
.dccf7 .wpcf7-form-control:focus {
    outline: none; border-color: var(--gf-primary); background: #fff;
    box-shadow: 0 0 0 3px rgba(160,192,64,.12);
}
.dccf7 textarea.wpcf7-form-control { min-height: 130px; resize: vertical; }
.dccf7 .wpcf7-submit {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 15px 32px;
    background: var(--gf-primary); color: #fff;
    border: none; border-radius: 100px;
    font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 14px 30px -12px rgba(160,192,64,.55);
    transition: transform .3s, box-shadow .3s, background .3s;
}
.dccf7 .wpcf7-submit:hover {
    transform: translateY(-2px); background: #82a032;
    box-shadow: 0 18px 36px -10px rgba(160,192,64,.6);
}
.dccf7 .wpcf7 form.invalid .wpcf7-response-output,
.dccf7 .wpcf7-not-valid-tip {
    color: #c44; font-size: 12px; font-weight: 600;
}
.dccf7 .wpcf7-response-output {
    margin-top: 18px; padding: 14px 18px; border-radius: 10px;
    border: 1px solid var(--gf-border); background: var(--gf-surface);
    font-size: 14px; font-weight: 600;
}
@media (max-width: 900px) {
    .dccf7 .dccf7__inner { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .dccf7 { padding: 56px 18px; }
    .dccf7 .dccf7__form { padding: 22px; }
}
