.elementor-326 .elementor-element.elementor-element-cdb8a02:not(.elementor-motion-effects-element-type-background), .elementor-326 .elementor-element.elementor-element-cdb8a02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://auldneds.com/wp-content/uploads/2026/02/reservation.png");background-position:center left;background-repeat:no-repeat;background-size:cover;}.elementor-326 .elementor-element.elementor-element-cdb8a02{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-326 .elementor-element.elementor-element-cdb8a02 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-326 .elementor-element.elementor-element-5460b77.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-326 .elementor-element.elementor-element-5460b77.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-326 .elementor-element.elementor-element-5460b77.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-326 .elementor-element.elementor-element-5460b77 > .elementor-element-populated{padding:180px 0px 140px 0px;}.elementor-326 .elementor-element.elementor-element-21fb705 .ct-heading{text-align:center;}.elementor-326 .elementor-element.elementor-element-21fb705 .ct-heading .item--title{font-size:48px;font-weight:700;text-transform:uppercase;line-height:1.1em;letter-spacing:0.2em;margin-bottom:0px;}.elementor-326 .elementor-element.elementor-element-21fb705 .ct-heading .item--sub-title{color:#FFFFFF !important;font-size:18px;font-weight:bold;}.elementor-326 .elementor-element.elementor-element-9cfcf97:not(.elementor-motion-effects-element-type-background), .elementor-326 .elementor-element.elementor-element-9cfcf97 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-326 .elementor-element.elementor-element-9cfcf97{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:75px 0px 51px 0px;}.elementor-326 .elementor-element.elementor-element-9cfcf97 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-326 .elementor-element.elementor-element-0d2b7f9 > .elementor-widget-container{margin:0px 100px 0px 100px;}@media(min-width:1025px){.elementor-326 .elementor-element.elementor-element-cdb8a02:not(.elementor-motion-effects-element-type-background), .elementor-326 .elementor-element.elementor-element-cdb8a02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-326 .elementor-element.elementor-element-21fb705 .ct-heading .item--title{font-size:35px;}}@media(max-width:767px){.elementor-326 .elementor-element.elementor-element-21fb705 .ct-heading .item--title{font-size:30px;}.elementor-326 .elementor-element.elementor-element-ae88157 > .elementor-element-populated{margin:0px 15px 0px 15px;--e-column-margin-right:15px;--e-column-margin-left:15px;padding:0px 0px 0px 0px;}.elementor-326 .elementor-element.elementor-element-0d2b7f9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for ct_contact_form, class: .elementor-element-0d2b7f9 *//* =============================================
   PUB RESERVATION FORM — pubres
   ============================================= */

.pubres-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.pubres-inner {
    width: 100%;
}

/* ── TOP ROW ── */
.pubres-top {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    margin-bottom: 30px;
    align-items: flex-start;
}

.pubres-field {
    flex: 1;
    position: relative;
    margin-bottom: 0;
}

.pubres-col-category {
    flex: 1.5;
}

/* ── LABELS ── */
.pubres-label {
    display: block !important;
    color: #c9a86c !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 10px !important;
    white-space: nowrap !important;
}

.pubres-details-label {
    display: block;
    color: #c9a86c;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(201, 168, 108, 0.3);
}

/* ── ALL TEXT INPUTS ── */
.pubres-text-input,
.pubres-number-input,
.pubres-category-input,
input.pubres-text-input,
input.pubres-number-input,
input.pubres-category-input,
.pubres-wrap input[type="text"],
.pubres-wrap input[type="email"],
.pubres-wrap input[type="tel"],
.pubres-wrap input[type="number"] {
    width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #fff !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    height: 50px !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
}

/* ── HIDE DATE INPUT — flatpickr handles display ── */
.pubres-date-input,
input.pubres-date-input {
    width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #fff !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    height: 50px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    outline: none !important;
}

/* ── HIDE CF7 TIME TEXT FIELD — custom dropdown shows instead ── */
.pubres-time-hidden,
input.pubres-time-hidden,
.pubres-wrap .wpcf7-form-control-wrap.pubres-time {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
}

/* ── FOCUS ── */
.pubres-wrap input[type="text"]:focus,
.pubres-wrap input[type="email"]:focus,
.pubres-wrap input[type="tel"]:focus,
.pubres-wrap input[type="number"]:focus {
    border-color: #c9a86c !important;
    background: rgba(255,255,255,0.03) !important;
    box-shadow: 0 0 0 2px rgba(201,168,108,0.15) !important;
}

/* ── PLACEHOLDER ── */
.pubres-wrap input::placeholder,
.pubres-wrap textarea::placeholder {
    color: rgba(255,255,255,0.45) !important;
}

/* ── NUMBER ARROWS HIDDEN ── */
.pubres-wrap input[type="number"]::-webkit-inner-spin-button,
.pubres-wrap input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.pubres-wrap input[type="number"] {
    -moz-appearance: textfield !important;
}

/* ── CATEGORY READONLY ── */
input.pubres-category-input {
    pointer-events: none !important;
    cursor: default !important;
    color: #c9a86c !important;
    border-color: rgba(201,168,108,0.4) !important;
    background: rgba(201,168,108,0.05) !important;
    user-select: none !important;
}

/* ── TEXTAREA ── */
.pubres-textarea-input,
.pubres-wrap textarea {
    width: 100% !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #fff !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    min-height: 165px !important;
    height: auto !important;
    resize: vertical !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
}

.pubres-wrap textarea:focus {
    border-color: #c9a86c !important;
    box-shadow: 0 0 0 2px rgba(201,168,108,0.15) !important;
}

/* ── CUSTOM TIME DROPDOWN ── */
.pubres-custom-select {
    position: relative;
    width: 100%;
    user-select: none;
}

