/* =========================
   KTiX UI — iOS-like (clean)
   ========================= */

:root{
  /* iOS 26 — Dark Liquid Glass */
  --kt-bg: #0b0b12;                       /* deep backdrop */
  --kt-surface: rgba(18,20,28,.72);       /* glass surface */
  --kt-surface-solid: rgba(20,22,30,.92); /* solid glass */

  --kt-border: rgba(255,255,255,.10);     /* separator */
  --kt-border-strong: rgba(255,255,255,.18);

  --kt-text: #f5f7ff;
  --kt-muted: rgba(235,240,255,.60);

  /* iOS accent */
  --kt-primary: #64d2ff;
  --kt-primary-2: #5ac8fa;
  --kt-primary-soft: rgba(100,210,255,.16);

  --kt-danger: #ff453a;
  --kt-danger-soft: rgba(255,69,58,.18);

  --kt-success: #30d158;
  --kt-success-soft: rgba(48,209,88,.18);

  /* Glass gradients */
  --kt-glass: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
  --kt-glass-strong: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  --ktix-bg-image: none;

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

  --kt-shadow: 0 20px 60px rgba(0,0,0,.55);
  --kt-shadow-soft: 0 10px 30px rgba(0,0,0,.35);

  /* 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: dark;
}
.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(100,210,255,.12), rgba(0,0,0,0)),
              var(--kt-bg);

  box-shadow: var(--kt-shadow);
  position: relative;
}
.ktix-ui::before{
  content: 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(100,210,255,.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.ktix-step2.ktix-step2--inline-visible{
  display:block;
  margin-top: 0;
}
.ktix-inline-step2-host{
  display:none;
}
.ktix-inline-step2-host.ktix-inline-step2-host--active{
  display:block;
  margin: 14px 8px 0;
}
.ktix-step1 .ktix-step1-entries-block{
  margin: 0 8px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ktix-step1 .ktix-step1-edit-msg{
  margin: 0 8px 10px;
}
.ktix-step1.ktix-step1--inline-calendar .ktix-step1-entries-block{
  margin: 0;
}
.ktix-step2:not(.ktix-step2--inline){
  margin: 0 8px;
  padding: 12px;
  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-step2.ktix-step2--inline{
  padding: 12px;
  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-step2.ktix-step2--inline .ktix-slot-summary{
  display:none !important;
}

.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-step2 .ktix-step-title{
  align-items:flex-start;
}
.ktix-step2-title-wrap{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.ktix-step2-title-copy{
  display:block;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
  color: var(--kt-text);
  max-width: 780px;
}
.ktix-step2-title-subtitle{
  display:block;
}
.ktix-step2-title-wrap .ktix-group-title{
  margin: 0 0 0 2px;
}
@media (max-width: 782px){
  .ktix-step2-title-wrap{
    gap:3px;
  }
  .ktix-step2-title-copy{
    font-size:18px;
  }
}
.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;
}

/* 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:#7a4b00;
  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: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  box-shadow: var(--kt-shadow-soft);
  width: fit-content;
}

.ktix-card-price.ktix-card-price--from,
.ktix-card-price.ktix-card-price--selected{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.ktix-card-price.ktix-card-price--selected{
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 6px 15px 11px;
  margin-bottom: 14px;
}
.ktix-card-price.ktix-card-price--loading{
  color: var(--kt-muted);
  border-style: dashed;
  opacity: .92;
  animation: ktix-price-pulse 1s ease-in-out infinite;
}

.ktix-card-price-from{
  font-size:13px;
  font-weight:800;
  color:var(--kt-primary);
}
.ktix-card-price-current{
  font-size:15px;
  font-weight:800;
  color:var(--kt-primary-2);
  line-height:1;
}
.ktix-card-price-badge{
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 69, 58, .26);
  background: linear-gradient(180deg, rgba(255, 69, 58, .30), rgba(255, 69, 58, .16));
  box-shadow: 0 6px 12px rgba(255, 69, 58, .18);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
}

.ktix-card-price-base{
  font-size:11px;
  font-weight:600;
  opacity:.8;
  text-decoration:line-through;
}
.ktix-card-price--selected .ktix-card-price-base{
  font-size:11px;
  font-weight:600;
  line-height:1;
  opacity:1;
  color:rgba(255,255,255,.92);
  white-space: nowrap;
  display: inline-block;
}
.ktix-card-price-note{
  margin: -1px 0 4px;
  font-size: 11px;
  line-height: 1.25;
  font-weight: 600;
  color: #9ce7b1;
  display: block;
}

@keyframes ktix-price-pulse{
  0%{ opacity: .72; }
  50%{ opacity: 1; }
  100%{ opacity: .72; }
}

.ktix-price-bubble{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: var(--kt-primary);
  font-weight:800;
  color: #fff;
  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-datetime{
  margin-top:6px;
  color:var(--kt-text);
  font-size:12px;
  font-weight:700;
  line-height:1.25;
}

.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: rgba(255,255,255,.08);
  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: rgba(255,255,255,.16);
  transform: scale(1.1);
  box-shadow: 0 10px 20px rgba(0,0,0,.35);
}

.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(100,210,255,.22);
  border-color: rgba(100,210,255,.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(100,210,255,0); }
  50%{ filter: brightness(1.35); box-shadow: 0 0 18px rgba(100,210,255,.45); }
  100%{ filter: brightness(1); box-shadow: 0 0 0 rgba(100,210,255,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;
}

.ktix-summary-discount-row{
  color: #9ef2bf;
}

.ktix-summary-discount{
  font-weight:700;
}

.ktix-summary-discount-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:0;
}

.ktix-summary-discount-title{
  font-weight:700;
  color:#9ef2bf;
}

.ktix-summary-discount-desc{
  font-size:11px;
  font-weight:600;
  color:var(--kt-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:220px;
}

.ktix-summary-note{
  margin-top:2px;
  padding:6px 8px;
  border:1px solid rgba(158,242,191,.28);
  border-radius:10px;
  background: rgba(67,160,95,.12);
  color:#bdf7d0;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}

.ktix-summary-note[hidden]{
  display:none !important;
}

.ktix-summary-selection-note{
  margin-top:2px;
  padding:6px 8px;
  border:1px solid rgba(100,210,255,.22);
  border-radius:10px;
  background: rgba(100,210,255,.08);
  color:var(--kt-text);
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}

.ktix-summary-selection-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.ktix-summary-selection-label{
  display:block;
}

.ktix-summary-selection-items{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.ktix-summary-selection-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  padding:4px 6px 4px 8px;
  border:1px solid rgba(100,210,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.5);
}

.ktix-summary-selection-chip__text{
  min-width:0;
}

.ktix-summary-selection-remove{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(15,23,42,.08);
  color:var(--kt-text);
  font-size:14px;
  line-height:1;
  cursor:pointer;
}

.ktix-summary-selection-remove:hover{
  background:rgba(15,23,42,.14);
}

.ktix-summary-selection-remove:focus-visible{
  outline:2px solid rgba(100,210,255,.45);
  outline-offset:1px;
}

.ktix-summary-selection-note[hidden]{
  display:none !important;
}

.ktix-discount{
  display:flex;
  flex-direction:column;
  gap:8px;
  border:1px solid var(--kt-border);
  background: var(--kt-glass), var(--kt-surface);
  border-radius: var(--kt-radius-sm);
  padding:10px 12px;
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
}

.ktix-discount-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--kt-muted);
}

.ktix-discount-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.ktix-discount-input{
  flex:1 1 auto;
  min-width:0;
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--kt-border);
  background: rgba(255,255,255,.06);
  color: var(--kt-text);
  outline:none;
  font-size:13px;
  text-transform:uppercase;
}

.ktix-discount-input::placeholder{
  color: var(--kt-muted);
  text-transform:none;
}

.ktix-discount-input:focus{
  border-color: rgba(100,210,255,.45);
  box-shadow: 0 0 0 3px rgba(100,210,255,.18);
}

.ktix-discount-apply{
  border:1px solid rgba(100,210,255,.35);
  border-radius:999px;
  min-height:38px;
  padding:0 14px;
  cursor:pointer;
  font-weight:700;
  background: var(--kt-primary-soft);
  color: var(--kt-primary);
  transition: transform .08s ease, filter .12s ease;
  white-space:nowrap;
}

.ktix-discount-apply:hover{
  filter: brightness(.98);
}

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

.ktix-discount-apply:disabled{
  opacity:.6;
  cursor:not-allowed;
}

.ktix-discount-msg{
  font-size:12px;
  color: var(--kt-muted);
}

.ktix-discount-msg[hidden]{
  display:none !important;
}

.ktix-discount-msg.is-success{
  color:#9ef2bf;
}

.ktix-discount-msg.is-error{
  color:#fecaca;
}

.ktix-gift-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--kt-border);
  background: var(--kt-glass), var(--kt-surface);
  border-radius: var(--kt-radius-sm);
  padding:10px 12px;
  font-size:13px;
  font-weight:600;
  color: var(--kt-text);
  cursor:pointer;
  user-select:none;
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
}

.ktix-gift-check{
  width:18px;
  height:18px;
  margin:0;
  accent-color: var(--kt-primary);
}

.ktix-gift-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color: var(--kt-primary);
  pointer-events:none;
}

.ktix-gift-icon svg{
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ktix-gift-text{
  line-height:1.2;
}

/* Primary button */
.ktix-addall{
  border:1px solid rgba(100,210,255,.35);
  border-radius:999px;
  padding:12px 16px;
  cursor:pointer;

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

  box-shadow: 0 10px 22px rgba(100,210,255,.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(100,210,255,.28);
}

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

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

.ktix-edit-slot-change{
  align-self:center;
  border:1px solid var(--kt-border);
  border-radius:999px;
  padding:10px 14px;
  background: transparent;
  color: var(--kt-text);
  font-weight:600;
  cursor:pointer;
  transition: background .12s ease, border-color .12s ease, transform .08s ease;
}

.ktix-edit-slot-change:hover{
  background: rgba(255,255,255,0.06);
  border-color: rgba(100,210,255,.35);
}

.ktix-edit-slot-change:active{
  transform: scale(.98);
}

.ktix-edit-slot-change[hidden]{
  display:none !important;
}

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

/* Overlay (iOS glass sheet) */
.ktix-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  z-index:2147483000;
  color: var(--kt-text);
  text-align:center;
  padding: clamp(92px, 18dvh, 180px) 20px 20px;
}

.ktix-overlay-box{
  background: var(--kt-glass-strong), var(--kt-surface-solid);
  border-radius: 20px;
  padding: 18px 20px;
  min-width: 240px;
  max-width: 420px;
  border: 1px solid var(--kt-border);
  box-shadow: var(--kt-shadow);

  display:flex;
  flex-direction:column;
  gap:12px;
}

.ktix-overlay .ktix-spinner{
  margin: 0 auto 4px auto;
  width:34px; height:34px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.20);
  border-top-color: rgba(100,210,255,.9);
  animation: ktix-spin 0.8s linear infinite;
}
.ktix-overlay-msg{
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

@keyframes ktix-spin{ to { transform: rotate(360deg); } }

.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(100,210,255,.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;
  margin-bottom: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-slot-days-msg--success{
  background: rgba(34,197,94,.16);
  border:1px solid rgba(34,197,94,.38);
  color:#dcfce7;
}
.ktix-slot-days-msg.ktix-slot-days-msg--success .ktix-msg-icon{
  background:#22c55e;
  color:#fff;
}
.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: rgba(255,255,255,.08);
  color: var(--kt-text);
  font-size:11px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.12);
}

