/* Lynked Booking — booking card. Override the --lb-* variables in a theme to re-brand. */
.lb-card,.lb-admin-note,.lb-checkout{--lb-brand:#1B3461;--lb-brand-dark:#0F2244;--lb-ink:#0F1D38;--lb-muted:#5B6478;--lb-line:#E3E8EF;--lb-field:#D5DCE6;--lb-soft:#F5F7FA;--lb-tint:#EEF2F8;--lb-accent:#A9C1E6}
.lb-card{background:#fff;border-radius:var(--pt-r-md,14px);overflow:hidden;box-shadow:0 24px 50px -32px rgba(15,29,56,.45),0 0 0 1px var(--lb-line);color:var(--lb-ink);font-family:inherit;text-align:right;transition:box-shadow .3s}
.lb-card.is-flash{box-shadow:0 0 0 3px var(--lb-brand),0 24px 50px -32px rgba(15,29,56,.45)}
.lb-card *{box-sizing:border-box}
.lb-top{background:var(--lb-brand-dark);color:#fff;padding:20px 22px;display:flex;flex-direction:column;gap:2px}
.lb-top>span{font-size:13px;color:rgba(255,255,255,.75)}
.lb-price{font-weight:700;font-size:36px;line-height:1.25;color:#fff}
.lb-price .woocommerce-Price-currencySymbol{font-size:15px;font-weight:600;color:var(--lb-accent);margin-inline:6px}
.lb-price ins{text-decoration:none;background:none;color:#fff}
.lb-price del{font-size:18px;opacity:.6}
.lb-price-text{font-size:26px}
.lb-form,.lb-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px;margin:0}
.lb-step{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.lb-step legend{display:flex;align-items:center;gap:10px;width:100%;padding:0;margin:0 0 10px;font-size:15.5px;font-weight:700;color:var(--lb-ink)}
.lb-step legend small{margin-inline-start:auto;font-size:11.5px;font-weight:500;color:var(--lb-muted);background:var(--lb-tint);padding:3px 9px;border-radius:var(--pt-r-pill,999px)}
.lb-num{width:24px;height:24px;border-radius:50%;background:var(--lb-brand);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex:none}

/* Departures */
.lb-deps{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow-y:auto;padding:2px;margin:-2px}
.lb-dep{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--lb-line);border-radius:var(--pt-r-sm,10px);cursor:pointer;background:#fff;margin:0;transition:border-color .15s,background .15s}
.lb-dep:hover{border-color:#B9C5D6}
.lb-dep input{position:absolute;opacity:0;width:1px;height:1px}
.lb-dep:has(input:checked){border-color:var(--lb-brand);background:var(--lb-tint)}
.lb-dep:has(input:focus-visible){outline:2px solid var(--lb-brand);outline-offset:2px}
.lb-dep.is-disabled{cursor:not-allowed;opacity:.5}
.lb-dep-cal{flex:none;width:46px;height:50px;border-radius:var(--pt-r-xs,6px);background:var(--lb-soft);border:1px solid var(--lb-line);color:var(--lb-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;line-height:1.2}
.lb-dep-cal b{font-size:19px;font-weight:700;color:var(--lb-brand)}
.lb-dep:has(input:checked) .lb-dep-cal{background:var(--lb-brand);border-color:var(--lb-brand);color:#fff}
.lb-dep:has(input:checked) .lb-dep-cal b{color:#fff}
.lb-dep-open .lb-dep-cal{font-size:24px;font-weight:300;color:var(--lb-brand)}
.lb-dep-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.45}
.lb-dep-main strong{font-size:14.5px;font-weight:600}
.lb-dep-main small{font-size:12px;color:var(--lb-muted)}
.lb-dep-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.lb-seats{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:var(--pt-r-pill,999px);white-space:nowrap}
.lb-seats.is-open{background:#E6F4EC;color:#1F7A4D}
.lb-seats.is-low{background:#FDECEA;color:#B42318}
.lb-seats.is-full{background:#EEF0F3;color:#6B7280}
.lb-dep-price{font-size:13px;font-weight:700;color:var(--lb-brand)}
.lb-dep-price .woocommerce-Price-currencySymbol{font-size:11px;font-weight:500}

/* Calendar */
.lb-calbox{display:flex;flex-direction:column;gap:8px;border:1px solid var(--lb-line);border-radius:var(--pt-r-md,14px);padding:12px}
.lb-calbox[hidden]{display:none}
.lb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.lb-cal-head strong{font-size:15px;font-weight:700}
.lb-card .lb-cal-head button{all:unset;cursor:pointer;width:34px;height:34px;border-radius:var(--pt-r-xs,6px);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--lb-brand)}
.lb-card .lb-cal-head button:hover{background:var(--lb-tint)}
.lb-card .lb-cal-head button:disabled{color:#C3CAD5;cursor:default;background:none}
.lb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.lb-cal-dow{font-size:11px;color:var(--lb-muted);padding:4px 0}
.lb-card .lb-day{all:unset;box-sizing:border-box;cursor:pointer;height:38px;border-radius:var(--pt-r-xs,6px);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--lb-ink);background:#fff}
.lb-card .lb-day:hover{background:var(--lb-tint)}
.lb-card .lb-day:focus-visible{outline:2px solid var(--lb-brand)}
.lb-card .lb-day.is-off{color:#B8C0CC;text-decoration:line-through;cursor:not-allowed;background:repeating-linear-gradient(135deg,#F5F7FA 0 4px,#fff 4px 8px)}
.lb-card .lb-day.is-in{background:var(--lb-tint);border-radius:0}
.lb-card .lb-day.is-start,.lb-card .lb-day.is-end{background:var(--lb-brand);color:#fff;font-weight:700}
.lb-card .lb-day.is-endable:hover{background:var(--lb-brand);color:#fff}
.lb-cal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--lb-muted);padding-top:6px;border-top:1px solid var(--lb-line)}
.lb-cal-foot .is-error{color:#B42318}
.lb-card .lb-link{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--lb-brand)}
.lb-card .lb-link[hidden]{display:none}
.lb-legend{margin:0;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--lb-muted)}
.lb-legend span{width:12px;height:12px;border-radius:3px;border:1px solid var(--lb-line);display:inline-block}
.lb-legend span+span{margin-inline-start:10px}
.lb-legend .is-off{background:repeating-linear-gradient(135deg,#E3E8EF 0 3px,#fff 3px 6px)}

/* Travellers */
.lb-travelers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.lb-field label{font-size:13px;color:var(--lb-muted);margin:0}
.lb-stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--lb-field);border-radius:var(--pt-r-sm,10px);background:#fff;padding:3px}
.lb-stepper:focus-within{border-color:var(--lb-brand)}
.lb-card .lb-stepper button{all:unset;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--lb-brand);border-radius:var(--pt-r-xs,6px)}
.lb-card .lb-stepper button:hover{background:var(--lb-tint)}
.lb-card .lb-stepper button:disabled{color:#C3CAD5;cursor:default;background:none}
.lb-card .lb-stepper input{all:unset;width:40px;text-align:center;font-size:17px;font-weight:700;color:var(--lb-ink);-moz-appearance:textfield}
.lb-stepper input::-webkit-outer-spin-button,.lb-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lb-policy{margin:-2px 0 0;font-size:12.5px;color:var(--lb-muted)}

/* Summary & actions */
.lb-summary{margin:0;padding:14px 16px;border-radius:var(--pt-r-sm,10px);background:var(--lb-soft);border:1px solid var(--lb-line);display:flex;flex-direction:column;gap:8px;font-size:14px}
.lb-summary div{display:flex;justify-content:space-between;gap:10px}
.lb-summary div[hidden]{display:none}
.lb-summary dt{color:var(--lb-muted);font-weight:400}
.lb-summary dd{margin:0;font-weight:600;text-align:left}
.lb-summary .lb-total{padding-top:10px;margin-top:2px;border-top:1px dashed var(--lb-field)}
.lb-total dt{font-weight:700;color:var(--lb-ink)}
.lb-total dd{font-weight:700;font-size:19px;color:var(--lb-brand)}
.lb-error{margin:0;font-size:13.5px;color:#B42318;background:#FDECEA;padding:9px 12px;border-radius:var(--pt-r-xs,6px)}
.lb-error[hidden]{display:none}
.lb-card .lb-submit,.lb-card .lb-btn,.lb-card .lb-native-cart .single_add_to_cart_button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--lb-brand);color:#fff;border:0;border-radius:var(--pt-r-sm,10px);padding:15px;font:inherit;font-size:16.5px;font-weight:700;cursor:pointer;min-height:0;text-transform:none;letter-spacing:0;line-height:1.3;text-decoration:none}
.lb-card .lb-submit:hover,.lb-card .lb-btn:hover{background:var(--lb-brand-dark);color:#fff}
.lb-card .lb-btn-wa{background:#1F7A4D}
.lb-card .lb-btn-wa:hover{background:#17603C}
.lb-card .lb-btn-line{background:#fff;color:var(--lb-ink);border:1px solid var(--lb-field);font-weight:500}
.lb-card .lb-btn-line:hover{background:#fff;color:var(--lb-brand);border-color:var(--lb-brand)}
.lb-card .lb-alt{display:block;text-align:center;border:1px solid var(--lb-field);color:var(--lb-ink);padding:12px;border-radius:var(--pt-r-sm,10px);font-size:14.5px;text-decoration:none}
.lb-card .lb-alt:hover{border-color:var(--lb-brand);color:var(--lb-brand)}
.lb-secure{margin:-4px 0 0;text-align:center;font-size:12.5px;color:var(--lb-muted)}
.lb-note{margin:0;font-size:14px;color:var(--lb-muted)}
.lb-native-cart form.cart{display:flex;flex-direction:column;gap:12px;margin:0}

/* Admin-only explanation */
.lb-admin-note{margin-bottom:14px;padding:14px 16px;border-radius:var(--pt-r-md,14px);background:#FFF4F2;border:1px solid #F4C7C0;color:#7A1F14;font-size:13.5px;line-height:1.7}
.lb-admin-note ul{margin:6px 0;padding-inline-start:18px}
.lb-admin-note a{font-weight:700;color:#7A1F14}

/* Inline checkout */
.lb-checkout{margin-top:56px;background:#fff;border:1px solid var(--lb-line);border-radius:var(--pt-r-md,14px);padding:32px}
.lb-eyebrow{display:block;font-size:14px;font-weight:600;color:var(--lb-brand);margin-bottom:6px}
.lb-checkout h2{font-size:28px;margin:0 0 10px}
@media (max-width:640px){.lb-checkout{padding:20px}.lb-form,.lb-body{padding:16px}.lb-top{padding:18px}}

.lb-card .lb-day{position:relative;flex-direction:column;line-height:1.1}
.lb-card .lb-day small{font-size:9px;font-weight:700;color:#B42318;line-height:1}
.lb-card .lb-day.is-start small,.lb-card .lb-day.is-end small{color:#fff}
.lb-card .lb-day.is-full{text-decoration:none;color:#B42318;background:#FDECEA;opacity:.8}
.lb-legend .is-full{background:#FDECEA;border-color:#F4C7C0}

/* WoodMart colours every .amount with the primary colour; keep prices readable on the dark header */
.lb-card .lb-top .lb-price,.lb-card .lb-top .lb-price .amount,.lb-card .lb-top .lb-price bdi,.lb-card .lb-top .lb-price ins .amount{color:#fff!important}
.lb-card .lb-top .lb-price .woocommerce-Price-currencySymbol{color:var(--lb-accent)!important}
.lb-card .lb-top>span .amount{color:#fff!important}
.lb-card .lb-top .lb-price del .amount{color:rgba(255,255,255,.6)!important}
