/* Cardly Appointment Mobile & Analytics UI v2 - loaded separately, safe to remove. */
.cardly-appt-cta {
  box-sizing:border-box!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:calc(100% - 36px)!important;max-width:640px!important;
  min-height:58px!important;margin:16px auto 22px!important;
  border-radius:18px!important; padding:12px 20px!important;
  box-shadow:0 9px 25px rgba(94,70,28,.11)!important;
  font-weight:750!important;letter-spacing:-.01em!important;
  text-align:center!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.cardly-appt-cta:hover{transform:translateY(-1px)!important;box-shadow:0 13px 28px rgba(94,70,28,.14)!important}
.cardly-appt-cta:active{transform:translateY(0)!important}
.cardly-appt-cta:focus-visible,.cardly-appt-close:focus-visible,.cardly-appt-switch button:focus-visible{outline:3px solid #315cbd!important;outline-offset:3px!important}
.cardly-appt-dialog{box-sizing:border-box!important;max-height:min(91dvh,900px)!important;overflow:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin}
.cardly-appt-dialog .cardly-appt-topbar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:8px!important;min-height:66px!important;padding:12px 16px!important;
  background:#fff!important;border-bottom:1px solid #e9e8e5!important;
  position:sticky!important;top:0!important;z-index:20!important;
}
.cardly-appt-dialog .cardly-appt-topbar h1,.cardly-appt-dialog .cardly-appt-topbar h2,
.cardly-appt-dialog .cardly-appt-topbar h3{font-size:clamp(17px,4vw,22px)!important;line-height:1.3!important;margin:0!important;letter-spacing:-.025em!important}
.cardly-appt-close{min-width:42px!important;width:42px!important;height:42px!important;max-height:42px!important;
  flex:0 0 42px!important;display:grid!important;place-items:center!important;
  border-radius:50%!important;border:1px solid #e2e5e9!important;
  background:#f8f9fb!important;color:#1b2534!important;font-size:0!important;line-height:0!important;
  box-shadow:none!important;padding:0!important;cursor:pointer!important}
.cardly-appt-close::after{content:'\00d7';font-size:27px!important;font-weight:400!important;line-height:1!important}
.cardly-appt-close:hover{background:#f0f1f4!important;border-color:#cfd5dd!important}
.cardly-appt-close > svg{display:none!important}
.cardly-appt-toolbar{display:flex!important;gap:8px!important;align-items:center!important;margin-inline-start:auto!important}
.cardly-appt-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #e5e6e8;border-radius:22px;background:#f4f5f7;white-space:nowrap;direction:ltr!important}
.cardly-appt-switch button{border:0!important;background:transparent!important;border-radius:17px!important;padding:6px 9px!important;font-size:12px!important;line-height:1.3!important;color:#667085!important;min-width:35px!important;height:32px!important;cursor:pointer!important;box-shadow:none!important}
.cardly-appt-switch button[aria-pressed='true']{background:#fff!important;color:#111827!important;font-weight:750!important;box-shadow:0 1px 5px #15151515!important}
.cardly-appt-dialog [data-cardly-appt-hero]{border-radius:22px!important}
.cardly-appt-dialog [data-cardly-appt-hero] h1,.cardly-appt-dialog [data-cardly-appt-hero] h2{line-height:1.17!important;letter-spacing:-.035em!important}
.cardly-appt-dialog input:not([type=checkbox]):not([type=radio]),
.cardly-appt-dialog select,.cardly-appt-dialog textarea{
  box-sizing:border-box;max-width:100%;border-radius:13px!important;min-height:48px;
}
.cardly-appt-dialog [dir=rtl] input[type=email],.cardly-appt-dialog [dir=rtl] input[type=tel]{direction:ltr!important;text-align:start!important}
.cardly-appt-dialog[dir=rtl]{text-align:right!important}
.cardly-appt-dialog[dir=rtl] input[type=email],.cardly-appt-dialog[dir=rtl] input[type=tel]{direction:ltr!important;text-align:left!important}
.cardly-appt-embedded[dir=rtl]{text-align:right}
.cardly-appt-embedded[dir=rtl] input[type=email],.cardly-appt-embedded[dir=rtl] input[type=tel]{direction:ltr;text-align:left}
@media(max-width:640px){
  .cardly-appt-cta{width:calc(100% - 32px)!important;min-height:58px!important;margin:14px auto 20px!important;border-radius:16px!important;font-size:16px!important}
  .cardly-appt-dialog{max-height:calc(100dvh - 20px)!important;max-width:calc(100vw - 20px)!important;width:calc(100vw - 20px)!important;border-radius:21px!important}
  .cardly-appt-dialog .cardly-appt-topbar{min-height:60px!important;padding:9px 12px!important}
  .cardly-appt-close{width:44px!important;height:44px!important;min-width:44px!important;flex-basis:44px!important}
  .cardly-appt-switch button{min-width:30px!important;padding:5px 7px!important}
  .cardly-appt-dialog [data-cardly-appt-hero]{padding:22px 18px!important;border-radius:18px!important}
  .cardly-appt-dialog [data-cardly-appt-hero] h1,.cardly-appt-dialog [data-cardly-appt-hero] h2{font-size:clamp(24px,7vw,35px)!important}
}
@media(prefers-reduced-motion:reduce){.cardly-appt-cta{transition:none!important}}
/* Booking KPI block added to the existing analytics page without changing React components. */
#cardly-booking-analytics-v1{margin:22px 0 28px;clear:both;color:#192333}
#cardly-booking-analytics-v1 .cba-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#cardly-booking-analytics-v1 h2{font-size:clamp(19px,3.8vw,24px);line-height:1.25;margin:0 0 4px;color:inherit}
#cardly-booking-analytics-v1 p{font-size:13px;color:#737c89;margin:0}
#cardly-booking-analytics-v1 .cba-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#cardly-booking-analytics-v1 .cba-kpi{background:#fff;border:1px solid #e5e8e8;border-radius:16px;box-shadow:0 4px 12px rgba(20,28,37,.025);padding:18px;min-height:105px;box-sizing:border-box}
#cardly-booking-analytics-v1 .cba-kpi small{color:#6d7784;font-size:13px;display:block;margin-bottom:9px}
#cardly-booking-analytics-v1 .cba-kpi strong{font-size:clamp(24px,3vw,34px);line-height:1.1;display:block;font-variant-numeric:tabular-nums}
#cardly-booking-analytics-v1 .cba-table{overflow-x:auto;background:#fff;border:1px solid #e5e8e8;border-radius:16px;margin-top:13px}
#cardly-booking-analytics-v1 .cba-table table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
#cardly-booking-analytics-v1 .cba-table th,#cardly-booking-analytics-v1 .cba-table td{padding:12px 17px;border-bottom:1px solid #edf0f1;text-align:start}
#cardly-booking-analytics-v1 .cba-table th{background:#fafaf9;font-weight:700}
#cardly-booking-analytics-v1 .cba-table tr:last-child td{border-bottom:none}
#cardly-booking-analytics-v1 .cba-notice{border:1px dashed #d6dbe1;border-radius:14px;padding:18px;background:#fff;color:#667085;font-size:13px}
@media(max-width:650px){#cardly-booking-analytics-v1 .cba-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#cardly-booking-analytics-v1 .cba-kpi{padding:13px;min-height:94px}#cardly-booking-analytics-v1 .cba-kpi small{font-size:12px}}

/* v2: language is controlled exclusively by the public card's existing header. */
.cardly-appt-switch{display:none!important;}
.cardly-appt-dialog .cardly-appt-toolbar:empty{display:none!important;}
.cardly-appt-dialog[lang="ar"]{text-align:right!important;}
.cardly-appt-dialog[lang="ar"] [data-cardly-appt-hero],
.cardly-appt-dialog[lang="ar"] label{direction:rtl;text-align:right;}
.cardly-appt-dialog[lang="ar"] input[type="email"],
.cardly-appt-dialog[lang="ar"] input[type="tel"]{direction:ltr!important;text-align:left!important;}
.cardly-appt-dialog .cardly-appt-topbar .cardly-appt-close{margin-inline-start:auto!important;}

/* v3: Elegant single close icon. The source button keeps its click behaviour and a11y. */
.cardly-appt-dialog .cardly-appt-topbar{padding:13px 19px!important;min-height:68px!important;box-shadow:0 1px 0 rgba(23,34,48,.055)!important;}
.cardly-appt-dialog .cardly-appt-close{
  appearance:none!important;-webkit-appearance:none!important;
  box-sizing:border-box!important;position:relative!important;
  width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
  min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;
  padding:0!important;border:0!important;border-radius:12px!important;
  background:transparent!important;color:transparent!important;font-size:0!important;
  line-height:0!important;box-shadow:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin:0 0 0 auto!important;transition:background .16s ease,transform .16s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
.cardly-appt-dialog[dir="rtl"] .cardly-appt-close{margin:0 auto 0 0!important;}
.cardly-appt-dialog .cardly-appt-close::before,
.cardly-appt-dialog .cardly-appt-close::after{
  content:""!important;display:block!important;position:absolute!important;
  left:11px!important;top:19px!important;width:18px!important;height:2px!important;
  border-radius:4px!important;background:#485362!important;opacity:1!important;transform:rotate(45deg)!important;
}
.cardly-appt-dialog .cardly-appt-close::after{transform:rotate(-45deg)!important;}
.cardly-appt-dialog .cardly-appt-close svg,.cardly-appt-dialog .cardly-appt-close > span{
  display:none!important;
}
.cardly-appt-dialog .cardly-appt-close:hover{background:#f1f3f5!important;transform:scale(1.04)!important;}
.cardly-appt-dialog .cardly-appt-close:active{background:#e8ecf0!important;transform:scale(.96)!important;}
.cardly-appt-dialog .cardly-appt-close:focus-visible{outline:2px solid #9c7a42!important;outline-offset:2px!important;}
@media(max-width:640px){
  .cardly-appt-dialog .cardly-appt-topbar{padding:11px 14px!important;min-height:60px!important;}
  .cardly-appt-dialog .cardly-appt-close{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important;border-radius:12px!important;}
}
/* Keep the popup's primary UI while replacing the form with a focused success state. */
.cardly-appt-success-mode > :not(.cardly-appt-topbar):not(.cardly-appt-success){display:none!important;}
.cardly-appt-success{
  box-sizing:border-box;max-width:650px;margin:18px auto 24px;padding:clamp(24px,5vw,48px) clamp(20px,5vw,46px);
  border:1px solid #e9e6de;border-radius:24px;background:linear-gradient(155deg,#fff 0%,#fffdfa 100%);
  text-align:center;box-shadow:0 12px 32px rgba(24,34,50,.05);color:#1e2936;
}
.cardly-appt-success-mark{width:70px;height:70px;border-radius:22px;margin:0 auto 22px;
  display:grid;place-items:center;background:#e9f6ef;color:#157647;border:1px solid #cbeed9;}
.cardly-appt-success-mark span{font-size:36px;line-height:1;font-weight:650;}
.cardly-appt-success-label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:800;color:#a47e42;margin-bottom:10px;}
.cardly-appt-success h2{font-size:clamp(25px,5.5vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 14px;color:#1c2939;}
.cardly-appt-success p{font-size:clamp(15px,2.6vw,17px);color:#657181;line-height:1.75;margin:0 auto 24px;max-width:450px;overflow-wrap:anywhere;}
.cardly-appt-success-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;}
.cardly-appt-success-done,.cardly-appt-success-manage{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:48px;padding:12px 28px;border:0;border-radius:13px;text-decoration:none;font-size:15px;font-weight:750;cursor:pointer;
  background:var(--cardly-primary,var(--primary-color,#9d7840));color:#fff;box-shadow:0 5px 14px rgba(82,63,29,.12);}
.cardly-appt-success-manage{background:#f6f1e8;color:#665032;border:1px solid #e6d7bf;box-shadow:none;}
.cardly-appt-success-done:hover,.cardly-appt-success-manage:hover{filter:brightness(.96);}
.cardly-appt-ajax-notice{margin:10px 0 18px!important;padding:12px 14px!important;border:1px solid #f3cccc!important;background:#fff6f6!important;color:#963b35!important;
 border-radius:12px!important;font-size:13px!important;line-height:1.6!important;}
.cardly-appt-ajax-notice[data-kind="warning"]{border-color:#edd9ab!important;background:#fffaf0!important;color:#805b15!important;}
@media(max-width:640px){.cardly-appt-success{margin:12px 10px 20px;padding:35px 18px;border-radius:20px}.cardly-appt-success-actions>*{width:100%;}}
@media(prefers-reduced-motion:reduce){.cardly-appt-dialog .cardly-appt-close{transition:none!important;}}
