/* ============================================================
   WOOCOMMERCE OVERRIDES — Parties D'un Tout
   Substitui completamente o CSS padrão do WooCommerce.
   Compatível com WooCommerce 10.x
   ============================================================ */

/* ── CART ── */
.pdt-cart {
  padding: calc(var(--section-y) + 1rem) var(--gutter) calc(var(--section-y) + 4rem);
  max-width: var(--maxw);
  margin-inline: auto;
  min-height: 100vh;
}
.pdt-cart__header {
  margin-bottom: var(--s-5);
}
.pdt-cart__back {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
  display: inline-block;
  margin-bottom: var(--s-3);
  transition: color 0.2s;
}
.pdt-cart__back:hover { color: var(--bone); }
.pdt-cart__title { font-size: clamp(3rem, 10vw, 7rem); }
.pdt-cart__form { display: block; }

/* Cart table */
.pdt-cart__table {
  width: 100%;
  border-collapse: collapse;
}
.pdt-cart__table th {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--silver);
  text-align: left;
  padding: var(--s-2) var(--s-2) var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  font-weight: 400;
}
.pdt-cart__table td {
  padding: var(--s-3) var(--s-2) var(--s-3) 0;
  border-bottom: 1px solid var(--rule);
  vertical-align: middle;
  color: var(--bone);
  font-family: var(--font-mono);
  font-size: 0.85rem;
}
.pdt-cart__table .product-thumbnail {
  width: 80px;
}
.pdt-cart__table .product-thumbnail img {
  width: 70px;
  height: 93px;
  object-fit: cover;
  border: 1px solid var(--rule);
  display: block;
}
.pdt-cart__table .product-name a {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bone);
  transition: color 0.2s;
}
.pdt-cart__table .product-name a:hover { color: var(--bone-dim); }
.pdt-cart__table .product-remove {
  text-align: right;
  width: 2rem;
}
.pdt-cart__remove {
  font-size: 1.1rem;
  color: var(--bone-dim);
  line-height: 1;
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  transition: color 0.2s;
}
.pdt-cart__remove:hover { color: var(--brick-bright); }

/* Cart actions row */
.pdt-cart__table .actions {
  padding-top: var(--s-3);
  border-bottom: none;
}
.pdt-cart__coupon {
  display: flex;
  gap: var(--s-1);
  flex-wrap: wrap;
  margin-bottom: var(--s-3);
}
.pdt-cart__coupon input[type="text"] {
  flex: 1;
  min-width: 180px;
  background: var(--ink-2);
  border: 1px solid var(--rule);
  color: var(--bone);
  padding: 0.75rem 1rem;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
}
.pdt-cart__coupon input:focus { border-color: var(--brick); outline: none; }

/* Cart collaterals (totals) */
.pdt-cart__sidebar {
  margin-top: var(--s-5);
  display: flex;
  justify-content: flex-end;
}
.cart-collaterals { width: min(440px, 100%); }
.cart_totals h2 {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--silver);
  margin-bottom: var(--s-3);
  font-weight: 400;
}
.cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.cart_totals th,
.cart_totals td {
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--bone);
}
.cart_totals th { color: var(--bone-dim); text-align: left; }
.cart_totals .order-total th,
.cart_totals .order-total td {
  border-top: 2px solid var(--rule);
  padding-top: var(--s-3);
  color: var(--bone);
  font-size: 1rem;
}
.cart_totals .order-total .amount {
  font-size: 1.1rem;
  color: var(--bone);
}

/* Shipping methods */
.shipping-calculator-button {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
  text-decoration: underline;
  cursor: pointer;
}
.shipping_calculator .button {
  background: var(--bone) !important;
  color: var(--ink) !important;
}

/* Checkout button */
.wc-proceed-to-checkout { margin-top: var(--s-4); }
.wc-proceed-to-checkout .checkout-button,
a.checkout-button {
  display: block !important;
  text-align: center !important;
  background: var(--bone) !important;
  color: var(--ink) !important;
  padding: 1.1rem 2rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s var(--ease-cinema), color 0.25s var(--ease-cinema) !important;
  text-decoration: none !important;
  margin-top: var(--s-3) !important;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--brick) !important; color: var(--bone) !important; }

@media (max-width: 640px) {
  .pdt-cart__table thead { display: none; }
  .pdt-cart__table td { display: block; padding: var(--s-1) 0; border: none; }
  .pdt-cart__row { border-bottom: 1px solid var(--rule); padding-block: var(--s-3); }
  .pdt-cart__table .product-remove { text-align: left; }
  .pdt-cart__sidebar { justify-content: stretch; }
  .cart-collaterals { width: 100%; }
}

/* ── CHECKOUT ── */
.pdt-checkout {
  padding: calc(var(--section-y) + 1rem) var(--gutter) calc(var(--section-y) + 2rem);
  max-width: var(--maxw);
  margin-inline: auto;
  min-height: 100vh;
}
.pdt-checkout__header { margin-bottom: var(--s-5); }
.pdt-checkout__title { font-size: clamp(2.5rem, 8vw, 6rem); }

