/**
 * Suntana UK — cart / checkout / thank-you layout (STAGING MU-plugin)
 * Overrides WooCommerce Blocks checkout (+ classic Woo / any gb-* wrappers)
 * to a clean Avada-aligned two-column desktop / stacked mobile layout.
 * Brand primary from Avada: #e89222
 */

:root {
  --sun-ember: #e89222;
  --sun-ember-deep: #d07a12;
  --sun-ink: #303030;
  --sun-mute: #747474;
  --sun-line: #e0dede;
  --sun-bg: #f9f9f9;
  --sun-radius: 6px;
}

/* --------------------------------------------------------------------------
   Page chrome (Avada / Fusion wrappers)
   -------------------------------------------------------------------------- */
body.suntana-checkout-layout #main,
body.woocommerce-cart #main,
body.woocommerce-checkout #main,
body.woocommerce-order-received #main {
  background: #fff;
}

body.suntana-checkout-layout .fusion-page-title-bar,
body.woocommerce-cart .fusion-page-title-bar,
body.woocommerce-checkout .fusion-page-title-bar {
  margin-bottom: 0;
}

body.woocommerce-cart .post-content,
body.woocommerce-checkout .post-content,
body.woocommerce-order-received .post-content,
body.woocommerce-cart .fusion-text,
body.woocommerce-checkout .fusion-text {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-order-received .woocommerce-message,
.wc-block-components-notice-banner {
  background: #fff !important;
  color: var(--sun-ink) !important;
  border: 1px solid var(--sun-line) !important;
  border-top: 3px solid var(--sun-ember) !important;
  border-radius: var(--sun-radius);
  box-shadow: none !important;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-top-color: #b42318 !important;
}

/* --------------------------------------------------------------------------
   CLASSIC CART
   -------------------------------------------------------------------------- */
.woocommerce-cart table.shop_table {
  border: 0 !important;
  border-collapse: collapse;
  width: 100%;
  background: transparent;
}

.woocommerce-cart table.shop_table th {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--sun-mute);
  text-transform: none;
  letter-spacing: 0;
  border: 0 !important;
  border-bottom: 1px solid var(--sun-line) !important;
  padding: 0.65rem 0.5rem !important;
  background: transparent !important;
}

.woocommerce-cart table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid var(--sun-line) !important;
  padding: 1rem 0.5rem !important;
  background: transparent !important;
  vertical-align: middle;
}

.woocommerce-cart table.shop_table .product-name a {
  color: var(--sun-ink);
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--sun-ember);
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals {
  width: 100% !important;
  float: none !important;
}

.woocommerce-cart .cart_totals {
  background: #fff;
  border: 1px solid var(--sun-line);
  border-radius: var(--sun-radius);
  padding: 1.25rem 1.35rem 1.5rem;
  margin-top: 1.5rem;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 1.25rem;
  margin: 0 0 1rem;
  color: var(--sun-ink);
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .return-to-shop .button {
  background: var(--sun-ember) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--sun-radius) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart a.checkout-button:hover {
  background: var(--sun-ember-deep) !important;
  color: #fff !important;
}

@media (min-width: 900px) {
  .woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 2rem;
    align-items: start;
  }
  .woocommerce-cart .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
  }
  .woocommerce-cart .cart-collaterals {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin-top: 0;
  }
  .woocommerce-cart .cart_totals {
    margin-top: 0;
  }
}

/* --------------------------------------------------------------------------
   CLASSIC CHECKOUT fallback (#customer_details / #order_review)
   (kept for thank-you / shortcode / Avada classic templates)
   -------------------------------------------------------------------------- */
.woocommerce-checkout .col2-set {
  width: 100% !important;
  float: none !important;
  display: block;
  clear: both;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

.woocommerce-checkout #customer_details::after,
.woocommerce-checkout .col2-set::after,
.woocommerce-checkout form.checkout::after {
  content: none !important;
  display: none !important;
  clear: none !important;
}

@media (min-width: 900px) {
  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 2.5rem;
    align-items: start;
  }

  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) .col2-set,
  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) #customer_details {
    grid-column: 1;
    grid-row: 1 / span 4;
    float: none !important;
    width: 100% !important;
    margin: 0;
  }

  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) #order_review_heading,
  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) #order_review {
    grid-column: 2;
    float: none !important;
    width: 100% !important;
  }

  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) #order_review_heading {
    grid-row: 1;
    margin-top: 0;
  }

  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form) #order_review {
    grid-row: 2 / span 3;
  }
}

.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid var(--sun-line);
  border-radius: var(--sun-radius);
  padding: 1.25rem 1.35rem 1.5rem;
}

.woocommerce-checkout #order_review_heading {
  font-size: 1.25rem;
  margin: 0 0 0.75rem;
  color: var(--sun-ink);
}

/* Form rows — kill float clearfixes; pair on wider screens */
.woocommerce form .form-row {
  margin: 0 0 1rem;
  padding: 0;
  float: none !important;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 100% !important;
  float: none !important;
}

@media (min-width: 640px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    display: inline-block;
    vertical-align: top;
    width: 48% !important;
  }
  .woocommerce form .form-row-first {
    margin-right: 4%;
  }
}

.woocommerce form .form-row label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--sun-ink);
  margin-bottom: 0.35rem;
  display: block;
}