.ktix-tag--nofecha{
  background: var(--kt-danger-soft);
  border-color: rgba(255,59,48,.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(100,210,255,.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: rgba(255,255,255,.06);
  transition: transform .08s ease, border-color .12s ease, background .12s ease;
  user-select: none;
}

.ktix-cal-day:hover{
  border-color: rgba(100,210,255,.30);
  background: rgba(100,210,255,.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(100,210,255,.55);
  background: rgba(100,210,255,.18);
}
.ktix-cal-day--soldout{
  border-color: rgba(255,69,58,.45);
  background: rgba(255,69,58,.18);
  color: #fecaca;
}
.ktix-cal-day--hasslots{
  border-color: rgba(100,210,255,.6);
  background: rgba(100,210,255,.12);
  font-weight: 800;
  color: var(--kt-text);
  box-shadow: inset 0 0 0 1px rgba(100,210,255,.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(100,210,255,.0);
  }
  25%{
    box-shadow: 0 0 0 3px rgba(100,210,255,.25);
  }
  50%{
    box-shadow: 0 0 0 0 rgba(100,210,255,.0);
  }
  75%{
    box-shadow: 0 0 0 3px rgba(100,210,255,.25);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(100,210,255,.0);
  }
}

/* Slot buttons */
.ktix-slot-btn{
  border: 1px solid rgba(100,210,255,.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(48,209,88,.6);
  background: rgba(48,209,88,.18);
  color: #9ef2bf;
  box-shadow: 0 0 0 2px rgba(48,209,88,.22) 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(48,209,88,.22);
  color: #0b2a1a;
  font-size: 12px;
  font-weight: 800;
}
.ktix-slot-btn--sold{
  border-color: rgba(255,69,58,.35);
  background: var(--kt-danger-soft);
  color: #fecaca;
  cursor:not-allowed;
  opacity: .7;
}
.ktix-slot-btn--past{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(235,240,255,.45);
  cursor:not-allowed;
  opacity: .65;
}
.ktix-slot-btn--ins{
  border-color: rgba(255,69,58,.45);
  background: rgba(255,69,58,.20);
  color: #fecaca;
  cursor:not-allowed;
  box-shadow: 0 0 0 1px rgba(220,38,38,.2) inset;
}
.ktix-slot-btn--low{
  border-color: rgba(245,158,11,.55);
  background: rgba(245,158,11,.18);
  color: #fde68a;
}

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

.ktix-slot-cancel,
.ktix-slot-back{
  border: 1px solid rgba(100,210,255,.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(100,210,255,.35);
  border-radius:999px;
  padding:10px 16px;
  cursor:pointer;
  font-weight:700;
  background: var(--kt-primary);
  color:#000;;
  box-shadow: 0 8px 18px rgba(100,210,255,.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(100,210,255,.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;
  }
