/* ==========================================================================
   0) UTILITIES & GLOBAL TWEAKS
   ========================================================================== */

address, 
blockquote, 
body, 
dd, 
dl, 
dt, 
fieldset, 
figure, 
h1, 
h2, 
h3, 
h4, 
h5, 
h6, 
hr, 
html, 
iframe, 
legend, 
li, 
ol, 
p, 
pre, 
textarea, 
ul {
    font-weight: 450;
}

/* Show only on <=781px */
.show-781 { display: none; }
@media screen and (max-width:781px){
  .show-781 { display: block; }
}

/* Block spacing for Gutenberg flex layouts */
body .is-layout-flex { gap: 6rem; }

.is-layout-flex.wp-container-12.wp-block-columns {
  flex-wrap: nowrap;
  align-items: start;
}

/* Hide Texting SMS Opt-in */
p#wc_twilio_sms_optin_field {
    display: none;
}
td, th {
  border: none !important;
}

/* ==========================================================================
   1) CHECKOUT: PAGE CONTAINER, HEADINGS & TYPOGRAPHY
   Affects: general checkout scaffolding, headings, light typography resets
   ========================================================================== */

.woocommerce-checkout .cart-container {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

/* Normalize section headings */
.woocommerce-checkout h2,
.woocommerce-checkout h3 {
  font-size: 2.4rem;
  text-transform: uppercase;
  color: #444 !important;
}

h3#ship-to-different-address,
.woocommerce-billing-fields h3 {
    border: none !important;
}

.woocommerce-js form .form-row label {
  font
}

/* Lighten some bolded elements in overview / thank-you */
.woocommerce-checkout .woocommerce-order-overview.woocommerce-thankyou-order-details.order_details strong,
.woocommerce-checkout .woocommerce-order-overview__total bdi,
.woocommerce-checkout label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span,
.woocommerce-js form .form-row label {
  font-weight: 450;
  font-size: 1.4rem;
}

/* Also keep order table headers light */
.woocommerce-checkout #verify_non_us label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span,
.woocommerce-checkout table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details th {
  font-weight: 450;
}

/* remove the customer warning on the thank you page */
.woocommerce-order-received .warn-customers {
  display: none;
}

/* Remove borders/padding on review heading + container */
form #order_review_heading,
.woocommerce-checkout-review-order {
  border: none !important;
  padding: 0 !important;
}

/* Product meta alignment inside details cells */
.product-details { text-align: left !important; }
.woocommerce-billing-fields h3 { padding-top: 0 !important; }

/* Notices */
.woocommerce-checkout .woocommerce-notice {
  font-size: 1.8rem;
  font-weight: 300;
}


/* ==========================================================================
   2) CHECKOUT: TABLES & REVIEW ORDER
   Affects: order review table, general table appearance in checkout
   ========================================================================== */

/* Make name column flexible, avoid forced wrapping */
table.woocommerce-checkout-review-order-table .product-name {
  width: 100%;
  overflow-wrap: unset;
  word-break: unset;
  -ms-word-break: unset;
}
.wc_cart_totals_order_total {
  width: 225px !important;
}

.woocommerce-page.woocommerce-checkout table.shop_table td, 
.woocommerce.woocommerce-checkout table.shop_table td {
  padding: .5rem 0 !important;
}

/* Table cell look & feel across checkout */
.woocommerce-checkout table:not(.has-background) td,
.woocommerce-checkout table:not(.has-background) th {
  background-color: transparent;
  padding: 0.5rem 0;
  text-transform: uppercase;
  width: auto;
  line-height: 1.2;
  /*border: none !important;*/
}

/* Row cell spacing + uppercase in review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
  padding: 1rem 1rem 0 0;
  font-size: 1.4rem;
  font-weight: 450 !important;
  text-transform: uppercase;
  background-color: transparent;
  line-height: 1.2;
}

.review-order-table-spacer {
  height: 3rem;
}

/* Right-align last column in generic tables and deposit summary */
.woocommerce-checkout .awcdp_deposits_summary th:last-child,
.woocommerce-checkout table td:last-child { text-align: right; }

/* Review table spacing and heading margin */
.woocommerce-checkout #order_review .shop_table { margin-bottom: 0 !important; }
.woocommerce-checkout #order_review h3 { margin-top: 1.5rem !important; }

/* Force full-width columns on custom layout */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .col2-set {
  width: 100% !important;
}
.woocommerce-checkout #order_review_heading {
  margin-bottom: 4.3rem !important;
}


