/*
 Theme Name: JBTheme
 Template:   Divi
 Version:    1.0
*/

/* ===== JB Marina Gravity Form – final tidy version ===== */

.jb-waterfront-form .gform_fields{
    display:flex;
    flex-direction:column;
    gap:24px;                /* vertical spacing between every field */
}

/* Full‑width inputs & textarea, dark‑navy styling */
.jb-waterfront-form input[type="text"],
.jb-waterfront-form input[type="email"],
.jb-waterfront-form input[type="tel"],
.jb-waterfront-form textarea{
    width:100%;
    background:#0F253E;      /* dark navy */
    border:1px solid #2E4A65;
    color:#fff;
    font-size:16px;
    padding:14px;
    border-radius:4px;
    box-sizing:border-box;
    transition:border-color .25s ease;
}

.jb-waterfront-form input::placeholder,
.jb-waterfront-form textarea::placeholder{
    color:#9CB0C8;           /* lighter grey‑blue */
    opacity:1;               /* Safari */
}

/* Hide field labels if placeholders are set */
.jb-waterfront-form .gfield_label{display:none;}

/* Submit button */
.jb-waterfront-form .gform_footer{margin-top:8px;}
.jb-waterfront-form .gform_footer input[type="submit"]{
    background:#ffaf02;      /* brand blue */
    border:none;
    color:#fff;
    font-size:17px;
    font-weight:600;
    padding:14px 32px;
    border-radius:4px;
    cursor:pointer;
    transition:background .25s ease;
    width:200px;             /* nice width under stacked fields */
}
.jb-waterfront-form .gform_footer input[type="submit"]:hover{
    background:#1453c0;
}

/* Validation message colour */
.jb-waterfront-form .validation_message{
    color:#E03131;
    font-size:14px;
}

/* === JB Marina – final refinements === */

/* Center & emphasise heading and description */
.jb-waterfront-form .gform_heading{
    text-align:center;
    margin-bottom:28px;
}
.jb-waterfront-form .gform_title{
    font-size:32px;           /* bigger */
    font-weight:700;          /* bolder */
    color:#0F253E;            /* same dark‑navy brand colour */
    margin-bottom:4px;
}
.jb-waterfront-form .gform_description{
    font-size:16px;
    color:#5C728E;            /* muted grey‑blue */
}

/* Add “card” separation to each input/textarea */
.jb-waterfront-form .gfield{
    background:#0F253E;       /* keep navy background */
    border:1px solid #334B6B; /* slightly lighter border */
    border-radius:6px;
    padding:4px;              /* space between card edge & input */
    box-shadow:0 1px 2px rgba(0,0,0,0.15);
}

/* Remove duplicate border on the actual input/textarea now wrapped in a card */
.jb-waterfront-form input[type="text"],
.jb-waterfront-form input[type="email"],
.jb-waterfront-form input[type="tel"],
.jb-waterfront-form textarea{
    border:none;
    background:transparent;   /* inherits card bg */
    padding:12px 14px;        /* inner padding */
    border-radius:4px;
}

/* On focus, highlight card */
.jb-waterfront-form .gfield input:focus,
.jb-waterfront-form .gfield textarea:focus{
    outline:none;
}
.jb-waterfront-form .gfield:focus-within{
    border-color:#1A74FF;
    box-shadow:0 0 0 2px rgba(26,116,255,0.35);
}

/* --- JB Marina form heading: centered, larger, white --- */
#gform_wrapper_1 .gform_heading{
    text-align:center !important;
    margin-bottom:28px !important;
}

#gform_wrapper_1 .gform_title{
    font-size:34px !important;
    font-weight:700 !important;
    color:#072031 !important;
    line-height:1.25 !important;
    margin-bottom:6px !important;
}

#gform_wrapper_1 .gform_description{
    font-size:18px !important;
    color:#072031 !important;
    opacity:0.9 !important;
}

/* === Fix for multi-input fields (e.g., Name) === */

.jb-waterfront-form .ginput_complex {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.jb-waterfront-form .ginput_complex input[type="text"] {
    flex: 1 1 48%;
    background: transparent;
    border: none;
    color: #fff;
    padding: 12px 14px;
    border-radius: 4px;
    box-sizing: border-box;
}

/* Wrap each part (first/last) in a card-style box */
.jb-waterfront-form .gfield .ginput_complex span {
    background: #0F253E;
    border: 1px solid #334B6B;
    border-radius: 6px;
    padding: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
    flex: 1 1 48%;
}