.izofit-cfs-wrapper { max-width: 900px; margin: 0 auto; }
.izofit-cfs-title { margin: 0 0 0.5rem; }
.izofit-cfs-intro { margin: 0 0 1.5rem; }
.izofit-cfs-form-container { background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 12px; padding: 20px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }

.izofit-cfs-fieldset { border: 1px solid rgba(0,0,0,.08); border-radius: 10px; padding: 16px; margin: 18px 0; }
.izofit-cfs-fieldset > legend { font-weight: 600; padding: 0 8px; }
.izofit-cfs-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
@media (max-width: 720px) { .izofit-cfs-grid { grid-template-columns: 1fr; } }

.izofit-cfs-field label { display: block; font-size: 0.95rem; margin-bottom: 6px; }
.izofit-cfs-field input[type="text"],
.izofit-cfs-field input[type="tel"],
.izofit-cfs-field input[type="email"],
.izofit-cfs-field input[type="url"],
.izofit-cfs-field input[type="date"],
.izofit-cfs-field input[type="number"],
.izofit-cfs-field select,
.izofit-cfs-field textarea { width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid rgba(0,0,0,.2); }

.izofit-cfs-actions { margin-top: 18px; }
.izofit-cfs-button { 
  border: 1px solid rgba(0,0,0,.2); 
  border-radius: 8px; 
  padding: 10px 14px; 
  cursor: pointer; 
  background: transparent; 
  color: inherit; 
  text-decoration: none; 
  display: inline-flex; 
  align-items: center; 
  gap: 8px;
}
.izofit-cfs-submit { font-weight: 600; }
.izofit-cfs-errors { background: #ffe9e9; border: 1px solid #ffbdbd; border-radius: 8px; padding: 12px; }
.izofit-cfs-success { background: #e8ffef; border: 1px solid #b8f0c9; border-radius: 8px; padding: 12px; }

/* Repeater */
.izofit-cfs-repeater .equip-row { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; align-items: end; margin-bottom: 10px; }
@media (max-width: 1024px) { .izofit-cfs-repeater .equip-row { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.equip-row .izofit-field { display: flex; flex-direction: column; }
.equip-row .izofit-field label { font-size: 0.85rem; margin-bottom: 4px; }
.equip-row .remove { 
  align-self: flex-start; 
  background: transparent; 
  border: none; 
  padding: 0 6px; 
  line-height: 1; 
  border-radius: 4px; 
}

.hp-field { position: absolute; left: -9999px; opacity: 0; }

.izofit-cfs-hint { margin-top: 8px; }
.izofit-cfs-hint-content { padding: 8px 10px; border-left: 3px solid rgba(0,0,0,.2); background: rgba(0,0,0,.03); }

.izofit-cfs-privacy { font-size: 0.9rem; color: rgba(0,0,0,.75); margin-top: 10px; }
.izofit-cfs-consent { margin-top: 10px; }

/* Basic button style harmonized with common Shopify themes */
.izofit-cfs-button { 
  border: 1px solid rgba(0,0,0,.2); 
  border-radius: 8px; 
  padding: 10px 14px; 
  cursor: pointer; 
  background: transparent; 
  color: inherit; 
  text-decoration: none; 
  display: inline-flex; 
  align-items: center; 
  gap: 8px;
}
#add_equipment_btn,
.izofit-cfs-submit {
  background: var(--color-button, #111);
  color: var(--color-button-text, #fff);
  border-color: transparent;
}
#add_equipment_btn { margin-top: 10px; }

/* --- Overrides: Repeater inputs without rounded frames --- */
.section-izofit-cfs .izofit-cfs-repeater .field input,
.section-izofit-cfs .izofit-cfs-repeater .field select {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent;
  padding: 6px 0; /* no lateral padding to avoid capsule look */
}

/* Keep a clear focus state for accessibility */
.section-izofit-cfs .izofit-cfs-repeater .field input:focus,
.section-izofit-cfs .izofit-cfs-repeater .field select:focus {
  outline: 2px solid rgba(0,0,0,.35);
  outline-offset: 2px;
}

/* Ensure "+ Ajouter un équipement" is visible */
#add_equipment_btn {
  background: var(--color-button, #111);
  color: var(--color-button-text, #fff);
  border: 1px solid transparent;
  margin-top: 10px;
}


/* --- HARD OVERRIDE: remove rounded frames on repeater controls --- */
#equipments_repeater .izofit-field,
#equipments_repeater .izofit-field * {
  border-radius: 0 !important;
  box-shadow: none !important;
}

#equipments_repeater .izofit-field input,
#equipments_repeater .izofit-field select {
  border: 0 !important;
  outline: none;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}

/* Optional clean underline focus */
#equipments_repeater .izofit-field input:focus,
#equipments_repeater .izofit-field select:focus {
  outline: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.35) !important;
}


/* --- No underline/outline on focus for repeater controls --- */
#equipments_repeater .izofit-field input:focus,
#equipments_repeater .izofit-field select:focus {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* --- IZOFIT: isolate from theme .field rules --- */
.section-izofit-cfs .izofit-cfs-repeater .izofit-field {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.section-izofit-cfs .izofit-cfs-repeater .izofit-field::before,
.section-izofit-cfs .izofit-cfs-repeater .izofit-field::after {
  content: none !important;
}
.section-izofit-cfs .izofit-cfs-repeater .izofit-field:hover,
.section-izofit-cfs .izofit-cfs-repeater .izofit-field:focus,
.section-izofit-cfs .izofit-cfs-repeater .izofit-field:focus-within {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.section-izofit-cfs .izofit-cfs-repeater .izofit-field label { margin-bottom: 4px; }
.section-izofit-cfs .izofit-cfs-repeater .izofit-field input,
.section-izofit-cfs .izofit-cfs-repeater .izofit-field select {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}
.section-izofit-cfs .izofit-cfs-repeater .izofit-field input:focus,
.section-izofit-cfs .izofit-cfs-repeater .izofit-field select:focus {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* --- Neutralize theme `.field` wrapper frame inside repeater --- */
#equipments_repeater .field {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  transition: none !important;
}
#equipments_repeater .field:hover,
#equipments_repeater .field:focus-within {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
#equipments_repeater .field::before,
#equipments_repeater .field::after {
  content: none !important;
  display: none !important;
}

/* Keep inputs simple, no hover/focus glow/underline */
#equipments_repeater .field input,
#equipments_repeater .field select {
  border: 1px solid rgba(0,0,0,.3) !important;
  border-radius: 4px !important;
  background: #fff !important;
  padding: 8px 10px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: none !important;
}
#equipments_repeater .field input:hover,
#equipments_repeater .field select:hover,
#equipments_repeater .field input:focus,
#equipments_repeater .field select:focus {
  border: 1px solid rgba(0,0,0,.3) !important;
  box-shadow: none !important;
  outline: none !important;
}


/* --- Repeater layout hardening --- */
#equipments_repeater .equip-row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}
#equipments_repeater .field {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#equipments_repeater .field label {
  display: block !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.2 !important;
}
#equipments_repeater .field input,
#equipments_repeater .field select {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.32) !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: 8px 10px !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
}
#equipments_repeater .field input:hover,
#equipments_repeater .field select:hover,
#equipments_repeater .field input:focus,
#equipments_repeater .field select:focus {
  border-color: rgba(0,0,0,.32) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Kill any theme "input-group" glue effects */
#equipments_repeater .field input + input,
#equipments_repeater .field input + select,
#equipments_repeater .field select + input,
#equipments_repeater .field select + select {
  margin-left: 0 !important;
}

/* Mobile stays 2 columns */
@media (max-width: 1024px) {
  #equipments_repeater .equip-row {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
