/* ==================================================
   HEXATECH STYLE.CSS V7
   Règle globale : fond jaune → texte bleu nuit
   ================================================== */

:root{
  --hexa-blue-night:#071A33;
  --hexa-blue:#0D6EFD;
  --hexa-blue-deep:#10294d;
  --hexa-yellow:#FFC107;
  --hexa-yellow-soft:#FFE082;
  --hexa-yellow-pale:#FFF3CD;
  --hexa-yellow-light:#FFF8E1;
  --hexa-text-on-dark:#F5F7FA;
  --hexa-text-muted-on-dark:#c8d6ea;
  --hexa-text-on-yellow:#071A33;
  --hexa-text-muted-on-yellow:#1a3a5c;
  --hexa-surface-border:rgba(255,193,7,.35);
  --radius:16px;

  /* aliases legacy */
  --blue:var(--hexa-blue-night);
  --blue2:var(--hexa-blue-deep);
  --yellow:var(--hexa-yellow);
  --yellow-soft:var(--hexa-yellow-soft);
  --yellow-pale:var(--hexa-yellow-pale);
  --yellow-card:var(--hexa-yellow-light);
  --white:#ffffff;
  --text:var(--hexa-text-on-dark);
  --text-muted-light:var(--hexa-text-muted-on-dark);
  --text-dark:var(--hexa-text-on-yellow);
  --card:#162844;
}

/* ==================================================
   BASE — fond bleu nuit
   ================================================== */

body{
  background:linear-gradient(180deg,var(--hexa-blue-night) 0%,#0b1a30 45%,#10233f 100%);
  color:var(--hexa-text-on-dark);
}

.hexatech-public{
  --hexa-surface:var(--hexa-yellow-light);
}

/* Texte par défaut sur fond sombre (hors surfaces jaunes) */
.hexatech-public,
.hexatech-public .container,
.hexatech-public section{
  color:var(--hexa-text-on-dark);
}

.hexatech-public p,
.hexatech-public li,
.hexatech-public label{
  color:var(--hexa-text-on-dark);
}

.hexatech-public .lead{
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .text-muted{
  color:var(--hexa-text-muted-on-dark)!important;
}

/* Titres importants sur fond bleu nuit */
.hexatech-public h1,
.hexatech-public h2,
.hexatech-public h3,
.hexatech-public h4{
  color:var(--hexa-yellow);
}

.hexatech-public .text-warning{
  color:var(--hexa-yellow)!important;
}

.hexatech-public .price{
  font-size:2rem;
  font-weight:700;
  color:var(--hexa-yellow);
}

.hexatech-public .text-light{
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .text-white{
  color:var(--hexa-text-on-dark)!important;
}

/* ==================================================
   SURFACES JAUNES — FOND JAUNE = TEXTE BLEU NUIT
   ================================================== */

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .service-card,
  .hexa-config-card,
  .hexa-price-card,
  .hexa-price-panel,
  .bg-warning,
  .alert-info,
  .hexa-info-banner,
  .accordion-item,
  .accordion-button,
  .accordion-body,
  .hexa-cart-no-image
){
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .service-card,
  .hexa-config-card,
  .hexa-price-card,
  .hexa-price-panel,
  .bg-warning,
  .alert-info,
  .hexa-info-banner,
  .accordion-item,
  .accordion-button,
  .accordion-body
) :is(
  p, li, span, label, td, th, small, strong, em, div,
  h1, h2, h3, h4, h5, h6,
  .lead, .price, .text-warning, .text-white, .text-light,
  .text-muted, .text-success, .text-primary, .text-danger, .text-info,
  .display-1, .display-2, .display-3, .display-4, .display-5, .display-6
){
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .hexa-config-card,
  .hexa-price-panel
) .text-muted{
  color:var(--hexa-text-muted-on-yellow)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .hexa-config-card,
  .hexa-price-panel
) .price,
.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .hexa-config-card,
  .hexa-price-panel
) :is(.display-4, .display-5, .display-6).text-warning{
  color:var(--hexa-text-on-yellow)!important;
  font-weight:800;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .service-card,
  .hexa-config-card
) :is(h1, h2, h3, h4, h5, h6){
  color:var(--hexa-text-on-yellow)!important;
  font-weight:700;
}

/* Icônes sur cartes jaunes : bleu accent (pas blanc/jaune pâle) */
.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .service-card,
  .configuration-card
) :is(i, .bi){
  color:var(--hexa-blue-deep)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .service-card
) .text-warning :is(i, .bi),
.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .service-card
) i.text-warning,
.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .service-card
) i.text-primary{
  color:var(--hexa-blue)!important;
}

