/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ============================================================
   Halifax Harbour Tours — Digital Gift Card
   Single Product Page Styles
   Child Theme | June 2026
   ============================================================
   Colour Reference (from Global Colours):
     Navy    #0A3959  (Primary)
     Dark    #081D3F  (Secondary)
     Text    #03081B
     Gold    #BC9030  (Accent)
     White   #FFFFFF
     Beige   #EAE7D7
     Sand    #F4F2ED  (custom — beige lightened for form bg)
     Stone   #C8C4BC  (custom — warm grey for borders/dividers)
   ============================================================ */


/* ── 1. GIFT CARD VALUE — VARIATIONS SELECT ──────────────── */

body.postid-493 .variations_form .variations th.label label {
  font-family: 'Antonio', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #0A3959;
  text-transform: none;
  letter-spacing: 0;
  vertical-align: middle;
}

body.postid-493 .variations_form .variations td.value select {
  -webkit-appearance: none;
  appearance: none;
  background-color: #FFFFFF;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230A3959' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  border: 1.5px solid #0A3959;
  border-radius: 4px;
  color: #03081B;
  font-size: 14px;
  padding: 10px 40px 10px 14px;
  width: 100%;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.postid-493 .variations_form .variations td.value select:focus {
  border-color: #BC9030;
  outline: none;
  box-shadow: 0 0 0 3px rgba(188, 144, 48, 0.18);
}

/* Clear link (hidden by default, just in case it shows) */
body.postid-493 .variations_form .reset_variations {
  font-size: 12px;
  color: #0A3959;
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-left: 10px;
}


/* ── 1b. FIRST BOX + PRICE DISPLAY ──────────────────────────── */
/*
   Strategy: make the Elementor add-to-cart wrapper transparent so its
   own grey box doesn't compete. The .variations table then becomes the
   first card, styled identically to the gift form box below.
*/

/* Remove Elementor's own grey box from the add-to-cart widget */
body.postid-493 .elementor-add-to-cart {
  background-color: transparent !important;
  padding: 0 !important;
}

/* Variations table → first box, same card style as gift form */
body.postid-493 .variations_form .variations {
  background-color: #F4F2ED !important;
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 0 !important;
}

/* Price text — fix the gold accent colour WooCommerce inherits from theme globals */
body.postid-493 .woocommerce-variation-price .price,
body.postid-493 .woocommerce-variation-price .woocommerce-Price-amount,
body.postid-493 .woocommerce-variation-price .woocommerce-Price-amount bdi,
body.postid-493 .woocommerce-variation-price .woocommerce-Price-currencySymbol {
  color: #03081B !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}


/* ── 2. GIFT CARD RECEIVER FORM — OUTER CONTAINER ─────────── */

.wc-sc-gift-card-receiver-detail-container {
  background-color: #F4F2ED;
  border: 1px solid #E0DDD5;
  border-radius: 8px;
  padding: 14px 16px 12px;
  margin-top: 8px;
}

/* "Send gift card to ..." label — keep under 14px */
.wc-sc-gift-card-receiver-detail-container > label {
  display: block;
  font-family: 'Antonio', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #0A3959;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 4px;
}

/* Subtext description */
.wc-sc-gift-card-receiver-detail-container > p {
  font-size: 12px;
  color: #5C5A57;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* Plugin-rendered "Send Digital Gift Card of $X.XX" line */
.wc-sc-gift-card-receiver-detail-container .amount {
  font-size: 13px;
  color: #03081B;
  margin-bottom: 10px;
}


/* ── 3. ACCORDION — PERSON BLOCK ─────────────────────────── */

.wc-sc-gift-accordion {
  background-color: #FFFFFF;
  border: 1px solid #DDD9D0;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 8px;
}

.wc-sc-gift-accordion-header {
  background-color: #0A3959 !important;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wc-sc-gift-accordion-header .wc-sc-accordion-title {
  font-family: 'Antonio', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #FFFFFF !important;
}

.wc-sc-gift-accordion-header .accordion-toggle {
  color: #FFFFFF;
  font-size: 18px;
  line-height: 1;
  opacity: 0.8;
  cursor: pointer;
}

.wc-sc-gift-accordion-content {
  padding: 14px;
}


/* ── 4. NOW / LATER SCHEDULE TOGGLE ──────────────────────── */

.wc-sc-schedule-toggle-wrapper {
  display: flex;
  align-items: center;
}

/* Give the label a bit more breathing room */
.wc-sc-schedule-toggle-wrapper .wc-sc-toggle-check {
  padding: 2px 6px;
}

/* Unchecked (Later) — warm mid-grey, clearly inactive */
.wc-sc-toggle-check-text {
  background-color: #AEAAA3 !important;
}

/* Checked (Now) — muted green; positive but not brand navy */
.wc-sc-toggle-check-input:checked ~ .wc-sc-toggle-check-text,
.wc-sc-toggle-check-input:checked + .wc-sc-toggle-check-text {
  background-color: #5C9272 !important;
}

/* Remove uppercase from the NOW / LATER label text (set by plugin pseudo-elements) */
.wc-sc-toggle-check-text::before,
.wc-sc-toggle-check-text::after {
  text-transform: none !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}


/* ── 5. FORM FIELDS — EMAIL, DATE/TIME, MESSAGE ──────────── */

.wc-sc-gift-card-receiver-detail-container input.gift_receiver_email,
.wc-sc-gift-card-receiver-detail-container input.gift_sending_date_time,
.wc-sc-gift-card-receiver-detail-container textarea.gift_receiver_message {
  width: 100%;
  background-color: #FFFFFF;
  border: 1.5px solid #C8C4BC;
  border-radius: 4px;
  color: #03081B;
  font-size: 14px;
  padding: 10px 14px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  margin-bottom: 10px;
  display: block;
}

.wc-sc-gift-card-receiver-detail-container input.gift_receiver_email:focus,
.wc-sc-gift-card-receiver-detail-container input.gift_sending_date_time:focus,
.wc-sc-gift-card-receiver-detail-container textarea.gift_receiver_message:focus {
  border-color: #0A3959;
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12);
}

.wc-sc-gift-card-receiver-detail-container input::placeholder,
.wc-sc-gift-card-receiver-detail-container textarea::placeholder {
  color: #9E9A93;
  font-style: normal;
}

.wc-sc-gift-card-receiver-detail-container textarea.gift_receiver_message {
  resize: vertical;
  min-height: 90px;
}

/* Date trigger field — let the plugin render its own icon */
.wc-sc-gift-card-receiver-detail-container input.gift_sending_date_time {
  cursor: pointer;
}


/* ── 6. QUANTITY + ADD TO CART BUTTON ────────────────────── */

body.postid-493 .e-atc-qty-button-holder {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: 20px;
  flex-wrap: wrap;
}

/* Quantity input */
body.postid-493 .e-atc-qty-button-holder .quantity input.qty {
  border: 1.5px solid #0A3959;
  border-radius: 4px;
  color: #03081B;
  font-size: 15px;
  padding: 10px 12px;
  width: 68px;
  text-align: center;
  background-color: #FFFFFF;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.postid-493 .e-atc-qty-button-holder .quantity input.qty:focus {
  border-color: #BC9030;
  outline: none;
  box-shadow: 0 0 0 3px rgba(188, 144, 48, 0.18);
}

/* Add to Cart — Active (variation selected) */
body.postid-493 button.single_add_to_cart_button.button.alt:not(.disabled) {
  background-color: #BC9030 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  flex: 1;
}

body.postid-493 button.single_add_to_cart_button.button.alt:not(.disabled):hover {
  background-color: #A07828 !important;
}

/* Add to Cart — Disabled (awaiting variation selection) */
body.postid-493 button.single_add_to_cart_button.button.alt.disabled,
body.postid-493 button.single_add_to_cart_button.button.alt.wc-variation-selection-needed {
  background-color: #D0CEC9 !important;
  color: #7A776F !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  cursor: not-allowed !important;
  transition: none !important;
  flex: 1;
}


/* ── 7. UI DATEPICKER — CALENDAR ─────────────────────────── */
/* Applied globally since datepicker is injected at <body> level */

#ui-datepicker-div {
  background-color: #FFFFFF !important;
  border: 1.5px solid #0A3959 !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 32px rgba(3, 8, 27, 0.18) !important;
  padding: 14px !important;
  font-size: 13px !important;
  overflow: hidden !important;
  min-width: 260px !important;
}

/* Header (month/year bar) */
#ui-datepicker-div .ui-datepicker-header {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  margin-bottom: 10px !important;
  position: relative !important;
}

