/**
 * Pavaintegra - single product styles
 *
 * Stili pagina prodotto singolo
 *
 * @package Pavaintegra
 * @since 1.0.0
 */

/* ==========================================================================
   FSE Layout Fix for Sticky Sidebar
   ========================================================================== */
.single-product .site-main,
.single-product .wp-site-blocks,
.single-product .entry-content,
.single-product .wp-block-group,
.single-product .wp-block-group__inner-container,
.single-product .is-layout-flow,
.single-product .is-layout-constrained,
.single-product [class*="wp-container-"],
.single-product .pava-single-product-page,
.single-product .pava-single-product-main {
  overflow: visible !important;
}

/* Reset Gutenberg layout classes that might interfere with sticky */
.single-product .pava-single-product-page.is-layout-flow,
.single-product .pava-single-product-main.is-layout-flow,
.single-product .site-main.is-layout-flow,
.single-product .wp-block-group.is-layout-flow {
  display: block !important;
}

/* Ensure the product container's parents don't constrain height */
.single-product .site-main,
.single-product .pava-single-product-main,
.single-product .pava-single-product-page {
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
}

/* ==========================================================================
   CSS Variables
   ========================================================================== */
.pava-product {
  --pava-accent-color: #21aa91;
}

/* ==========================================================================
   Product Layout - Desktop (>= 991px)
   ========================================================================== */
