/**
 * La Cuccaia — acquisti e area cliente.
 * Usa i componenti nativi WooCommerce: account, carrello e checkout classico/a blocchi.
 */

body.lc-commerce-page .lc-page-shell {
  min-height: 65vh;
  padding-top: calc(var(--header-height) + clamp(2.5rem, 5vw, 5rem));
  padding-bottom: clamp(4rem, 7vw, 7rem);
}

body.lc-commerce-page .lc-page-header,
body.lc-commerce-page .lc-page-content {
  width: min(100%, 75rem);
  max-width: 75rem;
  min-width: 0;
}

body.lc-commerce-page .lc-page-header {
  margin-bottom: clamp(1.75rem, 3vw, 3rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}

body.lc-commerce-page .lc-page-title {
  font-size: clamp(2.75rem, 6vw, 6rem);
  overflow-wrap: anywhere;
}

body.lc-commerce-page .lc-page-content {
  color: var(--ink);
  font-size: 1rem;
}

body.lc-commerce-page #customer_login,
body.lc-commerce-page #lc-registration {
  scroll-margin-top: calc(var(--header-height) + 1.5rem);
}

body.lc-commerce-page .lc-commerce-intro {
  max-width: 42rem;
  margin: 1.25rem 0 0;
  color: var(--olive);
  font-size: 1rem;
}

body.lc-commerce-page .lc-page-header > .eyebrow {
  margin-bottom: 0.9rem;
}

body.lc-commerce-page .lc-commerce-back {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-top: 0.65rem;
  padding-block: 0.6rem;
  color: var(--forest);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.lc-commerce-page .lc-registration-policy-links {
  max-width: 52rem;
  margin: 0 0 1.75rem;
  padding: 0.9rem 1rem;
  border-left: 2px solid var(--olive);
  color: #52604f;
  background: var(--paper-bright);
  font-size: 0.88rem;
  line-height: 1.65;
}

body.lc-commerce-page .lc-page-content > .alignwide,
body.lc-commerce-page .lc-page-content > .alignfull {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

body.lc-commerce-page .woocommerce h2,
body.lc-commerce-page .woocommerce h3,
body.lc-commerce-page .woocommerce legend,
body.lc-commerce-page .wc-block-components-title,
body.lc-commerce-page .wc-block-components-checkout-step__title,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-status h1,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-status h2 {
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

body.lc-commerce-page .woocommerce h2 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

body.lc-commerce-page .woocommerce h3,
body.lc-commerce-page .woocommerce legend,
body.lc-commerce-page .wc-block-components-checkout-step__title {
  margin: 0 0 1.2rem;
  font-size: clamp(1.5rem, 2.3vw, 2rem);
}

/* Account: navigazione laterale e pannelli del profilo. */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 24%;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: 71%;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  background: var(--paper-bright);
  overflow-wrap: anywhere;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--line);
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  padding: 0.9rem 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--paper-bright);
  background: var(--forest);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover {
  background: var(--sand);
}

body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

body.woocommerce-account .lc-page-content > .woocommerce::after {
  display: block;
  clear: both;
  content: "";
}

body.lc-commerce-page .woocommerce .col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  width: 100%;
}

body.lc-commerce-page .woocommerce .col2-set::before,
body.lc-commerce-page .woocommerce .col2-set::after {
  display: none;
}

body.lc-commerce-page .woocommerce .col2-set .col-1,
body.lc-commerce-page .woocommerce .col2-set .col-2 {
  float: none;
  width: auto;
  min-width: 0;
}

body.lc-commerce-page .woocommerce form.login,
body.lc-commerce-page .woocommerce form.register,
body.lc-commerce-page .woocommerce form.lost_reset_password {
  margin: 0 0 2rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper-bright);
}

body.lc-commerce-page .woocommerce form.lost_reset_password {
  max-width: 42rem;
}

body.lc-commerce-page .woocommerce > form.login {
  max-width: 42rem;
}

body.lc-commerce-page .woocommerce form .form-row {
  min-width: 0;
  margin: 0 0 1.15rem;
  padding: 0;
}

body.lc-commerce-page .woocommerce form .form-row label {
  margin-bottom: 0.4rem;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.5;
}