/* ==========================================================================
   3) LINE ITEMS & PRODUCT CELLS
   Affects: single product row, thumbnail, details, totals width
   ========================================================================== */

.woocommerce-checkout .product-total {
  width: 105px !important;
  padding-right: 0 !important;
  border-bottom: none;
  font-weight: 450;
}

.woocommerce-checkout .checkout-single-product-table { margin-bottom: 0; }
.woocommerce-checkout .product-th-and-deets-cell { padding: 0 !important; }

.woocommerce-checkout .product-thumbnail {
  border: none !important;
  width: 100px !important;
  text-align: left;
}

.woocommerce-checkout .product-details { 
  border: none !important; 
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-weight: 450;
}

.woocommerce-checkout .product-details a {
  text-decoration: none;
  color: #444;
}
.woocommerce-checkout .product-details a:hover { text-decoration: underline; }

.woocommerce-checkout .checkout-single-product-table td:last-child { text-align: left; }

/* Watch ID sizing */
.woocommerce-checkout .watch_id { 
  font-size: 1.2rem; 
  margin-top: .5rem;
}

.woocommerce-js ul#shipping_method li label {
  font-weight: 450;
  font-color: #444;
}

/* Item remove link: convert to text label via pseudo-element */
.woocommerce-js a.remove {
    font-family: 'Montserrat';
    font-size: 1rem;
    color: #444 !important;
    font-weight: 450;
    opacity: 1 !important;
    width: fit-content;
    text-align: left;
}

.woocommerce-checkout a.remove::before {
  display: none;
}


/* ==========================================================================
   4) BUTTONS & LINKS (Continue shopping, etc.)
   ========================================================================== */

.woocommerce-checkout .cont-shop a {
  background-color: #0d570c !important;
  border-color: #0d570c !important;
  color: #fff;
}
.woocommerce-checkout .cont-shop a:hover {
  background-color: transparent !important;
  border-color: #444;
  color: #444 !important;
}


/* ==========================================================================
   5) PAYMENT SECTION (Methods, Stripe/WCPay fields, totals emphasis)
   ========================================================================== */

/* Hide labels and adjust spacing in payment methods list */
#payment .wc_payment_method { margin-top: 30px !important; }
#payment .wc_payment_method label { display: none !important; }
#payment .wc_payment_method .payment_box { margin-top: -10px !important; }

/* Payment areas padding normalization */
.woocommerce-checkout #payment .payment_methods li .payment_box,
.woocommerce-checkout #payment .place-order {
  padding: 0;
  margin-top: 0.75rem;
}

/* Stripe/WCPay inputs and borders */
.wc-stripe-elements-field { border-color: #999; }
#wcpay-card-element,
#wcpay-sepa-element {
  border: 1px solid #444;
  padding: 0.45rem;
  min-height: 40px;
  margin-bottom: 1rem;
}

/* Grand total emphasis */
.woocommerce-checkout .order-total .woocommerce-Price-currencySymbol,
.woocommerce-checkout .order-total bdi,
.woocommerce-checkout .order-total th {
  font-size: 3.4rem !important;
  font-weight: 450 !important;
}

/* “Payment” section header on review step */
.woocommerce-checkout #order_review .payment-h3 {
  margin-top: 4rem !important;
  font-size: 3.4rem;
  line-height: 1.2;
}

#add_payment_method #payment ul.payment_methods li input, 
.woocommerce-cart #payment ul.payment_methods li input, 
.woocommerce-checkout #payment ul.payment_methods li input,
.woocommerce-page.woocommerce-checkout #payment div.payment_box:before, 
.woocommerce.woocommerce-checkout #payment div.payment_box:before {
  display: none;
}


/* ==========================================================================
   6) DEPOSITS (AWCDP) — Radios, labels, descriptions, summary
   Plugin: Advanced WooCommerce Deposits
   ========================================================================== */