@media (min-width: 991px) {
  /* Ensure product container is a proper flex context for sticky */
  .pava-product {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 30px;
    position: relative;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  /* Right column - will be made sticky via JavaScript */
  .pava-product__summary {
    flex: 0 0 calc(50% - 15px);
    width: calc(50% - 15px);
    max-width: calc(50% - 15px);
    box-sizing: border-box;
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 0;
    align-self: flex-start;
    order: 2;
    z-index: 10;
  }

  /* Left column - main content that scrolls */
  .pava-product__sx {
    flex: 0 0 calc(50% - 15px);
    width: calc(50% - 15px);
    max-width: calc(50% - 15px);
    min-width: 0;
    box-sizing: border-box;
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 0;
    order: 1;
  }

  .pava-product__media .woocommerce-product-gallery,
  .pava-product__media .flex-viewport {
    max-width: 100%;
  }

  .pava-product__media .woocommerce-product-gallery__image img,
  .pava-product__media .woocommerce-product-gallery__image img.zoomImg {
    width: 100%;
    height: auto;
  }
}
ins {
  text-decoration: none !important;
}
/* ==========================================================================
   Product Layout - Mobile/Tablet (< 991px)
   ========================================================================== */
@media (max-width: 990px) {
  .pava-product {
    flex-direction: column;
    display: block !important;
  }

  .pava-product__summary {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    border-radius: 3px;
    border: 0;
    margin-bottom: 2rem;
    padding: 0;
  }

  .pava-product__sx {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 0;
    border: 0;
    margin-bottom: 2rem;
    padding: 0;
  }

  .woocommerce-product-gallery .flex-control-nav {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
  }

  .woocommerce-product-gallery .flex-control-nav li {
    margin: 0 4px;
  }

  .woocommerce-product-gallery,
  .woocommerce-product-gallery .flex-viewport {
    max-width: 100%;
  }

  .woocommerce-product-gallery__image img,
  .woocommerce-product-gallery__image img.zoomImg {
    width: 100%;
    height: auto;
  }
}

/* ==========================================================================
   Summary Options Box
   ========================================================================== */
.pava-product__summary__opzioni {
  border: 1px solid #e5e8ec;
  border-radius: 3px;
  padding: 1.25rem;
  position: relative;
}

/* ==========================================================================
   Title and Text
   ========================================================================== */
.pava-product__title {
  color: var(--pava-accent-color);
  font-size: 2rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 0.1em;
}

.pava-product__short-desc {
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 1.2rem;
}

.pava-product__short-desc p {
  margin-bottom: 15px;
}

.pava-product__rating {
  margin-bottom: 0.5rem;
}

.pava-product__caratt-img {
  margin-bottom: 0.5rem;
}

.pava-product__caratt-img img {
  max-width: 350px !important;
}

@media (max-width: 460px) {
  .pava-product__title {
    font-size: 1.75rem;
  }

  .pava-product__caratt-img img {
    max-width: 270px !important;
  }

  .pava-product__sx h2,
  .pava-product__summary h2 {
    font-size: 23px;
  }

  .pava-product__sx h3,
  .pava-product__summary h3 {
    font-size: 20px;
  }

  .pava-product__sx h4,
  .pava-product__summary h4 {
    font-size: 18px;
  }

  .pava-product__sx h5,
  .pava-product__summary h5 {
    font-size: 16px;
  }

  .pava-statico,
  .pava-dinamico {
    margin: 0.8rem 0;
  }

  .pava-product__summary {
    margin-bottom: 0.8rem;
  }
}

/* ==========================================================================
   Features List
   ========================================================================== */
.pava-product__features {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.pava-product__features ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pava-product__features li {
  position: relative;
  margin-bottom: 0.45em;
  padding-left: 1.8em;
}

.pava-product__features li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
  line-height: 1.4;
  color: var(--pava-accent-color);
}

/* ==========================================================================
   Price & Format
   ========================================================================== */
.pava-product__price-format {
  display: flex;
  align-items: flex-start;
  margin: 1.5rem 0;
  row-gap: 15px;
  flex-direction: column;
}

@media (max-width: 990px) {
  .pava-product__price-format {
    align-items: center;
  }
}

.pava-format {
  display: flex;
  align-items: center;
}

.pava-format img {
  width: 25px;
  height: 25px;
  margin-right: 0.5rem;
}

.pava-format span {
  vertical-align: middle;
  font-weight: 600;
}

/* Price styling */
.pava-prezzo-sconto {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-content: center;
  align-items: center;
}

.pava-omnibus-message {
  width: 100%;
}

.pava-product__price-format .pava-omnibus {
  margin: 0;
  color: #143b42;
  font-size: 0.95rem;
  line-height: 1.45;
}

.pava-product__price-format .pava-omnibus__tooltip {
  margin-left: 10px;
  margin-top: -4px;
  display: inline-block;
  vertical-align: middle;
  font-weight: 600;
}

.pava-product__price-format .pava-omnibus__tooltip i {
  cursor: pointer;
}

.pava-product__price-format .pava-omnibus__tooltip[tooltip] {
  position: relative;
}

.pava-product__price-format .pava-omnibus__tooltip[tooltip]::before,
.pava-product__price-format .pava-omnibus__tooltip[tooltip]::after {
  display: none;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  user-select: none;
}

.pava-product__price-format .pava-omnibus__tooltip[tooltip]::before {
  content: "";
  border: 5px solid transparent;
  bottom: 100%;
  border-bottom-width: 0;
  border-top-color: #143b42;
  left: 50%;
  transform: translateX(-50%);
}

.pava-product__price-format .pava-omnibus__tooltip[tooltip]::after {
  content: attr(tooltip);
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 3em;
  width: 250px;
  padding: 1ch 1.5ch;
  border-radius: 7px;
  box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
  background: #143b42;
  color: #fff;
  font-size: 0.9em;
  font-weight: 300;
  line-height: 1.35;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: left;
}

.pava-product__price-format .pava-omnibus__tooltip:hover::before,
.pava-product__price-format .pava-omnibus__tooltip:hover::after {
  display: block;
  opacity: 1;
}

@media (max-width: 640px) {
  .pava-product__price-format .pava-omnibus__tooltip[tooltip]::after {
    width: min(250px, calc(100vw - 40px));
  }
}

.pava-price ins .woocommerce-Price-amount,
.pava-product__price-format .pava-price .woocommerce-Price-amount {
  color: #21aa91;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.pava-price del .woocommerce-Price-amount {
  color: #bbbbbb !important;
  text-decoration: none;
  position: relative;
  font-size: 1.75rem;
  font-weight: 700;
}

.pava-price del .woocommerce-Price-amount:before {
  content: "";
  display: block;
  width: 100%;
  border-top: 2px solid #888;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(-7deg);
}

.pava-price del,
.pava-price del .woocommerce-Price-amount,
.pava-product .single_variation_wrap .woocommerce-variation-price .price del {
  text-decoration: none !important;
}

/* Variazioni */
.pava-product
  .single_variation_wrap
  .price
  del
  .woocommerce-Price-amount:before {
  content: "";
  display: block;
  width: 100%;
  border-top: 2px solid #888;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(-7deg);
}

.pava-product .single_variation_wrap .price del .woocommerce-Price-amount {
  position: relative;
}

.pava-product .single_variation_wrap .price ins .woocommerce-Price-amount,
.pava-product .single_variation_wrap .price .woocommerce-Price-amount {
  color: #21aa91;
  font-size: 1.75rem;
  font-weight: 700;
}

.pava-product .single_variation_wrap .price del .woocommerce-Price-amount {
  color: #bbbbbb !important;
  font-size: 1.75rem;
  font-weight: 700;
}

/* ==========================================================================
   label badge
   ========================================================================== */
.label {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 600;
}

.pava-prezzo-sconto .label.sconto {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #143b42;
  padding: 5px 15px;
  border-radius: 100px;
  color: #fff;
  font-style: italic;
  background-color: #143b42;
}

.pava-prezzo-sconto .label.sconto i {
  margin-right: 6px;
}

.risparmia .label,
.wcsatt-options-prompt-text .label {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #222;
  padding: 5px 15px;
  border-radius: 100px;
  color: #143b42;
  margin-bottom: 10px;
  font-style: italic;
}

.risparmia .label i,
.wcsatt-options-prompt-text .label i {
  margin-right: 6px;
}

.label.metodi-pagamento {
  font-weight: 600;
  font-size: 18px;
  text-align: center;
  margin: 0 0 20px 0;
  padding: 0 !important;
}

/* ==========================================================================
   opzioni iscriviti e risparmia
   ========================================================================== */
.pava-subscription-options .risparmia,
.wcsatt-options-product-prompt {
  background-color: #e6f7f3;
  padding: 1rem;
}

.pava-subscription-options .risparmia span.risparmia__txt,
.wcsatt-options-product-prompt span.abbonati {
  font-size: 1rem;
  font-weight: 600;
  color: #143b42;
}

.pava-subscription-options .risparmia span.risparmia__txt a,
.wcsatt-options-product-prompt span.abbonati a {
  text-decoration: underline;
  font-size: 1rem;
  font-weight: 600;
  color: #143b42;
}

/* ==========================================================================
   Add to Cart Section
   ========================================================================== */
.carrello-pava {
  display: flex;
  align-items: center;
  gap: clamp(10px, 2vw, 16px);
  margin: 1rem 0;
  width: 100%;
  flex-wrap: nowrap;
}

.single-product .pava-product form.cart .carrello-pava {
  display: flex;
  align-items: center;
  gap: clamp(10px, 2vw, 16px);
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
}

.carrello-pava .quantity,
.carrello-pava .single_add_to_cart_button,
.carrello-pava .pava-wishlist-button-inline {
  float: none !important;
  margin: 0 !important;
}
.toast-error {
  background-color: #ff6900 !important;
}
.toast-success {
  background-color: #23af95 !important;
}

.carrello-pava .single_add_to_cart_button {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #21aa91 !important;
  background-color: #21aa91;
  border-color: #21aa91 !important;
  border-radius: 100px;
  color: #fff !important;
  letter-spacing: 1px !important;
  padding: 13px clamp(16px, 4vw, 50px);
  border-width: 1px;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 1 !important;
  white-space: nowrap;
}

.carrello-pava .single_add_to_cart_button:hover,
.carrello-pava .single_add_to_cart_button:focus {
  background: #ffffff !important;
  background-color: #ffffff;
  border-color: var(--wp--preset--color--secondario-primo-piano) !important;
  border-radius: 100px !important;
  color: var(--wp--preset--color--secondario-primo-piano) !important;
  letter-spacing: 1px;
  border-width: 1px !important;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 1 !important;
  border: 1px solid var(--wp--preset--color--secondario-primo-piano) !important;
}

.single-product .carrello-pava .added_to_cart.wc-forward {
  display: none !important;
}

.single-product .pava-product form.cart .added_to_cart.wc-forward {
  display: none !important;
}

/* quantita pill */
.single-product .carrello-pava .quantity {
  flex: 0 1 140px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: clamp(116px, 26vw, 140px);
  max-width: 140px;
  min-width: 116px;
  padding: 10px 12px;
  border: 2px solid #e5e8ec;
  border-radius: 999px;
  background: #ffffff;
  gap: 8px;
}

.single-product .carrello-pava .quantity .qty {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: var(--wp--preset--color--secondario-primo-piano);
  -moz-appearance: textfield;
  appearance: textfield;
}

.single-product .carrello-pava .quantity .qty::-webkit-outer-spin-button,
.single-product .carrello-pava .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single-product .carrello-pava .quantity .qty:focus {
  outline: none;
}

.single-product .carrello-pava .quantity .qty-minus,
.single-product .carrello-pava .quantity .qty-plus {
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--secondario-primo-piano);
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  border-radius: 0;
  transition: color 0.2s ease;
}