.pdt-checkout__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.pdt-checkout__block {
  margin-bottom: var(--s-5);
}
.pdt-checkout__block-title {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--silver);
  margin-bottom: var(--s-3);
  font-weight: 400;
  border-bottom: 1px solid var(--rule);
  padding-bottom: var(--s-2);
}

/* WooCommerce form fields */
.woocommerce-checkout .form-row {
  margin-bottom: var(--s-2) !important;
}
.woocommerce-checkout .form-row label {
  display: block !important;
  font-family: var(--font-mono) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--silver) !important;
  margin-bottom: 0.4rem !important;
  font-weight: 400 !important;
}
.woocommerce-checkout .form-row .required { color: var(--brick-bright) !important; }

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100% !important;
  background: var(--ink-2) !important;
  border: 1px solid var(--rule) !important;
  color: var(--bone) !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.04em !important;
  border-radius: 0 !important;
  appearance: none !important;
  transition: border-color 0.2s !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--brick) !important;
  outline: none !important;
}
.woocommerce-checkout input::placeholder { color: #6a6666 !important; }
.woocommerce-checkout textarea { min-height: 100px; resize: vertical; }

/* Checkout: review table */
.pdt-checkout__review { position: sticky; top: 6rem; }
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--bone);
}
.woocommerce-checkout-review-order-table th { color: var(--bone-dim); }
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  border-top: 2px solid var(--rule);
  color: var(--bone);
  font-size: 0.95rem;
}

/* Payment section */
#payment { margin-top: var(--s-4); }
#payment .wc_payment_methods { list-style: none; padding: 0; }
#payment .wc_payment_method {
  border: 1px solid var(--rule);
  margin-bottom: var(--s-1);
  padding: var(--s-2) var(--s-3);
}
#payment .wc_payment_method label {
  font-family: var(--font-mono) !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.1em !important;
  color: var(--bone) !important;
  cursor: pointer !important;
}
#payment .payment_box {
  padding: var(--s-2) 0 0;
  color: var(--bone-dim);
  font-family: var(--font-mono);
  font-size: 0.78rem;
}
#payment input[type="radio"] { accent-color: var(--brick); margin-right: 0.5rem; }

#place_order {
  width: 100% !important;
  margin-top: var(--s-4) !important;
  background: var(--bone) !important;
  color: var(--ink) !important;
  padding: 1.1rem 2rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s var(--ease-cinema), color 0.25s var(--ease-cinema) !important;
}
#place_order:hover { background: var(--brick) !important; color: var(--bone) !important; }

@media (max-width: 768px) {
  .pdt-checkout__grid { grid-template-columns: 1fr; }
  .pdt-checkout__review { position: static; }
}

/* ── THANK YOU ── */
.pdt-thankyou {
  padding: calc(var(--section-y) + 1rem) var(--gutter) var(--section-y);
  max-width: var(--maxw);
  margin-inline: auto;
  min-height: 100vh;
}
.pdt-thankyou__hero {
  margin-bottom: var(--s-6);
}
.pdt-thankyou__title {
  font-size: clamp(4rem, 14vw, 10rem);
  margin-top: var(--s-2);
  margin-bottom: var(--s-3);
}
.pdt-thankyou__msg {
  color: var(--bone-dim);
  max-width: 52ch;
  line-height: 1.8;
}
.pdt-thankyou__details { margin-bottom: var(--s-5); }
.pdt-thankyou__meta {
  list-style: none;
  padding: 0;
  border-top: 1px solid var(--rule);
}
.pdt-thankyou__meta li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono);
  font-size: 0.82rem;
}
.pdt-meta-label { color: var(--bone-dim); letter-spacing: 0.1em; }
.pdt-thankyou__meta strong { color: var(--bone); }
.pdt-thankyou__actions {
  display: flex;
  gap: var(--s-2);
  flex-wrap: wrap;
}

/* ── MY ACCOUNT ── */
.pdt-account {
  padding: calc(var(--section-y) + 1rem) var(--gutter) var(--section-y);
  max-width: var(--maxw);
  margin-inline: auto;
  min-height: 100vh;
}
.pdt-account__header { margin-bottom: var(--s-5); }
.pdt-account__title { font-size: clamp(2.5rem, 8vw, 6rem); }
.pdt-account__layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

/* Account nav */
.pdt-account__nav { position: sticky; top: 6rem; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--rule);
}
.woocommerce-MyAccount-navigation li:first-child { border-top: 1px solid var(--rule); }
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: var(--s-2) 0;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
  transition: color 0.2s, padding-left 0.2s;
}
.woocommerce-MyAccount-navigation a:hover { color: var(--bone); padding-left: 0.5rem; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--bone); }

/* Account content */
.pdt-account__content { min-width: 0; }
.woocommerce-MyAccount-content h2 {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: var(--s-3);
}
.woocommerce-MyAccount-content p {
  color: var(--bone-dim);
  line-height: 1.8;
  margin-bottom: var(--s-2);
}

