/* ===========================================================================
   BR Contact CTA - stacked contact section (dark theme, gold accent).
   Heading block on top, enquiry form full-width below it.
   =========================================================================== */

/* Form controls do not inherit the page font by default - force it so every
   input, select, textarea and button matches the site typeface. */
input, select, textarea, button, optgroup, option { font-family: inherit; }
.pxl-cc, .pxl-fs, .pxl-cc--form {
    --pxl-cc-accent: #bd9a5f;
    --pxl-cc-focus: #bd9a5f;
    --pxl-cc-field-bg: rgba(255, 255, 255, .05);
    --pxl-cc-field-border: rgba(255, 255, 255, .14);
    --pxl-cc-field-border-hover: rgba(255, 255, 255, .26);
    --pxl-cc-field-text: #ffffff;
    --pxl-cc-muted: rgba(255, 255, 255, .52);
}
.pxl-cc {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 44px;
    align-items: start;
}
.pxl-cc-wrap { position: relative; }

/* ---------- Standalone form widget (BR Form) ---------- */
.pxl-fs-wrap { position: relative; }
.pxl-fs { position: relative; }
.pxl-fs--inner { max-width: 620px; margin: 0 auto; }
.pxl-fs.align-left .pxl-fs--inner { margin-left: 0; }
.pxl-fs.align-center { text-align: center; }
.pxl-fs.align-center .pxl-fs--eyebrow { justify-content: center; }
.pxl-fs--header { margin-bottom: 32px; }
.pxl-fs--eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    color: var(--pxl-cc-accent); font-size: 13px; font-weight: 600;
    letter-spacing: 2.4px; text-transform: uppercase; margin-bottom: 16px;
}
.pxl-fs--eyebrow-line { display: inline-block; width: 30px; height: 1px; background: var(--pxl-cc-accent); opacity: .8; }
.pxl-fs--title { font-size: clamp(26px, 3vw, 40px); line-height: 1.14; font-weight: 700; margin: 0 0 14px; letter-spacing: -.01em; }
.pxl-fs--desc { margin: 0; font-size: 16px; line-height: 1.8; color: color-mix(in srgb, currentColor 62%, transparent); }
.pxl-fs.align-center .pxl-fs--desc { max-width: 560px; margin-left: auto; margin-right: auto; }
/* Layout is always stacked (heading first, form below), so the widget's
   "text position" option never reorders the blocks. */
.pxl-cc--right .pxl-cc--text,
.pxl-cc--right .pxl-cc--form { order: 0; }

/* ---------- Text column ---------- */
.pxl-cc--eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    color: var(--pxl-cc-accent); font-size: 13px; font-weight: 600;
    letter-spacing: 2.4px; text-transform: uppercase; margin-bottom: 18px;
}
.pxl-cc--eyebrow-line { display: inline-block; width: 30px; height: 1px; background: var(--pxl-cc-accent); opacity: .8; }
.pxl-cc--title {
    font-size: clamp(28px, 3.3vw, 44px); line-height: 1.12; font-weight: 700;
    margin: 0 0 20px; letter-spacing: -.01em;
}
.pxl-cc--desc {
    margin: 0; font-size: 16px; line-height: 1.85;
    color: color-mix(in srgb, currentColor 62%, transparent);
    max-width: 720px;
}
.pxl-cc--info { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 16px; }
.pxl-cc--info-item { display: flex; align-items: center; gap: 14px; font-size: 15px; }
.pxl-cc--info-icon {
    flex: 0 0 44px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; background: color-mix(in srgb, var(--pxl-cc-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--pxl-cc-accent) 40%, transparent);
    color: var(--pxl-cc-accent); font-size: 16px;
}
.pxl-cc--info-icon svg { width: 18px; height: 18px; fill: currentColor; }
.pxl-cc--info-text a { color: inherit; text-decoration: none; transition: color .3s ease; }
.pxl-cc--info-text a:hover { color: var(--pxl-cc-accent); }

/* ---------- Form column ---------- */
.pxl-cc--form { position: relative; }
.pxl-cc--form .wpcf7 { margin: 0; }
.pxl-cc--form .wpcf7-form { position: relative; }
.pxl-cc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pxl-cc-field { position: relative; margin: 0; min-width: 0; }
.pxl-cc-full { grid-column: 1 / -1; }

