/* ==========================================================================
   WooCommerce — carrello, cassa, area cliente, avvisi, moduli

   Il markup e' quello classico di WooCommerce, non nostro: qui lo portiamo
   nel linguaggio del design (spigoli vivi, Archivo, blu di marca) senza
   riscrivere i template, cosi' gli aggiornamenti del plugin non ci rompono
   niente. Molti selettori portano il prefisso .woocommerce perche' e' quello
   che usa il foglio di stile del plugin, caricato prima del nostro.
   ========================================================================== */

/* La testata di pagina, la prosa e il percorso stanno in base.css: valgono
   anche fuori dal negozio. Qui resta solo quello che riguarda WooCommerce. */

/* --- Avvisi -------------------------------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  display: flex;
  align-items: center;
  gap: var(--rp-space-3);
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 var(--rp-space-6);
  padding: 16px 18px;
  border: 0;
  border-left: 3px solid;
  border-radius: 0;
  background: var(--rp-surface);
  font-size: 14px;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before { content: none; }
.woocommerce-message { border-color: var(--rp-accent-2); background: var(--rp-accent-2-100); color: var(--rp-accent-2-800); }
.woocommerce-info { border-color: var(--rp-accent); background: var(--rp-accent-100); color: var(--rp-accent-800); }
.woocommerce-error { border-color: var(--rp-danger); background: #fbeae6; color: var(--rp-danger); flex-direction: column; align-items: flex-start; }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; }

/* --- Pulsanti ------------------------------------------------------------ */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rp-space-2);
  background: transparent;
  color: var(--rp-text);
  border: 1px solid var(--rp-line-control);
  border-radius: var(--rp-radius);
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 14px;
  line-height: 1.2;
  padding: 14px 22px;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.woocommerce .button:hover { background: color-mix(in srgb, var(--rp-text) 6%, transparent); color: var(--rp-text); }

.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--rp-accent);
  border-color: var(--rp-accent);
  color: #fff;
}
.woocommerce .button.alt:hover { background: var(--rp-accent-600); border-color: var(--rp-accent-600); color: #fff; }
.woocommerce .button:disabled,
.woocommerce .button.disabled { opacity: .45; cursor: not-allowed; }

/* --- Moduli -------------------------------------------------------------- */
.woocommerce form .form-row { display: flex; flex-direction: column; margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label {
  font-size: 12px;
  margin-bottom: 5px;
  color: rgba(22, 24, 29, .7);
  line-height: 1.4;
}
.woocommerce form .form-row label .required { color: var(--rp-danger); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { color: var(--rp-muted-soft); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row select {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  font: inherit;
  font-size: 14px;
  color: var(--rp-text);
  background: var(--rp-surface);
  border: 1px solid var(--rp-line-control);
  border-radius: var(--rp-radius);
  box-shadow: none;
}
.woocommerce form .form-row textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.woocommerce form .form-row input.input-text:focus-visible,
.woocommerce form .form-row textarea:focus-visible,
.woocommerce form .form-row select:focus-visible { border-color: var(--rp-accent); outline-offset: 0; }

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--rp-danger); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--rp-accent-2); }

/* selectWoo: allineiamolo ai campi normali. */
.woocommerce .select2-container--default .select2-selection--single { height: 46px; display: flex; align-items: center; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--rp-text); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce .select2-dropdown { border-color: var(--rp-divider); border-radius: 0; }
.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--rp-accent); }

/* Caselle e consensi */
.woocommerce form .form-row.woocommerce-validate-required input[type="checkbox"],
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] { accent-color: var(--rp-accent); }
.woocommerce form .form-row-checkbox,
.woocommerce .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: rgba(22, 24, 29, .75);
}
.woocommerce .woocommerce-form__label-for-checkbox input { margin-top: 3px; }

/* --- Tabelle ------------------------------------------------------------- */
.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--rp-line);
  border-radius: 0;
  background: var(--rp-surface);
  font-size: 14px;
  margin: 0;
}
.woocommerce table.shop_table th {
  text-align: left;
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rp-muted);
  padding: 14px 16px;
  border-bottom: 1px solid var(--rp-line-strong);
}
.woocommerce table.shop_table td {
  padding: 18px 16px;
  border-top: 0;
  border-bottom: 1px solid var(--rp-divider);
  vertical-align: middle;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0; }

/* ==========================================================================
   Carrello
   ========================================================================== */
.woocommerce-cart .rp-page__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: var(--rp-space-8);
  align-items: start;
}
.woocommerce-cart .woocommerce { display: contents; }
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .rp-empty--cart,
.woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; margin: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100%; float: none; margin: 0; }
.woocommerce-cart .cross-sells { grid-column: 1 / -1; width: 100%; float: none; margin-top: var(--rp-space-12); }