/* Month/Year select dropdowns */
#ui-datepicker-div .ui-datepicker-title select {
  background: transparent !important;
  color: #FFFFFF !important;
  border: none !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Prev / Next nav arrows — let jQuery UI handle positioning; only tweak appearance */
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  border-radius: 4px !important;
}

#ui-datepicker-div .ui-datepicker-prev:not(.ui-state-disabled):hover,
#ui-datepicker-div .ui-datepicker-next:not(.ui-state-disabled):hover {
  background-color: rgba(255, 255, 255, 0.18) !important;
  border-color: transparent !important;
}

#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* Weekday headers */
#ui-datepicker-div .ui-datepicker-calendar thead th {
  color: #0A3959 !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 2px !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* Calendar table */
#ui-datepicker-div .ui-datepicker-calendar {
  width: 100% !important;
  border-collapse: collapse !important;
}

#ui-datepicker-div .ui-datepicker-calendar td {
  padding: 2px !important;
  text-align: center !important;
  border: none !important;
}

/* Day cells — available */
#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  margin: auto !important;
  font-size: 12px !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  color: #03081B !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

#ui-datepicker-div .ui-datepicker-calendar td a:hover {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
}

/* Today */
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
  font-weight: 600 !important;
}

/* Selected */
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
}

/* Disabled / out-of-range days */
#ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: auto !important;
  font-size: 12px !important;
  color: #C4C1BB !important;
  background: transparent !important;
}


/* ── 8. UI DATEPICKER — TIMEPICKER ───────────────────────── */

#ui-datepicker-div .ui-timepicker-div {
  border-top: 1px solid #E0DDD5 !important;
  margin-top: 8px !important;
  padding-top: 10px !important;
}

#ui-datepicker-div .ui-timepicker-div dl {
  margin: 0 !important;
}

/* TIME label */
#ui-datepicker-div .ui-timepicker-div dl dt {
  font-family: 'Antonio', sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: #0A3959 !important;
  margin-bottom: 4px !important;
}

