/* =============================================================
   Divi Product Carousel — carousel.css  v2.2.0
   ============================================================= */

:root {
  --dpc-accent:           #b8975a;
  --dpc-badge-hot:        #b8975a;
  --dpc-badge-new:        #2c2c2c;
  --dpc-badge-sale:       #b8975a;
  --dpc-text-dark:        #333333;
  --dpc-text-mid:         #777777;
  --dpc-text-light:       #aaaaaa;
  --dpc-bg-card:          #f4f4f4;
  --dpc-radius:           0px;
  --dpc-gap:              20px;
  --dpc-transition:       0.25s ease;
  --dpc-font-size-name:    14px;
  --dpc-font-weight-name:  400;
  --dpc-font-size-price:   14px;
  --dpc-font-weight-price: 400;
  --dpc-font-size-btn:     13px;
  --dpc-font-weight-btn:   600;
  --dpc-font-size-badge:   11px;
}

/* --- Wrapper -------------------------------------------------- */
.dpc-wrapper { position:relative; width:100%; box-sizing:border-box; margin:0 auto; }

.dpc-title {
  font-family: Georgia,'Times New Roman',serif;
  font-size:28px; font-weight:400;
  color:var(--dpc-text-dark);
  text-align:center; margin:0 0 32px;
  letter-spacing:0.02em;
}

/* --- Carousel outer ------------------------------------------ */
.dpc-carousel-outer {
  position:relative; display:flex; align-items:center; overflow:hidden;
}

/* --- Nav ----------------------------------------------------- */
.dpc-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  background:#fff; border:1px solid #e0e0e0;
  width:42px; height:42px; border-radius:50%;
  font-size:22px; line-height:1; color:var(--dpc-text-dark);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.08); flex-shrink:0;
  transition:background var(--dpc-transition),color var(--dpc-transition);
}
.dpc-nav:hover { background:var(--dpc-accent); color:#fff; border-color:var(--dpc-accent); }
.dpc-prev { left:4px; }
.dpc-next { right:4px; }

/* --- Track --------------------------------------------------- */
.dpc-track-wrap {
  overflow:hidden; width:100%;
  touch-action:pan-y; user-select:none; -webkit-user-select:none;
  cursor:grab;
}
.dpc-track-wrap.dpc--dragging { cursor:grabbing; }

.dpc-track {
  display:flex; margin:0; padding:0;
  list-style:none;
  transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  will-change:transform;
}
.dpc-track.dpc--no-transition { transition:none; }

/* --- Card ---------------------------------------------------- */
.dpc-card {
  flex:0 0 auto; box-sizing:border-box;
  padding:0 calc(var(--dpc-gap) / 2);
  list-style:none !important; list-style-type:none !important;
}
.dpc-card::before, .dpc-card::after { display:none !important; content:none !important; }

.dpc-card__inner {
  position:relative;
  background:var(--dpc-bg-card);
  border-radius:var(--dpc-radius);
  overflow:hidden;
}

/* --- Image --------------------------------------------------- */
.dpc-card__img-wrap {
  display:block; overflow:hidden;
  aspect-ratio:3/4;
  background:var(--dpc-bg-card);
  border-radius:var(--dpc-radius) var(--dpc-radius) 0 0;
  position:relative;
}
.dpc-card__img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.5s ease;
}
.dpc-card:hover .dpc-card__img { transform:scale(1.04); }

/* --- Badges (top-left, always visible) ----------------------- */
.dpc-badges {
  position:absolute; top:10px; left:10px;
  display:flex; flex-wrap:wrap; gap:4px; z-index:3;
}
.dpc-badge {
  font-family:'Open Sans',sans-serif;
  font-size:var(--dpc-font-size-badge);
  font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; padding:4px 10px;
  color:#fff; line-height:1.4;
  border-radius:var(--dpc-radius);
}
.dpc-badge--hot  { background:var(--dpc-badge-hot); }
.dpc-badge--new  { background:var(--dpc-badge-new); }
.dpc-badge--sale { background:var(--dpc-badge-sale); }

