/* Plein écran */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.m4k-root {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Background */
.m4k-bg {
  position: absolute;
  inset: 0;
  background-color: var(--m4k-bg-color, #fff);
  background-image: var(--m4k-bg-image, none);
  background-size: var(--m4k-bg-size, cover);
  background-repeat: var(--m4k-bg-repeat, no-repeat);
  background-position: center center;

  image-rendering: auto;
  transform: translateZ(0);
  will-change: transform;
}


.m4k-overlay {
  position: absolute;
  inset: 0;
       background: rgba(0,0,0,0.25) !important;
}

/* Splash / loading */
.m4k-splash {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.98);
  z-index: 50;
  transition: opacity .35s ease;
}

.m4k-splash.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.m4k-splash-box {
  text-align: center;
  padding: 24px 28px;
}

.m4k-logo {
  width: 92px;
  height: 92px;
  object-fit: contain;
  margin: 0 auto 12px;
  display: block;
}


.m4k-panel-logo{
  width: 140px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
  display:block;
  flex: 0 0 auto;

}

@media (min-width: 900px) {
  .m4k-panel-logo {
       width: 180px;
    height: 90px;
  }
}





.m4k-brand {
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: 22px;
  margin: 0 0 10px;
}

.m4k-spinner {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 4px solid rgba(0,0,0,.12);
  border-top-color: rgba(0,0,0,.55);
  margin: 0 auto;
  animation: m4kspin 1s linear infinite;
}

@keyframes m4kspin {
  to { transform: rotate(360deg); }
}

/* Menu */
.m4k-content {
  position: relative;
  z-index: 10;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.m4k-panel {
  width: min(820px, 94vw);
   background: transparent !important;
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  max-height: calc(100vh - 48px);
  overflow: auto;
}

.m4k-panel--catalog{
     width: 100%;
    background: white !important;
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 26px;


  overflow: auto;
}

.m4k-panel--contact{
     width: 100%;
    background: white !important;
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 26px;


  overflow: auto;
}


.m4k-panel-top {

 display: flex;
  flex-direction: column;     
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 18px;
}

.m4k-panel-logo {

  object-fit: contain;
}

.m4k-panel-title {
     margin-bottom: 40px;
  font-size: 50px;
  font-weight: 800;
color:white;
}

.m4k-buttons{
  display:flex;
  flex-direction: column;
  gap: 12px;


}

.m4k-tag{


font-size: 20px;
  font-weight: 800;


}





.m4k-btn {
 
 
  

  text-decoration: none;
  padding: 14px 16px;
  border-radius: 4px;
  background: #3DA600;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  transition: transform .08s ease, opacity .12s ease;

  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;               
  text-align:center;
}

.m4k-btn:active { transform: scale(0.99); }
.m4k-btn:hover { background: #3DA600;
  color: #fff; }

.m4k-arrow {
  font-size: 18px;
  opacity: .9;
}

/* Responsive */
@media (min-width: 720px) {
  .m4k-buttons{ flex-direction: column; }

}

/* =========================
   ✅ Catalogue styles
   ========================= */
.m4k-catalog-header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.m4k-catalog-titlewrap{
  display:flex;
  align-items:center;
  gap: 12px;
}

.m4k-back{
  text-decoration:none;
  font-weight:800;
  background: rgba(0,0,0,0.75);
  color:#fff;
  padding:10px 12px;
  border-radius: 12px;
  white-space: nowrap;
}

.m4k-empty{
  padding: 16px;
  border-radius: 14px;
  background: rgba(0,0,0,0.08);
  font-weight: 700;
}

.m4k-catalog-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

@media (min-width: 900px){
  .m4k-catalog-grid{ grid-template-columns: repeat(4, 1fr); }
}

.m4k-product{
  background: rgba(255,255,255,0.86);
  border-radius: 14px;
  overflow:hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.m4k-product img,
.m4k-product-img{
  width:100%;

  
  display:block;


  height: 160px;        
  object-fit: contain;   
  background: rgba(0,0,0,0.06);
  display:block;
}

.m4k-product-placeholder{
  height: 140px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  opacity: .7;
  background: rgba(0,0,0,0.08);
}

.m4k-product-body{
  padding: 12px;
}

.m4k-product-title{
  font-weight: 900;
  margin: 0 0 6px;
}

.m4k-product-cat{
  font-size: 12px;
  opacity: .8;
  font-weight: 700;
}