/* Typed time input — make it prominent so it's obvious you can type in it */
#ui-datepicker-div .ui-timepicker-div .ui_tpicker_time_input {
  border: 1.5px solid #0A3959 !important;
  border-radius: 4px !important;
  padding: 7px 12px !important;
  font-size: 14px !important;
  color: #03081B !important;
  background: #FFFFFF !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}

/* Hide Hour + Minute sliders entirely — user types time directly */
#ui-datepicker-div .ui-timepicker-div dt.ui_tpicker_hour_label,
#ui-datepicker-div .ui-timepicker-div dd.ui_tpicker_hour,
#ui-datepicker-div .ui-timepicker-div dt.ui_tpicker_minute_label,
#ui-datepicker-div .ui-timepicker-div dd.ui_tpicker_minute {
  display: none !important;
}

/* Slider styles kept in case plugin re-enables them for other contexts */
#ui-datepicker-div .ui-slider {
  background-color: #E0DDD5 !important;
  border: none !important;
  border-radius: 3px !important;
  height: 4px !important;
  margin: 8px 0 12px !important;
}

#ui-datepicker-div .ui-slider .ui-slider-handle {
  background-color: #0A3959 !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 50% !important;
  width: 14px !important;
  height: 14px !important;
  top: -5px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(3, 8, 27, 0.2) !important;
}

#ui-datepicker-div .ui-slider .ui-slider-handle:focus {
  outline: 2px solid #BC9030 !important;
  outline-offset: 2px !important;
}


/* ── 9. UI DATEPICKER — FOOTER BUTTONS ───────────────────── */

#ui-datepicker-div .ui-datepicker-buttonpane {
  border-top: 1px solid #E0DDD5 !important;
  margin-top: 8px !important;
  padding-top: 10px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 8px !important;
  background: transparent !important;
}

#ui-datepicker-div .ui-datepicker-buttonpane button {
  font-family: 'Antonio', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 7px 16px !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
  flex: 1 !important;
}

/* "Now" button */
#ui-datepicker-div .ui-datepicker-current {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
}

#ui-datepicker-div .ui-datepicker-current:hover {
  background-color: #D8D4C9 !important;
}

/* "Done" button */
#ui-datepicker-div .ui-datepicker-close {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
}

#ui-datepicker-div .ui-datepicker-close:hover {
  background-color: #081D3F !important;
}

/* ============================================================
   Halifax Harbour Tours — WooCommerce Cart
   Child Theme | June 2026
   ============================================================
   Palette:
     Navy    #0A3959    Primary
     Dark    #081D3F    Secondary
     Text    #03081B
     Gold    #BC9030    Accent / CTA
     White   #FFFFFF
     Sand    #F4F2ED    Background tint
     Stone   #E0DDD5    Border
   ============================================================ */


/* ── 1. CART TABLE ───────────────────────────────────────── */

body.woocommerce-cart table.shop_table.cart {
  border: 1px solid #E0DDD5;
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 8px;
  width: 100%;
  overflow: hidden;
  margin-bottom: 24px;
}

/* Column headers */
body.woocommerce-cart table.shop_table.cart thead th {
  background-color: #0A3959;
  color: #FFFFFF;
  font-family: 'Antonio', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 12px 16px;
  border: none;
}

/* Round the header corners to sit inside the table's border-radius */
body.woocommerce-cart table.shop_table.cart thead tr th:first-child {
  border-radius: 7px 0 0 0;
}
body.woocommerce-cart table.shop_table.cart thead tr th:last-child {
  border-radius: 0 7px 0 0;
}

/* Screen-reader-only headers — keep them invisible */
body.woocommerce-cart table.shop_table.cart thead th .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

/* Cart row cells */
body.woocommerce-cart table.shop_table.cart tbody td {
  padding: 14px 16px;
  border-top: 1px solid #E0DDD5;
  border-left: none;
  border-right: none;
  border-bottom: none;
  vertical-align: middle;
  color: #03081B;
  font-size: 14px;
}

/* Remove column */
body.woocommerce-cart table.shop_table.cart td.product-remove {
  width: 44px;
  padding: 14px 6px 14px 16px;
}

/* Thumbnail column */
body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  width: 80px;
  padding: 14px 12px;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

/* Product name link — fix the gold accent colour */
body.woocommerce-cart table.shop_table.cart .product-name a {
  color: #0A3959;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s ease;
}

body.woocommerce-cart table.shop_table.cart .product-name a:hover {
  color: #BC9030;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Price + subtotal amounts */
body.woocommerce-cart table.shop_table.cart .product-price .woocommerce-Price-amount,
body.woocommerce-cart table.shop_table.cart .product-subtotal .woocommerce-Price-amount {
  color: #03081B;
  font-size: 14px;
}

/* Remove × button */
body.woocommerce-cart table.shop_table.cart a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  background-color: transparent !important;
  border: 1.5px solid #C8C4BC !important;
  border-radius: 50% !important;
  color: #9E9A93 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease !important;
}

body.woocommerce-cart table.shop_table.cart a.remove:hover {
  border-color: #C0392B !important;
  color: #C0392B !important;
  background-color: #FDF4F4 !important;
}