.single-product .carrello-pava .quantity .qty-minus:hover,
.single-product .carrello-pava .quantity .qty-plus:hover {
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--secondario-primo-piano);
}

.carrello-pava .pava-wishlist-button-inline {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  font-size: 1.2em;
  color: var(--pava-accent-color);
}

.carrello-pava .wlfmc-add-button {
  border-radius: 100% !important;
  text-align: center !important;
  border: 1px solid #e5e8ec !important;
  padding: 5px !important;
}

.pava-wishlist-button-inline
  .wlfmc-single-btn:not(.is-elementor)
  .wlfmc-add-button
  > a
  i {
  color: #21aa91 !important;
}

.pava-wishlist-button-inline
  .wlfmc-single-btn:not(.is-elementor)
  .wlfmc-add-button
  > a {
  border-color: transparent !important;
  background-color: transparent !important;
  height: 35px !important;
  width: 35px !important;
}

@media (max-width: 767px) {
  .single-product .pava-product form.cart .carrello-pava {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "qty qty"
      "add wish";
    align-items: center;
    gap: 10px;
  }

  .single-product .carrello-pava .quantity {
    grid-area: qty;
    width: 94%;
    max-width: 100%;
    min-width: 0;
    padding: 10px 14px;
  }

  .single-product .carrello-pava .single_add_to_cart_button {
    grid-area: add;
    width: 100%;
    min-width: 0;
    padding: 12px 16px;
  }

  .single-product .carrello-pava .pava-wishlist-button-inline {
    grid-area: wish;
    justify-self: end;
  }

  .single-product
    .carrello-pava
    .pava-wishlist-button-inline
    .wlfmc-single-btn:not(.is-elementor)
    .wlfmc-add-button
    > a {
    width: 42px !important;
    height: 42px !important;
  }
}

/* Variations */
.pava-product .reset_variations {
  display: block !important;
  margin-top: 10px;
}

.pava-product .variations {
  width: 100%;
  margin-bottom: 1rem;
}

.pava-product .variations tr {
  display: flex;
  flex-direction: column;
}

.pava-product .variations th.label label {
  font-weight: 600;
}

.pava-product .variations th.label {
  padding: 0 0 5px 0;
  font-size: 1em;
}

.pava-product .variations td {
  padding: 0;
}

.pava-product .variations select {
  width: 100%;
  padding: 10px;
  border: 1px solid #e5e8ec;
  border-radius: 4px;
}
.woocommerce table.variations {
    display: flex;
    flex-direction: column;
}
/* ==========================================================================
   Lead Magnets
   ========================================================================== */
.pava-lead-magnets {
  list-style: none;
  margin: 0;
  padding: 1rem 0;
}

.pava-lead-magnets li {
  position: relative;
  padding-left: 1.8em;
  margin-bottom: 0.75em;
  color: #143b42;
  font-size: 14px;
}

.pava-lead-magnets_spedizione::before {
  content: "\f0d1";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 0.9em;
  line-height: 1;
}

.pava-lead-magnets_assistenza::before {
  content: "\f025";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 0.9em;
  line-height: 1;
}

.pava-lead-magnets_cod::before {
  content: "\f53a";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 0.9em;
  line-height: 1;
}

/* ==========================================================================
   Social Share
   ========================================================================== */
.pava-social-share {
  margin-bottom: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-content: center;
}

