/* ==========================================================================
   Tunnel d'achat BHI — panier, adresse, paiement, portail.

   Ces pages sont rendues par Odoo (website_sale / portal). On masque son
   chrome par defaut (« Your Logo », menus generiques, pied de page
   « yourcompany.example.com ») et on pose l'identite BHI par-dessus : meme
   header, meme footer, memes couleurs que le reste du site.

   Charge UNIQUEMENT sur b-h-i.net (voir shop_layout_templates.xml) : les
   autres sites de l'instance gardent leur propre habillage.
   ========================================================================== */

:root{
  --bhi-marine:#101F34;
  --bhi-navy:#1B3454;
  --bhi-bg:#FAFAF8;
  --bhi-text:#14141A;
  --bhi-dim:#4A4A55;
  --bhi-border:rgba(20,20,30,.10);
  --bhi-action:#C8A778;
  --bhi-action-text:#101F34;
  --bhi-action-hover:#B8955F;
}

/* --- le chrome Odoo s'efface : le header BHI est injecte par le JS ------- */
body > header#top,
#wrapwrap > header#top,
#wrapwrap > footer#bottom,
.o_footer{
  display:none !important;
}

/* le header BHI est en position fixe : on laisse la place au contenu.
   header-corporate.js publie --nav-h depuis la hauteur reelle. */
#wrapwrap{
  padding-top:var(--nav-h,146px);
  background:var(--bhi-bg);
}

body{
  font-family:'Geist',system-ui,-apple-system,sans-serif;
  background:var(--bhi-bg);
  color:var(--bhi-text);
}

#wrapwrap h1,#wrapwrap h2,#wrapwrap h3,#wrapwrap h4{
  color:var(--bhi-marine);
  letter-spacing:-.01em;
}

/* --- le bouton qui fait payer porte l'or de la marque ------------------- */
#wrapwrap .btn-primary,
#wrapwrap a.btn-primary,
#wrapwrap button.btn-primary,
#wrapwrap .o_payment_form .btn-primary{
  background:var(--bhi-action) !important;
  border-color:var(--bhi-action) !important;
  color:var(--bhi-action-text) !important;
  font-weight:600;
}
#wrapwrap .btn-primary:hover,
#wrapwrap .btn-primary:focus{
  background:var(--bhi-action-hover) !important;
  border-color:var(--bhi-action-hover) !important;
  color:var(--bhi-action-text) !important;
}
#wrapwrap .btn-primary:focus-visible{
  outline:3px solid var(--bhi-marine);outline-offset:2px;
}

/* actions secondaires : contour marine, jamais l'or */
#wrapwrap .btn-secondary,
#wrapwrap .btn-outline-primary{
  background:transparent !important;
  border-color:var(--bhi-navy) !important;
  color:var(--bhi-navy) !important;
}
#wrapwrap .btn-secondary:hover,
#wrapwrap .btn-outline-primary:hover{
  background:rgba(27,52,84,.06) !important;
  color:var(--bhi-navy) !important;
}

#wrapwrap a{color:var(--bhi-navy)}
#wrapwrap a:hover{color:var(--bhi-marine)}

/* --- cartes, tableaux, etapes ------------------------------------------ */
#wrapwrap .card,
#wrapwrap #o_cart_summary,
#wrapwrap .o_portal_wrap .card{
  border-color:var(--bhi-border);
  border-radius:14px;
}
#wrapwrap table td,#wrapwrap table th{border-color:var(--bhi-border)}

/* les montants s'alignent en colonne */
#wrapwrap .oe_currency_value,
#wrapwrap .o_wsale_order_total,
#wrapwrap td.text-end{font-variant-numeric:tabular-nums}

/* fil d'etapes du tunnel (Commande > Adresse > Paiement) */
#wrapwrap .o_wizard_step_active,
#wrapwrap .o_wizard .o_wizard_step_active{color:var(--bhi-marine) !important}

/* --- le portail « Mes suites » ------------------------------------------ */
#wrapwrap .o_portal_my_doc_table th{color:var(--bhi-dim)}
#wrapwrap .badge.text-bg-success{background:rgba(46,125,91,.13) !important;color:#2E7D5B !important}

@media (max-width:860px){
  #wrapwrap{padding-top:var(--nav-h,120px)}
}

/* ==========================================================================
   Le contenu BHI injecte sous le bloc d'achat de la page produit native.
   Reprend les memes briques que le catalogue (damier, comparatif, sections
   modules) : store.css n'etant pas charge ici, on redefinit ce qu'il faut.
   ========================================================================== */