/* Quantity input in cart */
body.woocommerce-cart .product-quantity input.qty {
  border: 1.5px solid #0A3959 !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 14px !important;
  padding: 8px 10px !important;
  width: 64px !important;
  text-align: center !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.woocommerce-cart .product-quantity input.qty:focus {
  border-color: #BC9030 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(188, 144, 48, 0.18) !important;
}


/* ── 2. CART ACTIONS ROW (Coupon + Update cart) ──────────── */

body.woocommerce-cart td.actions {
  padding: 14px 16px !important;
  border-top: 1px solid #E0DDD5 !important;
  background-color: #F4F2ED !important;
  vertical-align: middle !important;
}

/* Coupon flex wrapper */
body.woocommerce-cart td.actions .coupon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Coupon text input */
body.woocommerce-cart td.actions .coupon input#coupon_code {
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 14px !important;
  padding: 9px 14px !important;
  background-color: #FFFFFF !important;
  min-width: 150px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce-cart td.actions .coupon input#coupon_code:focus {
  border-color: #0A3959 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12) !important;
}

body.woocommerce-cart td.actions .coupon input#coupon_code::placeholder {
  color: #9E9A93;
}

/* Apply Coupon — navy filled, secondary action */
body.woocommerce-cart td.actions .coupon button[name="apply_coupon"],
body.woocommerce-cart td.actions .coupon .button[name="apply_coupon"] {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  white-space: nowrap;
  transition: background-color 0.2s ease !important;
}

body.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover {
  background-color: #081D3F !important;
}

/* Update Cart — ghost outline, tertiary */
body.woocommerce-cart td.actions button[name="update_cart"],
body.woocommerce-cart td.actions .button[name="update_cart"] {
  float: right;
  background-color: transparent !important;
  color: #0A3959 !important;
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 9px 18px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease !important;
}

body.woocommerce-cart td.actions button[name="update_cart"]:not(:disabled):hover {
  border-color: #0A3959 !important;
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
}

body.woocommerce-cart td.actions button[name="update_cart"]:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}


/* ── 3. SMART COUPONS — AVAILABLE COUPONS DROPDOWN ──────── */
/* Shown when the customer has redeemable coupons in their account */

body.woocommerce-cart #coupons_list {
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  margin-bottom: 20px;
  overflow: hidden;
}

body.woocommerce-cart #coupons_list .sc-accordion-header {
  background-color: #F4F2ED !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 12px !important;
  color: #0A3959 !important;
  padding: 11px 16px !important;
}

body.woocommerce-cart #coupons_list .sc-accordion-header.open {
  border-bottom: 1px solid #E0DDD5 !important;
}

body.woocommerce-cart #coupons_list .sc-accordion-content.open {
  background-color: #FFFFFF !important;
  font-size: 13px !important;
  color: #5C5A57 !important;
}

body.woocommerce-cart #coupons_list .sc-no-coupon {
  font-size: 13px;
  color: #9E9A93;
}


/* ── 4. CART TOTALS ──────────────────────────────────────── */

body.woocommerce-cart .cart-collaterals {
  margin-top: 32px;
}

/* Right-align the totals block to match WooCommerce default layout */
body.woocommerce-cart .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: 480px;
  margin-left: auto;
}

/* "Cart Totals" heading */
body.woocommerce-cart .cart_totals h2 {
  font-family: 'Antonio', sans-serif;
  font-size: 22px;
  font-weight: 400;
  color: #0A3959;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
}

/* Summary table */
body.woocommerce-cart .cart_totals table.shop_table {
  border: 1px solid #E0DDD5 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 8px !important;
  width: 100% !important;
  overflow: hidden;
  margin-bottom: 16px;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  padding: 12px 16px !important;
  border-top: 1px solid #E0DDD5 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  font-size: 14px !important;
  color: #03081B !important;
  vertical-align: middle !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
body.woocommerce-cart .cart_totals table.shop_table tr:first-child td {
  border-top: none !important;
}

/* Order Total row — sand highlight */
body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  background-color: #F4F2ED !important;
  border-top: 1px solid #E0DDD5 !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  font-family: 'Antonio', sans-serif;
  font-size: 16px;
  color: #0A3959;
  font-weight: 400;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total td strong {
  font-family: 'Antonio', sans-serif;
  font-size: 20px;
  color: #0A3959;
  font-weight: 400;
}


/* ── 5. PROCEED TO CHECKOUT ──────────────────────────────── */
/* Override the purple WooCommerce/theme default to gold */

body.woocommerce-cart a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  background-color: #BC9030 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 15px 28px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  width: 100%;
  transition: background-color 0.2s ease !important;
}

body.woocommerce-cart a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: #A07828 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ============================================================
   Halifax Harbour Tours — WooCommerce Checkout
   Child Theme | June 2026
   ============================================================
   Palette:
     Navy    #0A3959    Primary
     Dark    #081D3F    Secondary
     Text    #03081B
     Gold    #BC9030    Accent / CTA
     White   #FFFFFF
     Sand    #F4F2ED    Background tint
     Stone   #E0DDD5    Border / divider
     Muted   #5C5A57    Secondary text
   ============================================================ */


/* ── 1. COUPON NOTICE BAR ─────────────────────────────────── */
/* WooCommerce default is a blue info box; restyle to brand */

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background-color: #F4F2ED !important;
  border-top: none !important;
  border-right: 1px solid #E0DDD5 !important;
  border-bottom: 1px solid #E0DDD5 !important;
  border-left: 4px solid #0A3959 !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 13px !important;
  padding: 11px 16px !important;
  margin-bottom: 20px !important;
}