.pava-social-share__label {
  line-height: 2em;
  font-size: 14px;
  font-weight: 500;
  color: #143b42;
}

/* ==========================================================================
   nutratest + ministero box
   ========================================================================== */
.pava-product__summary__nutratest,
.pava-product__summary__nutratest-mb,
.pava-product__summary__ministero,
.pava-product__summary__ministero-mb {
  display: none;
  border: 1px solid #e5e8ec;
  border-radius: 3px;
  padding: 1rem;
  position: relative;
  margin-top: 1rem;
  align-items: center;
}

@media (min-width: 991px) {
  .pava-product__summary__nutratest,
  .pava-product__summary__ministero {
    display: flex;
  }

  .pava-product__summary__nutratest-mb,
  .pava-product__summary__ministero-mb {
    display: none;
  }
}

@media (max-width: 990px) {
  .pava-product__summary__nutratest,
  .pava-product__summary__ministero {
    display: none;
  }

  .pava-product__summary__nutratest-mb,
  .pava-product__summary__ministero-mb {
    display: flex;
    margin: 2rem 0;
  }
}

.pava-product__summary__nutratest .nutratest-icon,
.pava-product__summary__nutratest-mb .nutratest-icon,
.pava-product__summary__ministero .ministero-icon,
.pava-product__summary__ministero-mb .ministero-icon {
  flex-shrink: 0;
  margin-right: 12px;
}

.pava-product__summary__nutratest .nutratest-icon img,
.pava-product__summary__nutratest-mb .nutratest-icon img {
  display: block;
  width: 48px;
  height: auto;
}

.pava-product__summary__ministero .ministero-icon img,
.pava-product__summary__ministero-mb .ministero-icon img {
  display: block;
  width: 24px;
  height: auto;
}

.pava-product__summary__nutratest .nutratest-text .nutratest-text__aiuto,
.pava-product__summary__nutratest-mb .nutratest-text .nutratest-text__aiuto {
  font-size: 1rem;
  font-weight: 600;
  color: #143b42;
}

.pava-product__summary__nutratest .nutratest-text .nutratest-text__scopri,
.pava-product__summary__nutratest-mb .nutratest-text .nutratest-text__scopri,
.pava-product__summary__ministero .ministero-text .ministero-text__scopri,
.pava-product__summary__ministero-mb .ministero-text .ministero-text__scopri {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--wp--preset--color--secondario-primo-piano);
}

.pava-product__summary__nutratest .nutratest-text .nutratest-text__cta,
.pava-product__summary__nutratest-mb .nutratest-text .nutratest-text__cta {
  font-size: 1rem;
  font-weight: 700;
  color: #21aa91;
  text-decoration: underline;
}

/* ==========================================================================
   Gallery Visibility
   ========================================================================== */
@media (min-width: 991px) {
  .pava-media--mobile {
    display: none;
  }

  .pava-media--desktop {
    display: block;
  }
}

@media (max-width: 990px) {
  .pava-media--desktop {
    display: none;
  }

  .pava-media--mobile {
    display: block;
    margin-bottom: 1.5rem;
  }
}

/* ==========================================================================
   Product Gallery & FlexSlider
   ========================================================================== */
.pava-product__media {
  position: relative;
}

.pava-product__media .woocommerce-product-gallery {
  margin: 0;
}

.pava-product__gallery-slider {
  margin-bottom: 2rem;
}

/* FlexSlider base styles */
.woocommerce-product-gallery {
  height: auto !important;
  position: relative;
}

.woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image a img,
.woocommerce-product-gallery__image img.zoomImg {
  cursor: crosshair !important;
}

.single-product .woocommerce-product-gallery__image.flex-active-slide,
.woocommerce-product-gallery__image.flex-active-slide {
  margin-right: 4px !important;
}

/* FlexSlider thumbnails */
.woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 10px;
  display: flex;
  list-style: none;
  padding: 0;
}

.woocommerce-product-gallery .flex-control-thumbs li {
  float: left;
  max-width: 80px;
  margin-bottom: 10px;
  padding: 0 5px;
  cursor: pointer;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  padding: 3px;
  border: 2px solid transparent;
  transition: border-color 0.2s ease;
}

.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: var(--pava-accent-color, #21aa91);
}

@media (min-width: 992px) {
  .woocommerce-product-gallery:before,
  .woocommerce-product-gallery:after {
    content: "";
    display: block;
    clear: both;
  }

  .woocommerce-product-gallery .flex-control-thumbs li {
    position: relative;
    float: none;
    display: inline-block;
    width: auto;
    vertical-align: middle;
    margin-bottom: 0;
    padding: 0 10px 0 0;
    max-width: 150px;
  }
}

/* Hide FlexSlider navigation arrows and dots - use only thumbnails */
.woocommerce-product-gallery .flex-direction-nav,
.woocommerce-product-gallery .flex-control-nav:not(.flex-control-thumbs),
.woocommerce-product-gallery .flex-control-paging {
  display: none !important;
}

/* ==========================================================================
   Static & Dynamic Sections
   ========================================================================== */
.pava-statico,
.pava-dinamico {
  margin: 2rem 0;
}

.pava-statico h2,
.pava-dinamico h2,
.pava-statico h3,
.pava-dinamico h3,
.pava-statico h4,
.pava-dinamico h4,
.pava-statico h5,
.pava-dinamico h5 {
  font-weight: 500;
}

.pava-product__sx #descrizione b,
.pava-product__sx #descrizione strong {
  color: var(--pava-accent-color);
}

