/* KPIZZ V369 - En-K sans photo et allergenes comme les pizzas */
.kpizz-detail-card{
  cursor:pointer!important;
  position:relative!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.kpizz-detail-card:hover,
.kpizz-detail-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(239,59,54,.68)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.28)!important;
  outline:none!important;
}
.kpizz-detail-modal{
  width:min(570px,calc(100% - 24px))!important;
  max-width:570px!important;
  max-height:min(86vh,760px)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#18181b,#0c0c0e)!important;
  color:#fff!important;
  box-shadow:0 30px 90px rgba(0,0,0,.72)!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.kpizz-detail-modal::backdrop{
  background:rgba(0,0,0,.8)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.kpizz-detail-modal[open]{display:block!important}
.kpizz-detail-modal-inner{
  position:relative;
  max-height:min(86vh,760px);
  overflow:auto;
  padding:24px;
}
.kpizz-detail-close{
  position:absolute;
  z-index:4;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:#29292e;
  color:#fff;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
}
.kpizz-detail-images{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  min-height:150px;
  margin:-24px -24px 20px;
  padding:22px 62px 18px;
  background:#16161a;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.kpizz-detail-images img{
  display:block;
  width:min(210px,46%);
  height:150px;
  object-fit:contain;
  object-position:center;
  padding:5px;
  border-radius:18px;
  background:#16161a;
}
.kpizz-detail-images.kpizz-detail-one img{width:min(250px,78%)}
.kpizz-detail-title{
  margin:0 48px 8px 0!important;
  color:#fff!important;
  font-size:clamp(1.55rem,5vw,2.15rem)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.kpizz-detail-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 18px;
}
.kpizz-detail-format,
.kpizz-detail-price{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  color:#eee;
  font-weight:850;
  font-size:.9rem;
}
.kpizz-detail-price{background:rgba(239,59,54,.16);border-color:rgba(239,59,54,.45);color:#fff}
.kpizz-detail-section{
  margin-top:13px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.kpizz-detail-section h3{
  margin:0 0 7px!important;
  color:#ff7772!important;
  font-size:1rem!important;
  line-height:1.15!important;
  text-transform:none!important;
}
.kpizz-detail-section p{
  margin:0!important;
  color:#e0e0e5!important;
  font-size:.94rem!important;
  line-height:1.48!important;
}
.kpizz-detail-section .kpizz-allergen-btn{margin-top:2px!important}
.kpizz-detail-help{
  margin:16px 0 0!important;
  color:#9f9fa8!important;
  font-size:.76rem!important;
  line-height:1.4!important;
}
body.kpizz-detail-open{overflow:hidden!important}
@media(max-width:680px){
  .kpizz-detail-modal{width:calc(100% - 16px)!important;border-radius:20px!important}
  .kpizz-detail-modal-inner{padding:20px 17px}
  .kpizz-detail-images{margin:-20px -17px 17px;padding:18px 54px 14px;min-height:124px}
  .kpizz-detail-images img{height:120px;width:46%}
  .kpizz-detail-images.kpizz-detail-one img{width:min(220px,84%)}
  .kpizz-detail-title{font-size:1.55rem!important}
  .kpizz-detail-section{padding:12px 13px}
}

/* V368 : aucun symbole + sur les produits ou les En-K, sans modifier les cartes pizzas. */
.product-block .kpizz-detail-card::after,.enk-list .kpizz-enk-detail::after{content:none!important;display:none!important}

/* V369 : En-K sans photo et bouton allergenes identique aux pizzas. */
.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-modal-inner{padding-top:30px!important}
.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-images{display:none!important}
.kpizz-detail-allergen-action{margin-top:16px!important}
.kpizz-detail-allergen-action .kpizz-allergen-btn{display:flex!important;width:100%!important;min-height:48px!important;margin:0!important;justify-content:center!important;border-radius:999px!important;font-size:.9rem!important}
.kpizz-detail-modal-enk .kpizz-detail-title{margin-top:4px!important}
@media(max-width:680px){.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-modal-inner{padding-top:25px!important}.kpizz-detail-allergen-action .kpizz-allergen-btn{min-height:44px!important}}

/* V370 : les popups En-K s'adaptent à leur contenu, sans grand vide en bas */
.kpizz-detail-modal.kpizz-detail-modal-enk{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.kpizz-detail-modal.kpizz-detail-modal-enk[open]{
  height:auto!important;
}
.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-modal-inner{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-section,
.kpizz-detail-modal.kpizz-detail-modal-enk .kpizz-detail-allergen-action{
  margin-bottom:0!important;
}
@media(max-width:680px){
  .kpizz-detail-modal.kpizz-detail-modal-enk{
    width:calc(100% - 18px)!important;
  }
}

/* V372 : correction definitive de la grande hauteur vide des popups En-K. */
dialog.kpizz-detail-modal-shell-v372.kpizz-detail-modal-enk,
dialog.kpizz-detail-modal-shell-v372.kpizz-detail-modal-enk[open]{
  display:block!important;
  block-size:fit-content!important;
  height:fit-content!important;
  min-block-size:0!important;
  min-height:0!important;
  max-block-size:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
}
dialog.kpizz-detail-modal-shell-v372.kpizz-detail-modal-enk .kpizz-detail-modal-inner{
  display:block!important;
  block-size:auto!important;
  height:auto!important;
  min-block-size:0!important;
  min-height:0!important;
  max-block-size:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:auto!important;
  padding-bottom:24px!important;
}
@media(max-width:680px){
  dialog.kpizz-detail-modal-shell-v372.kpizz-detail-modal-enk .kpizz-detail-modal-inner{
    padding-bottom:20px!important;
  }
}


/* V377 : overlay personnalisé, sans <dialog> natif, pour éviter tout saut de page Android. */
.kpizz-detail-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  padding:12px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:rgba(0,0,0,.82)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.kpizz-detail-overlay[hidden]{display:none!important}
.kpizz-detail-overlay .kpizz-detail-modal-shell-v377{
  position:relative!important;
  display:block!important;
  width:min(570px,calc(100vw - 24px))!important;
  max-width:570px!important;
  max-height:calc(100dvh - 24px)!important;
  margin:auto!important;
  transform:translateY(6px) scale(.992)!important;
  opacity:0!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
.kpizz-detail-overlay.is-open .kpizz-detail-modal-shell-v377{
  transform:none!important;
  opacity:1!important;
}
.kpizz-detail-overlay .kpizz-detail-modal-inner{
  max-height:calc(100dvh - 24px)!important;
  overflow:auto!important;
}
.kpizz-detail-overlay .kpizz-detail-modal-enk{
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
}
.kpizz-detail-overlay .kpizz-detail-modal-enk .kpizz-detail-modal-inner{
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:auto!important;
}
body.kpizz-detail-open{overflow:hidden!important}
@media(max-width:680px){
  .kpizz-detail-overlay{padding:8px!important}
  .kpizz-detail-overlay .kpizz-detail-modal-shell-v377{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
  .kpizz-detail-overlay .kpizz-detail-modal-inner{max-height:calc(100dvh - 16px)!important}
}