/* Hide native radios, rely on styled labels */
.awcdp-deposits-wrapper .awcdp-deposits-option .awcdp-radio .awcdp-deposit-radio + .awcdp-radio-label:before,
.awcdp-deposits-wrapper .awcdp-deposits-option .awcdp-radio .awcdp-deposit-radio:checked + .awcdp-radio-label:before,
.awcdp-radio input[type="radio"] {
  opacity: 0 !important;
  position: fixed !important;
  width: 0 !important;
}

/* Pill buttons for radios */
.awcdp-radio label {
  display: inline-block !important;
  background-color: #ddd !important;
  padding: 10px 20px !important;
  font-size: 1.4rem !important;
  border: 2px solid #ddd !important;
  border-radius: 100px !important;
  margin: 0 !important;
  width: 262px !important;
  text-align: center !important;
  color: #888 !important;
  transition: 0.2s;
  font-weight: 450 !important;
}
.awcdp-radio input[type="radio"]:checked + label {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Layout for deposit/full options */
.awcdp-deposits-option,
.awcdp-radio.pay-deposit,
.awcdp-radio.pay-full { 
  display: inline-block; 
}
.awcdp-radio.pay-deposit { 
  margin-right: 22px; 
  margin-bottom: 10px; 
  margin-top: 7px;
}

@media (max-width: 781px) {
  .awcdp-radio.pay-deposit {
    margin-right: 0;
  }
}

.awcdp-deposits-wrapper .awcdp-deposits-option .pay-deposit.awcdp-radio { background: 0 0 !important; }
.awcdp-deposits-wrapper .awcdp-deposits-option .awcdp-radio {
  padding: 0 !important;
  border-bottom: none !important;
}
.awcdp-deposits-wrapper .awcdp-deposits-option {
  background: 0 0 !important;
  width: 100% !important;
  border: none !important;
  margin-bottom: 0 !important;
}

.awcdp-deposit-checkout-button td { padding-right: 0 !important; }
.woocommerce-checkout .awcdp-deposit-checkout-button td { text-align: left !important; }

/* Deposit descriptions and summaries */
.woocommerce-checkout .awcdp_deposits_summary { margin-bottom: 4rem; }
.woocommerce-checkout .awcdp_deposits_summary th {
  font-weight: 450;
  border-bottom: 1px solid;
}

/* Inline helper text messages (custom content hooks) */
.woocommerce-checkout .payment_box_cc_msg::after { content: " "; }
.woocommerce-checkout .payment_box_deposit_msg::after { content: " to pay $100 deposit"; }

/* Inline note under radio pills */
.woocommerce-checkout .awcdp-deposits-description {
  color: #444 !important;
  position: absolute;
  padding: 0 !important;
  text-align: center;
  width: 262px;
}

/* Hide extraneous deposit/payment bits on checkout/review tables */
.awcdp-deposits-description,
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label,
.woocommerce-checkout .awcdp_balance_pay,
.woocommerce-checkout .order-again,
.woocommerce-checkout .order-paid,
.woocommerce-checkout .order-remaining,
.woocommerce-checkout .payment_box.payment_method_woocommerce_payments p,
.woocommerce-checkout .testmode-info,
.woocommerce-checkout .variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity,
.woocommerce-checkout .woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead,
.woocommerce-checkout a.button.wc-forward.wp-element-button,
.woocommerce-checkout table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details td .product-quantity,
.woocommerce-checkout ul.order_details::after,
.woocommerce-checkout ul.order_details::before,
.woocommerce-additional-fields__field-wrapper {
  display: none;
}


/* ==========================================================================
   7) TOOLTIP / HELP UI (Payment help bubbles, etc.)
   ========================================================================== */

.woocommerce-checkout .payment_help {
  display: inline-block;
  width: 15px;
  margin-left: 5px;
  vertical-align: top;
}

.woocommerce-checkout .tooltip { position: relative; display: inline-block; }

.woocommerce-checkout .tooltip .tooltiptext {
  visibility: hidden;
  width: 300px;
  background-color: #000;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 1.5rem;
  position: absolute;
  z-index: 1;
  bottom: 30px;
  left: -20px;
  margin-left: -117px;
  opacity: 0;
  transition: opacity 0.3s;
  text-transform: none;
  -webkit-box-shadow: 0 -10px 35px -10px rgb(0 0 0 / 50%);
  -moz-box-shadow: 0 -10px 35px -10px rgba(0, 0, 0, 0.5);
  box-shadow: 0 -10px 35px -10px rgb(0 0 0 / 50%);
}
.woocommerce-checkout .tooltip .tooltiptext a { color: #fff; }
.woocommerce-checkout .tooltip .tooltiptext a:hover { text-decoration: none; }
.woocommerce-checkout .tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #000 transparent transparent;
}
.woocommerce-checkout .tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
  line-height: 1.6;
}

