﻿/*********************************
   P&L Grill — colors hardcoded directly (no CSS variables).
   Primary brand color: #6e0002
**********************************/

.table-res-section {
    background: #FAFAFA !important;
    padding: 48px 20px !important;
    position: relative !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

.table-res-wrapper {
    max-width: 760px !important;
    margin: 0 auto !important;
}

.table-res-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,.08) !important;
    border: 1px solid #E5E5E5 !important;
    padding: 40px 44px !important;
}

/*********************************
      ALERT / STATUS BANNER
**********************************/

.res-alert-banner {
    background: rgba(110,0,2,.08) !important;
    border: 1px solid rgba(110,0,2,.30) !important;
    color: #4a0001 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
}

    .res-alert-banner:empty {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

/*********************************
      HEADING
**********************************/

.form-heading {
    text-align: center !important;
    margin-bottom: 8px !important;
}

    .form-heading h2 {
        font-size: 26px !important;
        font-weight: 600 !important;
        color: #222222 !important;
        margin: 0 0 10px 0 !important;
    }

    .form-heading .heading-underline {
        display: block !important;
        width: 48px !important;
        height: 3px !important;
        background: #6e0002 !important;
        border-radius: 4px !important;
        margin: 0 auto !important;
    }

.res-subtitle {
    text-align: center !important;
    color: #666666 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    margin-bottom: 28px !important;
}

    .res-subtitle span {
        display: block !important;
    }

/*********************************
      FIELDS
**********************************/

.field-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.field-row-split {
    display: flex !important;
    gap: 16px !important;
    margin-top: 16px !important;
}

    .field-row-split .field-group {
        flex: 1 1 0 !important;
    }

.field-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.field-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #222222 !important;
    margin: 0 !important;
}

.field-input {
    width: 100% !important;
    height: 44px !important;
    border-radius: 8px !important;
    border: 1.5px solid #E5E5E5 !important;
    background: #ffffff !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: #222222 !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

textarea.field-input {
    height: auto !important;
    min-height: 100px !important;
    padding: 10px 14px !important;
    resize: none !important;
    font-family: inherit !important;
}

.field-input:focus {
    border-color: #6e0002 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(110,0,2,.15) !important;
    outline: none !important;
}

.field-error {
    font-size: 12px !important;
    color: #d0342c !important;
    margin-top: 2px !important;
    display: block !important;
}

/*********************************
      SELECT — theme-driven arrow
      (wrap the <select> in .select-wrap so we can mask a
      real pseudo-element instead of baking a fixed color
      into a data-URI background image)
**********************************/

.select-wrap {
    position: relative !important;
}

    .select-wrap .field-input.field-select {
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        cursor: pointer !important;
        padding-right: 40px !important;
    }

    .select-wrap::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: 14px !important;
        width: 14px !important;
        height: 14px !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
        background-color: #6e0002 !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
        -webkit-mask-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='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
        mask-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='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    }

/* "Other" free-text input that appears under the Occasion select */
#OccationInput {
    margin-top: 8px !important;
    display: none;
}

/*********************************
      DATE & TIME — theme-driven icons
      (native indicator can't take `color`, so we hide it and
      draw our own shape as a CSS mask, painted with the
      brand color — swap theme.css and these follow along)
**********************************/

.field-input[type="date"]::-webkit-calendar-picker-indicator,
.field-input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer !important;
    opacity: 1 !important;
    background-image: none !important;
    background-color: #000 !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

.field-input[type="date"]::-webkit-calendar-picker-indicator {
    -webkit-mask-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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
    mask-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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
}

.field-input[type="time"]::-webkit-calendar-picker-indicator {
    -webkit-mask-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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 16 14'/%3E%3C/svg%3E") !important;
    mask-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='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 16 14'/%3E%3C/svg%3E") !important;
}

.field-input[type="date"]:required:invalid::-webkit-datetime-edit {
    color: transparent !important;
}

/* Hide the old inline custom-icon <img> markup - the mask above replaces it */
.custom-icon {
    display: none !important;
}

/*********************************
      CAPTCHA
**********************************/

.captcha-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 24px 0 4px 0 !important;
}

.captcha-error {
    color: #d0342c !important;
    font-size: 13px !important;
    display: inline-block !important;
    margin-top: 8px !important;
}

/*********************************
      BUTTONS
**********************************/

.form-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 24px !important;
    flex-wrap: wrap !important;
}

.btn-primary-gold {
    background: #6e0002 !important;
    color: #ffffff !important;
    border: none !important;
    height: 42px !important;
    padding: 0 28px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, opacity .2s ease !important;
    box-shadow: 0 4px 12px rgba(110,0,2,.30) !important;
}

    .btn-primary-gold:hover {
        background: #6e0002 !important;
        transform: translateY(-2px) !important;
    }

    .btn-primary-gold:disabled {
        background: #999999 !important;
        color: #ffffff !important;
        cursor: not-allowed !important;
        box-shadow: none !important;
        transform: none !important;
    }

.btn-secondary-outline {
    letter-spacing: 1px;
    background: #fff !important;
    color: #222 !important;
    border: 1px solid #E5E5E5 !important;
    height: 42px !important;
    padding: 0 28px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

    .btn-secondary-outline:hover {
        border-color: #6e0002 !important;
        transform: translateY(-2px) !important;
        /* box-shadow: 0 8px 16px rgba(0, 0, 0, .08) !important;*/
    }

.form-restricted-msg {
    font-size: 14px !important;
    color: #d0342c !important;
    margin: 20px 0 0 0 !important;
    font-weight: 600 !important;
}

/*********************************
      RESPONSIVE
**********************************/

        @media (max-width: 576px) {

            .table-res-section {
                padding: 24px 12px !important;
            }

            .table-res-card {
                padding: 26px 20px !important;
            }

            .form-heading h2 {
                font-size: 22px !important;
            }

            .field-row-split {
                flex-direction: column !important;
                gap: 16px !important;
            }

            .field-input {
                height: 42px !important;
            }

            .form-actions {
                flex-direction: column !important;
                align-items: stretch !important;
            }

            .btn-primary-gold,
            .btn-secondary-outline {
                width: 100% !important;
            }
        }
