/* ===== PAGE-SPECIFIC STYLES ===== */
/* Extracted from inline <style> blocks (Étape 16-B) */
/* Loaded on: particuliers.html, professionnels-flottes.html, nettoyage-bateau-yacht-toulon.html */
/* Each page only uses its own subset of classes — no cross-page conflicts */

/* ──────────────────────────────────────────────────────────────────────────
   PAGE : PARTICULIERS
   ────────────────────────────────────────────────────────────────────────── */

.prestation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.prestation-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.09);
  border-radius: 14px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  transition: border-color .22s, background .22s, transform .22s;
}
.prestation-card:hover { border-color: rgba(201,168,76,.38); background: rgba(201,168,76,.04); transform: translateY(-3px); }
.prestation-card.featured { border-color: rgba(201,168,76,.35); background: rgba(201,168,76,.05); }
.prestation-badge { display: inline-block; margin-bottom: 10px; font-size: .68rem; font-weight: 700; padding: 2px 10px; border-radius: 20px; background: rgba(201,168,76,.15); color: var(--gold); letter-spacing: .3px; text-transform: uppercase; }
.prestation-icon { font-size: 1.8rem; margin-bottom: 14px; display: block; }
.prestation-name { font-size: .97rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.prestation-desc { font-size: .82rem; color: rgba(255,255,255,.55); line-height: 1.65; flex: 1; }
.prestation-price { font-size: 1.1rem; font-weight: 800; color: var(--gold); margin: 16px 0 4px; }
.prestation-price-note { font-size: .71rem; color: rgba(255,255,255,.38); margin-bottom: 16px; }

.voiture-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 32px; }
.voiture-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.07);
  border-left: 3px solid rgba(201,168,76,.35);
  border-radius: 14px;
  padding: 24px 20px;
  transition: border-color .22s, box-shadow .22s;
}
.voiture-card:hover { border-color: rgba(201,168,76,.45); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.voiture-card h3 { font-size: .97rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.voiture-card p { font-size: .82rem; color: rgba(255,255,255,.55); line-height: 1.65; margin-bottom: 8px; }
.voiture-price { font-size: .9rem; font-weight: 700; color: var(--gold); }

.prix-table-wrap { overflow-x: auto; margin-top: 32px; }
.prix-table { width: 100%; border-collapse: collapse; font-size: .85rem; color: var(--white); }
.prix-table th { background: rgba(201,168,76,.12); color: var(--gold); font-weight: 700; padding: 12px 16px; text-align: center; border: 1px solid rgba(255,255,255,.07); letter-spacing: .5px; font-size: .78rem; text-transform: uppercase; }
.prix-table th.label-col { text-align: left; }
.prix-table td { padding: 11px 16px; border: 1px solid rgba(255,255,255,.06); text-align: center; color: rgba(255,255,255,.75); }
.prix-table td.label-col { text-align: left; font-weight: 600; color: var(--white); }
.prix-table tr:nth-child(even) td { background: rgba(255,255,255,.025); }
.prix-table tr:hover td { background: rgba(201,168,76,.05); }
.prix-table .gold { font-weight: 700; }

.moto-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.moto-cat-card { text-align: center; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; padding: 24px 16px; }
.moto-cat-icon { font-size: 1.8rem; display: block; margin-bottom: 10px; }
.moto-cat-name { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.moto-cat-price { font-size: 1.05rem; font-weight: 800; color: var(--gold); }
.moto-cat-desc { font-size: .74rem; color: rgba(255,255,255,.4); margin-top: 4px; }

.van-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.van-format-card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; padding: 24px 18px; }
.van-format-icon { font-size: 1.6rem; display: block; margin-bottom: 10px; }
.van-format-name { font-size: .9rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.van-format-desc { font-size: .78rem; color: rgba(255,255,255,.45); line-height: 1.6; }

.abonnements-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
.abonnement-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.abonnement-nom { font-size: .9rem; font-weight: 700; color: #fff; margin-bottom: 3px; }
.abonnement-detail { font-size: .75rem; color: rgba(255,255,255,.4); }
.abonnement-prix { font-size: 1.05rem; font-weight: 800; color: var(--gold); white-space: nowrap; text-align: right; }
.abonnement-prix small { font-size: .67rem; font-weight: 400; color: rgba(255,255,255,.45); display: block; }

.choix-guide { margin-top: 32px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); }
.choix-row { display: flex; align-items: center; gap: 14px; padding: 14px 22px; border-bottom: 1px solid rgba(255,255,255,.06); }
.choix-row:last-child { border-bottom: none; }
.choix-row:nth-child(even) { background: rgba(255,255,255,.02); }
.choix-situation { flex: 1; font-size: .88rem; color: rgba(255,255,255,.6); }
.choix-fleche { color: var(--gold); font-size: 1rem; flex-shrink: 0; }
.choix-prestation { font-size: .88rem; font-weight: 700; color: #fff; }

.tarifs-simples { margin-top: 32px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); }
.tarif-ligne { display: flex; justify-content: space-between; align-items: center; padding: 14px 22px; border-bottom: 1px solid rgba(255,255,255,.06); }
.tarif-ligne:last-child { border-bottom: none; }
.tarif-ligne:nth-child(even) { background: rgba(255,255,255,.02); }
.tarif-nom { font-size: .88rem; color: rgba(255,255,255,.75); }
.tarif-prix-min { font-size: .97rem; font-weight: 700; color: var(--gold); white-space: nowrap; }

.steps-reserve { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; margin-top: 40px; }
.step-reserve { text-align: center; padding: 28px 18px; background: rgba(255,255,255,.03); border: 1.5px solid rgba(255,255,255,.07); border-radius: 14px; }
.step-reserve-num { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, #C9A84C, #E8C56C); color: #07090F; font-size: 1rem; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.step-reserve h3 { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.step-reserve p { font-size: .78rem; color: rgba(255,255,255,.48); line-height: 1.6; }

.usage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; margin-top: 36px; }
.usage-card { background: rgba(255,255,255,.03); border: 1.5px solid rgba(255,255,255,.09); border-radius: 14px; padding: 26px 22px; transition: border-color .22s, background .22s, transform .22s; }
.usage-card:hover { border-color: rgba(201,168,76,.38); background: rgba(201,168,76,.04); transform: translateY(-3px); }
.usage-icon { font-size: 1.8rem; display: block; margin-bottom: 12px; }
.usage-title { font-size: .95rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.usage-desc { font-size: .82rem; color: rgba(255,255,255,.55); line-height: 1.65; }
.usage-note { display: inline-block; margin-top: 10px; font-size: .72rem; font-weight: 600; color: var(--gold); border: 1px solid rgba(201,168,76,.3); border-radius: 20px; padding: 3px 10px; }

.zone-tags-p { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; justify-content: center; }
.zone-tag-p { display: inline-block; padding: 6px 14px; border: 1px solid rgba(201,168,76,.2); border-radius: 30px; font-size: .8rem; color: rgba(255,255,255,.7); font-weight: 600; }

@media (max-width: 1024px) { .prestation-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
  .voiture-grid { grid-template-columns: 1fr; }
  .van-grid { grid-template-columns: 1fr; }
  .abonnements-grid { grid-template-columns: 1fr; }
  .choix-row { flex-wrap: wrap; gap: 4px; }
  .tarif-ligne { flex-direction: column; align-items: flex-start; gap: 3px; }
}
@media (max-width: 600px) {
  .prestation-grid { grid-template-columns: 1fr; }
  .moto-grid { grid-template-columns: 1fr; }
  .prix-table th, .prix-table td { padding: 9px 10px; font-size: .75rem; }
}

/* ──────────────────────────────────────────────────────────────────────────
   PAGE : PROFESSIONNELS & FLOTTES
   ────────────────────────────────────────────────────────────────────────── */

.cibles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 40px;
}
.cible-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 24px 20px;
  transition: border-color .22s, background .22s, transform .22s;
}
.cible-card:hover { border-color: rgba(201,168,76,.35); background: rgba(201,168,76,.04); transform: translateY(-3px); }
.cible-icon { font-size: 1.8rem; display: block; margin-bottom: 12px; }
.cible-name { font-size: .93rem; font-weight: 700; color: var(--gold); margin-bottom: 8px; }
.cible-desc { font-size: .82rem; color: rgba(255,255,255,.55); line-height: 1.65; }

.b2b-prestation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
  margin-top: 36px;
}
.b2b-prestation-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  transition: border-color .22s;
}
.b2b-prestation-card:hover { border-color: rgba(201,168,76,.35); }
.b2b-prestation-card.featured { border-color: rgba(201,168,76,.32); background: rgba(201,168,76,.05); }
.b2b-prestation-icon { font-size: 1.5rem; display: block; margin-bottom: 10px; }
.b2b-prestation-name { font-size: .9rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.b2b-prestation-desc { font-size: .8rem; color: rgba(255,255,255,.52); line-height: 1.65; flex: 1; }
.b2b-prestation-price { font-size: 1rem; font-weight: 800; color: var(--gold); margin-top: 12px; }
.b2b-prestation-note { font-size: .7rem; color: rgba(255,255,255,.35); margin-top: 3px; }

.b2b-table-wrap { overflow-x: auto; margin-top: 28px; }
.b2b-table { width: 100%; border-collapse: collapse; font-size: .84rem; color: var(--white); }
.b2b-table th { background: rgba(201,168,76,.1); color: var(--gold); font-weight: 700; padding: 11px 14px; text-align: center; border: 1px solid rgba(255,255,255,.07); font-size: .76rem; text-transform: uppercase; letter-spacing: .4px; }
.b2b-table th.label-col { text-align: left; }
.b2b-table td { padding: 10px 14px; border: 1px solid rgba(255,255,255,.06); text-align: center; color: rgba(255,255,255,.72); }
.b2b-table td.label-col { text-align: left; font-weight: 600; color: var(--white); }
.b2b-table tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.b2b-table tr:hover td { background: rgba(201,168,76,.04); }
.b2b-table .gold { font-weight: 700; color: var(--gold); }

.flottes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 36px;
}
.flotte-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  transition: border-color .22s;
}
.flotte-card:hover { border-color: rgba(201,168,76,.38); }
.flotte-card.featured { border-color: rgba(201,168,76,.35); background: rgba(201,168,76,.06); }
.flotte-badge { display: inline-block; font-size: .66rem; font-weight: 700; background: var(--gold); color: #07090F; border-radius: 4px; padding: 2px 8px; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .04em; }
.flotte-name { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.flotte-price { font-size: 1.25rem; font-weight: 900; color: var(--gold); margin: 8px 0 4px; }
.flotte-price-note { font-size: .72rem; color: rgba(255,255,255,.38); margin-bottom: 14px; }
.flotte-included { font-size: .82rem; color: rgba(255,255,255,.6); margin-bottom: 6px; }
.flotte-extra { font-size: .78rem; color: rgba(255,255,255,.42); }

.camping-b2b-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.camping-b2b-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 20px 18px;
}
.camping-b2b-name { font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.camping-b2b-prices p { font-size: .8rem; color: rgba(255,255,255,.55); line-height: 1.8; }
.camping-b2b-prices strong { color: var(--gold); }

.complex-grid { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 28px; }
.complex-tag { display: inline-block; padding: 7px 14px; border: 1px solid rgba(201,168,76,.18); border-radius: 30px; font-size: .8rem; color: rgba(255,255,255,.65); font-weight: 500; }

.steps-b2b {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 36px;
}
.step-b2b { text-align: center; padding: 22px 14px; background: rgba(255,255,255,.03); border: 1.5px solid rgba(255,255,255,.07); border-radius: 12px; }
.step-b2b-num { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,#C9A84C,#E8C56C); color: #07090F; font-size: .9rem; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.step-b2b h3 { font-size: .82rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.step-b2b p { font-size: .75rem; color: rgba(255,255,255,.45); line-height: 1.55; }

.tarifs-pro-liste { margin-top: 28px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.07); max-width: 680px; margin-left: auto; margin-right: auto; }
.tarifs-pro-ligne { display: flex; justify-content: space-between; align-items: center; padding: 13px 20px; border-bottom: 1px solid rgba(255,255,255,.06); }
.tarifs-pro-ligne:last-child { border-bottom: none; }
.tarifs-pro-ligne:nth-child(even) { background: rgba(255,255,255,.02); }
.tarifs-pro-nom { font-size: .86rem; color: rgba(255,255,255,.75); }
.tarifs-pro-prix { font-size: .95rem; font-weight: 700; color: var(--gold); white-space: nowrap; }
.tarifs-pro-cat { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: rgba(255,255,255,.32); margin: 8px 20px 2px; }

.b2b-pillars { background: var(--dark2); border-top: 1px solid rgba(201,168,76,.14); border-bottom: 1px solid rgba(201,168,76,.14); padding: 36px 0; }
.b2b-pillars-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.b2b-pillar { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 18px 16px; border-right: 1px solid rgba(201,168,76,.1); }
.b2b-pillar:last-child { border-right: none; }
.b2b-pillar-icon { font-size: 1.5rem; margin-bottom: 8px; }
.b2b-pillar-title { font-size: .82rem; font-weight: 700; color: var(--gold); margin-bottom: 4px; text-transform: uppercase; letter-spacing: .3px; }
.b2b-pillar-desc { font-size: .75rem; color: rgba(255,255,255,.48); line-height: 1.55; }

@media (max-width: 1024px) { .cibles-grid { grid-template-columns: repeat(2, 1fr); } .steps-b2b { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .b2b-pillars-inner { grid-template-columns: repeat(2, 1fr); } .b2b-pillar { border-right: none; border-bottom: 1px solid rgba(201,168,76,.08); } .b2b-pillar:nth-child(even) { border-bottom: none; } .flottes-grid { grid-template-columns: 1fr; } .camping-b2b-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .steps-b2b { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cibles-grid { grid-template-columns: 1fr; } .steps-b2b { grid-template-columns: 1fr; } .b2b-prestation-grid { grid-template-columns: 1fr; } }

/* ──────────────────────────────────────────────────────────────────────────
   PAGE : BATEAU & YACHT
   ────────────────────────────────────────────────────────────────────────── */

.zone-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
  margin-top: 36px;
}
.zone-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  padding: 22px 20px;
  transition: border-color .25s, transform .2s;
}
.zone-card:hover { border-color: rgba(201,168,76,.35); transform: translateY(-2px); }
.zone-card-icon { font-size: 1.6rem; margin-bottom: 10px; display: block; }
.zone-card h3 { font-size: .98rem; font-weight: 700; color: #fff; margin: 0 0 8px; }
.zone-card p { font-size: .85rem; line-height: 1.65; color: rgba(255,255,255,.62); margin: 0 0 10px; }
.zone-badge { display: inline-block; font-size: .73rem; font-weight: 600; padding: 3px 9px; border-radius: 20px; letter-spacing: .03em; }
.zone-badge-vapor { background: rgba(201,168,76,.12); color: var(--gold); border: 1px solid rgba(201,168,76,.25); }
.zone-badge-doux { background: rgba(100,160,220,.1); color: #7fc2f4; border: 1px solid rgba(100,160,220,.2); }
.zone-badge-interdit { background: rgba(255,100,80,.08); color: #f4957c; border: 1px solid rgba(255,100,80,.18); }

.besoins-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 36px;
}
.besoin-card {
  background: rgba(255,255,255,.03);
  border: 1.5px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 20px 18px;
  transition: border-color .22s;
}
.besoin-card:hover { border-color: rgba(201,168,76,.3); }
.besoin-icon { font-size: 1.5rem; display: block; margin-bottom: 10px; }
.besoin-name { font-size: .88rem; font-weight: 700; color: var(--gold); margin-bottom: 6px; }
.besoin-desc { font-size: .8rem; color: rgba(255,255,255,.52); line-height: 1.6; }

.steps-bateau {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 36px;
}
.step-bateau { text-align: center; padding: 22px 14px; background: rgba(255,255,255,.03); border: 1.5px solid rgba(255,255,255,.07); border-radius: 12px; }
.step-bateau-num { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,#C9A84C,#E8C56C); color: #07090F; font-size: .88rem; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.step-bateau h3 { font-size: .82rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.step-bateau p { font-size: .75rem; color: rgba(255,255,255,.45); line-height: 1.55; }

.mat-notice {
  background: rgba(255,165,0,.07);
  border: 1px solid rgba(255,165,0,.22);
  border-radius: 10px;
  padding: 18px 20px;
}
.mat-notice-header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.mat-notice-icon { font-size: 1.6rem; flex-shrink: 0; }
.mat-notice-title { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; color: #E8C56C; margin: 0; }
.mat-list { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.mat-list li { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; line-height: 1.6; color: rgba(255,255,255,.78); }
.mat-list li strong { color: #E8C56C; white-space: nowrap; }
.mat-list li::before { content: "⚠"; color: rgba(255,165,0,.7); flex-shrink: 0; margin-top: 1px; }
.mat-notice-conclusion { font-size: .86rem; color: rgba(255,255,255,.58); border-top: 1px solid rgba(255,165,0,.15); padding-top: 14px; margin: 0; font-style: italic; }

.avantages-marine {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 22px;
  margin-top: 36px;
}
.avantage-marine { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 22px 20px; display: flex; gap: 14px; align-items: flex-start; }
.avantage-marine-icon { font-size: 1.5rem; flex-shrink: 0; margin-top: 2px; }
.avantage-marine h3 { font-size: .95rem; font-weight: 700; color: #fff; margin: 0 0 6px; }
.avantage-marine p { font-size: .84rem; color: rgba(255,255,255,.6); line-height: 1.65; margin: 0; }

.saison-vente-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 40px; }
.saison-block { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 30px 26px; }
.saison-block h3 { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 700; color: var(--gold); margin: 0 0 14px; }
.saison-block p { font-size: .88rem; color: rgba(255,255,255,.62); line-height: 1.75; margin: 0 0 16px; }
.saison-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.saison-tag { display: inline-block; padding: 4px 12px; border: 1px solid rgba(201,168,76,.18); border-radius: 20px; font-size: .75rem; color: rgba(255,255,255,.55); }

.devis-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
.devis-tag { display: inline-block; padding: 7px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 30px; font-size: .8rem; color: rgba(255,255,255,.58); }

.ports-grid { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 24px 0; }
.port-tag { display: inline-block; padding: 8px 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: 8px; font-size: .82rem; color: rgba(255,255,255,.65); }

.boat-contact-form { display: grid; gap: 18px; max-width: 680px; margin: 0 auto; }
.form-photo-note { font-size: .82rem; color: rgba(255,255,255,.45); background: rgba(255,255,255,.03); border: 1px dashed rgba(255,255,255,.12); border-radius: 8px; padding: 12px 14px; line-height: 1.6; }
.form-photo-note a { color: var(--gold); }
.form-success { background: rgba(201,168,76,.06); border: 1px solid rgba(201,168,76,.25); border-radius: 10px; padding: 20px 24px; color: rgba(255,255,255,.85); font-size: .92rem; line-height: 1.7; text-align: center; }

@media (max-width: 900px) { .besoins-grid { grid-template-columns: repeat(2, 1fr); } .steps-bateau { grid-template-columns: repeat(2, 1fr); } .saison-vente-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .besoins-grid { grid-template-columns: 1fr; } .steps-bateau { grid-template-columns: 1fr; } }
