z-cart-appointments{display:block;width:100%;max-width:780px;margin:24px 0 28px auto;padding:22px;border:1px solid #ead6de;border-radius:22px;background:#fff;box-shadow:0 6px 24px #51263808;box-sizing:border-box}
z-cart-appointments[hidden],z-cart-appointments [hidden]{display:none!important}
z-cart-appointments h2{font-size:21px;font-weight:700;line-height:1.3;margin:0 0 8px;letter-spacing:-.02em}
z-cart-appointments>p{font-size:14px;line-height:1.5;margin:0 0 14px;color:#686068}
z-cart-appointments [data-z-appt-groups]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
z-cart-appointments [data-z-appt-groups]>fieldset,z-cart-appointments [data-z-appt-groups]>p{grid-column:1/-1}
z-cart-appointments [data-z-appt-groups]>fieldset{max-width:360px;width:100%;margin:0}
z-cart-appointments .z-appt-group:only-of-type{grid-column:1/-1;max-width:100%}
z-cart-appointments .z-appt-group{min-width:0;margin:0;padding:18px;border:1px solid #ead6de;border-radius:17px;background:#fffbfc}
z-cart-appointments h3{font-size:16px;line-height:1.45;font-weight:700;margin:0 0 8px;color:#a62960}
z-cart-appointments .z-appt-group ul{padding-left:17px;margin:0 0 14px;font-size:13px;line-height:1.5;color:#655b60}
z-cart-appointments fieldset{position:relative;min-width:0;border:0;padding:0;margin:12px 0 0}
z-cart-appointments legend{font-size:14px;font-weight:600;line-height:1.4;padding:0 0 7px}
z-cart-appointments select{display:block;width:100%;min-height:46px;padding:10px 34px 10px 12px;border:1px solid #d4c7cd;border-radius:12px;font:inherit;font-size:15px;background-color:#fff;color:#272126;box-sizing:border-box}
z-cart-appointments select:focus-visible,z-cart-appointments button:focus-visible{outline:2px solid #a62960;outline-offset:3px}
z-cart-appointments select:disabled{color:#958c91;background:#f7f4f5}
z-cart-appointments .z-appt-date{display:flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;width:100%;min-height:48px;padding:11px 12px;border:1px solid #cfa8b8;border-radius:12px;background:#fff;color:#a62960;text-align:left;cursor:pointer;box-sizing:border-box}
z-cart-appointments .z-appt-date:before{content:"";display:block;width:19px;height:19px;flex:0 0 19px;background-color:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 2v6m8-6v6M3 11h18'/%3E%3C/svg%3E") center/contain no-repeat}
z-cart-appointments .z-appt-date:disabled{opacity:.55;cursor:default;color:#8c7a83;background:#f7f4f5}
z-cart-appointments .z-appt-calendar{position:absolute;left:0;top:100%;z-index:30;width:320px;max-width:calc(100vw - 70px);padding:12px;border:1px solid #ead6de;border-radius:16px;margin-top:8px;background:#fff;box-shadow:0 12px 36px #51263822;box-sizing:border-box}
z-cart-appointments .z-appt-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
z-cart-appointments .z-appt-nav strong{font-size:15px;text-transform:capitalize}
z-cart-appointments .z-appt-nav button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:12px;background:#fff;color:#a62960;font:inherit;font-size:24px;cursor:pointer}
z-cart-appointments .z-appt-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
z-cart-appointments .z-appt-grid span{font-size:11px;padding:6px 0;color:#887b82}
z-cart-appointments .z-appt-grid button{min-height:38px;min-width:0;padding:0;border:0;border-radius:50%;font:inherit;font-size:14px;background:#fff;color:#272126;cursor:pointer}
z-cart-appointments .z-appt-grid button:hover:not(:disabled){background:#fff0f5}
z-cart-appointments .z-appt-grid button:disabled,z-cart-appointments .z-appt-nav button:disabled{background:#faf8f9;color:#c0b8bc;cursor:default}
z-cart-appointments .z-appt-grid button[aria-pressed=true]{background:#a62960;color:#fff}
z-cart-appointments [data-z-appt-mixed]{background:#fff0f5;border-left:3px solid #a62960;border-radius:10px;padding:10px 12px;color:#512638}
z-cart-appointments [data-z-appt-status]{margin:0}
z-cart-appointments [data-z-appt-status]:not(:empty){margin-top:14px;color:#b42318;font-weight:600}
.z-appt-pending #checkout{pointer-events:none;opacity:.5}
.z-appt-pending cart-items{pointer-events:none;opacity:.7}
@media(min-width:990px){z-cart-appointments .z-appt-group:only-of-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}z-cart-appointments .z-appt-group:only-of-type h3,z-cart-appointments .z-appt-group:only-of-type ul{grid-column:1/-1}}
@media(max-width:749px){z-cart-appointments{max-width:100%;padding:16px;margin:18px 0 22px;border-radius:18px}z-cart-appointments h2{font-size:19px}z-cart-appointments [data-z-appt-groups]{grid-template-columns:minmax(0,1fr);gap:12px}z-cart-appointments [data-z-appt-groups]>fieldset{max-width:none}z-cart-appointments .z-appt-group{padding:14px}z-cart-appointments .z-appt-calendar{position:static;width:100%;max-width:100%;margin-top:8px;box-shadow:none}z-cart-appointments .z-appt-grid button{min-height:44px;font-size:15px}}
z-cart-appointments [data-z-appt-groups]>fieldset:has(#z-appt-method){max-width:100%}

z-cart-appointments fieldset.z-appt-method-options{max-width:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
z-cart-appointments .z-appt-method-options legend{margin-bottom:7px}
z-cart-appointments .z-appt-method-option{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px;border:1px solid #d4c7cd;border-radius:14px;background:#fff;font-size:14px;line-height:1.45;cursor:pointer}
z-cart-appointments .z-appt-method-option:has(input:checked){border:2px solid #a62960;padding:11px;background:#fff0f5;color:#a62960;font-weight:600}
z-cart-appointments .z-appt-method-option input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#a62960}
z-cart-appointments .z-appt-method-option:focus-within{outline:2px solid #a62960;outline-offset:3px}
@media(max-width:749px){z-cart-appointments fieldset.z-appt-method-options{grid-template-columns:minmax(0,1fr)}}


html.z-appt-calendar-open #whatsapp-chat-widget{visibility:hidden!important;pointer-events:none!important}
z-cart-appointments .z-appt-calendar{position:relative;top:auto;width:100%;max-width:360px;box-shadow:none}
z-cart-appointments .z-appt-date,z-cart-appointments .z-appt-grid button,z-cart-appointments .z-appt-nav button{touch-action:manipulation}