.pava-product__sx img.scheda-interna {
  margin: 0.5em 0 1rem 0;
}

.pava-statico.descrizione ul {
  padding: 5px 5px 15px 17px !important;
}

/* Sezioni aperte container */
.pava-sezioni-aperte {
  border: 1px solid #e5e8ec;
  border-radius: 3px;
  padding: 1.25rem;
  position: relative;
}

/* ==========================================================================
   Dynamic Expandable Sections (Ingredienti, Avvertenze)
   ========================================================================== */
.pava-dinamico {
  margin-bottom: 2rem;
}

.pava-dinamico__wrap {
  border: 1px solid #e5e8ec;
  border-radius: 3px;
  padding: 1.25rem;
  position: relative;
}

/* Preview (shows first X pixels with fade) */
.pava-dinamico__preview {
  max-height: 180px;
  overflow: hidden;
  position: relative;
}

.pava-dinamico__preview::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 90%);
  pointer-events: none;
}

/* Full content hidden by default */
.pava-dinamico__content {
  display: none;
}

/* Toggle link */
.pava-dinamico__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #21aa91 !important;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  margin-top: 1rem;
  cursor: pointer;
}

.pava-dinamico__toggle:hover {
  color: #1a8a76 !important;
}

.pava-dinamico__icon {
  transition: transform 0.25s;
}

/* Open state */
.pava-dinamico.is-open .pava-dinamico__preview {
  display: none;
}

.pava-dinamico.is-open .pava-dinamico__content {
  display: block;
}

.pava-dinamico.is-open .pava-dinamico__icon {
  transform: rotate(180deg);
}

/* ==========================================================================
   FAQ Accordion (Yoast FAQ Block)
   ========================================================================== */
.wp-block-yoast-faq-block {
  width: 100%;
  border-bottom: 1px solid #e5e8ec;
}

.schema-faq-section {
  width: 100%;
  text-align: left;
  border: 1px solid #e5e8ec;
  border-bottom: 0;
}

.schema-faq-question {
  cursor: pointer;
  display: block;
  width: 100%;
  text-align: left;
  padding: 15px 10px;
  font-size: 18px;
  font-weight: 600;
}

.schema-faq-question:before {
  width: 20px;
  height: 24px;
  display: inline-block;
  content: "+";
  margin-right: 5px;
  vertical-align: top;
  color: #21aa91;
  font-size: 24px;
}

.schema-faq-question.collapse:before {
  content: "-";
  color: #21aa91;
}

.schema-faq-question:hover {
  color: #21aa91;
}

.schema-faq-answer {
  display: none;
  padding-left: 1em;
  margin-bottom: 0;
  padding-bottom: 30px;
}

.schema-faq-answer.collapse {
  display: block;
}

/* ==========================================================================
   Reviews & Related Products (Full Width)
   ========================================================================== */
.widget-faq-container .widget-faq-titolo,
.pava-reviews-fullwidth .pava-reviews-heading,
.correlati-fullwidth .pava-correlati-heading {
  text-align: center;
  font-weight: 500;
}

.cr-ajax-reviews-cus-images-div {
  display: none;
}

#reviews .cr-summaryBox-wrap .ivole-summaryBox,
.cr-all-reviews-shortcode .cr-summaryBox-wrap .ivole-summaryBox {
  width: 25% !important;
  flex: 1 0 25% !important;
}

#reviews .cr-summaryBox-wrap .cr-overall-rating-wrap,
.cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-overall-rating-wrap {
  width: 25% !important;
  flex: 0 0 25% !important;
}

@media (max-width: 990px) {
  #reviews .cr-summaryBox-wrap .cr-overall-rating-wrap,
  .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-overall-rating-wrap {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ==========================================================================
   Internal Lists
   ========================================================================== */
ul.elenchi_interni,
ul.elenchi_interni_freccia {
  list-style: none;
  margin-bottom: 30px;
  padding: 0;
}

ul.elenchi_interni li,
ul.elenchi_interni_freccia li {
  position: relative;
  margin-bottom: 0.45em;
  padding-left: 1.8em;
}

ul.elenchi_interni li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
  line-height: 1.4;
  color: var(--pava-accent-color);
}

ul.elenchi_interni_freccia li::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
  line-height: 1.4;
  color: #0a0a0a;
}

/* ==========================================================================
   Payment Methods
   ========================================================================== */
.pava-metodi-pagamento {
  margin-top: 1rem;
}

.pava-payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

.pava-payment-icons img {
  height: 25px;
  width: auto;
}