body.lc-commerce-page .woocommerce form .form-row .input-text,
body.lc-commerce-page .woocommerce form .form-row select,
body.lc-commerce-page .woocommerce form .form-row textarea,
body.lc-commerce-page .woocommerce form .form-row input[type="password"],
body.lc-commerce-page .woocommerce .quantity .qty,
body.lc-commerce-page .woocommerce .coupon .input-text {
  min-height: 3rem;
  max-width: 100%;
  margin: 0;
  padding: 0.75rem 0.85rem;
  color: var(--ink);
  background: var(--paper-bright);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.5;
}

body.lc-commerce-page .woocommerce form .form-row textarea {
  min-height: 7rem;
  resize: vertical;
}

body.lc-commerce-page .woocommerce form .form-row input:focus,
body.lc-commerce-page .woocommerce form .form-row textarea:focus,
body.lc-commerce-page .woocommerce form .form-row select:focus {
  border-color: var(--forest);
}

body.lc-commerce-page .woocommerce form .form-row.woocommerce-invalid .input-text,
body.lc-commerce-page .woocommerce form .form-row.woocommerce-invalid select {
  border-color: #99412c;
}

body.lc-commerce-page .woocommerce form .form-row.woocommerce-invalid label,
body.lc-commerce-page .woocommerce .required {
  color: #99412c;
}

body.lc-commerce-page .woocommerce .password-input input {
  padding-right: 3rem !important;
}

body.lc-commerce-page .woocommerce .show-password-input {
  top: 0;
  right: 0;
  width: 3rem;
  min-height: 3rem;
  margin: 0;
  padding: 0.65rem;
  color: var(--ink);
  transform: none;
}

body.lc-commerce-page .woocommerce .woocommerce-password-strength {
  margin-top: 0.5rem;
  padding: 0.65rem;
  font-size: 0.85rem;
}

body.lc-commerce-page .woocommerce fieldset {
  min-width: 0;
  margin: 1.75rem 0;
  padding: 1.5rem 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}

body.lc-commerce-page .woocommerce legend {
  padding-right: 1rem;
}

body.lc-commerce-page .woocommerce .woocommerce-privacy-policy-text,
body.lc-commerce-page .woocommerce .woocommerce-password-hint {
  color: #52604f;
  font-size: 0.88rem;
  line-height: 1.65;
}

body.lc-commerce-page .woocommerce input[type="checkbox"],
body.lc-commerce-page .woocommerce input[type="radio"] {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  accent-color: var(--forest);
  vertical-align: middle;
}

body.lc-commerce-page .woocommerce .lc-registration-privacy label,
body.lc-commerce-page .woocommerce .woocommerce-form__label-for-checkbox {
  min-height: 2.75rem;
  padding-block: 0.55rem;
  font-weight: 400;
}

body.lc-commerce-page .woocommerce .lc-registration-privacy label {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

body.lc-commerce-page .woocommerce .lc-registration-privacy input[type="checkbox"] {
  margin: 0.15rem 0 0;
}

body.lc-commerce-page .woocommerce .woocommerce-form__label-for-checkbox > span {
  vertical-align: middle;
}

body.lc-commerce-page .select2-container {
  max-width: 100%;
}

body.lc-commerce-page .select2-container .select2-selection--single {
  height: 3rem;
  color: var(--ink);
  background: var(--paper-bright);
  border: 1px solid var(--line);
  border-radius: 0;
}

body.lc-commerce-page .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0.5rem 2rem 0.5rem 0.85rem;
  color: var(--ink);
  line-height: 1.9rem;
}

body.lc-commerce-page .select2-container .select2-selection--single .select2-selection__arrow {
  top: 0.65rem;
  right: 0.5rem;
}

/* Azioni e messaggi: colori del tema, focus visibile e target ampi. */
body.lc-commerce-page .woocommerce a.button,
body.lc-commerce-page .woocommerce button.button,
body.lc-commerce-page .woocommerce input.button,
body.lc-commerce-page .woocommerce #respond input#submit,
body.lc-commerce-page .wc-block-components-button:not(.is-link),
body.lc-commerce-page .wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  max-width: 100%;
  gap: 0.5rem;
  padding: 0.85rem 1.2rem;
  color: var(--paper-bright);
  background: var(--forest);
  border: 1px solid var(--forest);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--sans);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: normal;
  cursor: pointer;
}

body.lc-commerce-page .woocommerce a.button:hover,
body.lc-commerce-page .woocommerce button.button:hover,
body.lc-commerce-page .woocommerce input.button:hover,
body.lc-commerce-page .wc-block-components-button:not(.is-link):hover,
body.lc-commerce-page .wp-block-button .wp-block-button__link:hover {
  color: var(--paper-bright);
  background: var(--forest-deep);
  border-color: var(--forest-deep);
}