/* Listes sur cartes jaunes */
.hexatech-public .list-group-item{
  background:rgba(255,255,255,.55)!important;
  color:var(--hexa-text-on-yellow)!important;
  border-color:rgba(7,26,51,.12)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .configuration-card,
  .hexa-config-card
) .list-group-item{
  color:var(--hexa-text-on-yellow)!important;
}

/* Badges jaunes */
.hexatech-public .badge.bg-warning,
.hexatech-public .badge.bg-success,
.hexatech-public .badge.bg-light,
.hexatech-public .badge.hexa-badge-available{
  background:var(--hexa-yellow-soft)!important;
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public .badge.bg-primary{
  background:var(--hexa-blue-deep)!important;
  color:var(--hexa-text-on-dark)!important;
}

/* Boutons sur fond jaune / boutons jaunes */
.hexatech-public .btn-warning,
.hexatech-public .btn-success,
.hexatech-public .btn-light,
.hexatech-public .btn-order{
  background:var(--hexa-yellow)!important;
  border-color:var(--hexa-yellow)!important;
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public .btn-primary{
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public :is(
  .card:not(.bg-primary):not(.hexa-cta-panel),
  .hexa-price-panel,
  .bg-warning
) .btn-primary{
  color:var(--hexa-text-on-dark)!important;
}

/* ==================================================
   COMPOSANTS — cartes, sections, alertes
   ================================================== */

.hexatech-public .card:not(.bg-primary):not(.hexa-cta-panel),
.hexatech-public .accordion-item,
.hexatech-public .configuration-card,
.hexatech-public .service-card{
  background:var(--hexa-surface)!important;
  border:1px solid var(--hexa-surface-border)!important;
  border-radius:var(--radius)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  transition:.25s;
}

.hexatech-public .card:not(.bg-primary):not(.hexa-cta-panel):hover,
.hexatech-public .configuration-card:hover,
.hexatech-public .service-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
}

.hexatech-public .bg-light,
.hexatech-public .hexa-surface-alt{
  background:linear-gradient(180deg,#0d2138 0%,var(--hexa-blue-night) 100%)!important;
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .bg-light h2,
.hexatech-public .bg-light .lead,
.hexatech-public .hexa-surface-alt h2,
.hexatech-public .hexa-surface-alt .lead{
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .bg-light .card,
.hexatech-public .hexa-surface-alt .card{
  background:var(--hexa-surface)!important;
}

.hexatech-public .alert-info,
.hexatech-public .hexa-info-banner{
  background:var(--hexa-yellow-pale)!important;
  border:1px solid rgba(255,193,7,.45)!important;
}

.hexatech-public .bg-warning{
  background:var(--hexa-yellow)!important;
}

.hexatech-public .hexa-price-panel{
  background:linear-gradient(180deg,var(--hexa-yellow-pale) 0%,var(--hexa-yellow-light) 100%);
  border:2px solid var(--hexa-yellow);
  border-radius:var(--radius);
  padding:1.25rem;
}

.hexatech-public .hexa-price-card{
  background:var(--hexa-surface)!important;
  border:2px solid var(--hexa-yellow)!important;
}

.hexatech-public .card.bg-primary,
.hexatech-public .hexa-cta-panel{
  background:linear-gradient(135deg,var(--hexa-blue-deep),var(--hexa-blue-night))!important;
  border:1px solid rgba(255,193,7,.25)!important;
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .card.bg-primary :is(p, h2, h3, h4, h5, span, .lead),
.hexatech-public .hexa-cta-panel :is(p, h2, h3, h4, h5, span, .lead){
  color:var(--hexa-text-on-dark)!important;
}

.hexatech-public .card.bg-primary h2,
.hexatech-public .hexa-cta-panel h2{
  color:var(--hexa-yellow)!important;
}

/* Accordéon FAQ */
.hexatech-public .accordion-button{
  background:var(--hexa-yellow-soft)!important;
  font-weight:600;
}

.hexatech-public .accordion-button:not(.collapsed){
  background:var(--hexa-yellow)!important;
  box-shadow:none;
}

.hexatech-public .accordion-body{
  background:var(--hexa-surface)!important;
}

/* Tableaux dans cartes jaunes */
.hexatech-public .card .table thead th{
  background:rgba(7,26,51,.08)!important;
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public .card .table td,
.hexatech-public .card .table th{
  color:var(--hexa-text-on-yellow)!important;
}

/* ==================================================
   HERO & LAYOUT
   ================================================== */

.hero{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
}

.hero-home{
  min-height:480px;
  background-color:#08111f;
  background-image:url('../images/hero-poster.jpg');
  background-size:cover;
  background-position:center;
}

.hero-compact{
  min-height:220px!important;
  padding:1.5rem 0!important;
}

.hero-compact .hero-content{
  padding-top:1rem!important;
  padding-bottom:1rem!important;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width: 991.98px){
  .hero-video{
    display:none;
  }
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(7,26,51,.65);
}

.hero-content{
  position:relative;
  z-index:2;
}

.hero-logo{
  max-width:220px;
}

.card-img-top{
  height:220px;
  object-fit:cover;
}

.hexatech-public section.py-5,
.hexatech-public .py-5{
  padding-top:2.25rem!important;
  padding-bottom:2.25rem!important;
}

.hexatech-public .container.py-5,
.hexatech-public .container.py-4{
  padding-top:2rem!important;
  padding-bottom:2rem!important;
}

.hexatech-public .mb-5{
  margin-bottom:1.75rem!important;
}

.hexatech-public .mt-5{
  margin-top:1.75rem!important;
}

.hexatech-public .hero-home:not(.hero-compact){
  min-height:420px;
}

.hexatech-public .hero-home .hero-content{
  padding-top:2rem!important;
  padding-bottom:2rem!important;
}

.hexatech-public .display-3{
  font-size:calc(1.5rem + 1.8vw);
}

.hexatech-public .display-1{
  font-size:calc(2rem + 2.5vw);
}

.hexatech-public .hero:not(.hero-home) .display-4,
.hexatech-public .hero-compact .display-4{
  font-size:calc(1.5rem + 1.5vw);
  margin-bottom:.5rem;
}

.hexatech-public .hero-compact .lead{
  margin-bottom:0;
}

/* ==================================================
   BOUTONS & FORMULAIRES
   ================================================== */

.btn{
  font-weight:700;
  transition:.25s;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-warning{
  background:var(--hexa-yellow);
  border-color:var(--hexa-yellow);
}

.btn-order,
.btn-warning{
  box-shadow:0 10px 25px rgba(255,193,7,.35);
}

.btn-order:hover,
.btn-warning:hover{
  transform:translateY(-3px) scale(1.02);
}

.btn-outline-primary,
.btn-outline{
  color:var(--hexa-text-on-dark)!important;
  border-width:2px;
}

.btn-outline-primary:hover,
.btn-outline:hover{
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public input:not(.hexa-cart-qty-input),
.hexatech-public textarea,
.hexatech-public select{
  color:var(--hexa-text-on-dark);
  background:#162844;
}

/* ==================================================
   CONFIGURATIONS LISTING
   ================================================== */

.hexatech-public .hexa-config-card .card-body{
  display:flex;
  flex-direction:column;
}

.hexatech-public .hexa-config-card .card-body > .text-center{
  margin-top:auto;
}

.hexatech-public .hexa-config-card .card-img-top{
  height:200px;
  object-fit:contain;
  background:#fff;
  padding:.5rem;
}

.hexatech-public .hexa-config-card h2{
  font-size:1.65rem;
  margin-bottom:.75rem;
}

.hexatech-public .hexa-config-card .list-group{
  margin-bottom:1rem!important;
}

.hexatech-public .hexa-config-card .list-group-item{
  font-size:.95rem;
  padding:.55rem .85rem;
}

.hexatech-public .services-grid .card h3{
  font-size:1.25rem;
}

/* ==================================================
   PC RECONDITIONNÉS
   ================================================== */

.hexatech-public .pc-recond-section .card,
.hexatech-public .container.py-5 .card.shadow{
  background:var(--hexa-surface)!important;
}

/* ==================================================
   NAVBAR
   ================================================== */

.hexatech-public .navbar-dark.bg-dark{
  background:#061018!important;
}

.hexatech-public .bg-primary.border-bottom{
  background:var(--hexa-blue-deep)!important;
}

.hexatech-public .navbar-brand .text-warning{
  color:var(--hexa-yellow)!important;
}

.hexatech-public .navbar-brand small.text-light{
  color:var(--hexa-text-muted-on-dark)!important;
}

/* ==================================================
   DIVERS
   ================================================== */

body{overflow-x:hidden;}
.hero-logo{max-width:240px!important;height:auto;}
.hero-overlay{background:rgba(7,26,51,.45)!important;}
.navbar-brand img{height:60px;width:auto;}
.config img{width:100%;border-radius:16px;}

img{transition:.25s;}
img:hover{transform:scale(1.01);}

table td{color:var(--hexa-text-on-dark);}

@media (max-width:768px){
  .hero{min-height:340px;}
  .hero-home{min-height:380px;}
  .hero-compact{min-height:180px!important;}
  .hero-logo{max-width:160px;}
}

/* ==================================================
   PANIER — contrôle quantité (fond sombre)
   ================================================== */

body.hexatech-public .hexa-cart-table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--hexa-text-on-dark);
  --bs-table-striped-bg:transparent;
  --bs-table-hover-bg:rgba(16,41,77,.9);
  border-color:rgba(255,193,7,.2)!important;
}

body.hexatech-public .hexa-cart-table.table > :not(caption) > tbody > tr > td,
body.hexatech-public .hexa-cart-table.table > :not(caption) > tbody > tr > th,
body.hexatech-public .hexa-cart-table.table > :not(caption) > thead > tr > th{
  background-color:rgba(16,41,77,.85)!important;
  color:var(--hexa-text-on-dark)!important;
  border-color:rgba(255,193,7,.18)!important;
}

body.hexatech-public .hexa-cart-thead th{
  background:var(--hexa-blue-deep)!important;
  color:var(--hexa-yellow)!important;
  border-color:rgba(255,193,7,.25)!important;
}

body.hexatech-public .hexa-cart-table tbody td{
  vertical-align:middle;
}

body.hexatech-public .hexa-cart-table tbody td strong{
  color:var(--hexa-text-on-dark)!important;
}

body.hexatech-public .hexa-cart-no-image{
  width:80px;
  height:80px;
  flex-shrink:0;
  background:var(--hexa-yellow-pale)!important;
  color:var(--hexa-text-on-yellow)!important;
}

body.hexatech-public .hexa-cart-qty{
  min-width:9.5rem;
}

body.hexatech-public .hexa-cart-qty-group{
  flex-wrap:nowrap;
  width:max-content;
  max-width:100%;
}

body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-input.form-control{
  color:var(--hexa-text-on-yellow)!important;
  background-color:var(--hexa-yellow-pale)!important;
  border:2px solid var(--hexa-yellow)!important;
  font-weight:700;
  font-size:1rem;
  min-width:2.75rem;
  max-width:3.5rem;
  padding:.25rem .35rem;
  -moz-appearance:textfield;
}

body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-input.form-control:focus{
  color:var(--hexa-text-on-yellow)!important;
  background-color:#fff!important;
  border-color:var(--hexa-yellow)!important;
  box-shadow:0 0 0 .2rem rgba(255,193,7,.35)!important;
}

body.hexatech-public .hexa-cart-qty-input::-webkit-outer-spin-button,
body.hexatech-public .hexa-cart-qty-input::-webkit-inner-spin-button{
  opacity:1;
  height:auto;
}

body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-btn.btn{
  background-color:var(--hexa-blue-deep)!important;
  color:var(--hexa-yellow)!important;
  border:2px solid var(--hexa-yellow)!important;
  font-weight:800;
  font-size:1.1rem;
  line-height:1;
  min-width:2.25rem;
  padding:.2rem .45rem;
}

body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-btn.btn:hover,
body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-btn.btn:focus{
  background-color:var(--hexa-blue-night)!important;
  color:var(--hexa-yellow)!important;
  border-color:var(--hexa-yellow-soft)!important;
}

body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-update.btn{
  background-color:var(--hexa-yellow)!important;
  color:var(--hexa-text-on-yellow)!important;
  border:2px solid var(--hexa-yellow)!important;
  font-weight:700;
  min-width:2.35rem;
  padding:.2rem .45rem;
}

@media (max-width:576px){
  body.hexatech-public .hexa-cart-qty{min-width:100%;}
  body.hexatech-public .hexa-cart-qty-group{width:100%;}
  body.hexatech-public .hexa-cart-table .hexa-cart-qty-group .hexa-cart-qty-input.form-control{
    flex:1 1 auto;
    max-width:none;
  }
}

/* ==================================================
   HEXARTX — galerie photos réelles
   ================================================== */
.hexatech-public .hexa-config-hero-photo{
  max-height:420px;
  width:100%;
  object-fit:cover;
  object-position:center;
  background:#08111f;
}

.hexatech-public .hexa-config-card[data-configuration-slug="hexartx"] .card-img-top{
  object-fit:cover;
  object-position:center;
  background:#08111f;
}

.hexatech-public .hexa-product-gallery__item{
  display:block;
  width:100%;
  padding:0;
  border:2px solid rgba(255,193,7,.35);
  border-radius:.75rem;
  overflow:hidden;
  background:#08111f;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.hexatech-public .hexa-product-gallery__item:hover{
  border-color:#ffc107;
  box-shadow:0 0 0 .15rem rgba(13,110,253,.25);
}

.hexatech-public .hexa-product-gallery__item:focus-visible{
  outline:3px solid #ffc107;
  outline-offset:2px;
}

.hexatech-public .hexa-product-gallery__img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:center;
}

.hexatech-public .hexa-product-gallery__item--main .hexa-product-gallery__img{
  height:420px;
}

@media (max-width:991.98px){
  .hexatech-public .hexa-config-hero-photo{
    max-height:280px;
  }
  .hexatech-public .hexa-product-gallery__item--main .hexa-product-gallery__img{
    height:280px;
  }
  .hexatech-public .hexa-product-gallery__img{
    height:160px;
  }
}

@media (max-width:575.98px){
  .hexatech-public .hexa-product-gallery__item--main .hexa-product-gallery__img{
    height:220px;
  }
  .hexatech-public .hexa-product-gallery__img{
    height:120px;
  }
}

/* ==================================================
   CONFIGURATEUR PC PUBLIC
   ================================================== */
.hexatech-public .hexa-configurator-steps{
  display:flex;
  gap:.75rem;
  list-style:none;
  margin:0;
  padding:0;
}

.hexatech-public .hexa-configurator-steps > li{
  flex:1 1 0;
}

.hexatech-public .hexa-configurator-step-link{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-height:3.25rem;
  padding:.65rem .9rem;
  border:1px solid var(--hexa-surface-border);
  border-radius:var(--radius);
  color:var(--hexa-text-on-dark)!important;
  text-decoration:none;
  background:rgba(13,33,56,.55);
}

.hexatech-public .hexa-configurator-step-link.is-disabled{
  opacity:.55;
  cursor:default;
}

.hexatech-public .hexa-configurator-steps > li.is-current .hexa-configurator-step-link,
.hexatech-public .hexa-configurator-steps > li.is-done .hexa-configurator-step-link{
  border-color:var(--hexa-yellow);
  background:var(--hexa-yellow-light);
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public .hexa-configurator-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.85rem;
  height:1.85rem;
  border-radius:50%;
  background:var(--hexa-blue);
  color:#fff;
  font-weight:700;
}

.hexatech-public .hexa-configurator-steps > li.is-current .hexa-configurator-step-num,
.hexatech-public .hexa-configurator-steps > li.is-done .hexa-configurator-step-num{
  background:var(--hexa-blue-night);
  color:var(--hexa-yellow);
}

.hexatech-public .hexa-configurator-step-label{
  font-weight:700;
}

.hexatech-public .hexa-configurator-choice{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hexatech-public .hexa-configurator-choice:hover,
.hexatech-public .hexa-configurator-choice:focus-visible{
  border-color:var(--hexa-yellow)!important;
  transform:translateY(-3px);
  box-shadow:0 0 0 .18rem rgba(13,110,253,.28)!important;
}

.hexatech-public .hexa-configurator-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:.85rem;
  background:var(--hexa-blue-night);
  color:var(--hexa-yellow);
  font-size:1.35rem;
  flex:0 0 auto;
}

.hexatech-public .hexa-configurator-choice .hexa-configurator-icon,
.hexatech-public .hexa-configurator-choice .hexa-configurator-icon i{
  color:var(--hexa-yellow)!important;
  background:var(--hexa-blue-night);
}

.hexatech-public .hexa-configurator-photo{
  display:block;
  width:100%;
  max-height:280px;
  object-fit:cover;
  object-position:center;
  border-radius:.85rem;
  background:#08111f;
}

.hexatech-public .hexa-configurator-budgetbar{
  border-color:var(--hexa-yellow);
  background:rgba(13,33,56,.72);
}

.hexatech-public .hexa-configurator-part details > summary{
  list-style:none;
  cursor:pointer;
}

.hexatech-public .hexa-configurator-part details > summary::-webkit-details-marker{
  display:none;
}

.hexatech-public .hexa-configurator-option{
  display:block;
  padding:.55rem .7rem;
  border:1px solid var(--hexa-surface-border);
  border-radius:.65rem;
  color:var(--hexa-text-on-dark)!important;
  text-decoration:none;
  background:rgba(13,33,56,.45);
}

.hexatech-public .hexa-configurator-option:hover,
.hexatech-public .hexa-configurator-option:focus-visible{
  border-color:var(--hexa-yellow);
}

.hexatech-public .hexa-configurator-option.is-current{
  border-color:var(--hexa-yellow);
  background:var(--hexa-yellow-light);
  color:var(--hexa-text-on-yellow)!important;
}

.hexatech-public .hexa-configurator-option.is-disabled{
  opacity:.72;
  cursor:not-allowed;
  background:rgba(8,17,31,.55);
}

.hexatech-public #configurateurForm .form-control{
  background:#fff;
  color:var(--hexa-text-on-yellow);
  border:1px solid rgba(7,26,51,.22);
}

@media (max-width:767.98px){
  .hexatech-public .hexa-configurator-step-label{
    font-size:.9rem;
  }
  .hexatech-public .hexa-configurator-steps{
    flex-direction:column;
  }
}

/* ==================================================
   Virement bancaire — confirmation / récupération
   ================================================== */
.hexatech-public .hexa-bank-transfer-card{
  border:0;
}
.hexatech-public .hexa-bank-transfer-grid{
  display:grid;
  gap:.75rem;
}
.hexatech-public .hexa-bank-transfer-row{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding:.85rem 1rem;
  border:1px solid rgba(7,26,51,.12);
  border-radius:.5rem;
  background:#f8fafc;
}
.hexatech-public .hexa-bank-transfer-label{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#5b6b7c;
  font-weight:600;
}
.hexatech-public .hexa-bank-transfer-value{
  font-size:1.05rem;
  font-weight:700;
  color:#08111f;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.hexatech-public .hexa-bank-transfer-mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.02em;
}
.hexatech-public .hexa-bank-transfer-amount{
  font-size:1.25rem;
  color:#0b5ed7;
}
.hexatech-public .hexa-bank-transfer-actions{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.hexatech-public .hexa-bank-copy.is-copied{
  background-color:#198754 !important;
  border-color:#198754 !important;
  color:#fff !important;
}
.hexatech-public .hexa-bank-transfer-card .card-body,
.hexatech-public .hexa-bank-transfer-card .card-body p,
.hexatech-public .hexa-bank-transfer-card .card-body label,
.hexatech-public .hexa-bank-transfer-card .card-body .form-label{
  color:var(--hexa-text-on-yellow) !important;
}
.hexatech-public .hexa-bank-transfer-card .card-body .text-muted,
.hexatech-public .hexa-bank-transfer-card .card-body .small{
  color:var(--hexa-text-muted-on-yellow) !important;
}
.hexatech-public .hexa-bank-transfer-card .card-header h1,
.hexatech-public .hexa-bank-transfer-card .card-header.h4,
.hexatech-public .hexa-bank-transfer-card .card-header .h4{
  color:#fff !important;
}
.hexatech-public .hexa-bank-transfer-card .btn-outline-primary,
.hexatech-public .hexa-bank-transfer-card .btn-outline-secondary{
  color:var(--hexa-text-on-yellow) !important;
  border:2px solid var(--hexa-blue-night) !important;
  background:#fff !important;
}
.hexatech-public .hexa-bank-transfer-card .btn-outline-primary:hover,
.hexatech-public .hexa-bank-transfer-card .btn-outline-secondary:hover{
  color:#fff !important;
  background:var(--hexa-blue-night) !important;
  border-color:var(--hexa-blue-night) !important;
}
.hexatech-public .hexa-bank-transfer-card .btn-primary{
  color:#fff !important;
}
@media (min-width:576px){
  .hexatech-public .hexa-bank-transfer-actions{
    flex-direction:row;
  }
  .hexatech-public .hexa-bank-transfer-actions .btn{
    flex:1 1 0;
  }
}


/* ==================================================
   AUDIT FIXES — panier mobile + header clip
   ================================================== */

body.hexatech-public .hexa-cart-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}

@media (max-width:767.98px){
  body.hexatech-public .hexa-cart-table-wrap{
    display:block;
    width:100%;
  }
  body.hexatech-public .hexa-cart-table{
    min-width:36rem;
  }
  /* Barre supérieure : éviter le clip du tagline / liens */
  body.hexatech-public > .bg-primary.border-bottom{
    overflow:visible;
  }
  body.hexatech-public > .bg-primary.border-bottom .row{
    row-gap:.35rem;
  }
  body.hexatech-public .navbar-brand{
    max-width:100%;
  }
  body.hexatech-public .navbar-brand span,
  body.hexatech-public .navbar-brand small{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
}

/* ==================================================
   MESSAGERIE FLOTTANTE GLOBALE (bouton d'accès rapide)
   ================================================== */
.hexa-float-messagerie{
  position:fixed;
  right:1.25rem;
  bottom:1.25rem;
  z-index:1023;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.65rem 1.1rem;
  background:var(--hexa-yellow);
  color:var(--hexa-text-on-yellow);
  font-weight:700;
  font-size:.95rem;
  line-height:1.2;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.hexa-float-messagerie:hover,
.hexa-float-messagerie:focus{
  background:var(--hexa-yellow-soft);
  color:var(--hexa-text-on-yellow);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.4);
  text-decoration:none;
}
.hexa-float-messagerie:focus-visible{
  outline:3px solid var(--hexa-blue);
  outline-offset:2px;
}
.hexa-float-messagerie-icone{
  font-size:1.15rem;
  line-height:1;
}
@media (max-width:575.98px){
  .hexa-float-messagerie{
    right:.9rem;
    bottom:.9rem;
    padding:.7rem .95rem;
    font-size:.9rem;
  }
  .hexa-float-messagerie-icone{
    font-size:1.2rem;
  }
}
@media (prefers-reduced-motion:reduce){
  .hexa-float-messagerie,
  .hexa-float-messagerie:hover,
  .hexa-float-messagerie:focus{
    transition:none;
    transform:none;
  }
}

/* ==================================================
   HOME REFONTE 2026-09-24 (local) — compact hierarchy
   ================================================== */

.hero-home-refonte{
  min-height:460px;
}
.hero-home-refonte .hero-logo{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
}
.home-hero-ctas .btn{
  min-width:12rem;
}
.home-trust-strip{
  color:#061018;
}
.home-service-chip{
  display:flex;
  align-items:center;
  gap:.65rem;
  height:100%;
  padding:.85rem 1rem;
  border-radius:14px;
  background:rgba(16,41,77,.92);
  border:1px solid rgba(255,193,7,.22);
  color:#fff!important;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.home-service-chip:hover{
  transform:translateY(-3px);
  border-color:rgba(255,193,7,.55);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  color:#ffc107!important;
}
.home-service-chip i{
  font-size:1.35rem;
  flex-shrink:0;
}
.home-service-chip span{
  font-weight:600;
  font-size:.95rem;
  line-height:1.25;
}
.home-recond-card{
  background:rgba(16,41,77,.95)!important;
  border-radius:18px;
}
.home-configs .card-img-top{
  height:150px;
  object-fit:cover;
}
.home-search-intents{
  background:rgba(6,16,24,.55);
}
.home-google-reviews-honest .badge{
  font-size:1rem;
}
@media (max-width:768px){
  .hero-home-refonte{
    min-height:520px;
  }
  .home-hero-ctas .btn{
    min-width:100%;
  }
  .home-configs .card-img-top{
    height:120px;
  }
}

/* Configurateur V2 LIBRE — landing / suggestions (2026-09-30) */
.hexa-configurator-landing-primary {
  border: 2px solid #f0c000;
  background: rgba(240, 192, 0, 0.08);
}
.hexa-configurator-suggestion-banner a {
  white-space: nowrap;
}
.hexa-configurator-suggestion .btn-link {
  color: #f0c000;
}


/* HEXA-CFG-V21-SAISIE-LIBRE */
.hexa-cfg-state { font-weight: 600; }
.hexa-cfg-custom-form { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 0.75rem; }
.hexa-cfg-suggestions .hexa-configurator-option.is-disabled { opacity: 0.55; cursor: not-allowed; }
.hexa-configurator-part .badge { margin-right: 0.25rem; }