.woocommerce-page.woocommerce-checkout #payment #place_order, 
.woocommerce.woocommerce-checkout #payment #place_order {
  background-color: #0c590c;
  color: white;
  border-radius: 0;
  border-color: #0d590d;
  height: 48px;
}


/* ==========================================================================
   8) ORDER DETAILS / THANK-YOU
   ========================================================================== */

.woocommerce-checkout ul.order_details { margin: 2rem 0; }
.woocommerce-checkout ul.order_details li { padding: 0.5rem 0; }
.woocommerce-checkout .order_details > li { border-bottom: none; }
.woocommerce-checkout .order_details { background-color: #fff; }

.woocommerce-checkout .woocommerce-order-details__title {
  color: #444;
  text-transform: uppercase;
}
.woocommerce-checkout .woocommerce-customer-details .woocommerce-column__title {
  text-transform: uppercase;
}

/* Countdown text color inside message banner (if used) */
.woocommerce-message .wc-csr-countdown.is-countdown { color: white; }

.woocommerce-terms-and-conditions div div {
    flex-direction: column;
}

.woocommerce-terms-and-conditions div div h1 {
    font-size: 2.4rem;
    margin-bottom: 2rem !important;
}


/* Thank You Page */

.woocommerce-order-received.woocommerce-checkout .woocommerce-order-details { 
  margin-top: 9rem;
  clear: both;
  width: 750px; 
}
.woocommerce-order-received .woocommerce-table__product-name.product-name a {
  display: block;
}

.woocommerce-order-received.woocommerce-page.woocommerce-checkout table.shop_table td, .woocommerce.woocommerce-checkout table.shop_table td {
  padding: 2rem !important;
  min-width: 250px;
}
.woocommerce-order-received .wc-item-meta {
  padding: 0;
}

.woocommerce-order-received li {
  border: none !important;
}

@media (max-width: 781px) {
  .woocommerce-order-received.woocommerce-checkout ul.order_details li {
      width: 100% !important;
      margin-bottom: 2rem !important;
  }
}

/* ==========================================================================
   9) FORMS & INPUTS (Generic fields + Select2)
   ========================================================================== */


.select2-container--default .select2-selection--single .select2-selection__rendered {
  font-weight: 450;
  padding-left: 4px;
}
.woocommerce-js .select2-container .select2-selection--single, 
.woocommerce-js select, 
.woocommerce-page .select2-container .select2-selection--single, 
.woocommerce-page select {
  border-color: #999;
  padding: 9px 13px;
  border-radius: 0;
}

/* Normalize form input sizes & color */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="reset"],
input[type="tel"],
input[type="date"],
select,
textarea {
  font-size: 1.4rem !important;
  color: #444;
}

.woocommerce-js form .form-row .required {
  color: #444;
}

.woocommerce-js form .form-row textarea, 
.woocommerce-js input[type=email], 
.woocommerce-js input[type=number], 
.woocommerce-js input[type=password], 
.woocommerce-js input[type=reset], 
.woocommerce-js input[type=search], 
.woocommerce-js input[type=tel], 
.woocommerce-js input[type=text], 
.woocommerce-js input[type=url], 
.woocommerce-js textarea, 
.woocommerce-page form 
.form-row textarea, 
.woocommerce-page input[type=email], 
.woocommerce-page input[type=number], 
.woocommerce-page input[type=password], 
.woocommerce-page input[type=reset], 
.woocommerce-page input[type=search], 
.woocommerce-page input[type=tel], 
.woocommerce-page input[type=text], 
.woocommerce-page input[type=url], 
.woocommerce-page textarea {
  border-color: #999;
  background-color: white;
}

.form-row.address-field.validate-required.form-row-wide {
  margin-bottom: 20px;
}