.bhi-showcase{max-width:1000px;margin:0 auto;padding:1rem 0 3rem;font-family:'Geist',system-ui,sans-serif}
.bhi-showcase h2{font-size:1.6rem;margin:2rem 0 .8rem;color:var(--bhi-marine)}
.bhi-showcase h3{font-size:1.15rem;margin:2.2rem 0 .8rem;color:var(--bhi-marine)}
.bhi-showcase p{color:var(--bhi-dim);line-height:1.65;max-width:74ch}
.bhi-showcase p.bhi-lead{font-size:1.08rem;color:var(--bhi-text);line-height:1.7}
.bhi-showcase__flags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.4rem}
.bhi-showcase__back{margin-top:2.4rem;font-size:14px}
.bhi-showcase .bhi-muted{color:var(--bhi-dim)}

.bhi-onprem{display:inline-flex;align-items:center;background:var(--bhi-marine);color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:.11em;border-radius:5px;padding:3px 8px;line-height:1.3;white-space:nowrap}
.bhi-onprem--lg{font-size:12px;padding:6px 13px;letter-spacing:.13em;border-radius:6px}
.bhi-chip{display:inline-block;font-size:12px;background:rgba(27,52,84,.08);color:var(--bhi-navy);
  border-radius:999px;padding:4px 11px}
.bhi-chip--warn{background:rgba(27,52,84,.14);font-weight:600}

.bhi-damier{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 1.6rem;
  background:rgba(16,31,52,.04);border:1px solid var(--bhi-border);border-radius:14px;padding:14px}
.bhi-damier img{width:100%;aspect-ratio:1;border-radius:9px;background:#fff;padding:8px;
  object-fit:contain;border:1px solid var(--bhi-border)}

.bhi-stats{width:100%;border-collapse:collapse;margin:1.2rem 0 .6rem}
.bhi-stats thead th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--bhi-dim);font-weight:600;padding:0 .9rem .7rem;border-bottom:1px solid var(--bhi-border)}
.bhi-stats td{padding:.85rem .9rem;border-bottom:1px solid var(--bhi-border);vertical-align:top}
.bhi-stats__num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bhi-stats td.bhi-stats__num{font-size:15px;color:var(--bhi-dim)}
.bhi-stats td.bhi-stats__ai{color:var(--bhi-marine);font-weight:700}
.bhi-stats__detail{display:block;font-size:12.5px;color:var(--bhi-dim);margin-top:3px;font-weight:400}
.bhi-stats__gain{display:inline-block;background:rgba(46,125,91,.12);color:#2E7D5B;
  font-weight:700;font-size:13px;border-radius:6px;padding:3px 9px}
.bhi-stats__note{margin-top:.4rem;font-size:12.5px}

.bhi-mods{display:flex;flex-direction:column;gap:14px;margin:1.2rem 0 .5rem}
.bhi-mod{background:#fff;border:1px solid var(--bhi-border);border-radius:14px;padding:20px 22px}
.bhi-mod__head{display:grid;grid-template-columns:44px 1fr auto;gap:15px;align-items:start}
.bhi-mod__head img{width:44px;height:44px;border-radius:10px;object-fit:contain}
.bhi-mod__head h4{font-size:16px;margin:0 0 3px;color:var(--bhi-marine)}
.bhi-mod__head p{font-size:13.5px;color:var(--bhi-dim);margin:0;line-height:1.45}
.bhi-mod__ver{font-size:11.5px;color:var(--bhi-navy);border:1px solid var(--bhi-border);
  border-radius:6px;padding:3px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bhi-mod__body{margin-top:14px;padding-top:14px;border-top:1px solid var(--bhi-border)}
.bhi-mod__body p{font-size:14px;margin:0 0 .7rem}
.bhi-mod__body ul{margin:.3rem 0;padding-left:1.15rem;color:var(--bhi-dim);font-size:13.5px;line-height:1.7}
.bhi-mod__body strong{color:var(--bhi-text)}
.bhi-req{color:var(--bhi-dim);max-width:74ch;line-height:1.7;padding-left:1.15rem}
.bhi-req strong{color:var(--bhi-text)}

@media (max-width:860px){
  .bhi-damier{grid-template-columns:repeat(4,1fr)}
  .bhi-stats thead{display:none}
  .bhi-stats tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:.8rem 0;border-bottom:1px solid var(--bhi-border)}
  .bhi-stats td{border:0;padding:0}
  .bhi-stats td:first-child{grid-column:1/-1;margin-bottom:6px}
  .bhi-mod__head{grid-template-columns:38px 1fr}
}
