/* All In One Booking Core: front-end styles. Logical properties so RTL works. */
.jbm-box,.jbm-checkout,.jbm-voucher,.jbm-account,.jbm-dashboard{--jbm-accent:#0f766e;--jbm-border:#e5e7eb;--jbm-muted:#6b7280;box-sizing:border-box}
.jbm-box *,.jbm-checkout *,.jbm-voucher *,.jbm-account *,.jbm-dashboard *{box-sizing:border-box}
.jbm-box{border:1px solid var(--jbm-border);border-radius:12px;padding:16px;background:#fff;display:grid;gap:12px}
.jbm-box label,.jbm-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.jbm-box input,.jbm-box select,.jbm-form input,.jbm-form select,.jbm-form textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;background:#fff;color:inherit}
.jbm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jbm-button{display:inline-block;background:var(--jbm-accent);color:#fff;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}
.jbm-button:hover{filter:brightness(1.1)}
.jbm-button[disabled]{opacity:.5;cursor:not-allowed}
.jbm-button-secondary{background:#374151}
.jbm-button-danger{background:#b91c1c}
.jbm-note{color:var(--jbm-muted);font-size:13px;margin:0;font-weight:400}
.jbm-quote{font-size:14px;border-block:1px dashed var(--jbm-border);padding-block:10px;min-height:2.4em}
.jbm-quote.is-error{color:#b91c1c}
.jbm-lines{width:100%;border-collapse:collapse;margin-block:12px}
.jbm-lines td,.jbm-lines th{padding:8px 6px;border-bottom:1px solid var(--jbm-border);text-align:start;vertical-align:top}
.jbm-lines td:last-child,.jbm-lines th:last-child{text-align:end;white-space:nowrap}
.jbm-bookings td:last-child,.jbm-bookings th:last-child{text-align:start}
.jbm-table-wrap{overflow-x:auto}
.jbm-checkout{display:grid;gap:24px}
@media(min-width:900px){.jbm-checkout{grid-template-columns:1fr 1fr;align-items:start}}
.jbm-summary,.jbm-form,.jbm-voucher{border:1px solid var(--jbm-border);border-radius:12px;padding:16px;background:#fff}
.jbm-form{display:grid;gap:12px}
.jbm-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important}
.jbm-check input{width:auto;margin-block-start:4px}
.jbm-hp{position:absolute;inset-inline-start:-9999px;height:0;overflow:hidden}
.jbm-notice{padding:12px 14px;border-radius:8px;margin-block:12px;border:1px solid var(--jbm-border);background:#f9fafb}
.jbm-notice-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.jbm-notice-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.jbm-badge{display:inline-block;background:#e5e7eb;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;margin-inline-end:6px}
.jbm-badge-confirmed,.jbm-badge-completed{background:#d1fae5;color:#065f46}
.jbm-badge-pending,.jbm-badge-requested{background:#fef3c7;color:#92400e}
.jbm-badge-cancelled,.jbm-badge-expired,.jbm-badge-refunded{background:#fee2e2;color:#991b1b}
.jbm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-block:16px}
.jbm-inline{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}
.jbm-account-grid{display:grid;gap:24px}
@media(min-width:800px){.jbm-account-grid{grid-template-columns:1fr 1fr}}
.jbm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-block:12px}
.jbm-card{border:1px solid var(--jbm-border);border-radius:10px;padding:12px;background:#fff}
.jbm-card strong{display:block;font-size:22px}
.jbm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}
.jbm-tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--jbm-border);text-decoration:none;color:inherit}
.jbm-tabs a.is-active{background:var(--jbm-accent);color:#fff;border-color:var(--jbm-accent)}
@media print{
 body *{visibility:hidden}
 .jbm-voucher,.jbm-voucher *{visibility:visible}
 .jbm-voucher{position:absolute;inset:0;border:0}
 .jbm-actions{display:none}
}

/* ---------- v0.8.1: alignment fixes + modern look ---------- */
.jbm-box,.jbm-checkout,.jbm-voucher,.jbm-account,.jbm-dashboard,.jbm-form{--jbm-accent:var(--jbt-brand,#0f766e);--jbm-accent-dark:var(--jbt-brand-dark,#0a5157)}
/* Fields never push out of their box (the date fields were wider than the column). */
.jbm-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.jbm-row>*,.jbm-box>*,.jbm-form>*,.jbm-box label,.jbm-form label{min-width:0}
.jbm-box input,.jbm-box select,.jbm-form input,.jbm-form select,.jbm-form textarea{display:block;max-width:100%;min-width:0;min-height:46px;border-color:#cfd8dc;border-radius:10px;transition:border-color .15s,box-shadow .15s}
.jbm-form textarea{min-height:96px}
.jbm-box input:focus,.jbm-box select:focus,.jbm-form input:focus,.jbm-form select:focus,.jbm-form textarea:focus{outline:0;border-color:var(--jbm-accent);box-shadow:0 0 0 3px rgba(14,107,114,.18)}
.jbm-box label,.jbm-form label{color:#1b2a2f}
.jbm-box{border-radius:16px}
.jbm-quote{background:linear-gradient(135deg,#f0fafa,#fff8ec);border:1px solid #e3eef0;border-radius:12px;padding:12px 14px;text-align:center;font-weight:600}
.jbm-button{background:linear-gradient(135deg,var(--jbm-accent),var(--jbm-accent-dark));border-radius:12px;min-height:48px;padding:12px 20px;box-shadow:0 6px 16px rgba(14,107,114,.25);transition:transform .15s,box-shadow .15s,filter .15s}
.jbm-button:hover{filter:none;transform:translateY(-1px);box-shadow:0 10px 22px rgba(14,107,114,.32);color:#fff}
.jbm-button-secondary{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 6px 16px rgba(51,65,85,.22)}
.jbm-button-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px rgba(185,28,28,.22)}
.jbm-box .jbm-button,.jbm-form>.jbm-button,.jbm-form>button.jbm-button{width:100%}
.jbm-summary,.jbm-form,.jbm-voucher{border-radius:16px;box-shadow:0 6px 22px rgba(20,40,45,.07)}
.jbm-notice{border-radius:12px}
.jbm-notice-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.jbm-notice-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.jbm-notice-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.jbm-card{border-radius:14px;border-top:3px solid var(--jbm-accent);box-shadow:0 4px 14px rgba(20,40,45,.06)}
.jbm-tabs a{transition:background .15s,color .15s}
.jbm-tabs a:hover{background:#f0fafa}
.jbm-tabs a.is-active{background:linear-gradient(135deg,var(--jbm-accent),var(--jbm-accent-dark))}
.jbm-wa-wrap .jbm-whatsapp{width:100%;justify-content:center;box-sizing:border-box}
@media (prefers-reduced-motion:reduce){.jbm-button,.jbm-box input,.jbm-box select{transition:none}.jbm-button:hover{transform:none}}
/* Show / hide password (v0.10.0) */
.jbm-pw{position:relative;display:block}
.jbm-pw input{padding-inline-end:72px!important}
.jbm-pw-toggle{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);background:#eef6f6;border:0;border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;font-weight:700;color:var(--jbm-accent,#0f766e);cursor:pointer}
.jbm-pw-toggle:hover{background:#dcefef}
.jbm-form input[type="file"]{padding:9px;background:#fbfdfd;border-style:dashed}

/* v0.12.1: a button used outside the plugin boxes (for example "Sign in" on the Become a host page) must still be visible */
.jbm-button{--jbm-accent:var(--jbt-brand,#0f766e);--jbm-accent-dark:var(--jbt-brand-dark,#0a5157);background:linear-gradient(135deg,var(--jbm-accent),var(--jbm-accent-dark));color:#fff}
.jbm-button:hover,.jbm-button:focus{color:#fff}

/* v0.12.2: modern host "add property" form (fieldset cards, amenity chips, photo drop area, button row) */
.jbm-form .jbm-fs{border:1px solid var(--jbm-border,#e5e7eb);border-radius:16px;background:#f7fbfb;padding:18px 18px 16px;margin:6px 0;min-width:0}
.jbm-form .jbm-fs>legend{font-weight:800;font-size:15px;color:var(--jbm-accent-dark,#0a5157);background:#fff;border:1px solid var(--jbm-border,#e5e7eb);border-radius:999px;padding:5px 14px;margin-inline-start:2px}
.jbm-form .jbm-chips{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:4px}
.jbm-form label.jbm-chip{display:inline-flex!important;position:relative;font-weight:600;cursor:pointer;margin:0}
.jbm-form .jbm-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;min-height:0;margin:0;cursor:pointer}
.jbm-form .jbm-chip span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid #cfdcde;border-radius:999px;background:#fff;color:#1b2a2f;font-size:14px;line-height:1.2;transition:all .15s}
.jbm-form .jbm-chip span::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid #b7c8ca;background:#fff;flex:none;transition:all .15s}
.jbm-form .jbm-chip:hover span{border-color:var(--jbm-accent,#0f766e);transform:translateY(-1px)}
.jbm-form .jbm-chip input:checked+span{background:linear-gradient(135deg,var(--jbm-accent,#0f766e),var(--jbm-accent-dark,#0a5157));border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(14,107,114,.25)}
.jbm-form .jbm-chip input:checked+span::before{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230a5157' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;border-color:#fff}
.jbm-form .jbm-chip input:focus-visible+span{outline:3px solid rgba(14,107,114,.35);outline-offset:2px}
.jbm-form .jbm-fs input[type="file"]{background:#fff;border:2px dashed #b8cfd2;border-radius:14px;padding:22px 16px;text-align:center;cursor:pointer}
.jbm-form .jbm-fs input[type="file"]:hover{border-color:var(--jbm-accent,#0f766e);background:#f2fafa}
.jbm-form .jbm-photos{display:flex;flex-wrap:wrap;gap:12px;margin-block-end:12px}
.jbm-form .jbm-photo{display:block!important;text-align:center;font-weight:500;font-size:13px}
.jbm-form .jbm-photo img{border-radius:12px;display:block}
.jbm-form .jbm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:8px}
.jbm-form .jbm-actions .jbm-button{flex:1 1 220px;width:auto}
.jbm-form .jbm-actions .jbm-button-secondary,.jbm-form .jbm-actions a.jbm-button{flex:0 1 160px;background:#fff;color:var(--jbm-accent-dark,#0a5157);border:1.5px solid #cfdcde;box-shadow:none}
.jbm-form .jbm-actions a.jbm-button:hover{background:#f2fafa;border-color:var(--jbm-accent,#0f766e);color:var(--jbm-accent-dark,#0a5157);transform:none;box-shadow:none}
.jbm-form textarea{resize:vertical}
/* v0.12.3: "Remove" checkbox under each photo was stretched to a big square */
.jbm-form .jbm-photo{display:flex!important;flex-direction:column;align-items:center;gap:8px;width:150px}
.jbm-form .jbm-photo img{width:150px;height:110px;object-fit:cover}
.jbm-form .jbm-photo br{display:none}
.jbm-form .jbm-photo input[type="checkbox"]{display:inline-block;width:18px;min-width:18px;height:18px;min-height:0;padding:0;margin:0 6px 0 0;vertical-align:middle;accent-color:#b91c1c}
.jbm-form .jbm-photo{border:1px solid var(--jbm-border,#e5e7eb);border-radius:14px;padding:8px;background:#fff}

/* v0.12.4: modern checkout - ID box, tick boxes, payment cards */
.jbm-form label.jbm-check{display:flex!important;flex-direction:row;align-items:flex-start;gap:12px;font-weight:500!important;font-size:14px;line-height:1.5;padding:12px 14px;border:1px solid var(--jbm-border,#e5e7eb);border-radius:12px;background:#f9fcfc;cursor:pointer}
.jbm-form label.jbm-check input[type="checkbox"],.jbm-form label.jbm-check input[type="radio"]{flex:none;width:20px;min-width:20px;height:20px;min-height:0;padding:0;margin:2px 0 0;accent-color:var(--jbm-accent,#0f766e);cursor:pointer}
.jbm-form label.jbm-check:hover{border-color:var(--jbm-accent,#0f766e);background:#f2fafa}
.jbm-form .jbm-idbox{border:1px solid #cfe3e5;border-radius:16px;background:linear-gradient(180deg,#f2fafa,#fff);padding:18px;display:grid;gap:12px;margin-block:6px}
.jbm-form .jbm-idbox h3{margin:0;display:flex;align-items:center;gap:10px}
.jbm-form .jbm-idbox h3::before{content:"";filter:none;flex:none;width:34px;height:34px;border-radius:10px;background:var(--jbm-accent,#0f766e) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z' fill='none' stroke='white' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9 12l2 2 4-4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.jbm-form .jbm-idbox>.jbm-note{margin:0}
.jbm-form .jbm-idbox label.jbm-check{background:#fff}
.jbm-form label.jbm-pay{display:flex!important;flex-direction:row;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid #cfdcde;border-radius:14px;background:#fff;cursor:pointer;font-weight:500;transition:all .15s}
.jbm-form label.jbm-pay input[type="radio"]{flex:none;width:20px;min-width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--jbm-accent,#0f766e)}
.jbm-form label.jbm-pay .jbm-pay-text{display:grid;gap:2px}
.jbm-form label.jbm-pay .jbm-pay-text strong{font-size:15px;color:#1b2a2f}
.jbm-form label.jbm-pay:hover{border-color:var(--jbm-accent,#0f766e)}
.jbm-form label.jbm-pay:has(input:checked){border-color:var(--jbm-accent,#0f766e);background:#f2fafa;box-shadow:0 0 0 3px rgba(14,107,114,.14)}
.jbm-form h3{margin-block:14px 2px;font-size:17px}