.woocommerce table.cart .product-thumbnail img {
  width: 84px;
  height: 84px;
  object-fit: contain;
  mix-blend-mode: multiply;
  background: var(--rp-img-placeholder);
}
.woocommerce table.cart td.product-name a {
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 15px;
  color: var(--rp-text);
  text-decoration: none;
  line-height: 1.3;
}
.woocommerce table.cart td.product-name a:hover { color: var(--rp-accent); }
/* Le scelte del configuratore, sotto il nome. */
.woocommerce table.cart td.product-name .variation,
.woocommerce table.cart td.product-name dl.variation {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--rp-muted);
}
.woocommerce table.cart td.product-name dl.variation dt { font-weight: 400; }
.woocommerce table.cart td.product-name dl.variation dd { margin: 0; }
.woocommerce table.cart td.product-name dl.variation dd p { margin: 0; }

.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal { font-variant-numeric: tabular-nums; white-space: nowrap; }
.woocommerce table.cart td.product-subtotal {
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
}

/* La "x" per togliere un articolo: 44px perche' e' un bersaglio da dito, e
   sul telefono sta in un angolo vicino ad altri comandi. */
.woocommerce table.cart td.product-remove a.remove {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 18px;
  color: var(--rp-muted-soft) !important;
  border-radius: var(--rp-radius-pill);
  text-decoration: none;
}
.woocommerce table.cart td.product-remove a.remove:hover { background: #fbeae6; color: var(--rp-danger) !important; }

.woocommerce .quantity input.qty {
  width: 76px;
  min-height: 44px;
  text-align: center;
  font: inherit;
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  border: 1px solid var(--rp-divider);
  background: var(--rp-surface);
  color: var(--rp-text);
  border-radius: var(--rp-radius);
}

.woocommerce table.cart td.actions { padding: 16px; background: var(--rp-bg); }
.woocommerce table.cart td.actions .coupon { display: flex; gap: var(--rp-space-2); float: none; }
.woocommerce table.cart td.actions .coupon label { display: none; }
.woocommerce table.cart td.actions .coupon .input-text {
  width: 220px;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--rp-divider);
  border-radius: var(--rp-radius);
  font: inherit;
  font-size: 14px;
}
.woocommerce table.cart td.actions > .button { float: none; margin-left: auto; }
@supports (display: grid) {
  .woocommerce table.cart td.actions { display: flex; align-items: center; gap: var(--rp-space-3); flex-wrap: wrap; }
}

/* Riepilogo */
.woocommerce .cart_totals {
  background: var(--rp-surface);
  border: 1px solid var(--rp-line);
  padding: var(--rp-space-6);
  position: sticky;
  top: var(--rp-space-6);
}
.woocommerce .cart_totals h2 {
  font-size: 18px;
  letter-spacing: 0;
  margin-bottom: var(--rp-space-4);
  padding-bottom: var(--rp-space-3);
  border-bottom: 1px solid var(--rp-line);
}
.woocommerce .cart_totals table.shop_table { border: 0; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--rp-divider);
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
  color: var(--rp-text);
}
.woocommerce .cart_totals table.shop_table th { font-size: 13px; color: var(--rp-muted); width: 45%; }
.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td {
  border-bottom: 0;
  padding-top: var(--rp-space-4);
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 18px;
  color: var(--rp-text);
}
.woocommerce .cart_totals tr.order-total .woocommerce-Price-amount { font-size: 22px; letter-spacing: -.02em; }
.woocommerce .cart_totals .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--rp-muted); }

.woocommerce .wc-proceed-to-checkout { padding: var(--rp-space-5) 0 0; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  font-size: 16px;
  background: var(--rp-accent);
  border-color: var(--rp-accent);
  color: #fff;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--rp-accent-600); }

.woocommerce .shipping-calculator-button { font-size: 13px; }
.woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce ul#shipping_method li { display: flex; align-items: center; gap: var(--rp-space-2); margin-bottom: 6px; font-size: 13px; }

/* ==========================================================================
   Cassa
   ========================================================================== */
.woocommerce-checkout .rp-page__content { max-width: none; }
.woocommerce .checkout.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: var(--rp-space-8) var(--rp-space-10);
  align-items: start;
}
.woocommerce .checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce .checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; font-size: 18px; }
.woocommerce .checkout #order_review { grid-column: 2; grid-row: 2; }

.woocommerce .checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: var(--rp-space-8); width: auto; }
.woocommerce .checkout .col2-set .col-1,
.woocommerce .checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce .checkout h3 {
  font-size: 20px;
  letter-spacing: -.01em;
  padding-bottom: var(--rp-space-3);
  border-bottom: 1px solid var(--rp-line);
  margin-bottom: var(--rp-space-5);
}
/* I campi affiancati dove WooCommerce lo prevede. */
.woocommerce .checkout .form-row-first,
.woocommerce .checkout .form-row-last { width: calc(50% - 9px); float: none; display: inline-flex; vertical-align: top; }
.woocommerce .checkout .form-row-first { margin-right: 14px; }

