/* =========================================================
   KLIKCAFE MODAL SYSTEM
   itemModal = discovery layer
   pricingModal = commerce configuration layer
   ========================================================= */

/* =========================================================
   COMMON MODAL ROOT
   ========================================================= */

.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
}

/* =========================================================
   MODAL PRIORITY
   ========================================================= */

#itemModal {
  z-index: 2000;
}

#pricingModal {
  z-index: 9999;
}

/* =========================================================
   MODAL SHEET
   ========================================================= */

.modal-sheet,
.modal-content {
  width: 100%;
  max-width: 520px;
  height: 90vh;
  margin: 5vh auto;
  background: #fff;
  border-radius: 12px;

  display: flex;
  flex-direction: column;

  overflow: hidden;
}

/* Mobile full screen */

@media (max-width: 600px) {
  .modal-sheet,
  .modal-content {
    height: 100vh;
    margin: 0;
    border-radius: 0;
  }
}

/* =========================================================
   HEADINGS / DESCRIPTION
   ========================================================= */

#pricingTitle,
#itemModalTitle {
  margin: 0;
  padding: 16px 16px 4px;
  font-size: 20px;
}

#pricingDescription,
#itemModalDescription {
  margin: 0;
  padding: 0 16px 12px;
  font-size: 14px;
  color: #555;
}

/* =========================================================
   CONTENT AREA
   ========================================================= */

.modal-content-column,
.item-modal-body {
  flex: 1;
  overflow-y: auto;

  padding: 12px 16px;

  background: #fafafa;
}

/* =========================================================
   OPTION BLOCKS
   ========================================================= */

.variant-set,
.modifier-set,
.choice-set {
  margin-bottom: 16px;

  padding: 12px;

  background: #fff;

  border: 1px solid #eee;

  border-radius: 10px;
}

.variant-set h4,
.modifier-set h4,
.choice-set h4 {
  margin: 0 0 10px;

  font-size: 14px;
}

/* =========================================================
   OPTION ROWS
   ========================================================= */

.option-row {
  display: flex;

  align-items: center;

  gap: 10px;

  padding: 6px 0;

  font-size: 14px;
}

/* =========================================================
   BUTTON BAR
   ========================================================= */

.modal-buttons {
  display: flex;

  gap: 10px;

  padding: 12px;

  border-top: 1px solid #eee;

  background: #fff;
}

/* all buttons */

.modal-buttons button {
  flex: 1;

  padding: 12px;

  border: none;

  border-radius: 8px;

  cursor: pointer;

  font-size: 15px;

  transition:
    transform 0.1s ease,
    opacity 0.1s ease,
    background 0.1s ease;
}

/* physical click feedback */

.modal-buttons button:active {
  transform: scale(0.97);

  opacity: 0.8;
}

/* =========================================================
   PRICING ACTIONS
   ========================================================= */

#addToBasketBtn {
  background: #111;

  color: #fff;
}

#addToBasketBtn:hover {
  opacity: 0.85;
}

#closePricingBtn {
  background: #f2f2f2;
}

#closePricingBtn:hover {
  background: #e5e5e5;
}

/* =========================================================
   ITEM MODAL ACTIONS
   ========================================================= */

#itemModalChooseBtn {
  background: #111;

  color: #fff;
}

#closeItemModal {
  background: #f2f2f2;
}

/* =========================================================
   IMAGES
   ========================================================= */

.item-modal-image {
  width: 100%;

  border-radius: 10px;

  margin-bottom: 12px;

  object-fit: cover;
}
