.evas-calendar{--evas-primary:var(--e-global-color-primary, #2271b1);--evas-primary-soft:color-mix(in srgb, var(--evas-primary) 10%, transparent);--evas-border:#e5e5e5;--evas-muted:#6b6b6b;--evas-text:#1d1d1f;margin:0;padding:10px;max-width:none;width:100%;box-sizing:border-box;font-family:inherit;color:var(--evas-text)}.evas-calendar__header{margin-bottom:1.2em;border-bottom:1px solid var(--evas-border);padding-bottom:.6em}.evas-calendar__title{margin:0;font-size:1.5em;font-weight:600}.evas-calendar__state{display:none;padding:2em;text-align:center;color:var(--evas-muted)}.evas-calendar__state--error{color:#d63638}.evas-calendar.is-loading .evas-calendar__state--loading{display:flex;align-items:center;justify-content:center;gap:12px}.evas-calendar.is-error .evas-calendar__state--error{display:block}.evas-calendar.is-empty .evas-calendar__state--empty{display:block}.evas-calendar__layout{display:none}.evas-calendar.is-loaded .evas-calendar__layout{display:grid;gap:24px;grid-template-columns:340px 1fr;align-items:start}.evas-calendar__spinner{width:20px;height:20px;border:2px solid var(--evas-border);border-top-color:var(--evas-primary);border-radius:50%;animation:evas-spin 0.8s linear infinite;display:inline-block}@keyframes evas-spin{to{transform:rotate(360deg)}}.evas-calendar__month{border:1px solid var(--evas-border);border-radius:8px;padding:16px;background:#fff;position:sticky;top:20px;box-sizing:border-box;min-width:0}.evas-calendar__month *{box-sizing:border-box}.evas-calendar__month-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.evas-calendar__month-title{margin:0;padding:0;font-size:1em;font-weight:600;text-transform:capitalize;flex:1;text-align:center;color:var(--evas-text);background:transparent;border:0}button.evas-calendar__nav-btn,.evas-calendar__nav-btn{-webkit-appearance:none;appearance:none;width:34px;height:34px;min-width:34px;max-width:34px;padding:0;margin:0;border:1px solid var(--evas-border);background:#fff;background-image:none;border-radius:6px;cursor:pointer;font-size:1.3em;line-height:1;font-weight:400;font-family:inherit;color:var(--evas-text);text-shadow:none;box-shadow:none;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}button.evas-calendar__nav-btn:hover:not(:disabled),.evas-calendar__nav-btn:hover:not(:disabled){background:var(--evas-primary);border-color:var(--evas-primary);color:#fff}button.evas-calendar__nav-btn:disabled,.evas-calendar__nav-btn:disabled{opacity:.3;cursor:not-allowed;background:#fff;color:var(--evas-text)}.evas-calendar__month-weekdays,.evas-calendar__month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%}.evas-calendar__month-weekdays{margin-bottom:6px;font-size:.75em;font-weight:600;text-transform:uppercase;color:var(--evas-muted);letter-spacing:.5px}.evas-calendar__month-weekdays span{text-align:center;padding:4px 0;color:var(--evas-muted)}.evas-calendar__month-grid .evas-cal-day{box-sizing:border-box;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;background-image:none;border-radius:6px;font-family:inherit;font-size:.9em;font-weight:400;color:var(--evas-text);text-shadow:none;text-transform:none;letter-spacing:normal;cursor:default;padding:0;margin:0;position:relative;min-height:38px;width:auto;text-decoration:none;box-shadow:none}.evas-calendar__month-grid .evas-cal-day.is-outside{visibility:hidden;pointer-events:none}.evas-calendar__month-grid .evas-cal-day.is-today .evas-cal-day__num{font-weight:700;color:var(--evas-primary)}.evas-calendar__month-grid .evas-cal-day.has-event{cursor:pointer;border-color:var(--evas-border);background:#fff;transition:background 150ms ease,border-color 150ms ease}.evas-calendar__month-grid .evas-cal-day.has-event:hover{background:var(--evas-primary-soft);border-color:var(--evas-primary)}.evas-calendar__month-grid .evas-cal-day.has-event:focus-visible{outline:2px solid var(--evas-primary);outline-offset:2px}.evas-calendar__month-grid .evas-cal-day.is-full{opacity:.55;cursor:not-allowed}.evas-calendar__month-grid .evas-cal-day__num{line-height:1;margin:0 0 3px 0;padding:0;color:inherit;font-family:inherit;display:block}.evas-calendar__month-grid .evas-cal-day__dot{width:5px;height:5px;border-radius:50%;background:var(--evas-primary);display:block;padding:0;margin:0}.evas-calendar__month-grid .evas-cal-day.is-full .evas-cal-day__dot{background:#d63638}.evas-calendar__list-title{margin:0 0 12px;font-size:1em;font-weight:600;color:var(--evas-muted);text-transform:uppercase;letter-spacing:.5px}.evas-cal-list-empty{list-style:none;padding:2em 1em;text-align:center;color:var(--evas-muted);font-style:italic;background:#fafafa;border:1px dashed var(--evas-border);border-radius:8px}.evas-calendar__list-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.evas-cal-card{background:#fff;border:1px solid var(--evas-border);border-left:4px solid var(--evas-primary);border-radius:6px;padding:14px 18px;cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease,border-color 150ms ease;position:relative;z-index:1;isolation:isolate}.evas-cal-card:hover:not(.is-full){transform:translateX(2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.evas-cal-card:focus-within{outline:2px solid var(--evas-primary);outline-offset:2px}.evas-cal-card.is-full{border-left-color:#d63638;opacity:.6;cursor:not-allowed}.evas-cal-card.is-highlighted{animation:evas-highlight 1.5s ease}@keyframes evas-highlight{0%,100%{background:#fff}50%{background:var(--evas-primary-soft)}}.evas-cal-card__date{font-size:.82em;font-weight:600;color:var(--evas-primary);text-transform:capitalize;letter-spacing:.3px;margin-bottom:4px}.evas-cal-card__title{font-size:1.05em;font-weight:600;margin-bottom:8px;color:var(--evas-text)}.evas-calendar--mode-all .evas-cal-card__title{font-size:1.1em;color:var(--evas-primary);text-transform:none}.evas-cal-card__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.88em;color:var(--evas-muted)}.evas-cal-card__time,.evas-cal-card__price,.evas-cal-card__avail{display:inline-flex;align-items:center;gap:4px}.evas-cal-card__price{font-weight:600;color:var(--evas-text)}.evas-cal-card__avail{color:var(--evas-primary)}.evas-cal-card.is-full .evas-cal-card__avail{color:#d63638}.evas-cal-card__cta{margin-top:10px;font-size:.85em;font-weight:600;color:var(--evas-primary)}.evas-cal-card.is-full .evas-cal-card__cta{display:none}@media (max-width:860px){.evas-calendar.is-loaded .evas-calendar__layout{grid-template-columns:1fr}.evas-calendar__month{position:static}}@media (max-width:480px){.evas-calendar{margin:1em auto}.evas-calendar__month{padding:12px}.evas-cal-day{min-height:34px;font-size:.85em}}.evas-calendar .evas-booking-form{margin-top:28px;padding:28px 32px;border:1px solid var(--evas-border);border-radius:12px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06);font-family:inherit;color:var(--evas-text)}.evas-calendar .evas-booking-form *{box-sizing:border-box}.evas-calendar .evas-booking-form__title{margin:0 0 20px;padding:0 0 16px;font-size:1.15em;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--evas-text);border-bottom:1px solid var(--evas-border)}.evas-calendar .evas-booking-form__slot-info{padding:14px 18px;margin:0 0 24px;background:var(--evas-primary-soft);color:var(--evas-text);border-left:3px solid var(--evas-primary);border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.evas-calendar .evas-booking-form__slot-info strong{font-weight:700;text-transform:capitalize;color:var(--evas-text)}.evas-calendar .evas-booking-form__avail{font-size:.88em;font-weight:600;color:var(--evas-primary);text-transform:none}.evas-calendar .evas-booking-form__tiers{display:flex;flex-direction:column;gap:10px;margin:0 0 20px}.evas-calendar .evas-tier-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#fafafa;border:1px solid var(--evas-border);border-radius:8px;transition:border-color 150ms ease,background 150ms ease}.evas-calendar .evas-tier-row:focus-within{border-color:var(--evas-primary);background:#fff}.evas-calendar .evas-tier-row__label{flex:1;font-weight:500;color:var(--evas-text)}.evas-calendar .evas-tier-row__quantity{display:flex;align-items:center;gap:8px}.evas-calendar button.evas-qty-dec,.evas-calendar button.evas-qty-inc{-webkit-appearance:none;appearance:none;width:34px;height:34px;min-width:34px;padding:0;margin:0;border:1px solid var(--evas-border);background:#fff;background-image:none;border-radius:6px;cursor:pointer;font-size:1.2em;font-weight:500;font-family:inherit;line-height:1;color:var(--evas-text);text-shadow:none;box-shadow:none;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}.evas-calendar button.evas-qty-dec:hover,.evas-calendar button.evas-qty-inc:hover{background:var(--evas-primary);border-color:var(--evas-primary);color:#fff}.evas-calendar .evas-qty-input{-webkit-appearance:none;appearance:none;-moz-appearance:textfield;width:56px;height:34px;padding:0 8px;text-align:center;border:1px solid var(--evas-border);border-radius:6px;font-size:1em;font-family:inherit;color:var(--evas-text);background:#fff;box-sizing:border-box}.evas-calendar .evas-qty-input::-webkit-outer-spin-button,.evas-calendar .evas-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.evas-calendar .evas-qty-input:focus{outline:none;border-color:var(--evas-primary)}.evas-calendar .evas-booking-form__total{padding:18px 22px;margin:0 0 24px;background:var(--evas-primary);color:#fff;border-radius:8px;text-align:right;font-size:1em}.evas-calendar .evas-booking-form__total strong{color:#fff;font-weight:600;display:inline-block}.evas-calendar .evas-total{margin-left:10px;font-size:1.5em;font-weight:700;letter-spacing:.3px}.evas-calendar .evas-booking-form__fields{display:flex;flex-direction:column;gap:16px;margin:0 0 24px}.evas-calendar .evas-booking-form__fields label{display:block;margin:0;font-size:.88em;font-weight:600;color:var(--evas-muted);letter-spacing:.2px}.evas-calendar .evas-booking-form__fields input,.evas-calendar .evas-booking-form__fields input:invalid{display:block;width:100%;padding:12px 14px;margin-top:6px;border:1px solid var(--evas-border);border-radius:8px;font-size:1em;font-family:inherit;color:var(--evas-text);background:#fff;box-shadow:none;transition:border-color 150ms ease,box-shadow 150ms ease;box-sizing:border-box}.evas-calendar .evas-booking-form__fields input:focus{outline:none;border-color:var(--evas-primary);box-shadow:0 0 0 3px var(--evas-primary-soft)}.evas-calendar .evas-booking-form__actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--evas-border);margin:0}.evas-calendar button.evas-btn{-webkit-appearance:none;appearance:none;padding:12px 26px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:.95em;font-weight:700;font-family:inherit;letter-spacing:.3px;text-transform:uppercase;line-height:1;text-shadow:none;box-shadow:none;transition:transform 100ms ease,box-shadow 150ms ease,background 150ms ease,border-color 150ms ease,color 150ms ease}.evas-calendar button.evas-btn--cancel{background:transparent;background-image:none;border-color:var(--evas-border);color:var(--evas-text)}.evas-calendar button.evas-btn--cancel:hover{background:#f5f5f5;border-color:var(--evas-muted)}.evas-calendar button.evas-btn--submit{background:var(--evas-primary);background-image:none;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.evas-calendar button.evas-btn--submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.18)}.evas-calendar button.evas-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.evas-calendar .evas-booking-form__error{margin:16px 0 0;padding:14px 16px;background:#fef2f2;border-left:4px solid #d63638;color:#b32d2e;border-radius:6px;font-size:.95em}@media (max-width:560px){.evas-calendar .evas-booking-form{padding:20px 18px}.evas-calendar .evas-booking-form__actions{flex-direction:column-reverse}.evas-calendar button.evas-btn{width:100%}.evas-calendar .evas-tier-row{flex-direction:column;align-items:flex-start;gap:12px}}.evas-visits{--evas-primary:var(--e-global-color-primary, #2271b1);display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;box-sizing:border-box;font-family:inherit}.evas-visits[data-columns="1"]{grid-template-columns:1fr}.evas-visits[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.evas-visits[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:700px){.evas-visits,.evas-visits[data-columns="3"],.evas-visits[data-columns="4"]{grid-template-columns:1fr}}.evas-visit-tile{position:relative;display:block;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;background:#1a1a1a;isolation:isolate;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:transform 250ms ease,box-shadow 250ms ease}.evas-visit-tile:hover,.evas-visit-tile:focus-visible{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.18);outline:none;color:#fff;text-decoration:none}.evas-visit-tile:focus-visible{outline:3px solid var(--evas-primary);outline-offset:3px}.evas-visit-tile__image{position:absolute;inset:0;overflow:hidden}.evas-visit-tile__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 450ms ease}.evas-visit-tile:hover .evas-visit-tile__image img{transform:scale(1.06)}.evas-visit-tile__image--placeholder{background:linear-gradient(135deg,#3a3a3a,#1a1a1a)}.evas-visit-tile__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:50px 24px 28px;text-align:center;background:linear-gradient(to bottom,rgba(0,0,0,0) 35%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.78) 100%);pointer-events:none}.evas-visit-tile__title{margin:0 0 8px;padding:0;font-size:1.5em;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);line-height:1.2}.evas-visit-tile__cta{font-size:.95em;font-weight:500;color:#fff;opacity:.92;letter-spacing:.3px}.evas-visits-empty,.evas-calendar-error{padding:2em;text-align:center;color:#666;background:#f6f7f7;border-radius:8px}.evas-confirmation{margin:2em 0;padding:1.5em;border-radius:8px;border-left:4px solid}.evas-confirmation h2{margin-top:0}.evas-confirmation--success{background:#f0f9f0;border-color:#00a32a;color:#1a5c1a}.evas-confirmation--cancelled{background:#fcf0f1;border-color:#d63638;color:#8a1f1f}.evas-confirmation--pending{background:#fcf9e8;border-color:#dba617;color:#614a00}.evas-confirmation--refunded{background:#f0f6fc;border-color:#2271b1;color:#0a4b78}