/* === AxiPerf PRO UI v3 — 1.3.0 === */
:root{
  --ax-primary:#0b4db5;
  --ax-primary-2:#2c82c9;
  --ax-primary-3:#39b7ff;
  --ax-bg-1:#f7f9fd;
  --ax-bg-2:#eef3fb;
  --ax-surface:#ffffff;
  --ax-text:#0b1220;
  --ax-muted:#475569;
  --ax-border:rgba(15,23,42,.10);
  --ax-radius:18px;
  --ax-radius-sm:12px;
  --ax-shadow:0 16px 48px rgba(2,6,23,.10);
  --ax-shadow-sm:0 10px 26px rgba(2,6,23,.07);
  --ax-ring:0 0 0 .28rem rgba(57,183,255,.22);
  --ax-shell:clamp(980px, 95vw, 1520px);
  --ax-pad:clamp(14px, 2vw, 34px);
}

body{
  background:linear-gradient(180deg,var(--ax-bg-1),var(--ax-bg-2)) !important;
  color:var(--ax-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
button,input,select,textarea,.btn,.nav,.dropdown-menu,.card,.form-control,.form-select{font-family:inherit !important;}
body {
    margin: 0;
}

.main-wrapper {
    width: 95%;
    margin: 0 auto;
}
#header .container, #header .container-fluid,
#header .header-top .container, #header .header-top .container-fluid,
#header .header-nav .container, #header .header-nav .container-fluid,
#wrapper .container, #wrapper .container-fluid,
#footer .container, #footer .container-fluid{
  max-width:none !important;
  width:min(var(--ax-shell), calc(100% - (var(--ax-pad)*2))) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width: 991.98px){
  #header .container, #header .container-fluid,
  #header .header-top .container, #header .header-top .container-fluid,
  #header .header-nav .container, #header .header-nav .container-fluid,
  #wrapper .container, #wrapper .container-fluid,
  #footer .container, #footer .container-fluid{width:calc(100% - 2*var(--ax-pad)) !important;}
}

.card, .product-miniature, .modal-content, .dropdown-menu, .block, .panel, .js-product-miniature{
  border-radius:var(--ax-radius) !important;
  box-shadow:var(--ax-shadow-sm) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(120%) blur(8px);
}

.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], textarea, select{
  border-radius:999px !important;
  border:1px solid var(--ax-border) !important;
  background:rgba(255,255,255,.95);
}
textarea.form-control{border-radius:var(--ax-radius-sm) !important;}
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus{
  box-shadow:var(--ax-ring) !important;
  border-color:rgba(57,183,255,.55) !important;
}

.btn, button, input[type="submit"]{
  border-radius:999px !important;
  font-weight:600 !important;
  letter-spacing:.1px;
  padding:.56rem 1.08rem;
}
.btn-primary, .btn-primary:active, .btn-primary:focus{
  background:linear-gradient(135deg,var(--ax-primary),var(--ax-primary-2)) !important;
  border:none !important;
  box-shadow:0 14px 30px rgba(11,77,181,.22) !important;
}
.btn-primary{position:relative; overflow:hidden;}
.btn-primary:before{
  content:"";
  position:absolute; left:0; right:0; top:0;
  height:55%;
  background:linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,0));
  pointer-events:none;
}

.product-cover img, .product-images img, #product-images img{border-radius:var(--ax-radius) !important;}
#product-images.carousel .carousel-inner{ overflow:hidden; border-radius:var(--ax-radius); }
#product-images.carousel .carousel-control-prev,
#product-images.carousel .carousel-control-next{ filter: drop-shadow(0 6px 12px rgba(0,0,0,.25)); }

.product-description table, .tab-pane table, .page-content table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0;
  overflow:hidden;
  border-radius:var(--ax-radius-sm);
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.96);
}
.product-description th, .product-description td,
.tab-pane th, .tab-pane td,
.page-content th, .page-content td{padding:.7rem .85rem; border-bottom:1px solid rgba(15,23,42,.08);}
.product-description th, .tab-pane th, .page-content th{
  background:linear-gradient(180deg, rgba(11,77,181,.10), rgba(44,130,201,.04));
  font-weight:700;
}

#footer, #footer .footer-container, #footer .footer__container, #footer .footer-top, #footer .footer-bottom{
  background:linear-gradient(135deg, var(--ax-primary) 0%, var(--ax-primary-2) 55%, var(--ax-primary-3) 100%) !important;
  background-color:transparent !important;
}
#footer *{background-color:transparent !important;}
#footer [class*="bg-"], #footer .bg-dark, #footer .bg-black, #footer .text-bg-dark{background:transparent !important;}
#footer:before, #footer:after,
#footer .footer-container:before, #footer .footer-container:after,
#footer .footer__container:before, #footer .footer__container:after{content:none !important; background:transparent !important;}
#footer, #footer *{color: rgba(255,255,255,.94) !important;}
#footer a{color: rgba(255,255,255,.92) !important;}
#footer a:hover{color:#fff !important; text-decoration: underline;}
/* ==========================================================================
   Layout — 95% responsive shell (fix "grosse marge à droite")
   - Ne supprime aucune variable existante
   - Étend les containers Bootstrap et wrappers à ~95% de l’écran
   ========================================================================== */

/* Empêche le scroll horizontal causé par des éléments en 100vw (souvent la source d’une marge à droite) */
html, body { width: 100%; }
body { overflow-x: clip; }
@supports not (overflow: clip) {
  body { overflow-x: hidden; }
}

/* Containers Bootstrap (tous) : largeur fluide, centrée */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: none !important;
  width: min(var(--ax-shell), calc(100% - (var(--ax-pad) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Si un wrapper du thème force une largeur fixe */
#wrapper,
#main,
#content,
.page-content,
#page,
main {
  width: 100%;
}