/* Remove WooCommerce's default ::before info icon colour */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  color: #0A3959 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  color: #BC9030;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: #A07828;
}


/* ── 2. SECTION HEADINGS ──────────────────────────────────── */
/* h3 headings: Billing details, Additional information, Your order */

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading {
  font-family: 'Antonio', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #0A3959;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid #E0DDD5;
}


/* ── 3. BILLING / ADDITIONAL FORM FIELDS ──────────────────── */

/* Labels */
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .form-row label.required_field {
  font-size: 12px !important;
  color: #5C5A57 !important;
  font-weight: 400 !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* Required asterisk */
body.woocommerce-checkout .required {
  color: #C0392B !important;
  font-size: 12px !important;
}

/* Text inputs and textarea */
body.woocommerce-checkout .input-text {
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  background-color: #FFFFFF !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.woocommerce-checkout .input-text:focus {
  border-color: #0A3959 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12) !important;
}

body.woocommerce-checkout .input-text::placeholder {
  color: #9E9A93 !important;
  font-style: normal !important;
}

/* Textarea (order notes) */
body.woocommerce-checkout textarea.input-text {
  resize: vertical !important;
  min-height: 80px !important;
}

/* SMS opt-in checkbox row */
body.woocommerce-checkout #wc_twilio_sms_optin_field label {
  display: inline !important;
  font-size: 13px !important;
  color: #5C5A57 !important;
  margin-left: 6px;
}


/* ── 4. SELECT2 DROPDOWNS (Country / Province) ────────────── */

body.woocommerce-checkout .select2-container--default .select2-selection--single {
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  height: auto !important;
  padding: 10px 14px !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #0A3959 !important;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12) !important;
  outline: none !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #03081B !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #9E9A93 !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 12px !important;
  top: 0 !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #0A3959 transparent transparent !important;
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #0A3959 !important;
}

/* Dropdown panel */
body.woocommerce-checkout .select2-dropdown {
  border: 1.5px solid #0A3959 !important;
  border-radius: 0 0 4px 4px !important;
  box-shadow: 0 6px 20px rgba(3, 8, 27, 0.12) !important;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  border: 1px solid #E0DDD5 !important;
  border-radius: 4px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  color: #03081B !important;
}

body.woocommerce-checkout .select2-results__option {
  font-size: 13px !important;
  color: #03081B !important;
  padding: 8px 12px !important;
}

body.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
}

body.woocommerce-checkout .select2-results__option[aria-selected="true"] {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
}


/* ── 5. INLINE COUPON FORM ────────────────────────────────── */
/* The form revealed when "Click here to enter your code" is clicked */

body.woocommerce-checkout .checkout_coupon {
  background-color: #F4F2ED !important;
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
}

body.woocommerce-checkout .checkout_coupon .button[name="apply_coupon"] {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 11px 20px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap;
}

body.woocommerce-checkout .checkout_coupon .button[name="apply_coupon"]:hover {
  background-color: #081D3F !important;
}


/* ── 6. GIFT CARD CHECKOUT SECTION ───────────────────────── */
/* Different markup to the product page form — uses .gift-certificate.sc_info_box */

body.woocommerce-checkout .gift-certificate.sc_info_box {
  background-color: #F4F2ED;
  border: 1px solid #E0DDD5;
  border-radius: 8px;
  padding: 16px 20px 14px;
  margin: 24px 0;
}

/* Override the h3 inside gift card box — smaller than page h3s */
body.woocommerce-checkout .gift-certificate.sc_info_box h3 {
  font-family: 'Antonio', sans-serif !important;
  font-size: 11px !important;
  color: #0A3959 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  margin-bottom: 4px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

body.woocommerce-checkout .gift-certificate.sc_info_box > p {
  font-size: 12px;
  color: #5C5A57;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* Radio option lists */
body.woocommerce-checkout .gift-certificate .show_hide_list,
body.woocommerce-checkout .gift-certificate .single_multi_list {
  padding-left: 0 !important;
  margin: 0 0 10px !important;
  list-style: none !important;
}

body.woocommerce-checkout .gift-certificate .show_hide_list li,
body.woocommerce-checkout .gift-certificate .single_multi_list li {
  font-size: 13px;
  color: #03081B;
  margin-bottom: 6px;
}

body.woocommerce-checkout .gift-certificate .show_hide_list label,
body.woocommerce-checkout .gift-certificate .single_multi_list label {
  font-size: 13px !important;
  color: #03081B !important;
  display: inline !important;
  margin-left: 4px !important;
}

/* "Deliver coupon" toggle row */
body.woocommerce-checkout .wc_sc_schedule_gift_sending_wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #5C5A57;
  margin-top: 6px;
}

/* "Send Digital Gift Card of $X.XX" amount line */
body.woocommerce-checkout .gift-certificate .amount {
  font-size: 13px;
  color: #03081B;
  margin-bottom: 8px;
}

/* Gift receiver form inputs */
body.woocommerce-checkout .gift-certificate .gift_receiver_email,
body.woocommerce-checkout .gift-certificate .gift_sending_date_time,
body.woocommerce-checkout .gift-certificate .gift_receiver_message {
  width: 100% !important;
  background-color: #FFFFFF !important;
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  margin-bottom: 10px !important;
  display: block !important;
}

body.woocommerce-checkout .gift-certificate .gift_receiver_email:focus,
body.woocommerce-checkout .gift-certificate .gift_sending_date_time:focus,
body.woocommerce-checkout .gift-certificate .gift_receiver_message:focus {
  border-color: #0A3959 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12) !important;
}

body.woocommerce-checkout .gift-certificate .gift_receiver_message {
  resize: vertical !important;
  min-height: 90px !important;
}

/* Reuse the same NOW/LATER toggle colours from the product page */
body.woocommerce-checkout .wc-sc-toggle-check-text {
  background-color: #AEAAA3 !important;
}

body.woocommerce-checkout .wc-sc-toggle-check-input:checked ~ .wc-sc-toggle-check-text,
body.woocommerce-checkout .wc-sc-toggle-check-input:checked + .wc-sc-toggle-check-text {
  background-color: #5C9272 !important;
}

body.woocommerce-checkout .wc-sc-toggle-check-text::before,
body.woocommerce-checkout .wc-sc-toggle-check-text::after {
  text-transform: none !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
}


/* ── 7. ORDER REVIEW TABLE ────────────────────────────────── */

body.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  border: 1px solid #E0DDD5 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 8px !important;
  width: 100% !important;
  overflow: hidden;
  margin-bottom: 20px;
}

