/* MYTH_ALL_FLASH_PRODUCTS_CSS_V2 */

.myth-all-products-section{
  margin:28px auto;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
}

.myth-all-products-tools{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:10px;
  margin:16px 0;
}

.myth-all-products-tools input,
.myth-all-products-tools select,
.myth-all-product-fields input,
.myth-all-product-fields select{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
  color:var(--text);
}

.myth-all-products-status{
  color:var(--muted);
  margin:10px 0;
}

/* MYTH_PROFESSIONAL_CATALOG_GRID_V8 */

.myth-all-products-grid{
  display:grid;
  grid-template-columns:
    repeat(5,minmax(0,1fr));
  gap:14px;
}

.myth-all-product-card{
  width:100%;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
  border:1px solid var(--line);
  border-radius:18px;
  background:
    linear-gradient(
      180deg,
      var(--panel2),
      var(--panel)
    );
  color:var(--text);
  text-align:left;
  cursor:pointer;
  appearance:none;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.myth-all-product-card:active{
  transform:scale(.98);
}

.myth-all-product-card:hover,
.myth-all-product-card:focus-visible,
.myth-all-service-card:hover,
.myth-all-service-card:focus-visible{
  border-color:var(--green);
}

.myth-all-product-card.is-unavailable{
  opacity:.6;
}

.myth-all-product-icon{
  width:100%;
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:var(--panel);
  font-size:30px;
  font-weight:800;
}

.myth-all-product-fallback,
.myth-all-product-art{
  grid-area:1 / 1;
}

.myth-all-product-fallback{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}

.myth-all-product-art{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:0;
  transition:transform .22s ease;
}

.myth-all-product-card:hover
.myth-all-product-art{
  transform:scale(1.035);
}

.myth-all-product-copy{
  min-width:0;
  display:grid;
  gap:4px;
  padding:11px 11px 5px;
}

.myth-all-product-copy strong{
  overflow:hidden;
  display:-webkit-box;
  min-height:2.5em;
  color:var(--text);
  font-size:14px;
  line-height:1.25;
  font-weight:750;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.myth-all-product-copy small{
  overflow:hidden;
  color:var(--green);
  font-size:10px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.myth-all-product-copy span,
.myth-all-product-price small{
  color:var(--muted);
  font-size:10px;
}

.myth-all-product-price{
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:6px;
  margin-top:auto;
  padding:5px 11px 12px;
  text-align:left;
  white-space:nowrap;
}

.myth-all-product-price b{
  color:var(--text);
  font-size:14px;
  font-weight:800;
}

/* MYTH_CATALOG_DETAIL_ARTWORK_V8 */

.myth-all-product-heading{
  display:grid;
  grid-template-columns:
    76px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:14px;
  align-items:center;
  margin:18px 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--panel2);
}

.myth-all-detail-artwork{
  grid-column:1;
  grid-row:1 / span 3;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  font-size:28px;
  font-weight:800;
}

.myth-all-detail-fallback,
.myth-all-detail-artwork img{
  grid-area:1 / 1;
}

.myth-all-detail-artwork img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.myth-all-product-heading > small,
.myth-all-product-heading > h2,
.myth-all-product-heading > p{
  grid-column:2;
  min-width:0;
}

.myth-all-product-heading h2{
  margin:3px 0;
  overflow-wrap:anywhere;
}

.myth-all-product-heading p{
  margin:4px 0 0;
}

.myth-all-product-heading p,
.myth-all-product-heading small{
  color:var(--muted);
}

.myth-all-product-fields{
  margin:16px 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel2);
}

.myth-all-fields-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
}

.myth-all-product-fields label{
  display:grid;
  gap:6px;
}

.myth-all-product-fields label span{
  color:var(--muted);
  font-size:12px;
}

/* MYTH_PROFESSIONAL_PACKAGE_GRID_V9 */

.myth-all-service-grid{
  display:grid;
  grid-template-columns:
    repeat(5,minmax(0,1fr));
  gap:10px;
}

.myth-all-service-card{
  width:100%;
  min-width:0;
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:
    linear-gradient(
      180deg,
      var(--panel2),
      var(--panel)
    );
  color:var(--text);
  text-align:left;
}

.myth-all-service-card > span{
  width:100%;
  overflow:hidden;
  display:-webkit-box;
  color:var(--text);
  font-size:13px;
  line-height:1.3;
  font-weight:600;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

.myth-all-service-card strong{
  color:var(--text);
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}

.myth-all-unavailable{
  padding:20px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel2);
  text-align:center;
}

.myth-all-unavailable p,
.myth-all-preview-note{
  color:var(--muted);
}

.myth-all-preview-note{
  text-align:center;
  margin-top:14px;
}