/* Inputs / textarea */
.pxl-cc--form .wpcf7-form-control:not(.wpcf7-submit) {
    width: 100%;
    background-color: var(--pxl-cc-field-bg);
    border: 1px solid var(--pxl-cc-field-border);
    border-radius: 12px;
    color: var(--pxl-cc-field-text);
    font-size: 15px;
    line-height: 1.5;
    min-height: 56px;
    padding: 16px 20px;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none; appearance: none;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.pxl-cc--form .wpcf7-form-control:not(.wpcf7-submit):hover { border-color: var(--pxl-cc-field-border-hover); }
.pxl-cc--form textarea.wpcf7-form-control { min-height: 148px; padding-top: 16px; resize: vertical; display: block; }
.pxl-cc--form .wpcf7-form-control:not(.wpcf7-submit):focus {
    border-color: var(--pxl-cc-focus);
    background-color: color-mix(in srgb, var(--pxl-cc-field-bg) 55%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pxl-cc-focus) 20%, transparent);
}
.pxl-cc--form ::placeholder { color: var(--pxl-cc-muted); opacity: 1; font-size: 14px; letter-spacing: .2px; }
.pxl-cc--form ::-webkit-input-placeholder { color: var(--pxl-cc-muted); opacity: 1; }

/* Select (service) */
.pxl-cc--form select.wpcf7-form-control {
    padding-right: 46px; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23bd9a5f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 18px center; background-size: 14px;
}
.pxl-cc--form select.wpcf7-form-control option { background: #141414; color: #fff; }

/* Theme custom select widget (.pxl-select) — restyle to match the dark fields */
.pxl-cc--form .pxl-select { width: 100%; }
.pxl-cc--form .pxl-select .pxl-select-higthlight {
    background: var(--pxl-cc-field-bg) !important;
    border: 1px solid var(--pxl-cc-field-border) !important;
    border-radius: 12px !important;
    color: rgba(255, 255, 255, .82) !important;
    min-height: 56px !important; height: 56px !important;
    padding: 0 20px !important;
    font-size: 15px !important; font-weight: 400 !important; line-height: 1.4 !important;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.pxl-cc--form .pxl-select .pxl-select-higthlight:hover { border-color: var(--pxl-cc-field-border-hover) !important; }
.pxl-cc--form .pxl-select .pxl-select-higthlight.active {
    border-color: var(--pxl-cc-focus) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pxl-cc-focus) 20%, transparent);
}
/* replace the theme's arrow badge with a clean gold chevron (flex item, right) */
.pxl-cc--form .pxl-select .pxl-select-higthlight::before { display: none !important; }
.pxl-cc--form .pxl-select .pxl-select-higthlight::after {
    content: "" !important; flex: 0 0 auto; margin-left: auto;
    width: 10px; height: 10px;
    border-right: 2.4px solid var(--pxl-cc-accent);
    border-bottom: 2.4px solid var(--pxl-cc-accent);
    transform: translateY(-2px) rotate(45deg); transition: transform .3s ease;
}
.pxl-cc--form .pxl-select .pxl-select-higthlight.active::after { transform: translateY(2px) rotate(-135deg); }
/* dropdown list */
.pxl-cc--form .pxl-select .pxl-select-options {
    background: #141414 !important;
    border: 1px solid var(--pxl-cc-field-border) !important;
    border-radius: 12px !important;
    margin-top: 8px !important; padding: 8px !important;
    box-shadow: 0 26px 50px -22px rgba(0, 0, 0, .85) !important;
    z-index: 20 !important;
}
.pxl-cc--form .pxl-select .pxl-select-options li {
    padding: 11px 14px !important; border-radius: 8px !important;
    color: rgba(255, 255, 255, .82) !important; font-size: 14.5px !important;
    border: 0 !important; transition: background-color .2s ease, color .2s ease;
}
.pxl-cc--form .pxl-select .pxl-select-options li + li { border-top: 0 !important; }
.pxl-cc--form .pxl-select .pxl-select-options li:hover {
    background-color: color-mix(in srgb, var(--pxl-cc-accent) 18%, transparent) !important;
    color: #fff !important;
}

/* File field */
.pxl-cc-file .pxl-cc-file-label {
    display: block; margin-bottom: 8px; font-size: 13px; letter-spacing: .3px;
    color: var(--pxl-cc-muted); text-transform: uppercase;
}
.pxl-cc-file .pxl-cc-file-label em { font-style: normal; opacity: .7; text-transform: none; }