/* Header */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 11px 16px !important;
  border: none !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th:first-child {
  border-radius: 7px 0 0 0 !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th:last-child {
  border-radius: 0 7px 0 0 !important;
}

/* Body + footer cells */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
  padding: 11px 16px !important;
  border-top: 1px solid #E0DDD5 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  font-size: 14px !important;
  color: #03081B !important;
  vertical-align: middle !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:first-child td {
  border-top: none !important;
}

/* Order total — sand highlight */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  background-color: #F4F2ED !important;
}

body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong {
  font-family: 'Antonio', sans-serif;
  font-size: 18px;
  color: #0A3959;
  font-weight: 400;
}


/* ── 8. PAYMENT SECTION ───────────────────────────────────── */

body.woocommerce-checkout #payment {
  background-color: #F4F2ED !important;
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  padding: 0 !important;
  overflow: hidden;
}

/* Payment methods list (the radio + label row) */
body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid #E0DDD5 !important;
  padding: 16px 20px !important;
  background: #F4F2ED !important;
  margin: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  font-size: 14px !important;
  color: #03081B !important;
  font-weight: 500 !important;
}

/* Payment form box (white inset for the card fields) */
body.woocommerce-checkout #payment .payment_box {
  background-color: #FFFFFF !important;
  border: none !important;
  border-top: 1px solid #E0DDD5 !important;
  border-radius: 0 !important;
  padding: 16px 20px !important;
  margin: 0 !important;
}

body.woocommerce-checkout #payment .payment_box::before {
  /* Remove WooCommerce's default triangle arrow */
  display: none !important;
}

body.woocommerce-checkout #payment .payment_box > p {
  font-size: 13px;
  color: #5C5A57;
  margin-bottom: 14px;
}

/* Card number, expiry, CSC inputs */
body.woocommerce-checkout #payment .payment_box .input-text {
  border: 1.5px solid #C8C4BC !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body.woocommerce-checkout #payment .payment_box .input-text:focus {
  border-color: #0A3959 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(10, 57, 89, 0.12) !important;
}

body.woocommerce-checkout #payment .payment_box label {
  font-size: 12px !important;
  color: #5C5A57 !important;
  display: block !important;
  margin-bottom: 4px !important;
  font-weight: 400 !important;
}

/* "Securely Save to Account" checkbox label */
body.woocommerce-checkout #payment .payment_box label[for*="tokenize"] {
  display: inline !important;
  margin-left: 6px;
  font-size: 13px !important;
}

/* Privacy policy note */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 11px;
  color: #9E9A93;
  margin-bottom: 12px;
  line-height: 1.6;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: #0A3959;
  text-underline-offset: 2px;
}


/* ── 9. PLACE ORDER BUTTON ────────────────────────────────── */
/* Override the purple WooCommerce/theme default — must be gold */

body.woocommerce-checkout #place_order {
  background-color: #BC9030 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  padding: 15px 28px !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease !important;
  float: none !important;
}

body.woocommerce-checkout #place_order:hover {
  background-color: #A07828 !important;
}

/* Container row that holds the place order button */
body.woocommerce-checkout .form-row.place-order {
  padding: 16px 20px !important;
  background-color: #F4F2ED !important;
  border-top: 1px solid #E0DDD5 !important;
  margin: 0 !important;
}


/* ── 10. SMART COUPONS ACCORDION (CHECKOUT) ──────────────── */

body.woocommerce-checkout #coupons_list {
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  margin-bottom: 20px !important;
  overflow: hidden;
}

body.woocommerce-checkout #coupons_list .sc-accordion-header {
  background-color: #F4F2ED !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 12px !important;
  color: #0A3959 !important;
  padding: 11px 16px !important;
}

body.woocommerce-checkout #coupons_list .sc-accordion-header.open {
  border-bottom: 1px solid #E0DDD5 !important;
}

body.woocommerce-checkout #coupons_list .sc-accordion-content.open {
  background-color: #FFFFFF !important;
  font-size: 13px !important;
  color: #5C5A57 !important;
}