/* Misc payment Q&A elements */
.woocommerce-checkout .payment_q {
  color: #0c580d;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 500;
}
.woocommerce-checkout .payment_a_ul { margin-left: 1.5rem; }
.woocommerce-checkout .payment_notes {
  border: 1px solid #0c580d;
  padding: 1.6rem;
  margin-top: 8.5rem;
}
.woocommerce-checkout .payment_a_table { border: 1px solid #444; }
.woocommerce-checkout .payment_a_table td {
  line-height: 1.2;
  padding: 1.6rem !important;
  font-weight: 450;
  background-color: #efefef !important;
  border: 1px solid #efefef;
}
.woocommerce-checkout .due_today_amount,
.woocommerce-checkout .future_amount { white-space: nowrap; }
.woocommerce-checkout .payment_msg {
  margin-bottom: -15px;
  margin-left: 7px;
  text-transform: uppercase;
}

/* ==========================================================================
   10) MEDIA QUERIES (LAYOUT ADJUSTMENTS)
   Order: wide -> narrow
   ========================================================================== */

/* ≥600px: remove right padding on columns in content area */
@media (min-width: 600px) {
  .woocommerce-checkout .hentry .entry-content .wp-block-columns .wp-block-column {
    padding-right: 0 !important;
  }
}

/* ≤1190px: deposit radio spacing */
@media (max-width: 1190px) {
  .woocommerce-checkout .awcdp-radio { margin-top: 20px; }
}
@media (max-width: 921px) {
  .woocommerce-checkout .payment_notes {
    margin-top: 1rem;
  }
}
/* ≤781px: mobile layout refinements */
@media (max-width: 781px) {

  .woocommerce-checkout h1 { text-align: center; }

  .woocommerce-checkout .cont-shop { justify-content: center !important; }

  .woocommerce-checkout .checkout-header :where(.wp-block-columns.is-layout-flex) {
    gap: 0 !important;
  }
  .woocommerce-checkout .checkout-header .wp-block-button,
  .woocommerce-checkout .checkout-header .wp-block-columns { margin-bottom: 0; }

  /*.woocommerce-checkout .mobile-only-cart { margin-bottom: 2rem; }*/
  .woocommerce-checkout .entry-content { padding: 0 1rem; }

  .woocommerce-checkout label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span {
    font-size: 2rem;
  }

  .woocommerce-checkout h3#ship-to-different-address { 
    margin-top: 4rem; 
    border: none !important;
  }

  /* Stack deposit/full buttons vertically and center the helper text */
  .woocommerce-checkout .awcdp-deposits-option,
  .woocommerce-checkout .awcdp-radio.pay-deposit,
  .woocommerce-checkout .awcdp-radio.pay-full {
    display: block;
    text-align: center;
  }
  .woocommerce-checkout .awcdp-deposits-description { width: 100%; }
  .woocommerce-checkout .awcdp-radio { margin-top: 30px; }

  .woocommerce-checkout .woocommerce-checkout .product-total,
  .woocommerce-checkout .checkout-single-product-table,
   .woocommerce-checkout .checkout-single-product-table td, 
   .woocommerce-checkout .checkout-single-product-table th {
    border: none !important;
  }

  .woocommerce-order-received.woocommerce-checkout .woocommerce-order-details { 
    width: 100%; 
  }
  .woocommerce-order-received.woocommerce-page.woocommerce-checkout table.shop_table td, .woocommerce.woocommerce-checkout table.shop_table td {
      padding: 2rem !important;
      min-width: unset;
    }
    .woocommerce-order-received .wc-item-meta {
      padding: 0;
    }

}

/* ≤500px: small-screen heading centering (kept, but covered by ≤781px too) */
@media (max-width: 500px) {
  .woocommerce-checkout h1 { text-align: center; }
}


/* ==========================================================================
   11) IMAGERY (THUMBNAILS IN REVIEW LIST)
   ========================================================================== */

.woocommerce-checkout img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
  width: 80px;
  height: 80px;
}

/* Checkout columns */
.checkout-left-col {
  flex-basis: 50%; 
}
.checkout-right-col {
  flex-basis: 50%;
  margin-left: 0 !important;
}
@media (max-width: 781px) {
  .checkout-cols {
    flex-wrap: wrap !important;
  }
  .checkout-right-col, .checkout-left-col {
    flex-basis: 100%;
  }
}