.woocommerce .checkout #order_review {
  background: var(--rp-surface);
  border: 1px solid var(--rp-line);
  padding: var(--rp-space-6);
  position: sticky;
  top: var(--rp-space-6);
}
.woocommerce .checkout table.woocommerce-checkout-review-order-table { border: 0; }
.woocommerce .checkout .woocommerce-checkout-review-order-table th,
.woocommerce .checkout .woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--rp-divider);
  font-size: 14px;
}
.woocommerce .checkout .woocommerce-checkout-review-order-table thead th {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--rp-muted);
}
.woocommerce .checkout .woocommerce-checkout-review-order-table .product-name { padding-right: var(--rp-space-3); }
.woocommerce .checkout .woocommerce-checkout-review-order-table .product-quantity { color: var(--rp-muted); }
.woocommerce .checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce .checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
  border-bottom: 0;
  padding-top: var(--rp-space-4);
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 18px;
}

/* Pagamenti */
.woocommerce #payment { background: transparent; border-radius: 0; }
.woocommerce #payment ul.payment_methods {
  border: 0;
  border-top: 1px solid var(--rp-line);
  padding: var(--rp-space-5) 0 0;
  margin: var(--rp-space-5) 0 0;
  list-style: none;
}
.woocommerce #payment ul.payment_methods li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rp-space-2);
  margin-bottom: var(--rp-space-3);
  font-size: 14px;
}
.woocommerce #payment ul.payment_methods li label { font-family: var(--rp-font-heading); font-weight: var(--rp-weight-heading); }
.woocommerce #payment div.payment_box {
  flex: 0 0 100%;
  background: var(--rp-accent-100);
  color: var(--rp-accent-800);
  font-size: 13px;
  border-radius: 0;
  margin: var(--rp-space-2) 0 0;
  padding: 14px 16px;
}
.woocommerce #payment div.payment_box::before { content: none; }
.woocommerce #payment .form-row.place-order { padding: var(--rp-space-5) 0 0; margin: 0; }
.woocommerce #payment #place_order {
  width: 100%;
  height: 56px;
  font-size: 16px;
  background: var(--rp-accent);
  border-color: var(--rp-accent);
  color: #fff;
}
.woocommerce #payment #place_order:hover { background: var(--rp-accent-600); }
.woocommerce-privacy-policy-text { font-size: 12px; color: var(--rp-muted); }
.woocommerce-terms-and-conditions-wrapper { font-size: 13px; }

/* Login e coupon in cima alla cassa */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--rp-space-4); }
.woocommerce form.login,
.woocommerce form.checkout_coupon {
  border: 1px solid var(--rp-line);
  border-radius: 0;
  padding: var(--rp-space-6);
  background: var(--rp-surface);
  margin: 0 0 var(--rp-space-6);
}

/* ==========================================================================
   Ordine ricevuto
   ========================================================================== */
.woocommerce .woocommerce-order { max-width: 900px; }
.woocommerce ul.woocommerce-order-overview,
.woocommerce ul.order_details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0;
  margin: var(--rp-space-6) 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--rp-line);
  background: var(--rp-surface);
}
.woocommerce ul.order_details li {
  border-right: 1px solid var(--rp-line);
  border-bottom: 0;
  margin: 0;
  padding: var(--rp-space-5);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rp-muted);
  float: none;
}
.woocommerce ul.order_details li:last-child { border-right: 0; }
.woocommerce ul.order_details li strong {
  display: block;
  margin-top: 6px;
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--rp-text);
}
.woocommerce .woocommerce-order-details__title,
.woocommerce .woocommerce-column__title { font-size: 20px; margin-top: var(--rp-space-8); }
.woocommerce .woocommerce-customer-details address {
  border: 1px solid var(--rp-line);
  border-radius: 0;
  padding: var(--rp-space-5);
  font-style: normal;
  font-size: 14px;
  line-height: 1.7;
  background: var(--rp-surface);
}

/* ==========================================================================
   Area cliente
   ========================================================================== */
.woocommerce-account .rp-page__content {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--rp-space-10);
  align-items: start;
}
.woocommerce-account .woocommerce { display: contents; }
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* Senza login la pagina mostra solo il modulo: niente colonne. */
.woocommerce-account:not(.logged-in) .rp-page__content { display: block; max-width: 460px; }

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: auto;
  float: none;
  background: var(--rp-surface);
  border: 1px solid var(--rp-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--rp-divider); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 18px;
  font-size: 14px;
  color: var(--rp-text);
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--rp-accent-100); color: var(--rp-accent); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--rp-accent);
  color: #fff;
  font-family: var(--rp-font-heading);
  font-weight: var(--rp-weight-heading);
}
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { font-size: 15px; color: var(--rp-muted); }

.woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--rp-space-5); }
.woocommerce .woocommerce-Address { width: auto; float: none; }
.woocommerce .woocommerce-Address-title { display: flex; align-items: baseline; gap: var(--rp-space-3); margin-bottom: var(--rp-space-3); }
.woocommerce .woocommerce-Address-title h2,
.woocommerce .woocommerce-Address-title h3 { font-size: 17px; margin: 0; }

.woocommerce table.woocommerce-orders-table td,
.woocommerce table.my_account_orders td { font-size: 14px; }
.woocommerce table.woocommerce-orders-table .button { padding: 9px 14px; font-size: 13px; }

.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.edit-account,
.woocommerce form.woocommerce-address-fields {
  border: 1px solid var(--rp-line);
  border-radius: 0;
  padding: var(--rp-space-6);
  background: var(--rp-surface);
}
.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme { margin-bottom: var(--rp-space-4); }
.woocommerce .woocommerce-LostPassword { font-size: 13px; margin: 0; }

.woocommerce .password-input { display: block; position: relative; }
.woocommerce .show-password-input { position: absolute; right: 12px; top: 13px; }
.woocommerce-password-strength { font-size: 12px; padding: 8px 10px; border: 0; }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { background: #fbeae6; color: var(--rp-danger); }
.woocommerce-password-strength.good,
.woocommerce-password-strength.strong { background: var(--rp-accent-2-100); color: var(--rp-accent-2-800); }

/* ==========================================================================
   Adattamenti
   ========================================================================== */
@media (max-width: 1100px) {
  .woocommerce-cart .rp-page__content,
  .woocommerce-account .rp-page__content { grid-template-columns: 1fr; }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { grid-column: 1; }
  .woocommerce .cart_totals,
  .woocommerce .checkout #order_review { position: static; }
  .woocommerce .checkout.woocommerce-checkout { grid-template-columns: 1fr; }
  .woocommerce .checkout #customer_details,
  .woocommerce .checkout #order_review_heading,
  .woocommerce .checkout #order_review { grid-column: 1; grid-row: auto; }
}

@media (max-width: 700px) {
  /* La tabella carrello diventa un elenco di schede. */
  .woocommerce table.cart thead { display: none; }
  .woocommerce table.cart,
  .woocommerce table.cart tbody,
  .woocommerce table.cart tr { display: block; }
  .woocommerce table.cart tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 4px var(--rp-space-4);
    padding: var(--rp-space-4);
    border-bottom: 1px solid var(--rp-divider);
  }
  .woocommerce table.cart tr.cart_item td { display: block; padding: 0; border: 0; }
  /* La "x" da 44px sta in alto a destra in posizione assoluta: senza questo
     spazio il nome del prodotto ci passa sotto per due righe. */
  .woocommerce table.cart tr.cart_item td.product-name { padding-right: 48px; }
  .woocommerce table.cart tr.cart_item td.product-remove { position: absolute; top: 10px; right: 10px; }
  .woocommerce table.cart tr.cart_item td.product-thumbnail { grid-row: 1 / span 4; }
  .woocommerce table.cart tr.cart_item td.product-thumbnail img { width: 84px; height: 84px; }
  .woocommerce table.cart tr.cart_item td.product-price { font-size: 13px; color: var(--rp-muted); }
  .woocommerce table.cart tr.cart_item td.product-quantity { margin-top: var(--rp-space-2); }
  .woocommerce table.cart tr.cart_item td.product-subtotal { margin-top: var(--rp-space-2); font-size: 16px; }
  .woocommerce table.cart td.actions { display: flex; flex-direction: column; align-items: stretch; }
  .woocommerce table.cart td.actions .coupon { flex-direction: column; }
  .woocommerce table.cart td.actions .coupon .input-text { width: 100%; }
  .woocommerce table.cart td.actions > .button { margin-left: 0; }

  .woocommerce .checkout .form-row-first,
  .woocommerce .checkout .form-row-last { width: 100%; margin-right: 0; }
  .woocommerce ul.order_details li { border-right: 0; border-bottom: 1px solid var(--rp-line); }
  .woocommerce ul.order_details li:last-child { border-bottom: 0; }
}


/* Sotto i 16px Safari su iOS ingrandisce la pagina al tocco del campo e non
   torna piu' indietro: su carrello, cassa e area cliente e' il momento
   peggiore in cui possa succedere. */
@media (max-width: 800px) {
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .woocommerce .quantity input.qty { font-size: 16px; }
}