body.woocommerce-checkout #coupons_list .sc-no-coupon {
  font-size: 13px;
  color: #9E9A93;
}
/* ============================================================
   Halifax Harbour Tours — WooCommerce Bookings Form
   Tour Single-Product Pages | June 2026
   ============================================================
   Palette:
     Navy    #0A3959    Primary
     Dark    #081D3F    Secondary
     Text    #03081B
     Gold    #BC9030    Accent / hover / CTA
     Beige   #EAE7D7    Available date bg
     Sand    #F4F2ED    Subtle bg
     Stone   #E0DDD5    Border
     Muted   #9E9A93    Placeholder / helper text
   ============================================================
   Note: the inline booking calendar uses .ui-datepicker-inline
   which is a different element from the gift card popup
   (#ui-datepicker-div) — they will not conflict.
   ============================================================ */


/* ── 1. PERSON COUNT FIELDS ──────────────────────────────── */

.wc-bookings-booking-form p.form-field {
  margin-bottom: 14px;
}

/* Labels — remove the theme's underline decoration */
.wc-bookings-booking-form p.form-field label {
  display: block !important;
  font-size: 13px !important;
  color: #5C5A57 !important;
  font-weight: 400 !important;
  margin-bottom: 6px !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Number stepper inputs */
.wc-bookings-booking-form p.form-field input[type="number"] {
  border: 1.5px solid #0A3959 !important;
  border-radius: 4px !important;
  color: #03081B !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 8px 10px !important;
  width: 80px !important;
  text-align: center !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-bookings-booking-form p.form-field input[type="number"]:focus {
  border-color: #BC9030 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(188, 144, 48, 0.18) !important;
}


/* ── 2. TIMEZONE NOTICE ──────────────────────────────────── */

.wc-bookings-date-picker-timezone-block {
  font-size: 12px !important;
  color: #9E9A93 !important;
  text-align: center !important;
  margin: 6px 0 12px !important;
  font-style: italic !important;
}

.wc-bookings-date-picker-timezone {
  font-style: normal;
}


/* ── 3. INLINE CALENDAR CONTAINER ────────────────────────── */
/* WooCommerce Bookings renders an always-visible jQuery UI calendar
   inside .picker.hasDatepicker — scoped under .wc-bookings-date-picker
   to avoid touching the gift card popup datepicker (#ui-datepicker-div) */

.wc-bookings-date-picker .ui-datepicker-inline,
.wc-bookings-date-picker .picker .ui-datepicker {
  width: 100% !important;
  border: 1px solid #E0DDD5 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  font-size: 13px !important;
  background-color: #FFFFFF !important;
  padding: 0 !important;
  box-shadow: none !important;
}


/* ── 4. CALENDAR HEADER (month + nav arrows) ──────────────── */

.wc-bookings-date-picker .ui-datepicker-header {
  background: #0A3959 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  color: #FFFFFF !important;
}

/* "JUNE 2026" title */
.wc-bookings-date-picker .ui-datepicker-title {
  color: #FFFFFF !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 15px !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* Prev / Next navigation — let jQuery UI handle positioning, just update colours */
.wc-bookings-date-picker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker-next {
  border: none !important;
  background: transparent !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

.wc-bookings-date-picker .ui-datepicker-prev:not(.ui-state-disabled):hover,
.wc-bookings-date-picker .ui-datepicker-next:not(.ui-state-disabled):hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: transparent !important;
}

.wc-bookings-date-picker .ui-datepicker-prev.ui-state-disabled,
.wc-bookings-date-picker .ui-datepicker-next.ui-state-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* jQuery UI uses a dark sprite (ui-icons_444444) for the arrow icons.
   Invert to white so they're accessible on the navy header. */
.wc-bookings-date-picker .ui-datepicker-header .ui-datepicker-prev .ui-icon,
.wc-bookings-date-picker .ui-datepicker-header .ui-datepicker-next .ui-icon {
  filter: brightness(0) invert(1) !important;
}


/* ── 5. CALENDAR GRID ─────────────────────────────────────── */

.wc-bookings-date-picker .ui-datepicker-calendar {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  padding: 8px 10px 10px !important;
}

/* Weekday column headers (S M T W T F S) */
.wc-bookings-date-picker .ui-datepicker-calendar thead th {
  padding: 8px 0 6px !important;
  text-align: center !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #0A3959 !important;
  border: none !important;
  background: transparent !important;
}

/* All date cells */
.wc-bookings-date-picker .ui-datepicker-calendar td {
  padding: 3px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
}

/* Shared circle sizing for both <a> and <span> cell content */
.wc-bookings-date-picker .ui-datepicker-calendar td a,
.wc-bookings-date-picker .ui-datepicker-calendar td span.ui-state-default {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  margin: auto !important;
  font-size: 13px !important;
  border: none !important;
  background: transparent !important;
}


/* ── 6. DATE CELL STATES ──────────────────────────────────── */

/* Not bookable — greyed out */
.wc-bookings-date-picker .ui-datepicker-calendar td.not_bookable span.ui-state-default,
.wc-bookings-date-picker .ui-datepicker-calendar td.ui-state-disabled span.ui-state-default {
  color: #C8C4BC !important;
}

/* Bookable but in the past (disabled by min_date) */
.wc-bookings-date-picker .ui-datepicker-calendar td.not_bookable.bookable span.ui-state-default {
  color: #B5B1AA !important;
}

/* Bookable and selectable — beige tint, navy text */
.wc-bookings-date-picker .ui-datepicker-calendar td.bookable:not(.not_bookable) a,
.wc-bookings-date-picker .ui-datepicker-calendar td.partial_booked.bookable:not(.not_bookable) a {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.wc-bookings-date-picker .ui-datepicker-calendar td.bookable:not(.not_bookable) a:hover,
.wc-bookings-date-picker .ui-datepicker-calendar td.partial_booked.bookable:not(.not_bookable) a:hover {
  background-color: #BC9030 !important;
  color: #FFFFFF !important;
}

/* Fully booked — show differently from just non-bookable */
.wc-bookings-date-picker .ui-datepicker-calendar td.fully_booked a,
.wc-bookings-date-picker .ui-datepicker-calendar td.fully_booked span {
  color: #B5B1AA !important;
  text-decoration: line-through !important;
  background: transparent !important;
  cursor: default !important;
}

/* Today's date — beige with gold ring */
.wc-bookings-date-picker .ui-datepicker-calendar td a.ui-state-highlight {
  background-color: #EAE7D7 !important;
  color: #0A3959 !important;
  border: 1.5px solid #BC9030 !important;
}

/* Selected date — navy filled */
.wc-bookings-date-picker .ui-datepicker-calendar td a.ui-state-active {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border: none !important;
}

/* Today + selected combined state */
.wc-bookings-date-picker .ui-datepicker-calendar td a.ui-state-highlight.ui-state-active {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border: 1.5px solid #0A3959 !important;
}

/* Other-month dates (e.g. July 1-4 showing in June calendar) */
.wc-bookings-date-picker .ui-datepicker-calendar td.ui-datepicker-other-month a {
  opacity: 0.75 !important;
}


/* ── 7. "CHOOSE A DATE" PLACEHOLDER TEXT ─────────────────── */
/* Grid is always active; the single placeholder li spans all 3 columns */

.wc-bookings-booking-form .block-picker {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 12px 0 4px !important;
}

/* Single child = no date selected yet; stretch the message across all columns */
.wc-bookings-booking-form .block-picker > li:only-child {
  grid-column: 1 / -1;
  font-size: 13px !important;
  color: #9E9A93 !important;
  font-style: italic !important;
  padding: 2px 0 !important;
}


/* ── 8. TIME SLOT PICKER ─────────────────────────────────── */
/* WooCommerce Bookings JS injects inline width/height on every <a>.
   width: 100% !important overrides those inline values so the
   3-column grid controls layout instead of the plugin's calculations. */

.wc-bookings-booking-form .block-picker li:not(:only-child) {
  display: block !important;
  margin: 0 !important;
}

.wc-bookings-booking-form .block-picker li:not(:only-child) a,
.wc-bookings-booking-form .block-picker li:not(:only-child) .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  text-align: center !important;
  width: 100% !important;       /* overrides JS inline style="width: Xpx" */
  height: auto !important;      /* overrides JS inline style="height: Xpx" */
  min-height: 50px !important;
  box-sizing: border-box !important;
  background-color: #F4F2ED !important;
  color: #0A3959 !important;
  border: 1.5px solid #E0DDD5 !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  padding: 8px 10px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.wc-bookings-booking-form .block-picker li:not(:only-child) a:hover,
.wc-bookings-booking-form .block-picker li:not(:only-child) .button:hover {
  background-color: #EAE7D7 !important;
  border-color: #0A3959 !important;
  color: #0A3959 !important;
}

/* Selected time */
.wc-bookings-booking-form .block-picker li.selected a,
.wc-bookings-booking-form .block-picker li.selected .button {
  background-color: #0A3959 !important;
  color: #FFFFFF !important;
  border-color: #0A3959 !important;
}

/* Unavailable time slot */
.wc-bookings-booking-form .block-picker li.unavailable a,
.wc-bookings-booking-form .block-picker li.not_available a {
  background-color: transparent !important;
  color: #C8C4BC !important;
  border-color: #E8E5E0 !important;
  cursor: default !important;
  text-decoration: line-through !important;
}


/* ── 9. BOOKING COST DISPLAY ─────────────────────────────── */
/* Plugin and theme both add border + background to .wc-bookings-booking-cost;
   override all of them so it sits clean on white with no box. */

.wc-bookings-booking-form .wc-bookings-booking-cost.price {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 8px 0 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #0A3959 !important;
  margin: 10px 0 4px !important;
  letter-spacing: 0.02em !important;
}

.wc-bookings-booking-form .wc-bookings-booking-cost .woocommerce-Price-amount {
  color: #0A3959 !important;
}


/* ── 10. BOOK NOW BUTTON ─────────────────────────────────── */
/* Active: gold. Disabled (nothing selected yet): warm grey. */

button.wc-bookings-booking-form-button {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: 'Antonio', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  padding: 15px 28px !important;
  margin-top: 16px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

/* Active state */
button.wc-bookings-booking-form-button:not(.disabled) {
  background-color: #BC9030 !important;
  color: #FFFFFF !important;
}

button.wc-bookings-booking-form-button:not(.disabled):hover {
  background-color: #A07828 !important;
}

/* Disabled — waiting for date/time selection */
button.wc-bookings-booking-form-button.disabled {
  background-color: #D0CEC9 !important;
  color: #7A776F !important;
  cursor: not-allowed !important;
}

