/* =============================================
   PRO LOCO BANZANO - RECENSIONI v2.0
   ============================================= */

:root {
  --bz-brown:  #5C2D0A;
  --bz-red:    #8B1A1A;
  --bz-gold:   #E8A830;
  --bz-cream:  #F5EDD8;
  --bz-dark:   #3A1A05;
  --bz-border: rgba(92,45,10,0.2);
}

.bz-reviews-wrap {
  font-family: Georgia, 'Times New Roman', serif;
  max-width: 860px;
  margin: 0 auto;
}

/* ── CAROSELLO ── */
.bz-carousel {
  position: relative; overflow: hidden;
  border-radius: 16px; border: 2px solid var(--bz-gold);
  box-shadow: 0 8px 30px rgba(92,45,10,0.15);
}
.bz-carousel-track { display: flex; transition: transform 0.5s cubic-bezier(0.4,0,0.2,1); }
.bz-slide { min-width: 100%; box-sizing: border-box; }

.bz-review-card {
  background: var(--bz-cream); padding: 44px 52px;
  min-height: 240px; display: flex; flex-direction: column;
  justify-content: space-between; position: relative;
}
.bz-quote {
  font-size: 7rem; color: rgba(232,168,48,0.18); line-height: 0.5;
  position: absolute; top: 20px; right: 32px; pointer-events: none;
}
.bz-review-text {
  font-size: 1.12rem; line-height: 1.8; color: var(--bz-dark);
  font-style: italic; margin-bottom: 10px; flex: 1;
}
.bz-review-improve { font-size: 0.9rem; color: #777; margin-bottom: 20px; line-height: 1.5; }

.bz-review-footer {
  display: flex; align-items: center; gap: 14px;
  padding-top: 18px; border-top: 2px solid var(--bz-gold);
}
.bz-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--bz-gold); color: var(--bz-brown);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; font-weight: 700; flex-shrink: 0;
  border: 2px solid var(--bz-brown);
}
.bz-info { display: flex; flex-direction: column; gap: 2px; }
.bz-name { font-weight: 700; font-size: 0.95rem; color: var(--bz-brown); }
.bz-location, .bz-age { font-size: 0.8rem; color: #888; font-style: normal; }

/* Valutazione patate nel carosello */
.bz-rating { display: flex; gap: 3px; margin-top: 4px; }
.bz-potato { font-size: 1.1rem; line-height: 1; }
.bz-potato.off { filter: grayscale(1) opacity(0.25); }

/* Frecce */
.bz-prev, .bz-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: var(--bz-brown); color: var(--bz-gold);
  border: none; border-radius: 50%; width: 40px; height: 40px;
  font-size: 1.3rem; cursor: pointer; display: flex;
  align-items: center; justify-content: center;
  transition: background 0.2s; z-index: 10; outline: none;
  -webkit-tap-highlight-color: transparent;
}
.bz-prev { left: 10px; }
.bz-next { right: 10px; }
.bz-prev:hover, .bz-next:hover { background: var(--bz-gold); color: var(--bz-brown); }

/* Dots */
.bz-dots { display: flex; justify-content: center; gap: 8px; margin: 14px 0; }
.bz-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(92,45,10,0.2); cursor: pointer;
  border: none; outline: none; padding: 0;
  transition: background 0.2s, transform 0.2s;
}
.bz-dot.active { background: var(--bz-gold); transform: scale(1.3); }

/* ── DIVISORE ── */
.bz-divider { text-align: center; margin: 36px 0 30px; position: relative; }
.bz-divider::before {
  content: ''; position: absolute; top: 50%; left: 0; right: 0;
  height: 1px; background: var(--bz-gold);
}
.bz-divider span {
  position: relative; padding: 0 20px; font-size: 1rem;
  color: var(--bz-brown); font-weight: 700; letter-spacing: 0.08em; background: white;
}

/* ── FORM ── */
.bz-form-wrap {
  background: var(--bz-cream); border: 2px solid var(--bz-gold);
  border-radius: 16px; padding: 36px 40px;
  box-shadow: 0 8px 30px rgba(92,45,10,0.1);
}
.bz-form-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 22px; }
.bz-form-group label {
  font-weight: 700; font-size: 0.9rem; color: var(--bz-red);
  text-transform: uppercase; letter-spacing: 0.05em;
}
.bz-req { color: var(--bz-gold); }

