/* Phase 4 — blue-marked contact artwork + live Contact Form 7 overlay. */
.cs-contact-panel{
    position:relative;
    width:100%;
    min-height:var(--cs-contact-min-height,520px);
    overflow:hidden;
    background:var(--cs-light-bg,#f7f9fc);
    isolation:isolate;
}
.cs-contact-panel__bg{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    pointer-events:none;
}
.cs-contact-panel__bg img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--cs-contact-image-position,center center);
}
.cs-contact-panel__inner{
    position:relative;
    z-index:1;
    width:min(1200px,calc(100% - 32px));
    min-height:inherit;
    margin:0 auto;
    padding-top:var(--cs-contact-vertical-gap,0px);
    padding-bottom:var(--cs-contact-vertical-gap,0px);
    display:flex;
    align-items:center;
}
.cs-contact-panel--left .cs-contact-panel__inner{justify-content:flex-start;padding-left:var(--cs-contact-horizontal-gap,10%)}
.cs-contact-panel--center .cs-contact-panel__inner{justify-content:center}
.cs-contact-panel--right .cs-contact-panel__inner{justify-content:flex-end;padding-right:var(--cs-contact-horizontal-gap,10%)}
.cs-contact-panel__form-card{
    width:var(--cs-contact-form-width,34%);
    padding:var(--cs-contact-card-padding,22px);
    border-radius:var(--cs-contact-card-radius,8px);
    background:var(--cs-contact-card-bg,#fff);
    color:var(--cs-contact-card-text,#111827);
}
.cs-contact-panel--shadow .cs-contact-panel__form-card{box-shadow:0 18px 45px rgba(7,17,32,.16)}
.cs-contact-panel--no-shadow .cs-contact-panel__form-card{box-shadow:none}
.cs-contact-panel__form-title{margin:0 0 5px;font-size:clamp(20px,2vw,28px);line-height:1.15;color:inherit}
.cs-contact-panel__form-subtitle{margin:0 0 16px;color:var(--cs-muted,#667085);font-size:14px}
.cs-contact-panel__notice{padding:14px;border:1px dashed var(--cs-primary,#ef1c25);background:#fff6f6;color:#8b1218;font-size:14px}

/* Contact Form 7 normalization inside the card. */
.cs-contact-form .wpcf7-form{margin:0}
.cs-contact-form .wpcf7-form p{margin:0 0 12px}
.cs-contact-form .wpcf7-form label{display:block;margin:0 0 5px;font-size:13px;font-weight:600;color:var(--cs-contact-card-text,#111827)}
.cs-contact-form .wpcf7-form-control-wrap{display:block}
.cs-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.cs-contact-form textarea,
.cs-contact-form select{
    width:100%;
    min-height:46px;
    padding:11px 12px;
    border:1px solid var(--cs-contact-field-border,var(--cs-border,#e5e7eb));
    border-radius:5px;
    outline:0;
    background:var(--cs-contact-field-bg,#fff);
    color:var(--cs-contact-card-text,#111827);
    font:inherit;
    transition:border-color .2s ease,box-shadow .2s ease;
}
.cs-contact-form textarea{min-height:112px;resize:vertical}
.cs-contact-form input:focus,
.cs-contact-form textarea:focus,
.cs-contact-form select:focus{border-color:var(--cs-primary,#ef1c25);box-shadow:0 0 0 3px rgba(239,28,37,.10)}
.cs-contact-form input[type=submit],
.cs-contact-form button[type=submit]{
    width:100%;
    min-height:46px;
    padding:11px 22px;
    border:0;
    border-radius:5px;
    background:var(--cs-contact-button-bg,var(--cs-primary,#ef1c25));
    color:var(--cs-contact-button-text,#fff);
    font-weight:700;
    cursor:pointer;
    transition:transform .18s ease,filter .18s ease;
}
.cs-contact-form input[type=submit]:hover,
.cs-contact-form button[type=submit]:hover{filter:brightness(.94);transform:translateY(-1px)}
.cs-contact-form .wpcf7-spinner{margin:8px 0 0}
.cs-contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:4px}
.cs-contact-form .wpcf7-response-output{margin:12px 0 0!important;padding:10px 12px!important;font-size:13px;border-radius:5px}

@media (max-width:1024px){
    .cs-contact-panel{min-height:var(--cs-contact-tablet-height,470px)}
    .cs-contact-panel__form-card{width:var(--cs-contact-form-width-tablet,42%)}
    .cs-contact-panel__inner{width:min(100% - 24px,1100px)}
    .cs-contact-panel--left .cs-contact-panel__inner{padding-left:4%}
    .cs-contact-panel--right .cs-contact-panel__inner{padding-right:4%}
}

@media (max-width:767px){
    .cs-contact-panel{min-height:var(--cs-contact-mobile-height,560px)}
    .cs-contact-panel__inner{width:100%;padding-left:14px!important;padding-right:14px!important}
    .cs-contact-panel__form-card{width:var(--cs-contact-form-width-mobile,100%);max-width:560px}
    .cs-contact-panel--mobile-overlay .cs-contact-panel__inner{align-items:flex-start;justify-content:center;padding-top:var(--cs-contact-mobile-art-space,190px)}

    /* Safer mobile mode: keep the artwork intact above the live form instead of squeezing/covering it. */
    .cs-contact-panel--mobile-below{min-height:0;overflow:visible;background:#fff}
    .cs-contact-panel--mobile-below .cs-contact-panel__bg{position:relative;inset:auto;width:100%;height:auto}
    .cs-contact-panel--mobile-below .cs-contact-panel__bg img{position:relative;width:100%;height:auto;object-fit:contain;object-position:center top}
    .cs-contact-panel--mobile-below .cs-contact-panel__inner{min-height:0;justify-content:center;padding:14px}
    .cs-contact-panel--mobile-below .cs-contact-panel__form-card{margin-top:0}
}

/* Elementor-native Contact Form 7 card used by the v1.9 Contact page. */
.cs-native-cf7-card{position:relative;z-index:3;width:100%;padding:18px 18px 15px;border:1px solid rgba(7,17,32,.06);border-radius:9px;background:var(--cs-cf7-card-bg,#fff);color:var(--cs-cf7-card-text,#111827);box-shadow:0 15px 34px rgba(7,17,32,.13)}
.cs-native-cf7-card>h3{margin:0 0 12px;color:inherit;font-size:15px;line-height:1.2;font-weight:800}
.cs-native-cf7-card__subtitle{margin:-6px 0 12px;color:#667085;font-size:10px;line-height:1.35}
.cs-native-cf7-card .wpcf7-form p{margin:0 0 8px}
.cs-native-cf7-card .wpcf7-form label{display:block;margin:0 0 3px;color:var(--cs-cf7-card-text,#111827);font-size:9px;font-weight:700}
.cs-native-cf7-card input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.cs-native-cf7-card textarea,
.cs-native-cf7-card select{width:100%;min-height:32px;padding:7px 9px;border:1px solid var(--cs-cf7-field-border,#e2e7ed);border-radius:3px;background:var(--cs-cf7-field-bg,#fff);color:var(--cs-cf7-card-text,#111827);font-size:10px;line-height:1.25;outline:0}
.cs-native-cf7-card textarea{min-height:70px;resize:vertical}
.cs-native-cf7-card input:focus,.cs-native-cf7-card textarea:focus,.cs-native-cf7-card select:focus{border-color:var(--cs-primary,#ef1c25);box-shadow:0 0 0 2px rgba(239,28,37,.08)}
.cs-native-cf7-card input[type=submit],.cs-native-cf7-card button[type=submit]{width:100%;min-height:34px;padding:8px 14px;border:0;border-radius:4px;background:var(--cs-cf7-button-bg,#ef1c25);color:var(--cs-cf7-button-text,#fff);font-size:10px;font-weight:800;cursor:pointer}
.cs-native-cf7-card .wpcf7-spinner{margin:6px 0 0}
.cs-native-cf7-card .wpcf7-not-valid-tip{margin-top:2px;font-size:9px}
.cs-native-cf7-card .wpcf7-response-output{margin:8px 0 0!important;padding:7px 8px!important;font-size:9px;border-radius:4px}

@media(max-width:767px){
  .cs-native-cf7-card{padding:18px 15px 15px}
  .cs-native-cf7-card>h3{font-size:17px}
  .cs-native-cf7-card input:not([type=submit]):not([type=checkbox]):not([type=radio]),.cs-native-cf7-card textarea,.cs-native-cf7-card select{min-height:42px;padding:10px 11px;font-size:13px}
  .cs-native-cf7-card textarea{min-height:96px}
  .cs-native-cf7-card input[type=submit],.cs-native-cf7-card button[type=submit]{min-height:44px;font-size:13px}
}
