/**
 * Glowwy WooCommerce skin — styles the classic cart / checkout / account pages
 * to match the funnel's warm ivory + rose design. Loaded after WooCommerce's
 * own CSS (see functions.php) so these rules win.
 */

:root {
  --glw-ivory: #fffdfa;
  --glw-cream: #fbf6f1;
  --glw-champagne: #efe0d1;
  --glw-champagne-dark: #e3cdb6;
  --glw-blush-light: #fce9ed;
  --glw-rose: #d98a9e;
  --glw-rose-soft: #e9c2cc;
  --glw-rose-deep: #c16b82;
  --glw-rose-darker: #a85066;
  --glw-ink: #3b333c;
  --glw-ink-soft: #6f6571;
  --glw-ink-muted: #9a8f9c;
  --glw-display: "Playfair Display", Georgia, serif;
}

/* ── Layout width ─────────────────────────────────────────────── */
.woocommerce-checkout .glw-prose,
.woocommerce-cart .glw-prose,
.woocommerce-account .glw-prose {
  max-width: 64rem;
}

/* ── Headings ─────────────────────────────────────────────────── */
.woocommerce h3,
#order_review_heading,
.woocommerce-checkout h3,
.woocommerce-column__title,
.cart_totals h2,
.woocommerce-cart h2 {
  font-family: var(--glw-display);
  color: var(--glw-ink);
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* ── Form labels + fields ─────────────────────────────────────── */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label,
.woocommerce-account .form-row label {
  color: var(--glw-ink-soft);
  font-weight: 600;
  font-size: 0.82rem;
  margin-bottom: 0.4rem;
  display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce-account input.input-text,
.select2-container--default .select2-selection--single,
.woocommerce .select2-container .select2-selection {
  width: 100%;
  border: 1px solid var(--glw-champagne-dark);
  background: #fff;
  border-radius: 0.9rem;
  padding: 0.78rem 1rem;
  color: var(--glw-ink);
  font-size: 0.95rem;
  line-height: 1.4;
  box-shadow: 0 1px 2px rgba(122, 86, 96, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  height: auto;
  min-height: 3rem;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.4;
  padding: 0;
  color: var(--glw-ink);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
  outline: none;
  border-color: var(--glw-rose-deep);
  box-shadow: 0 0 0 3px rgba(217, 138, 158, 0.22);
}

.woocommerce form .form-row {
  margin-bottom: 1.1rem;
  padding: 0;
}
.woocommerce form .form-row label.checkbox,
.woocommerce-form-login__rememberme {
  font-weight: 500;
  color: var(--glw-ink-soft);
}

/* required asterisk */
.woocommerce .required,
.woocommerce abbr.required {
  color: var(--glw-rose-deep);
  border: 0;
  text-decoration: none;
}

/* ── Surfaces: order review + cart totals as cards ────────────── */
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order,
.cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #fff;
  border-radius: 1.5rem;
  padding: 1.5rem 1.5rem 1.75rem;
  box-shadow: 0 40px 90px -40px rgba(150, 90, 110, 0.4);
}

#order_review_heading {
  margin-top: 0;
}

/* order/cart tables */
.woocommerce table.shop_table {
  border: 0;
  border-radius: 1rem;
  background: transparent;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-top: 1px solid rgba(227, 205, 182, 0.5);
  padding: 0.85rem 0.25rem;
  color: var(--glw-ink-soft);
}
.woocommerce table.shop_table thead th {
  color: var(--glw-ink-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-top: 0;
}
.woocommerce table.shop_table .product-name,
.woocommerce table.shop_table .cart_item .product-total,
.woocommerce table.shop_table tfoot .order-total .amount {
  color: var(--glw-ink);
  font-weight: 700;
}
.woocommerce table.shop_table tfoot th {
  color: var(--glw-ink);
  font-weight: 700;
}
.woocommerce table.shop_table tfoot .order-total .amount {
  font-size: 1.3rem;
  color: var(--glw-rose-deep);
}

/* ── Payment box ──────────────────────────────────────────────── */
.woocommerce-checkout #payment,
.woocommerce #payment {
  background: var(--glw-blush-light);
  border-radius: 1.25rem;
  margin-top: 1rem;
}
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce #payment ul.payment_methods {
  border-bottom: 1px solid rgba(217, 138, 158, 0.25);
  padding: 1rem 1.25rem;
}
.woocommerce-checkout #payment ul.payment_methods li label,
.woocommerce #payment ul.payment_methods li label {
  color: var(--glw-ink);
  font-weight: 600;
}
.woocommerce-checkout #payment div.payment_box,
.woocommerce #payment div.payment_box {
  background: #fff;
  border-radius: 0.9rem;
  color: var(--glw-ink-soft);
  font-size: 0.85rem;
}
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce #payment div.payment_box::before {
  border-bottom-color: #fff;
}
.woocommerce #payment .place-order {
  padding: 1.25rem;
}