/* Klarna */
klarna-placement::part(osm-container) {
  border: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Promo Banner
   ========================================================================== */
.pava-banner-promo {
  margin-bottom: 1rem;
}

.pava-banner-promo img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/* ==========================================================================
   PhotoSwipe Gallery Lightbox
   ========================================================================== */
.pswp__bg {
  background: rgba(0, 0, 0, 0.6);
}

.pswp__bg,
.pswp__img--placeholder--blank {
  background: rgba(255, 255, 255, 0.96);
}

.pswp__top-bar {
  background-color: transparent;
  top: 10px;
  padding-right: 10px;
}

.pswp__counter {
  color: inherit;
}

.pswp__caption {
  display: none;
}

button.pswp__button {
  width: 40px;
  height: 40px;
  background-image: none !important;
  color: inherit;
}

button.pswp__button svg {
  width: 20px;
  height: 20px;
  position: relative;
  z-index: -1;
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  margin-top: -20px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

.pswp__button--arrow--left {
  left: 20px;
}

.pswp__button--arrow--right {
  right: 20px;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background-image: none;
  display: none;
  height: 0;
  width: 0;
}

button.pswp__button--arrow--left svg,
button.pswp__button--arrow--right svg {
  height: 24px;
  width: 24px;
}

@media all and (max-width: 767px) {
  .single-product .pswp__button--arrow--left svg,
  .single-product .pswp__button--arrow--right svg {
    width: 24px;
    height: 24px;
  }
}

/* ==========================================================================
   YouTube Custom Player
   ========================================================================== */
.yt-custom {
  position: relative;
  padding-top: 56.25%;
  background: #222 center/cover no-repeat;
  border-radius: 3px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  margin: 10px 0 25px 0;
}

.yt-custom::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  transition: opacity 0.25s;
  pointer-events: none;
}

.yt-custom:hover::before {
  opacity: 0.45;
}

.yt-custom.is-playing::before {
  display: none;
}

/* Thumbnail container */
.yt-custom__thumbnail {
  position: absolute;
  inset: 0;
  background: center/cover no-repeat;
  cursor: pointer;
}

/* Play button */
.yt-custom__play,
.yt-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 74px;
  height: 74px;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: transform 0.25s;
  z-index: 2;
}

.yt-custom__play:hover,
.yt-play:hover {
  transform: scale(1.08);
}

/* Play button with SVG (new style) */
.yt-custom__play svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

/* Play button with CSS triangle (old style) */
.yt-play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-35%, -50%);
  border-style: solid;
  border-width: 18px 0 18px 30px;
  border-color: transparent transparent transparent #fff;
}

/* Iframe */
.yt-custom iframe,
.yt-custom__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==========================================================================
   Misc
   ========================================================================== */
.prezzo-loop .wcsatt-sub-options,
.prezzo-loop .wcsatt-sub-discount {
  display: none !important;
}

.pava-product__tabs {
  margin: 2rem 0;
}

/* ==========================================================================
   Hide Gallery Trigger (magnifying glass icon)
   ========================================================================== */
.woocommerce-product-gallery__trigger {
  display: none !important;
}

/* ==========================================================================
   Bulk Discount Table (WooCommerce Discount Rules)
   ========================================================================== */
.awdr-bulk-customizable-table table {
  border: 1px solid #e5e8ec;
  border-collapse: collapse;
  margin: 0 0 15px 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.awdr-bulk-customizable-table table caption {
  font-size: 1.3em;
  margin: 0.5em 0 0.75em;
}

.awdr-bulk-customizable-table table tr {
  background-color: #e5e8ec4a;
  border: 1px solid #e5e8ec;
  padding: 0.35em;
}

.awdr-bulk-customizable-table table th,
.awdr-bulk-customizable-table table td {
  padding: 0.5em;
}

.awdr-bulk-customizable-table table th {
  font-size: 0.85em;
  text-transform: uppercase;
  color: #143b42;
  text-align: left;
}

.awdr-bulk-customizable-table table td {
  border-bottom: 2px solid #e5e8ec !important;
  font-size: 0.95em;
}

.awdr-bulk-customizable-table p {
  margin: 15px auto;
}

@media screen and (max-width: 600px) {
  .awdr-bulk-customizable-table table {
    border: 0;
  }
}

/* Risparmia / Formula cnovenienza Box soldout variazioni*/ 
.pava-subscription-options .risparmia,
.risparmia,
.wcsatt-options-product-prompt {
  background-color: #e6f7f3;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 3px;
}

.pava-subscription-options .risparmia span.risparmia__txt,
.risparmia span.risparmia__txt,
.wcsatt-options-product-prompt span.abbonati {
  font-size: 1rem;
  font-weight: 600;
  color: #143b42;
}

.pava-subscription-options .risparmia span.risparmia__txt a,
.risparmia span.risparmia__txt a,
.wcsatt-options-product-prompt span.abbonati a {
  text-decoration: underline;
  font-size: 1rem;
  font-weight: 600;
  color: #143b42;
}

.risparmia .label,
.wcsatt-options-prompt-text .label {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #222;
  padding: 5px 15px;
  border-radius: 100px;
  color: #143b42;
  margin-bottom: 10px;
  font-style: italic;
}

.risparmia .label i,
.wcsatt-options-prompt-text .label i {
  margin-right: 6px;
}
.single_variation_wrap .out-of-stock{
    color: var(--wp--preset--color--evidenza);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.15em;
    text-align: center;
    background: #ffe2cd;
    padding: 5px;
    border-radius: 5px;
}

/* ==========================================================================
   Customer Reviews Plugin
   ========================================================================== */
.cr-all-reviews-shortcode
  .cr-summaryBox-wrap
  .cr-add-review-wrap
  .cr-all-reviews-add-review,
.cr-reviews-grid
  .cr-summaryBox-wrap
  .cr-add-review-wrap
  .cr-all-reviews-add-review {
  background-color: #21aa91;
  text-transform: uppercase;
}

.cr-all-reviews-shortcode
  .cr-summaryBox-wrap
  .cr-add-review-wrap
  .cr-all-reviews-add-review:hover,
.cr-reviews-grid
  .cr-summaryBox-wrap
  .cr-add-review-wrap
  .cr-all-reviews-add-review:hover {
  background-color: #143b42;
}

.cr-all-reviews-shortcode .cr-ajax-search {
  display: none !important;
}

#cr_qna.cr-qna-block .cr-input-text:focus,
.cr-ajax-search input[type="text"]:focus {
  box-shadow: 0 0 0 1pt #21aa91;
}

.cr-all-reviews-shortcode
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit,
.cr-ajax-reviews-review-form
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit,
.cr-reviews-grid
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit {
  background-color: #21aa91;
}

.cr-all-reviews-shortcode
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit:hover,
.cr-ajax-reviews-review-form
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit:hover,
.cr-reviews-grid
  .cr-review-form-wrap
  .cr-review-form-buttons
  .cr-review-form-submit:hover {
  background-color: #143b42;
}

.cr-all-reviews-add-review {
  border-radius: 100px !important;
}

#reviews .cr-summaryBox-wrap .ivole-summaryBox,
.cr-all-reviews-shortcode .cr-summaryBox-wrap .ivole-summaryBox {
  width: 25% !important;
  flex: 1 0 25% !important;
}

#reviews .cr-summaryBox-wrap .cr-overall-rating-wrap,
.cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-overall-rating-wrap {
  width: 25% !important;
  flex: 0 0 25% !important;
}

@media (max-width: 990px) {
  #reviews .cr-summaryBox-wrap .cr-overall-rating-wrap,
  .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-overall-rating-wrap {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ==========================================================================
   Discount Badge (Sale Badge)
   ========================================================================== */
.pi-badge-container-prod {
  z-index: 1;
  position: absolute;
  margin: 0px 10px 10px 12px;
  left: 0;
  text-align: right;
}

.pi-left-badge-wrap,
.pi-right-badge-wrap {
  text-align: center;
}

.pi-sale-badge,
.pi-left-badge.pi-sale-badge {
  font-family: "Open Sans", Sans-serif;
  font-size: 16px;
  font-weight: 700;
  min-height: 50px;
  min-width: 50px;
  line-height: 50px;
  color: var(--wp--preset--color--secondario-primo-piano);
  margin-bottom: 5px;
  background-color: #21aa917d !important;
  border-radius: 100%;
}

.pi-left-badge,
.pi-right-badge {
  display: inline-block;
}

/* ==========================================================================
   Product Rating
   ========================================================================== */
.pava-product__rating {
  margin-bottom: 0.5rem;
}

.pava-product__rating a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
}

.pava-product__rating .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
}

.pava-product__rating .star-rating {
  font-size: 14px;
  color: #f5c518;
}

.pava-product__rating .woocommerce-review-link {
  font-size: 14px;
  color: #666;
  text-decoration: none;
}

.pava-product__rating .woocommerce-review-link:hover {
  color: #21aa91;
  text-decoration: underline;
}

/* WooCommerce star rating default styling */
.woocommerce .star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1em;
  width: 5.4em;
  font-family: star;
}

