/* ==========================================================================
   Block: Vini per Occasione
   Layout two-col-asym: CTA simple (1/3) + slider prodotti (2/3)
   ========================================================================== */

@import url("elements/cta-simple.css");

/* --- Header --- */
.s4w-vpo__header {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 48px;
}

/* --- Tabs --- */
.s4w-vpo__tabs {
  display: flex;
  flex-wrap: wrap;
}

.s4w-vpo__tab {
  font-family: var(--font-primary);
  font-weight: 450;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.56px;
  text-transform: uppercase;
  color: var(--text-main-900);
  background: transparent;
  border: 1px solid var(--bg-soft-200);
  border-radius: 0;
  padding: 20px 24px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}

.s4w-vpo__tab--active,
.s4w-vpo__tab:hover {
  background-color: var(--text-main-900);
  color: var(--bg-white-0);
  border-color: var(--text-main-900);
}

/* --- Select mobile (nascosto su desktop) --- */
.s4w-vpo__select {
  display: none;
}

/* --- Body: layout two-col-asym --- */
.s4w-vpo__body {
  display: flex;
  flex-wrap: nowrap;
}

/* Col CTA: 1/3 */
.s4w-vpo__col-cta {
  flex: 0 0 33.333%;
  max-width: 33.333%;
  min-width: 0;
}

/* Col slider: 2/3 */
.s4w-vpo__col-slider {
  flex: 0 0 66.666%;
  max-width: 66.666%;
  min-width: 0;
  overflow: hidden;
}

/* Inner cell: bordo + padding */
.s4w-vpo__col-inner {
  border: 1px solid #E2E4E9;
  padding: 20px;
  height: 100%;
  box-sizing: border-box;
}

/* CTA simple: riempie tutta l'altezza, niente aspect-ratio fisso */
.s4w-vpo__col-cta .s4w-cta-simple {
  aspect-ratio: unset;
  height: 100%;
  min-height: 400px;
}

.s4w-vpo__col-cta .s4w-cta-simple__content {
  max-width: 90%;
}

.s4w-vpo__col-cta .s4w-cta-simple__title {
  font-weight: 400;
}



/* --- Gruppi (panel per tab) --- */
.s4w-vpo__group {
  display: none;
}

.s4w-vpo__group--active {
  display: block;
}

/* --- Card prodotto nel contesto VPO --- */

.s4w-vpo .s4w-product-card-threecol {
  border: none;
  padding: 0;
}

.s4w-vpo .s4w-product-card-threecol__name {
  text-transform: none !important;
}

/* --- Swiper --- */
.s4w-vpo__swiper {
  width: 100%;
  overflow: hidden;
}

.s4w-vpo__swiper .swiper-slide {
  width: 50%;
  height: auto;
  flex-shrink: 0;
}

/* --- Controlli: allineati alla colonna slider (2/3 destra) --- */
.s4w-vpo__controls {
  display: flex;
  justify-content: flex-end;
  padding-top: 24px;
}

.s4w-vpo__controls-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  width: 66.666%;
}

/* Paginazione: linee */
.s4w-vpo__pagination {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.s4w-vpo__pagination .swiper-pagination-bullet {
  width: 56px;
  min-width: 8px;
  height: 2px;
  border-radius: 0;
  background: var(--bg-soft-200);
  opacity: 1;
  margin: 0;
  display: block;
  flex-shrink: 1;
}

.s4w-vpo__pagination .swiper-pagination-bullet-active {
  background: var(--text-main-900);
}

.s4w-vpo__pagination.swiper-pagination-horizontal {
  position: static;
  bottom: auto;
  width: auto;
}

/* Frecce */
.s4w-vpo__arrows {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.s4w-vpo__arrow {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-main-900);
  width: 32px;
  height: 32px;
  transition: opacity 0.2s ease;
}

.s4w-vpo__arrow:hover {
  opacity: 0.5;
}

.s4w-vpo__arrow:disabled,
.s4w-vpo__arrow.swiper-button-disabled {
  opacity: 0.25;
  cursor: default;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
  .s4w-vpo__col-cta {
    flex: 0 0 40%;
    max-width: 40%;
  }

  .s4w-vpo__col-slider {
    flex: 0 0 60%;
    max-width: 60%;
  }

  .s4w-vpo__controls-inner {
    width: 60%;
  }
}

@media (max-width: 768px) {
  .s4w-vpo__header {
    margin-bottom: 32px;
  }

  /* Nasconde tabs desktop, mostra select */
  .s4w-vpo .s4w-vpo__tabs {
    display: none !important;
  }

  .s4w-vpo .s4w-vpo__select {
    display: block;
    width: 100%;
    padding: 12px 16px;
    padding-right: 48px;
    border: 1px solid var(--bg-soft-200);
    border-radius: 0;
    background-color: transparent;
    font-family: var(--font-primary);
    font-weight: 450;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.56px;
    text-transform: uppercase;
    color: var(--text-main-900);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2082 11.6667L9.99984 16.875L4.7915 11.6667M9.99984 16.25V3.125' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 20px 20px;
  }

  .s4w-vpo__body {
    flex-direction: column;
  }

  .s4w-vpo__col-cta,
  .s4w-vpo__col-slider {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .s4w-vpo__col-cta .s4w-cta-simple {
    aspect-ratio: 338 / 423;
    height: auto;
    min-height: unset;
  }

  .s4w-vpo__controls-inner {
    width: 100%;
  }

  .s4w-vpo__pagination .swiper-pagination-bullet {
    width: 32px;
  }
}