/* ── Buttons → btn-primary look ───────────────────────────────── */
.woocommerce #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  background: linear-gradient(to bottom, var(--glw-rose-deep), var(--glw-rose-darker));
  color: #fff;
  font-weight: 600;
  font-size: 1.02rem;
  border: 0;
  border-radius: 9999px;
  padding: 1rem 2rem;
  box-shadow: 0 16px 32px -12px rgba(168, 80, 102, 0.55);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-shadow: none;
  cursor: pointer;
}
.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.checkout-button:hover {
  transform: translateY(-2px);
  background: linear-gradient(to bottom, var(--glw-rose-deep), var(--glw-rose-darker));
  color: #fff;
}

/* secondary buttons (update cart, apply coupon, etc.) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #fff;
  color: var(--glw-ink);
  border: 1px solid var(--glw-rose-soft);
  border-radius: 9999px;
  padding: 0.7rem 1.4rem;
  font-weight: 600;
  box-shadow: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: #fff;
  border-color: var(--glw-rose-deep);
  color: var(--glw-rose-deep);
}

/* ── Notices ──────────────────────────────────────────────────── */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-NoticeGroup {
  border-radius: 1rem;
  border: 1px solid var(--glw-rose-soft);
  background: var(--glw-blush-light);
  color: var(--glw-ink);
  box-shadow: none;
}
.woocommerce-info::before,
.woocommerce-message::before { color: var(--glw-rose-deep); }
.woocommerce-error { border-color: #e7a3a3; background: #fdeeee; }

/* login / coupon toggles */
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce form.checkout_coupon {
  border-radius: 1rem;
}
.woocommerce form.checkout_coupon {
  border: 1px dashed var(--glw-rose-soft);
  background: #fff;
}

/* coupon row on cart */
.woocommerce .cart input.input-text#coupon_code {
  min-height: 3rem;
  border-radius: 0.9rem;
}

/* spacing between billing + order columns on desktop */
@media (min-width: 769px) {
  .woocommerce-checkout #customer_details { padding-right: 1.5rem; }
}

/* My account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid var(--glw-champagne);
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--glw-champagne);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--glw-rose-deep);
  font-weight: 700;
}

/* ── Trim the big section padding on cart/checkout ────────────── */
.woocommerce-checkout .section-pad,
.woocommerce-cart .section-pad,
.woocommerce-account .section-pad {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

/* ── Mobile: tighter everything so the form fits a phone nicely ── */
@media (max-width: 640px) {
  .woocommerce-checkout .container-page,
  .woocommerce-cart .container-page {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
  .woocommerce-checkout .section-pad,
  .woocommerce-cart .section-pad {
    padding-top: 0.75rem;
    padding-bottom: 1.5rem;
  }
  .woocommerce-checkout #order_review,
  .woocommerce-checkout-review-order,
  .cart_totals {
    padding: 1rem 1rem 1.2rem;
    border-radius: 1.1rem;
    margin-top: 1rem;
  }
  .woocommerce form .form-row {
    margin-bottom: 0.75rem;
  }
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .select2-container--default .select2-selection--single,
  .woocommerce .select2-container .select2-selection {
    padding: 0.6rem 0.8rem;
    min-height: 2.7rem;
    font-size: 0.92rem;
  }
  .woocommerce-checkout #payment ul.payment_methods,
  .woocommerce #payment ul.payment_methods {
    padding: 0.85rem 1rem;
  }
  .woocommerce #payment .place-order {
    padding: 1rem;
  }
  .woocommerce #place_order,
  .woocommerce a.checkout-button {
    padding: 0.85rem 1.25rem;
    font-size: 0.98rem;
  }
  .woocommerce h3,
  #order_review_heading {
    font-size: 1.15rem;
  }
  /* order-notes textarea shorter on mobile */
  .woocommerce form .form-row textarea {
    height: 3.5rem;
  }
}