.woocommerce form .form-row label .required {
  color: var(--sun-ember) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-container .select2-selection--single {
  width: 100%;
  box-sizing: border-box;
  min-height: 2.75rem;
  padding: 0.65rem 0.75rem !important;
  border: 1px solid var(--sun-line) !important;
  border-radius: var(--sun-radius) !important;
  background: #fff !important;
  color: var(--sun-ink) !important;
  box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: 2px solid var(--sun-ember);
  outline-offset: 1px;
  border-color: var(--sun-ember) !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
  width: 100%;
  background: var(--sun-ember) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--sun-radius) !important;
  font-weight: 600 !important;
  min-height: 3rem;
}

/* --------------------------------------------------------------------------
   WOOCOMMERCE BLOCKS CHECKOUT  (wp-block-woocommerce-checkout / wc-block-*)
   This is what live Suntana UK checkout actually uses (not Genesis Blocks plugin).
   Override block markup + CSS so layout matches dkweb intent.
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
  max-width: 1100px !important;
  margin: 0 auto !important;
  color: var(--sun-ink);
}

/* Kill default block float / awkward clearfixes */
.wc-block-checkout::before,
.wc-block-checkout::after,
.wp-block-woocommerce-checkout::before,
.wp-block-woocommerce-checkout::after,
.wc-block-checkout__main::after,
.wc-block-checkout__sidebar::after {
  content: none !important;
  display: none !important;
}

.wc-block-checkout__form,
form.wc-block-checkout__form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.75rem !important;
  float: none !important;
  width: 100% !important;
}

.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Desktop ≥900px: order summary beside billing/fields */
@media (min-width: 900px) {
  .wc-block-checkout__form,
  form.wc-block-checkout__form {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 2.5rem !important;
    align-items: start !important;
  }

  .wc-block-checkout__main {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  .wc-block-checkout__sidebar {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    top: 1.5rem !important;
  }
}

/* Order summary card */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
  background: #fff;
  border: 1px solid var(--sun-line) !important;
  border-radius: var(--sun-radius);
  padding: 1.15rem 1.25rem;
}

.wc-block-components-checkout-order-summary__title,
.wc-block-components-panel__button {
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: var(--sun-ink) !important;
}

/* Fields / inputs inside blocks */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-text-input .wc-block-components-text-input__input {
  border: 1px solid var(--sun-line) !important;
  border-radius: var(--sun-radius) !important;
  min-height: 2.75rem;
  box-shadow: none !important;
  color: var(--sun-ink) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus,
.wc-block-components-combobox input:focus {
  outline: 2px solid var(--sun-ember);
  border-color: var(--sun-ember) !important;
}

.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-text-input label {
  color: var(--sun-ink);
}

/* Place order / primary actions */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link):not(.wc-block-components-button--outlined) {
  background: var(--sun-ember) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--sun-radius) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--sun-ember-deep) !important;
  color: #fff !important;
}

/* Express payment / steps spacing */
.wc-block-checkout__actions,
.wc-block-components-express-payment {
  margin-bottom: 1rem;
}

.wc-block-components-totals-item,
.wc-block-components-product-metadata,
.wc-block-components-order-summary-item {
  color: var(--sun-ink);
}

.wc-block-components-totals-item__value,
.wc-block-components-product-price {
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   BLOCK CART (if cart page uses wc-block-cart)
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-cart,
.wc-block-cart {
  max-width: 1100px;
  margin: 0 auto;
}

@media (min-width: 900px) {
  .wc-block-cart {
    display: grid !important;
    grid-template-columns: 1.25fr 0.75fr !important;
    gap: 2rem !important;
    align-items: start !important;
  }
  .wc-block-cart__main {
    grid-column: 1;
  }
  .wc-block-cart__sidebar {
    grid-column: 2;
  }
}

/* --------------------------------------------------------------------------
   Genesis Blocks (gb-*) — override if present in markup/CSS
   (plugin not currently installed on suntanauk; kept so copy/future GB wrappers
    do not break the two-column layout)
   -------------------------------------------------------------------------- */
body.woocommerce-cart .gb-container,
body.woocommerce-checkout .gb-container,
body.woocommerce-cart .gb-columns,
body.woocommerce-checkout .gb-columns,
body.woocommerce-cart .gb-column,
body.woocommerce-checkout .gb-column,
body.woocommerce-cart .gb-layout,
body.woocommerce-checkout .gb-layout {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

@media (min-width: 900px) {
  body.woocommerce-checkout .gb-columns,
  body.woocommerce-cart .gb-columns {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 2rem !important;
  }
  body.woocommerce-checkout .gb-column,
  body.woocommerce-cart .gb-column {
    width: auto !important;
    float: none !important;
  }
}

/* --------------------------------------------------------------------------
   Order received / thank-you
   -------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-order {
  max-width: 40rem;
  margin: 0 auto;
}

.woocommerce-order-received .woocommerce-order-overview {
  list-style: none;
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
  border: 1px solid var(--sun-line);
  border-radius: var(--sun-radius);
  background: var(--sun-bg);
}

.woocommerce-order-received .woocommerce-order-overview li {
  margin: 0;
  border: 0 !important;
  padding: 0.25rem 0 !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.15rem;
  color: var(--sun-ink);
  margin-bottom: 1.25rem;
}

/* Mobile: ensure everything stacks */
@media (max-width: 899px) {
  .wc-block-checkout__form,
  form.wc-block-checkout__form,
  .woocommerce-checkout form.checkout:not(.wc-block-checkout__form),
  .woocommerce-cart .woocommerce,
  .wc-block-cart {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  .wc-block-checkout__sidebar,
  .woocommerce-cart .cart-collaterals,
  .wc-block-cart__sidebar {
    order: 0;
    position: static !important;
  }
}