/* Orders table */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 0.82rem;
}
.woocommerce-orders-table th {
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--silver);
  text-align: left;
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  font-weight: 400;
}
.woocommerce-orders-table td {
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule);
  color: var(--bone);
}
.woocommerce-orders-table .woocommerce-button {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bone-dim);
  border: 1px solid var(--rule);
  padding: 0.4rem 0.8rem;
  display: inline-block;
  transition: color 0.2s, border-color 0.2s;
}
.woocommerce-orders-table .woocommerce-button:hover { color: var(--bone); border-color: var(--bone); }

/* Account form fields */
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"] {
  width: 100%;
  background: var(--ink-2);
  border: 1px solid var(--rule);
  color: var(--bone);
  padding: 0.85rem 1rem;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  margin-bottom: var(--s-2);
  transition: border-color 0.2s;
}
.woocommerce-EditAccountForm input:focus { border-color: var(--brick); outline: none; }
.woocommerce-EditAccountForm label {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--silver);
  display: block;
  margin-bottom: 0.4rem;
}
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"],
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"] {
  background: var(--bone) !important;
  color: var(--ink) !important;
  padding: 0.9rem 2rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s, color 0.25s !important;
  margin-top: var(--s-3) !important;
}
.woocommerce-EditAccountForm button[type="submit"]:hover { background: var(--brick) !important; color: var(--bone) !important; }

@media (max-width: 640px) {
  .pdt-account__layout { grid-template-columns: 1fr; }
  .pdt-account__nav { position: static; }
  .woocommerce-orders-table { display: block; overflow-x: auto; }
}

/* ── FORM: LOGIN / REGISTER ── */
.woocommerce-form-login,
.woocommerce-form-register {
  max-width: 480px;
  margin: 0 auto;
  padding: var(--s-4);
  background: var(--ink-2);
  border: 1px solid var(--rule);
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: var(--s-4);
}

/* ── LOST PASSWORD ── */
.woocommerce-ResetPassword input,
.woocommerce-form-row input {
  width: 100%;
  background: var(--ink-2);
  border: 1px solid var(--rule);
  color: var(--bone);
  padding: 0.85rem 1rem;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  margin-bottom: var(--s-2);
}
.woocommerce-ResetPassword input:focus { border-color: var(--brick); outline: none; }

/* ── PRODUCT TABS (single product) ── */
.woocommerce-tabs .tabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--s-4) !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--rule) !important;
}
.woocommerce-tabs .tabs li {
  margin: 0 !important;
}
.woocommerce-tabs .tabs li a {
  display: block !important;
  padding: var(--s-2) var(--s-3) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--bone-dim) !important;
  border-bottom: 2px solid transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
  text-decoration: none !important;
}
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover {
  color: var(--bone) !important;
  border-bottom-color: var(--brick) !important;
}
.woocommerce-Tabs-panel {
  color: var(--bone-dim) !important;
  line-height: 1.8 !important;
  max-width: 68ch !important;
}
.woocommerce-Tabs-panel h2 {
  font-size: 1.1rem !important;
  margin-bottom: var(--s-3) !important;
  color: var(--bone) !important;
}

/* ── RELATED PRODUCTS ── */
.related.products h2,
.up-sells h2 {
  font-family: var(--font-mono) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--silver) !important;
  font-weight: 400 !important;
  margin-bottom: var(--s-4) !important;
  border-bottom: 1px solid var(--rule) !important;
  padding-bottom: var(--s-2) !important;
}

/* ── EMPTY CART ── */
.woocommerce-cart-empty {
  text-align: center !important;
  padding: var(--s-7) var(--gutter) !important;
}
.woocommerce-cart-empty p {
  font-family: var(--font-mono) !important;
  color: var(--bone-dim) !important;
  margin-bottom: var(--s-4) !important;
}
.return-to-shop .button {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.9rem 2rem !important;
  border: 1px solid var(--bone) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--bone) !important;
  background: transparent !important;
  transition: background 0.25s, color 0.25s !important;
}
.return-to-shop .button:hover { background: var(--bone) !important; color: var(--ink) !important; }

/* ── STAR RATINGS ── */
.star-rating span { color: var(--brick-bright) !important; }
.star-rating { color: var(--rule) !important; }

/* ── SELECT2 OVERRIDE (WooCommerce uses Select2) ── */
.select2-container--default .select2-selection--single {
  background-color: var(--ink-2) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
  height: auto !important;
  padding: 0.85rem 1rem !important;
  color: var(--bone) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--bone) !important; line-height: 1 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; }
.select2-dropdown {
  background: var(--ink-2) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 0 !important;
}
.select2-container--default .select2-results__option {
  color: var(--bone-dim) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.82rem !important;
}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--selected {
  background: var(--ink-3) !important;
  color: var(--bone) !important;
}

/* ── CART FRAGMENTS (AJAX) ── */
.pdt-cart-updating { opacity: 0.5; pointer-events: none; transition: opacity 0.2s; }
