/* =========================
   KTiX UI — Android Light
   ========================= */

:root{
  /* Android Light / Material-inspired */
  --kt-bg: #f3f6fb;                       /* light backdrop */
  --kt-surface: #ffffff;                  /* surface */
  --kt-surface-solid: #ffffff;

  --kt-border: #e5e7eb;                   /* separator */
  --kt-border-strong: #d1d5db;

  --kt-text: #111827;
  --kt-muted: #6b7280;

  /* Android accent */
  --kt-primary: #ff7a00;
  --kt-primary-2: #f06d00;
  --kt-primary-soft: rgba(255,122,0,.12);
  --kt-warning: #f59e0b;

  --kt-danger: #d93025;
  --kt-danger-soft: rgba(217,48,37,.12);

  --kt-success: #188038;
  --kt-success-soft: rgba(24,128,56,.12);

  /* Light gradients */
  --kt-glass: linear-gradient(135deg, rgba(255,255,255,.95), rgba(248,250,252,.95));
  --kt-glass-strong: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  --ktix-bg-image: none;

  /* Radius + shadow */
  --kt-radius: 16px;
  --kt-radius-sm: 12px;

  --kt-shadow: 0 12px 28px rgba(15,23,42,.12);
  --kt-shadow-soft: 0 6px 18px rgba(15,23,42,.10);

  /* Spacing + tap sizes */
  --kt-pad: 14px;
  --kt-pad-sm: 12px;
  --kt-tap: 44px;

  /* Font */
  --kt-font: ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Arial, "Helvetica Neue", Helvetica, "Apple Color Emoji","Segoe UI Emoji";
}

/* Oculta el engine sin romper JS */
.ktix-engine{
  position:absolute; left:-99999px; top:-99999px;
  width:1px; height:1px; overflow:hidden;
  opacity:0; pointer-events:none;
}

.ktix{
  font-family: var(--kt-font);
  color: var(--kt-text);
  position: relative;
  box-sizing: border-box;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  color-scheme: light;
}
.ktix-ui{
  padding: 15px 6px;
  overflow: visible;
  box-sizing: border-box;
  border-radius: calc(var(--kt-radius) + 2px);
  background: radial-gradient(1200px 400px at 12% -10%, rgba(26,115,232,.08), rgba(255,255,255,0)),
              var(--kt-bg);

  box-shadow: var(--kt-shadow);
  position: relative;
}
.ktix-ui::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.65), rgba(255,255,255,.65)), var(--ktix-bg-image);
  background-size: cover;
  background-position: center;
  filter: blur(14px);
  opacity: .35;
  transform: scale(1.08);
  border-radius: inherit;
  z-index: 0;
  pointer-events: none;
}
.ktix-ui > *{
  position: relative;
  z-index: 1;
}
.evcal_evdata_row .evcal_evdata_cell >* {
    margin: 0 auto;
}
@media (max-width: 568px) {
    .evcal_eventcard .evcal_evdata_row .evcal_evdata_cell {
        /* padding-left: 0px; */
        /* margin-left: -30px; */
    }
}

/* Loading */
.ktix-ui .ktix-loading{
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--kt-primary-soft);
  color: var(--kt-text);
  border: 1px solid rgba(26,115,232,.20);
  font-weight: 600;
}