/* ===== Multi-file drag & drop (CodeDropz plugin) — dark + gold ===== */
.pxl-cc--form .codedropz-upload-wrapper { margin: 0; }
.pxl-cc--form .codedropz-upload-handler {
    border: 2px dashed color-mix(in srgb, var(--pxl-cc-accent) 38%, transparent) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .03) !important;
    padding: 32px 20px !important;
    transition: border-color .3s ease, background-color .3s ease !important;
    cursor: pointer;
}
.pxl-cc--form .codedropz-upload-handler:hover,
.pxl-cc--form .codedropz-dragover .codedropz-upload-handler { border-color: var(--pxl-cc-accent) !important; background: rgba(189, 154, 95, .07) !important; }
.pxl-cc--form .codedropz-upload-inner h3 {
    margin: 0 0 4px !important; font-size: 15px !important; font-weight: 500 !important;
    color: rgba(255, 255, 255, .82) !important; letter-spacing: .2px;
}
.pxl-cc--form .codedropz-upload-inner h3::before {
    content: ""; display: block; width: 34px; height: 34px; margin: 0 auto 12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 24 24' fill='none' stroke='%23bd9a5f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") no-repeat center / contain;
}
.pxl-cc--form .codedropz-upload-inner > span { color: var(--pxl-cc-muted) !important; font-size: 13px; }
.pxl-cc--form .codedropz-upload-inner .codedropz-btn-wrap { margin-top: 14px; }
.pxl-cc--form .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn {
    display: inline-block !important;
    padding: 11px 28px !important;
    border: 1.5px solid var(--pxl-cc-accent) !important;
    border-radius: 100px !important;
    background: transparent !important;
    color: var(--pxl-cc-accent) !important;
    font-size: 14px !important; font-weight: 600 !important; letter-spacing: .3px;
    line-height: 1 !important; text-decoration: none !important;
    transition: background-color .3s ease, color .3s ease, transform .3s ease !important;
}
.pxl-cc--form .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn:hover {
    background: var(--pxl-cc-accent) !important; color: #fff !important; transform: translateY(-2px);
}
.pxl-cc--form .dnd-upload-counter { color: var(--pxl-cc-muted) !important; font-size: 12px; margin-top: 8px; }
.pxl-cc--form .dnd-upload-status {
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid var(--pxl-cc-field-border) !important;
    border-radius: 10px !important; padding: 10px 14px !important; margin-top: 12px !important;
}
.pxl-cc--form .dnd-upload-status .dnd-upload-image { border-radius: 8px !important; overflow: hidden; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .name span { color: rgba(255, 255, 255, .9) !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .name em { color: var(--pxl-cc-muted) !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .dnd-progress-bar { background: rgba(255, 255, 255, .12) !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .dnd-progress-bar span,
.pxl-cc--form .dnd-upload-status .dnd-upload-details .dnd-progress-bar span.complete { background: var(--pxl-cc-accent) !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .remove-file { color: var(--pxl-cc-muted) !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details .remove-file:hover { color: #ff8f8f !important; }
.pxl-cc--form .dnd-upload-status .dnd-upload-details span.has-error,
.pxl-cc--form .codedropz-upload-wrapper span.has-error-msg { color: #ff8f8f !important; }
.pxl-cc--form .codedropz-upload-wrapper.invalid .codedropz-upload-handler { border-color: rgba(255, 120, 120, .55) !important; }

/* Legacy single file input (fallback if plugin disabled) */
.pxl-cc--form input.wpcf7-file {
    display: flex; align-items: center; padding: 10px 14px; cursor: pointer; font-size: 14px; color: var(--pxl-cc-muted);
}
.pxl-cc--form input.wpcf7-file::file-selector-button {
    margin-right: 16px; padding: 10px 18px; border: 0; border-radius: 8px; cursor: pointer;
    background: color-mix(in srgb, var(--pxl-cc-accent) 22%, transparent);
    color: var(--pxl-cc-accent); font-weight: 600; font-size: 13px; letter-spacing: .4px;
    text-transform: uppercase; transition: background .3s ease, color .3s ease;
}
.pxl-cc--form input.wpcf7-file::file-selector-button:hover { background: var(--pxl-cc-accent); color: #fff; }
.pxl-cc--form input.wpcf7-file::-webkit-file-upload-button {
    margin-right: 16px; padding: 10px 18px; border: 0; border-radius: 8px; cursor: pointer;
    background: color-mix(in srgb, var(--pxl-cc-accent) 22%, transparent);
    color: var(--pxl-cc-accent); font-weight: 600; font-size: 13px; letter-spacing: .4px; text-transform: uppercase;
}

/* Submit button */
.pxl-cc-submit { margin-top: 4px; }
.pxl-cc--form input[type="submit"] {
    display: inline-flex !important; align-items: center; justify-content: center;
    min-height: 56px;
    background: var(--pxl-cc-accent) !important; color: #fff !important;
    border: 0 !important; border-radius: 100px !important; cursor: pointer;
    font-size: 15px; font-weight: 600; letter-spacing: .5px; line-height: 1;
    padding: 18px 46px; text-transform: none;
    -webkit-appearance: none !important; appearance: none !important;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
    box-shadow: 0 16px 34px -14px color-mix(in srgb, var(--pxl-cc-accent) 70%, transparent);
}
.pxl-cc--form input[type="submit"]:hover {
    transform: translateY(-3px);
    background: color-mix(in srgb, var(--pxl-cc-accent) 82%, #000) !important;
    box-shadow: 0 22px 44px -16px color-mix(in srgb, var(--pxl-cc-accent) 80%, transparent);
}
.pxl-cc--form input[type="submit"]:active { transform: translateY(-1px); }

/* CF7 messages / validation / spinner */
.pxl-cc--form .wpcf7-not-valid-tip { color: #ff8f8f; font-size: 12.5px; margin-top: 6px; display: block; }
.pxl-cc--form .wpcf7-not-valid { border-color: rgba(255, 120, 120, .55) !important; }
.pxl-cc--form .wpcf7-response-output {
    margin: 20px 0 0; padding: 14px 18px; border-radius: 10px; font-size: 14px; line-height: 1.5;
    border: 1px solid rgba(255, 255, 255, .16); color: #fff;
}
.pxl-cc--form .wpcf7-mail-sent-ok { border-color: rgba(120, 205, 140, .6); background: rgba(120, 205, 140, .1); }
.pxl-cc--form .wpcf7-validation-errors,
.pxl-cc--form .wpcf7-mail-sent-ng { border-color: rgba(255, 120, 120, .5); background: rgba(255, 120, 120, .08); }
.pxl-cc--form .wpcf7-spinner { background-color: var(--pxl-cc-accent); }
.pxl-cc--form-missing { margin: 0; padding: 18px; border: 1px dashed rgba(255, 255, 255, .25); border-radius: 10px; color: var(--pxl-cc-muted); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .pxl-cc { gap: 36px; }
    .pxl-cc--desc { max-width: none; }
}
@media (max-width: 575px) {
    .pxl-cc-grid { grid-template-columns: 1fr; }
    .pxl-cc--form input[type="submit"] { width: 100%; }
}

/* ---------- color-mix fallbacks ---------- */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    .pxl-cc--desc { color: rgba(255, 255, 255, .62); }
    .pxl-fs--desc { color: rgba(255, 255, 255, .62); }
    .pxl-cc--info-icon { background: rgba(189, 154, 95, .14); border-color: rgba(189, 154, 95, .4); }
    .pxl-cc--form .wpcf7-form-control:not(.wpcf7-submit):focus { box-shadow: 0 0 0 3px rgba(189, 154, 95, .22); }
    .pxl-cc--form input.wpcf7-file::file-selector-button,
    .pxl-cc--form input.wpcf7-file::-webkit-file-upload-button { background: rgba(189, 154, 95, .22); }
    .pxl-cc--form input[type="submit"] { background: #bd9a5f !important; box-shadow: 0 16px 34px -14px rgba(189, 154, 95, .7); }
    .pxl-cc--form input[type="submit"]:hover { background: #9c7b48 !important; }
    .pxl-cc--form select.wpcf7-form-control { background-color: rgba(255, 255, 255, .05); }
    .pxl-cc--form .pxl-select .pxl-select-higthlight.active { box-shadow: 0 0 0 3px rgba(189, 154, 95, .2); }
    .pxl-cc--form .pxl-select .pxl-select-options li:hover { background-color: rgba(189, 154, 95, .18); }
    .pxl-cc--form .codedropz-upload-handler { border-color: rgba(189, 154, 95, .38); }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .pxl-cc--form input[type="submit"] { transition: background .3s ease; }
    .pxl-cc--form input[type="submit"]:hover { transform: none; }
}