.woocommerce .star-rating::before {
  content: "sssss";
  color: #d3ced2;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.woocommerce .star-rating span::before {
  content: "SSSSS";
  top: 0;
  position: absolute;
  left: 0;
  color: #f5c518;
}

/* ==========================================================================
   Rating Alignment Fix
   ========================================================================== */
.pava-product__rating a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}

.pava-product__rating .star-rating {
  display: inline-block;
  vertical-align: middle;
}

.pava-product__rating .review-count {
  font-size: 14px;
  color: #666;
  vertical-align: middle;
}

/* ==========================================================================
   Main Content Wrapper - Max Width
   ========================================================================== */
.pava-single-product-page {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 20px;
}

.pava-single-product-main {
  display: block;
}

.pava-single-product-page .content-area,
.pava-single-product-page .site-main,
.pava-single-product-page .pava-single-product-main {
  max-width: 100%;
}

/* General page/post content wrapper */
.site-main,
.entry-content,
.wp-block-group.is-layout-flow > .wp-block-group__inner-container {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}

/* Full-width sections wrapper (outside flex container) */
.pava-product-fullwidth-sections {
  width: 100%;
  display: block;
}

/* Ensure full-width sections can break out */
.pava-reviews-fullwidth,
.correlati-fullwidth,
.faq-fullwidth {
  position: relative;
  max-width: none;
  width: auto;
  left: auto;
  right: auto;
  margin-left: calc(50% - 50vw + ((100vw - 100%) / 2));
  margin-right: calc(50% - 50vw + ((100vw - 100%) / 2));
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  overflow-x: clip;
}

