/* Cart / checkout / my-account.

   Nothing to port — Shopify's checkout was hosted and unstyleable, and the
   cart used Dawn's main-cart-items / main-cart-footer. This restyles
   WooCommerce's own output with the design tokens rather than rebuilding it:
   Woo's cart and checkout markup changes between releases, and a rebuilt
   checkout is the single easiest thing in a store to break.

   Targets both the shortcode markup (.woocommerce-*) and the newer Cart/
   Checkout Blocks (.wc-block-*), since which one a page uses depends on how
   the store was set up. */

.pp-woo-page {
  background: var(--bone-50);
  min-height: 60vh;
}
.pp-woo-page__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.pp-woo-page__title {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--pine-900);
  margin: 0 0 28px;
}

/* Typography + form controls, shared by both markup generations. */
.pp-woo-page__body {
  font-family: var(--pp-sans);
  color: var(--ink-700);
  font-size: 15px;
}
.pp-woo-page__body h2,
.pp-woo-page__body h3,
.pp-woo-page__body .wc-block-components-title {
  color: var(--pine-900);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.pp-woo-page__body a { color: var(--pine-900); }

.pp-woo-page__body input[type="text"],
.pp-woo-page__body input[type="email"],
.pp-woo-page__body input[type="tel"],
.pp-woo-page__body input[type="password"],
.pp-woo-page__body input[type="number"],
.pp-woo-page__body select,
.pp-woo-page__body textarea,
.pp-woo-page__body .wc-block-components-text-input input {
  border: 1px solid var(--bone-300);
  border-radius: var(--pp-r-input);
  background: var(--bone-50);
  font-family: var(--pp-sans);
  font-size: 15px;
  padding: 12px 14px;
}
.pp-woo-page__body input:focus,
.pp-woo-page__body select:focus,
.pp-woo-page__body textarea:focus {
  outline: 2px solid var(--pine-900);
  outline-offset: 1px;
  border-color: var(--pine-900);
}

/* Buttons — Woo uses several class names for the same thing. */
.pp-woo-page__body .button,
.pp-woo-page__body button[type="submit"],
.pp-woo-page__body .wc-block-components-button,
.pp-woo-page__body .checkout-button,
.pp-woo-page__body #place_order {
  background: var(--pine-900) !important;
  color: var(--bone-50) !important;
  border: none !important;
  border-radius: var(--pp-r-btn) !important;
  font-family: var(--pp-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  cursor: pointer;
  transition: opacity 0.15s;
}
.pp-woo-page__body .button:hover,
.pp-woo-page__body button[type="submit"]:hover,
.pp-woo-page__body .wc-block-components-button:hover,
.pp-woo-page__body #place_order:hover { opacity: 0.88; }

/* Tables (cart line items, order review). */
.pp-woo-page__body table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bone-100);
  border-radius: var(--pp-r-card);
  overflow: hidden;
}
.pp-woo-page__body table th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pine-900);
  padding: 14px 16px;
  border-bottom: 1px solid var(--bone-300);
}
.pp-woo-page__body table td {
  padding: 16px;
  border-bottom: 1px solid var(--bone-300);
  vertical-align: middle;
}
.pp-woo-page__body table img { border-radius: var(--pp-r-img); }

/* Cart / order totals panel. */
.pp-woo-page__body .cart_totals,
.pp-woo-page__body .wc-block-components-totals-wrapper,
.pp-woo-page__body #order_review {
  background: var(--bone-100);
  border-radius: var(--pp-r-card);
  padding: 24px;
}

/* Notices. */
.pp-woo-page__body .woocommerce-message,
.pp-woo-page__body .woocommerce-info,
.pp-woo-page__body .woocommerce-error {
  border-radius: var(--pp-r-input);
  border: 1px solid var(--bone-300);
  background: var(--bone-100);
  padding: 14px 18px;
  list-style: none;
  margin: 0 0 20px;
}
.pp-woo-page__body .woocommerce-message { border-left: 3px solid var(--moss-500); }
.pp-woo-page__body .woocommerce-error   { border-left: 3px solid var(--clay); }
.pp-woo-page__body .woocommerce-info    { border-left: 3px solid var(--amber); }

/* My Account navigation. */
.pp-woo-page__body .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pp-woo-page__body .woocommerce-MyAccount-navigation a {
  display: inline-block;
  padding: 10px 18px;
  border-radius: var(--pp-r-btn);
  background: var(--bone-100);
  color: var(--pine-900);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.pp-woo-page__body .woocommerce-MyAccount-navigation .is-active a {
  background: var(--pine-900);
  color: var(--bone-50);
}

@media (max-width: 640px) {
  .pp-woo-page__title { font-size: 32px; }
  .pp-woo-page__inner { padding: 32px 16px 56px; }
}