/* Steps */
.ktix-steps{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ktix-step{ display:none; }
.ktix-step.is-active,
.ktix-step.ktix-step--leave-up,
.ktix-step.ktix-step--leave-down,
.ktix-step.ktix-step--enter-up,
.ktix-step.ktix-step--enter-down{ display:block; }

.ktix-step--leave-up{ animation: ktix-step-out-up .46s cubic-bezier(.16,.84,.35,1) forwards; }
.ktix-step--enter-up{ animation: ktix-step-in-up .46s cubic-bezier(.16,.84,.35,1) forwards; }
.ktix-step--leave-down{ animation: ktix-step-out-down .46s cubic-bezier(.16,.84,.35,1) forwards; }
.ktix-step--enter-down{ animation: ktix-step-in-down .46s cubic-bezier(.16,.84,.35,1) forwards; }

@keyframes ktix-step-in-up{
  from{ opacity:0; transform: translateY(28px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes ktix-step-out-up{
  from{ opacity:1; transform: translateY(0); }
  to{ opacity:0; transform: translateY(-22px); }
}
@keyframes ktix-step-in-down{
  from{ opacity:0; transform: translateY(-22px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes ktix-step-out-down{
  from{ opacity:1; transform: translateY(0); }
  to{ opacity:0; transform: translateY(22px); }
}

.ktix-step-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  margin:0 0 10px 0;
}
.ktix-step-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:14px;
  color: var(--kt-text);
}
.ktix-step-head-actions{
  display:flex;
  align-items:center;
}
.ktix-step-head-actions .ktix-slot-confirm{
  padding: 8px 14px;
  font-size: 12px;
}
.ktix-step-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1;
}
.ktix-step-back-icon{
  font-size: 16px;
  line-height: 1;
}
.ktix-step-back-text{
  font-size: 12px;
  line-height: 1;
}

.ktix-step-actions {
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.ktix-step-actions .ktix-slot-back,
.ktix-step-actions .ktix-slot-cancel{
  margin-right:auto;
}
.ktix-step-actions .ktix-slot-confirm{
  margin-left:auto;
}

/* Cards container */
.ktix-cards{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Group (iOS settings style) */
.ktix-group{
  padding: var(--kt-pad);
  border-radius: var(--kt-radius);
  background: var(--kt-glass), var(--kt-surface);
  border: 1px solid var(--kt-border);
  box-shadow: var(--kt-shadow-soft);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.ktix-group-title{
  margin: 2px 0 10px 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing:.06em;
  text-transform: uppercase;
  color: var(--kt-muted);
}

.ktix-group-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Ticket card */
.ktix-card{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:12px 14px;
  border-radius: var(--kt-radius-sm);

  background: var(--kt-glass-strong), var(--kt-surface-solid);
  border: 1px solid var(--kt-border);
  box-shadow: var(--kt-shadow-soft);
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);

  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.ktix-card--featured{
  border-color: rgba(48,209,88,.45);
  background: linear-gradient(135deg, rgba(48,209,88,.18), rgba(48,209,88,.06)), var(--kt-surface-solid);
  box-shadow: 0 8px 20px rgba(48,209,88,.18);
}
.ktix-card-main{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 auto;
  font-size: 18px;
  min-width:0;
}

.ktix-card:hover{
  border-color: var(--kt-border-strong);
  transform: translateY(-1px);
}

.ktix-card-title{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  font-size: 18px;
  color: var(--kt-text);
}
.ktix-icon-cal{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  border:0;
  color: var(--kt-primary);
  background: transparent;
}
.ktix-icon-cal--alert{
  color: var(--kt-warning);
  background: transparent;
}
.ktix-icon-cal svg{
  width:18px;
  height:18px;
}

@media (min-width: 641px){
  .ktix-icon-cal{
    width:28px;
    height:28px;
  }
  .ktix-icon-cal svg{
    width:20px;
    height:20px;
  }
}

.ktix-card-type{
  margin-bottom:4px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  color: var(--kt-primary);
}

.ktix-card-price{
  margin-top:2px;
  font-size:13px;
  color: var(--kt-text);
  opacity: 1;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  padding:4px 10px;
  border-radius:999px;
  background: var(--kt-primary);
  border:1px solid var(--kt-border);
  box-shadow: var(--kt-shadow-soft);
  width: fit-content;
}
.ktix-price-bubble{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: #ff7a00;
  font-weight:800;
  color: #111827;
  box-shadow: 0 3px 10px rgba(0,0,0,0.04);
}

.ktix-card-desc{
  margin-top:4px;
  font-size:13px;
  color: var(--kt-muted);
  opacity: 1;
}

.ktix-card-actions{
  display:flex;
  align-items:center;
  flex-direction:row;
  gap:10px;
  justify-content:flex-start;
}
.ktix-card-actions--stack{
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.ktix-qty-controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.ktix-slot-flag {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 8px;
    color: var(--kt-muted);
    text-align: right;
    width: 220px;
    min-width: 220px;
    max-width: 220px;
    flex-direction: row;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    padding: 8px;
    background: rgba(255,255,255,.04);
}
.ktix-slot-flag .ktix-icon-cal,
.ktix-slot-flag .ktix-icon-cal--alert{
  color: rgba(235,240,255,.55);
  padding:0;
  width:16px;
  height:16px;
  flex: 0 0 16px;
}
.ktix-slot-flag .ktix-icon-cal svg,
.ktix-slot-flag .ktix-icon-cal--alert svg{
  width:16px;
  height:16px;
}
.ktix-slot-flag-text{
  line-height: 1.2;
  display:inline-block;
  text-align: left;
}

.ktix-card-right{
  display:flex;
  align-items:center;
  gap:8px;
}

.ktix-card-pricebar{ display:none; }

/* Qty controls */
.ktix-q{
  width:34px;
  height:34px;
  border-radius:999px;
  border: 1px solid var(--kt-border);
  background: #f8fafc;
  cursor:pointer;

  font-size:18px;
  line-height:0;

  transition: transform .18s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.ktix-q:hover{
  border-color: var(--kt-border-strong);
  background: #eef2f7;
  transform: scale(1.1);
  box-shadow: 0 10px 20px rgba(15,23,42,.12);
}

.ktix-q:active{
  transform: scale(.9);
  animation: ktix-q-wink .22s ease;
}

.ktix-q:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(26,115,232,.22);
  border-color: rgba(26,115,232,.45);
}

.ktix-qv{
  min-width:22px;
  text-align:center;
  font-weight:700;
  color: var(--kt-text);
}

@keyframes ktix-q-wink{
  0%{ filter: brightness(1); box-shadow: 0 0 0 rgba(26,115,232,0); }
  50%{ filter: brightness(1.2); box-shadow: 0 0 18px rgba(26,115,232,.35); }
  100%{ filter: brightness(1); box-shadow: 0 0 0 rgba(26,115,232,0); }
}

/* Sold out */
.ktix-soldout{
  opacity:1;
  font-weight:700;
  color: var(--kt-danger);
}

.ktix-hide-stock{ display:none; }

/* Footer */
.ktix-footer{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}

.ktix-summary{
  border: 1px solid var(--kt-border);
  background: var(--kt-glass), var(--kt-surface);
  border-radius: var(--kt-radius);
  padding: 10px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}
.ktix-summary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  color: var(--kt-text);
}
.ktix-summary-row span:last-child{
  font-weight:700;
}
.ktix-summary-total{
  border-top: 1px dashed var(--kt-border);
  padding-top:6px;
  margin-top:2px;
}

/* Primary button */
.ktix-addall{
  border:1px solid rgba(26,115,232,.35);
  border-radius:999px;
  padding:12px 16px;
  cursor:pointer;
  font-size: 18px;

  font-weight:700;
  background: var(--kt-primary);
  color:#ffffff;

  box-shadow: 0 10px 22px rgba(26,115,232,.24);
  transition: transform .08s ease, box-shadow .12s ease, filter .12s ease;
  min-height: var(--kt-tap);
  -webkit-tap-highlight-color: transparent;
}
.evocard_box {
    background-color: transparent!!important!;
    border-radius: 20px;
}

.ktix-addall:hover{
  filter: brightness(.98);
  box-shadow: 0 14px 28px rgba(26,115,232,.28);
}

.ktix-addall:active{ transform: scale(.98); }

.ktix-addall:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(26,115,232,.22), 0 14px 28px rgba(26,115,232,.28);
}

.ktix-ui-msg{
  opacity:1;
  font-size:13px;
  color: var(--kt-muted);
}

.ktix-cart-timer{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius: 999px;
  border:1px solid var(--kt-border);
  background: #fff7ed;
  color: #7a4b00;
  font-weight:700;
  margin-bottom:12px;
}

/* Overlay (processing modal) */
.ktix-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(15,23,42,0.28);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  z-index:5;
  color: var(--kt-text);
  text-align:center;
  padding:20px;
}

.ktix-overlay-box{
  background: var(--kt-glass-strong), var(--kt-surface-solid);
  border-radius: 18px;
  padding: 14px 16px;
  min-width: 220px;
  max-width: 320px;
  border: 1px solid var(--kt-border);
  box-shadow: var(--kt-shadow-soft);

  display:flex;
  flex-direction:column;
  gap:12px;
  animation: ktix-pop .18s ease;
}

.ktix-overlay .ktix-spinner{
  margin: 0 auto 4px auto;
  width:26px; height:26px;
  border-radius:50%;
  border:3px solid rgba(17,24,39,.12);
  border-top-color: rgba(26,115,232,.9);
  animation: ktix-spin 0.8s linear infinite;
}

@keyframes ktix-spin{ to { transform: rotate(360deg); } }
@keyframes ktix-pop{
  from { opacity: 0; transform: translateY(6px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.ktix-blur > .ktix-ui{
  filter: blur(3px);
  pointer-events:none;
}

/* Slots */
.ktix-slot-times{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ktix-review,
.ktix-slot-final{
  margin-top: 12px;
  padding: var(--kt-pad);
  border:1px solid var(--kt-border);
  border-radius: var(--kt-radius);
  background: var(--kt-glass), var(--kt-surface);
  box-shadow: var(--kt-shadow-soft);
  display:flex;
  flex-direction:column;
  gap:8px;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}
.ktix-slot-final-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-weight:700;
}
.ktix-slot-final-name .ktix-slot-final-value{
  font-weight:800;
}
.ktix-slot-final-label{
  color: var(--kt-muted);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ktix-slot-final-value{
  color: var(--kt-text);
}
.ktix-bubble-slot,
.ktix-bubble-date{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: var(--kt-primary-soft);
  border:1px solid rgba(26,115,232,.28);
  color: var(--kt-primary);
  font-weight:800;
}
.ktix-bubble-date{
  background: rgba(60,60,67,.10);
  border-color: rgba(60,60,67,.16);
  color: var(--kt-text);
}

/* Cards por entrada en resumen final */
.ktix-slot-card{
  border:1px solid var(--kt-border);
  border-radius: var(--kt-radius-sm);
  padding:10px 12px;
  background: var(--kt-glass-strong), var(--kt-surface-solid);
  box-shadow: var(--kt-shadow-soft);
  display:flex;
  flex-direction:column;
  gap:6px;
  
}
.ktix-slot-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}
.ktix-slot-card-desc{
  color: var(--kt-muted);
  font-size: 13px;
}
.ktix-slot-card-name{
  font-weight:800;
  color: var(--kt-text);
  display:flex;
  align-items:center;
  gap:6px;
  font-size:18px;
}
.ktix-slot-card-name svg{
  width:16px;
  height:16px;
  flex: 0 0 16px;
}
.ktix-slot-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-weight:700;
  color: var(--kt-muted);
}
.ktix-slot-card-meta--final{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.ktix-slot-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.ktix-slot-card-pricewrap{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  align-items:center;
}
.ktix-slot-meta-date,
.ktix-slot-meta-session{
  font-weight:600;
  color: var(--kt-text);
}
.ktix-slot-meta-price{
  color: var(--kt-text);
}
.ktix-slot-meta-sub{
  color: var(--kt-text);
  font-weight:800;
}

/* Burbujas precio en resumen final */
.ktix-bubble-price,
.ktix-bubble-total{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:6px 10px;
  border-radius:10px;
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  min-width:90px;
  box-shadow: var(--kt-shadow-soft);
}
.ktix-bubble-total{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
}
.ktix-bubble-label{
  font-size:11px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--kt-muted);
  margin-bottom:2px;
}
.ktix-bubble-val{
  font-weight:800;
  color: var(--kt-text);
  font-size:16px;
}

/* Note / message */
.ktix-slot-days-msg{
  margin-top:10px;
  padding:12px 12px;
  border-radius: var(--kt-radius);
  background: rgba(245,158,11,.16);
  border:1px solid rgba(245,158,11,.35);
  box-shadow:none;
  font-weight:600;
  color: #fef3c7;
  display:flex;
  align-items:flex-start;
  gap:8px;
  transition: opacity .2s ease, max-height .2s ease, margin .2s ease, padding .2s ease, border-width .2s ease;
  max-height: 160px;
  opacity: 1;
}
.ktix-slot-days-msg.ktix-msg-hidden{
  opacity: 0;
  max-height: 0;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-width: 0;
  overflow: hidden;
}
.ktix-msg-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius: 50%;
  background: #f59e0b;
  color: #fff;
  font-weight:800;
  font-size:12px;
  line-height:1;
  margin-top:2px;
  flex: 0 0 18px;
}
.ktix-msg-text{
  flex: 1 1 auto;
  min-width: 0;
}

/* Step 3 container */
.ktix-step3 .ktix-slot-times{
  padding: var(--kt-pad);
  border:1px solid var(--kt-border);
  border-radius: var(--kt-radius);
  background: var(--kt-glass), var(--kt-surface);
  box-shadow: var(--kt-shadow-soft);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.ktix-slot-legend{
  margin-top: 8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  font-size: 11px;
  color: var(--kt-muted);
}
.ktix-slot-legend-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.ktix-slot-legend-dot{
  width:20px;
  height:20px;
  border-radius:20%;
  display:inline-block;
  background: #9ca3af;
}
.ktix-slot-legend-dot--gray{ background: #9ca3af; }
.ktix-slot-legend-dot--blue{ background: #3b82f6; }
.ktix-slot-legend-dot--orange{ background: #f59e0b; }
.ktix-slot-legend-dot--red{ background: #ef4444; }

/* Slot summary */
.ktix-slot-summary{
  padding: var(--kt-pad);
  border-radius: var(--kt-radius);
  border:1px solid var(--kt-border);
  background: var(--kt-glass), var(--kt-surface);
  box-shadow: var(--kt-shadow-soft);
  margin-top: 8px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:600;
  color: var(--kt-text);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.ktix-slot-summary-title{
  font-size:12px;
  letter-spacing:.06em;
  text-transform: uppercase;
  color: var(--kt-muted);
  font-weight:700;
}

.ktix-slot-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ktix-slot-row-left{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ktix-slot-row-right{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  color: var(--kt-muted);
}
.ktix-slot-price{ opacity:.75; }
.ktix-slot-sub{ font-weight:800; color: var(--kt-text); }
.ktix-slot-meta-label{
  display:block;
  font-size:11px;
  color: var(--kt-muted);
  font-weight:600;
  margin-bottom:2px;
}
.ktix-slot-total{
  border-top:1px solid var(--kt-border);
  padding-top:6px;
  margin-top:6px;
  font-weight:800;
  display:flex;
  justify-content:flex-end;
  gap:6px;
}

.ktix-slot-totals{
  border-top:1px solid var(--kt-border);
  padding-top:6px;
  margin-top:6px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ktix-slot-total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color: var(--kt-muted);
}
.ktix-slot-total-row strong{
  color: var(--kt-text);
}
.ktix-slot-total-row--sum{
  font-size:13px;
  font-weight:800;
  color: var(--kt-text);
}
.ktix-slot-total-row--sum strong{
  font-size:32px;
  line-height:1.1;
}
.ktix-slot-total-label{
  display:block;
  font-size:11px;
  color: var(--kt-muted);
  font-weight:600;
  margin-bottom:2px;
}

/* Qty badge */
.ktix-qty-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  padding:4px 8px;
  border-radius:999px;
  background: var(--kt-primary);
  color:#fff;
  font-weight:700;
  font-size:12px;
  margin-left:0;
  box-shadow:none;
}
.ktix-qty-label{
  font-size:11px;
  color: var(--kt-muted);
  font-weight:600;
  margin-right:4px;
}
.ktix-qty-wrap{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

/* Tags */
.ktix-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background: #f8fafc;
  color: var(--kt-text);
  font-size:11px;
  font-weight:700;
  border:1px solid var(--kt-border);
}

.ktix-tag--nofecha{
  background: var(--kt-danger-soft);
  border-color: rgba(217,48,37,.20);
  color: var(--kt-danger);
}

/* ===== Calendario (iOS, con aire) ===== */

.ktix-slot-calendar{
  margin-top: 8px;
  padding: 18px;
  border-radius: var(--kt-radius);
  border: 1px solid var(--kt-border);
  background: var(--kt-glass), var(--kt-surface);
  box-shadow: var(--kt-shadow-soft);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
}

.ktix-cal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ktix-cal-nav{
  border: 1px solid rgba(26,115,232,.22);
  background: var(--kt-primary-soft);
  color: var(--kt-primary);
  border-radius: 999px;
  padding: 8px 15px;
  min-height: 36px;
  cursor:pointer;
  font-weight: 700;
  transition: transform .08s ease, filter .12s ease;
  -webkit-tap-highlight-color: transparent;
}

.ktix-cal-nav:hover{ filter: brightness(.98); }
.ktix-cal-nav:active{ transform: scale(.98); }

.ktix-cal-month{
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: .01em;
}

.ktix-cal-grid{
  display:grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  gap: 10px;
}

.ktix-cal-weekday{
  text-align:center;
  font-size: 11px;
  line-height: 1;
  padding: 6px 0 10px;
  color: var(--kt-muted);
  font-weight: 600;
}

.ktix-cal-day{
  min-height: 44px;
  padding: 8px 0;
  border:1px solid var(--kt-border);
  color: var(--kt-text);
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  background: #f8fafc;
  transition: transform .08s ease, border-color .12s ease, background .12s ease;
  user-select: none;
}

.ktix-cal-day:hover{
  border-color: rgba(26,115,232,.30);
  background: rgba(26,115,232,.08);
}

.ktix-cal-day:active{ transform: scale(.98); }

.ktix-cal-day--disabled{
  opacity:.35;
  cursor:not-allowed;
}

.ktix-cal-day--empty{
  background: transparent;
  border: none;
  cursor: default;
}

.ktix-cal-day--sel{
  border-color: rgba(26,115,232,.55);
  background: rgba(26,115,232,.18);
}
.ktix-cal-day--soldout{
  border-color: rgba(217,48,37,.45);
  background: rgba(217,48,37,.18);
  color: #7f1d1d;
}
.ktix-cal-day--hasslots{
  border-color: rgba(26,115,232,.6);
  background: rgba(26,115,232,.12);
  font-weight: 800;
  color: var(--kt-text);
  box-shadow: inset 0 0 0 1px rgba(26,115,232,.28);
}
.ktix-cal-day--noslots{
  opacity:.45;
  filter: saturate(.6);
}

.ktix-cal-attn{
  animation: ktix-cal-blink 1.2s ease-in-out 2;
}

@keyframes ktix-cal-blink{
  0%{
    box-shadow: 0 0 0 0 rgba(26,115,232,.0);
  }
  25%{
    box-shadow: 0 0 0 3px rgba(26,115,232,.25);
  }
  50%{
    box-shadow: 0 0 0 0 rgba(26,115,232,.0);
  }
  75%{
    box-shadow: 0 0 0 3px rgba(26,115,232,.25);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(26,115,232,.0);
  }
}

/* Slot buttons */
.ktix-slot-btn{
  border: 1px solid rgba(26,115,232,.22);
  background: var(--kt-primary-soft);
  color: var(--kt-primary);
  padding: 10px 12px;
  border-radius: 999px;
  cursor:pointer;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition: transform .08s ease, filter .12s ease;
  min-height: var(--kt-tap);
  -webkit-tap-highlight-color: transparent;
}

.ktix-slot-btn:hover{ filter: brightness(.98); }
.ktix-slot-btn:active{ transform: scale(.98); }
.ktix-slot-btn--sel{
  border-color: rgba(24,128,56,.45);
  background: var(--kt-success-soft);
  color: #14532d;
  box-shadow: 0 0 0 2px rgba(24,128,56,.18) inset;
}
.ktix-slot-btn--sel::after{
  content: "✓";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(24,128,56,.18);
  color: #0f2f1b;
  font-size: 12px;
  font-weight: 800;
}
.ktix-slot-btn--sold{
  border-color: rgba(217,48,37,.35);
  background: var(--kt-danger-soft);
  color: #7f1d1d;
  cursor:not-allowed;
  opacity: .7;
}
.ktix-slot-btn--past{
  border-color: var(--kt-border);
  background: #f3f4f6;
  color: #9ca3af;
  cursor:not-allowed;
  opacity: .65;
}
.ktix-slot-btn--ins{
  border-color: rgba(217,48,37,.45);
  background: rgba(217,48,37,.12);
  color: #7f1d1d;
  cursor:not-allowed;
  box-shadow: 0 0 0 1px rgba(217,48,37,.2) inset;
}
.ktix-slot-btn--low{
  border-color: rgba(245,158,11,.55);
  background: rgba(245,158,11,.14);
  color: #7a4b00;
}

/* Slot actions */
.ktix-slot-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.ktix-slot-cancel,
.ktix-slot-back{
  border: 1px solid rgba(26,115,232,.22);
  background: var(--kt-primary-soft);
  color: var(--kt-primary);
  padding: 10px 12px;
  margin-top: 5px;
  border-radius: 999px;
  cursor:pointer;
  font-weight:700;
  transition: transform .08s ease, filter .12s ease;
  min-height: var(--kt-tap);
  -webkit-tap-highlight-color: transparent;
}

.ktix-slot-cancel:hover,
.ktix-slot-back:hover{ filter: brightness(.98); }

.ktix-slot-cancel:active,
.ktix-slot-back:active{ transform: scale(.98); }

.ktix-slot-continue,
.ktix-slot-confirm{
  border:1px solid rgba(26,115,232,.35);
  border-radius:999px;
  padding:10px 16px;
  cursor:pointer;
  font-weight:700;
  background: var(--kt-primary);
  color:#111827;
  box-shadow: 0 8px 18px rgba(26,115,232,.22);
  transition: transform .08s ease, box-shadow .12s ease, filter .12s ease;
  min-height: var(--kt-tap);
  -webkit-tap-highlight-color: transparent;
}
.ktix-slot-confirm:hover{ filter: brightness(.98); box-shadow: 0 12px 22px rgba(26,115,232,.26); }
.ktix-slot-confirm:active{ transform: scale(.98); }
.ktix-slot-confirm:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter: grayscale(40%);
  box-shadow:none;
}

/* Badges */
.ktix-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  font-size:11px;
  font-weight:800;
  color: var(--kt-text);
}

.ktix-badge--soldout{
  border-color: rgba(255,59,48,.22);
  background: var(--kt-danger-soft);
  color: var(--kt-danger);
}

/* Responsive */
@media (max-width: 640px){
  .ktix-card{ flex-direction:column; align-items:flex-start; }
  .ktix-card-actions{ width:100%; justify-content:flex-start; }
  .ktix-card-actions--stack{ align-items:flex-start; }
  .ktix-slot-flag{
    width: 100%;
    min-width: 0;
    max-width: 100%;
    text-align:left;
    flex-direction:row;
  }

  .ktix-slot-calendar{ padding: 14px; }
  .ktix-cal-grid{ gap: 8px; }
  .ktix-cal-day{ min-height: 42px; }
}

@media (max-width: 568px){
  .evcal_eventcard .evcal_evdata_row .evcal_evdata_cell{
    margin-left: 0 !important;
  }
}

@media (max-width: 480px){
  .evcal_evdata_row{
    padding: 0 !important;
  }
}

/* Iconos pequeños para resumen */
.ktix-bubble-slot .ktix-ico-clock-sm,
.ktix-bubble-date .ktix-ico-cal-sm{
  margin-right:6px;
}
.ktix-ico-ticket,
.ktix-ico-cal-sm,
.ktix-ico-clock-sm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: var(--kt-primary);
  width:auto;
  height:auto;
  line-height:1;
}
  .ktix-slot-card-name svg{
    width:20px;
    height:20px;
    flex-basis:20px;
  }
