/* =============================================================
   Longbush Dinner Booking — Field Styles
   Designed to blend with the Longbush Farmstay site palette.
   ============================================================= */

/* ---- Field wrapper ---- */
.ldb-dinner-fields {
    margin: 0 1.5em 0 0;
    padding: 1.25em 0em;
    border-radius: 4px;
    max-width: 200px;
}

.ldb-field {
    margin-bottom: 1.1em;
}

.ldb-field:last-child {
    margin-bottom: 0;
}

/* ---- Labels ---- */
.ldb-field label {
    display: block;
    font-weight: 600;
    font-size: 0.9em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #2c3a2e;
    margin-bottom: 0.4em;
}

.ldb-field label .required {
    color: #c0392b;
    margin-left: 2px;
}

/* ---- Inputs & Select ---- */
.ldb-field input[type="text"],
.ldb-field select {
    display: block;
    width: 100%;
    padding: 0.65em 0.9em;
    font-size: 1em;
    font-family: inherit;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    cursor: pointer;
}

.ldb-field input[type="text"]:focus,
.ldb-field select:focus {
    outline: none;
    border-color: #2c3a2e;
    box-shadow: 0 0 0 2px rgba(44, 58, 46, 0.15);
}

/* ---- Error state ---- */
.ldb-field--error input[type="text"],
.ldb-field--error select {
    border-color: #c0392b;
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.ldb-field--error label {
    color: #c0392b;
}

/* ---- Flatpickr calendar theme ---- */
.flatpickr-calendar {
    font-family: inherit;
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14);
    border: none;
}

/* Header bar (month/year) */
.flatpickr-months {
    background: #2c3a2e;
    border-radius: 6px 6px 0 0;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-current-month .numInputWrapper span,
.flatpickr-current-month input.cur-year {
    color: #fff;
    fill: #fff;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    fill: #fff;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #a8c5a0;
}

/* Weekday headers */
.flatpickr-weekdays {
    background: #3d5240;
}

span.flatpickr-weekday {
    background: #3d5240;
    color: #c8ddc9;
    font-size: 0.8em;
}

/* Day cells */
.flatpickr-day {
    border-radius: 4px;
    color: #333;
}

.flatpickr-day:hover {
    background: #e8f0e8;
    border-color: #e8f0e8;
}

/* Selected day */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
    background: #2c3a2e;
    border-color: #2c3a2e;
    color: #fff;
}

/* Today highlight */
.flatpickr-day.today {
    border-color: #2c3a2e;
    color: #2c3a2e;
    font-weight: 700;
}

.flatpickr-day.today:hover {
    background: #2c3a2e;
    color: #fff;
}

/* Disabled (past) days */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #bbb;
    cursor: not-allowed;
}

/* ---- Responsive ---- */
@media ( max-width: 600px ) {
    .ldb-dinner-fields {
        padding: 1em;
    }
}


/* =============================================================
   Add to Cart Buttons — Fork & Knife icon + dark navy
   Covers: shop loop (archive), single product page
   ============================================================= */

/* ------ DIVI SHOP HOVER OVERLAY: replace blue circle with fork & knife ------ */

.et_overlay {
    background: rgba(26, 45, 61, 0.75) !important;
    border: none !important;
}

.et_overlay::before {
    content: '\1F374' !important;
    font-size: 2em !important;
    color: #fff !important;
    font-family: inherit !important;
    line-height: 1 !important;
}

/* ------ SHOP LOOP: the circular + button on product cards ------ */

/* Reset the circle/bubble shape WooCommerce applies */
ul.products .add_to_cart_button,
ul.products a.add_to_cart,
ul.products .button.add_to_cart,
.woocommerce-loop-product__link + .add_to_cart_button {
    display:          inline-flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    gap:              0.4em !important;
    background-color: #1a2d3d !important;
    border-color:     #1a2d3d !important;
    color:            #ffffff !important;
    border-radius:    4px !important;       /* rectangular, not circle */
    width:            auto !important;
    height:           auto !important;
    padding:          0.55em 1.2em !important;
    font-size:        0.85em !important;
    font-weight:      600 !important;
    letter-spacing:   0.03em !important;
    text-indent:      0 !important;         /* remove WC text-indent hack */
    transition:       background-color 0.25s ease, transform 0.15s ease !important;
    position:         relative !important;
}

ul.products .add_to_cart_button:hover,
ul.products a.add_to_cart:hover {
    background-color: #243d52 !important;
    border-color:     #243d52 !important;
    transform:        translateY(-1px) !important;
}

/* Fork & knife icon — prepend via ::before */
ul.products .add_to_cart_button::before,
ul.products a.add_to_cart::before {
    content:     '\1F374';
    font-size:   1em;
    line-height: 1;
    flex-shrink: 0;
}

/* Hide WooCommerce's default SVG/span icon inside loop button */
ul.products .add_to_cart_button .icon,
ul.products .add_to_cart_button svg,
ul.products .add_to_cart_button span.screen-reader-text {
    display: none !important;
}

/* ------ SINGLE PRODUCT PAGE: "Add to cart" button ------ */

.single-product .single_add_to_cart_button.button,
.single-product form.cart .single_add_to_cart_button,
form.cart .single_add_to_cart_button.button {
    display:          inline-flex !important;
    align-items:      center !important;
    gap:              0.5em !important;
    background-color: #1a2d3d !important;
    border-color:     #1a2d3d !important;
    color:            #ffffff !important;
    border-radius:    4px !important;
    padding:          0.75em 1.8em 0.75em 1.4em !important;
    font-weight:      600 !important;
    transition:       background-color 0.25s ease, transform 0.15s ease !important;
    position:         relative !important;
}

.single-product .single_add_to_cart_button.button:hover,
form.cart .single_add_to_cart_button.button:hover {
    background-color: #243d52 !important;
    border-color:     #243d52 !important;
    transform:        translateY(-1px) !important;
}

/* Fork & knife before the button text */
.single-product .single_add_to_cart_button.button::before,
form.cart .single_add_to_cart_button.button::before {
    content:     '\1F374';
    font-size:   1.1em;
    line-height: 1;
    flex-shrink: 0;
}

/* Hide any existing WC icon */
.single-product .single_add_to_cart_button.button .icon,
.single-product .single_add_to_cart_button.button svg,
.single-product .single_add_to_cart_button.button::after {
    display: none !important;
}

/* ---- Continue Shopping button on cart page ---- */
.ldb-continue-shopping {
    background-color: transparent !important;
    border: 1px solid #1a2d3d !important;
    color: #1a2d3d !important;
    font-size: 0.85em !important;
    padding: 0.6em 1.2em !important;
    margin-right: 1em !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.ldb-continue-shopping:hover {
    background-color: #1a2d3d !important;
    color: #ffffff !important;
}