body.lc-commerce-page .woocommerce button.button:disabled,
body.lc-commerce-page .woocommerce button.button:disabled[disabled],
body.lc-commerce-page .wc-block-components-button:disabled {
  padding: 0.85rem 1.2rem;
  color: var(--paper-bright);
  background: var(--forest);
  opacity: 0.55;
  cursor: not-allowed;
}

body.lc-commerce-page .lc-page-content :focus-visible {
  outline: 3px solid var(--clay);
  outline-offset: 3px;
}

body.lc-commerce-page .woocommerce .woocommerce-error,
body.lc-commerce-page .woocommerce .woocommerce-info,
body.lc-commerce-page .woocommerce .woocommerce-message {
  margin: 0 0 1.5rem;
  padding: 1.1rem 1.25rem 1.1rem 3rem;
  color: var(--ink);
  background: var(--paper-bright);
  border: 1px solid var(--line);
  border-top: 3px solid var(--olive);
  font-size: 0.95rem;
  overflow-wrap: anywhere;
}

body.lc-commerce-page .woocommerce .woocommerce-error {
  border-top-color: #99412c;
}

body.lc-commerce-page .woocommerce .woocommerce-error::before {
  color: #99412c;
}

body.lc-commerce-page .woocommerce .woocommerce-info::before,
body.lc-commerce-page .woocommerce .woocommerce-message::before {
  color: var(--olive);
}

body.lc-commerce-page .woocommerce .woocommerce-error::before,
body.lc-commerce-page .woocommerce .woocommerce-info::before,
body.lc-commerce-page .woocommerce .woocommerce-message::before {
  top: 1.1rem;
  left: 1rem;
}

body.lc-commerce-page .wc-block-components-notice-banner {
  border-radius: 0;
  font-family: var(--sans);
}

/* Tabelle, indirizzi e riepilogo ordine. */
body.lc-commerce-page .woocommerce table.shop_table {
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.75rem;
  color: var(--ink);
  background: var(--paper-bright);
  border: 1px solid var(--line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 0;
  font-size: 0.95rem;
  overflow-wrap: anywhere;
}

body.lc-commerce-page .woocommerce table.shop_table th,
body.lc-commerce-page .woocommerce table.shop_table td {
  padding: 1rem;
  border-color: var(--line);
  line-height: 1.5;
}

body.lc-commerce-page .woocommerce table.shop_table thead th {
  color: #52604f;
  background: var(--paper);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

body.lc-commerce-page .woocommerce table.shop_table td .button {
  margin: 0.2rem;
  padding-inline: 0.8rem;
  font-size: 0.7rem;
}

body.lc-commerce-page .woocommerce table.shop_table .product-name a {
  font-family: var(--serif);
  font-size: 1.2rem;
  line-height: 1.2;
}

body.lc-commerce-page .woocommerce .quantity .qty {
  width: 5rem;
  padding-inline: 0.35rem;
}

body.lc-commerce-page .woocommerce a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0;
  font-size: 1.75rem;
}

body.lc-commerce-page .woocommerce .woocommerce-Address,
body.lc-commerce-page .woocommerce .woocommerce-customer-details address {
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper-bright);
  line-height: 1.8;
}

body.lc-commerce-page .woocommerce .woocommerce-Address-title {
  margin-bottom: 1rem;
}

body.lc-commerce-page .woocommerce .woocommerce-Address-title h2,
body.lc-commerce-page .woocommerce .woocommerce-Address-title h3 {
  margin-bottom: 0.75rem;
}

body.lc-commerce-page .woocommerce .woocommerce-Address-title .edit {
  display: inline-block;
  min-height: 2.75rem;
  padding-block: 0.5rem;
  font-size: 0.85rem;
}

body.lc-commerce-page .woocommerce ul.order_details {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  margin: 0 0 2rem;
  padding: 1.5rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}

