.p24-payment__logo {
max-width: 80px;
}
.p24-1clicks {
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 20px;
}
.p24-1clicks__items {
display: flex;
flex-direction: column; 
gap: 8px;
align-items: center;
}
.p24-1clicks__label,
.p24-1clicks__or {
font-size: 75%;
text-align: center;
}
.p24-1clicks__or {
display: flex;
align-items: center;
gap: 10px;
white-space: nowrap;
}
.p24-1clicks__or:after,
.p24-1clicks__or:before {
content: "";
width: 100%;
height: 1px;
background: rgba(0, 0, 0, .2);
}
.p24-1click {
display: flex;
gap: 12px;
align-items: center;
cursor: pointer;
background: white;
border-radius: 6px;
padding: 10px;
border: 2px solid transparent;
outline: none;
position: relative;
}
.p24-1click__logo { margin: 0; }
.p24-1click__logo img { display: block; }
.p24-1click--card {
aspect-ratio: 85.6 / 53.98;
}
.p24-1click--active {
border-color: currentColor;
outline: 1px solid;
}
.p24-1click--card__number {
gap: 0.5em;
display: flex;
font-size: 110%;
font-family: monospace;
align-items: center;
margin-bottom: 1.5em;
}
.p24-1click--card__number small { font-size: 75%; }
.p24-1click--card__valid {
font-family: monospace;
position: absolute;
bottom: 10px;
left: 10px;
opacity: .8;
font-size: 80%;
font-weight: 800;
}
.p24-1click--blik__valid {
font-family: monospace;
opacity: .8;
font-size: 75%;
}
.p24-1click--card__logo {
margin-bottom: 0;
position: absolute;
bottom: 10px;
right: 10px;
}
#card-tokenizer {
display: flex;
justify-content: center;
min-width: 280px;
}
.woocommerce table.shop_table .shop_table__cell-description {
border-top: none;
padding-top: 0;
margin: 0;
opacity: .5;
font-size: 75%;
}
.p24-waiting {
position: absolute;
background: rgba(255, 255, 255, .85);
font-size: 90%;
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
flex-direction: column;
top: 0; left: 0; bottom: 0; right: 0;
}
.p24-waiting.hidden { display: none; }
.p24-waiting .wc-block-components-spinner {
position: relative;
height: auto;
}
.p24-blik-code-input { margin-top: 0 !important; }
.p24-payment-input input[type="text"] {
padding: 0 1rem;
width: 100%;
box-sizing: border-box;
min-height: 3rem;
}
.woocommerce-order-pay .p24-payment-container {
max-width: 500px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 24px;
}
.wc-block-components-radio-control-accordion-content:has(.p24-payment-container:empty) {
display: none;
}
.p24-methods {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px;
}
.p24-methods + .woocommerce-input-wrapper {
margin-top: 24px;
display: block;
}
.p24-methods__items {
--logo-size: 20px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, auto));
gap: 12px;
border-radius: 4px;
}
.p24-methods__items--featured {
--logo-size: 40px;
grid-template-columns: repeat(auto-fit, minmax(150px, auto));
}
.p24-method-item {
cursor: pointer;
display: flex;
background: white;
border-radius: 4px;
padding: 10px;
flex-direction: column;
text-align: center;
justify-content: center;
align-items: center;
flex: 0 1 100px;
border: 1px solid hsla(0, 0%, 7%, .11);
user-select: none;
position: relative;
gap: 8px;
font-size: 11px;
}
.p24-method-item--active { outline: 2px solid black; }
.p24-method-item picture {
aspect-ratio: 16/9;
height: var(--logo-size);
max-height: var(--logo-size);
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.p24-method-item picture img {
max-width: 100%;
max-height: var(--logo-size);
}
.p24-payment-container .p24-checkbox:first-child .wc-block-components-checkbox { margin-top: 0; }
input[id^="payment_method_p24-"] + label img { max-height: 30px; }
.p24-payment-container .wc-block-components-notice-banner:first-child { margin-top: 0; }
p24-installment {
margin: 20px 0;
display: block;
}
p24-installment[show-modal="true"] { cursor: pointer; }
.p24-currency__submit {
line-height: inherit;
padding-top: 0.3rem !important;
padding-right: 0.5rem !important;
padding-bottom: 0.3rem !important;
padding-left: 0.5rem !important;
}
#p24-3ds-modal {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
z-index: 9999;
background-color: rgba(0, 0, 0, 0.6);
visibility: hidden; opacity: 0;
transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
align-items: center; justify-content: center;
display: flex;
}
#p24-3ds-modal.active {
display: flex;
visibility: visible;
opacity: 1;
}
#p24-3ds-modal .modal-content {
background: #fff;
border-radius: 8px;
padding: 16px;
max-width: 600px;
max-height: 80vh;
width: 100%;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
display: flex;
flex-direction: column;
position: relative;
transition: transform 0.3s ease-out, opacity 0.3s ease-out;
transform: translateY(25px);
opacity: 0;
}
#p24-3ds-iframe-wrapper {
width: 100%; height: 100%;
flex-grow: 1;
min-height: 480px;
}
#p24-3ds-modal.active .modal-content {
transform: translateY(0px);
opacity: 1;
}
#p24-3ds-iframe-wrapper {
width: 100%;
height: 100%;
flex-grow: 1;
min-height: 480px;
}
#p24-3ds-iframe-wrapper iframe.fullScreenP24 {
width: 100%;
height: 100%;
border: none;
min-height: 480px;
display: block;
visibility: visible;
}
#p24-3ds-iframe-wrapper iframe.hiddenP24 {
display: none !important;
visibility: hidden !important;
}
.p24-1clicks__new-card {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
width: 100%;
max-width: 450px;
margin: 16px auto;
padding: 12px 20px;
background-color: #fafbfc;
border: 1.5px solid #d1d5db;
border-radius: 6px;
color: #1f2937;
font-size: 14px;
font-weight: 500;
letter-spacing: 0.3px;
cursor: pointer;
transition: all 0.2s ease-in-out;
font-family: inherit;
text-decoration: none;
box-shadow: none;
}
.p24-1clicks__new-card-icon {
flex-shrink: 0;
width: 18px; height: 18px;
color: #3b82f6; stroke: currentColor;
}
.p24-1clicks__new-card-text { white-space: nowrap; }
.p24-1clicks__new-card:hover {
background-color: #f3f4f6;
border-color: #9ca3af;
color: #0f172a;
box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.p24-1clicks__new-card:hover .p24-1clicks__new-card-icon {
color: #2563eb; transform: scale(1.05);
}
.p24-1clicks__new-card:active {
transform: translateY(1px);
box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
.p24-1clicks__new-card:focus {
outline: 2px solid #3b82f6;
outline-offset: 2px;
}
.p24-1clicks__new-card:disabled {
opacity: 0.6;
cursor: not-allowed;
background-color: #f3f4f6;
}
.p24-1click--card {
--card-bg: linear-gradient(135deg, #ffffff 0%, #f7f7f9 100%);
--card-border: rgba(0, 0, 0, .06);
--card-shadow: 0 1px 5px rgba(0, 0, 0, .06);
--card-shadow-hover: 0 4px 14px rgba(0, 0, 0, .12);
--accent: #2563eb;
--text-color: #1f2937;
--text-color-light: #6b7280;
--border-radius: 12px;
display: flex;
flex-direction: column;
gap: 10px;
padding: 14px 16px;
width: 100%;
max-width: 220px;                 
border: 1px solid var(--card-border);
border-radius: var(--border-radius);
background: var(--card-bg);
box-shadow: var(--card-shadow);
cursor: pointer;
text-align: left;
transition: transform .18s ease, box-shadow .18s ease;
}
.p24-1click--card:hover {
transform: translateY(-2px);
box-shadow: var(--card-shadow-hover);
}
.p24-1click--card:focus-visible {
outline: 3px solid color-mix(in oklab, var(--accent) 60%, white 40%);
outline-offset: 3px;
}
.p24-1click--card-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.p24-1click--card__logo img {
max-height: 24px;
width: auto;
opacity: .95;
}
.p24-1click--card__number {
font-size: 17px;
font-family: ui-monospace, monospace;
letter-spacing: 1.5px;
font-weight: 600;
color: var(--text-color);
display: block;
}
.p24-1click--card__number small {
font-size: 14px;
color: var(--text-color-light);
margin-right: 4px;
}
.p24-1click--card__valid {
font-size: 13px;
color: var(--text-color-light);
}
@media screen and (max-width: 480px) {
#p24-3ds-modal {
padding: 0;
align-items: flex-end;
}
#p24-3ds-modal .modal-content {
width: 100%; height: 95vh;
max-width: 100%; max-height: 100%;
padding: 12px;
border-radius: 16px 16px 0 0;
transform: translateY(100%);
opacity: 1;
}
#p24-3ds-modal.active .modal-content { transform: translateY(0); }
#p24-3ds-iframe-wrapper { height: 100%; min-height: 0; }
#p24-3ds-iframe-wrapper iframe { min-height: 0; }
#card-tokenizer iframe { max-width: 100%; width: 100% !important; }
.p24-1clicks__new-card {
padding: 10px 16px;
font-size: 13px;
max-width: 100%;
}
.p24-1clicks__new-card-icon { width: 16px; height: 16px; }
.p24-1clicks__items .p24-1click--card {
width: 100%;
max-width: 220px;
}
}
@media screen and (min-width: 481px) {
#p24-3ds-modal .modal-content {
height: auto;
max-height: 90vh;
}
.p24-1clicks__items {
flex-direction: row;
flex-wrap: wrap;        
justify-content: center; 
}
.p24-1clicks__items .p24-1click--card {
flex: 0 1 220px;        
max-width: 220px;
width: auto;
}
}
@media screen and (min-width: 779px) and (max-width: 873px) {
.p24-1clicks__items {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
justify-items: center; 
}
.p24-1clicks__items .p24-1click--card {
width: 100%;
max-width: 100%;
}
}
@media screen and (max-width: 768px) {
#p24-3ds-modal .modal-content {
max-width: 90%;
padding: 16px;
max-height: 92vh;
}
}@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
:root {
--zb-bg:#0f1117; --zb-bg2:#181c27; --zb-bg3:#1e2235; --zb-bg4:#252a3d;
--zb-border:#2e3450; --zb-border2:#3d4466;
--zb-text:#e8eaf6; --zb-text2:#8b93b8; --zb-text3:#555e80;
--zb-accent:#6c63ff; --zb-accent2:#8b85ff;
--zb-green:#22c55e; --zb-green-bg:#0d2818;
--zb-red:#ef4444; --zb-red-bg:#2a0d0d;
--zb-amber:#f59e0b; --zb-amber-bg:#2a1e05;
}
.zb-booking-wrap, .zb-booking-wrap * {
font-family:'Poppins',sans-serif;
box-sizing:border-box;
}
.zb-booking-wrap {
width:min(100%, 960px);
margin:0 auto;
padding:0 12px;
} .zb-heading { font-size:24px; font-weight:700; color:var(--zb-text); margin-bottom:24px; } .zb-progress {
display:flex;
align-items:center;
gap:14px;
margin-bottom:24px;
padding:14px 20px;
background:var(--zb-bg2);
border:1px solid var(--zb-border);
border-radius:14px;
}
.zb-progress-steps {
display:flex;
align-items:center;
gap:6px;
flex:1;
}
.zb-progress-dot {
width:8px; height:8px; border-radius:50%;
background:var(--zb-border2);
transition:background .3s, transform .3s;
}
.zb-progress-dot.done   { background:var(--zb-green); }
.zb-progress-dot.active { background:var(--zb-accent); transform:scale(1.4); }
.zb-progress-line {
flex:1; height:2px; background:var(--zb-border); border-radius:2px; position:relative; overflow:hidden;
}
.zb-progress-line-fill {
position:absolute; top:0; left:0; height:100%;
background:var(--zb-accent); border-radius:2px;
transition:width .4s ease;
}
.zb-progress-label {
font-size:13px; font-weight:600; color:var(--zb-text2); white-space:nowrap;
}
.zb-progress-label span { color:var(--zb-accent2); }
.zb-progress-title {
font-size:15px; font-weight:700; color:var(--zb-text);
} .zb-step {
background:var(--zb-bg2);
border:1px solid var(--zb-border);
border-radius:14px;
padding:24px;
margin-bottom:16px;
border-color:var(--zb-accent);
}
.zb-step--hidden {
display:none !important;
}
.zb-step--done {
display:none !important;
}
.zb-step__title {
font-size:16px; font-weight:700; color:var(--zb-text);
margin:0 0 20px;
display:flex; align-items:center; gap:8px;
} .zb-cal-loading { text-align:center; padding:2em; color:var(--zb-text3); font-size:16px; }
.zb-cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.zb-cal-title  { font-size:15px; font-weight:700; color:var(--zb-text); }
.zb-cal-nav {
background:var(--zb-bg3) !important; border:1px solid var(--zb-border) !important;
color:var(--zb-text2) !important; width:32px; height:32px; border-radius:8px;
display:flex; align-items:center; justify-content:center;
cursor:pointer; font-size:18px; line-height:1; transition:background .15s, border-color .15s;
outline: none !important;
box-shadow: none !important;
}
.zb-cal-nav:hover { background:var(--zb-cal-nav-hover, var(--zb-bg4)) !important; color:var(--zb-text) !important; border-color:var(--zb-accent) !important; }
.zb-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.zb-cal-dayname {
text-align:center; font-size:11px; font-weight:700;
color:var(--zb-text3); letter-spacing:.04em;
padding:4px 0; text-transform:uppercase;
}
.zb-cal-cell {
aspect-ratio:1; display:flex; align-items:center; justify-content:center;
border-radius:8px; font-size:13px; cursor:default; transition:background .12s;
}
.zb-cal-cell--empty    { background:transparent; }
.zb-cal-cell--disabled { color:var(--zb-text3); }
.zb-cal-cell--full     { background:rgba(239,68,68,.08); color:var(--zb-red); font-weight:600; }
.zb-cal-cell--available{ background:rgba(34,197,94,.1); color:var(--zb-green); font-weight:700; cursor:pointer; }
.zb-cal-cell--available:hover { background:var(--zb-hover-bg); color:var(--zb-accent2); }
.zb-cal-cell--selected  { background:var(--zb-accent) !important; color:#fff !important; } .zb-no-slots { color:var(--zb-text3); font-style:italic; font-size:14px; }
.zb-slots-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; padding:4px 0; }
.zb-slot {
background:var(--zb-bg3) !important; border:1px solid var(--zb-border) !important;
border-radius:10px; padding:14px 10px; text-align:center;
cursor:pointer; transition:border-color .15s, background .15s;
outline: none !important;
}
.zb-slot--available:hover, .zb-slot--selected { border-color:var(--zb-accent); background:var(--zb-hover-bg); }
.zb-slot--full { opacity:.4; cursor:not-allowed; }
.zb-slot__time  { display:block; font-size:15px; font-weight:700; color:var(--zb-text); }
.zb-slot__badge { display:block; font-size:12px; color:var(--zb-green); margin-top:4px; }
.zb-slot--full .zb-slot__badge { color:var(--zb-red); } .zb-form { max-width:560px; }
.zb-field { margin-bottom:18px; }
.zb-field label {
display:block; font-size:13px; font-weight:600;
color:var(--zb-text2); margin-bottom:7px;
}
.zb-field label small { font-weight:400; color:var(--zb-text3); font-size:12px; }
.zb-field input, .zb-field textarea {
width:100%; background:var(--zb-bg3);
border:1px solid var(--zb-border); color:var(--zb-text);
padding:11px 14px; border-radius:9px; font-size:16px;
transition:border-color .15s,box-shadow .15s;
box-sizing:border-box; font-family:'Poppins',sans-serif;
}
.zb-field input:focus, .zb-field textarea:focus {
outline:none; border-color:var(--zb-accent);
box-shadow:0 0 0 3px rgba(108,99,255,.18);
}
.zb-field input::placeholder, .zb-field textarea::placeholder { color:var(--zb-text3); } .zb-stepper {
display:flex; align-items:center;
border:1px solid var(--zb-border) !important; border-radius:9px;
overflow:hidden; background:var(--zb-bg3); width:fit-content;
}
.zb-stepper-btn {
background:none; border:none; color:var(--zb-text2);
width:44px; height:44px; font-size:22px; cursor:pointer;
display:flex; align-items:center; justify-content:center;
transition:background .12s;
}
.zb-stepper-btn:hover { background:var(--zb-stepper-hover, var(--zb-bg4)) !important; color:var(--zb-text) !important; }
.zb-stepper-val {
min-width:56px; text-align:center; font-size:17px; font-weight:700;
color:var(--zb-text); border-left:1px solid var(--zb-border);
border-right:1px solid var(--zb-border); height:44px; line-height:44px;
} .zb-summary {
background:var(--zb-accent-glow, rgba(108,99,255,.07)); border:1px solid var(--zb-accent-glow, rgba(108,99,255,.2));
border-radius:10px; padding:16px 18px; margin-bottom:18px;
}
.zb-summary h4 {
font-size:12px; font-weight:700; color:var(--zb-accent2);
letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px;
}
.zb-summary p {
display:flex; justify-content:space-between;
font-size:14px; color:var(--zb-text2); margin:0 0 6px;
}
.zb-summary p strong { color:var(--zb-text); } .zb-select-field {
width:100%; background:var(--zb-bg3); border:1px solid var(--zb-border);
color:var(--zb-text); padding:11px 14px; border-radius:9px;
font-size:16px; font-family:'Poppins',sans-serif; appearance:none; cursor:pointer;
}
.zb-select-field:focus { outline:none; border-color:var(--zb-accent); box-shadow:0 0 0 3px rgba(108,99,255,.18); }
.zb-radio-group { display:flex; flex-direction:column; gap:8px; }
.zb-radio-item {
display:flex; align-items:center; gap:10px; font-size:16px; color:var(--zb-text2);
cursor:pointer; padding:10px 14px; background:var(--zb-bg3);
border:1px solid var(--zb-border); border-radius:9px; transition:border-color .12s;
}
.zb-radio-item:hover { border-color:var(--zb-accent); }
.zb-radio-item input { accent-color:var(--zb-accent); width:16px; height:16px; }
.zb-checkbox-item {
display:flex; align-items:center; gap:10px; font-size:16px; color:var(--zb-text2);
cursor:pointer; padding:10px 14px; background:var(--zb-bg3);
border:1px solid var(--zb-border); border-radius:9px;
}
.zb-checkbox-item input { accent-color:var(--zb-accent); width:16px; height:16px; } .zb-btn { border:none; cursor:pointer; font-family:'Poppins',sans-serif; transition:background .15s; }
.zb-btn--primary {
display:flex; align-items:center; justify-content:center; gap:8px;
width:100%; background:var(--zb-accent) !important; color:#fff !important;
padding:14px; border-radius:10px; font-size:16px; font-weight:700; letter-spacing:.02em;
outline: none !important; box-shadow: none !important;
text-decoration: none !important;
}
.zb-btn--primary:hover  { background:var(--zb-accent2) !important; color:#fff !important; border-color:var(--zb-accent) !important; }
.zb-btn--primary:focus  { background:var(--zb-accent) !important; color:#fff !important; outline:none !important; box-shadow:none !important; }
.zb-btn--primary:active { background:var(--zb-accent) !important; color:#fff !important; }
.zb-btn--primary:disabled { opacity:.5; cursor:not-allowed; }
.zb-btn--secondary {
display:inline-flex; align-items:center; gap:6px;
background:var(--zb-bg3); color:var(--zb-text2);
border:1px solid var(--zb-border); padding:10px 20px;
border-radius:9px; font-size:14px; font-weight:500;
}
.zb-btn--secondary:hover { background:var(--zb-bg4); color:var(--zb-text); } .zb-message { margin-top:14px; padding:12px 16px; border-radius:9px; font-size:14px; }
.zb-message--success { background:var(--zb-green-bg); color:var(--zb-green); border:1px solid rgba(34,197,94,.2); }
.zb-message--error   { background:var(--zb-red-bg);   color:var(--zb-red);   border:1px solid rgba(239,68,68,.2); } .zb-confirmation { text-align:center; padding:24px; }
.zb-confirmation__icon {
width:68px; height:68px; background:var(--zb-green-bg);
border:1px solid rgba(34,197,94,.3); color:var(--zb-green);
font-size:30px; line-height:68px; border-radius:50%; margin:0 auto 18px;
}
.zb-confirmation h3 { font-size:20px; font-weight:700; color:var(--zb-confirmation); margin-bottom:8px; }
.zb-confirmation p  { font-size:14px; color:var(--zb-text2); margin-bottom:6px; }
.zb-conf-ref {
display:inline-block; background:var(--zb-hover-bg);
color:var(--zb-confirmation); padding:5px 14px; border-radius:6px;
font-size:15px; font-weight:700; font-family:monospace; margin:8px 0 18px;
} .zb-badge { padding:4px 11px; border-radius:20px; font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:5px; }
.zb-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.zb-badge--confirmed { background:var(--zb-green-bg); color:var(--zb-green); }
.zb-badge--pending   { background:var(--zb-amber-bg); color:var(--zb-amber); }
.zb-badge--cancelled { background:var(--zb-red-bg);   color:var(--zb-red); } .zb-check-wrap { max-width:480px; }
.zb-check-row  { display:flex; gap:10px; align-items:flex-end; }
.zb-check-row input { flex:1; font-size:16px; }
.zb-check-card { background:var(--zb-bg2); border:1px solid var(--zb-border); border-radius:12px; padding:18px 22px; margin-top:14px; }
.zb-check-card p { font-size:14px; color:var(--zb-text2); margin:0 0 8px; display:flex; justify-content:space-between; }
.zb-check-card p strong { color:var(--zb-text); }
.zb-error { color:var(--zb-red); font-size:14px; }
.zb-progress,
.zb-step,
.zb-check-wrap {
width:100%;
}
@media (min-width: 1024px) {
.zb-booking-wrap {
width:min(100%, 900px);
}
.zb-step,
.zb-progress {
padding-left:20px;
padding-right:20px;
}
.zb-slots-grid {
grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
}
} @media (max-width:520px) {
.zb-slots-grid { grid-template-columns:repeat(2,1fr); }
.zb-step { padding:16px; }
.zb-heading { font-size:20px; }
} .zb-btn-back {
background: none;
border: none;
color: var(--zb-text3);
font-size: 13px;
font-family: 'Poppins', sans-serif;
cursor: pointer;
padding: 0;
transition: color .15s;
}
.zb-btn-back:hover { color: var(--zb-text); } .zb-booking-wrap {
width: min(100%, 680px);
margin-left: auto;
margin-right: auto;
padding-left: 16px;
padding-right: 16px;
}
@media (max-width: 520px) {
.zb-booking-wrap { padding-left: 12px; padding-right: 12px; }
} .zb-progress { flex-wrap: wrap; gap: 10px; }
.zb-progress-info { flex: 0 0 auto; min-width: 110px; }
.zb-progress-track { flex: 1; display: flex; flex-direction: column; gap: 8px; min-width: 100px; } .zb-booking-type {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-bottom: 20px;
}
.zb-type-btn {
background: var(--zb-bg3);
border: 2px solid var(--zb-border);
border-radius: 12px;
padding: 14px 12px;
cursor: pointer;
text-align: center;
transition: border-color .2s, background .2s;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
font-family: 'Poppins', sans-serif;
}
.zb-type-btn:hover { border-color: var(--zb-accent); }
.zb-type-btn--active {
border-color: var(--zb-accent);
background: rgba(108,99,255,.1);
}
.zb-type-icon { font-size: 24px; line-height: 1; }
.zb-type-label { font-size: 14px; font-weight: 600; color: var(--zb-text); }
.zb-type-sub { font-size: 11px; color: var(--zb-text3); } .zb-info-box {
background: rgba(56,189,248,.08);
border: 1px solid rgba(56,189,248,.2);
border-radius: 9px;
padding: 12px 14px;
font-size: 13px;
color: #7dd3f8;
margin-bottom: 16px;
line-height: 1.5;
} .zb-groups-preview {
margin-top: 7px;
font-size: 13px;
color: var(--zb-accent2);
padding: 8px 12px;
background: rgba(108,99,255,.08);
border-radius: 7px;
} .zb-field-error {
font-size: 13px;
color: var(--zb-red);
margin-top: 5px;
display: none;
}
input.zb-input-error,
textarea.zb-input-error,
select.zb-input-error {
border-color: var(--zb-red) !important;
box-shadow: 0 0 0 3px color-mix(in srgb, var(--zb-red) 15%, transparent) !important;
} .zb-avail-high { color: var(--zb-green) !important; }
.zb-avail-mid  { color: var(--zb-amber) !important; }
.zb-avail-low  { color: var(--zb-red) !important; }
.zb-avail-none { color: var(--zb-red) !important; } .zb-terms-field {
margin-bottom: 20px;
padding: 14px 16px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 10px;
}
.zb-terms-label {
display: flex;
align-items: flex-start;
gap: 10px;
cursor: pointer;
}
.zb-terms-label input[type="checkbox"] {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: var(--zb-accent);
cursor: pointer;
}
.zb-terms-text {
font-size: 14px;
color: var(--zb-text2);
line-height: 1.5;
}
.zb-terms-text a {
color: var(--zb-accent2);
text-decoration: underline;
} .zb-booking-wrap input,
.zb-booking-wrap textarea,
.zb-booking-wrap select {
font-size: 16px !important;
} @media (max-width: 480px) {
.zb-slots-grid { grid-template-columns: repeat(2, 1fr); }
.zb-booking-type { grid-template-columns: 1fr 1fr; }
.zb-step { padding: 16px; }
.zb-heading { font-size: 20px; }
} .zb-booking-wrap { overflow: visible !important; }
.zb-step { overflow: visible !important; }
.zb-cal-grid { overflow: visible !important; }
.zb-cal-cell { -webkit-tap-highlight-color: rgba(108,99,255,.3); touch-action: manipulation; }
.zb-cal-cell--available { cursor: pointer; user-select: none; } .zb-checkbox-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 16px;
color: var(--zb-text2);
cursor: pointer;
padding: 12px 14px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 9px;
line-height: 1.4;
transition: border-color .15s;
}
.zb-checkbox-item:hover { border-color: var(--zb-accent); }
.zb-checkbox-item input[type="checkbox"] {
width: 20px !important;
height: 20px !important;
min-width: 20px;
flex-shrink: 0;
accent-color: var(--zb-accent);
cursor: pointer;
margin: 0;
} .zb-slot__badge { font-size: 11px; display: block; margin-top: 4px; }
.zb-avail-high { color: var(--zb-green) !important; }
.zb-avail-mid  { color: var(--zb-amber) !important; }
.zb-avail-low  { color: var(--zb-red) !important; }
.zb-avail-none { color: var(--zb-red) !important; } .zb-groups-preview { margin-top:8px; font-size:13px; padding:9px 13px; border-radius:8px; background:rgba(108,99,255,.08); color:var(--zb-accent2); line-height:1.5; }
.zb-groups-preview--warn { background:rgba(239,68,68,.08); color:var(--zb-red); } .zb-invoice-section { margin-bottom: 20px; }
.zb-toggle-row {
display: flex;
align-items: center;
gap: 12px;
cursor: pointer;
padding: 14px 16px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 10px;
transition: border-color .15s;
margin-bottom: 0;
}
.zb-toggle-row:hover { border-color: var(--zb-accent); }
.zb-toggle-row input[type="checkbox"] { display: none; }
.zb-toggle-track {
width: 42px;
height: 24px;
background: var(--zb-border2);
border-radius: 12px;
position: relative;
flex-shrink: 0;
transition: background .2s;
}
.zb-toggle-row input:checked ~ .zb-toggle-track { background: var(--zb-accent); }
.zb-toggle-row input:checked ~ .zb-toggle-track .zb-toggle-thumb { transform: translateX(18px); }
.zb-toggle-thumb {
position: absolute;
top: 3px;
left: 3px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
transition: transform .2s;
}
.zb-toggle-label { font-size: 15px; font-weight: 600; color: var(--zb-text); }
.zb-invoice-box {
margin-top: 12px;
padding: 16px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 10px;
border-top-left-radius: 0;
} .zb-step-footer { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--zb-border); } .zb-booking-wrap input,
.zb-booking-wrap textarea,
.zb-booking-wrap select {
font-size: 16px !important;
-webkit-appearance: none;
} .zb-booking-wrap {
width: min(100%, 680px);
margin-left: auto;
margin-right: auto;
padding-left: 16px;
padding-right: 16px;
}
@media (max-width: 520px) {
.zb-booking-wrap { padding-left: 10px; padding-right: 10px; }
.zb-slots-grid   { grid-template-columns: repeat(2, 1fr); }
.zb-booking-type { grid-template-columns: 1fr 1fr; }
.zb-step         { padding: 14px; }
.zb-heading      { font-size: 20px; }
.zb-cal-cell     { font-size: 14px; }
} .zb-payment-section { margin-bottom: 20px; }
.zb-payment-label { font-size: 13px; font-weight: 600; color: var(--zb-text2); margin-bottom: 10px; }
.zb-payment-options { display: flex; flex-direction: column; gap: 8px; }
.zb-payment-opt {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: var(--zb-bg3);
border: 2px solid var(--zb-border);
border-radius: 12px;
cursor: pointer;
transition: border-color .15s, background .15s;
}
.zb-payment-opt:hover { border-color: var(--zb-border2); }
.zb-payment-opt--active { border-color: var(--zb-accent); background: rgba(108,99,255,.08); }
.zb-payment-opt input[type="radio"] { display: none; }
.zb-pay-icon { font-size: 22px; flex-shrink: 0; }
.zb-pay-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.zb-pay-info strong { font-size: 14px; font-weight: 600; color: var(--zb-text); }
.zb-pay-info span { font-size: 12px; color: var(--zb-text3); }
.zb-pay-amount {
font-size: 16px; font-weight: 700; color: var(--zb-accent2);
background: rgba(108,99,255,.12); padding: 4px 10px; border-radius: 8px;
white-space: nowrap;
} .zb-payment-redirect {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 24px;
background: rgba(108,99,255,.08);
border: 1px solid rgba(108,99,255,.2);
border-radius: 12px;
margin-top: 12px;
font-size: 14px;
color: var(--zb-text2);
}
.zb-redirect-spinner {
width: 36px; height: 36px;
border: 3px solid var(--zb-border2);
border-top-color: var(--zb-accent);
border-radius: 50%;
animation: zb-spin .8s linear infinite;
}
@keyframes zb-spin { to { transform: rotate(360deg); } }  .zb-booking-wrap input[type="checkbox"],
.zb-booking-wrap input[type="radio"] {
-webkit-appearance: none !important;
appearance: none !important;
width: 22px !important;
height: 22px !important;
min-width: 22px !important;
border: 2px solid var(--zb-border2) !important;
border-radius: 5px !important;
background: var(--zb-bg3) !important;
cursor: pointer !important;
position: relative !important;
flex-shrink: 0 !important;
transition: background .15s, border-color .15s !important;
display: inline-block !important;
vertical-align: middle !important;
}
.zb-booking-wrap input[type="radio"] { border-radius: 50% !important; }
.zb-booking-wrap input[type="checkbox"]:checked,
.zb-booking-wrap input[type="radio"]:checked {
background: var(--zb-accent) !important;
border-color: var(--zb-accent) !important;
}
.zb-booking-wrap input[type="checkbox"]:checked::after {
content: '' !important;
position: absolute !important;
left: 5px !important; top: 2px !important;
width: 7px !important; height: 12px !important;
border: 2px solid #fff !important;
border-top: none !important; border-left: none !important;
transform: rotate(45deg) !important;
display: block !important;
}
.zb-booking-wrap input[type="radio"]:checked::after {
content: '' !important;
position: absolute !important;
left: 50% !important; top: 50% !important;
transform: translate(-50%,-50%) !important;
width: 8px !important; height: 8px !important;
background: #fff !important;
border-radius: 50% !important;
display: block !important;
}
.zb-booking-wrap input[type="checkbox"]:focus,
.zb-booking-wrap input[type="radio"]:focus {
outline: none !important;
box-shadow: 0 0 0 3px rgba(108,99,255,.25) !important;
} .zb-booking-type {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-bottom: 20px;
}
.zb-type-btn {
background: var(--zb-bg3);
border: 2px solid var(--zb-border);
border-radius: 12px;
padding: 12px 10px;
cursor: pointer;
text-align: center;
transition: border-color .2s, background .2s;
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
font-family: 'Poppins', sans-serif;
width: 100%;
min-width: 0;
}
.zb-type-btn:hover { border-color: var(--zb-accent); }
.zb-type-btn--active { border-color: var(--zb-accent); background: rgba(108,99,255,.1); }
.zb-type-icon { font-size: 20px; line-height: 1; }
.zb-type-label { font-size: 13px; font-weight: 600; color: var(--zb-text); word-break: keep-all; }
.zb-type-sub { font-size: 10px; color: var(--zb-text3); word-break: keep-all; line-height: 1.3; }
@media (max-width: 380px) {
.zb-booking-type { grid-template-columns: 1fr; }
.zb-type-btn { flex-direction: row; text-align: left; padding: 10px 12px; gap: 10px; }
.zb-type-icon { font-size: 22px; }
.zb-type-label { font-size: 14px; }
.zb-type-sub { font-size: 11px; }
} .zb-cf-price {
background: rgba(108,99,255,.15);
color: var(--zb-accent2);
font-size: 12px;
font-weight: 600;
padding: 1px 7px;
border-radius: 20px;
margin-left: 4px;
}
.zb-cf-price-sm {
color: var(--zb-accent2);
font-size: 11px;
font-weight: 600;
margin-left: 6px;
white-space: nowrap;
} .zb-price-summary {
background: rgba(108,99,255,.06);
border: 1px solid rgba(108,99,255,.2);
border-radius: 12px;
padding: 14px 16px;
margin-bottom: 18px;
}
.zb-price-header {
font-size: 12px;
font-weight: 700;
color: var(--zb-accent2);
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 10px;
}
.zb-price-row {
display: flex;
justify-content: space-between;
font-size: 14px;
color: var(--zb-text2);
padding: 3px 0;
}
.zb-price-row strong { color: var(--zb-text); }
.zb-price-total {
border-top: 1px solid rgba(108,99,255,.2);
margin-top: 6px;
padding-top: 8px;
font-weight: 700;
}
.zb-price-total span,
.zb-price-total strong { color: var(--zb-accent2) !important; font-size: 15px; } .zb-btn--primary {
border: 2px solid var(--zb-btn-border, var(--zb-accent)) !important;
}
.zb-btn-back {
background: none;
border: 1px solid var(--zb-btn-border, var(--zb-border));
color: var(--zb-text3);
font-size: 13px;
font-family: 'Poppins', sans-serif;
cursor: pointer;
padding: 8px 14px;
border-radius: 8px;
transition: color .15s, border-color .15s, background .15s;
display: inline-flex;
align-items: center;
gap: 5px;
}
.zb-btn-back:hover {
color: var(--zb-back-btn, var(--zb-text)) !important;
border-color: var(--zb-btn-back-hover-border, var(--zb-accent)) !important;
background: var(--zb-accent-glow, rgba(108,99,255,.07)) !important;
} .zb-step-header-back {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
flex-wrap: wrap;
gap: 8px;
}
.zb-step-header-back .zb-btn-back { font-size: 12px; padding: 6px 12px; } .zb-checkbox-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 15px;
color: var(--zb-text2);
cursor: pointer;
padding: 12px 14px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 9px;
line-height: 1.4;
transition: border-color .15s;
-webkit-tap-highlight-color: transparent;
}
.zb-checkbox-item:hover { border-color: var(--zb-accent); }
.zb-checkbox-item span { flex: 1; }
.zb-radio-item {
display: flex;
align-items: center;
gap: 10px;
font-size: 15px;
color: var(--zb-text2);
cursor: pointer;
padding: 10px 14px;
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 9px;
transition: border-color .15s;
-webkit-tap-highlight-color: transparent;
}
.zb-radio-item:hover { border-color: var(--zb-accent); }
.zb-radio-item span { flex: 1; } .zb-toggle-row input[type="checkbox"] {
-webkit-appearance: none !important;
appearance: none !important;
width: 0 !important;
height: 0 !important;
min-width: 0 !important;
border: none !important;
background: none !important;
position: absolute !important;
}
.zb-toggle-row input[type="checkbox"]:checked ~ .zb-toggle-track { background: var(--zb-accent) !important; }
.zb-toggle-row input[type="checkbox"]:checked ~ .zb-toggle-track .zb-toggle-thumb { transform: translateX(18px) !important; } .zb-terms-label {
display: flex;
align-items: flex-start;
gap: 12px;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
} .zb-booking-wrap {
width: min(100%, 680px);
margin-left: auto;
margin-right: auto;
padding-left: 16px;
padding-right: 16px;
overflow: visible !important;
}
@media (max-width: 520px) {
.zb-booking-wrap { padding-left: 10px; padding-right: 10px; }
.zb-slots-grid { grid-template-columns: repeat(2,1fr); }
.zb-step { padding: 14px; }
.zb-heading { font-size: 20px; }
}  .zb-booking-wrap input[type="checkbox"] {
-webkit-appearance: none !important;
appearance: none !important;
width: 22px !important;
height: 22px !important;
min-width: 22px !important;
border: 2px solid var(--zb-border2) !important;
border-radius: 6px !important;
background: var(--zb-bg3) !important;
cursor: pointer !important;
position: relative !important;
flex-shrink: 0 !important;
transition: background .15s, border-color .15s !important;
display: inline-block !important;
vertical-align: middle !important;
}
.zb-booking-wrap input[type="checkbox"]:checked {
background: var(--zb-accent) !important;
border-color: var(--zb-accent) !important;
}
.zb-booking-wrap input[type="checkbox"]:checked::after {
content: '' !important;
position: absolute !important;
left: 5px !important;
top: 2px !important;
width: 7px !important;
height: 11px !important;
border: 2px solid #fff !important;
border-top: none !important;
border-left: none !important;
transform: rotate(45deg) !important;
display: block !important;
}
.zb-booking-wrap input[type="checkbox"]:hover {
border-color: var(--zb-accent) !important;
} .zb-booking-wrap input[type="radio"] {
-webkit-appearance: none !important;
appearance: none !important;
width: 20px !important;
height: 20px !important;
min-width: 20px !important;
border: 2px solid var(--zb-border2) !important;
border-radius: 50% !important;
background: var(--zb-bg3) !important;
cursor: pointer !important;
position: relative !important;
flex-shrink: 0 !important;
transition: background .15s, border-color .15s !important;
display: inline-block !important;
vertical-align: middle !important;
}
.zb-booking-wrap input[type="radio"]:checked {
background: var(--zb-accent) !important;
border-color: var(--zb-accent) !important;
box-shadow: inset 0 0 0 4px var(--zb-bg3) !important;
}
.zb-booking-wrap input[type="radio"]:hover {
border-color: var(--zb-accent) !important;
} .zb-booking-type {
display: flex !important;
flex-direction: column !important;
gap: 10px !important;
margin-bottom: 20px !important;
}
.zb-type-btn {
display: flex !important;
flex-direction: row !important;
align-items: center !important;
gap: 12px !important;
padding: 14px 16px !important;
text-align: left !important;
width: 100% !important;
border: 2px solid var(--zb-border) !important;
border-radius: 12px !important;
background: var(--zb-bg3) !important;
cursor: pointer !important;
transition: border-color .2s, background .2s !important;
}
.zb-type-btn--active {
border-color: var(--zb-accent) !important;
background: rgba(108,99,255,.1) !important;
}
.zb-type-btn:hover { border-color: var(--zb-accent2) !important; }
.zb-type-icon {
font-size: 22px !important;
line-height: 1 !important;
flex-shrink: 0 !important;
width: 32px !important;
text-align: center !important;
}
.zb-type-label {
font-size: 15px !important;
font-weight: 600 !important;
color: var(--zb-text) !important;
display: block !important;
line-height: 1.2 !important;
}
.zb-type-sub {
font-size: 12px !important;
color: var(--zb-text3) !important;
display: block !important;
margin-top: 2px !important;
line-height: 1.3 !important;
white-space: normal !important;
}
.zb-type-info { flex: 1; min-width: 0; } .zb-step-back-top {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 16px;
}
.zb-btn-back-top {
background: none;
border: 1px solid var(--zb-border);
color: var(--zb-text2);
font-size: 13px;
font-family: 'Poppins', sans-serif;
cursor: pointer;
padding: 6px 14px;
border-radius: 8px;
display: inline-flex;
align-items: center;
gap: 6px;
transition: border-color .15s, color .15s, background .15s;
}
.zb-btn-back-top:hover {
border-color: var(--zb-accent);
color: var(--zb-text);
background: rgba(108,99,255,.06);
} .zb-cf-price-badge {
display: inline-block;
background: rgba(34,197,94,.15);
color: var(--zb-green);
font-size: 11px;
font-weight: 700;
padding: 2px 9px;
border-radius: 20px;
margin-left: 6px;
vertical-align: middle;
white-space: nowrap;
width: fit-content;
align-self: flex-start;
}
.zb-radio-item { position: relative; }
.zb-radio-item .zb-cf-price-badge {
margin-left: auto;
flex-shrink: 0;
}
.zb-price-summary {
background: var(--zb-bg3);
border: 1px solid var(--zb-border);
border-radius: 10px;
padding: 14px 16px;
margin-bottom: 18px;
}
.zb-price-row {
display: flex;
justify-content: space-between;
font-size: 14px;
color: var(--zb-text2);
padding: 3px 0;
}
.zb-price-row.zb-price-total {
border-top: 1px solid var(--zb-border);
margin-top: 8px;
padding-top: 10px;
font-size: 16px;
font-weight: 700;
color: var(--zb-text);
}
.zb-price-row.zb-price-total strong { color: var(--zb-accent2); } .zb-btn--primary {
border: 2px solid var(--zb-btn-primary-border, var(--zb-accent)) !important;
}
.zb-btn--secondary {
border: 2px solid var(--zb-btn-secondary-border, var(--zb-border)) !important;
}
.zb-btn-back-top, .zb-btn-back {
border-color: var(--zb-btn-back-border, var(--zb-border)) !important;
}
.zb-step {
border-color: var(--zb-step-border, var(--zb-accent)) !important;
}
.zb-progress {
border-color: var(--zb-progress-border, var(--zb-border)) !important;
} .zb-payment-redirect { margin-top: 14px; }  .zb-booking-wrap input[type="checkbox"],
.zb-booking-wrap input[type="radio"] {
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
display: inline-block !important;
width: 20px !important;
height: 20px !important;
min-width: 20px !important;
max-width: 20px !important;
flex-shrink: 0 !important;
border: 2px solid var(--zb-border2, #3d4466) !important;
border-radius: 4px !important;
background-color: var(--zb-bg3, #1e2235) !important;
background-image: none !important;
cursor: pointer !important;
position: relative !important;
margin: 0 !important;
padding: 0 !important;
vertical-align: middle !important;
transition: background-color .15s, border-color .15s !important;
box-shadow: none !important;
} .zb-booking-wrap input[type="radio"] {
border-radius: 50% !important;
} .zb-booking-wrap input[type="checkbox"]:checked {
background-color: var(--zb-accent, #6c63ff) !important;
border-color: var(--zb-accent, #6c63ff) !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3.5 3.5L13 4'/%3E%3C/svg%3E") !important;
background-size: 14px 14px !important;
background-position: center !important;
background-repeat: no-repeat !important;
}
.zb-booking-wrap input[type="radio"]:checked {
background-color: var(--zb-accent, #6c63ff) !important;
border-color: var(--zb-accent, #6c63ff) !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23fff'/%3E%3C/svg%3E") !important;
background-size: 16px 16px !important;
background-position: center !important;
background-repeat: no-repeat !important;
} .zb-booking-wrap input[type="checkbox"]::after,
.zb-booking-wrap input[type="radio"]::after,
.zb-booking-wrap input[type="checkbox"]::before,
.zb-booking-wrap input[type="radio"]::before {
display: none !important;
content: none !important;
} .zb-booking-wrap input[type="checkbox"]:focus,
.zb-booking-wrap input[type="radio"]:focus {
outline: none !important;
box-shadow: 0 0 0 3px rgba(108,99,255,.25) !important;
} .zb-checkbox-item {
display: flex !important;
align-items: center !important;
gap: 12px !important;
padding: 12px 14px !important;
background: var(--zb-bg3) !important;
border: 1px solid var(--zb-border) !important;
border-radius: 9px !important;
cursor: pointer !important;
transition: border-color .15s !important;
-webkit-tap-highlight-color: transparent !important;
}
.zb-checkbox-item:hover { border-color: var(--zb-accent) !important; }
.zb-checkbox-item span { flex: 1; font-size: 15px; color: var(--zb-text2); } .zb-radio-item {
display: flex !important;
align-items: center !important;
gap: 12px !important;
padding: 10px 14px !important;
background: var(--zb-bg3) !important;
border: 1px solid var(--zb-border) !important;
border-radius: 9px !important;
cursor: pointer !important;
transition: border-color .15s !important;
-webkit-tap-highlight-color: transparent !important;
}
.zb-radio-item:hover { border-color: var(--zb-accent) !important; }
.zb-radio-item > input[type="radio"] { flex-shrink: 0 !important; }
.zb-radio-item > span { flex: 1; font-size: 15px; color: var(--zb-text2); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px; } .zb-toggle-row input[type="checkbox"] {
-webkit-appearance: none !important;
appearance: none !important;
width: 0 !important;
height: 0 !important;
min-width: 0 !important;
max-width: 0 !important;
border: none !important;
background: none !important;
background-image: none !important;
position: absolute !important;
opacity: 0 !important;
pointer-events: none !important;
margin: 0 !important;
padding: 0 !important;
} .zb-terms-label input[type="checkbox"] {
width: 20px !important;
height: 20px !important;
min-width: 20px !important;
flex-shrink: 0 !important;
margin-top: 1px !important;
} .zb-badge--amber { background: var(--zb-amber-bg, #2a1e05); color: var(--zb-amber, #f59e0b); }
.zb-badge--amber::before { background: var(--zb-amber, #f59e0b); }  .zb-btn-back,
.zb-btn-back-top,
.zb-step-header-back .zb-btn-back {
color: var(--zb-back-btn) !important;
}
.zb-btn-back:hover,
.zb-btn-back-top:hover {
color: var(--zb-text) !important;
} .zb-booking-wrap input:focus,
.zb-booking-wrap textarea:focus,
.zb-booking-wrap select:focus {
border-color: var(--zb-frame) !important;
box-shadow: 0 0 0 3px color-mix(in srgb, var(--zb-frame) 20%, transparent) !important;
}
.zb-step.zb-step--active,
.zb-type-btn:hover { border-color: var(--zb-frame) !important; }
.zb-type-btn--active { border-color: var(--zb-frame) !important; }
.zb-payment-opt--active { border-color: var(--zb-frame) !important; }
.zb-slot--available:hover,
.zb-slot--selected { border-color: var(--zb-frame) !important; }
.zb-toggle-row:hover { border-color: var(--zb-frame) !important; }
.zb-invoice-box:focus-within { border-color: var(--zb-frame) !important; } .zb-conf-ref {
color: var(--zb-confirmation) !important;
}
.zb-confirmation__icon {
color: var(--zb-confirmation) !important;
border-color: var(--zb-confirmation) !important;
}  .zb-booking-wrap .zb-field > label,
.zb-booking-wrap .zb-field-label {
font-size: 13px !important;
font-weight: 600 !important;
color: var(--zb-text2) !important;
letter-spacing: .02em;
text-transform: uppercase;
margin-bottom: 6px;
display: block;
} .zb-booking-wrap input[type="text"],
.zb-booking-wrap input[type="email"],
.zb-booking-wrap input[type="tel"],
.zb-booking-wrap input[type="number"],
.zb-booking-wrap textarea,
.zb-booking-wrap select {
font-size: 15px !important;
color: var(--zb-text) !important;
} .zb-booking-wrap input::placeholder,
.zb-booking-wrap textarea::placeholder {
font-size: 14px !important;
color: var(--zb-text3) !important;
font-weight: 400 !important;
} .zb-stepper-val { font-size: 16px !important; }
.zb-stepper-btn { font-size: 20px !important; } .zb-checkbox-item,
.zb-radio-item {
font-size: 14px !important;
}
.zb-checkbox-item strong,
.zb-radio-item strong {
font-size: 14px !important;
font-weight: 600 !important;
} .zb-toggle-row { font-size: 14px !important; } .zb-booking-wrap textarea { font-size: 14px !important; } .zb-summary { font-size: 13px !important; }
.zb-summary h4 { font-size: 11px !important; }
.zb-summary p { font-size: 14px !important; } .zb-payment-opt strong { font-size: 14px !important; font-weight: 600 !important; }
.zb-payment-opt span   { font-size: 12px !important; } .zb-price-summary { font-size: 13px !important; }
.zb-price-row-total { font-size: 15px !important; font-weight: 700 !important; } .zb-btn--primary .zb-btn-label { font-size: 16px !important; font-weight: 700 !important; } .zb-cf-price-badge {
width: fit-content !important;
align-self: center !important;
flex-shrink: 0 !important;
}  .zb-booking-wrap *,
.zb-booking-wrap *:hover,
.zb-booking-wrap *:focus,
.zb-booking-wrap *:active,
.zb-booking-wrap *:visited {
outline-color: var(--zb-accent) !important;
}
.zb-booking-wrap button {
border-color: transparent !important;
} .zb-cal-nav:hover {
background: var(--zb-hover-bg) !important;
color: var(--zb-text) !important;
border-color: var(--zb-accent) !important;
}
.zb-cal-nav:focus,
.zb-cal-nav:active {
outline: none !important;
box-shadow: none !important;
border-color: var(--zb-border) !important;
} .zb-slot:focus,
.zb-slot:active {
outline: none !important;
box-shadow: none !important;
}
.zb-slot--available:hover {
border-color: var(--zb-frame, var(--zb-accent)) !important;
background: var(--zb-hover-bg) !important;
color: var(--zb-text) !important;
}
.zb-slot--selected {
border-color: var(--zb-frame, var(--zb-accent)) !important;
background: var(--zb-hover-bg) !important;
} .zb-stepper { border-color: var(--zb-border) !important; }
.zb-stepper-btn:hover {
background: var(--zb-hover-bg) !important;
color: var(--zb-text) !important;
border-color: transparent !important;
}
.zb-stepper-btn:focus,
.zb-stepper-btn:active {
outline: none !important;
box-shadow: none !important;
border-color: transparent !important;
background: var(--zb-hover-bg) !important;
} .zb-btn--primary,
.zb-btn--primary:link,
.zb-btn--primary:visited {
background: var(--zb-accent) !important;
color: #fff !important;
border-color: var(--zb-btn-border, var(--zb-accent)) !important;
}
.zb-btn--primary:hover {
background: var(--zb-accent2) !important;
color: #fff !important;
border-color: var(--zb-accent2) !important;
}
.zb-btn--primary:focus,
.zb-btn--primary:active {
background: var(--zb-accent) !important;
color: #fff !important;
outline: none !important;
box-shadow: 0 0 0 3px var(--zb-accent-glow, rgba(108,99,255,.25)) !important;
border-color: var(--zb-accent) !important;
} .zb-btn-back,
.zb-btn-back-top {
color: var(--zb-back-btn, var(--zb-text3)) !important;
border-color: var(--zb-border) !important;
background: transparent !important;
}
.zb-btn-back:hover,
.zb-btn-back-top:hover {
color: var(--zb-text) !important;
border-color: var(--zb-frame, var(--zb-accent)) !important;
background: var(--zb-accent-glow, rgba(108,99,255,.07)) !important;
}
.zb-btn-back:focus,
.zb-btn-back-top:focus {
outline: none !important;
box-shadow: none !important;
} .zb-checkbox-item,
.zb-radio-item {
border-color: var(--zb-border) !important;
}
.zb-checkbox-item:hover { border-color: var(--zb-frame, var(--zb-accent)) !important; }
.zb-radio-item:hover    { border-color: var(--zb-frame, var(--zb-accent)) !important; } .zb-toggle-row:hover { border-color: var(--zb-frame, var(--zb-accent)) !important; } .zb-booking-wrap input:focus,
.zb-booking-wrap textarea:focus,
.zb-booking-wrap select:focus {
border-color: var(--zb-frame, var(--zb-accent)) !important;
box-shadow: 0 0 0 3px var(--zb-accent-glow, rgba(108,99,255,.18)) !important;
outline: none !important;
} .zb-confirmation__icon {
color: var(--zb-confirmation, var(--zb-accent)) !important;
border-color: var(--zb-confirmation, var(--zb-accent)) !important;
}
.zb-confirmation h3,
#zb-conf-title {
color: var(--zb-confirmation, var(--zb-accent)) !important;
}
.zb-conf-ref {
color: var(--zb-confirmation, var(--zb-accent)) !important;
} .zb-booking-wrap a { color: var(--zb-accent) !important; }
.zb-booking-wrap a:hover { color: var(--zb-accent2) !important; }  .zb-cf-price-badge {
display: inline-flex !important; align-items: center !important;
justify-content: center !important;
background: rgba(34,197,94,0.22) !important; color: #4ade80 !important;
font-size: 13px !important; font-weight: 700 !important;
padding: 5px 12px !important; border-radius: 7px !important;
border: 1px solid rgba(34,197,94,0.35) !important;
margin-left: auto !important; flex-shrink: 0 !important;
width: auto !important; white-space: nowrap !important;
align-self: stretch !important;
}
.zb-radio-item { min-height: 52px !important; align-items: center !important; }
.zb-radio-item > span { display: flex !important; align-items: center !important; justify-content: space-between !important; flex: 1 !important; gap: 8px !important; } .zb-booking-wrap .zb-field > label {
font-size: 11px !important; font-weight: 600 !important; color: #7da8d8 !important;
text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-bottom: 6px !important;
}
.zb-booking-wrap .zb-field > label small {
font-size: 10px !important; text-transform: none !important; letter-spacing: 0 !important; color: #3d6a9a !important;
} .zb-booking-wrap .zb-field input[type="text"],
.zb-booking-wrap .zb-field input[type="email"],
.zb-booking-wrap .zb-field input[type="tel"],
.zb-booking-wrap .zb-field input[type="number"],
.zb-booking-wrap .zb-field select,
.zb-booking-wrap .zb-select-field {
height: 56px !important; min-height: 56px !important;
padding: 0 16px !important; font-size: 15px !important;
background: #0c1d3d !important; border: 1px solid #1a3560 !important;
color: #dce8f8 !important; border-radius: 10px !important;
box-sizing: border-box !important; line-height: 56px !important;
}
.zb-booking-wrap .zb-field input:focus,
.zb-booking-wrap .zb-field select:focus {
border-color: #2563eb !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.2) !important; outline: none !important;
} #zb-notes {
min-height: 64px !important; max-height: 72px !important;
padding: 12px 16px !important; resize: none !important;
font-size: 14px !important; background: #0c1d3d !important;
border: 1px solid #1a3560 !important; color: #dce8f8 !important;
border-radius: 10px !important; box-sizing: border-box !important; line-height: 1.5 !important;
} .zb-summary {
background: linear-gradient(135deg, rgba(37,99,235,0.14) 0%, rgba(15,31,58,0.95) 100%) !important;
border: 1px solid rgba(37,99,235,0.5) !important; border-radius: 12px !important;
padding: 0 !important; overflow: hidden !important; position: relative !important;
}
.zb-summary::before {
content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
width: 4px !important; height: 100% !important;
background: linear-gradient(180deg, #2563eb 0%, #60a5fa 100%) !important;
}
.zb-summary h4 {
font-size: 13px !important; font-weight: 800 !important;
text-transform: uppercase !important; letter-spacing: 0.14em !important; color: #fff !important;
background: linear-gradient(90deg, rgba(37,99,235,0.5) 0%, rgba(37,99,235,0.1) 100%) !important;
margin: 0 !important; padding: 12px 16px 12px 20px !important;
border-bottom: 1px solid rgba(37,99,235,0.3) !important;
display: flex !important; align-items: center !important; gap: 8px !important;
}
.zb-summary h4::before { content: '📋' !important; font-size: 14px !important; }
.zb-summary p {
font-size: 15px !important; color: #7da8d8 !important;
padding: 10px 16px 10px 20px !important;
border-bottom: 1px solid rgba(37,99,235,0.1) !important;
margin: 0 !important; display: flex !important; justify-content: space-between !important;
}
.zb-summary p:last-child { border-bottom: none !important; }
.zb-summary p strong { color: #dce8f8 !important; font-size: 15px !important; font-weight: 600 !important; }
#zb-sum-price-row { background: rgba(37,99,235,0.08) !important; padding-top: 12px !important; padding-bottom: 12px !important; }
#zb-sum-price-row strong, #zb-sum-price { color: #60a5fa !important; font-size: 17px !important; font-weight: 700 !important; } .zb-pay-icon { font-size: 24px !important; width: 36px !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
.zb-pay-icon img.emoji { width: 24px !important; height: 24px !important; }
.zb-payment-opt { min-height: 58px !important; align-items: center !important; gap: 14px !important; padding: 12px 16px !important; background: #0c1d3d !important; border: 2px solid #1a3560 !important; border-radius: 10px !important; }
.zb-payment-opt--active { border-color: #2563eb !important; background: rgba(37,99,235,0.12) !important; }
.zb-pay-info strong { font-size: 15px !important; font-weight: 700 !important; color: #dce8f8 !important; }
.zb-pay-info span { font-size: 13px !important; color: #7da8d8 !important; } .zb-price-header { font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: #3b82f6 !important; margin-bottom: 10px !important; }
.zb-payment-label { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: #7da8d8 !important; margin-bottom: 10px !important; }
.zb-toggle-label { font-size: 14px !important; font-weight: 600 !important; color: #dce8f8 !important; }
.zb-step__title { font-size: 15px !important; font-weight: 700 !important; color: #dce8f8 !important; } .zb-coupon-section { margin-bottom: 0; }
.zb-coupon-toggle { display: inline-flex !important; align-items: center !important; gap: 6px !important; cursor: pointer !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; color: #3b82f6 !important; margin-bottom: 8px !important; background: none !important; border: none !important; padding: 0 !important; font-family: inherit !important; transition: color .15s !important; }
.zb-coupon-toggle:hover { color: #60a5fa !important; }
.zb-coupon-box { display: none; flex-direction: column; gap: 0; }
.zb-coupon-box.open { display: flex !important; }
.zb-coupon-row { display: flex !important; gap: 8px !important; align-items: stretch !important; }
.zb-coupon-input { flex: 1 !important; background: #0c1d3d !important; border: 1px solid #1a3560 !important; border-radius: 9px !important; color: #dce8f8 !important; padding: 10px 14px !important; font-size: 13px !important; font-family: inherit !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; }
.zb-coupon-input::placeholder { text-transform: none !important; letter-spacing: 0 !important; color: #3d6a9a !important; font-size: 12px !important; }
.zb-coupon-input:focus { outline: none !important; border-color: #2563eb !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.2) !important; }
.zb-coupon-btn { background: #1a3560 !important; border: 1px solid #2563eb !important; border-radius: 9px !important; color: #3b82f6 !important; font-size: 12px !important; font-weight: 700 !important; font-family: inherit !important; padding: 0 16px !important; cursor: pointer !important; white-space: nowrap !important; transition: background .15s, color .15s !important; }
.zb-coupon-btn:hover { background: #2563eb !important; color: #fff !important; }
.zb-coupon-btn:disabled { opacity: 0.5 !important; cursor: not-allowed !important; }
.zb-coupon-feedback { font-size: 12px !important; margin-top: 7px !important; padding: 7px 12px !important; border-radius: 7px !important; display: none !important; }
.zb-coupon-feedback.ok { display: block !important; background: rgba(34,197,94,0.12) !important; color: #4ade80 !important; border: 1px solid rgba(34,197,94,0.25) !important; }
.zb-coupon-feedback.err { display: block !important; background: rgba(239,68,68,0.1) !important; color: #f87171 !important; border: 1px solid rgba(239,68,68,0.2) !important; } .zb-booking-wrap { --zb-bg:#030b18 !important; --zb-bg2:#071228 !important; --zb-bg3:#0c1d3d !important; --zb-bg4:#112248 !important; --zb-border:#1a3560 !important; --zb-border2:#25477a !important; --zb-text:#dce8f8 !important; --zb-text2:#7da8d8 !important; --zb-text3:#3d6a9a !important; --zb-accent:#2563eb !important; --zb-accent2:#3b82f6 !important; --zb-hover-bg:#122050 !important; }
.zb-step { background: var(--zb-bg2) !important; border-color: rgba(37,99,235,0.5) !important; }
.zb-progress { background: var(--zb-bg2) !important; border-color: #1a3560 !important; }
.zb-radio-item, .zb-checkbox-item { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-radio-item:hover, .zb-checkbox-item:hover { border-color: #2563eb !important; background: #0f2248 !important; }
.zb-type-btn { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-type-btn--active { background: rgba(37,99,235,0.15) !important; border-color: #2563eb !important; }
.zb-stepper { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-price-summary { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-invoice-section .zb-toggle-row { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-terms-field { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-slot { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; }
.zb-slot--available:hover, .zb-slot--selected { background: var(--zb-hover-bg) !important; border-color: #2563eb !important; }
.zb-cal-cell--available { background: rgba(37,99,235,0.18) !important; color: #60a5fa !important; }
.zb-cal-cell--selected { background: #2563eb !important; color: #fff !important; }
.zb-cal-nav { background: var(--zb-bg3) !important; border-color: var(--zb-border) !important; color: #7da8d8 !important; }
.zb-btn--primary { background: #2563eb !important; border-color: #2563eb !important; }
.zb-btn--primary:hover { background: #3b82f6 !important; border-color: #3b82f6 !important; }
.zb-progress-line-fill { background: #2563eb !important; }
.zb-progress-dot.active { background: #2563eb !important; }
.zb-progress-dot.done { background: #22c55e !important; }  .zb-summary {
background: var(--zb-bg3) !important;
border: 1px solid var(--zb-border) !important;
border-radius: 10px !important;
padding: 14px 16px !important;
overflow: visible !important;
position: static !important;
}
.zb-summary::before,
.zb-summary h4::before { content: none !important; display: none !important; }
.zb-summary h4 {
background: transparent !important;
margin: 0 0 10px 0 !important;
padding: 0 !important;
border-bottom: none !important;
display: block !important;
letter-spacing: normal !important;
text-transform: none !important;
font-size: 14px !important;
font-weight: 700 !important;
color: var(--zb-text) !important;
}
.zb-summary p {
background: transparent !important;
margin: 0 !important;
padding: 8px 0 !important;
border-bottom: 1px solid var(--zb-border) !important;
color: var(--zb-text2) !important;
}
.zb-summary p:last-child { border-bottom: none !important; }
.zb-summary p strong {
color: var(--zb-text) !important;
font-size: 15px !important;
font-weight: 600 !important;
}
#zb-sum-price-row {
background: transparent !important;
padding-top: 8px !important;
padding-bottom: 8px !important;
}
#zb-sum-price-row strong,
#zb-sum-price {
color: var(--zb-accent2) !important;
font-size: 16px !important;
font-weight: 700 !important;
} .zb-payment-options { gap: 12px !important; }
.zb-payment-opt {
min-height: 64px !important;
gap: 12px !important;
padding: 14px 16px !important;
} .zb-coupon-section { margin-bottom: 18px !important; }
.zb-coupon-box { gap: 10px !important; }
.zb-coupon-box.open { margin-top: 10px !important; } .zb-cf-price-badge {
display: inline-flex !important;
align-items: center !important;
width: auto !important;
max-width: max-content !important;
flex: 0 0 auto !important;
align-self: center !important;
white-space: nowrap !important;
}
.zb-radio-item {
justify-content: flex-start !important;
}
.zb-radio-item > span {
flex: 0 1 auto !important;
display: inline !important;
justify-content: flex-start !important;
}
.zb-radio-item .zb-cf-price-badge { margin-left: 8px !important; } #zb-submit.zb-btn--primary {
display: flex !important;
width: 100% !important;
text-align: center !important;
justify-content: center !important;
align-items: center !important;
padding: 14px 16px !important;
}
#zb-submit .zb-btn-label {
display: block !important;
width: 100% !important;
text-align: center !important;
font-size: 16px !important;
font-weight: 700 !important;
} .zb-cal-cell--available {
background: rgba(34,197,94,.1) !important;
color: var(--zb-green) !important;
}
.zb-cal-cell--available:hover {
color: var(--zb-green) !important;
} .zb-booking-wrap input[type="text"],
.zb-booking-wrap input[type="email"],
.zb-booking-wrap input[type="tel"],
.zb-booking-wrap input[type="number"],
.zb-booking-wrap input[type="date"],
.zb-booking-wrap textarea,
.zb-booking-wrap select,
.zb-coupon-input {
font-size: 16px !important;
}
.zb-coupon-input::placeholder { font-size: 16px !important; }  html { -webkit-text-size-adjust: 100%; }
.zb-booking-wrap input[type="text"],
.zb-booking-wrap input[type="email"],
.zb-booking-wrap input[type="tel"],
.zb-booking-wrap input[type="number"],
.zb-booking-wrap input[type="date"],
.zb-booking-wrap textarea,
.zb-booking-wrap select,
.zb-booking-wrap .zb-coupon-input,
#zb-name, #zb-email, #zb-phone, #zb-total-people, #zb-notes, #zb-coupon-code,
#zb-inv-company, #zb-inv-nip, #zb-inv-address {
font-size: 16px !important;
line-height: 1.35 !important;
}
.zb-booking-wrap input::placeholder,
.zb-booking-wrap textarea::placeholder,
.zb-booking-wrap .zb-coupon-input::placeholder {
font-size: 16px !important;
} .zb-cal-cell--available,
.zb-cal-cell--available:hover { color: var(--zb-green) !important; }
.zb-cal-cell--available:hover { background: rgba(34,197,94,.1) !important; }
#zb-calendar { padding-bottom: 18px !important; } .zb-radio-item {
display: flex !important;
align-items: center !important;
gap: 12px !important;
flex-wrap: nowrap !important;
min-height: 52px !important;
padding: 10px 14px !important;
}
.zb-radio-label {
flex: 1 1 auto !important;
min-width: 0 !important;
display: flex !important;
align-items: center !important;
gap: 8px !important;
flex-wrap: wrap !important;
font-size: 15px !important;
color: var(--zb-text2) !important;
} .zb-radio-label .zb-cf-price-badge {
margin-left: 0 !important;
flex-shrink: 0 !important;
} .zb-radio-qty {
flex-shrink: 0 !important;
display: none !important;
align-items: center !important;
gap: 6px !important;
} .zb-radio-item.zb-radio-selected {
border-color: var(--zb-accent) !important;
background: rgba(37,99,235,.08) !important;
}
.zb-radio-item.zb-radio-selected .zb-radio-qty {
display: inline-flex !important;
}
.zb-radio-qty-btn {
width: 32px !important; height: 32px !important;
border-radius: 8px !important;
border: 1px solid var(--zb-border2) !important;
background: var(--zb-bg4) !important;
color: var(--zb-text) !important;
cursor: pointer !important;
font-size: 18px !important; line-height: 1 !important;
display: inline-flex !important; align-items: center !important; justify-content: center !important;
flex-shrink: 0 !important;
}
.zb-radio-qty-btn:hover { background: var(--zb-border2) !important; }
.zb-radio-qty-input {
width: 54px !important; min-width: 54px !important;
text-align: center !important;
padding: 4px 8px !important;
font-size: 16px !important;
border-radius: 8px !important;
background: var(--zb-bg2) !important;
color: var(--zb-text) !important;
border: 1px solid var(--zb-border) !important;
height: 32px !important;
box-sizing: border-box !important;
}
.zb-price-discount strong { color: var(--zb-green) !important; } .zb-sum-discount-row strong { color: var(--zb-green) !important; }
#zb-sum-discount-row strong { color: var(--zb-green) !important; font-size: 15px !important; } .zb-radio-qty-input::-webkit-outer-spin-button,
.zb-radio-qty-input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin: 0 !important;
}
.zb-radio-qty-input[type=number] {
-moz-appearance: textfield !important;
appearance: textfield !important;
}
.zb-radio-qty {
gap: 4px !important;
margin-left: 8px !important;
}
.zb-radio-qty-input {
width: 42px !important;
min-width: 42px !important;
padding: 4px 4px !important;
}
.zb-radio-qty-btn {
width: 28px !important;
height: 28px !important;
font-size: 16px !important;
} .zb-confirmation {
padding: 20px 0 12px !important;
text-align: center !important;
}
.zb-conf-card {
background: var(--zb-bg2, #181c27);
border: 1px solid var(--zb-border, #2e3450);
border-radius: 20px;
padding: 40px 32px 32px;
max-width: 520px;
margin: 0 auto;
text-align: center;
}
.zb-conf-icon-wrap {
display: flex;
justify-content: center;
margin-bottom: 24px;
}
.zb-conf-icon {
width: 80px; height: 80px;
border-radius: 50%;
background: rgba(34,197,94,.15);
border: 2px solid rgba(34,197,94,.45);
color: #22c55e;
font-size: 40px;
line-height: 80px;
text-align: center;
}
.zb-conf-title {
font-size: 26px !important;
font-weight: 800 !important;
color: #ffffff !important;
margin: 0 0 10px !important;
letter-spacing: .01em !important;
}
.zb-conf-subtitle {
font-size: 15px !important;
color: var(--zb-text2, #8b93b8) !important;
margin: 0 0 16px !important;
}
.zb-conf-ref {
display: inline-block !important;
background: var(--zb-bg3, #1e2235) !important;
border: 2px solid var(--zb-accent, #6c63ff) !important;
color: var(--zb-accent2, #7c74ff) !important;
padding: 10px 24px !important;
border-radius: 12px !important;
font-size: 20px !important;
font-weight: 800 !important;
font-family: monospace !important;
letter-spacing: .08em !important;
margin: 0 0 28px !important;
} .zb-conf-details-block {
margin: 0 0 20px;
text-align: left;
}
.zb-conf-row {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 13px 0;
border-bottom: 1px solid var(--zb-border, #2e3450);
font-size: 15px;
gap: 12px;
}
.zb-conf-row:last-child { border-bottom: none; }
.zb-conf-row__label {
color: var(--zb-text2, #8b93b8);
flex-shrink: 0;
font-weight: 500;
}
.zb-conf-row__val {
color: var(--zb-text, #e8eaf6);
font-weight: 700;
text-align: right;
font-size: 15px;
}
.zb-conf-row__val--muted {
color: var(--zb-text2, #8b93b8) !important;
font-weight: 400 !important;
}
.zb-conf-groups {
font-size: 14px !important;
color: var(--zb-text2, #8b93b8) !important;
margin: 0 0 8px !important;
}
.zb-conf-price {
font-size: 26px !important;
font-weight: 800 !important;
color: var(--zb-accent2, #7c74ff) !important;
margin: 0 0 6px !important;
}
.zb-conf-payment-info {
font-size: 15px !important;
color: #22c55e !important;
font-weight: 600 !important;
margin: 0 0 8px !important;
}
.zb-conf-email-note {
font-size: 14px !important;
color: var(--zb-text2, #8b93b8) !important;
margin: 0 0 24px !important;
}
.zb-conf-new-btn {
width: 100% !important;
padding: 16px !important;
font-size: 16px !important;
font-weight: 700 !important;
border-radius: 12px !important;
}   .zb-cal-cell--disabled {
color: var(--zb-text3) !important;
background: transparent !important;
cursor: default !important;
} .zb-cal-cell--full {
background: rgba(100,116,139,.18) !important;
color: var(--zb-text3) !important;
font-weight: 600 !important;
cursor: default !important;
} .zb-cal-cell--avail-empty,
.zb-cal-cell--avail-low {
background: rgba(34,197,94,.18) !important;
color: var(--zb-green, #22c55e) !important;
font-weight: 700 !important;
cursor: pointer !important;
user-select: none;
} .zb-cal-cell--avail-mid {
background: rgba(245,158,11,.18) !important;
color: var(--zb-amber, #f59e0b) !important;
font-weight: 700 !important;
cursor: pointer !important;
user-select: none;
} .zb-cal-cell--avail-high {
background: rgba(239,68,68,.18) !important;
color: var(--zb-red, #ef4444) !important;
font-weight: 700 !important;
cursor: pointer !important;
user-select: none;
} .zb-cal-cell--avail-empty:hover,
.zb-cal-cell--avail-low:hover,
.zb-cal-cell--avail-mid:hover,
.zb-cal-cell--avail-high:hover {
filter: brightness(1.25) !important;
} .zb-cal-cell--selected {
background: var(--zb-accent, #6c63ff) !important;
color: #fff !important;
font-weight: 700 !important;
}
.zb-cal-cell--selected:hover {
background: var(--zb-accent, #6c63ff) !important;
color: #fff !important;
filter: none !important;
} .zb-cal-cell--today:not(.zb-cal-cell--selected):not(.zb-cal-cell--disabled) {
background: var(--zb-accent, #6c63ff) !important;
color: #fff !important;
font-weight: 800 !important;
box-shadow: 0 0 0 2px var(--zb-accent, #6c63ff) !important;
} .zb-slot__time  { font-size: 17px !important; font-weight: 700 !important; }
.zb-slot__badge { font-size: 13px !important; }
.zb-slot__price {
display: block;
font-size: 12px !important;
font-weight: 700 !important;
color: var(--zb-accent2, #8b85ff) !important;
margin-top: 3px;
}  #zb-calendar {
padding-bottom: 0 !important;
}
.zb-booking-wrap {
padding-bottom: 0 !important; min-height: 0 !important;
}
.zb-step { overflow: hidden !important;
padding-bottom: 20px !important;
}
.zb-step--hidden {
overflow: hidden !important;
padding: 0 !important;
margin: 0 !important;
border: none !important;
} .zb-conf-title,
#zb-conf-title,
.zb-confirmation h3,
.zb-confirmation .zb-conf-title {
color: #ffffff !important;
}