.pubres-select-display {
    width: 100%;
    height: 50px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 0 40px 0 16px;
    font-size: 14px;
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: border-color 0.3s ease;
    position: relative;
}

.pubres-select-display::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a86c' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    transition: transform 0.2s ease;
}

.pubres-custom-select.pubres-open .pubres-select-display {
    border-color: #c9a86c;
    box-shadow: 0 0 0 2px rgba(201,168,108,0.15);
}

.pubres-custom-select.pubres-open .pubres-select-display::after {
    transform: translateY(-50%) rotate(180deg);
}

.pubres-select-display.pubres-has-value {
    color: #fff;
}

.pubres-select-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #1a1a1a;
    border: 1px solid rgba(201,168,108,0.4);
    border-radius: 4px;
    z-index: 99999;
    max-height: 220px;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0,0,0,0.6);
}

.pubres-custom-select.pubres-open .pubres-select-dropdown {
    display: block;
}

.pubres-select-option {
    padding: 11px 16px;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.pubres-select-option:hover {
    background: rgba(201,168,108,0.15);
    color: #c9a86c;
}

.pubres-select-option.pubres-selected {
    background: rgba(201,168,108,0.2);
    color: #c9a86c;
    font-weight: 600;
}

/* Scrollbar styling for dropdown */
.pubres-select-dropdown::-webkit-scrollbar {
    width: 4px;
}
.pubres-select-dropdown::-webkit-scrollbar-track {
    background: #111;
}
.pubres-select-dropdown::-webkit-scrollbar-thumb {
    background: #c9a86c;
    border-radius: 2px;
}

/* ── CF7 WRAP FIX ── */
.pubres-wrap .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* ── AUTOFILL FIX ── */
.pubres-wrap input:-webkit-autofill,
.pubres-wrap input:-webkit-autofill:hover,
.pubres-wrap input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* ── VALIDATION ── */
.pubres-wrap .wpcf7-not-valid-tip {
    color: #ff6b6b !important;
    font-size: 12px !important;
    margin-top: 5px !important;
}

.pubres-wrap .wpcf7-response-output {
    border: 1px solid #c9a86c !important;
    background: rgba(201,168,108,0.1) !important;
    color: #fff !important;
    padding: 15px !important;
    margin: 20px 0 0 0 !important;
    border-radius: 4px !important;
}

/* ── WARNING BOX ── */
.pubres-warning {
    width: 100%;
    background: rgba(180,50,50,0.15);
    border: 1px solid rgba(220,80,80,0.5);
    border-left: 4px solid #e05555;
    border-radius: 4px;
    padding: 14px 18px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    animation: pubresWarnFade 0.3s ease;
    box-sizing: border-box;
}

.pubres-warn-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.pubres-warn-text {
    color: #ff9090;
    font-size: 14px;
    line-height: 1.5;
}

@keyframes pubresWarnFade {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── BLOCKED SUBMIT ── */
.pubres-blocked .wpcf7-submit {
    opacity: 0.4 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
}

/* ── DETAILS SECTION ── */
.pubres-details {
    margin-top: 10px;
}

.pubres-details-row {
    display: flex;
    gap: 25px;
    flex-wrap: nowrap;
}

.pubres-details-left,
.pubres-details-right {
    flex: 1;
}

.pubres-details-left .pubres-field {
    margin-bottom: 15px;
}

/* ── SUBMIT ── */
.pubres-submit {
    margin-top: 0px;
}

.pubres-wrap input[type="submit"] {
    background: linear-gradient(145deg, #c9a86c 0%, #b89560 100%) !important;
    color: #1a3c2a !important;
    border: none !important;
    padding: 16px 55px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 6px 25px rgba(201,168,108,0.35) !important;
    height: auto !important;
}

.pubres-wrap input[type="submit"]:hover {
    background: linear-gradient(145deg, #fff 0%, #f5f5f5 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(201,168,108,0.45) !important;
}

/* ── FLATPICKR ── */
.flatpickr-calendar {
    background: #1a1a1a !important;
    border: 1px solid rgba(201,168,108,0.4) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.5) !important;
}
.flatpickr-month,
.flatpickr-weekdays,
.flatpickr-current-month {
    background: #111 !important;
    color: #c9a86c !important;
    fill: #c9a86c !important;
}
.flatpickr-day { color: #fff !important; border-radius: 4px !important; }
.flatpickr-day:hover { background: rgba(201,168,108,0.2) !important; border-color: #c9a86c !important; }
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #c9a86c !important;
    border-color: #c9a86c !important;
    color: #111 !important;
    font-weight: bold;
}
.flatpickr-day.disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: rgba(255,255,255,0.2) !important; }
.flatpickr-weekday { color: #c9a86c !important; }
.numInputWrapper input,
.flatpickr-current-month input.cur-year { color: #c9a86c !important; }
.flatpickr-prev-month svg,
.flatpickr-next-month svg { fill: #c9a86c !important; }

/* ── RESPONSIVE TABLET ── */
@media (max-width: 768px) {
    .pubres-top {
        flex-wrap: wrap;
    }
    .pubres-field {
        flex: 0 0 calc(50% - 10px) !important;
        margin-bottom: 15px;
    }
    .pubres-col-category {
        flex: 0 0 100% !important;
    }
    .pubres-details-row {
        flex-wrap: wrap;
    }
    .pubres-details-left,
    .pubres-details-right {
        flex: 0 0 100%;
    }
}

/* ── RESPONSIVE MOBILE ── */
@media (max-width: 480px) {
    .pubres-field {
        flex: 0 0 100% !important;
    }
    .pubres-wrap input[type="submit"] {
        width: 100%;
        padding: 16px 20px !important;
    }
}/* End custom CSS */