@media(max-width:1100px){
  .myth-all-products-grid{
    grid-template-columns:
      repeat(4,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .myth-all-products-grid{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px) and (min-width:641px){
  .myth-all-service-grid{
    grid-template-columns:
      repeat(4,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .myth-all-products-section{
    padding:14px;
  }

  .myth-all-products-tools,
  .myth-all-fields-grid{
    grid-template-columns:1fr;
  }

  .myth-all-service-grid{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .myth-all-service-card{
    min-height:102px;
    padding:9px 8px;
    border-radius:12px;
  }

  .myth-all-service-card > span{
    font-size:11px;
    line-height:1.25;
  }

  .myth-all-service-card strong{
    font-size:11px;
  }

  .myth-all-products-grid{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .myth-all-product-card{
    border-radius:15px;
  }

  .myth-all-product-copy{
    padding:9px 8px 4px;
  }

  .myth-all-product-copy strong{
    min-height:2.5em;
    font-size:12px;
  }

  .myth-all-product-copy small,
  .myth-all-product-copy span,
  .myth-all-product-price small{
    font-size:9px;
  }

  .myth-all-product-price{
    display:grid;
    gap:2px;
    padding:4px 8px 10px;
  }

  .myth-all-product-price b{
    font-size:12px;
  }

  .myth-all-product-heading{
    grid-template-columns:
      64px minmax(0,1fr);
    column-gap:12px;
    padding:12px;
  }

  .myth-all-detail-artwork{
    width:64px;
    height:64px;
    border-radius:14px;
  }
}

@media(max-width:360px){
  .myth-all-products-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}

/* MYTH_CATALOG_CHECKOUT_PREVIEW_V3 */

.myth-all-service-card{
  cursor:pointer;
}

.myth-all-service-card.is-selected{
  border-color:var(--green);
  box-shadow:0 0 0 1px var(--green);
}

.myth-all-product-checkout{
  margin-top:16px;
}

.myth-catalog-checkout-preview{
  padding:15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel2);
}

.myth-catalog-checkout-preview > small,
.myth-catalog-checkout-preview > p{
  color:var(--muted);
}

.myth-catalog-checkout-preview h3{
  margin:4px 0 12px;
}

.myth-catalog-selected-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
}

.myth-catalog-selected-row strong{
  white-space:nowrap;
}

@media(max-width:640px){
  .myth-catalog-selected-row{
    align-items:flex-start;
  }
}


/* MYTH_CATALOG_LOCAL_VALIDATION_V3 */

.myth-catalog-local-fields{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.myth-catalog-local-fields label{
  display:grid;
  gap:6px;
}

.myth-catalog-local-fields label > span,
.myth-catalog-local-fields label > small{
  color:var(--muted);
  font-size:12px;
}

.myth-catalog-local-fields input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
}

.myth-catalog-preview-message{
  min-height:20px;
  margin:10px 0;
  font-size:13px;
  color:var(--muted);
}

.myth-catalog-preview-message.is-error{
  color:#ff8d8d;
}

.myth-catalog-preview-message.is-success{
  color:var(--green);
}

.myth-catalog-preview-button{
  width:100%;
  min-height:46px;
  border:1px solid var(--green);
  border-radius:10px;
  background:var(--green);
  color:#071007;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:640px){
  .myth-catalog-local-fields{
    grid-template-columns:1fr;
  }
}


/* MYTH_CATALOG_ACCOUNT_CHECK_V3 */

.myth-catalog-account-step{
  display:grid;
  gap:12px;
  margin:12px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}

.myth-catalog-account-step.hidden{
  display:none;
}

.myth-catalog-balance-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.myth-catalog-balance-row span{
  color:var(--muted);
  font-size:12px;
}

.myth-catalog-balance-row strong{
  white-space:nowrap;
}

.myth-catalog-legal{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--muted);
  font-size:12px;
}

.myth-catalog-legal input{
  margin-top:2px;
}

.myth-catalog-legal a{
  color:var(--green);
}


/* MYTH_INLINE_CATALOG_CHECKOUT_V6 */

/*
  Keep the compact checkout summary in normal document
  flow so it never covers package cards on mobile.
*/
.myth-all-product-checkout.is-floating{
  position:static;
  left:auto;
  bottom:auto;
  transform:none;
  width:100%;
  margin-top:16px;
  z-index:auto;
}

.myth-catalog-floating-bar{
  display:grid;
  grid-template-columns:
    minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--green);
  border-radius:14px;
  background:var(--panel);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.myth-catalog-floating-bar > div{
  min-width:0;
  display:grid;
  gap:2px;
}

.myth-catalog-floating-bar small{
  color:var(--muted);
  font-size:10px;
}

.myth-catalog-floating-bar strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.myth-catalog-floating-bar > span{
  white-space:nowrap;
  font-weight:800;
}

.myth-catalog-floating-bar button{
  min-height:42px;
  padding:0 16px;
  border:0;
  border-radius:10px;
  background:var(--green);
  color:#071007;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:520px){
  .myth-catalog-floating-bar{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .myth-catalog-floating-bar > span{
    grid-row:2;
    grid-column:1;
  }

  .myth-catalog-floating-bar button{
    grid-row:1 / span 2;
    grid-column:2;
  }
}

/* MYTH_INLINE_CHECKOUT_SAFE_SPACE_V6 */

.myth-all-product-detail.has-floating-checkout{
  padding-bottom:0;
}


/* MYTH_CATALOG_RESERVATION_RECEIPT_V7 */

.myth-catalog-receipt{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel2);
}

.myth-catalog-receipt > small{
  color:var(--green);
  font-weight:800;
}

.myth-catalog-receipt h3,
.myth-catalog-receipt p{
  margin:0;
}

.myth-catalog-receipt-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:10px 0;
  border-top:1px solid var(--line);
}

.myth-catalog-receipt-row strong{
  text-align:right;
  overflow-wrap:anywhere;
}

.myth-catalog-qa-note{
  padding:10px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--muted);
  font-size:12px;
}