.pava-reviews-fullwidth,
.correlati-fullwidth {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

@supports (width: 100dvw) {
  .pava-reviews-fullwidth,
  .correlati-fullwidth,
  .faq-fullwidth {
    margin-left: calc(50% - 50dvw + ((100dvw - 100%) / 2));
    margin-right: calc(50% - 50dvw + ((100dvw - 100%) / 2));
  }
}

.faq-fullwidth .schema-faq-answer ul {
  list-style-type: disc !important;
  padding: 10px 5px 10px 17px !important;
}

.pava-reviews-fullwidth > *,
.correlati-fullwidth > *,
.faq-fullwidth > * {
  max-width: 1360px;
  width: 100%;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   Correlati - Product Loop Slider Override
   ========================================================================== */
.correlati-fullwidth .pava-product-loop {
  width: 100%;
  max-width: 1360px;
  padding: 0;
  min-width: 0;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

/* FOUC Prevention - Initial slide sizing before Swiper initializes */
.correlati-fullwidth
  .pava-product-loop--slider
  .swiper:not(.swiper-initialized)
  .swiper-wrapper {
  display: flex;
  overflow: hidden;
}

.correlati-fullwidth
  .pava-product-loop--slider
  .swiper:not(.swiper-initialized)
  .swiper-slide {
  flex-shrink: 0;
  width: calc((100% - 3 * 24px) / 4); /* 4 columns with 24px gap */
  margin-right: 24px;
  box-sizing: border-box;
}

.correlati-fullwidth
  .pava-product-loop--slider
  .swiper:not(.swiper-initialized)
  .swiper-slide:last-child {
  margin-right: 0;
}

@media (max-width: 990px) {
  .correlati-fullwidth
    .pava-product-loop--slider
    .swiper:not(.swiper-initialized)
    .swiper-slide {
    width: calc((100% - 20px) / 2); /* 2 columns with 20px gap */
    margin-right: 20px;
  }
}

.correlati-fullwidth .pava-product-loop--slider {
  position: relative;
  box-sizing: border-box;
  padding-left: 50px;
  padding-right: 50px;
  overflow: hidden;
}

.correlati-fullwidth .pava-product-loop--slider .pava-product-loop__swiper {
  width: 100%;
  min-width: 0;
}

.correlati-fullwidth .pava-product-card {
  background: #fff;
  border: none;
  position: relative;
}

.correlati-fullwidth .pava-product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #e5e8ec;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
}

.correlati-fullwidth .pava-product-card:hover::after {
  border-color: var(--wp--preset--color--primario, #143b42);
}

/* Keep action buttons inside slide bounds in related products */
.correlati-fullwidth .pava-product-card__action,
.correlati-fullwidth .pava-product-card__actions .wlfmc-add-to-wishlist,
.correlati-fullwidth .pava-product-card__actions .wlfmc-add-button,
.correlati-fullwidth .pava-product-card__actions > div[class*="wlfmc"] {
  transform: none !important;
}

.correlati-fullwidth .pava-product-loop--slider .pava-product-loop__dots {
  margin-top: 20px;
}

@media (max-width: 991px) {
  .correlati-fullwidth .pava-product-loop--slider {
    padding-left: 45px;
    padding-right: 45px;
  }
}

@media (max-width: 600px) {
  .correlati-fullwidth .pava-product-loop--slider {
    padding-left: 0;
    padding-right: 0;
  }
  .correlati-fullwidth .pava-product-loop--slider .pava-product-loop__nav {
    display: none;
  }
}
.woocommerce-breadcrumb {
  font-size: 0.75em;
}

.woocommerce-breadcrumb a {
  color: #23af95;
  font-weight: 600;
}
/*Tabelle */

table.ingredienti,
table.tab-articoli {
  border: 1px solid #f8f8f8;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table.ingredienti caption,
table.tab-articoli caption {
  font-size: 1.3em;
  margin: 0.5em 0 0.75em;
}

table.ingredienti table tr,
table.tab-articoli table tr {
  background-color: #e5e8ec4a;
  border: 1px solid #e1e1e1;
  padding: 0.35em;
}

/* thead diversi per classe */
table.ingredienti thead {
  background-color: #f8f8f8 !important;
}
table.tab-articoli thead {
  background-color: #e8f5f3 !important;
}

table.ingredienti tr.bordtop td,
table.tab-articoli tr.bordtop td {
  border-top: 2px solid #e1e1e1 !important;
  border-bottom: 0 !important;
}
table.ingredienti tr.bordtop,
table.tab-articoli tr.bordtop {
  border: 0 !important;
  border: none !important;
}

table.ingredienti th,
table.ingredienti td,
table.tab-articoli th,
table.tab-articoli td {
  padding: 1em;
}

table.ingredienti th,
table.tab-articoli th {
  font-size: 0.95em;
  text-transform: uppercase;
  color: #143b42;
  font-weight: 700;
}

table.ingredienti td,
table.tab-articoli td {
  border-bottom: 2px solid #e1e1e1 !important;
  font-size: 0.95em;
}

.ingredienti p,
.tab-articoli p {
  margin: 15px auto;
}

table.ingredienti td.nobord,
table.ingredienti tr.nobord,
table.ingredienti tr.nobord td,
table.tab-articoli td.nobord,
table.tab-articoli tr.nobord,
table.tab-articoli tr.nobord td {
  border: 0 !important;
  border: none !important;
}
table.ingredienti th[scope="col"]:last-child {
  text-align: right !important;
}
table.ingredienti th:last-child,
table.ingredienti td:last-child {
  text-align: right !important;
}

.ingredienti table {
  border: 1px solid #e5e8ec;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.ingredienti table caption {
  font-size: 1.3em;
  margin: 0.5em 0 0.75em;
}

.ingredienti table tr {
  background-color: #e5e8ec4a;
  border: 1px solid #e5e8ec;
  padding: 0.35em;
}
.ingredienti table tr.bordtop td {
  border-top: 2px solid #e5e8ec !important;
  border-bottom: 0 !important;
}
.ingredienti table tr.bordtop {
  border: 0 !important;
  border: none !important;
}
.ingredienti table th,
.ingredienti table td {
  padding: 1em;
}

.ingredienti table th {
  font-size: 0.95em;
  text-transform: uppercase;
  color: #143b42;
}

.ingredienti table td {
  border-bottom: 2px solid #e5e8ec !important;
  font-size: 0.95em;
}

.ingredienti p {
  margin: 15px auto;
}
.ingredienti table td.nobord,
.ingredienti table tr.nobord,
.ingredienti table tr.nobord td {
  border: 0 !important;
  border: none !important;
}
@media screen and (max-width: 600px) {
  .ingredienti table {
    border: 0;
  }
}

.small {
  font-size: 95%;
  font-weight: 700;
}
.small2 {
  font-size: 90%;
  font-weight: 400;
}
.biblio {
  font-size: 85%;
  font-weight: 300;
  line-height: 1.1em;
}
