/* Sea Tech France : maquettes Figma « Site actuel — Modifications » */
:root {
  --st-marine: #002a51;
  --st-bleu: #4695d2;
  --st-bleu-survol: #3a86c2;
  --st-bleu-texte: #1f6fb2;
  --st-encre: #16202b;
  --st-gris: #55636f;
  --st-bord: #dde3ea;
  --st-champ: #aebac6;
  --st-fond: #f2f6fa;
  --st-texte: "Barlow", sans-serif;
  --st-titre: "Barlow Condensed", "Barlow", sans-serif;
}

body:has(.st-bleed) { overflow-x: clip; }
.st-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.st-icone { display: block; flex: none; }
.st-surtitre { margin: 0; font: 600 14px/1.2 var(--st-texte); letter-spacing: 1.12px; color: var(--st-bleu-texte); }

/* ---------- Boutons ---------- */
.st-btn,
.elementor-button:not(.elementor-element-572bee5 *):not(.elementor-element-fbb13b5 *):not(.elementor-element-5065fbc *),
a.elementskit-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px 20px !important;
  border: 1px solid var(--st-bleu) !important;
  border-radius: 4px !important;
  background: var(--st-bleu) !important;
  color: #fff !important;
  font: 600 15px/18px var(--st-texte) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color .2s, border-color .2s, color .2s;
}
.st-btn:hover,
.elementor-button:not(.elementor-element-572bee5 *):not(.elementor-element-fbb13b5 *):not(.elementor-element-5065fbc *):hover,
a.elementskit-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--st-bleu-survol) !important;
  border-color: var(--st-bleu-survol) !important;
  color: #fff !important;
}
.st-btn--sec { background: #fff !important; color: var(--st-marine) !important; }
.st-btn--sec:hover { background: var(--st-fond) !important; border-color: var(--st-bleu) !important; color: var(--st-marine) !important; }
/* Accueil : « Boutique consommables » (versions ordinateur et mobile) en bouton secondaire */
body .elementor .elementor-element.elementor-element-8e9501b .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-7646063 .elementor-button.elementor-button { background: #fff !important; color: var(--st-marine) !important; }
body .elementor .elementor-element.elementor-element-8e9501b .elementor-button.elementor-button:hover,
body .elementor .elementor-element.elementor-element-7646063 .elementor-button.elementor-button:hover { background: var(--st-fond) !important; border-color: var(--st-bleu) !important; color: var(--st-marine) !important; }
.st-btn:focus-visible, .st-categorie:focus-visible, .st-tarif:focus-visible { outline: 2px solid var(--st-marine); outline-offset: 2px; }

/* ---------- En-tête ---------- */
.elementor-element-cc5102a, .elementor-element-cc5102a > .e-con-inner { padding: 0 !important; }
.st-barre {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  box-sizing: border-box; min-height: 38px; padding: 0 100px;
  background: var(--st-marine); font: 400 13px/1.2 var(--st-texte); color: #c9d6e2;
}
.st-barre__texte { margin: 0; white-space: pre-wrap; }
.st-barre__acces { display: flex; align-items: center; gap: 22px; }
.st-barre__acces a { display: flex; align-items: center; gap: 6px; color: #fff !important; text-decoration: none; }
.st-barre__pro { font-weight: 600; }
.elementor-322 .ekit-menu-nav-link {
  font: 500 16px/1.2 var(--st-texte) !important;
  color: var(--st-encre) !important;
}

/* ---------- Catégories de l'accueil ---------- */
.st-boutique { background: var(--st-fond); padding: 96px 24px; box-sizing: border-box; }
.st-boutique__inner { max-width: 1240px; margin: 0 auto; }
.st-section-titre { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 44px; text-align: center; }
.st-filet { display: block; width: 100px; height: 3px; background: var(--st-bleu); }
.st-section-titre h2 { margin: 0 !important; font: 600 46px/55px var(--st-titre); color: #111827; }
.st-section-titre p { margin: 0 !important; font: 400 17px/1.2 var(--st-texte); color: #6b7280; }
.st-boutique__cta { display: flex; justify-content: center; margin-top: 40px; }
.st-categories { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 15px; }
.st-categorie {
  display: flex; flex-direction: column; gap: 14px; padding: 16px 16px 20px;
  background: #fff; border: 1px solid var(--st-bord); border-radius: 6px;
  text-decoration: none !important; transition: border-color .2s, box-shadow .2s;
}
.st-categorie__nom { text-decoration: none !important; }
.st-categorie:hover { border-color: var(--st-bleu); box-shadow: 0 4px 14px rgba(0, 42, 81, .08); }
.st-categorie img:not(.st-icone) { width: 100%; height: 170px; object-fit: contain; }
.st-categorie__nom { display: flex; align-items: center; justify-content: space-between; gap: 8px; font: 600 22px/1.2 var(--st-titre); color: var(--st-marine); }

/* ---------- Cartes produit (visiteurs) ---------- */
.b2bking_logged_out .woo-card__footer .elementor-widget-woocommerce-product-add-to-cart { display: none; }
.st-tarif, a.st-tarif[href*="connexion-inscription"] {
  display: inline-flex; align-items: center; gap: 6px;
  font: 400 14px/1.2 var(--st-texte) !important; color: var(--st-gris) !important; text-decoration: none;
}
.st-tarif:hover { color: var(--st-marine) !important; }

/* ---------- Fiche produit (visiteurs) ---------- */
.st-acces { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--st-fond); border-radius: 6px; }
.st-acces__titre { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 24px/1.2 var(--st-titre); color: var(--st-marine); }
.st-acces__texte { margin: 0; font: 400 16px/1.3 var(--st-texte); color: var(--st-gris); }
.st-acces__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Page de compte ---------- */
.st-compte { display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; font-family: var(--st-texte); }
.st-compte #customer_login { display: block; width: 100%; margin: 0; }
.st-compte #customer_login .u-column1,
.st-compte #customer_login .u-column2 { float: none; width: 100%; padding: 0; }
.st-compte #customer_login h2 { margin: 0 0 20px; font: 600 46px/1.2 var(--st-titre); color: var(--st-marine); }
.st-compte form.login, .st-compte form.register { margin: 0; padding: 0; border: 0; border-radius: 0; }
.st-compte .form-row { margin: 0 0 20px; padding: 0 !important; }
.st-compte label { display: block; margin-bottom: 6px; font: 600 15px/1.2 var(--st-texte); color: var(--st-encre); }
.st-compte label .required { color: inherit; }
.st-compte input.input-text,
.st-compte input.b2bking_custom_registration_field,
.st-compte select,
.st-compte .select2-container .select2-selection--single {
  box-sizing: border-box; width: 100%; height: 48px; padding: 0 14px;
  border: 1px solid var(--st-champ); border-radius: 4px; background: #fff;
  font: 400 15px/1.2 var(--st-texte); color: var(--st-encre);
}
.st-compte input::placeholder { color: var(--st-gris); opacity: 1; }
.st-compte .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0; }
.st-compte .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }

.st-panneau { position: relative; display: flex; align-items: center; background-color: var(--st-marine); background-size: cover; background-position: center; }
.st-panneau::before { content: ""; position: absolute; inset: 0; background: rgba(0, 42, 81, .86); }
.st-panneau__texte { position: relative; display: flex; flex-direction: column; gap: 22px; max-width: 540px; padding: 60px 40px 60px 100px; }
.st-panneau .st-surtitre { color: #9ccbee; }
.st-panneau__titre { margin: 0 !important; font: 600 58px/60px var(--st-titre); color: #fff; }
.st-panneau .st-surtitre, .st-rappel__titre, .st-rappel__contact { margin: 0 !important; }
.st-panneau ul { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; padding: 0; list-style: none; }
.st-rappel ol { margin: 0 !important; }
.st-surtitre { margin-bottom: 0 !important; }
.st-compte label .required { color: inherit !important; }
.st-compte form.register > .form-row:last-of-type { margin-bottom: 0; }
.st-compte form.register .st-bloc:last-of-type { margin-bottom: 20px; }
.st-panneau li { display: flex; gap: 12px; font: 400 18px/25px var(--st-texte); color: #fff; }

.st-compte__formulaires { display: flex; align-items: center; justify-content: center; padding: 60px 24px; }
.st-compte__formulaires > .u-columns { max-width: 440px; }
.st-rappel { display: none; }

/* Vue connexion */
body:not(.st-vue-inscription) .st-compte {
  --st-cadre: min(1240px, 100vw - 48px);
  width: var(--st-cadre);
  margin: 48px calc(50% - var(--st-cadre) / 2);
  border: 1px solid var(--st-bord);
  border-radius: 6px;
  overflow: hidden;
  box-sizing: border-box;
}
body:not(.st-vue-inscription) .st-panneau__texte { padding: 60px; }
body:not(.st-vue-inscription) .st-compte #customer_login .u-column2 { display: none; }
.st-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.st-options label { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.st-options .lost_password { margin: 0; }
.st-options .lost_password a, .st-compte .woocommerce-privacy-policy-text a { color: var(--st-bleu-texte); }
.st-compte .woocommerce-form-login__submit { width: 100%; }
.st-vers-inscription { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--st-bord); }
.st-vers-inscription p { margin: 0 0 12px; font: 600 17px/1.2 var(--st-texte); color: var(--st-marine); }
.st-vers-inscription .st-btn { box-sizing: border-box; width: 100%; }

/* Vue inscription */
.st-vue-inscription .st-compte { grid-template-columns: minmax(0, 860px) 320px; justify-content: center; gap: 60px; padding: 50px 24px 80px; box-sizing: border-box; min-height: 0; }
.st-vue-inscription .st-panneau,
.st-vue-inscription .st-compte #customer_login .u-column1,
.st-vue-inscription .st-compte #customer_login .u-column2 > h2 { display: none; }
.st-vue-inscription .st-compte__formulaires { display: block; padding: 0; }
.st-vue-inscription .st-compte__formulaires > .u-columns { max-width: none; }
.st-inscription__intro { margin-bottom: 20px; }
.st-inscription__intro h1 { margin: 0 0 20px; font: 600 52px/1.2 var(--st-titre); color: var(--st-marine); }
.st-inscription__intro p { margin: 0; font: 400 18px/1.3 var(--st-texte); color: var(--st-gris); }
body:not(.st-vue-inscription) .st-inscription__intro { display: none; }
.st-bloc { margin-bottom: 20px; padding: 26px 30px 30px; background: #fff; border: 1px solid var(--st-bord); border-radius: 6px; }
.st-bloc__titre { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.st-bloc__titre span { display: flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--st-marine); font: 600 16px/1 var(--st-texte); color: #fff; }
.st-compte #customer_login .st-bloc__titre h2 { margin: 0; font: 600 30px/1.2 var(--st-titre); color: var(--st-marine); }
.st-bloc__champs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.st-bloc__champs .form-row { margin: 0; }
.st-champ--plein { grid-column: 1 / -1; }
.st-bloc .woocommerce-privacy-policy-text p { margin: 0; font: 400 14px/21px var(--st-texte); color: var(--st-gris); }
.st-compte .woocommerce-form-register__submit { box-sizing: border-box; width: 100%; }
.st-vue-inscription .st-rappel { display: flex; flex-direction: column; align-self: start; gap: 16px; padding: 26px; background: var(--st-fond); border-radius: 6px; }
.st-rappel__titre { margin: 0; font: 600 28px/1.2 var(--st-titre); color: var(--st-marine); }
.st-rappel ol { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: st-etape; }
.st-rappel li { display: flex; gap: 10px; font: 400 16px/23px var(--st-texte); color: var(--st-encre); counter-increment: st-etape; }
.st-rappel li::before { content: counter(st-etape); font: 600 24px/1 var(--st-titre); color: var(--st-bleu-texte); }
.st-rappel__contact { margin: 0; font: 600 16px/24px var(--st-texte); color: var(--st-marine); }
.st-rappel__contact a { color: inherit; text-decoration: none; }

/* ---------- Tablette et mobile ---------- */
@media (max-width: 1024px) {
  .st-barre { padding: 0 24px; }
  .st-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .st-compte, .st-vue-inscription .st-compte { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .st-panneau__texte { padding: 48px 24px; }
  .st-panneau__titre { font-size: 44px; line-height: 48px; }
  .st-compte { min-height: 0; }
}
@media (max-width: 767px) {
  body:not(.st-vue-inscription) .st-compte { --st-cadre: calc(100vw - 32px); margin-block: 24px; }
  body:not(.st-vue-inscription) .st-panneau__texte { padding: 40px 20px; }
  .st-boutique { padding: 56px 16px; }
  .st-section-titre h2 { font-size: 36px; line-height: 40px; }
  .st-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .st-categorie { padding: 12px 12px 16px; }
  .st-categorie img:not(.st-icone) { height: 120px; }
  .st-categorie__nom { font-size: 19px; }
  .st-acces__cta .st-btn { flex: 1 1 100%; box-sizing: border-box; }
  .st-panneau__titre { font-size: 36px; line-height: 40px; }
  .st-panneau li { font-size: 16px; }
  .st-compte__formulaires { padding: 40px 16px; }
  .st-compte #customer_login h2, .st-inscription__intro h1 { font-size: 36px; }
  .st-vue-inscription .st-compte { padding: 32px 16px 56px; }
  .st-bloc { padding: 20px 16px 24px; }
  .st-bloc__champs { grid-template-columns: minmax(0, 1fr); }
}