body.lc-commerce-page .woocommerce ul.order_details li {
  float: none;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding-right: 1.5rem;
  border-right: 1px solid var(--line);
  color: #52604f;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

body.lc-commerce-page .woocommerce ul.order_details li strong {
  color: var(--ink);
  font-size: 1rem;
}

body.lc-commerce-page .woocommerce ul.order_details li:last-child {
  padding-right: 0;
  border-right: 0;
}

body.lc-commerce-page .woocommerce .woocommerce-order-details,
body.lc-commerce-page .woocommerce .woocommerce-customer-details {
  margin-top: 2.5rem;
}

body.lc-commerce-page .woocommerce .order-again {
  margin: 1.5rem 0;
}

/* Carrello classico e checkout: conservano calcoli e campi WooCommerce. */
body.lc-commerce-page .woocommerce .cart-collaterals .cart_totals {
  width: min(100%, 34rem);
  margin-top: 1rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  background: var(--paper-bright);
}

body.lc-commerce-page .woocommerce .cart-collaterals .cart_totals table {
  border: 0;
}

body.lc-commerce-page .woocommerce .cart .coupon .input-text {
  width: 12rem;
  max-width: 100%;
}

body.lc-commerce-page .woocommerce .wc-proceed-to-checkout {
  padding-bottom: 0;
}

body.lc-commerce-page .woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  width: 100%;
  margin-bottom: 0;
  font-size: 0.8rem;
}

body.lc-commerce-page .woocommerce form.checkout #customer_details {
  margin-bottom: 2.5rem;
}

body.lc-commerce-page .woocommerce #order_review_heading {
  margin-top: 2rem;
}

body.lc-commerce-page .woocommerce #payment {
  padding: clamp(1rem, 2.5vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper-bright);
}

body.lc-commerce-page .woocommerce #payment ul.payment_methods {
  padding: 0 0 1.25rem;
  border-bottom-color: var(--line);
}

body.lc-commerce-page .woocommerce #payment div.payment_box {
  color: var(--ink);
  background: var(--paper);
  border-radius: 0;
}

body.lc-commerce-page .woocommerce #payment div.payment_box::before {
  border-bottom-color: var(--paper);
}

body.lc-commerce-page .woocommerce #payment div.form-row {
  margin-bottom: 0;
  padding: 1.25rem 0 0;
}

body.lc-commerce-page .woocommerce #payment #place_order {
  min-width: 13rem;
  margin-top: 1rem;
}

/* Blocchi WooCommerce: manteniamo struttura e label flottanti native. */
body.lc-commerce-page .wc-block-components-sidebar-layout,
body.lc-commerce-page .wp-block-woocommerce-checkout,
body.lc-commerce-page .wp-block-woocommerce-cart {
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--ink);
  font-family: var(--sans);
}

body.lc-commerce-page .wc-block-components-main,
body.lc-commerce-page .wc-block-components-sidebar {
  min-width: 0;
}

body.lc-commerce-page .wc-block-components-sidebar .wc-block-components-panel,
body.lc-commerce-page .wc-block-checkout__order-notes,
body.lc-commerce-page .wc-block-components-order-summary,
body.lc-commerce-page .wc-block-components-totals-wrapper {
  border-color: var(--line);
}

body.lc-commerce-page .wc-block-checkout__sidebar,
body.lc-commerce-page .wc-block-cart__sidebar {
  color: var(--ink);
}

body.lc-commerce-page .wc-block-components-text-input input[type="text"],
body.lc-commerce-page .wc-block-components-text-input input[type="email"],
body.lc-commerce-page .wc-block-components-text-input input[type="tel"],
body.lc-commerce-page .wc-block-components-text-input input[type="password"],
body.lc-commerce-page .wc-block-components-textarea,
body.lc-commerce-page .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.lc-commerce-page .wc-block-components-form .wc-block-components-text-input input,
body.lc-commerce-page .wc-block-components-select .wc-block-components-select__select,
body.lc-commerce-page .wc-blocks-components-select .wc-blocks-components-select__select,
body.lc-commerce-page .wc-block-components-quantity-selector {
  color: var(--ink);
  background: var(--paper-bright);
  border-color: var(--line);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 1rem;
}

body.lc-commerce-page .wc-block-components-text-input label,
body.lc-commerce-page .wc-block-components-select label,
body.lc-commerce-page .wc-blocks-components-select label {
  color: #52604f;
}

body.lc-commerce-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
body.lc-commerce-page .wc-block-components-radio-control .wc-block-components-radio-control__input {
  border-color: var(--olive);
  accent-color: var(--forest);
}

body.lc-commerce-page .wc-block-components-radio-control-accordion-option,
body.lc-commerce-page .wc-block-components-radio-control__option,
body.lc-commerce-page .wc-block-components-radio-control--highlight-checked::after,
body.lc-commerce-page .wc-block-components-address-card,
body.lc-commerce-page .wp-block-woocommerce-checkout-order-summary-block,
body.lc-commerce-page .wc-block-components-checkout-step__container,
body.lc-commerce-page .wc-block-components-order-summary__content {
  border-radius: 0;
}