.bz-form-group input,
.bz-form-group textarea,
.bz-form-group select {
  font-family: Georgia, serif; font-size: 1rem; color: var(--bz-dark);
  border: 1.5px solid rgba(92,45,10,0.25); border-radius: 10px;
  padding: 13px 16px; outline: none; background: white;
  width: 100%; box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s; appearance: none;
  line-height: 1.4;
}
.bz-form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C2D0A' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px;
  padding-top: 16px; padding-bottom: 16px;
  height: 54px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.bz-form-group input:focus,
.bz-form-group textarea:focus,
.bz-form-group select:focus {
  border-color: var(--bz-gold); box-shadow: 0 0 0 3px rgba(232,168,48,0.2);
}
.bz-form-group textarea { resize: vertical; min-height: 120px; line-height: 1.6; }

/* ── POTATO PICKER ── */
.bz-potato-picker { display: flex; gap: 10px; align-items: center; padding: 8px 0; }

.bz-potato-btn {
  background: none; border: none; padding: 0;
  cursor: pointer; outline: none; -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s;
}
.bz-potato-btn:hover { transform: scale(1.15); }
.bz-potato-btn:focus,
.bz-potato-btn:active { outline: none; box-shadow: none; }

/* SVG patata inline — vuota */
.bz-potato-icon {
  display: block; width: 44px; height: 44px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M72 42 C78 48 80 58 76 67 C72 76 62 82 50 82 C38 82 28 76 24 67 C20 58 22 48 28 42 C34 36 44 28 50 28 C56 28 66 36 72 42Z' fill='none' stroke='%235C2D0A' stroke-width='4' stroke-linejoin='round'/%3E%3Ccircle cx='38' cy='52' r='3' fill='none' stroke='%235C2D0A' stroke-width='3'/%3E%3Ccircle cx='60' cy='62' r='2.5' fill='none' stroke='%235C2D0A' stroke-width='2.5'/%3E%3Ccircle cx='50' cy='70' r='2' fill='none' stroke='%235C2D0A' stroke-width='2.5'/%3E%3C/svg%3E");
}

/* SVG patata piena */
.bz-potato-btn.selected .bz-potato-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M72 42 C78 48 80 58 76 67 C72 76 62 82 50 82 C38 82 28 76 24 67 C20 58 22 48 28 42 C34 36 44 28 50 28 C56 28 66 36 72 42Z' fill='%23C8832A' stroke='%235C2D0A' stroke-width='3' stroke-linejoin='round'/%3E%3Ccircle cx='38' cy='52' r='3' fill='%235C2D0A' opacity='0.35'/%3E%3Ccircle cx='60' cy='62' r='2.5' fill='%235C2D0A' opacity='0.35'/%3E%3Ccircle cx='50' cy='70' r='2' fill='%235C2D0A' opacity='0.3'/%3E%3Cellipse cx='40' cy='38' rx='8' ry='5' fill='white' opacity='0.2' transform='rotate(-20 40 38)'/%3E%3C/svg%3E");
}

/* Submit */
.bz-submit {
  width: 100%; background: var(--bz-red); color: white;
  border: none; border-radius: 10px; padding: 18px 32px;
  font-family: Georgia, serif; font-weight: 700; font-size: 1.05rem;
  cursor: pointer; letter-spacing: 0.03em;
  transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
  outline: none; -webkit-tap-highlight-color: transparent; margin-top: 8px;
}
.bz-submit:hover { transform: scale(1.02); box-shadow: 0 6px 20px rgba(139,26,26,0.35); }
.bz-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.bz-submit:focus, .bz-submit:active { outline: none; box-shadow: none; }

/* Messaggi */
.bz-error {
  background: rgba(139,26,26,0.08); border: 1px solid rgba(139,26,26,0.3);
  border-radius: 8px; padding: 12px 16px; color: var(--bz-red);
  font-size: 0.9rem; margin-bottom: 14px;
}
.bz-success-msg {
  background: var(--bz-cream); border: 2px solid var(--bz-gold);
  border-radius: 12px; padding: 28px; color: var(--bz-brown);
  font-size: 1.1rem; text-align: center; font-weight: 700; margin-bottom: 20px;
}
.bz-empty {
  text-align: center; color: var(--bz-brown); padding: 40px;
  font-style: italic; background: var(--bz-cream);
  border-radius: 12px; border: 2px dashed var(--bz-gold);
}

@media (max-width: 600px) {
  .bz-review-card { padding: 28px 20px; }
  .bz-form-wrap { padding: 24px 18px; }
  .bz-prev { left: 4px; } .bz-next { right: 4px; }
  .bz-potato-icon { width: 38px; height: 38px; }
}
