.emlym-booking{font-family:inherit;color:var(--emlym-text);line-height:1.5}.emlym-booking *{box-sizing:border-box}.emlym-shell{max-width:920px;margin:0 auto;background:var(--emlym-bg);border:1px solid color-mix(in srgb,var(--emlym-accent) 20%,transparent);border-radius:24px;padding:clamp(20px,4vw,44px);box-shadow:0 24px 70px rgba(30,39,84,.10)}.emlym-head{text-align:center;margin-bottom:24px}.emlym-kicker{display:inline-block;font-size:.74rem;letter-spacing:.16em;font-weight:800;color:var(--emlym-primary);margin-bottom:8px}.emlym-head h2{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.12;color:var(--emlym-text)}.emlym-head p{margin:10px auto 0;max-width:560px;opacity:.74}.emlym-progress{display:flex;align-items:center;justify-content:center;max-width:480px;margin:28px auto 34px}.emlym-progress span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--emlym-accent) 35%,#fff);font-size:.8rem;background:#fffdf7;color:var(--emlym-text);transition:.2s}.emlym-progress span.is-active{background:var(--emlym-primary);border-color:var(--emlym-primary);color:var(--emlym-text);font-weight:800}.emlym-progress i{height:1px;flex:1;background:color-mix(in srgb,var(--emlym-accent) 30%,#fff)}.emlym-step{display:none;scroll-margin-top:30px}.emlym-step.is-active{display:block;animation:emlymFade .25s ease}.emlym-step-title{text-align:center;margin-bottom:20px}.emlym-step-title small{color:var(--emlym-primary);font-weight:800}.emlym-step-title h3{font-size:clamp(1.35rem,3vw,1.85rem);margin:4px 0;color:var(--emlym-text)}.emlym-step-title p{margin:6px auto;max-width:620px;opacity:.7}.emlym-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.emlym-choice{position:relative;text-align:left;border:1px solid color-mix(in srgb,var(--emlym-accent) 24%,#fff);border-radius:16px;background:#fffdf7;padding:18px 48px 18px 18px;color:inherit;font:inherit;cursor:pointer;transition:.2s}.emlym-choice:hover,.emlym-choice:focus-visible{border-color:var(--emlym-primary);transform:translateY(-1px);box-shadow:0 10px 24px rgba(30,39,84,.09);outline:none}.emlym-choice-title{display:block;font-size:1.05rem;font-weight:750;color:var(--emlym-text)}.emlym-choice-desc{display:block;margin-top:5px;font-size:.9rem;opacity:.7}.emlym-choice-meta{display:block;margin-top:10px;font-size:.86rem;font-weight:800;color:var(--emlym-primary)}.emlym-choice-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--emlym-primary);font-weight:800}.emlym-date-row{max-width:360px;margin:0 auto 20px}.emlym-booking label{display:block;font-weight:650;font-size:.92rem}.emlym-booking input[type=text],.emlym-booking input[type=email],.emlym-booking input[type=tel],.emlym-booking input[type=date],.emlym-booking textarea{width:100%;margin-top:7px;border:1px solid color-mix(in srgb,var(--emlym-accent) 25%,#fff);border-radius:12px;background:#fffdf7;color:var(--emlym-text);padding:12px 13px;font:inherit}.emlym-booking input:focus,.emlym-booking textarea:focus{outline:2px solid color-mix(in srgb,var(--emlym-primary) 28%,transparent);border-color:var(--emlym-primary)}.emlym-slots{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.emlym-slot{appearance:none;border:1px solid color-mix(in srgb,var(--emlym-accent) 38%,#fff);border-radius:999px;background:#fffdf7;padding:9px 14px;color:var(--emlym-text);font:inherit;font-weight:750;cursor:pointer}.emlym-slot:hover,.emlym-slot.is-active{background:var(--emlym-primary);border-color:var(--emlym-primary);color:var(--emlym-text)}.emlym-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.emlym-span-2{grid-column:1/-1}.emlym-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 15%,#fff);border-radius:15px;padding:14px;margin-bottom:20px}.emlym-summary div{padding:4px 8px}.emlym-summary span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.55}.emlym-summary strong{display:block;margin-top:3px}.emlym-company{margin:18px 0;background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 22%,#fff);border-radius:14px;padding:13px 15px}.emlym-company summary{cursor:pointer;font-weight:750}.emlym-company .emlym-fields{margin-top:14px}.emlym-payments{margin:22px 0}.emlym-payments h4{margin:0 0 10px}.emlym-payment{display:flex!important;align-items:flex-start;gap:10px;background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 22%,#fff);border-radius:13px;padding:13px;margin:9px 0;cursor:pointer}.emlym-payment:has(input:checked){border-color:var(--emlym-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--emlym-primary) 18%,transparent)}.emlym-payment input{margin-top:3px;accent-color:var(--emlym-primary)}.emlym-payment strong,.emlym-payment small{display:block}.emlym-payment small{font-weight:400;opacity:.65;margin-top:2px}.emlym-consent{display:flex!important;align-items:flex-start;gap:9px;font-weight:400!important;font-size:.88rem!important}.emlym-consent input{margin-top:3px;accent-color:var(--emlym-primary)}.emlym-consent a{color:var(--emlym-text);text-decoration-color:var(--emlym-primary);text-decoration-thickness:2px;text-underline-offset:2px}.emlym-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.emlym-btn{appearance:none;border:0;border-radius:999px;padding:11px 20px;font:inherit;font-weight:800;cursor:pointer;transition:.2s}.emlym-btn-primary{background:var(--emlym-primary);color:var(--emlym-text)}.emlym-btn-primary:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 8px 20px rgba(30,39,84,.10)}.emlym-btn-ghost{background:transparent;border:1px solid color-mix(in srgb,var(--emlym-accent) 55%,#fff);color:var(--emlym-text)}.emlym-btn-ghost:hover{border-color:var(--emlym-primary);background:color-mix(in srgb,var(--emlym-primary) 8%,transparent)}.emlym-btn:disabled{opacity:.55;cursor:not-allowed}.emlym-message{margin:0 0 18px;border-radius:13px;padding:12px 14px}.emlym-message.is-success{background:color-mix(in srgb,var(--emlym-success) 13%,#fff);border:1px solid color-mix(in srgb,var(--emlym-success) 45%,#fff);color:var(--emlym-success)}.emlym-message.is-error{background:#fff0ef;border:1px solid #e6a8a2;color:#8a3029}.emlym-message.is-info{background:color-mix(in srgb,var(--emlym-accent) 7%,#fff);border:1px solid color-mix(in srgb,var(--emlym-accent) 25%,#fff);color:var(--emlym-text)}.emlym-muted{opacity:.65;text-align:center}.emlym-loading{opacity:.65;padding:20px;text-align:center;grid-column:1/-1}@keyframes emlymFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:700px){.emlym-shell{border-radius:16px;padding:20px 14px}.emlym-card-grid,.emlym-fields{grid-template-columns:1fr}.emlym-span-2{grid-column:auto}.emlym-summary{grid-template-columns:1fr 1fr}.emlym-progress{margin-bottom:26px}.emlym-progress span{width:26px;height:26px;font-size:.72rem}.emlym-choice{padding:15px 44px 15px 15px}.emlym-nav{position:sticky;bottom:8px;background:color-mix(in srgb,var(--emlym-bg) 92%,transparent);backdrop-filter:blur(6px);padding:8px;border-radius:999px}}