body.lc-commerce-page .wc-block-components-product-name {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.2rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

body.lc-commerce-page .wc-block-components-checkout-return-to-cart-button {
  min-height: 2.75rem;
  font-size: 0.9rem;
}

body.lc-commerce-page .wc-block-components-quantity-selector {
  min-height: 2.75rem;
}

body.lc-commerce-page .wc-block-components-quantity-selector button {
  min-height: 2.75rem;
}

body.lc-commerce-page .wp-block-woocommerce-order-confirmation-status,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-summary,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-totals-wrapper,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-billing-wrapper,
body.lc-commerce-page .wp-block-woocommerce-order-confirmation-shipping-wrapper {
  margin-bottom: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  background: var(--paper-bright);
}

@media (max-width: 900px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 28%;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 68%;
  }

  body.lc-commerce-page .woocommerce .woocommerce-Addresses {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  body.lc-commerce-page .lc-page-shell {
    padding-top: calc(var(--header-height) + 1.75rem);
    padding-bottom: 3rem;
  }

  body.lc-commerce-page .lc-page-title {
    font-size: clamp(2.65rem, 11vw, 4.5rem);
  }

  body.lc-commerce-page .lc-page-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 1.5rem;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border: 0;
    background: var(--line);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li {
    min-width: 0;
    border: 0;
    background: var(--paper);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    height: 100%;
    min-height: 2.9rem;
    padding: 0.7rem 0.8rem;
    font-size: 0.75rem;
    overflow-wrap: anywhere;
  }

  body.lc-commerce-page .woocommerce .col2-set {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  body.lc-commerce-page .woocommerce form .form-row-first,
  body.lc-commerce-page .woocommerce form .form-row-last {
    float: none;
    width: 100%;
  }

  body.lc-commerce-page .woocommerce .woocommerce-error .button,
  body.lc-commerce-page .woocommerce .woocommerce-info .button,
  body.lc-commerce-page .woocommerce .woocommerce-message .button {
    float: none;
    display: flex;
    width: fit-content;
    margin: 0 0 0.75rem;
  }

  body.lc-commerce-page .woocommerce table.shop_table {
    max-width: 100%;
    font-size: 0.9rem;
  }

  body.lc-commerce-page .woocommerce table.shop_table:not(.shop_table_responsive) {
    display: table;
    table-layout: fixed;
  }

  body.lc-commerce-page .woocommerce table.shop_table th,
  body.lc-commerce-page .woocommerce table.shop_table td {
    padding: 0.8rem;
  }

  body.lc-commerce-page .woocommerce table.shop_table_responsive {
    display: table;
  }

  body.lc-commerce-page .woocommerce table.shop_table_responsive tr td {
    min-height: 2.9rem;
  }

  body.lc-commerce-page .woocommerce table.shop_table_responsive tr td::before {
    max-width: 48%;
    padding-right: 0.5rem;
    text-align: left;
  }

  body.lc-commerce-page .woocommerce .cart .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    width: 100%;
  }

  body.lc-commerce-page .woocommerce .cart .coupon .input-text,
  body.lc-commerce-page .woocommerce .cart .coupon .button {
    width: 100%;
    margin: 0;
  }

  body.lc-commerce-page .woocommerce .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
  }

  body.lc-commerce-page .woocommerce #payment #place_order {
    float: none;
    width: 100%;
    min-width: 0;
  }

  body.lc-commerce-page .woocommerce ul.order_details {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  body.lc-commerce-page .woocommerce ul.order_details li {
    padding: 0 0 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  body.lc-commerce-page .woocommerce ul.order_details li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  body.lc-commerce-page .lc-page-content table.wc-block-cart-items {
    display: table;
    overflow: visible;
  }

  body.lc-commerce-page .wc-block-components-checkout-step {
    min-width: 0;
  }
}

@media (max-width: 480px) {
  /* Le colonne fisse WooCommerce superano la larghezza degli schermi da 320 px. */
  body.lc-commerce-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
    column-gap: 0.65rem;
  }

  body.lc-commerce-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image {
    padding-right: 0;
  }

  body.lc-commerce-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product {
    grid-column: 2;
    min-width: 0;
  }

  body.lc-commerce-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total {
    grid-column: 3;
  }

  body.lc-commerce-page .wc-block-cart .wc-block-cart-item__quantity {
    flex-wrap: wrap;
    max-width: 100%;
  }
}
