/* Container Principal */
.caba-contatti-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
    font-family: 'Helvetica', Arial, sans-serif;
}
/* HERO */
.hero {
  position: relative;
  min-height: 55vh;
  background: url('../images/page-fornitori/hero.png') center/cover no-repeat;
  display: flex;
  align-items: center;
 background-position: center;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.55), rgba(0,0,0,.15));
}

.hero__content {
  position: relative;
  max-width: 600px;
  padding: 0 8%;
  color: #fff;
}

.hero__tag {
  opacity: .7;
  font-size: 14px;
}

.hero h1 {
  font-size: clamp(32px, 4vw, 52px);
  margin: 15px 0;
}

.hero p {
  line-height: 1.6;
  max-width: 600px;
}

.btn-primary {
  display: inline-block;
  margin-top: 25px;
  padding: 14px 28px;
  background: #c46a28;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.caba-site-container {
    line-height: 1.6;
    color: var(--caba-dark);
    overflow-x: hidden;
}
/* Styles Généraux */
.caba-fornitori-page {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    color: #333;
    line-height: 1.6;
}

.section-padding { padding: 80px 20px; }
.container { max-width: 1100px; margin: 0 auto; }
.container-narrow { max-width: 800px; margin: 0 auto; text-align: center; }
.bg-light { background-color: #f4f4f4; }
.bg-dark { background-color: #1a1a1a; color: white; }
.text-center { text-align: center; }

/* Hero Section */
.fornitori-hero {
    height: 60vh;
    background: url('VOTRE_IMAGE_URL_ICI') center/cover no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.hero-overlay {
    background: rgba(0,0,0,0.5);
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
}

.hero-content { max-width: 700px; text-align: center; padding: 20px; }
.hero-content h1 { font-size: 3rem; font-weight: 800; margin-bottom: 20px; line-height: 1.1; }

/* Boutons */
.caba-btn {
    display: inline-block;
    background: #b38b59;
    color: white;
    padding: 15px 35px;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
    border: none;
    cursor: pointer;
}
.caba-btn:hover { background: #8e6e46; color: white; }

/* Requisiti Grid */
.requisiti-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}
.requisito-item { text-align: center; padding: 20px; }
.requisito-item .icon { font-size: 40px; margin-bottom: 15px; }
.requisito-item h3 { color: #b38b59; text-transform: uppercase; font-size: 1.1rem; }

/* Categorie */
.categorie-list {
    background: white;
    padding: 40px;
    border-left: 4px solid #b38b59;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.categorie-list ul { list-style: none; padding: 0; }
.categorie-list li { margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }

/* Formulaire */
.form-container h2 { color: #b38b59; margin-bottom: 10px; }
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin: 30px 0;
}
.fornitori-form input:not([type="checkbox"]), .fornitori-form select, .fornitori-form textarea {
    width: 90%; padding: 12px; background: #2a2a2a; border: 1px solid #444; color: white;
}
.file-input { grid-column: span 2; text-align: left; }
.file-input label { display: block; margin-bottom: 5px; font-size: 0.8rem; color: #888; }
.fornitori-form textarea { grid-column: span 2; margin-bottom: 20px; }
.privacy-check { grid-column: span 2; margin-bottom: 20px; font-size: 0.85rem; text-align: left; }

/* Mobile */
@media (max-width: 768px) {
    .requisiti-grid, .form-grid { grid-template-columns: 1fr; }
    .hero-content h1 { font-size: 2rem; }
}
/* =========================
   FORNITORI FORM – PRO
========================= */

.fornitori-form {
  margin-top: 40px;
}

/* Grid */
.fornitori-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 25px;
}

/* Inputs */
.fornitori-form input:not([type="checkbox"]),
.fornitori-form select,
.fornitori-form textarea {
  width: 90%;
  padding: 14px 16px;
  background: #222;
  border: 1px solid #444;
  color: #fff;
  font-size: 15px;
  transition: border .3s, box-shadow .3s;
}

.fornitori-form input::placeholder,
.fornitori-form textarea::placeholder {
  color: #aaa;
}

.fornitori-form input:focus,
.fornitori-form textarea:focus,
.fornitori-form select:focus {
  outline: none;
  border-color: #b38b59;
  box-shadow: 0 0 0 2px rgba(179,139,89,.2);
}

/* Select */
.fornitori-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='white' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7l4.5 4.5L14.5 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
}

/* File */
.fornitori-form .file-input {
  grid-column: span 2;
}

.fornitori-form input[type="file"] {
  padding: 10px;
  background: #1a1a1a;
  border: 1px dashed #555;
}

/* Textarea */
.fornitori-form textarea {
  grid-column: span 2;
  resize: vertical;
}

/* Privacy */
.fornitori-form .wpcf7-acceptance {
  display: block;
  margin: 20px 0;
  font-size: 14px;
  color: #ccc;
}

/* Button */
.fornitori-form .caba-btn {
  display: inline-block;
  width: 90%;
  padding: 16px;
  font-size: 16px;
  letter-spacing: 1px;
  background: linear-gradient(135deg, #b38b59, #8e6e46);
  border: none;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}

.fornitori-form .caba-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.3);
}

/* Messages CF7 */
.wpcf7-response-output {
  margin-top: 20px;
  padding: 15px;
  border-radius: 6px;
  font-size: 14px;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 768px) {
  .fornitori-form .form-grid {
    grid-template-columns: 1fr;
  }

  .fornitori-form textarea,
  .fornitori-form .file-input {
    grid-column: span 1;
  }
}
.submit-btn-fornitori{
    place-self: anchor-center;

}