/* v0.2.0 – PAY by square, Fio status a poznámky */
.emlym-booking select{width:100%;margin-top:7px;border:1px solid color-mix(in srgb,var(--emlym-accent) 25%,#fff);border-radius:12px;background:#fffdf7;color:var(--emlym-text);padding:12px 38px 12px 13px;font:inherit}.emlym-booking select:focus{outline:2px solid color-mix(in srgb,var(--emlym-primary) 28%,transparent);border-color:var(--emlym-primary)}
.emlym-order-note{margin-top:18px;display:grid;gap:8px}.emlym-note-help{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--emlym-accent) 6%,#fff);border:1px solid color-mix(in srgb,var(--emlym-accent) 18%,#fff);font-size:.86rem;color:color-mix(in srgb,var(--emlym-text) 72%,#fff)}
.emlym-payment{position:relative}.emlym-payment em{margin-left:auto;align-self:center;background:var(--emlym-primary);color:var(--emlym-text);font-style:normal;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;border-radius:999px}.emlym-payment.is-recommended{border-color:color-mix(in srgb,var(--emlym-primary) 55%,#fff)}
.emlym-payment-result{animation:emlymFade .25s ease}.emlym-pay-head{text-align:center;margin:4px auto 24px;max-width:660px}.emlym-pay-head h3,.emlym-final h3{margin:5px 0 8px;font-size:clamp(1.5rem,3vw,2rem);color:var(--emlym-text)}.emlym-pay-head p,.emlym-final p{margin:0 auto;opacity:.75}
.emlym-qr-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:22px;align-items:center;background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 16%,#fff);border-radius:20px;padding:20px}.emlym-qr-box{display:flex;align-items:center;justify-content:center;min-height:260px;background:#fff;border-radius:16px;padding:10px}.emlym-qr-box img{display:block;max-width:100%;height:auto}.emlym-qr-error{font-size:.9rem;text-align:center;color:#8a3029;padding:20px}
.emlym-bank-data{display:grid;gap:10px}.emlym-bank-data div{padding:12px 14px;border-radius:12px;background:var(--emlym-bg);border:1px solid color-mix(in srgb,var(--emlym-accent) 12%,#fff)}.emlym-bank-data span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;opacity:.55}.emlym-bank-data strong{display:block;margin-top:3px;font-size:1.02rem;overflow-wrap:anywhere}.emlym-bank-data div:first-child strong{font-size:1.6rem;color:var(--emlym-primary)}
.emlym-waiting{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:13px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--emlym-accent) 6%,#fff);border:1px solid color-mix(in srgb,var(--emlym-accent) 16%,#fff)}.emlym-waiting strong,.emlym-waiting small{display:block}.emlym-waiting small{opacity:.65;margin-top:2px}.emlym-spinner{width:22px;height:22px;border:3px solid color-mix(in srgb,var(--emlym-accent) 18%,#fff);border-top-color:var(--emlym-primary);border-radius:50%;animation:emlymSpin .8s linear infinite;flex:0 0 auto}.emlym-deadline{text-align:center;margin-top:10px;font-size:.86rem;opacity:.68}
.emlym-final{text-align:center;padding:34px 18px}.emlym-final-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:2.1rem;font-weight:900}.emlym-final.is-success .emlym-final-icon{background:color-mix(in srgb,var(--emlym-success) 13%,#fff);color:var(--emlym-success);border:2px solid color-mix(in srgb,var(--emlym-success) 40%,#fff)}.emlym-final.is-error .emlym-final-icon{background:#fff0ef;color:#8a3029;border:2px solid #e6a8a2}.emlym-final .emlym-btn{display:inline-block;text-decoration:none;margin-top:20px}
@keyframes emlymSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.emlym-qr-layout{grid-template-columns:1fr;padding:14px}.emlym-qr-box{min-height:220px}.emlym-payment em{display:none}.emlym-bank-data div:first-child strong{font-size:1.35rem}}

/* W15 – vstup do passwordless klientskej zóny. */
.emlym-client-account-link{display:inline-flex;align-items:center;justify-content:center;margin-top:13px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--emlym-accent) 24%,#fff);border-radius:999px;background:#fffdf7;color:var(--emlym-text)!important;font-size:.82rem;font-weight:800;text-decoration:none!important}.emlym-client-account-link:hover,.emlym-client-account-link:focus-visible{border-color:var(--emlym-primary);color:var(--emlym-text)!important}

/* Antispam honeypot – intentionally invisible to visitors. */
.emlym-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* v0.2.1 – fix zalamovania kariet kategórií/služieb proti globálnym štýlom témy */
.emlym-booking .emlym-card-grid{
  width:100%;
  min-width:0;
}
.emlym-booking .emlym-card-grid > *{
  min-width:0;
  max-width:100%;
}
.emlym-booking button.emlym-choice{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  white-space:normal !important;
}
.emlym-booking button.emlym-choice .emlym-choice-title,
.emlym-booking button.emlym-choice .emlym-choice-desc,
.emlym-booking button.emlym-choice .emlym-choice-meta{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.emlym-booking button.emlym-choice .emlym-choice-arrow{
  white-space:nowrap !important;
}

/* v0.2.2 – hodnotenia kategórií + kalendár voľných dní */
.emlym-booking button.emlym-choice.has-rating{
  display:flex!important;
  flex-direction:column;
  min-height:188px;
}
.emlym-booking button.emlym-choice.has-rating .emlym-choice-arrow{
  top:18px;
  transform:none;
}
.emlym-choice-rating{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:16px;
  font-size:.82rem;
  color:var(--emlym-text);
}
.emlym-choice-rating strong{font-size:.9rem;line-height:1}.emlym-choice-rating small{opacity:.62;font-weight:600}.emlym-rating-empty{color:color-mix(in srgb,var(--emlym-accent) 28%,#fff);font-size:1rem;letter-spacing:.03em;line-height:1}
.emlym-rating-stars{position:relative;display:inline-block;line-height:1;font-size:1rem;letter-spacing:.03em;white-space:nowrap}
.emlym-rating-stars-base{color:color-mix(in srgb,var(--emlym-accent) 22%,#fff)}
.emlym-rating-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:var(--emlym-primary);white-space:nowrap}

.emlym-date-calendar{max-width:560px;margin:0 auto 24px;background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 17%,#fff);border-radius:18px;padding:16px;transition:opacity .2s}
.emlym-date-calendar.is-loading{opacity:.72}
.emlym-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:13px}
.emlym-calendar-toolbar strong{text-align:center;text-transform:capitalize;font-size:1.05rem;color:var(--emlym-text)}
.emlym-calendar-nav{appearance:none;width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--emlym-accent) 24%,#fff);background:var(--emlym-bg);color:var(--emlym-text);font:inherit;font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer}
.emlym-calendar-nav:hover:not(:disabled){border-color:var(--emlym-primary);background:color-mix(in srgb,var(--emlym-primary) 9%,#fff)}
.emlym-calendar-nav:disabled{opacity:.3;cursor:not-allowed}
.emlym-calendar-week,.emlym-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.emlym-calendar-week{margin-bottom:6px}.emlym-calendar-week span{text-align:center;font-size:.72rem;font-weight:800;opacity:.5;text-transform:uppercase}
.emlym-calendar-blank{aspect-ratio:1/1}
.emlym-calendar-day{appearance:none;position:relative;display:grid;place-items:center;aspect-ratio:1/1;min-width:0;border:1px solid transparent;border-radius:12px;background:color-mix(in srgb,var(--emlym-accent) 4%,#fff);color:var(--emlym-text);font:inherit;font-weight:750;cursor:default;transition:.16s;padding:3px}
.emlym-calendar-day span{line-height:1}.emlym-calendar-day small{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;min-width:15px;height:15px;border-radius:999px;padding:0 3px;font-size:.58rem;font-weight:900;line-height:1;background:rgba(255,255,255,.78);color:inherit}
.emlym-calendar-day.is-available{background:color-mix(in srgb,var(--emlym-success) 14%,#fff);border-color:color-mix(in srgb,var(--emlym-success) 48%,#fff);color:var(--emlym-success);cursor:pointer}
.emlym-calendar-day.is-available:hover,.emlym-calendar-day.is-available:focus-visible{background:color-mix(in srgb,var(--emlym-success) 23%,#fff);border-color:var(--emlym-success);outline:none;transform:translateY(-1px)}
.emlym-calendar-day.is-selected{background:var(--emlym-primary)!important;border-color:var(--emlym-primary)!important;color:var(--emlym-text)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--emlym-primary) 24%,transparent)}
.emlym-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--emlym-accent)}
.emlym-calendar-day.is-unavailable,.emlym-calendar-day.is-disabled{opacity:.28;background:transparent;color:var(--emlym-text)}
.emlym-calendar-day.is-loading{opacity:.24}
.emlym-calendar-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--emlym-accent) 10%,#fff);font-size:.74rem;opacity:.78}
.emlym-calendar-legend span{display:flex;align-items:center;gap:6px}.emlym-calendar-legend i{width:12px;height:12px;border-radius:4px;background:color-mix(in srgb,var(--emlym-success) 17%,#fff);border:1px solid color-mix(in srgb,var(--emlym-success) 48%,#fff)}.emlym-calendar-legend .is-selected i{background:var(--emlym-primary);border-color:var(--emlym-primary)}
@media(max-width:520px){.emlym-date-calendar{padding:12px}.emlym-calendar-week,.emlym-calendar-days{gap:4px}.emlym-calendar-day{border-radius:9px;font-size:.84rem}.emlym-calendar-day small{display:none}.emlym-choice-rating{gap:6px}.emlym-booking button.emlym-choice.has-rating{min-height:168px}}

/* v0.2.4 – profesionálnejšie karty kategórií a služieb */
.emlym-booking .emlym-card-grid{
  gap:clamp(18px,2.4vw,24px);
}
.emlym-booking button.emlym-choice{
  position:relative;
  isolation:isolate;
  min-height:188px;
  padding:28px 78px 28px 30px !important;
  border:1px solid color-mix(in srgb,var(--emlym-accent) 15%,#fff) !important;
  border-radius:28px !important;
  background:linear-gradient(145deg,#fffdf7 0%,color-mix(in srgb,var(--emlym-primary) 7%,#fffdf7) 100%) !important;
  box-shadow:0 10px 26px rgba(30,39,84,.045);
  overflow:hidden;
}
.emlym-booking button.emlym-choice::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:140px;
  height:140px;
  right:-78px;
  bottom:-82px;
  border-radius:50%;
  background:color-mix(in srgb,var(--emlym-primary) 8%,transparent);
  pointer-events:none;
}
.emlym-booking button.emlym-choice:hover,
.emlym-booking button.emlym-choice:focus-visible{
  border-color:color-mix(in srgb,var(--emlym-primary) 72%,#fff) !important;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(30,39,84,.10);
}
.emlym-booking button.emlym-choice .emlym-choice-title{
  padding:0 !important;
  margin:0 !important;
  font-size:clamp(1.02rem,1.5vw,1.13rem);
  line-height:1.34;
  font-weight:800;
  letter-spacing:-.012em;
}
.emlym-booking button.emlym-choice .emlym-choice-desc{
  margin-top:11px !important;
  padding:0 !important;
  font-size:.94rem;
  line-height:1.58;
  opacity:.72;
}
.emlym-booking button.emlym-choice .emlym-choice-meta{
  width:max-content;
  max-width:100%;
  margin-top:16px !important;
  padding:6px 11px !important;
  border-radius:999px;
  background:color-mix(in srgb,var(--emlym-primary) 9%,#fff);
  font-size:.82rem;
  line-height:1.2;
  letter-spacing:.005em;
}
.emlym-booking button.emlym-choice .emlym-choice-arrow{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  right:24px;
  top:24px;
  transform:none;
  border:1px solid color-mix(in srgb,var(--emlym-primary) 32%,#fff);
  border-radius:50%;
  background:color-mix(in srgb,var(--emlym-primary) 9%,#fff);
  font-size:1.08rem;
  line-height:1;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.emlym-booking button.emlym-choice:hover .emlym-choice-arrow,
.emlym-booking button.emlym-choice:focus-visible .emlym-choice-arrow{
  transform:translateX(3px);
  background:var(--emlym-primary);
  border-color:var(--emlym-primary);
}
.emlym-booking button.emlym-choice.has-rating{
  min-height:222px;
  padding-bottom:24px !important;
}
.emlym-booking button.emlym-choice.has-rating .emlym-choice-arrow{
  top:24px;
}
.emlym-booking .emlym-choice-rating{
  width:100%;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid color-mix(in srgb,var(--emlym-accent) 11%,#fff);
  gap:9px;
}
.emlym-booking .emlym-choice-rating strong{
  font-size:.88rem;
}
.emlym-booking .emlym-choice-rating small{
  font-size:.77rem;
  opacity:.68;
}

@media(max-width:700px){
  .emlym-booking .emlym-card-grid{gap:14px}
  .emlym-booking button.emlym-choice{
    min-height:0;
    padding:22px 66px 22px 22px !important;
    border-radius:22px !important;
  }
  .emlym-booking button.emlym-choice .emlym-choice-arrow{
    width:34px;
    height:34px;
    right:18px;
    top:18px;
  }
  .emlym-booking button.emlym-choice.has-rating{
    min-height:176px;
    padding-bottom:20px !important;
  }
  .emlym-booking button.emlym-choice.has-rating .emlym-choice-arrow{top:18px}
}

/* v0.3.31 – samostatný dobrovoľný marketingový súhlas. */
.emlym-checkout-consent{display:grid;gap:10px;margin-top:18px}.emlym-checkout-consent .emlym-consent{margin:0;padding:12px 13px;border:1px solid color-mix(in srgb,var(--emlym-accent) 18%,#fff);border-radius:13px;background:#fffdf7}.emlym-checkout-consent .emlym-consent:has(input:checked){border-color:color-mix(in srgb,var(--emlym-primary) 58%,#fff);background:color-mix(in srgb,var(--emlym-primary) 7%,#fffdf7)}.emlym-marketing-consent{border-style:dashed!important}.emlym-marketing-consent span{display:block;line-height:1.5}.emlym-marketing-consent small{display:inline-flex;margin-left:5px;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--emlym-accent) 8%,#fff);color:var(--emlym-text);font-size:.7rem;font-weight:800;white-space:nowrap}

/* v0.2.5 – fix hover kontrastu kariet */
.emlym-booking button.emlym-choice,
.emlym-booking button.emlym-choice:hover,
.emlym-booking button.emlym-choice:focus,
.emlym-booking button.emlym-choice:focus-visible{
  color:var(--emlym-text) !important;
}
.emlym-booking button.emlym-choice .emlym-choice-title,
.emlym-booking button.emlym-choice:hover .emlym-choice-title,
.emlym-booking button.emlym-choice:focus .emlym-choice-title,
.emlym-booking button.emlym-choice:focus-visible .emlym-choice-title{
  color:var(--emlym-text) !important;
}
.emlym-booking button.emlym-choice .emlym-choice-desc,
.emlym-booking button.emlym-choice:hover .emlym-choice-desc,
.emlym-booking button.emlym-choice:focus .emlym-choice-desc,
.emlym-booking button.emlym-choice:focus-visible .emlym-choice-desc{
  color:color-mix(in srgb,var(--emlym-text) 72%, #ffffff) !important;
  opacity:1 !important;
}
.emlym-booking button.emlym-choice .emlym-choice-meta,
.emlym-booking button.emlym-choice:hover .emlym-choice-meta,
.emlym-booking button.emlym-choice:focus .emlym-choice-meta,
.emlym-booking button.emlym-choice:focus-visible .emlym-choice-meta{
  color:var(--emlym-primary) !important;
}
.emlym-booking button.emlym-choice .emlym-choice-arrow{
  color:var(--emlym-primary) !important;
}
.emlym-booking button.emlym-choice:hover .emlym-choice-arrow,
.emlym-booking button.emlym-choice:focus .emlym-choice-arrow,
.emlym-booking button.emlym-choice:focus-visible .emlym-choice-arrow{
  color:var(--emlym-text) !important;
}

/* v0.2.6 – firemné údaje podľa IČO */
.emlym-company .emlym-fields{align-items:end}
.emlym-company-lookup-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding-top:34px}
.emlym-company-lookup-action .emlym-btn{width:auto;min-height:42px;padding:9px 16px}
.emlym-company-lookup-action small{display:block;min-height:1.2em;font-size:.76rem;line-height:1.35;opacity:.75;padding-left:2px}
.emlym-company-lookup-action small.is-success{color:var(--emlym-success);opacity:1;font-weight:700}
.emlym-company-lookup-action small.is-error{color:#8a3029;opacity:1;font-weight:700}
.emlym-company-source{margin:2px 0 0;font-size:.76rem;line-height:1.45;opacity:.58;font-weight:500}
@media(max-width:700px){.emlym-company-lookup-action{padding-top:0}.emlym-company-lookup-action .emlym-btn{width:100%}}

/* v0.2.8 – profesionálny checkout v kroku 5 */
.emlym-step-checkout{max-width:820px;margin:0 auto}
.emlym-summary-checkout{margin-bottom:22px;padding:12px;gap:8px;background:transparent;border:0}
.emlym-summary-checkout div{background:#fffdf7;border:1px solid color-mix(in srgb,var(--emlym-accent) 13%,#fff);border-radius:14px;padding:12px 13px;min-width:0}
.emlym-summary-checkout span{font-size:.66rem;letter-spacing:.075em}
.emlym-summary-checkout strong{font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}
.emlym-checkout-section{margin:0 0 16px;padding:20px;border:1px solid color-mix(in srgb,var(--emlym-accent) 14%,#fff);border-radius:18px;background:#fffdf7;box-shadow:0 7px 20px rgba(30,39,84,.025)}
.emlym-section-head{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.emlym-section-head>span,.emlym-company-summary-icon{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--emlym-primary) 16%,#fff);color:var(--emlym-text);font-size:.78rem;font-style:normal;font-weight:900}
.emlym-section-head strong,.emlym-company summary strong{display:block;color:var(--emlym-text);font-size:1rem;line-height:1.25}
.emlym-section-head small,.emlym-company summary small{display:block;margin-top:2px;color:color-mix(in srgb,var(--emlym-text) 58%,#fff);font-size:.75rem;font-weight:500;line-height:1.35}
.emlym-step-checkout .emlym-fields{gap:14px 16px}
.emlym-step-checkout label{color:var(--emlym-text);font-weight:700}
.emlym-step-checkout label>em{color:var(--emlym-primary);font-style:normal}
.emlym-step-checkout input[type=text],.emlym-step-checkout input[type=email],.emlym-step-checkout input[type=tel],.emlym-step-checkout textarea{background:#fff;border-color:color-mix(in srgb,var(--emlym-accent) 18%,#fff);min-height:48px;padding:12px 14px}
.emlym-step-checkout textarea{min-height:92px}
.emlym-order-note{margin:0;gap:9px}
.emlym-note-help{background:color-mix(in srgb,var(--emlym-accent) 5%,#fff);border-color:color-mix(in srgb,var(--emlym-accent) 13%,#fff);font-size:.8rem}
.emlym-company.emlym-checkout-section{padding:0;overflow:hidden}
.emlym-company.emlym-checkout-section summary{display:flex;align-items:center;gap:12px;padding:19px 20px;list-style:none;cursor:pointer}
.emlym-company.emlym-checkout-section summary::-webkit-details-marker{display:none}
.emlym-company.emlym-checkout-section summary:after{content:'+';margin-left:auto;display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--emlym-primary) 30%,#fff);border-radius:50%;color:var(--emlym-primary);font-weight:800}
.emlym-company.emlym-checkout-section[open] summary:after{content:'−'}
.emlym-company-fields{margin:0!important;padding:0 20px 20px;border-top:1px solid color-mix(in srgb,var(--emlym-accent) 9%,#fff);padding-top:18px}
.emlym-company-lookup-action{padding-top:31px}
.emlym-payment-section .emlym-section-head{margin-bottom:10px}
.emlym-payments{margin:0}
.emlym-payment{min-height:68px;align-items:center!important;padding:13px 14px;margin:9px 0;border-radius:14px;background:#fff}
.emlym-payment>span{min-width:0}
.emlym-payment strong{color:var(--emlym-text);font-size:.92rem}
.emlym-payment small{line-height:1.35;font-size:.76rem}
.emlym-payment em{white-space:nowrap}
.emlym-payment-empty{padding:15px;border-radius:13px;background:#fff5e8;border:1px solid color-mix(in srgb,var(--emlym-primary) 28%,#fff);color:var(--emlym-text)}
.emlym-payment-empty strong,.emlym-payment-empty small{display:block}.emlym-payment-empty small{margin-top:3px;opacity:.68}
.emlym-checkout-consent{margin:18px 0 0;padding:15px 17px;border-radius:15px;background:color-mix(in srgb,var(--emlym-accent) 4%,#fff);border:1px solid color-mix(in srgb,var(--emlym-accent) 11%,#fff)}
.emlym-checkout-consent .emlym-consent{margin:0;line-height:1.45}
.emlym-checkout-nav{align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--emlym-accent) 9%,#fff)}
.emlym-checkout-nav [data-submit]{min-height:48px;padding:12px 25px;box-shadow:0 9px 22px rgba(241,158,57,.16)}
@media(max-width:700px){.emlym-checkout-section{padding:16px}.emlym-summary-checkout{grid-template-columns:1fr 1fr;padding:0}.emlym-company.emlym-checkout-section summary{padding:16px}.emlym-company-fields{padding:16px;padding-top:16px}.emlym-company-lookup-action{padding-top:0}.emlym-checkout-nav{position:static;background:transparent;backdrop-filter:none;padding:16px 0 0;border-radius:0;flex-direction:column-reverse}.emlym-checkout-nav .emlym-btn{width:100%}}

/* v0.2.9 – zarovnanie IČO lookupu bez úspešného status textu */
.emlym-company .emlym-fields .emlym-company-lookup-action,
.emlym-step-checkout .emlym-company-fields .emlym-company-lookup-action{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  align-self:stretch;
  gap:0;
  min-height:75px;
  padding:0 0 1px !important;
}
.emlym-company-lookup-action .emlym-btn{
  min-height:48px;
  padding:11px 18px;
  margin:0;
}
.emlym-company-lookup-action small[data-company-status]{
  display:none;
}
.emlym-company-lookup-action small[data-company-status].is-error{
  display:block;
  position:absolute;
  left:2px;
  top:calc(100% + 4px);
  z-index:2;
  padding:0;
  color:#8a3029;
  font-weight:700;
  background:var(--emlym-bg);
}
@media(max-width:700px){
  .emlym-company .emlym-fields .emlym-company-lookup-action,
  .emlym-step-checkout .emlym-company-fields .emlym-company-lookup-action{
    min-height:0;
    padding:0 !important;
  }
  .emlym-company-lookup-action .emlym-btn{width:100%}
}

/* v0.2.10 – dostupnosť pracovníkov + najbližší termín */
.emlym-staff-choice.is-checking{opacity:.62;pointer-events:none;transform:none!important}
.emlym-staff-choice.is-checking::after{content:"Overujem termíny…";position:absolute;left:30px;right:70px;bottom:20px;font-size:.72rem;font-weight:800;color:var(--emlym-primary);letter-spacing:.01em}
.emlym-staff-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--emlym-accent) 13%,#fff);border-radius:18px;background:color-mix(in srgb,var(--emlym-primary) 5%,#fffdf7)}
.emlym-staff-tools span{font-size:.9rem;font-weight:700;color:var(--emlym-text)}
.emlym-staff-tools .emlym-btn{flex:0 0 auto}
.emlym-staff-feedback{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--emlym-accent) 15%,#fff);background:#fffdf7}
.emlym-staff-feedback[hidden]{display:none!important}
.emlym-staff-feedback>div{min-width:0}
.emlym-staff-feedback strong{display:block;font-size:.92rem;line-height:1.45;color:var(--emlym-text)}
.emlym-staff-feedback small{display:block;margin-top:4px;font-size:.8rem;line-height:1.45;opacity:.68}
.emlym-staff-feedback.is-warning{border-color:color-mix(in srgb,var(--emlym-primary) 40%,#fff);background:color-mix(in srgb,var(--emlym-primary) 8%,#fffdf7)}
.emlym-staff-feedback.is-error{border-color:#e6a8a2;background:#fff0ef;color:#8a3029}
.emlym-staff-feedback.is-error strong{color:#8a3029}
@media(max-width:700px){.emlym-staff-tools,.emlym-staff-feedback{align-items:stretch;flex-direction:column}.emlym-staff-tools .emlym-btn,.emlym-staff-feedback .emlym-btn{width:100%}.emlym-staff-choice.is-checking::after{left:22px;bottom:12px}}

/* v0.2.14 – zvýraznené upozornenie pri výbere časového slotu */
.emlym-slot-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  max-width:680px;
  margin:18px auto 20px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--emlym-primary) 34%,#fff);
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--emlym-primary) 11%,#fffdf7),#fffdf7);
  color:var(--emlym-text);
  box-shadow:0 8px 22px rgba(30,39,84,.045);
}
.emlym-slot-notice-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin-top:1px;
  border-radius:50%;
  background:var(--emlym-primary);
  color:var(--emlym-text);
  font-size:.82rem;
  font-weight:900;
  line-height:1;
}
.emlym-slot-notice p{
  margin:0;
  font-size:.88rem;
  line-height:1.55;
  color:var(--emlym-text);
}
.emlym-slot-notice strong{
  color:var(--emlym-text);
  font-weight:800;
}
@media(max-width:700px){
  .emlym-slot-notice{
    margin:15px auto 18px;
    padding:13px 14px;
    border-radius:14px;
  }
  .emlym-slot-notice p{font-size:.84rem}
}

/* v0.3.32 / W24 – verejná rezervácia vo vizuálnom jazyku Pracoviska. */
.emlym-booking{
  width:100%;
  min-width:0;
  margin:0;
  padding:clamp(16px,2.4vw,38px);
  overflow-x:hidden;
  border-radius:28px;
  background:linear-gradient(145deg,#fbf8ec 0%,color-mix(in srgb,var(--emlym-primary) 4%,#fbf8ec) 100%);
}
.emlym-booking .emlym-shell{
  width:100%;
  max-width:1480px;
  min-width:0;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.emlym-booking .emlym-head{
  position:relative;
  margin:0 0 18px;
  padding:clamp(24px,3vw,42px);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--emlym-accent) 13%,#fff);
  border-radius:28px;
  background:rgba(255,253,247,.92);
  text-align:left;
  box-shadow:0 16px 38px rgba(30,39,84,.045);
}
.emlym-booking .emlym-head::after{
  content:"";
  position:absolute;
  right:clamp(24px,5vw,78px);
  top:50%;
  width:clamp(86px,10vw,148px);
  aspect-ratio:1;
  border:22px solid color-mix(in srgb,var(--emlym-primary) 15%,transparent);
  border-radius:34%;
  transform:translateY(-50%) rotate(12deg);
  pointer-events:none;
}
.emlym-booking .emlym-kicker,
.emlym-booking .emlym-step-title small{
  color:var(--emlym-primary);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.emlym-booking .emlym-head h2{
  max-width:760px;
  font-size:clamp(2rem,4vw,3.25rem);
  letter-spacing:-.035em;
}
.emlym-booking .emlym-head p{
  max-width:660px;
  margin:12px 0 0;
  font-size:clamp(.95rem,1.3vw,1.08rem);
}
.emlym-booking .emlym-client-account-link{margin-top:18px;background:#fbf4d4}
.emlym-booking .emlym-progress{
  max-width:620px;
  margin:0 auto 18px;
  padding:15px 22px;
  border:1px solid color-mix(in srgb,var(--emlym-accent) 13%,#fff);
  border-radius:999px;
  background:rgba(255,253,247,.92);
}
.emlym-booking .emlym-progress span{width:36px;height:36px;font-weight:800}
.emlym-booking .emlym-progress span.is-active{box-shadow:0 6px 16px color-mix(in srgb,var(--emlym-primary) 28%,transparent)}
.emlym-booking .emlym-step.is-active{
  width:100%;
  min-width:0;
  padding:clamp(22px,2.6vw,40px);
  border:1px solid color-mix(in srgb,var(--emlym-accent) 13%,#fff);
  border-radius:28px;
  background:rgba(255,253,247,.94);
  box-shadow:0 16px 42px rgba(30,39,84,.045);
}
.emlym-booking .emlym-step-title{text-align:left;margin:0 0 28px}
.emlym-booking .emlym-step-title h3{
  margin:5px 0 0;
  font-size:clamp(1.55rem,2.4vw,2.15rem);
  line-height:1.16;
  letter-spacing:-.025em;
}
.emlym-booking .emlym-step-title p{max-width:760px;margin:9px 0 0}
.emlym-booking [data-categories],
.emlym-booking [data-services],
.emlym-booking [data-staff]{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

.emlym-booking button.emlym-service-choice{
  appearance:none;
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  min-height:390px;
  padding:26px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:28px;
  background:linear-gradient(145deg,#fff 0%,#fffdf7 100%);
  color:var(--emlym-text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(30,39,84,.035);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.emlym-booking button.emlym-service-choice:hover,
.emlym-booking button.emlym-service-choice:focus-visible{
  border-color:var(--emlym-primary);
  outline:none;
  box-shadow:0 17px 36px rgba(30,39,84,.09);
  transform:translateY(-3px);
}
.emlym-service-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;margin-bottom:24px}
.emlym-service-top>small{
  min-width:0;
  color:color-mix(in srgb,var(--emlym-primary) 68%,#8a4d00);
  font-size:.68rem;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.025em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.emlym-service-top>em{
  flex:0 0 auto;
  padding:6px 11px;
  border-radius:999px;
  background:color-mix(in srgb,var(--emlym-success) 12%,#fff);
  color:var(--emlym-success);
  font-size:.7rem;
  font-style:normal;
  font-weight:900;
}
.emlym-service-title{
  display:block;
  width:100%;
  min-width:0;
  color:var(--emlym-text);
  font-size:clamp(1.08rem,1.55vw,1.3rem);
  font-weight:850;
  line-height:1.3;
  letter-spacing:-.02em;
  white-space:normal;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.emlym-service-desc{
  display:-webkit-box;
  width:100%;
  min-width:0;
  min-height:3.15em;
  margin-top:15px;
  overflow:hidden;
  color:color-mix(in srgb,var(--emlym-text) 68%,#fff);
  font-size:.84rem;
  line-height:1.55;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.emlym-service-desc.is-empty{font-style:italic;opacity:.72}
.emlym-service-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
  margin-top:auto;
  padding-top:24px;
}
.emlym-service-metrics>span{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:68px;
  justify-content:center;
  padding:10px 11px;
  border-radius:14px;
  background:#fbf8ec;
}
.emlym-service-metrics b{font-size:.8rem;line-height:1.2;white-space:nowrap}
.emlym-service-metrics small{margin-top:5px;color:color-mix(in srgb,var(--emlym-text) 58%,#fff);font-size:.65rem;line-height:1.25;overflow-wrap:anywhere}
.emlym-service-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid color-mix(in srgb,var(--emlym-accent) 12%,#fff);
}
.emlym-service-footer strong{font-size:1.24rem;line-height:1;color:var(--emlym-text)}
.emlym-service-footer small{max-width:50%;color:color-mix(in srgb,var(--emlym-text) 58%,#fff);font-size:.65rem;font-weight:700;text-align:right}

.emlym-booking [data-categories] button.emlym-choice,
.emlym-booking [data-staff] button.emlym-choice{
  min-height:230px;
  padding:28px 74px 26px 28px!important;
  border-color:transparent!important;
  background:linear-gradient(145deg,#fff,#fffdf7)!important;
}
.emlym-booking [data-categories] button.emlym-choice:hover,
.emlym-booking [data-staff] button.emlym-choice:hover,
.emlym-booking [data-categories] button.emlym-choice:focus-visible,
.emlym-booking [data-staff] button.emlym-choice:focus-visible{border-color:var(--emlym-primary)!important}
.emlym-booking .emlym-date-calendar{max-width:720px;padding:22px;border-radius:22px}
.emlym-booking .emlym-slot-notice{max-width:720px}
.emlym-booking .emlym-slots{max-width:900px;margin:0 auto}
.emlym-booking .emlym-step-checkout{max-width:none;margin:0}
.emlym-booking .emlym-step-checkout>.emlym-step-title{max-width:980px}
.emlym-booking .emlym-summary-checkout{grid-template-columns:repeat(4,minmax(0,1fr))}
.emlym-booking .emlym-checkout-section,
.emlym-booking .emlym-checkout-consent{border-radius:20px;background:#fff}
.emlym-booking .emlym-checkout-section{padding:24px}
.emlym-booking .emlym-company.emlym-checkout-section{padding:0}
.emlym-booking .emlym-company-fields{padding-right:24px;padding-left:24px;padding-bottom:24px}
.emlym-booking .emlym-fields{gap:18px 20px}
.emlym-booking .emlym-checkout-consent{padding:17px}
.emlym-booking .emlym-checkout-consent .emlym-consent{background:#fffdf7}
.emlym-booking .emlym-btn{min-height:48px;padding:12px 23px}
.emlym-booking .emlym-nav{padding-top:6px}
.emlym-booking :where(button,input,textarea,select):focus-visible{outline:3px solid color-mix(in srgb,var(--emlym-primary) 30%,transparent);outline-offset:2px}

@media(max-width:1100px){
  .emlym-booking [data-categories],
  .emlym-booking [data-services],
  .emlym-booking [data-staff]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .emlym-booking .emlym-head::after{opacity:.58}
}
@media(max-width:700px){
  .emlym-booking{padding:10px;border-radius:18px}
  .emlym-booking .emlym-head,
  .emlym-booking .emlym-step.is-active{padding:20px 16px;border-radius:20px}
  .emlym-booking .emlym-head::after{display:none}
  .emlym-booking .emlym-head h2{font-size:2rem}
  .emlym-booking .emlym-progress{padding:10px 12px;border-radius:20px}
  .emlym-booking .emlym-progress span{width:30px;height:30px}
  .emlym-booking [data-categories],
  .emlym-booking [data-services],
  .emlym-booking [data-staff]{grid-template-columns:1fr;gap:14px}
  .emlym-booking button.emlym-service-choice{min-height:0;padding:21px;border-radius:22px}
  .emlym-service-top{margin-bottom:18px}
  .emlym-service-desc{min-height:0}
  .emlym-service-metrics{padding-top:19px}
  .emlym-booking [data-categories] button.emlym-choice,
  .emlym-booking [data-staff] button.emlym-choice{min-height:0;padding:22px 64px 22px 22px!important}
  .emlym-booking .emlym-date-calendar{padding:13px}
  .emlym-booking .emlym-summary-checkout{grid-template-columns:1fr 1fr}
  .emlym-booking .emlym-checkout-section{padding:17px}
  .emlym-booking .emlym-company.emlym-checkout-section{padding:0}
  .emlym-booking .emlym-company-fields{padding:17px}
  .emlym-booking .emlym-checkout-nav{padding-top:17px}
}
@media(max-width:420px){
  .emlym-service-metrics{grid-template-columns:1fr 1fr}
  .emlym-service-metrics>span:last-child{grid-column:1/-1}
  .emlym-service-footer{align-items:flex-start;flex-direction:column}
  .emlym-service-footer small{max-width:none;text-align:left}
  .emlym-booking .emlym-summary-checkout{grid-template-columns:1fr}
}

/* v0.3.33 / W25 – kompaktný kalendár a bezpečné rozloženie dlhého obsahu. */
.emlym-booking .emlym-service-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}
.emlym-booking .emlym-service-top>small{
  display:-webkit-box;
  min-width:0;
  max-width:100%;
  padding-right:8px;
  overflow:hidden;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.emlym-booking .emlym-service-top>em{position:relative;z-index:1;white-space:nowrap}
.emlym-booking .emlym-service-title,
.emlym-booking .emlym-service-desc{
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.emlym-booking .emlym-date-calendar{max-width:600px;padding:18px}
.emlym-booking .emlym-calendar-week,
.emlym-booking .emlym-calendar-days{
  grid-template-columns:repeat(7,minmax(0,1fr));
  column-gap:6px;
  row-gap:8px;
}
.emlym-booking .emlym-calendar-blank{
  width:42px;
  height:42px;
  aspect-ratio:auto;
  justify-self:center;
}
.emlym-booking button.emlym-calendar-day{
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  max-width:42px;
  max-height:42px;
  aspect-ratio:auto;
  justify-self:center;
  padding:3px!important;
  border-radius:50%;
  line-height:1;
}
.emlym-booking .emlym-calendar-day small{right:1px;bottom:0}
@media(max-width:520px){
  .emlym-booking .emlym-date-calendar{padding:12px 9px}
  .emlym-booking .emlym-calendar-week,
  .emlym-booking .emlym-calendar-days{column-gap:2px;row-gap:6px}
  .emlym-booking .emlym-calendar-blank,
  .emlym-booking button.emlym-calendar-day{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    max-width:36px;
    max-height:36px;
  }
}

/* v0.3.38 – lepšia čitateľnosť badge/tlačidla platby v poslednom kroku rezervácie */
.emlym-payment{gap:14px}
.emlym-payment>span{flex:1 1 auto;min-width:0}
.emlym-payment em{display:inline-flex;align-items:center;justify-content:center;min-width:112px;max-width:max-content;flex:0 0 auto;padding:7px 13px;line-height:1.1;text-align:center}
.emlym-checkout-nav .emlym-btn-primary{min-width:260px;text-align:center;white-space:normal}
@media(max-width:700px){.emlym-payment{align-items:flex-start!important}.emlym-payment em{display:none}.emlym-checkout-nav .emlym-btn-primary{min-width:0;flex:1}}


/* v0.3.40 – W32: PAY by square ribbon text must stay readable even under theme/Elementor global styles */
.emlym-booking .emlym-payment em,
.emlym-booking .emlym-payment.is-recommended em{
  color:#1E2754!important;
  -webkit-text-fill-color:#1E2754!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}

/* v0.3.42 – W34: verejná čakacia listina a E.164 telefón */
.emlym-field-help{display:block;margin-top:5px;font-size:.75rem;line-height:1.35;color:color-mix(in srgb,var(--emlym-text) 62%,transparent)}
.emlym-staff-feedback.is-waitlist{display:block;padding:20px;border:2px solid color-mix(in srgb,var(--emlym-primary) 58%,#fff);background:color-mix(in srgb,var(--emlym-primary) 8%,#fffdf7)}
.emlym-waitlist-public-alert{display:flex;gap:14px;align-items:flex-start}
.emlym-waitlist-public-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--emlym-primary);color:var(--emlym-accent);font-weight:800;font-size:1.05rem}
.emlym-waitlist-public-toggle{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--emlym-accent) 16%,#fff);border-radius:14px;background:#fff;cursor:pointer}
.emlym-waitlist-public-toggle input{margin-top:3px;flex:0 0 auto}
.emlym-waitlist-public-toggle span{font-weight:700;line-height:1.45;color:var(--emlym-text)}
.emlym-waitlist-public-form{margin-top:14px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--emlym-accent) 12%,#fff)}
.emlym-waitlist-public-form[hidden]{display:none!important}
.emlym-waitlist-public-note{margin:12px 0 14px;font-size:.82rem;line-height:1.5;opacity:.72}
.emlym-waitlist-public-success strong{font-size:1rem}.emlym-waitlist-public-success small{margin-top:6px!important}
.emlym-staff-feedback.is-success{border-color:color-mix(in srgb,var(--emlym-success) 45%,#fff);background:color-mix(in srgb,var(--emlym-success) 8%,#fff)}
@media(max-width:700px){.emlym-staff-feedback.is-waitlist{padding:16px}.emlym-waitlist-public-alert{gap:10px}.emlym-waitlist-public-toggle{padding:12px}.emlym-waitlist-public-form .emlym-fields{grid-template-columns:1fr}}

/* W41: VIP availability e-mail gate */
.emlym-vip-email-gate{margin:0 0 24px;padding:18px 20px;border:1px solid rgba(30,39,84,.12);border-radius:16px;background:rgba(251,248,236,.72)}
.emlym-vip-email-gate label{display:grid;gap:8px;font-weight:700;color:var(--emlym-accent)}
.emlym-vip-email-gate input{width:100%;min-height:46px;padding:10px 14px;border:1px solid rgba(30,39,84,.18);border-radius:12px;background:#fff;color:var(--emlym-text)}
.emlym-vip-email-gate small{display:block;margin-top:8px;line-height:1.45;color:rgba(30,39,84,.68)}
.emlym-slot.is-vip::after{content:'VIP';display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:var(--emlym-primary);color:var(--emlym-accent);font-size:10px;font-weight:800;letter-spacing:.04em}
@media(max-width:720px){.emlym-vip-email-gate{padding:15px 16px;border-radius:14px}}


/* v0.3.57 – W49: overenie výnimky platby */
.emlym-note-verify-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.emlym-note-verify-row [data-exception-status]{font-size:.82rem;line-height:1.4}
.emlym-note-verify-row [data-exception-status].is-success{color:var(--emlym-success);font-weight:700}
.emlym-note-verify-row [data-exception-status].is-error{color:#a34631;font-weight:700}
.emlym-note-verify-row [data-exception-status].is-warning{color:#8a641d;font-weight:700}
.emlym-payment-exempt{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--emlym-success) 38%,#fff);border-radius:16px;background:color-mix(in srgb,var(--emlym-success) 8%,#fff);color:var(--emlym-text)}
.emlym-payment-exempt strong{font-size:1rem;color:var(--emlym-accent)}
.emlym-payment-exempt small{font-size:.86rem;line-height:1.5;color:color-mix(in srgb,var(--emlym-text) 72%,transparent)}
@media(max-width:700px){.emlym-note-verify-row{align-items:stretch;flex-direction:column}.emlym-note-verify-row .emlym-btn{width:100%}}

/* W69: samostatný kupón pre platobné výnimky */
.emlym-coupon{margin:0;display:grid;gap:9px}.emlym-coupon label{display:block}.emlym-coupon input{width:100%;min-height:52px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--emlym-accent) 18%,#fff);border-radius:14px;background:#fff;color:var(--emlym-text);font:inherit;outline:none}.emlym-coupon input:focus{border-color:var(--emlym-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--emlym-primary) 16%,transparent)}

/* v0.3.89 – W80: VIP pravidelný režim vo verejnej rezervácii */
.emlym-booking-mode{margin:14px 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--emlym-accent) 14%,#fff);border-radius:12px;background:#fffaf0}
.emlym-booking-mode[hidden]{display:none!important}.emlym-booking-mode>span{display:block;margin-bottom:9px;font-weight:800;color:var(--emlym-text)}.emlym-booking-mode>div{display:flex;gap:8px;flex-wrap:wrap}.emlym-booking-mode .emlym-btn{min-height:42px}.emlym-booking-mode .emlym-btn.is-active{background:var(--emlym-primary);border-color:var(--emlym-primary);color:var(--emlym-accent)}.emlym-booking-mode>small{display:block;margin-top:8px;opacity:.68;line-height:1.45}
.emlym-recurring-public{display:grid;gap:12px}.emlym-recurring-public>small{line-height:1.45}.emlym-recurring-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.emlym-recurring-public-grid label{display:grid;gap:6px;font-weight:700}.emlym-recurring-public-grid input,.emlym-recurring-public-grid select{width:100%;min-height:44px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--emlym-accent) 18%,#fff);border-radius:10px;background:#fff;color:var(--emlym-text)}
@media(max-width:700px){.emlym-recurring-public-grid{grid-template-columns:1fr}.emlym-booking-mode>div{display:grid}.emlym-booking-mode .emlym-btn{width:100%}}

/* v0.3.90 – W81: hodnotenia služby a pracovníka */
.emlym-service-rating-wrap{display:block;margin-top:12px}.emlym-service-rating-wrap .emlym-choice-rating{position:static;justify-content:flex-start;min-height:auto;padding:0;background:transparent;border:0}.emlym-staff-choice.has-rating{padding-bottom:64px}.emlym-staff-choice.has-rating .emlym-choice-rating{right:18px;bottom:16px;left:18px;justify-content:flex-start}@media(max-width:640px){.emlym-staff-choice.has-rating{padding-bottom:70px}}