/* --- Action icons (top-right, ALWAYS visible) ---------------- */
.dpc-actions {
  position:absolute; top:10px; right:10px;
  display:flex; flex-direction:column; gap:6px; z-index:3;
  /* sempre visibili, nessun opacity/transform animato */
}
.dpc-action {
  width:38px; height:38px; border-radius:50%;
  background:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; color:var(--dpc-text-dark);
  box-shadow:0 1px 8px rgba(0,0,0,.15);
  text-decoration:none;
  transition:background var(--dpc-transition),color var(--dpc-transition);
}
.dpc-action:hover { background:var(--dpc-accent); color:#fff; }

/* --- Cart overlay (bottom of image, shown on hover) ---------- */
.dpc-cart-overlay {
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  transform:translateY(100%);
  transition:transform var(--dpc-transition);
}
.dpc-card:hover .dpc-cart-overlay { transform:translateY(0); }

.dpc-add-to-cart,
.dpc-select-options {
  display:block; width:100%; padding:13px 16px;
  background:#fff; color:var(--dpc-text-dark);
  font-family:'Open Sans',sans-serif;
  font-size:var(--dpc-font-size-btn);
  font-weight:var(--dpc-font-weight-btn);
  letter-spacing:0.08em; text-transform:uppercase;
  text-align:center; text-decoration:none;
  border:none; cursor:pointer; box-sizing:border-box;
  transition:background var(--dpc-transition),color var(--dpc-transition);
}
.dpc-add-to-cart:hover,
.dpc-select-options:hover { background:var(--dpc-accent); color:#fff; }
.dpc-add-to-cart.dpc--added { background:var(--dpc-text-dark); color:#fff; }

.dpc-out-of-stock {
  display:block; width:100%; padding:13px 16px;
  background:#eee; color:var(--dpc-text-light);
  font-family:'Open Sans',sans-serif; font-size:12px;
  text-align:center; text-transform:uppercase;
  letter-spacing:0.04em; box-sizing:border-box;
}

/* --- Meta below card (allineato a sinistra come ref) --------- */
.dpc-card__meta { padding:12px 4px 8px; }

.dpc-card__name {
  display:block; font-family:'Open Sans',sans-serif;
  font-size:var(--dpc-font-size-name);
  font-weight:var(--dpc-font-weight-name);
  color:var(--dpc-text-dark); text-decoration:none;
  text-align:left;            /* ← sinistra */
  margin-bottom:4px;
  transition:color var(--dpc-transition);
}
.dpc-card__name:hover { color:var(--dpc-accent); }

.dpc-price {
  display:block; text-align:left;  /* ← sinistra */
  font-family:'Open Sans',sans-serif;
  font-size:var(--dpc-font-size-price);
  font-weight:var(--dpc-font-weight-price);
  color:var(--dpc-text-mid); margin-bottom:6px;
}
.dpc-price .woocommerce-Price-amount { color:var(--dpc-text-mid); }
.dpc-price ins  { text-decoration:none; }
.dpc-price del  { color:var(--dpc-text-light); margin-right:4px; }

/* Star rating (se presente) */
.dpc-card__meta .star-rating { margin:4px 0 0; }

/* --- Swatches ----------------------------------------------- */
.dpc-swatches {
  display:flex; justify-content:flex-start; /* ← sinistra */
  flex-wrap:wrap; gap:6px; margin-top:6px;
}
.dpc-swatch {
  display:inline-block; width:14px; height:14px;
  border-radius:50%; border:1px solid rgba(0,0,0,.15);
  cursor:pointer; transition:transform 0.15s ease,box-shadow 0.15s ease;
}
.dpc-swatch:hover, .dpc-swatch.active {
  transform:scale(1.25);
  box-shadow:0 0 0 2px #fff,0 0 0 3px var(--dpc-accent);
}
.dpc-swatch[style*="background:#ffffff"],
.dpc-swatch[style*="background: #ffffff"],
.dpc-swatch[style*="background:#fff"],
.dpc-swatch[style*="background: #fff"] { border-color:#ccc; }

/* --- No products -------------------------------------------- */
.dpc-no-products {
  text-align:center; color:var(--dpc-text-mid);
  font-family:'Open Sans',sans-serif; padding:40px 0;
}

/* --- Responsive --------------------------------------------- */
@media (max-width:600px) {
  .dpc-title      { font-size:22px; }
  .dpc-card__name { font-size:13px; }
  .dpc-price      { font-size:13px; }
}
