.rmj-booking-widget{position:relative;background:var(--rmj-widget-bg,#fff)!important;color:var(--rmj-text,#111827)!important;border:1px solid var(--rmj-calendar-border,#e5e7eb);border-radius:var(--rmj-radius,18px);padding:var(--rmj-widget-padding,24px);box-shadow:0 10px 30px rgba(0,0,0,.06);max-width:100%;overflow:hidden;box-sizing:border-box}
.rmj-booking-widget,.rmj-booking-widget *{box-sizing:border-box}.rmj-booking-widget{font-size:var(--rmj-body-size,16px);font-family:var(--rmj-body-font-family,inherit)}.rmj-booking-widget button,.rmj-booking-widget input,.rmj-booking-widget select,.rmj-booking-widget textarea{font:inherit}
.rmj-widget-title{margin:0 0 calc(var(--rmj-section-spacing,18px) * .6)!important;color:var(--rmj-widget-title,var(--rmj-heading,#111827))!important;font-size:var(--rmj-widget-title-size,clamp(24px,3vw,32px));font-style:var(--rmj-widget-title-style,normal);line-height:1.2;text-align:center;padding-inline:min(18vw,180px)}.rmj-widget-brand{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(var(--rmj-logo-width,120px),40%);display:flex;align-items:center;justify-content:center;z-index:2}.rmj-widget-brand img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}.rmj-running-total-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--rmj-total-border,#111827);background:var(--rmj-total-bg,#111827);color:var(--rmj-total-text,#fff)}.rmj-running-total-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.rmj-running-total-amount{font-size:clamp(20px,2.4vw,28px);line-height:1;color:var(--rmj-total-value,var(--rmj-total-text,#fff))}
.rmj-booking-widget .rmj-running-total-box .rmj-running-total-label,.rmj-booking-widget .rmj-running-total-box .rmj-running-total-amount{color:var(--rmj-total-text,#2c3338)!important}
.rmj-booking-form{display:flex;flex-direction:column;gap:var(--rmj-section-spacing,22px)}.rmj-step{display:none}.rmj-step.is-active{display:flex;flex-direction:column;gap:var(--rmj-section-spacing,22px)}
.rmj-step-header h4{margin:0 0 6px;font-size:var(--rmj-section-heading-size,clamp(20px,2.4vw,24px));color:var(--rmj-heading,#111827)!important}.rmj-step[data-step="1"] .rmj-step-header h4{font-size:var(--rmj-intro-heading-size,var(--rmj-section-heading-size,clamp(20px,2.4vw,24px)));font-style:var(--rmj-intro-heading-style,normal)}.rmj-step-header p{margin:0;color:var(--rmj-text,#111827)!important;opacity:.82;font-size:var(--rmj-body-size,16px)}.rmj-step[data-step="1"] .rmj-step-header p{font-size:var(--rmj-intro-text-size,var(--rmj-body-size,16px));font-style:var(--rmj-intro-text-style,normal)}
.rmj-grid,.rmj-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rmj-field-gap,14px)}.rmj-grid-span-2{grid-column:span 2}
.rmj-field-group{display:flex;flex-direction:column;gap:8px;min-width:0}.rmj-booking-widget .rmj-field-group label,.rmj-booking-widget label{font-weight:600;color:var(--rmj-label,#374151)!important;font-size:var(--rmj-label-size,15px)}
.rmj-field-group input,.rmj-field-group select,.rmj-field-group textarea{width:100%;min-width:0;background:var(--rmj-field-bg,#fff)!important;border:1px solid var(--rmj-field-border,#d1d5db)!important;color:var(--rmj-field-text,#111827)!important;border-radius:12px;padding:13px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:none!important}.rmj-field-group input::placeholder,.rmj-field-group textarea::placeholder{color:var(--rmj-field-placeholder,#6b7280)!important}.rmj-field-group input:focus,.rmj-field-group select:focus,.rmj-field-group textarea:focus{border-color:var(--rmj-field-focus,#2271b1)!important;box-shadow:0 0 0 3px rgba(34,113,177,.12)!important}
.rmj-button,.rmj-booking-widget .rmj-button,.rmj-booking-widget button.rmj-button{appearance:none;border:none!important;border-radius:12px;padding:14px 18px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease;line-height:1.1;box-shadow:none!important;background-image:none!important;text-decoration:none}
.rmj-button{background:var(--rmj-button-bg,#2271b1)!important;color:var(--rmj-button-text,#fff)!important;margin-top:var(--rmj-button-top-space,14px)}.rmj-button:hover{background:var(--rmj-button-hover,#135e96)!important;color:var(--rmj-button-text-hover,var(--rmj-button-text,#fff))!important;transform:translateY(-1px)}
.rmj-button-secondary{background:var(--rmj-button-secondary-bg,#f6f7f7)!important;color:var(--rmj-button-secondary-text,#111827)!important}.rmj-button-secondary:hover{background:var(--rmj-button-secondary-hover,#f0f0f1)!important;color:var(--rmj-button-secondary-text-hover,var(--rmj-button-secondary-text,#111827))!important}
.rmj-step-actions{display:flex;gap:12px;flex-wrap:wrap}.rmj-step-actions .rmj-button{margin-top:0}.rmj-form-message{font-weight:600}.rmj-form-message.error{color:#b91c1c}.rmj-form-message.success{color:#15803d}
.rmj-inline-calendar{background:var(--rmj-calendar-bg,#fff)!important;border:1px solid var(--rmj-calendar-border,#e5e7eb)!important;border-radius:16px;padding:14px;overflow:hidden}.rmj-calendar-header{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;margin-bottom:12px}.rmj-calendar-title{font-weight:700;text-align:center;color:var(--rmj-calendar-header-text,#111827)!important;min-width:0;font-size:clamp(16px,2vw,18px)}
.rmj-inline-calendar .rmj-calendar-nav{width:46px;height:44px;min-width:46px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:transparent!important;color:var(--rmj-calendar-nav-color,#111827)!important;padding:0;margin:0;border:1px solid var(--rmj-calendar-border,#e5e7eb)!important;position:relative;overflow:hidden}.rmj-inline-calendar .rmj-calendar-nav:hover{background:var(--rmj-calendar-nav-hover-bg,#f3f4f6)!important}.rmj-inline-calendar .rmj-calendar-nav span{font-size:16px;line-height:1;display:block;position:relative;left:0}
.rmj-calendar-weekdays,.rmj-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.rmj-calendar-weekdays{margin-bottom:8px}.rmj-weekday{text-align:center;font-size:12px;font-weight:700;color:var(--rmj-calendar-muted,#9ca3af)!important}
.rmj-inline-calendar .rmj-calendar-day{appearance:none;background-color:var(--rmj-calendar-day-bg,#f8fafc)!important;background-image:none!important;color:var(--rmj-calendar-day-text,#111827)!important;border:1px solid var(--rmj-calendar-border,#e5e7eb)!important;border-radius:12px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0;font-weight:700;box-shadow:none!important;outline:none}.rmj-inline-calendar .rmj-calendar-day span{display:block;line-height:1}.rmj-inline-calendar .rmj-calendar-day:hover{background-color:var(--rmj-calendar-day-hover,#edf4fa)!important;color:var(--rmj-calendar-hover-text,var(--rmj-calendar-day-text,#111827))!important}.rmj-inline-calendar .rmj-calendar-day.is-selected{background-color:var(--rmj-calendar-selected,#2271b1)!important;color:var(--rmj-calendar-selected-text,#fff)!important;border-color:var(--rmj-calendar-selected,#2271b1)!important}.rmj-inline-calendar .rmj-calendar-day.is-empty{visibility:hidden;pointer-events:none}
.rmj-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.rmj-option-card{border:1px solid var(--rmj-card-border,#e5e7eb);background:var(--rmj-card-bg,#fff);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .2s ease,transform .15s ease,background .2s ease,box-shadow .2s ease;min-width:0;box-shadow:0 8px 24px rgba(15,23,42,.05)}.rmj-option-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.10)}.rmj-option-card.is-selected{border-color:var(--rmj-card-selected-border,#3b82f6);background:var(--rmj-card-selected-bg,#eff6ff);box-shadow:0 0 0 2px rgba(34,113,177,.12),0 14px 30px rgba(15,23,42,.10)}
.rmj-option-card{color:var(--rmj-card-text,var(--rmj-text,#111827))!important}.rmj-option-card .rmj-option-title{color:var(--rmj-card-title,var(--rmj-heading,#111827))!important}.rmj-option-card .rmj-option-desc,.rmj-option-card .rmj-option-meta{color:var(--rmj-card-description,var(--rmj-text,#111827))!important;opacity:.88}.rmj-option-card.is-selected{color:var(--rmj-card-selected-text,var(--rmj-text,#111827))!important}.rmj-option-card.is-selected .rmj-option-title{color:var(--rmj-card-selected-title,var(--rmj-heading,#111827))!important}.rmj-option-card.is-selected .rmj-option-desc,.rmj-option-card.is-selected .rmj-option-meta{color:var(--rmj-card-selected-description,var(--rmj-text,#111827))!important;opacity:1}.rmj-option-card.is-selected .rmj-included-label-prefix{color:var(--rmj-included-label-selected,var(--rmj-included-label,#111827))!important}.rmj-option-card.is-selected .rmj-included-label-addon{color:var(--rmj-included-addons-label-selected,var(--rmj-included-addons-label,#111827))!important}.rmj-option-card.is-selected .rmj-included-pill{color:var(--rmj-included-text-selected,var(--rmj-included-text,#111827))!important;background:var(--rmj-included-bg-selected,var(--rmj-included-bg,#f3f4f6))}.rmj-option-card.is-selected .rmj-option-price{color:var(--rmj-card-selected-price,var(--rmj-card-price,#111827))!important;background:var(--rmj-price-selected-bg,var(--rmj-price-bg,rgba(59,130,246,.08)))}.rmj-option-card.is-selected .rmj-hours-pill{color:var(--rmj-hours-selected-text,var(--rmj-hours-text,#111827))!important;background:var(--rmj-hours-selected-bg,var(--rmj-hours-bg,rgba(15,23,42,.06)))}

.rmj-option-thumb{aspect-ratio:16/10;border-radius:14px;background:#f3f4f6;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:8px}.rmj-option-thumb-placeholder:before{content:' ';width:48px;height:48px;border-radius:14px;background:rgba(148,163,184,.25);display:block}.rmj-option-thumb img{width:100%;height:100%;object-fit:contain;display:block}.rmj-option-body{display:flex;flex-direction:column;gap:8px;flex:1}.rmj-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rmj-option-title{font-weight:800;color:var(--rmj-card-title,var(--rmj-heading,#111827))!important;font-size:var(--rmj-card-title-size,16px);line-height:1.3}.rmj-option-price{font-size:var(--rmj-price-size,13px);font-weight:800;color:var(--rmj-card-price,#111827)!important;background:var(--rmj-price-bg,rgba(59,130,246,.08));padding:6px 10px;border-radius:999px;white-space:nowrap}.rmj-option-desc,.rmj-option-meta{font-size:14px;color:var(--rmj-card-description,var(--rmj-text,#111827))!important;opacity:.88;word-break:break-word}.rmj-option-meta{display:flex;flex-wrap:wrap;gap:8px}.rmj-hours-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--rmj-hours-bg,rgba(15,23,42,.06));color:var(--rmj-hours-text,#111827)!important;font-weight:700}.rmj-group-heading{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rmj-heading,#111827)!important;margin:6px 0 2px}.rmj-addon-grid{display:grid;gap:12px}.rmj-addon-group-grid{margin-bottom:6px}
.rmj-overview-box,.rmj-payment-box,.rmj-contract-box{background:var(--rmj-overview-bg,#f8fafc);color:var(--rmj-overview-text,#111827)!important;border-radius:16px;padding:16px;border:1px solid var(--rmj-calendar-border,#e5e7eb)}.rmj-overview-box h5{margin:0 0 10px;font-size:16px}.rmj-overview-content{display:grid;gap:8px}.rmj-overview-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.rmj-contract-details summary{cursor:pointer;font-weight:700;margin-bottom:12px;color:var(--rmj-overview-heading,#111827)!important}.rmj-contract-content{display:grid;gap:12px;max-height:320px;overflow:auto;padding-right:4px}.rmj-payment-options{display:grid;gap:10px;margin-bottom:14px}.rmj-payment-option{appearance:none;border:1px solid var(--rmj-card-border,#e5e7eb)!important;background:var(--rmj-card-bg,#fff)!important;border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;color:var(--rmj-card-title,#111827)!important}.rmj-payment-option.is-selected{border-color:var(--rmj-card-selected-border,#3b82f6)!important;background:var(--rmj-card-selected-bg,#eff6ff)!important;color:var(--rmj-card-selected-title,#111827)!important}.rmj-payment-option-label{font-weight:700}.rmj-payment-note{margin:0;opacity:.8}.rmj-empty-state{padding:18px;border:1px dashed var(--rmj-card-border,#e5e7eb);border-radius:16px;text-align:center;opacity:.8}
@media (max-width:767px){.rmj-booking-widget{padding:min(18px,var(--rmj-widget-padding,24px))}.rmj-grid,.rmj-meta-grid{grid-template-columns:1fr}.rmj-grid-span-2{grid-column:span 1}.rmj-calendar-header{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}.rmj-inline-calendar .rmj-calendar-nav{width:40px;height:40px;min-width:40px;min-height:40px}.rmj-calendar-weekdays,.rmj-calendar-grid{gap:6px}.rmj-inline-calendar .rmj-calendar-day{min-height:42px;font-size:14px}.rmj-step-actions{flex-direction:column}.rmj-step-actions .rmj-button{width:100%}.rmj-card-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rmj-card-grid{grid-template-columns:1fr}.rmj-inline-calendar{padding:10px}.rmj-inline-calendar .rmj-calendar-day{min-height:38px;font-size:13px;border-radius:10px}.rmj-calendar-title{font-size:14px}.rmj-calendar-weekdays,.rmj-calendar-grid{gap:5px}.rmj-widget-title{padding-inline:0;padding-top:40px}.rmj-widget-brand{top:14px;right:14px;width:min(var(--rmj-logo-width,120px),36%)}}

.rmj-package-grid .rmj-group-heading,.rmj-addon-grid .rmj-group-heading{margin:16px 0 10px;font-weight:700;color:var(--rmj-heading)}
.rmj-package-group-grid,.rmj-addon-group-grid{margin-bottom:12px}
.rmj-option-card{position:relative}
.rmj-option-card.is-disabled{pointer-events:none}
.rmj-option-card.is-disabled > :not(.rmj-card-overlay){opacity:.55}
.rmj-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(17,24,39,.72);color:#fff;font-weight:800;border-radius:inherit;z-index:20;text-transform:uppercase;letter-spacing:.04em;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.rmj-contract-item{border:1px solid var(--rmj-card-border);border-radius:14px;padding:16px;margin-bottom:14px;background:var(--rmj-card-bg)}
.rmj-contract-item h5{margin:0 0 10px;color:var(--rmj-heading)}
.rmj-contract-signatures{display:grid;gap:var(--rmj-field-gap)}
.rmj-step-actions{display:flex;gap:12px;flex-wrap:wrap}
.rmj-payment-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;border:1px solid var(--rmj-card-border);border-radius:14px;background:var(--rmj-payment-bg,#fff);margin-bottom:10px;cursor:pointer;color:var(--rmj-payment-text,#111827)}
.rmj-payment-option.is-selected{border-color:var(--rmj-card-selected-border);background:var(--rmj-payment-selected-bg,#eff6ff);color:var(--rmj-payment-selected-text,#111827)}
.rmj-booking-widget .rmj-field-group label{color:var(--rmj-label)!important}
@media (max-width: 767px){.rmj-step-actions .rmj-button{width:100%}.rmj-package-group-grid,.rmj-addon-group-grid,.rmj-service-grid{grid-template-columns:1fr!important}}

.rmj-included-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rmj-included-label{font-size:12px;font-weight:700;color:var(--rmj-card-text,#111827);width:100%;display:flex;align-items:center;gap:4px;margin-bottom:2px}.rmj-included-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--rmj-included-bg,#f3f4f6);border:1px solid rgba(15,23,42,.08);color:var(--rmj-included-text,#111827);font-size:12px;font-weight:600;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.rmj-included-pill:hover{background:#eef2f7;border-color:rgba(99,102,241,.18);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.06)}.rmj-included-pill-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--rmj-progress-active-width,16px);height:16px;border-radius:999px;background:rgba(34,197,94,.12);color:#15803d;font-size:11px;font-weight:800;flex:0 0 16px}.rmj-included-pill-text{display:inline-block}
.rmj-overview-box,.rmj-payment-box,.rmj-contract-box{border:1px solid var(--rmj-overview-border,#e5e7eb)!important}
.rmj-overview-box h5{color:var(--rmj-overview-heading,var(--rmj-overview-text,#111827))!important}
.rmj-addon-grid{display:flex!important;flex-direction:column;gap:18px}
.rmj-addon-group-block{display:flex;flex-direction:column;gap:10px}
.rmj-addon-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rmj-field-group .rmj-invalid,input.rmj-invalid,select.rmj-invalid,textarea.rmj-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}

.rmj-package-group-grid,.rmj-card-grid{align-items:stretch}
.rmj-option-card{height:100%}
.rmj-option-body{height:100%;display:flex;flex-direction:column}
.rmj-option-head{align-items:flex-start;min-height:48px}
.rmj-option-title{display:block}
.rmj-option-desc{display:block;opacity:.9;line-height:1.5;white-space:normal;overflow:visible;flex:1}
.rmj-option-price{align-self:flex-start}
.rmj-included-list{margin-top:auto;padding-top:6px}
.rmj-package-group-grid .rmj-option-card,.rmj-addon-group-grid .rmj-option-card{display:flex}
.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{flex-shrink:0}

.rmj-service-grid .rmj-option-card{padding:12px 12px 10px}.rmj-service-grid .rmj-option-body{gap:6px}.rmj-service-grid .rmj-option-head{min-height:0}.rmj-service-grid .rmj-option-desc{flex:0;line-height:1.45}.rmj-service-grid .rmj-option-body > *:last-child{margin-bottom:0}
.rmj-service-grid .rmj-option-thumb{height:240px}
.rmj-service-grid .rmj-option-card{padding:12px}.rmj-service-grid .rmj-option-body{gap:4px}.rmj-service-grid .rmj-option-desc{margin-bottom:0}

.rmj-package-group-grid .rmj-option-card,.rmj-addon-group-grid .rmj-option-card{height:100%}
.rmj-package-group-grid .rmj-option-body,.rmj-addon-group-grid .rmj-option-body{display:flex;flex-direction:column;height:100%}
.rmj-option-foot{margin-top:auto;display:grid;gap:10px;padding-top:8px}
.rmj-package-group-grid .rmj-option-desc{min-height:84px}
.rmj-hours-row{min-height:34px;display:flex;align-items:center}
.rmj-hours-row.is-empty{visibility:hidden}
.rmj-included-list{min-height:58px;align-content:flex-start}
.rmj-included-list.is-empty{opacity:.65}
.rmj-included-pill-placeholder{background:rgba(148,163,184,.12)!important;color:var(--rmj-text,#111827)!important}
.rmj-addon-grid .rmj-group-heading{margin:0 0 8px}
.rmj-addon-group-block{padding:14px 0;border-top:1px solid rgba(148,163,184,.16)}
.rmj-addon-group-block:first-child{padding-top:0;border-top:0}

.rmj-service-grid .rmj-option-thumb,.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:220px;padding:0;background:#fff}
.rmj-service-grid .rmj-option-thumb img,.rmj-package-group-grid .rmj-option-thumb img,.rmj-addon-group-grid .rmj-option-thumb img{object-fit:contain;width:100%;height:100%}
.rmj-service-grid .rmj-option-card{padding:12px}.rmj-service-grid .rmj-option-body{justify-content:flex-start;gap:6px}.rmj-service-grid .rmj-option-head{min-height:0}.rmj-service-grid .rmj-option-title{min-height:42px;display:flex;align-items:flex-start}.rmj-service-grid .rmj-option-price{margin-top:2px}
.rmj-package-group-grid .rmj-option-card,.rmj-addon-group-grid .rmj-option-card{display:flex;flex-direction:column}.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:240px}.rmj-package-group-grid .rmj-option-body,.rmj-addon-group-grid .rmj-option-body{display:flex;flex-direction:column;min-height:230px}.rmj-package-group-grid .rmj-option-desc{min-height:96px}.rmj-package-group-grid .rmj-option-foot{margin-top:auto}.rmj-included-list.is-empty{min-height:0;opacity:1}
@media (max-width:767px){.rmj-running-total-box{padding:12px 14px}.rmj-service-grid .rmj-option-thumb,.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:200px}}

.rmj-booking-widget{display:flex;flex-direction:column;gap:var(--rmj-section-spacing,18px)}.rmj-booking-form{display:flex;flex-direction:column;gap:var(--rmj-section-spacing,18px)}
.rmj-running-total-box{order:99;align-self:stretch;max-width:320px;width:100%;margin:0 0 0 auto;padding:10px 12px;border-radius:12px;font-size:14px;display:none}.rmj-running-total-box.is-visible{display:flex}.rmj-running-total-label{font-size:11px}.rmj-running-total-amount{font-size:22px}
.rmj-option-thumb{height:220px;aspect-ratio:auto;padding:0}.rmj-option-thumb img{object-fit:cover;width:100%;height:100%}.rmj-service-grid .rmj-option-thumb,.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:220px}.rmj-service-grid .rmj-option-thumb img,.rmj-package-group-grid .rmj-option-thumb img,.rmj-addon-group-grid .rmj-option-thumb img{object-fit:cover;width:100%;height:100%}
.rmj-option-card{display:flex;flex-direction:column;height:100%}.rmj-option-body{display:flex;flex-direction:column;flex:1}.rmj-option-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.rmj-option-desc:empty,.rmj-included-list:empty{display:none}
.rmj-service-card .rmj-option-body{gap:10px}.rmj-service-card .rmj-option-head{justify-content:center}.rmj-service-card .rmj-option-title{text-align:center;width:100%}
.rmj-package-card .rmj-option-head,.rmj-addon-card .rmj-option-head{align-items:flex-start}.rmj-package-card .rmj-hours-row{order:0;min-height:auto;margin-top:-2px}.rmj-package-card .rmj-option-desc{order:1}.rmj-package-card .rmj-option-foot{order:2}.rmj-package-card .rmj-option-price{align-self:flex-start}
@media (max-width:767px){.rmj-option-thumb,.rmj-service-grid .rmj-option-thumb,.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:190px}.rmj-running-total-box{max-width:none;margin-left:0}}

.rmj-step-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.rmj-step-actions .rmj-running-total-box{order:0;flex:0 1 260px;min-width:220px;max-width:300px;width:auto;margin:0 auto 0 0;align-self:center}
.rmj-step-actions .rmj-button{order:1}
.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:300px}
.rmj-package-group-grid .rmj-option-thumb img,.rmj-addon-group-grid .rmj-option-thumb img{object-fit:cover;width:100%;height:100%}
@media (max-width:767px){.rmj-step-actions{align-items:stretch}.rmj-step-actions .rmj-running-total-box{flex:1 1 100%;max-width:none;margin:0 0 8px 0}.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:230px}}

.rmj-service-grid .rmj-option-thumb,.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:260px}
.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:340px}
.rmj-service-grid .rmj-option-thumb img,.rmj-package-group-grid .rmj-option-thumb img,.rmj-addon-group-grid .rmj-option-thumb img{object-fit:cover;image-rendering:auto}
.rmj-service-card .rmj-option-title{justify-content:center;text-align:center;align-items:center}
@media (max-width:767px){.rmj-service-grid .rmj-option-thumb{height:220px}.rmj-package-group-grid .rmj-option-thumb,.rmj-addon-group-grid .rmj-option-thumb{height:260px}}

.rmj-widget-brand{position:relative;top:auto;right:auto;left:auto;width:min(var(--rmj-logo-width,120px),42%);margin:0 auto;justify-content:center}
.rmj-widget-title{padding-top:0!important}
.rmj-calendar-day.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.rmj-service-grid .rmj-option-card{padding:0 0 12px;overflow:hidden}
.rmj-service-grid .rmj-option-thumb{margin:0;width:100%;border-radius:0 0 14px 14px;height:260px}
.rmj-service-grid .rmj-option-body{padding:0 14px}
.rmj-service-grid .rmj-option-head{justify-content:center}
.rmj-service-grid .rmj-option-title{text-align:center;width:100%}
.rmj-addon-card .rmj-option-body{gap:6px}
.rmj-addon-card .rmj-option-desc:empty,.rmj-addon-card .rmj-option-desc:has(+ .rmj-option-foot:empty){display:none}
.rmj-addon-card .rmj-option-foot:empty{display:none}
.rmj-addon-card .rmj-option-body{min-height:auto}
.rmj-package-card .rmj-included-label{color:var(--rmj-included-label,#111827)!important;font-size:var(--rmj-included-size,12px);font-weight:700}
.rmj-package-card .rmj-included-pill{background:var(--rmj-included-bg,#f3f4f6)!important;color:var(--rmj-included-text,#111827)!important;font-size:var(--rmj-included-size,12px)}.rmj-package-card .rmj-included-pill-icon{font-size:calc(var(--rmj-included-size,12px) - 1px)}
.rmj-contract-item{border:1px solid var(--rmj-overview-border,#e5e7eb);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}
.rmj-contract-item summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--rmj-heading,#111827)}
.rmj-contract-item summary::-webkit-details-marker{display:none}
.rmj-contract-inner{padding:0 16px 16px}
@media (max-width:520px){.rmj-widget-brand{width:min(var(--rmj-logo-width,120px),60%)}}

.rmj-service-card{border-radius:18px 18px 0 0}.rmj-service-card .rmj-option-thumb{border-radius:18px 18px 0 0}.rmj-addon-group-grid{margin-bottom:12px}.rmj-group-heading{margin:0 0 10px;font-weight:700;color:var(--rmj-heading,#111827)}

.rmj-widget-brand{text-align:center;display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto}.rmj-widget-brand img{display:block;margin:0 auto;width:var(--rmj-logo-width,120px);max-width:100%;height:auto}.rmj-running-total-box{align-self:center}.rmj-step[data-step=1] .rmj-running-total-box{display:none!important}

.rmj-widget-brand{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
}
.rmj-widget-brand img{
  width:var(--rmj-logo-width,120px)!important;
  max-width:min(100%, var(--rmj-logo-width,120px))!important;
}
.rmj-addon-group-wrap{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid transparent;
  border-radius:16px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.rmj-addon-group-wrap.rmj-group-invalid{
  border-color:#dc2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.08);
  background:rgba(254,242,242,.65);
}
.rmj-group-heading .rmj-group-error{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.4;
  color:#b91c1c!important;
  font-weight:600;
  text-transform:none;
  letter-spacing:normal;
}

.rmj-step[data-step="1"] .rmj-step-header{background:linear-gradient(180deg,rgba(59,130,246,.06),rgba(59,130,246,0));border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:16px;padding:18px 18px 14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.rmj-step[data-step="1"] .rmj-step-header h4{margin-bottom:6px}
.rmj-overview-box{background:linear-gradient(180deg,var(--rmj-overview-bg,#f8fafc),#fff);border:1px solid var(--rmj-overview-border,#e5e7eb)!important;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.rmj-overview-box h5{color:var(--rmj-overview-heading,#111827)!important;font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}
.rmj-overview-content{display:grid;gap:10px}
.rmj-overview-line{padding:10px 12px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.72);border-radius:12px;align-items:center}
.rmj-overview-line span{font-weight:600;color:var(--rmj-overview-text,#111827)!important;opacity:.8}
.rmj-overview-line strong{color:var(--rmj-overview-text,#111827)!important}

.rmj-step-header{text-align:center;}
.rmj-widget-brand{display:flex;justify-content:center;}
.rmj-lead-capture-field{margin-top:12px;}

.rmj-global-form-message{margin:0 0 16px 0; display:block;}
.rmj-global-form-message.error{display:block;}
.rmj-global-form-message.success{display:block;}

.rmj-step[data-step="1"] .rmj-step-header{
  background: var(--rmj-calendar-bg,#fff);
  border:1px solid var(--rmj-calendar-border,#e5e7eb);
  border-radius:16px;
  padding:18px;
}
.rmj-coupon-box{margin-top:14px;padding:16px;border:1px solid var(--rmj-field-border,#e5e7eb);border-radius:16px;background:var(--rmj-field-bg,#fff)}
.rmj-coupon-row{display:flex;gap:10px;align-items:center}
.rmj-coupon-row input{flex:1}
.rmj-coupon-message{margin-top:8px;font-size:14px}
.rmj-coupon-message.error{color:#b91c1c}
.rmj-coupon-message.success{color:#15803d}
.rmj-coupon-message.info{color:#2563eb}
.rmj-time-slot-help{margin-top:6px;font-size:12px;color:var(--rmj-text,#6b7280)}
.rmj-option-price-wrap{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.rmj-package-card .rmj-option-head{align-items:flex-start}
.rmj-package-card .rmj-hours-pill{margin:0}

.rmj-coupon-box label{color:var(--rmj-coupon-label,#374151)!important}
.rmj-coupon-row input{color:var(--rmj-coupon-text,#111827)!important}
.rmj-coupon-row input::placeholder{color:var(--rmj-coupon-placeholder,#6b7280)!important;opacity:1}
.rmj-package-card .rmj-option-head{align-items:center}
.rmj-package-card .rmj-option-price-wrap{justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap;gap:8px}
.rmj-package-card .rmj-hours-pill{font-size:11px;line-height:1.1;padding:5px 8px;flex:0 0 auto}
@media (max-width: 767px){
  .rmj-package-card .rmj-option-head{align-items:flex-start}
  .rmj-package-card .rmj-option-price-wrap{flex-wrap:wrap}
}

.rmj-option-price,
.rmj-hours-pill{
    font-size:13px !important;
    line-height:1.1 !important;
    padding:6px 12px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
}

.rmj-option-price-wrap{
    display:flex;
    align-items:center !important;
    gap:8px !important;
}

.rmj-option-price{
    min-height:unset !important;
}

.rmj-option-card .rmj-option-content{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.rmj-option-card .rmj-option-meta{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rmj-option-card .rmj-option-title{
  display:block;
  width:100%;
}
.rmj-option-card .rmj-option-price-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  flex-wrap:wrap;
}
.rmj-option-card .rmj-hours-pill,
.rmj-option-card .rmj-option-price{
  display:inline-flex;
  align-items:center;
}
@media (max-width: 767px){
  .rmj-option-card .rmj-option-price-wrap{
    gap:6px;
  }
}

.rmj-option-card .rmj-option-meta{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rmj-option-card .rmj-option-title{
  display:block;
  width:100%;
  margin-bottom:0 !important;
}
.rmj-option-card .rmj-option-price-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
}
.rmj-option-card .rmj-hours-pill{
  margin-right:auto !important;
  flex:0 1 auto !important;
  white-space:nowrap !important;
}
.rmj-option-card .rmj-option-price{
  margin-left:auto !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
@media (max-width: 767px){
  .rmj-option-card .rmj-option-price-wrap{
    gap:8px !important;
  }
}

.rmj-payment-methods{display:grid;gap:10px;margin:0 0 14px}
.rmj-payment-method-option{appearance:none;border:1px solid var(--rmj-card-border,#e5e7eb);background:var(--rmj-card-bg,#fff);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--rmj-card-title,#111827);font-weight:700}
.rmj-payment-method-option.is-selected{border-color:var(--rmj-card-selected-border,#3b82f6);background:var(--rmj-card-selected-bg,#eff6ff);color:var(--rmj-card-selected-title,#111827)}
.rmj-payment-method-empty{padding:12px 14px;border:1px dashed var(--rmj-card-border,#d1d5db);border-radius:12px;color:var(--rmj-text,#374151);background:#fff}

.rmj-square-payment-wrap{display:none;margin:12px 0 16px;padding:14px;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:14px;background:#fff}
.rmj-square-card-container{min-height:90px}
.rmj-square-card-errors{margin-top:10px;color:#b91c1c;font-size:14px;line-height:1.4}
.rmj-button[disabled]{opacity:.65;cursor:not-allowed}

.rmj-booking-widget .rmj-step-header h4,
.rmj-booking-widget .rmj-step-header h5,
.rmj-booking-widget .rmj-option-title,
.rmj-booking-widget .rmj-group-heading,
.rmj-booking-widget .rmj-overview-box h5,
.rmj-booking-widget .rmj-contract-item summary,
.rmj-booking-widget .rmj-running-total-label,
.rmj-booking-widget .rmj-running-total-amount{
  font-family:var(--rmj-heading-font-family,var(--rmj-body-font-family,inherit));
}
.rmj-booking-widget .rmj-step-header,
.rmj-booking-widget .rmj-overview-box,
.rmj-booking-widget .rmj-coupon-box,
.rmj-booking-widget .rmj-contract-item,
.rmj-booking-widget .rmj-payment-box,
.rmj-booking-widget .rmj-running-total-box{
  margin:0;
}
.rmj-step[data-step="1"] .rmj-step-header{
  margin-top:0;
}
.rmj-global-form-message{margin:0 0 calc(var(--rmj-section-spacing,18px) * .7) 0; display:block;}
.rmj-lead-capture-field{margin-top:calc(var(--rmj-section-spacing,18px) * .55);}
.rmj-coupon-box{margin-top:calc(var(--rmj-section-spacing,18px) * .65);}
.rmj-addon-group-grid{margin-bottom:calc(var(--rmj-section-spacing,18px) * .55);}
.rmj-group-heading{margin:0 0 calc(var(--rmj-section-spacing,18px) * .45);}

.rmj-service-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.rmj-service-grid .rmj-option-card{
  height:100%;
}
.rmj-service-grid .rmj-option-body{
  flex:1;
  padding:0 14px;
}
.rmj-service-grid .rmj-option-title{
  min-height:48px;
  justify-content:center;
}
.rmj-service-grid .rmj-option-desc{
  min-height:66px;
}
@media (max-width: 1100px){
  .rmj-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px){
  .rmj-service-grid{
    grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,var(--rmj-public-gallery-columns-mobile,2)),minmax(0,1fr))!important;
    gap:14px;
  }
  .rmj-service-grid .rmj-option-title,
  .rmj-service-grid .rmj-option-desc{
    min-height:0;
  }
}

.rmj-service-grid .rmj-option-card{
  height:auto;
  align-self:start;
}
.rmj-service-grid .rmj-option-body{
  flex:0 0 auto;
  padding:10px 14px 0;
  gap:0;
}
.rmj-service-grid .rmj-option-head{
  min-height:0;
  align-items:center;
  justify-content:center;
}
.rmj-service-grid .rmj-option-title{
  min-height:0 !important;
  margin:0;
  padding:0;
  line-height:1.25;
  align-items:center;
  justify-content:center;
}
.rmj-service-grid .rmj-option-price-wrap{
  margin-top:6px;
}

.rmj-step-header{
  background: var(--rmj-calendar-bg,#fff);
  border:1px solid var(--rmj-calendar-border,#e5e7eb);
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.rmj-step-header h4{
  margin:0 0 6px;
}
.rmj-step-header p{
  margin:0;
}
.rmj-step > .rmj-step-header + *{
  margin-top:0;
}
@media (max-width:767px){
  .rmj-step-header{padding:16px;}
}

.rmj-coupon-row input,.rmj-booking-widget .rmj-coupon-input{
  text-align:left !important;
  padding-left:0 !important;
  margin-left:0 !important;
  text-indent:0 !important;
}
.rmj-coupon-row input::placeholder,.rmj-booking-widget .rmj-coupon-input::placeholder{
  text-align:left !important;
  text-indent:0 !important;
}

.rmj-payment-box{display:grid;gap:14px}.rmj-payment-methods:empty{display:none}.rmj-payment-options{margin-bottom:0}.rmj-payment-option{min-height:54px;box-shadow:none;transition:border-color .2s ease,background .2s ease,transform .15s ease}.rmj-payment-option:hover{transform:translateY(-1px)}.rmj-payment-option-label{font-weight:800}.rmj-square-payment-wrap{display:none;margin:0;padding:16px;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:16px;background:#fff}.rmj-cardholder-field{display:grid;gap:8px;margin-bottom:10px}.rmj-cardholder-field label{font-size:14px;font-weight:700;color:var(--rmj-heading,#111827)!important;margin:0}.rmj-cardholder-field input,.rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name,.rmj-step[data-step="7"] .rmj-cardholder-name{display:block!important;width:100%!important;box-sizing:border-box!important;min-height:50px!important;height:50px!important;line-height:50px!important;padding:0 16px!important;border:1px solid var(--rmj-card-border,#d1d5db)!important;border-radius:12px!important;background:#fff!important;background-image:none!important;color:var(--rmj-text,#111827)!important;text-align:left!important;text-indent:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;outline:none}.rmj-cardholder-field input::placeholder,.rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name::placeholder{text-align:left!important;color:#6b7280;opacity:1}.rmj-cardholder-field input:focus,.rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name:focus{border-color:#2563eb!important;box-shadow:0 0 0 1px #2563eb!important}.rmj-square-card-shell{padding:0 0 6px;border:0;background:transparent;box-shadow:none}.rmj-square-card-container{min-height:auto;height:auto;display:block;overflow:visible;padding-bottom:0}.rmj-square-card-container>*{width:100%}.rmj-square-card-container iframe,.rmj-square-card-container>div,.rmj-square-card-container [class*="sq-"],.rmj-square-card-container [class*="card"]{min-height:44px!important;height:44px!important}.rmj-square-card-container input,.rmj-square-card-container [placeholder]{line-height:44px!important}.rmj-square-card-container [class*="message"],.rmj-square-card-container [class*="error"],.rmj-square-card-container [role="alert"],.rmj-square-card-container [aria-live]{margin-top:4px!important;margin-bottom:8px!important;padding-bottom:0!important;line-height:1.35!important}.rmj-square-card-errors{margin-top:10px;color:#b91c1c;font-size:14px;line-height:1.4}.rmj-step[data-step="7"] .rmj-payment-methods{display:none!important}.rmj-step[data-step="7"] .rmj-payment-note{margin-top:2px}.rmj-step[data-step="7"] .rmj-payment-total{white-space:nowrap}@media (max-width:767px){.rmj-payment-option{padding:14px}.rmj-square-payment-wrap{padding:14px}.rmj-cardholder-field input{min-height:48px}.rmj-square-card-shell{padding:2px 0 8px}.rmj-square-card-container,.rmj-square-card-container iframe,.rmj-square-card-container>div,.rmj-square-card-container [class*="sq-"],.rmj-square-card-container [class*="card"]{min-height:50px!important;height:50px!important}.rmj-square-card-container>div,.rmj-square-card-container [class*="sq-"],.rmj-square-card-container [class*="card"],.rmj-square-card-container div[data-testid]{display:flex!important;align-items:center!important}}

.rmj-step[data-step="7"] .rmj-payment-note{color:var(--rmj-muted,#6b7280)}
.rmj-square-card-container iframe,.rmj-square-card-container div[data-testid]{min-height:44px!important;height:44px!important;}

.rmj-payment-card-meta-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px;margin-bottom:10px}
@media (max-width: 767px){.rmj-payment-card-meta-grid{grid-template-columns:1fr}}

@media (max-width:767px){
  .rmj-step-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .rmj-step-actions .rmj-running-total-box,
  .rmj-step-actions .rmj-button,
  .rmj-step-actions .rmj-button-secondary{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:1 1 100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  .rmj-step-actions .rmj-running-total-box{justify-content:space-between}
  .rmj-square-payment-wrap{overflow:visible;padding:12px}
  .rmj-square-card-shell{overflow:visible;padding:0 0 6px}
  .rmj-square-card-container{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
  .rmj-square-card-container iframe,
  .rmj-square-card-container > div,
  .rmj-square-card-container [class*="sq-"],
  .rmj-square-card-container [class*="card"],
  .rmj-square-card-container div[data-testid]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:520px){
  .rmj-square-payment-wrap{padding:10px}
  .rmj-cardholder-field input,
  .rmj-cardholder-zip-wrap input,
  .rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name,
  .rmj-booking-widget .rmj-cardholder-zip-wrap .rmj-cardholder-zip{
    min-height:46px!important;
    height:46px!important;
    line-height:46px!important;
    padding:0 12px!important;
  }
  .rmj-square-card-shell{padding:2px 0 8px!important;}
  .rmj-square-card-container{
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  .rmj-square-card-container iframe,
  .rmj-square-card-container > div,
  .rmj-square-card-container [class*="sq-"],
  .rmj-square-card-container [class*="card"],
  .rmj-square-card-container div[data-testid]{
    min-height:54px!important;
    height:54px!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .rmj-square-card-container [class*="message"],
  .rmj-square-card-container [class*="error"],
  .rmj-square-card-container [role="alert"],
  .rmj-square-card-container [aria-live]{
    margin-top:6px!important;
    margin-bottom:4px!important;
    line-height:1.35!important;
  }
}

@media (max-width:520px){
  .rmj-square-payment-wrap{padding:10px!important;}
  .rmj-square-card-shell{padding:2px 0 8px!important;}
  .rmj-square-card-container{padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;}
}

@media (max-width:767px){
  .rmj-square-payment-wrap,
  .rmj-square-card-shell{
    overflow: visible !important;
  }

  .rmj-square-card-shell{
    padding: 4px 0 10px !important;
  }

  .rmj-square-card-container{
    min-height: 88px !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    display: block !important;
  }

  .rmj-square-card-container iframe,
  .rmj-square-card-container > div,
  .rmj-square-card-container [class*="sq-"],
  .rmj-square-card-container [class*="card"],
  .rmj-square-card-container div[data-testid]{
    min-height: 88px !important;
    height: 88px !important;
    overflow: visible !important;
    display: block !important;
  }

  .rmj-square-card-container input,
  .rmj-square-card-container [placeholder]{
    line-height: normal !important;
  }

  .rmj-square-card-container [class*="message"],
  .rmj-square-card-container [class*="error"],
  .rmj-square-card-container [role="alert"],
  .rmj-square-card-container [aria-live]{
    margin-top: 6px !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  .rmj-square-payment-wrap,
  .rmj-square-card-shell,
  .rmj-square-card-container{
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .rmj-square-card-shell{
    padding: 0 !important;
  }

  .rmj-square-card-container{
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .rmj-square-card-container iframe,
  .rmj-square-card-container > div,
  .rmj-square-card-container [class*="sq-"],
  .rmj-square-card-container [class*="card"],
  .rmj-square-card-container div[data-testid]{
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .rmj-square-card-container [class*="message"],
  .rmj-square-card-container [class*="error"],
  .rmj-square-card-container [role="alert"],
  .rmj-square-card-container [aria-live]{
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

.rmj-step[data-step="7"] .rmj-square-payment-wrap{
  overflow: visible;
}

.rmj-step[data-step="7"] .rmj-square-card-shell{
  padding: 0 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.rmj-step[data-step="7"] .rmj-square-card-container{
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  display: block !important;
}

.rmj-step[data-step="7"] .rmj-square-card-container iframe,
.rmj-step[data-step="7"] .rmj-square-card-container > div,
.rmj-step[data-step="7"] .rmj-square-card-container [class*="sq-"],
.rmj-step[data-step="7"] .rmj-square-card-container [class*="card"],
.rmj-step[data-step="7"] .rmj-square-card-container div[data-testid]{
  min-height: 44px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.rmj-step[data-step="7"] .rmj-square-card-container [class*="message"],
.rmj-step[data-step="7"] .rmj-square-card-container [class*="error"],
.rmj-step[data-step="7"] .rmj-square-card-container [role="alert"],
.rmj-step[data-step="7"] .rmj-square-card-container [aria-live]{
  display: block !important;
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  padding-bottom: 2px !important;
  line-height: 1.35 !important;
}

@media (max-width: 767px){
  .rmj-step[data-step="7"] .rmj-square-payment-wrap{
    padding: 12px !important;
  }

  .rmj-step[data-step="7"] .rmj-square-card-shell{
    padding: 0 0 6px !important;
  }

  .rmj-step[data-step="7"] .rmj-square-card-container iframe,
  .rmj-step[data-step="7"] .rmj-square-card-container > div,
  .rmj-step[data-step="7"] .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="7"] .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="7"] .rmj-square-card-container div[data-testid]{
    min-height: 54px !important;
  }

  .rmj-step[data-step="7"] .rmj-square-card-container [class*="message"],
  .rmj-step[data-step="7"] .rmj-square-card-container [class*="error"],
  .rmj-step[data-step="7"] .rmj-square-card-container [role="alert"],
  .rmj-step[data-step="7"] .rmj-square-card-container [aria-live]{
    margin-top: 7px !important;
    padding-bottom: 3px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  .rmj-step[data-step="7"] .rmj-square-card-shell{
    padding-bottom: 4px !important;
  }

  .rmj-step[data-step="7"] .rmj-square-card-container iframe,
  .rmj-step[data-step="7"] .rmj-square-card-container > div,
  .rmj-step[data-step="7"] .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="7"] .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="7"] .rmj-square-card-container div[data-testid]{
    min-height: 46px !important;
  }
}

@media (max-width: 767px){
  .rmj-package-card .rmj-option-head,
  .rmj-package-group-grid .rmj-option-head{
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  .rmj-package-card .rmj-option-meta,
  .rmj-package-group-grid .rmj-option-meta{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .rmj-package-card .rmj-option-title,
  .rmj-package-group-grid .rmj-option-title{
    display: block !important;
    width: 100% !important;
    margin: 0 0 2px 0 !important;
    text-align: left !important;
  }

  .rmj-package-card .rmj-option-price-wrap,
  .rmj-package-group-grid .rmj-option-price-wrap{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    white-space: normal !important;
  }

  .rmj-package-card .rmj-hours-pill,
  .rmj-package-card .rmj-option-price,
  .rmj-package-group-grid .rmj-hours-pill,
  .rmj-package-group-grid .rmj-option-price{
    max-width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

@media (max-width: 767px){
  .rmj-package-card .rmj-option-price-wrap,
  .rmj-package-group-grid .rmj-option-price-wrap{
    align-items: flex-end !important;
    text-align: right !important;
  }

  .rmj-package-card .rmj-hours-pill,
  .rmj-package-card .rmj-option-price,
  .rmj-package-group-grid .rmj-hours-pill,
  .rmj-package-group-grid .rmj-option-price{
    align-self: flex-end !important;
    text-align: right !important;
    margin-left: auto !important;
  }
}

@media (max-width: 767px){
  .rmj-package-card .rmj-hours-pill,
  .rmj-package-group-grid .rmj-hours-pill{
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    padding: 7px 14px !important;
  }
}

@media (max-width: 767px){
  .rmj-addons-grid,
  .rmj-addon-group-grid,
  .rmj-add-on-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .rmj-addon-card,
  .rmj-add-on-card,
  .rmj-addon-option-card,
  .rmj-addons-grid .rmj-option-card,
  .rmj-addon-group-grid .rmj-option-card,
  .rmj-add-on-grid .rmj-option-card{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .rmj-addon-card .rmj-option-inner,
  .rmj-add-on-card .rmj-option-inner,
  .rmj-addon-option-card .rmj-option-inner,
  .rmj-addons-grid .rmj-option-card .rmj-option-inner,
  .rmj-addon-group-grid .rmj-option-card .rmj-option-inner,
  .rmj-add-on-grid .rmj-option-card .rmj-option-inner{
    padding: 14px !important;
  }

  .rmj-step[data-step="4"] .rmj-option-card,
  .rmj-step[data-step="4"] .rmj-addon-card,
  .rmj-step[data-step="4"] .rmj-add-on-card{
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px){
  .rmj-step[data-step="4"] .rmj-addon-grid,
  .rmj-step[data-step="5"] .rmj-addon-grid,
  .rmj-step[data-step="4"] .rmj-addon-group-grid,
  .rmj-step[data-step="5"] .rmj-addon-group-grid,
  .rmj-step[data-step="4"] .rmj-addons-grid,
  .rmj-step[data-step="5"] .rmj-addons-grid{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .rmj-step[data-step="4"] .rmj-addon-group-wrap,
  .rmj-step[data-step="5"] .rmj-addon-group-wrap{
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .rmj-step[data-step="4"] .rmj-addon-grid .rmj-option-card,
  .rmj-step[data-step="5"] .rmj-addon-grid .rmj-option-card,
  .rmj-step[data-step="4"] .rmj-addon-group-grid .rmj-option-card,
  .rmj-step[data-step="5"] .rmj-addon-group-grid .rmj-option-card,
  .rmj-step[data-step="4"] .rmj-addons-grid .rmj-option-card,
  .rmj-step[data-step="5"] .rmj-addons-grid .rmj-option-card{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .rmj-step[data-step="4"] .rmj-addon-grid .rmj-option-body,
  .rmj-step[data-step="5"] .rmj-addon-grid .rmj-option-body,
  .rmj-step[data-step="4"] .rmj-addon-group-grid .rmj-option-body,
  .rmj-step[data-step="5"] .rmj-addon-group-grid .rmj-option-body,
  .rmj-step[data-step="4"] .rmj-addons-grid .rmj-option-body,
  .rmj-step[data-step="5"] .rmj-addons-grid .rmj-option-body{
    padding: 16px !important;
  }
}

@media (max-width: 767px){
  .rmj-package-card .rmj-option-media,
  .rmj-package-group-grid .rmj-package-card .rmj-option-media,
  .rmj-package-card .rmj-option-image-wrap,
  .rmj-package-group-grid .rmj-package-card .rmj-option-image-wrap,
  .rmj-package-card .rmj-card-image-wrap,
  .rmj-package-group-grid .rmj-package-card .rmj-card-image-wrap{
    height: 260px !important;
    min-height: 260px !important;
    overflow: hidden !important;
  }

  .rmj-package-card .rmj-option-media img,
  .rmj-package-group-grid .rmj-package-card .rmj-option-media img,
  .rmj-package-card .rmj-option-image-wrap img,
  .rmj-package-group-grid .rmj-package-card .rmj-option-image-wrap img,
  .rmj-package-card .rmj-card-image-wrap img,
  .rmj-package-group-grid .rmj-package-card .rmj-card-image-wrap img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  .rmj-package-card .rmj-option-head,
  .rmj-package-group-grid .rmj-package-card .rmj-option-head{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
  }

  .rmj-package-card .rmj-option-title,
  .rmj-package-group-grid .rmj-package-card .rmj-option-title{
    margin: 0 !important;
    align-self: center !important;
  }

  .rmj-package-card .rmj-option-price-wrap,
  .rmj-package-group-grid .rmj-package-card .rmj-option-price-wrap{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    margin-left: auto !important;
    text-align: right !important;
  }

  .rmj-package-card .rmj-hours-pill,
  .rmj-package-group-grid .rmj-hours-pill{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-end !important;
    white-space: nowrap !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .rmj-package-card .rmj-option-price,
  .rmj-package-group-grid .rmj-option-price{
    align-self: flex-end !important;
    white-space: nowrap !important;
    text-align: right !important;
    margin: 0 !important;
  }
}

.rmj-category-grid .rmj-category-card{
  padding:0 0 14px !important;
  overflow:hidden !important;
  height:100%;
}
.rmj-category-grid .rmj-category-card .rmj-option-thumb{
  width:100%;
  margin:0;
  padding:0;
  height:340px;
  min-height:340px;
  border-radius:18px 18px 0 0;
  background:#f3f4f6;
}
.rmj-category-grid .rmj-category-card .rmj-option-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.rmj-category-grid .rmj-category-card .rmj-option-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 16px 0;
}
.rmj-category-grid .rmj-category-card .rmj-option-head{
  display:block;
  margin:0;
}
.rmj-category-grid .rmj-category-card .rmj-option-title{
  margin:0;
  padding:0;
  line-height:1.25;
  text-align:left;
}
.rmj-category-grid .rmj-category-card .rmj-option-desc{
  margin:0;
  padding:0;
  line-height:1.55;
}
@media (max-width: 767px){
  .rmj-category-grid .rmj-category-card .rmj-option-thumb{
    height:260px;
    min-height:260px;
  }
  .rmj-category-grid .rmj-category-card .rmj-option-body{
    padding:16px !important;
  }
}

.rmj-category-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;}
.rmj-category-grid .rmj-category-card{padding:0 !important;gap:0 !important;border-radius:18px !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;align-self:stretch !important;}
.rmj-category-grid .rmj-category-card .rmj-option-thumb{width:100% !important;height:240px !important;min-height:240px !important;max-height:240px !important;margin:0 !important;padding:0 !important;border-radius:0 !important;overflow:hidden !important;background:#f3f4f6 !important;}
.rmj-category-grid .rmj-category-card .rmj-option-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;display:block !important;}
.rmj-category-grid .rmj-category-card .rmj-option-body{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:stretch !important;gap:12px !important;padding:20px 16px 16px !important;flex:1 1 auto !important;}
.rmj-category-grid .rmj-category-card .rmj-option-head{display:block !important;margin:0 !important;padding:0 !important;min-height:0 !important;}
.rmj-category-grid .rmj-category-card .rmj-option-title{display:block !important;margin:0 0 10px !important;padding:0 !important;line-height:1.3 !important;text-align:left !important;}
.rmj-category-grid .rmj-category-card .rmj-option-desc{display:block !important;margin:0 !important;padding:0 !important;line-height:1.55 !important;text-align:left !important;}
@media (max-width: 991px){.rmj-category-grid{grid-template-columns:1fr 1fr !important;}}
@media (max-width: 767px){.rmj-category-grid{grid-template-columns:1fr !important;gap:12px !important;}.rmj-category-grid .rmj-category-card .rmj-option-thumb{height:260px !important;min-height:260px !important;max-height:260px !important;}.rmj-category-grid .rmj-category-card .rmj-option-body{padding:18px 16px 16px !important;gap:8px !important;}}

.rmj-category-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(290px, 290px));
  justify-content:start;
  align-items:start;
  gap:22px;
}
.rmj-category-grid .rmj-option-card{
  width:290px;
  max-width:100%;
  min-height:400px;
  height:100%;
  padding:0 0 18px;
  overflow:hidden;
  margin:0;
}
.rmj-category-grid .rmj-option-thumb{
  width:100%;
  height:245px;
  margin:0;
  padding:0;
  aspect-ratio:auto;
  border-radius:18px 18px 0 0;
}
.rmj-category-grid .rmj-option-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rmj-category-grid .rmj-option-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:0 18px;
}
.rmj-category-grid .rmj-option-head{
  align-items:flex-start;
  justify-content:flex-start;
}
.rmj-category-grid .rmj-option-title{
  width:100%;
  text-align:left;
}
.rmj-category-grid .rmj-option-desc{
  margin-top:auto;
}
@media (max-width:1299px){
  .rmj-category-grid{grid-template-columns:repeat(3, minmax(290px, 290px));}
}
@media (max-width:979px){
  .rmj-category-grid{grid-template-columns:repeat(2, minmax(290px, 290px));}
}
@media (max-width:679px){
  .rmj-category-grid{grid-template-columns:minmax(290px, 290px);}
  .rmj-category-grid .rmj-option-card{min-height:380px;}
  .rmj-category-grid .rmj-option-thumb{height:220px;}
}

.rmj-card-grid.rmj-category-grid,
.rmj-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 320px)) !important;
  justify-content:start !important;
  justify-items:start !important;
  align-items:start !important;
  gap:20px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-category-card{
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
  min-height:420px !important;
  margin:0 !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-category-grid .rmj-option-thumb{
  width:100% !important;
  height:238px !important;
  min-height:238px !important;
  max-height:238px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  width:100% !important;
  padding:18px 18px 20px !important;
  gap:12px !important;
}
@media (max-width: 1439px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{
    grid-template-columns:repeat(3, minmax(0, 320px)) !important;
  }
}
@media (max-width: 1099px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{
    grid-template-columns:repeat(2, minmax(0, 320px)) !important;
  }
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{
    grid-template-columns:minmax(0, 1fr) !important;
    justify-content:stretch !important;
    justify-items:stretch !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-category-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:400px !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
  .rmj-category-grid .rmj-option-thumb{
    height:228px !important;
    min-height:228px !important;
    max-height:228px !important;
  }
}

.rmj-card-grid.rmj-category-grid,
.rmj-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4, 320px) !important;
  grid-auto-rows:auto !important;
  justify-content:start !important;
  justify-items:start !important;
  align-items:start !important;
  column-gap:14px !important;
  row-gap:16px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-category-card{
  box-sizing:border-box !important;
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
  margin:0 !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-category-grid .rmj-option-thumb,
.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  box-sizing:border-box !important;
}
@media (max-width: 1439px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{grid-template-columns:repeat(3, 320px) !important;}
}
@media (max-width: 1099px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{grid-template-columns:repeat(2, 320px) !important;}
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{
    grid-template-columns:minmax(0, 1fr) !important;
    column-gap:14px !important;
    row-gap:16px !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-category-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

.rmj-card-grid.rmj-category-grid,
.rmj-category-grid{
  grid-template-columns:repeat(4, 340px) !important;
  column-gap:14px !important;
  row-gap:16px !important;
  justify-content:start !important;
  justify-items:start !important;
  align-items:start !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-category-card{
  width:340px !important;
  min-width:340px !important;
  max-width:340px !important;
  min-height:500px !important;
  height:auto !important;
  overflow:hidden !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-category-grid .rmj-option-thumb{
  width:100% !important;
  height:290px !important;
  min-height:290px !important;
  max-height:290px !important;
  overflow:hidden !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-thumb img,
.rmj-category-grid .rmj-option-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  min-height:210px !important;
  padding:20px 18px 22px !important;
}
@media (max-width: 1439px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{grid-template-columns:repeat(3, 340px) !important;}
}
@media (max-width: 1139px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{grid-template-columns:repeat(2, 340px) !important;}
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-category-grid,
  .rmj-category-grid{grid-template-columns:minmax(0, 1fr) !important; column-gap:14px !important; row-gap:16px !important;}
  .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-category-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:540px !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
  .rmj-category-grid .rmj-option-thumb{
    height:320px !important;
    min-height:250px !important;
    max-height:320px !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-body,
  .rmj-category-grid .rmj-option-body{min-height:220px !important;}
}

.rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-category-card{
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  min-height:0 !important;
  height:auto !important;
  flex:0 0 auto !important;
  padding:20px 18px 16px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-category-grid .rmj-option-desc{
  margin:0 !important;
  padding:0 0 4px !important;
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-option-card,
  .rmj-category-grid .rmj-category-card{
    min-height:0 !important;
    height:auto !important;
  }
  .rmj-card-grid.rmj-category-grid .rmj-option-body,
  .rmj-category-grid .rmj-option-body{
    min-height:0 !important;
    height:auto !important;
    flex:0 0 auto !important;
    padding:18px 16px 14px !important;
  }
}

.rmj-category-card .rmj-card-title { margin-bottom: 12px !important; }

.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  gap:6px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-title,
.rmj-category-grid .rmj-option-title{
  margin:0 0 4px !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-category-grid .rmj-option-desc{
  margin:0 !important;
  padding:0 0 4px !important;
}

.rmj-card-grid.rmj-service-grid,
.rmj-card-grid.rmj-package-group-grid,
.rmj-card-grid.rmj-addon-group-grid{
  display:grid !important;
  grid-auto-rows:auto !important;
  justify-content:start !important;
  justify-items:start !important;
  align-items:start !important;
  grid-template-columns:repeat(4, 340px) !important;
  column-gap:14px !important;
  row-gap:16px !important;
}

.rmj-card-grid.rmj-service-grid .rmj-option-card,
.rmj-card-grid.rmj-package-group-grid .rmj-option-card,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-card{
  width:340px !important;
  min-width:340px !important;
  max-width:340px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  align-self:start !important;
}

.rmj-card-grid.rmj-service-grid .rmj-option-thumb,
.rmj-card-grid.rmj-package-group-grid .rmj-option-thumb,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb,
.rmj-card-grid.rmj-service-grid .rmj-option-body,
.rmj-card-grid.rmj-package-group-grid .rmj-option-body,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-body{
  box-sizing:border-box !important;
}

@media (max-width: 1439px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:repeat(3, 340px) !important;
  }
}

@media (max-width: 1139px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:repeat(2, 340px) !important;
  }
}

@media (max-width: 767px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:minmax(0, 1fr) !important;
    column-gap:14px !important;
    row-gap:16px !important;
    justify-content:stretch !important;
    justify-items:stretch !important;
  }

  .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-card-grid.rmj-package-group-grid .rmj-option-card,
  .rmj-card-grid.rmj-addon-group-grid .rmj-option-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

.rmj-card-grid.rmj-service-grid,
.rmj-card-grid.rmj-package-group-grid,
.rmj-card-grid.rmj-addon-group-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
  align-items:stretch !important;
}
.rmj-card-grid.rmj-service-grid .rmj-option-card,
.rmj-card-grid.rmj-package-group-grid .rmj-option-card,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-card{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.rmj-card-grid.rmj-service-grid .rmj-option-thumb,
.rmj-card-grid.rmj-package-group-grid .rmj-option-thumb,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb,
.rmj-card-grid.rmj-service-grid .rmj-option-thumb img,
.rmj-card-grid.rmj-package-group-grid .rmj-option-thumb img,
.rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb img{
  width:100% !important;
  box-sizing:border-box !important;
}
@media (max-width: 1199px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width: 991px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-service-grid,
  .rmj-card-grid.rmj-package-group-grid,
  .rmj-card-grid.rmj-addon-group-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
}

.rmj-card-grid.rmj-package-group-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
}
@media (max-width: 991px){
  .rmj-card-grid.rmj-package-group-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-package-group-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
}

.rmj-step[data-step="7"] .rmj-payment-summary-lines{display:grid;gap:10px}
.rmj-step[data-step="7"] .rmj-payment-summary-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0}
.rmj-step[data-step="7"] .rmj-square-payment-wrap{padding:18px!important;border:1px solid #dbe3ef!important;border-radius:20px!important;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
.rmj-step[data-step="7"] .rmj-payment-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.rmj-step[data-step="7"] .rmj-payment-panel-copy h5{margin:0 0 6px!important;font-size:18px;font-weight:800;color:var(--rmj-heading,#111827)!important}
.rmj-step[data-step="7"] .rmj-payment-panel-copy p{margin:0!important;font-size:14px;line-height:1.5;color:#64748b!important;max-width:560px}
.rmj-step[data-step="7"] .rmj-payment-security-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;align-self:flex-start;padding:10px 14px;border-radius:999px;background:#eef4ff;border:1px solid #d6e4ff;color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.rmj-step[data-step="7"] .rmj-payment-card-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.rmj-step[data-step="7"] .rmj-payment-card-field{background:#fff;border:1px solid #e5edf7;border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(15,23,42,.03);min-width:0}
.rmj-step[data-step="7"] .rmj-cardholder-panel .rmj-cardholder-field{margin-bottom:0}
.rmj-step[data-step="7"] .rmj-cardholder-panel .rmj-cardholder-field label,.rmj-step[data-step="7"] .rmj-payment-card-label{display:block;margin:0 0 10px!important;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#475569!important}
.rmj-step[data-step="7"] .rmj-payment-card-label{line-height:1.3}
.rmj-step[data-step="7"] .rmj-cardholder-field input,.rmj-step[data-step="7"] .rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name{background:#fbfdff!important;border-color:#d7e0ea!important}
.rmj-step[data-step="7"] .rmj-square-card-shell{padding:0!important}
.rmj-step[data-step="7"] .rmj-square-card-container{background:#fbfdff;border:1px solid #d7e0ea;border-radius:12px;padding:12px 12px 0!important;box-sizing:border-box!important}
.rmj-step[data-step="7"] .rmj-square-card-errors{margin-top:10px;font-size:13px}
@media (max-width: 900px){.rmj-step[data-step="7"] .rmj-payment-card-layout{grid-template-columns:1fr}.rmj-step[data-step="7"] .rmj-payment-panel-head{flex-direction:column;align-items:flex-start}.rmj-step[data-step="7"] .rmj-payment-security-badge{align-self:flex-start}}
@media (max-width: 767px){.rmj-step[data-step="7"] .rmj-square-payment-wrap{padding:14px!important;border-radius:18px!important}.rmj-step[data-step="7"] .rmj-payment-card-field{padding:14px}.rmj-step[data-step="7"] .rmj-payment-panel-copy h5{font-size:17px}.rmj-step[data-step="7"] .rmj-payment-panel-copy p{font-size:13px}.rmj-step[data-step="7"] .rmj-square-card-container{padding:10px 10px 0!important}}

.rmj-step[data-step="7"] .rmj-payment-card-layout{display:flex!important;flex-direction:column!important;gap:12px!important}
.rmj-step[data-step="7"] .rmj-payment-card-field{width:100%!important;padding:14px!important}
.rmj-step[data-step="7"] .rmj-cardholder-panel,.rmj-step[data-step="7"] .rmj-card-details-panel{width:100%!important;min-width:0!important}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container{display:block!important;min-height:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container > *,
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container iframe,
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="card"],
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container div[data-testid]{min-height:56px!important;height:56px!important;max-height:56px!important;box-sizing:border-box!important}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-errors{margin-top:8px!important;margin-bottom:0!important}
@media (max-width:767px){
  .rmj-step[data-step="7"] .rmj-payment-card-layout{gap:10px!important}
  .rmj-step[data-step="7"] .rmj-payment-card-field{padding:12px!important}
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container > *,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container iframe,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container div[data-testid]{min-height:54px!important;height:54px!important;max-height:54px!important}
}

.rmj-step[data-step="7"] .rmj-card-details-panel{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-payment-card-label{
  margin: 0 0 8px !important;
  padding: 0 2px !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{
  display: block !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #d7e0ea !important;
  border-radius: 12px !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 56px !important;
  height: auto !important;
  overflow: visible !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container > *,
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container iframe,
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="card"],
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container div[data-testid]{
  min-height: 56px !important;
  height: 56px !important;
  max-height: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
  overflow: visible !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{
    padding: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container{
    min-height: 86px !important;
    min-width: 320px !important;
  }
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container > *,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container iframe,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container div[data-testid]{
    min-height: 86px !important;
    height: 86px !important;
    min-width: 320px !important;
    display: block !important;
  }
}

@media (max-width: 767px){
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{
    overflow: visible !important;
    padding: 10px !important;
  }
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container{
    min-height: 120px !important;
    height: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container > *,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container iframe,
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container div[data-testid]{
    min-height: 120px !important;
    height: 120px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    display: block !important;
    box-sizing: border-box !important;
  }
}

.rmj-step[data-step="7"] .rmj-card-details-panel{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-payment-card-label{
  margin:0 0 10px !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 0 12px !important;
  margin:0 !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-container{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
.rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-errors,
.rmj-step[data-step="7"] .rmj-card-details-panel [class*="message"],
.rmj-step[data-step="7"] .rmj-card-details-panel [class*="error"],
.rmj-step[data-step="7"] .rmj-card-details-panel [role="alert"],
.rmj-step[data-step="7"] .rmj-card-details-panel [aria-live]{
  margin-top:10px !important;
  padding-top:2px !important;
  line-height:1.45 !important;
  position:relative !important;
  z-index:1 !important;
}
@media (max-width:767px){
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-shell{
    padding-bottom:14px !important;
  }
  .rmj-step[data-step="7"] .rmj-card-details-panel .rmj-square-card-errors,
  .rmj-step[data-step="7"] .rmj-card-details-panel [class*="message"],
  .rmj-step[data-step="7"] .rmj-card-details-panel [class*="error"],
  .rmj-step[data-step="7"] .rmj-card-details-panel [role="alert"],
  .rmj-step[data-step="7"] .rmj-card-details-panel [aria-live]{
    margin-top:12px !important;
  }
}

.rmj-step[data-step="7"] .rmj-payment-security-badge{
  background: var(--rmj-button-bg,#2271b1) !important;
  color: var(--rmj-button-text,#fff) !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}
.rmj-step[data-step="7"] .rmj-payment-panel-copy p{
  max-width: none !important;
}
.rmj-step[data-step="7"] .rmj-payment-summary-lines{
  gap: 4px !important;
}
.rmj-step[data-step="7"] .rmj-payment-summary-line{
  justify-content: flex-start !important;
  gap: 4px !important;
}
.rmj-step[data-step="7"] .rmj-payment-summary-line strong{
  margin-left: 0 !important;
}
.rmj-step[data-step="7"] .rmj-payment-box > p:not(.rmj-payment-note){
  margin: 0 !important;
}
.rmj-step[data-step="7"] .rmj-payment-box > p:not(.rmj-payment-note) strong{
  display: inline-block;
  margin-left: 4px;
}
.rmj-step[data-step="7"] .rmj-payment-box .rmj-payment-summary-lines + p:not(.rmj-payment-note){
  margin-top: 0 !important;
}
.rmj-step[data-step="7"] .rmj-payment-note{
  margin-top: 4px !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="7"] .rmj-payment-panel-head{
    gap: 10px !important;
  }
  .rmj-step[data-step="7"] .rmj-payment-security-badge{
    width: auto !important;
    align-self: flex-start !important;
  }
}

/* Add-on group header + add-on card layouts.
   Single source of truth: slideshow stays active on mobile when selected;
   mobile centering is handled by the slideshow/card sizing rules below. */
.rmj-group-heading-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rmj-addon-scroll-indicator{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--rmj-highlight-bg,rgba(124,58,237,.08));color:var(--rmj-highlight-text,#7c3aed);border:1px solid var(--rmj-highlight-border,transparent);font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
.rmj-addon-scroll-indicator-text{display:inline-block}
.rmj-addon-scroll-indicator-arrows{display:inline-flex;align-items:center;gap:3px}
.rmj-addon-scroll-indicator-arrows i{display:block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.35;animation:rmjAddonIndicatorPulse 1.5s ease-in-out infinite}
.rmj-addon-scroll-indicator-arrows i:nth-child(2){animation-delay:.2s}
.rmj-addon-scroll-indicator-arrows i:nth-child(3){animation-delay:.4s}
@keyframes rmjAddonIndicatorPulse{0%,100%{opacity:.2;transform:translateX(0) rotate(45deg)}50%{opacity:1;transform:translateX(2px) rotate(45deg)}}

.rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow){
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
}
@media (max-width: 991px){
  .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow){grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 767px){
  .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow){grid-template-columns:1fr !important;gap:16px !important;}
}

.rmj-addon-group-wrap.is-slideshow{overflow:hidden;}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding:2px 2px 10px !important;
  scroll-snap-type:none !important;
  scroll-behavior:smooth !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  -webkit-overflow-scrolling:touch !important;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
  justify-content:flex-start !important;
  align-items:stretch !important;
}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important;background:transparent !important;}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow:active,
.rmj-card-grid.rmj-addon-group-grid.is-slideshow.is-dragging{cursor:grabbing;}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow,
.rmj-card-grid.rmj-addon-group-grid.is-slideshow *{-webkit-user-drag:none;}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow.is-dragging *{cursor:grabbing !important;user-select:none !important;}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-card{
  flex:0 0 calc((100% - 32px)/3);
  max-width:calc((100% - 32px)/3);
  scroll-snap-align:none;
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  height:100% !important;
}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-inner,
.rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  height:100% !important;
}
.rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-foot{margin-top:auto !important;}
@media (max-width: 1024px){
  .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-card{flex-basis:calc((100% - 16px)/2);max-width:calc((100% - 16px)/2);}
}
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-slideshow,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-slideshow{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:2px 0 8px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:none !important;
    touch-action:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    justify-content:flex-start !important;
    align-items:stretch !important;
    box-sizing:border-box !important;
  }
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-card,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-card,
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-addon-card,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-addon-card{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-inner,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-inner,
  .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-body,
  .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow .rmj-option-body{
    pointer-events:auto;
  }
}

.rmj-multi-day-toggle-wrap {
  margin: 0 0 14px;
}
.rmj-multi-day-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--rmj-card-border);
  border-radius: 999px;
  background: var(--rmj-card-bg);
  cursor: pointer;
  max-width: 100%;
}
.rmj-multi-day-toggle-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.rmj-multi-day-toggle-slider {
  position: relative;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: #d1d5db;
  flex: 0 0 auto;
  transition: background .2s ease;
}
.rmj-multi-day-toggle-slider::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: transform .2s ease;
}
.rmj-multi-day-toggle-input:checked + .rmj-multi-day-toggle-slider {
  background: var(--rmj-button-bg);
}
.rmj-multi-day-toggle-input:checked + .rmj-multi-day-toggle-slider::after {
  transform: translateX(20px);
}
.rmj-multi-day-toggle-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--rmj-text);
  line-height: 1.2;
  font-family: revert !important;
}
.rmj-multi-day-toggle-text strong {
  font-family: revert !important;
  font-size: var(--rmj-label-size) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-style: normal !important;
}
.rmj-multi-day-toggle-text small {
  color: var(--rmj-label);
  font-size: 12px;
  font-family: revert !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-style: normal !important;
}
@media (max-width: 767px) {
  .rmj-multi-day-toggle {
    width: 100%;
    border-radius: 16px;
    align-items: flex-start;
  }
}

.rmj-admin-mode-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px auto 18px;padding:0;text-align:center}.rmj-admin-mode-label{font-size:14px;font-weight:700;line-height:1.2;color:var(--rmj-heading)}.rmj-admin-mode-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:30px;cursor:pointer;flex:0 0 auto}.rmj-admin-mode-switch .rmj-manual-admin-toggle-input{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;pointer-events:auto;z-index:2}.rmj-admin-mode-switch .rmj-multi-day-toggle-slider{display:block;pointer-events:none}.rmj-admin-mode-switch .rmj-manual-admin-toggle-input:checked + .rmj-multi-day-toggle-slider{background:var(--rmj-button-bg)}.rmj-admin-mode-switch .rmj-manual-admin-toggle-input:checked + .rmj-multi-day-toggle-slider::after{transform:translateX(20px)}.rmj-calendar-controls-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:end;margin-top:14px}.rmj-calendar-controls-row.has-inline-toggle{grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr)}.rmj-calendar-controls-row .rmj-field-group{margin:0}.rmj-multi-day-toggle-field{min-width:0}.rmj-multi-day-toggle-field label:first-child{margin-bottom:0}.rmj-multi-day-toggle-wrap{display:none}.rmj-multi-day-toggle{width:100%;min-height:52px;justify-content:flex-start;border-radius:16px}.rmj-multi-day-toggle-text{min-width:0}.rmj-multi-day-toggle-text strong{display:block}.rmj-multi-day-toggle-text small{display:block}@media (max-width: 767px){.rmj-admin-mode-bar{margin:8px auto 16px}.rmj-calendar-controls-row,.rmj-calendar-controls-row.has-inline-toggle,.rmj-calendar-controls-row.has-multi-day-toggle{grid-template-columns:1fr;gap:12px}.rmj-multi-day-toggle{align-items:center}}

.rmj-lead-capture-grid{display:grid;grid-template-columns:1fr;gap:14px}.rmj-lead-capture-grid.has-phone{grid-template-columns:repeat(2,minmax(0,1fr))}.rmj-lead-capture-grid .rmj-field-group{margin:0}@media (max-width:767px){.rmj-lead-capture-grid.has-phone{grid-template-columns:1fr}}

.rmj-admin-mode-notice{margin:0 0 16px;padding:14px 16px;border:1px solid #dbe7ff;border-radius:14px;background:#f8fbff;color:#1e3a8a;font-weight:600;line-height:1.45;text-align:center}.rmj-admin-mode-active .rmj-payment-box{padding-top:0}.rmj-admin-mode-active .rmj-contract-box{margin-top:0}

.rmj-booking-widget,.rmj-client-portal,.rmj-booking-portal-wrap{scroll-margin-top:24px;}
.rmj-client-portal .rmj-portal-card,.rmj-booking-portal-wrap .rmj-portal-card{animation:rmjFadeUp .26s ease both;}
.rmj-booking-widget .rmj-step-heading h2,.rmj-booking-widget .rmj-step-heading h3,.rmj-client-portal h2,.rmj-client-portal h3{letter-spacing:-.015em;}
.rmj-booking-widget .rmj-step,.rmj-booking-widget .rmj-sidebar-card,.rmj-booking-widget .rmj-option-card,.rmj-client-portal .rmj-portal-card,.rmj-booking-portal-wrap .rmj-portal-card{box-shadow:0 14px 34px rgba(15,23,42,.06);}
.rmj-booking-widget .rmj-step,.rmj-booking-widget .rmj-sidebar-card,.rmj-client-portal .rmj-portal-card,.rmj-booking-portal-wrap .rmj-portal-card{border-color:#e6ebf2;}
.rmj-booking-widget .rmj-button,.rmj-client-portal .rmj-button,.rmj-booking-portal-wrap .rmj-button,.rmj-booking-widget button,.rmj-client-portal button,.rmj-booking-portal-wrap button{transition:background-color .2s ease,color .2s ease,box-shadow .22s ease,transform .15s ease,opacity .2s ease;}
.rmj-booking-widget .rmj-button:hover,.rmj-client-portal .rmj-button:hover,.rmj-booking-portal-wrap .rmj-button:hover,.rmj-booking-widget button:hover,.rmj-client-portal button:hover,.rmj-booking-portal-wrap button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.10);}
.rmj-booking-widget .rmj-button:active,.rmj-client-portal .rmj-button:active,.rmj-booking-portal-wrap .rmj-button:active,.rmj-booking-widget button:active,.rmj-client-portal button:active,.rmj-booking-portal-wrap button:active{transform:translateY(0) scale(.99);}
.rmj-booking-widget .rmj-form-grid,.rmj-booking-widget .rmj-lead-capture-grid,.rmj-client-portal .rmj-form-grid{row-gap:16px;}
.rmj-booking-widget .rmj-field-group input,.rmj-booking-widget .rmj-field-group select,.rmj-booking-widget .rmj-field-group textarea,.rmj-client-portal input,.rmj-client-portal select,.rmj-client-portal textarea,.rmj-booking-portal-wrap input,.rmj-booking-portal-wrap select,.rmj-booking-portal-wrap textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease;}
.rmj-booking-widget .rmj-option-card,.rmj-booking-widget .rmj-payment-option{will-change:transform;}
.rmj-booking-widget .rmj-step-actions,.rmj-client-portal .rmj-portal-actions{position:sticky;bottom:0;padding-top:12px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 35%,rgba(255,255,255,1));z-index:5;}
@keyframes rmjFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:767px){.rmj-booking-widget .rmj-step-actions,.rmj-client-portal .rmj-portal-actions{display:grid;gap:10px;}.rmj-booking-widget .rmj-step-actions .rmj-button,.rmj-client-portal .rmj-portal-actions .rmj-button{width:100%;justify-content:center;}}
@media (prefers-reduced-motion: reduce){.rmj-booking-widget .rmj-step,.rmj-client-portal .rmj-portal-card,.rmj-booking-portal-wrap .rmj-portal-card{animation:none!important;}}

.rmj-step[data-step="1"] .rmj-step-header{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 0 6px !important;
}
.rmj-step[data-step="1"] .rmj-inline-calendar{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.rmj-step[data-step="1"] .rmj-calendar-header,
.rmj-step[data-step="1"] .rmj-calendar-weekdays{
  margin-inline:0;
}
.rmj-step[data-step="1"] .rmj-calendar-controls-row,
.rmj-step[data-step="1"] .rmj-lead-capture{
  margin-top:14px;
}

.rmj-booking-widget .rmj-booking-form,
.rmj-booking-widget .rmj-step[data-step="1"],
.rmj-booking-widget .rmj-step[data-step="1"].is-active{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] > *{
  background-clip: padding-box;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-step-header,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-inline-calendar,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-lead-capture-grid,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-form-message{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-next-step{
  display:block;
  width:100%;
}

.rmj-booking-widget .rmj-booking-form,
.rmj-booking-widget .rmj-step,
.rmj-booking-widget .rmj-step.is-active,
.rmj-booking-widget .rmj-step[data-step],
.rmj-booking-widget .rmj-step[data-step].is-active{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.rmj-booking-widget .rmj-step > .rmj-step-header,
.rmj-booking-widget .rmj-step > .rmj-form-message,
.rmj-booking-widget .rmj-step > .rmj-global-form-message,
.rmj-booking-widget .rmj-step > .rmj-calendar-controls-row,
.rmj-booking-widget .rmj-step > .rmj-lead-capture-grid,
.rmj-booking-widget .rmj-step > .rmj-review-grid,
.rmj-booking-widget .rmj-step > .rmj-form-grid,
.rmj-booking-widget .rmj-step > .rmj-service-grid,
.rmj-booking-widget .rmj-step > .rmj-card-grid,
.rmj-booking-widget .rmj-step > .rmj-overview-grid,
.rmj-booking-widget .rmj-step > .rmj-inline-calendar{
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.rmj-booking-widget .rmj-step .rmj-step-actions{
  margin-top: 18px;
}

.rmj-admin-mode-bar,
.rmj-admin-mode-bar *,
.rmj-admin-mode-bar .rmj-admin-mode-label,
.rmj-admin-mode-switch,
.rmj-admin-mode-switch *{
  font-family: inherit !important;
  font-size: initial !important;
  font-style: normal !important;
  font-weight: initial !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.rmj-admin-mode-label{
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.rmj-admin-mode-switch .rmj-multi-day-toggle-slider,
.rmj-admin-mode-switch .rmj-multi-day-toggle-slider::after{
  font: initial !important;
}
.rmj-card-grid.rmj-category-grid,
.rmj-category-grid{
  align-items:stretch !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-option-card,
.rmj-category-grid .rmj-category-card{
  height:100% !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-category-grid .rmj-option-body{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-category-grid .rmj-option-desc{
  flex:1 1 auto !important;
}
.rmj-service-grid .rmj-option-card,
.rmj-service-card{
  border-radius:18px !important;
  overflow:hidden;
}
.rmj-service-grid .rmj-option-thumb,
.rmj-service-card .rmj-option-thumb{
  border-radius:18px 18px 0 0 !important;
}
.rmj-booking-widget .rmj-option-title,
.rmj-booking-widget .rmj-group-heading{
  line-height:1.3 !important;
  letter-spacing:normal !important;
  text-rendering:optimizeLegibility;
}

.rmj-travel-fee-inline{margin-top:8px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:600;line-height:1.4;display:none}.rmj-travel-fee-inline.is-loading{background:rgba(59,130,246,.08);color:#1d4ed8}.rmj-travel-fee-inline.is-success{background:rgba(16,185,129,.10);color:#065f46}.rmj-travel-fee-inline.is-error{background:rgba(239,68,68,.10);color:#991b1b}

.pac-container{z-index:999999!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(0,0,0,.12)!important;border:1px solid #e5e7eb!important;overflow:hidden!important}
.pac-item{padding:10px 12px!important;font-size:14px!important;line-height:1.4!important}
.pac-item:hover,.pac-item-selected{background:#f8fafc!important}
.rmj-booking-widget,.rmj-booking-widget .rmj-step,.rmj-booking-widget .rmj-field,.rmj-booking-widget .rmj-field-wrap,.rmj-booking-widget .rmj-form-grid{overflow:visible!important}

@media (max-width: 767px){
  .rmj-booking-widget .rmj-step-actions,
  .rmj-client-portal .rmj-portal-actions{
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 10px;
    padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px));
    margin-top: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.96) 22%, rgba(255,255,255,1) 100%);
    z-index: 12;
    box-sizing: border-box;
  }

  .rmj-booking-widget .rmj-step-actions .rmj-running-total-box,
  .rmj-booking-widget .rmj-step-actions .rmj-button,
  .rmj-booking-widget .rmj-step-actions .rmj-button-secondary,
  .rmj-client-portal .rmj-portal-actions .rmj-button,
  .rmj-client-portal .rmj-portal-actions .rmj-button-secondary{
    display: flex;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    justify-content: center;
    box-sizing: border-box;
  }

  .rmj-booking-widget .rmj-step-actions .rmj-running-total-box{
    order: 0;
    align-self: stretch;
    justify-content: space-between;
  }

  .rmj-booking-widget .rmj-step-actions .rmj-prev-step,
  .rmj-client-portal .rmj-portal-actions .rmj-button-secondary{
    order: 1;
  }

  .rmj-booking-widget .rmj-step-actions .rmj-next-step,
  .rmj-booking-widget .rmj-step-actions button[type="submit"],
  .rmj-client-portal .rmj-portal-actions .rmj-button:not(.rmj-button-secondary){
    order: 2;
  }
}

.rmj-stripe-card-shell{padding:0!important;}
.rmj-stripe-zip-wrap{margin-top:12px;}
.rmj-stripe-card-grid{display:grid;gap:12px;}
.rmj-stripe-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.rmj-stripe-field-block{display:grid;gap:8px;min-width:0;}
.rmj-stripe-field-block label{display:block;margin:0!important;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#475569!important;}
.rmj-stripe-card-number,.rmj-stripe-card-expiry,.rmj-stripe-card-cvc{min-height:52px;border:1px solid #d7e0ea;border-radius:12px;background:#fbfdff;padding:14px 16px;box-sizing:border-box;}
.rmj-stripe-card-number .StripeElement,.rmj-stripe-card-expiry .StripeElement,.rmj-stripe-card-cvc .StripeElement,.rmj-stripe-card-number .__PrivateStripeElement,.rmj-stripe-card-expiry .__PrivateStripeElement,.rmj-stripe-card-cvc .__PrivateStripeElement{width:100%!important;}
.rmj-stripe-postal-code{display:block!important;width:100%!important;box-sizing:border-box!important;min-height:50px!important;height:50px!important;line-height:50px!important;padding:0 16px!important;border:1px solid var(--rmj-card-border,#d1d5db)!important;border-radius:12px!important;background:#fff!important;color:var(--rmj-text,#111827)!important;box-shadow:none!important;outline:none;}
.rmj-stripe-postal-code:focus{border-color:#2563eb!important;box-shadow:0 0 0 1px #2563eb!important;}
.rmj-stripe-card-errors{margin-top:10px;color:#b91c1c;font-size:14px;line-height:1.4;}
@media (max-width:767px){.rmj-stripe-field-row{grid-template-columns:1fr;gap:10px;}.rmj-stripe-card-number,.rmj-stripe-card-expiry,.rmj-stripe-card-cvc{min-height:50px;padding:12px 14px;}}

.rmj-paypal-payment-wrap{margin:0;padding:18px;border:1px solid #dbe3ef;border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.rmj-paypal-payment-wrap .rmj-payment-card-layout{display:grid;gap:14px}
.rmj-paypal-payment-wrap .rmj-card-details-panel{padding:16px;border:1px solid var(--rmj-card-border,#dbe3ef);border-radius:16px;background:#fff}
.rmj-paypal-buttons{display:block;width:100%;max-width:760px;margin:0 auto}
.rmj-paypal-buttons iframe{border-radius:14px}
.rmj-paypal-status{margin-top:10px;font-size:14px;line-height:1.45;color:#374151;text-align:left}
@media (min-width:768px){
  .rmj-paypal-payment-wrap .rmj-payment-panel-head{align-items:center}
  .rmj-paypal-payment-wrap .rmj-payment-card-layout{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .rmj-paypal-payment-wrap{padding:14px;border-radius:18px}
  .rmj-paypal-payment-wrap .rmj-card-details-panel{padding:14px}
  .rmj-paypal-buttons{max-width:none}
}

.rmj-portal-paypal-wrap{position:relative;z-index:1;overflow:hidden;padding-top:8px}
.rmj-portal-paypal-buttons{display:block;width:100%;max-width:640px;margin:0 auto;position:relative;z-index:1}
.rmj-portal-paypal-buttons iframe{max-width:100% !important;border-radius:14px}
.rmj-portal-paypal-status{margin-top:10px;color:#374151}
@media (max-width: 767px){
  .rmj-portal-paypal-wrap{padding-top:0}
  .rmj-portal-paypal-buttons{max-width:none}
}

.rmj-portal-history{display:grid;gap:10px}.rmj-portal-history-accordion{border:1px solid #dbe4f0;border-radius:14px;background:#fff;overflow:hidden}.rmj-portal-history-accordion summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}.rmj-portal-history-accordion summary::-webkit-details-marker{display:none}.rmj-portal-history-summary-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rmj-portal-history-summary-main strong{font-size:15px;color:#0f172a}.rmj-portal-history-summary-main em{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;background:#eef2ff;padding:4px 8px;border-radius:999px}.rmj-portal-history-summary-meta{font-size:12px;color:#64748b;text-align:right}.rmj-portal-history-details{padding:0 14px 12px;display:grid;gap:8px}.rmj-portal-history-detail-row{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #eef2f7;font-size:13px}.rmj-portal-history-detail-row strong{color:#334155}.rmj-portal-history-detail-row span{color:#0f172a;text-align:right;word-break:break-word}@media (max-width:767px){.rmj-portal-history-accordion summary,.rmj-portal-history-detail-row{display:grid;grid-template-columns:1fr;}.rmj-portal-history-summary-meta,.rmj-portal-history-detail-row span{text-align:left}}

.rmj-client-portal .rmj-portal-payment-provider-field,
.rmj-booking-portal-wrap .rmj-portal-payment-provider-field{display:none !important;}
.rmj-client-portal .rmj-portal-doc-actions,
.rmj-client-portal .rmj-portal-actions,
.rmj-booking-portal-wrap .rmj-portal-doc-actions,
.rmj-booking-portal-wrap .rmj-portal-actions{display:grid !important;grid-template-columns:1fr !important;gap:12px;width:100%;}
.rmj-client-portal .rmj-portal-doc-actions > *,
.rmj-client-portal .rmj-portal-actions > *,
.rmj-booking-portal-wrap .rmj-portal-doc-actions > *,
.rmj-booking-portal-wrap .rmj-portal-actions > *{width:100% !important;max-width:100% !important;min-width:0 !important;}
.rmj-client-portal .rmj-portal-doc-actions a,
.rmj-client-portal .rmj-portal-actions a,
.rmj-client-portal .rmj-portal-actions button,
.rmj-client-portal .rmj-portal-card > a,
.rmj-client-portal .rmj-portal-card input[type="submit"],
.rmj-client-portal .rmj-portal-card input[type="button"],
.rmj-booking-portal-wrap .rmj-portal-doc-actions a,
.rmj-booking-portal-wrap .rmj-portal-actions a,
.rmj-booking-portal-wrap .rmj-portal-actions button,
.rmj-booking-portal-wrap .rmj-portal-card > a,
.rmj-booking-portal-wrap .rmj-portal-card input[type="submit"],
.rmj-booking-portal-wrap .rmj-portal-card input[type="button"]{width:100% !important;max-width:100% !important;min-width:0 !important;display:flex !important;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;}
.rmj-client-portal .rmj-portal-action-card form,
.rmj-booking-portal-wrap .rmj-portal-action-card form,
.rmj-client-portal .rmj-portal-payment-form,
.rmj-booking-portal-wrap .rmj-portal-payment-form{display:grid;gap:12px;width:100%;}
.rmj-client-portal .rmj-portal-action-card form > button,
.rmj-client-portal .rmj-portal-payment-form > button,
.rmj-booking-portal-wrap .rmj-portal-action-card form > button,
.rmj-booking-portal-wrap .rmj-portal-payment-form > button{width:100% !important;max-width:100% !important;}

.rmj-client-portal .rmj-portal-btn,.rmj-client-portal .rmj-portal-actions a,.rmj-client-portal .rmj-portal-actions button,.rmj-client-portal .rmj-portal-doc-actions a,.rmj-client-portal .rmj-portal-card button,.rmj-booking-portal-wrap .rmj-portal-btn,.rmj-booking-portal-wrap .rmj-portal-actions a,.rmj-booking-portal-wrap .rmj-portal-actions button,.rmj-booking-portal-wrap .rmj-portal-doc-actions a,.rmj-booking-portal-wrap .rmj-portal-card button{width:100% !important;max-width:100% !important;display:flex !important;justify-content:center;align-items:center;box-sizing:border-box;}
.rmj-client-portal .rmj-portal-actions,.rmj-client-portal .rmj-portal-doc-actions,.rmj-booking-portal-wrap .rmj-portal-actions,.rmj-booking-portal-wrap .rmj-portal-doc-actions{display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:12px;width:100%;align-items:stretch;}
.rmj-client-portal .rmj-portal-action-card form,.rmj-booking-portal-wrap .rmj-portal-action-card form,.rmj-client-portal .rmj-portal-payment-form,.rmj-booking-portal-wrap .rmj-portal-payment-form{display:grid;gap:12px;width:100%;}
.rmj-client-portal .rmj-portal-action-grid .rmj-portal-actions > *, .rmj-booking-portal-wrap .rmj-portal-action-grid .rmj-portal-actions > *{width:100% !important;max-width:100% !important;}

.rmj-step[data-step="7"] .rmj-booking-square-layout{display:grid;gap:12px !important;}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field{display:grid;gap:8px;margin:0 !important;}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field label,.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-payment-card-label{display:block;margin:0 !important;font-size:14px !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--rmj-heading,#111827) !important;line-height:1.35 !important;}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field input{display:block !important;width:100% !important;box-sizing:border-box !important;min-height:52px !important;height:52px !important;line-height:52px !important;padding:0 16px !important;border:1px solid var(--rmj-card-border,#d1d5db) !important;border-radius:16px !important;background:#fff !important;color:var(--rmj-text,#111827) !important;box-shadow:none !important;outline:none !important;}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field input::placeholder{color:#6b7280 !important;opacity:1 !important;}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field input:focus{border-color:#2563eb !important;box-shadow:0 0 0 1px #2563eb !important;}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel{display:grid;gap:8px !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-shell{display:block !important;margin:0 !important;padding:12px !important;border:1px solid var(--rmj-card-border,#d1d5db) !important;border-radius:16px !important;background:#fff !important;box-shadow:none !important;overflow:visible !important;}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 auto !important;min-height:56px !important;height:auto !important;max-height:none !important;overflow:visible !important;width:100% !important;max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container>*,.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container iframe,.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="sq-"],.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="card"],.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container div[data-testid]{width:100% !important;max-width:100% !important;box-sizing:border-box !important;display:block !important;margin:0 auto !important;overflow:visible !important;}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-errors{margin-top:6px !important;}
@media (max-width:767px){.rmj-step[data-step="7"] .rmj-booking-square-layout{gap:8px !important;}.rmj-step[data-step="7"] .rmj-booking-cardholder-field input{min-height:40px !important;height:40px !important;line-height:40px !important;border-radius:14px !important;}.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-shell{padding:10px !important;border-radius:14px !important;}.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container{min-height:120px !important;}.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container>*,.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container iframe,.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="sq-"],.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="card"],.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container div[data-testid]{min-height:120px !important;height:120px !important;}}

.rmj-step[data-step="7"] .rmj-booking-square-layout,
.rmj-step[data-step="7"] .rmj-booking-square-layout > *{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
}
.rmj-step[data-step="7"] .rmj-booking-cardholder-field input{
  width:100% !important;
  max-width:none !important;
}
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-errors,
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="message"],
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="error"],
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [role="alert"],
.rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [aria-live]{
  display:block !important;
  position:static !important;
  clear:both !important;
  margin-top:10px !important;
  margin-bottom:0 !important;
  padding-top:2px !important;
  line-height:1.45 !important;
}
@media (max-width:767px){
  .rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-errors,
  .rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="message"],
  .rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [class*="error"],
  .rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [role="alert"],
  .rmj-step[data-step="7"] .rmj-booking-card-details-panel .rmj-square-card-container [aria-live]{
    margin-top:8px !important;
  }
}

.rmj-step[data-step="7"] .rmj-stripe-payment-card-layout{display:flex!important;flex-direction:column!important;gap:12px!important}
.rmj-step[data-step="7"] .rmj-stripe-cardholder-stack{display:grid;gap:12px;width:100%}
.rmj-step[data-step="7"] .rmj-stripe-cardholder-stack .rmj-cardholder-field{display:grid;gap:8px;width:100%}
.rmj-step[data-step="7"] .rmj-stripe-cardholder-stack .rmj-cardholder-field label{display:block;margin:0!important;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#475569!important}
.rmj-step[data-step="7"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{display:block!important;width:100%!important;min-height:52px!important;padding:14px 16px!important;border:1px solid #d7e0ea!important;border-radius:12px!important;background:#fbfdff!important;box-sizing:border-box!important}
.rmj-step[data-step="7"] .rmj-stripe-payment-wrap .rmj-cardholder-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.rmj-step[data-step="7"] .rmj-stripe-card-details-panel{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.rmj-step[data-step="7"] .rmj-stripe-card-details-panel .rmj-payment-card-label{margin:0 0 10px!important}
.rmj-step[data-step="7"] .rmj-stripe-card-shell{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
@media (max-width:767px){.rmj-step[data-step="7"] .rmj-stripe-payment-card-layout{gap:10px!important}.rmj-step[data-step="7"] .rmj-stripe-cardholder-stack{gap:10px!important}}

.rmj-booking-complete-modal{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:80;padding:24px}.rmj-booking-complete-modal.is-active{display:flex}.rmj-booking-complete-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);border-radius:inherit}.rmj-booking-complete-dialog{position:relative;z-index:1;width:min(560px,100%);background:#fff;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:26px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:32px 32px 26px;text-align:center;color:var(--rmj-text,#111827)}.rmj-booking-complete-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:14px;border:1px solid var(--rmj-card-border,#e5e7eb)!important;background:#fff!important;color:var(--rmj-text,#111827)!important;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.rmj-booking-complete-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:999px;background:var(--rmj-button-bg,#2563eb);color:var(--rmj-button-text,#fff);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800}.rmj-booking-complete-kicker{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:rgba(37,99,235,.09);color:var(--rmj-button-bg,#2563eb);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 auto 14px}.rmj-booking-complete-dialog h3{margin:0 0 12px;font-size:clamp(26px,2.3vw,32px);line-height:1.12}.rmj-booking-complete-text{margin:0 0 12px;font-size:15px;line-height:1.72;max-width:420px;margin-left:auto;margin-right:auto}.rmj-booking-complete-text-primary{font-size:17px;font-weight:600;line-height:1.6}.rmj-booking-complete-text-note{color:#6b7280;font-size:14px}.rmj-booking-complete-actions{display:flex;justify-content:center;gap:12px;margin-top:22px}.rmj-booking-complete-actions .rmj-button{min-width:180px;min-height:46px;border-radius:14px}.rmj-booking-complete-done{font-weight:700}
@media (max-width:767px){.rmj-booking-complete-modal{padding:16px}.rmj-booking-complete-dialog{padding:24px 18px 20px;border-radius:22px}.rmj-booking-complete-close{top:12px;right:12px;width:38px;height:38px;border-radius:12px}.rmj-booking-complete-icon{width:58px;height:58px;font-size:25px;margin-bottom:12px}.rmj-booking-complete-kicker{margin-bottom:12px;padding:7px 14px;font-size:11px}.rmj-booking-complete-dialog h3{font-size:26px}.rmj-booking-complete-text{font-size:14px;line-height:1.68}.rmj-booking-complete-text-primary{font-size:16px}.rmj-booking-complete-actions{flex-direction:column;gap:10px;margin-top:20px}.rmj-booking-complete-actions .rmj-button{width:100%;min-width:0}}

.rmj-selector-step-shell{display:grid;gap:16px}.rmj-selector-step-notice{padding:14px 16px;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:16px;background:rgba(59,130,246,.05);color:var(--rmj-text,#111827);font-size:14px;line-height:1.6}.rmj-selector-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.rmj-selector-card{cursor:pointer}.rmj-selector-card .rmj-selector-card-media{position:relative;border-radius:16px;overflow:hidden;min-height:180px;background:#f8fafc;border:1px solid var(--rmj-card-border,#e5e7eb);display:flex;align-items:center;justify-content:center}.rmj-selector-card .rmj-selector-card-media img{width:100%;height:180px;object-fit:cover;display:block}.rmj-selector-card .rmj-selector-card-media.is-empty{color:#64748b;font-weight:600}.rmj-selector-card.is-selected .rmj-selector-card-media{border-color:var(--rmj-card-selected-border,#2563eb);box-shadow:0 0 0 2px rgba(37,99,235,.12)}.rmj-selector-customization-card{padding:20px;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:18px;background:#fff}.rmj-selector-customization-card h5{margin:0 0 14px;font-size:18px;line-height:1.3}.rmj-selector-customization-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rmj-selector-customization-grid .rmj-field-group:last-child:nth-child(odd){grid-column:1/-1}.rmj-selector-customization-grid input[type="color"]{width:100%;min-height:52px;padding:6px;border-radius:12px;border:1px solid var(--rmj-field-border,#d1d5db);background:#fff}@media (max-width:767px){.rmj-selector-grid{grid-template-columns:1fr}.rmj-selector-customization-grid{grid-template-columns:1fr}.rmj-step[data-step="6"] .rmj-step-actions,.rmj-step[data-step="7"] .rmj-step-actions{flex-direction:column}.rmj-step[data-step="6"] .rmj-step-actions .rmj-button,.rmj-step[data-step="7"] .rmj-step-actions .rmj-button{width:100%}}

.rmj-selector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.rmj-selector-card{padding:10px 10px 12px;gap:8px;align-items:stretch;justify-content:flex-start;min-width:0}
.rmj-selector-card .rmj-selector-card-media{min-height:auto;aspect-ratio:auto;border-radius:0;background:transparent;overflow:visible;position:relative;padding:0;border:none;display:flex;align-items:flex-start;justify-content:center;box-shadow:none;margin-bottom:2px}
.rmj-selector-card .rmj-selector-card-media img{width:100%;height:auto;max-height:260px;object-fit:contain;object-position:top center;background:#fff;display:block;border-radius:14px}
.rmj-selector-card .rmj-option-body{justify-content:flex-start;align-items:center;text-align:center;min-height:auto;padding-top:0;gap:6px}
.rmj-selector-card .rmj-option-title{text-align:center;width:100%;font-size:16px;line-height:1.28;margin:0 auto;max-width:100%;word-break:break-word}
.rmj-selector-preview-trigger{position:static;display:inline-flex;align-items:center;justify-content:center;align-self:center;border:1px solid rgba(15,23,42,.10);background:transparent;color:#334155;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;line-height:1;cursor:pointer;z-index:2;box-shadow:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}
.rmj-selector-preview-trigger:hover{background:#eef2ff;border-color:rgba(37,99,235,.18);color:#1d4ed8;transform:translateY(-1px)}
.rmj-selector-card.is-selected .rmj-selector-card-media img{box-shadow:0 0 0 2px rgba(37,99,235,.12)}

.rmj-selector-card{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}
.rmj-selector-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08)}
.rmj-selector-selected-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:var(--rmj-accent-soft,#e0edff);color:var(--rmj-accent,#1d4ed8);font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.rmj-selector-card.is-selected{border-color:rgba(37,99,235,.34);box-shadow:0 18px 38px rgba(37,99,235,.08)}


.rmj-multi-service-confirm-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10022;padding:18px}
.rmj-multi-service-confirm-modal.is-active{display:flex}
.rmj-multi-service-confirm-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.64)}
.rmj-multi-service-confirm-dialog{position:relative;z-index:1;width:min(480px,92vw);background:#fff;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:24px 24px 20px;text-align:center}
.rmj-multi-service-confirm-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:14px;border:1px solid var(--rmj-card-border,#e5e7eb)!important;background:#fff!important;color:var(--rmj-text,#111827)!important;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}
.rmj-multi-service-confirm-icon{width:54px;height:54px;border-radius:18px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:rgba(124,58,237,.08);color:var(--rmj-accent,#7c3aed);font-size:28px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(124,58,237,.12)}
.rmj-multi-service-confirm-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rmj-accent,#7c3aed);margin:0 0 8px}
.rmj-multi-service-confirm-dialog h3{margin:0 0 10px;font-size:28px;line-height:1.15;color:var(--rmj-text,#111827)}
.rmj-multi-service-confirm-text{margin:0;color:#475569;font-size:15px;line-height:1.65}
.rmj-multi-service-confirm-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding-top:22px}
.rmj-template-customization-color-section{margin-top:16px;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:18px;background:#f8fafc;padding:14px}
.rmj-template-customization-color-title{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#475569;margin:0 0 12px}
.rmj-template-customization-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rmj-template-customization-feedback{min-height:20px;margin-top:12px;font-size:13px;font-weight:600;color:#dc2626}
.rmj-template-customization-feedback.error{display:block}
.rmj-template-customization-form-card .rmj-required-marker{color:#dc2626;font-weight:800}
.rmj-template-customization-form-card input.rmj-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}
@media (max-width: 767px){
  .rmj-multi-service-confirm-modal{padding:12px}
  .rmj-multi-service-confirm-dialog{width:min(100%,94vw);padding:20px 18px 18px;border-radius:20px}
  .rmj-multi-service-confirm-dialog h3{font-size:24px}
  .rmj-multi-service-confirm-actions .rmj-button{width:100%}
  .rmj-template-customization-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Template / overlay customization modal label lock
   Keep popup labels readable regardless of booking widget theme label color. */
.rmj-template-customization-modal,
.rmj-template-customization-modal .rmj-template-customization-dialog,
.rmj-template-customization-modal .rmj-template-customization-form-card,
.rmj-template-customization-modal .rmj-template-customization-preview-card{
  color:#111827!important;
}
.rmj-template-customization-modal label,
.rmj-template-customization-modal .rmj-field-group label,
.rmj-template-customization-modal .rmj-template-color-field label,
.rmj-template-customization-modal .rmj-template-customization-color-title,
.rmj-template-customization-modal .rmj-template-customization-form-card h5,
.rmj-template-customization-modal .rmj-template-customization-preview-copy h4{
  color:#111827!important;
}
.rmj-template-customization-modal .rmj-template-customization-preview-copy p,
.rmj-template-customization-modal .rmj-template-customization-feedback:not(.error){
  color:#475569!important;
}

.rmj-template-customization-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10021;padding:18px}
.rmj-template-customization-modal.is-active{display:flex}
.rmj-template-customization-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68)}
.rmj-template-customization-dialog{position:relative;z-index:1;width:min(920px,92vw);max-height:88vh;overflow:auto;background:#fff;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:26px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:22px}
.rmj-template-customization-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:14px;border:1px solid var(--rmj-card-border,#e5e7eb)!important;background:#fff!important;color:var(--rmj-text,#111827)!important;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}
.rmj-template-customization-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:18px;align-items:start}
.rmj-template-customization-preview-card,.rmj-template-customization-form-card{border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:22px;background:#fff;padding:18px}
.rmj-template-customization-preview-shell{border-radius:18px;background:#f8fafc;border:1px solid var(--rmj-card-border,#e5e7eb);padding:14px;display:flex;align-items:center;justify-content:center;min-height:320px}
.rmj-template-customization-preview-shell img{max-width:100%;max-height:min(52vh,420px);object-fit:contain;display:block}
.rmj-template-customization-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8;margin:14px 0 8px}
.rmj-template-customization-preview-copy h4{margin:0 0 8px;font-size:26px;line-height:1.15}
.rmj-template-customization-preview-copy p{margin:0;color:#475569}
.rmj-template-customization-form-card h5{margin:0 0 16px;font-size:22px;line-height:1.2}
.rmj-template-customization-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rmj-template-customization-fields .rmj-field-group:last-child:nth-child(odd){grid-column:1 / -1}
.rmj-template-color-field input[type=color]{width:100%;min-height:52px;padding:6px;border-radius:14px;border:1px solid var(--rmj-card-border,#e5e7eb);background:#fff;cursor:pointer}
.rmj-template-customization-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding-top:18px}

@media (max-width:991px){
  .rmj-template-customization-grid{grid-template-columns:1fr}
  .rmj-template-customization-preview-shell{min-height:260px}
}

@media (max-width:767px){
  .rmj-template-customization-modal{padding:10px}
  .rmj-template-customization-dialog{width:min(100%,96vw);max-height:88vh;padding:14px;border-radius:18px}
  .rmj-template-customization-preview-card,.rmj-template-customization-form-card{padding:14px;border-radius:18px}
  .rmj-template-customization-preview-shell{min-height:220px;padding:10px}
  .rmj-template-customization-preview-shell img{max-height:280px}
  .rmj-template-customization-preview-copy h4{font-size:22px}
  .rmj-template-customization-fields{grid-template-columns:1fr}
  .rmj-template-customization-actions{gap:10px}
  .rmj-template-customization-actions .rmj-button{width:100%}
}

.rmj-selector-preview-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10020;padding:22px 24px}
.rmj-selector-preview-modal.is-active{display:flex}
.rmj-selector-preview-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68)}
.rmj-selector-preview-dialog{position:relative;z-index:1;width:min(1100px,94vw);max-height:min(92vh,940px);overflow:hidden;background:#fff;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:18px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}
.rmj-selector-preview-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:14px;border:1px solid var(--rmj-card-border,#e5e7eb)!important;background:#fff!important;color:var(--rmj-text,#111827)!important;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}
.rmj-selector-preview-media{background:#f8fafc;border:1px solid var(--rmj-card-border,#e5e7eb);border-radius:20px;padding:16px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}
.rmj-selector-preview-media img{width:auto;max-width:100%;max-height:min(64vh,700px);object-fit:contain;display:block;margin:0 auto}
.rmj-selector-preview-content{padding:0 4px 0;text-align:center;display:grid;gap:12px}
.rmj-selector-preview-content h4{margin:0;font-size:22px;line-height:1.2}
.rmj-selector-preview-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff;padding-top:16px;border-top:1px solid rgba(15,23,42,.06)}

@media (min-width:1600px){
  .rmj-selector-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media (max-width:1199px){
  .rmj-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rmj-selector-card .rmj-selector-card-media img{max-height:240px}
}

@media (max-width:991px){
  .rmj-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmj-selector-card .rmj-selector-card-media img{max-height:230px}
}

@media (max-width:767px){
  .rmj-selector-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .rmj-selector-card{padding:10px}
  .rmj-selector-card .rmj-selector-card-media{padding:0}
  .rmj-selector-card .rmj-selector-card-media img{max-height:220px}
  .rmj-selector-preview-trigger{width:auto;max-width:100%}
  .rmj-selector-preview-modal{padding:10px}
  .rmj-selector-preview-dialog{width:min(100%,96vw);max-height:92vh;padding:12px;border-radius:18px;grid-template-rows:minmax(0,1fr) auto;gap:12px}
  .rmj-selector-preview-media{padding:10px;min-height:0}
  .rmj-selector-preview-media img{max-height:min(56vh,480px)}
  .rmj-selector-preview-content{padding-top:0;gap:10px}
  .rmj-selector-preview-content h4{font-size:20px;margin:0}
  .rmj-selector-preview-actions{gap:10px;padding-top:12px}
  .rmj-selector-preview-actions .rmj-button{width:100%}
}

.rmj-portal-modal{padding:24px;align-items:center;justify-content:center}
.rmj-portal-modal.is-open{display:flex}
.rmj-portal-modal-dialog{width:min(1120px,100%);max-height:min(92vh,980px);margin:0}
.rmj-portal-modal-body{overflow:auto;-webkit-overflow-scrolling:touch}
body.rmj-portal-modal-open{overflow:auto}
@media (max-width:767px){.rmj-portal-modal{padding:10px}.rmj-portal-modal-dialog{width:100%;max-height:calc(100vh - 12px);border-radius:18px}.rmj-portal-modal-header{padding:16px 16px 14px}.rmj-portal-modal-body{padding:14px 16px 16px}}

.rmj-portal-modal-body{position:relative}
.rmj-portal-selector-preview-modal{
  position:absolute;
  inset:12px;
  padding:12px;
  z-index:30;
  align-items:center;
  justify-content:center;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-backdrop{
  border-radius:20px;
  background:rgba(15,23,42,.58);
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
  width:min(760px,calc(100% - 24px));
  max-height:calc(100% - 16px);
  padding:16px;
  gap:14px;
  border-radius:20px;
  grid-template-rows:minmax(0,1fr) auto;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-close{top:12px;right:12px;width:40px;height:40px;border-radius:12px}
.rmj-portal-selector-preview-modal .rmj-selector-preview-media{
  padding:12px;
  min-height:0;
  align-items:center;
  justify-content:center;
  overflow:auto;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
  width:auto;
  max-width:min(100%,620px);
  max-height:min(54vh,560px);
  object-fit:contain;
  display:block;
  margin:0 auto;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-content{gap:8px;padding:0}
.rmj-portal-selector-preview-modal .rmj-selector-preview-content h4{font-size:20px;margin:0}
.rmj-portal-selector-preview-modal .rmj-selector-preview-actions{padding-top:12px;gap:10px;justify-content:center}
.rmj-portal-selector-preview-modal .rmj-selector-preview-actions .rmj-button{min-width:180px}
.rmj-portal-selector-modal .rmj-portal-modal-dialog{max-height:min(94vh,1080px)}
.rmj-portal-selector-modal .rmj-portal-modal-body{min-height:min(78vh,860px)}
@media (max-width: 767px){
  .rmj-portal-selector-preview-modal{inset:8px;padding:8px}
  .rmj-portal-selector-preview-modal .rmj-selector-preview-backdrop{border-radius:16px}
  .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
    width:min(100%,calc(100% - 8px));
    max-height:calc(100% - 4px);
    padding:12px;
    border-radius:16px;
    gap:10px;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-media{padding:10px}
  .rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
    max-width:100%;
    max-height:min(46vh,420px);
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-actions{flex-direction:column}
  .rmj-portal-selector-preview-modal .rmj-selector-preview-actions .rmj-button{width:100%;min-width:0}
}

.rmj-portal-selector-modal .rmj-portal-modal-dialog{
  max-height:min(90vh,860px) !important;
}
.rmj-portal-selector-modal .rmj-portal-modal-body{
  min-height:0 !important;
  padding-bottom:18px !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-grid{
  align-items:start;
}
.rmj-portal-selector-modal .rmj-portal-selector-footer{
  margin-top:16px !important;
}
.rmj-portal-selector-preview-modal{
  position:fixed !important;
  inset:0 !important;
  padding:18px !important;
  z-index:100050 !important;
  align-items:center !important;
  justify-content:center !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-backdrop{
  position:absolute !important;
  inset:0 !important;
  border-radius:0 !important;
  background:rgba(15,23,42,.66) !important;
  backdrop-filter:blur(2px) !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
  position:relative !important;
  z-index:1 !important;
  width:min(620px,calc(100vw - 36px)) !important;
  max-width:620px !important;
  max-height:min(76vh,680px) !important;
  padding:0 !important;
  gap:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  margin:0 auto !important;
  box-shadow:0 28px 72px rgba(15,23,42,.28) !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-header{
  padding:16px 20px 12px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  background:rgba(37,99,235,.08) !important;
  color:#1d4ed8 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy h4{
  margin:0 0 6px !important;
  font-size:22px !important;
  line-height:1.12 !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy p{
  margin:0 !important;
  color:var(--rmj-total-text,#2c3338) !important;
  line-height:1.5 !important;
  font-size:14px !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-close{
  top:12px !important;
  right:12px !important;
  width:38px !important;
  height:38px !important;
  border-radius:10px !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-media{
  padding:16px 20px !important;
  background:#fff !important;
  border:none !important;
  overflow:hidden !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{
  width:100% !important;
  min-height:220px !important;
  max-height:min(46vh,360px) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%) !important;
  padding:12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
  width:auto !important;
  max-width:100% !important;
  max-height:min(40vh,320px) !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-content{
  padding:14px 20px 18px !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-actions{
  padding-top:0 !important;
  border-top:none !important;
  gap:8px !important;
  justify-content:center !important;
}
.rmj-portal-selector-preview-modal .rmj-selector-preview-actions .rmj-button{
  min-width:160px !important;
}
@media (max-width: 767px){
  .rmj-portal-selector-modal .rmj-portal-modal-dialog{
    max-height:calc(100vh - 12px) !important;
  }
  .rmj-portal-selector-modal .rmj-portal-modal-body{
    padding-bottom:14px !important;
  }
  .rmj-portal-selector-preview-modal{
    padding:10px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
    width:min(100%, 94vw) !important;
    max-height:calc(100vh - 20px) !important;
    border-radius:18px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-header{
    padding:14px 16px 12px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy h4{
    font-size:20px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy p{
    font-size:13px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-media{
    padding:12px 16px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{
    min-height:180px !important;
    max-height:min(42vh,300px) !important;
    padding:10px !important;
    border-radius:16px !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
    max-height:min(34vh,240px) !important;
  }
  .rmj-portal-selector-preview-modal .rmj-selector-preview-content{
    padding:12px 16px 16px !important;
  }
}

.rmj-portal-selector-modal .rmj-portal-modal-body{
  display:flex !important;
  flex-direction:column !important;
  overflow:auto !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-form{
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-grid{
  flex:1 1 auto !important;
  align-content:start !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-footer{
  position:sticky !important;
  bottom:0 !important;
  z-index:6 !important;
  margin-top:18px !important;
  padding:14px 0 0 !important;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff 18px, #fff 100%) !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-footer .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-footer button{
  min-height:48px !important;
}
@media (max-width:782px){
  .rmj-portal-selector-modal .rmj-portal-selector-footer{
    padding-top:12px !important;
  }
}

.rmj-portal-selector-modal .rmj-portal-modal-dialog{
  width:min(1180px,calc(100vw - 34px)) !important;
  max-height:min(88vh,820px) !important;
}
.rmj-portal-selector-modal .rmj-portal-modal-body{
  padding:8px 24px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:auto !important;
  min-height:0 !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-form{
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-grid{
  flex:1 1 auto !important;
  align-content:start !important;
  align-items:start !important;
  row-gap:16px !important;
  column-gap:18px !important;
  padding-bottom:4px !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-footer{
  position:sticky !important;
  bottom:0 !important;
  z-index:8 !important;
  margin-top:14px !important;
  padding:14px 0 0 !important;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.94) 14px, #fff 30px, #fff 100%) !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 -10px 22px rgba(15,23,42,.05) !important;
}
.rmj-portal-selector-modal .rmj-portal-selector-footer .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-footer button{
  min-height:48px !important;
}
@media (max-width:782px){
  .rmj-portal-selector-modal .rmj-portal-modal-dialog{
    width:calc(100vw - 20px) !important;
    max-height:calc(100vh - 12px) !important;
  }
  .rmj-portal-selector-modal .rmj-portal-modal-body{
    padding:6px 16px 14px !important;
  }
  .rmj-portal-selector-modal .rmj-portal-selector-grid{
    row-gap:12px !important;
    column-gap:12px !important;
  }
  .rmj-portal-selector-modal .rmj-portal-selector-footer{
    margin-top:12px !important;
    padding-top:12px !important;
  }
}

.rmj-portal-selector-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(250px,250px)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  align-content:start !important;
}
.rmj-portal-selector-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:12px !important;
  height:100% !important;
  min-height:100% !important;
  padding:0 !important;
  border-radius:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transition:transform .2s ease, filter .2s ease !important;
}
.rmj-portal-selector-card:hover{
  transform:translateY(-3px) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.rmj-portal-selector-card.is-selected{
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rmj-portal-selector-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:260px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  border:none !important;
  overflow:visible !important;
  box-shadow:none !important;
}
.rmj-portal-selector-thumb img{
  width:100% !important;
  height:260px !important;
  max-height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:24px !important;
  background:transparent !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10) !important;
  display:block !important;
}
.rmj-portal-empty{
  min-height:260px !important;
  border-radius:16px !important;
}
.rmj-portal-selector-title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:2.85em !important;
  margin:2px auto 0 !important;
  padding:0 4px !important;
  font-size:13px !important;
  line-height:1.4 !important;
  text-align:center !important;
  text-wrap:balance;
}
.rmj-portal-selector-selected-badge{
  top:16px !important;
  right:16px !important;
  display:none !important;
  align-items:center !important;
  gap:6px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#dcfce7 !important;
  color:#166534 !important;
  border:1px solid #86efac !important;
  box-shadow:0 8px 18px rgba(22,101,52,.12) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.rmj-portal-selector-card.is-selected .rmj-portal-selector-selected-badge{
  display:inline-flex !important;
}
.rmj-portal-selector-card::after{content:none !important;display:none !important;}
.rmj-portal-selector-card.is-selected::after{box-shadow:none !important;}
@media (max-width: 1100px){
  .rmj-portal-selector-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,240px)) !important;
  }
}
@media (max-width: 960px){
  .rmj-portal-selector-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,220px)) !important;
  }
  .rmj-portal-selector-thumb{
    min-height:230px !important;
    padding:2px 0 0 !important;
  }
  .rmj-portal-selector-thumb img,
  .rmj-portal-empty{
    height:230px !important;
    max-height:230px !important;
    min-height:230px !important;
  }
}
@media (max-width: 782px){
  .rmj-portal-selector-card{
    padding:10px !important;
    border-radius:18px !important;
    gap:8px !important;
  }
  .rmj-portal-selector-thumb{
    min-height:210px !important;
    padding:2px 0 0 !important;
    border-radius:0 !important;
  }
  .rmj-portal-selector-thumb img,
  .rmj-portal-empty{
    height:210px !important;
    max-height:210px !important;
    min-height:210px !important;
    border-radius:14px !important;
  }
  .rmj-portal-selector-title{
    min-height:auto !important;
    font-size:13px !important;
  }
  .rmj-portal-selector-selected-badge{
    top:12px !important;
    right:12px !important;
    padding:6px 10px !important;
  }
}


/* Event Flow Pro public Template/Backdrop Gallery widgets
   Clean source-of-truth layout. This replaces the old stacked public-gallery rules.
   Booking form selectors and client portal selectors are intentionally untouched. */
.rmj-public-gallery-widget{
  --rmj-public-gallery-gap:18px;
  --rmj-public-gallery-radius:20px;
  --rmj-public-gallery-card-radius:var(--rmj-widget-radius,20px);
  --rmj-public-gallery-card-border:var(--rmj-card-border,#e5e7eb);
  --rmj-public-gallery-muted:var(--rmj-text,#64748b);
  --rmj-public-gallery-title:var(--rmj-heading,#0f172a);
  --rmj-public-gallery-shell:#fff;
  position:relative;
  display:grid;
  gap:22px;
  background:#fff;
  color:var(--rmj-public-gallery-muted);
  font-size:var(--rmj-body-size,16px);
  font-family:var(--rmj-body-font-family,inherit);
}
.rmj-public-gallery-header{display:grid;gap:8px;text-align:center;max-width:820px;margin:0 auto}
.rmj-public-gallery-header h3{margin:0;font-size:clamp(28px,3.1vw,40px);line-height:1.1;color:var(--rmj-public-gallery-title);font-family:var(--rmj-heading-font-family,var(--rmj-body-font-family,inherit))}
.rmj-public-gallery-header p{margin:0;color:var(--rmj-public-gallery-muted);font-size:inherit;line-height:1.6}

/* Item gallery view: image-only grid with real gaps. No card shell and no titles on the main display. */
.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid){display:grid;grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,var(--rmj-public-gallery-columns-desktop,4)),minmax(0,1fr));gap:var(--rmj-public-gallery-gap);align-items:start}
.rmj-public-gallery-widget .rmj-public-gallery-item-card{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;cursor:pointer;text-align:left;transition:transform .18s ease,filter .18s ease;color:var(--rmj-public-gallery-title)}
.rmj-public-gallery-widget .rmj-public-gallery-item-card:hover,.rmj-public-gallery-widget .rmj-public-gallery-item-card:focus{transform:translateY(-2px);background:transparent;box-shadow:none;border-color:transparent}
.rmj-public-gallery-widget .rmj-public-gallery-item-card:focus-visible{outline:none}
.rmj-public-gallery-widget .rmj-public-gallery-item-card:focus-visible .rmj-public-gallery-card-media{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-media{display:block;width:100%;min-height:0;padding:0;margin:0;border:0;border-radius:var(--rmj-public-gallery-radius);overflow:hidden;background:transparent;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-media img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center top;border-radius:var(--rmj-public-gallery-radius);background:transparent}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-media.is-empty{min-height:180px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px dashed rgba(148,163,184,.55)}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-body,.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-title{display:none!important}

/* Category landing view: category cards keep labels; item names remain hidden in item views. */
.rmj-public-gallery-widget .rmj-public-gallery-category-grid{display:grid;grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,var(--rmj-public-gallery-columns-desktop,4)),minmax(0,1fr));gap:var(--rmj-public-gallery-gap);align-items:start}
.rmj-public-gallery-widget .rmj-public-gallery-category-card{appearance:none;-webkit-appearance:none;display:grid;gap:10px;width:100%;min-width:0;margin:0;padding:10px 10px 12px;border:1px solid var(--rmj-public-gallery-card-border);background:#fff;border-radius:var(--rmj-public-gallery-card-radius);box-shadow:0 10px 24px rgba(15,23,42,.05);cursor:pointer;text-align:center;color:var(--rmj-public-gallery-title);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover,.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.08);border-color:rgba(37,99,235,.28)}
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus-visible{outline:3px solid rgba(37,99,235,.30);outline-offset:3px}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-media{display:flex;align-items:center;justify-content:center;width:100%;min-height:160px;border-radius:calc(var(--rmj-public-gallery-card-radius) - 8px);overflow:hidden;background:#f8fafc;border:1px solid rgba(148,163,184,.22)}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-media img{display:block;width:100%;height:auto;object-fit:contain;object-position:center center;border-radius:calc(var(--rmj-public-gallery-card-radius) - 8px)}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-icon{width:54px;height:54px;font-size:54px;line-height:1;color:#94a3b8}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-body{display:block;padding:0;margin:0;text-align:center}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-title{display:block;margin:0;font-size:16px;line-height:1.25;font-weight:800;color:var(--rmj-public-gallery-title);word-break:break-word;text-align:center}

.rmj-public-gallery-empty{border:1px dashed var(--rmj-public-gallery-card-border);border-radius:var(--rmj-public-gallery-card-radius);background:#f8fafc;padding:28px;text-align:center;color:var(--rmj-public-gallery-muted)}
.rmj-public-gallery-widget .rmj-public-gallery-category-panel[hidden],.rmj-public-gallery-widget .rmj-public-gallery-categories[hidden]{display:none!important}
.rmj-public-gallery-widget.is-category-enabled.rmj-public-gallery-state-categories .rmj-public-gallery-category-panel{display:none!important}
.rmj-public-gallery-widget.is-category-enabled.rmj-public-gallery-state-panel .rmj-public-gallery-categories{display:none!important}
.rmj-public-gallery-widget.is-category-enabled.rmj-public-gallery-state-panel .rmj-public-gallery-category-panel:not([hidden]){display:block!important}
.rmj-public-gallery-widget .rmj-public-gallery-category-panel .rmj-public-gallery-category-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 22px;flex-wrap:wrap}
.rmj-public-gallery-widget .rmj-public-gallery-category-panel .rmj-public-gallery-category-title{display:none}
.rmj-public-gallery-widget .rmj-public-gallery-back{border-radius:999px!important;padding:12px 28px!important;box-shadow:none!important;background-color:var(--rmj-gallery-back-close-bg,var(--rmj-button-secondary-bg,#eef2ff))!important;background-image:none!important;color:var(--rmj-gallery-back-close-text,var(--rmj-button-secondary-text,#111827))!important;border-color:var(--rmj-gallery-back-close-bg,var(--rmj-button-secondary-bg,#eef2ff))!important}
.rmj-public-gallery-widget .rmj-public-gallery-back:hover,.rmj-public-gallery-widget .rmj-public-gallery-back:focus{background-color:var(--rmj-gallery-back-close-hover-bg,var(--rmj-button-secondary-hover,#dbeafe))!important;color:var(--rmj-gallery-back-close-hover-text,var(--rmj-button-secondary-text-hover,#111827))!important;border-color:var(--rmj-gallery-back-close-hover-bg,var(--rmj-button-secondary-hover,#dbeafe))!important}

.rmj-public-gallery-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10030;padding:20px}
.rmj-public-gallery-modal.is-active{display:flex}
.rmj-public-gallery-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.7)}
.rmj-public-gallery-modal-dialog{position:relative;z-index:1;width:min(760px,94vw);max-height:88vh;overflow:auto;background:var(--rmj-public-gallery-shell);border:1px solid var(--rmj-public-gallery-card-border);border-radius:calc(var(--rmj-public-gallery-card-radius) + 4px);box-shadow:0 28px 80px rgba(15,23,42,.28);padding:20px;display:grid;gap:16px}
.rmj-public-gallery-modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:14px;border:1px solid var(--rmj-public-gallery-card-border)!important;background:#fff!important;color:var(--rmj-public-gallery-title)!important;font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}
.rmj-public-gallery-modal-media{border-radius:var(--rmj-public-gallery-card-radius);background:#f8fafc;border:1px solid var(--rmj-public-gallery-card-border);padding:16px;display:flex;align-items:center;justify-content:center;min-height:280px}
.rmj-public-gallery-modal-media img{max-width:100%;max-height:min(60vh,620px);width:auto;height:auto;display:block;object-fit:contain;margin:0 auto}
.rmj-public-gallery-modal-content{display:grid;gap:8px;text-align:center}
.rmj-public-gallery-modal-kicker{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--rmj-button-bg,#2563eb)}
.rmj-public-gallery-modal-content h4{margin:0;font-size:28px;line-height:1.15;color:var(--rmj-public-gallery-title);font-family:var(--rmj-heading-font-family,var(--rmj-body-font-family,inherit))}
.rmj-public-gallery-modal-description{margin:0;color:var(--rmj-public-gallery-muted);line-height:1.6}
.rmj-public-gallery-modal-actions{display:flex;justify-content:center;padding-top:8px}
.rmj-public-gallery-widget .rmj-public-gallery-modal-actions .rmj-button[data-rmj-public-gallery-close],.rmj-public-gallery-widget .rmj-public-gallery-modal-close{background-color:var(--rmj-gallery-back-close-bg,var(--rmj-button-secondary-bg,#eef2ff))!important;background-image:none!important;color:var(--rmj-gallery-back-close-text,var(--rmj-button-secondary-text,#111827))!important;border-color:var(--rmj-gallery-back-close-bg,var(--rmj-button-secondary-bg,#eef2ff))!important}
.rmj-public-gallery-widget .rmj-public-gallery-modal-actions .rmj-button[data-rmj-public-gallery-close]:hover,.rmj-public-gallery-widget .rmj-public-gallery-modal-actions .rmj-button[data-rmj-public-gallery-close]:focus,.rmj-public-gallery-widget .rmj-public-gallery-modal-close:hover,.rmj-public-gallery-widget .rmj-public-gallery-modal-close:focus{background-color:var(--rmj-gallery-back-close-hover-bg,var(--rmj-button-secondary-hover,#dbeafe))!important;color:var(--rmj-gallery-back-close-hover-text,var(--rmj-button-secondary-text-hover,#111827))!important;border-color:var(--rmj-gallery-back-close-hover-bg,var(--rmj-button-secondary-hover,#dbeafe))!important}
@media (max-width:1024px){.rmj-public-gallery-widget{--rmj-public-gallery-gap:16px}.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid),.rmj-public-gallery-widget .rmj-public-gallery-category-grid{grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,var(--rmj-public-gallery-columns-tablet,2)),minmax(0,1fr))}}
@media (max-width:767px){.rmj-public-gallery-widget{gap:18px;--rmj-public-gallery-gap:14px}.rmj-public-gallery-header h3{font-size:30px}.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid),.rmj-public-gallery-widget .rmj-public-gallery-category-grid{grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,2),minmax(0,1fr))}.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-media{min-height:150px}.rmj-public-gallery-modal{padding:10px}.rmj-public-gallery-modal-dialog{width:min(100%,96vw);max-height:90vh;padding:14px;border-radius:18px}.rmj-public-gallery-modal-media{padding:10px;min-height:220px}.rmj-public-gallery-modal-media img{max-height:52vh}.rmj-public-gallery-modal-content h4{font-size:22px}.rmj-public-gallery-modal-actions .rmj-button{width:100%}}
@media (max-width:420px){.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid),.rmj-public-gallery-widget .rmj-public-gallery-category-grid{grid-template-columns:1fr}}

.rmj-contact-widget{font-family:inherit;background:var(--rmj-contact-bg,#fff);border:1px solid var(--rmj-contact-border,#d7dee8);border-radius:var(--rmj-contact-radius,16px);padding:32px;display:grid;gap:22px;box-shadow:0 18px 48px rgba(15,23,42,.07);width:min(100%,960px);max-width:960px;margin-inline:auto;box-sizing:border-box}.rmj-contact-widget,.rmj-contact-widget *{font-family:inherit}.rmj-contact-widget-transparent{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.rmj-contact-widget-form{display:grid;gap:18px}.rmj-contact-widget-head{display:grid;gap:8px;padding-bottom:0}.rmj-contact-widget-head h3{margin:0;color:var(--rmj-contact-title,#0f172a);font-size:clamp(28px,3vw,34px);line-height:1.08;font-weight:800;letter-spacing:-.02em}.rmj-contact-widget-head p{margin:0;color:var(--rmj-contact-text,#475569);line-height:1.58;font-size:15px;max-width:68ch}.rmj-contact-widget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px var(--rmj-contact-gap,18px);align-items:start}.rmj-contact-widget-field,.rmj-contact-widget-field-textarea,.rmj-contact-widget-field-checkbox{display:grid;gap:8px;min-width:0}.rmj-contact-widget-field-textarea,.rmj-contact-widget-field-checkbox{grid-column:1/-1}.rmj-contact-widget-field label{font-weight:700;color:var(--rmj-contact-field-label,var(--rmj-contact-field-text,#0f172a));font-size:14px;line-height:1.3;display:inline-flex;align-items:center;gap:2px}.rmj-contact-widget-field input,.rmj-contact-widget-field textarea,.rmj-contact-widget-field select{width:100%;border:1.5px solid var(--rmj-contact-field-border,#cbd5e1);background:var(--rmj-contact-field-bg,#fff);border-radius:calc(var(--rmj-contact-radius,16px) - 4px);min-height:54px;padding:14px 16px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease;box-shadow:0 1px 2px rgba(15,23,42,.03);color:var(--rmj-contact-field-input-text,var(--rmj-contact-field-text,#0f172a))}.rmj-contact-widget-field input::placeholder,.rmj-contact-widget-field textarea::placeholder{color:currentColor;opacity:.52}.rmj-contact-widget-field input:hover,.rmj-contact-widget-field textarea:hover,.rmj-contact-widget-field select:hover{border-color:color-mix(in srgb,var(--rmj-contact-field-border,#cbd5e1) 72%,#94a3b8 28%)}.rmj-contact-widget-field input:focus,.rmj-contact-widget-field textarea:focus,.rmj-contact-widget-field select:focus{outline:none;border-color:color-mix(in srgb,var(--rmj-contact-button-bg,#2271b1) 60%,#fff 40%);box-shadow:0 0 0 4px rgba(34,113,177,.12)}.rmj-contact-widget-field textarea{min-height:148px;resize:vertical;padding-top:15px}.rmj-contact-widget-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}.rmj-contact-widget-field input[type="date"]{padding-right:42px;line-height:1.2}.rmj-contact-widget-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:.82;cursor:pointer}.rmj-contact-widget-actions{display:flex;align-items:center;justify-content:flex-start;padding-top:4px}.rmj-contact-widget-submit{background:var(--rmj-contact-button-bg,#2271b1)!important;color:var(--rmj-contact-button-text,#fff)!important;border:1px solid var(--rmj-contact-button-bg,#2271b1)!important;min-height:52px;padding:0 26px;border-radius:calc(var(--rmj-contact-radius,16px) - 4px);font-weight:700;box-shadow:0 12px 24px rgba(34,113,177,.18)}.rmj-contact-widget-button-full .rmj-contact-widget-actions{display:block}.rmj-contact-widget-button-full .rmj-contact-widget-submit{width:100%}.rmj-contact-widget-submit:hover{background:var(--rmj-contact-button-hover-bg,var(--rmj-contact-button-bg,#2271b1))!important;color:var(--rmj-contact-button-hover-text,var(--rmj-contact-button-text,#fff))!important;border-color:var(--rmj-contact-button-hover-bg,var(--rmj-contact-button-bg,#2271b1))!important;transform:translateY(-1px)}.rmj-contact-widget-message{font-weight:600;padding-top:0}.rmj-contact-widget-message.is-success{color:#166534}.rmj-contact-widget-message.is-error{color:#991b1b}.rmj-required{color:#dc2626;margin-left:2px;font-size:.95em}.rmj-contact-widget-checkbox{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1.5px solid var(--rmj-contact-field-border,#cbd5e1);background:var(--rmj-contact-field-bg,#fff);border-radius:calc(var(--rmj-contact-radius,16px) - 4px)}.rmj-contact-widget-checkbox input{width:18px;height:18px;min-height:0;margin-top:2px}.rmj-contact-widget-checkbox span{font-weight:600;color:var(--rmj-contact-field-label,var(--rmj-contact-field-text,#0f172a));line-height:1.4}@media (max-width:1024px){.rmj-contact-widget{padding:28px}.rmj-contact-widget-fields{gap:16px var(--rmj-contact-gap,16px)}}@media (max-width:767px){.rmj-contact-widget{padding:22px;gap:18px}.rmj-contact-widget-form{gap:16px}.rmj-contact-widget-fields{grid-template-columns:1fr;gap:14px}.rmj-contact-widget-head h3{font-size:26px}.rmj-contact-widget-head p{font-size:14px}.rmj-contact-widget-actions{display:block}.rmj-contact-widget-submit{width:100%;min-height:50px}}.rmj-contact-widget-field-width-full{grid-column:1/-1}.rmj-contact-widget-field-width-half{grid-column:auto}@media (max-width:767px){.rmj-contact-widget-field-width-half,.rmj-contact-widget-field-width-full{grid-column:1/-1}}

.rmj-contact-widget .rmj-contact-widget-field input,
.rmj-contact-widget .rmj-contact-widget-field textarea,
.rmj-contact-widget .rmj-contact-widget-field select{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100% !important;
  background:#fff !important;
  background-color:var(--rmj-contact-field-bg,#fff) !important;
  border:1.5px solid var(--rmj-contact-field-border,#cbd5e1) !important;
  border-color:var(--rmj-contact-field-border,#cbd5e1) !important;
  box-shadow:0 1px 2px rgba(15,23,42,.03) !important;
  border-radius:calc(var(--rmj-contact-radius,16px) - 4px) !important;
  color:var(--rmj-contact-field-input-text,var(--rmj-contact-field-text,#0f172a)) !important;
  opacity:1 !important;
}
.rmj-contact-widget .rmj-contact-widget-field input[type="date"]{
  min-height:54px !important;
  line-height:1.2 !important;
  padding-right:42px !important;
}
.rmj-contact-widget .rmj-contact-widget-field input:hover,
.rmj-contact-widget .rmj-contact-widget-field textarea:hover,
.rmj-contact-widget .rmj-contact-widget-field select:hover{
  border-color:#94a3b8 !important;
}
.rmj-contact-widget .rmj-contact-widget-field input:focus,
.rmj-contact-widget .rmj-contact-widget-field textarea:focus,
.rmj-contact-widget .rmj-contact-widget-field select:focus{
  border-color:color-mix(in srgb,var(--rmj-contact-button-bg,#2271b1) 60%,#fff 40%) !important;
  box-shadow:0 0 0 4px rgba(34,113,177,.12) !important;
  outline:none !important;
}


.rmj-client-portal .rmj-portal-tab-switcher,.rmj-booking-portal-wrap .rmj-portal-tab-switcher,.rmj-portal-wrap .rmj-portal-tab-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px;}
.rmj-client-portal .rmj-portal-tab-panels,.rmj-booking-portal-wrap .rmj-portal-tab-panels,.rmj-portal-wrap .rmj-portal-tab-panels{margin-top:14px;}
.rmj-client-portal .rmj-portal-tab-panel,.rmj-booking-portal-wrap .rmj-portal-tab-panel,.rmj-portal-wrap .rmj-portal-tab-panel{display:none;}
.rmj-client-portal .rmj-portal-tab-panel.is-active,.rmj-booking-portal-wrap .rmj-portal-tab-panel.is-active,.rmj-portal-wrap .rmj-portal-tab-panel.is-active{display:block;}
.rmj-client-portal .rmj-portal-tab-intro,.rmj-booking-portal-wrap .rmj-portal-tab-intro{margin-top:12px;color:#64748b;font-size:14px;line-height:1.6;}
.rmj-client-portal .rmj-portal-tab-intro-only,.rmj-booking-portal-wrap .rmj-portal-tab-intro-only{margin-top:0;}
.rmj-client-portal .rmj-portal-tab-btn.is-active,.rmj-booking-portal-wrap .rmj-portal-tab-btn.is-active,.rmj-portal-wrap .rmj-portal-tab-btn.is-active{box-shadow:0 0 0 2px rgba(59,130,246,.14);}
@media (max-width:767px){.rmj-client-portal .rmj-portal-tab-switcher,.rmj-booking-portal-wrap .rmj-portal-tab-switcher,.rmj-portal-wrap .rmj-portal-tab-switcher{grid-template-columns:1fr;}}

.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:8px;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher:has(> :nth-child(3):last-child),
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher:has(> :nth-child(3):last-child),
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher:has(> :nth-child(3):last-child){
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn{
  width:100% !important;
  max-width:100% !important;
  min-height:46px;
  white-space:nowrap;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-quick-actions,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-quick-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-top:2px;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-quick-actions .rmj-portal-btn,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-quick-actions .rmj-portal-btn{
  width:100% !important;
  max-width:100% !important;
}
@media (max-width:767px){
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
    grid-template-columns:1fr 1fr;
  }
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn{
    white-space:normal;
  }
}

.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
  display:flex !important;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:12px;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn{
  flex:1 1 0;
  width:auto !important;
  min-width:0;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-panels,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panels,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panels{
  margin-top:14px;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-panel[hidden],
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panel[hidden],
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panel[hidden],
.rmj-client-portal [data-rmj-portal-section][hidden],
.rmj-booking-portal-wrap [data-rmj-portal-section][hidden],
.rmj-portal-wrap [data-rmj-portal-section][hidden]{
  display:none !important;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
    display:grid !important;
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 520px){
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
    grid-template-columns:1fr;
  }
}

.rmj-portal-support-grid .rmj-portal-card-confirm-details form{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:flex-start !important;gap:12px !important;flex:none !important;}
.rmj-portal-support-grid .rmj-portal-card-confirm-details .rmj-portal-actions{display:flex !important;justify-content:flex-start !important;align-items:flex-start !important;flex-wrap:wrap !important;gap:12px !important;}
.rmj-portal-support-grid .rmj-portal-card-confirm-details .rmj-portal-actions button{width:auto !important;max-width:none !important;min-width:190px !important;height:auto !important;min-height:46px !important;padding:0 18px !important;align-self:flex-start !important;flex:0 0 auto !important;}

@media (max-width:782px){
  .rmj-portal-card-upload-files .rmj-portal-actions,
  .rmj-portal-card-request-update .rmj-portal-actions{margin-top:14px !important;}
  .rmj-portal-card-upload-files .rmj-portal-actions button,
  .rmj-portal-card-request-update .rmj-portal-actions button{margin-top:0 !important;}
}

.rmj-portal-wrap .rmj-portal-action-center{padding-bottom:20px!important;}
.rmj-portal-wrap .rmj-portal-action-center > .rmj-portal-card{margin-top:0!important;}
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-completion-card[hidden]{display:none!important;}

@media (max-width:767px){
  .rmj-client-portal .rmj-portal-action-center,
  .rmj-booking-portal-wrap .rmj-portal-action-center,
  .rmj-portal-wrap .rmj-portal-action-center{
    margin-top:16px !important;
  }
}

.rmj-addon-card .rmj-option-foot{margin-top:auto;padding-top:6px}.rmj-addon-card-action{display:flex;align-items:center;justify-content:stretch;width:100%}.rmj-addon-card-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;padding:12px 18px;border-radius:14px;border:1px solid var(--rmj-button-bg,#2271b1);background:var(--rmj-button-bg,#2271b1);color:var(--rmj-button-text,#ffffff);font-size:14px;font-weight:700;line-height:1;letter-spacing:.01em;box-shadow:none;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .18s ease,box-shadow .25s ease,opacity .25s ease}.rmj-addon-card .rmj-addon-card-button-label-added{display:none}.rmj-addon-card.is-selected .rmj-addon-card-button{background:var(--rmj-button-hover,#135e96);border-color:var(--rmj-button-hover,#135e96);color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff));box-shadow:none}.rmj-addon-card.is-selected .rmj-addon-card-button-label-add{display:none}.rmj-addon-card.is-selected .rmj-addon-card-button-label-added{display:inline}.rmj-addon-card:hover .rmj-addon-card-button{background:var(--rmj-button-hover,#135e96);border-color:var(--rmj-button-hover,#135e96);color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff));transform:translateY(-1px);box-shadow:none}.rmj-addon-card.is-selected:hover .rmj-addon-card-button{box-shadow:none}@media (max-width:767px){.rmj-addon-card-action{justify-content:stretch}.rmj-addon-card-button{width:100%;min-width:0}}


/* Payment step polish v1.7.92 */
.rmj-step[data-step="9"] .rmj-payment-box{
  display:grid !important;
  gap:18px !important;
  padding:22px !important;
  border:1px solid #dbe3ef !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.06) !important;
}
.rmj-step[data-step="9"] .rmj-payment-methods:empty{display:none !important;}
.rmj-step[data-step="9"] .rmj-payment-options{
  display:grid !important;
  gap:12px !important;
  margin:0 !important;
}
.rmj-step[data-step="9"] .rmj-payment-option{
  min-height:60px !important;
  padding:16px 18px !important;
  border:1px solid #d7e3f1 !important;
  border-radius:16px !important;
  background:#ffffff !important;
  box-shadow:0 4px 16px rgba(15,23,42,.03) !important;
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease, background .2s ease !important;
}
.rmj-step[data-step="9"] .rmj-payment-option:hover{
  transform:translateY(-1px) !important;
  border-color:#bfd4f6 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}
.rmj-step[data-step="9"] .rmj-payment-option.is-selected{
  border-color:#3b82f6 !important;
  background:#eef5ff !important;
  box-shadow:0 0 0 1px rgba(59,130,246,.18), 0 12px 24px rgba(37,99,235,.08) !important;
}
.rmj-step[data-step="9"] .rmj-payment-option-label,
.rmj-step[data-step="9"] .rmj-payment-option strong{
  font-weight:800 !important;
}
.rmj-step[data-step="9"] .rmj-square-payment-wrap,
.rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
.rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
  margin:0 !important;
  padding:20px !important;
  border:1px solid #dbe3ef !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 16px !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-copy h5{
  margin:0 0 6px !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  color:#111827 !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-copy p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:var(--rmj-total-text,#2c3338) !important;
  max-width:620px !important;
}
.rmj-step[data-step="9"] .rmj-payment-security-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  white-space:nowrap !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  border:1px solid #d6e4ff !important;
  background:#eef4ff !important;
  color:#1d4ed8 !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.rmj-step[data-step="9"] .rmj-payment-card-layout,
.rmj-step[data-step="9"] .rmj-booking-square-layout,
.rmj-step[data-step="9"] .rmj-stripe-payment-card-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
}
.rmj-step[data-step="9"] .rmj-payment-card-field,
.rmj-step[data-step="9"] .rmj-booking-cardholder-field,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack,
.rmj-step[data-step="9"] .rmj-card-details-panel,
.rmj-step[data-step="9"] .rmj-booking-tip-field{
  min-width:0 !important;
}
.rmj-step[data-step="9"] .rmj-booking-tip-field,
.rmj-step[data-step="9"] .rmj-cardholder-field,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field label,
.rmj-step[data-step="9"] .rmj-booking-tip-field label,
.rmj-step[data-step="9"] .rmj-payment-card-label,
.rmj-step[data-step="9"] .rmj-stripe-field-block label,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field label{
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  color:#475569 !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field input,
.rmj-step[data-step="9"] .rmj-booking-tip-field input,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  min-height:52px !important;
  height:52px !important;
  padding:0 16px !important;
  border:1px solid #d7e0ea !important;
  border-radius:14px !important;
  background:#fbfdff !important;
  color:#111827 !important;
  box-shadow:none !important;
  outline:none !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field input::placeholder,
.rmj-step[data-step="9"] .rmj-booking-tip-field input::placeholder,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input::placeholder{
  color:#6b7280 !important;
  opacity:1 !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field input:focus,
.rmj-step[data-step="9"] .rmj-booking-tip-field input:focus,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 1px #2563eb !important;
}
.rmj-step[data-step="9"] .rmj-booking-tip-field small{
  display:block !important;
  margin-top:2px !important;
  font-size:13px !important;
  line-height:1.5 !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="9"] .rmj-card-details-panel,
.rmj-step[data-step="9"] .rmj-booking-card-details-panel,
.rmj-step[data-step="9"] .rmj-stripe-card-details-panel{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rmj-step[data-step="9"] .rmj-square-card-shell,
.rmj-step[data-step="9"] .rmj-stripe-card-shell{
  display:block !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid #d7e0ea !important;
  border-radius:14px !important;
  background:#fbfdff !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.rmj-step[data-step="9"] .rmj-square-card-container,
.rmj-step[data-step="9"] .rmj-stripe-card-grid{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.rmj-step[data-step="9"] .rmj-square-card-container{
  min-height:56px !important;
  height:auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.rmj-step[data-step="9"] .rmj-square-card-container > *,
.rmj-step[data-step="9"] .rmj-square-card-container iframe,
.rmj-step[data-step="9"] .rmj-square-card-container [class*="sq-"],
.rmj-step[data-step="9"] .rmj-square-card-container [class*="card"],
.rmj-step[data-step="9"] .rmj-square-card-container div[data-testid]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.rmj-step[data-step="9"] .rmj-stripe-field-row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.rmj-step[data-step="9"] .rmj-stripe-field-block{
  display:grid !important;
  gap:8px !important;
  min-width:0 !important;
}
.rmj-step[data-step="9"] .rmj-stripe-card-number,
.rmj-step[data-step="9"] .rmj-stripe-card-expiry,
.rmj-step[data-step="9"] .rmj-stripe-card-cvc{
  min-height:40px !important;
  padding:14px 0 !important;
}
.rmj-step[data-step="9"] .rmj-square-card-errors,
.rmj-step[data-step="9"] .rmj-stripe-card-errors,
.rmj-step[data-step="9"] .rmj-paypal-status,
.rmj-step[data-step="9"] .rmj-square-card-container [class*="message"],
.rmj-step[data-step="9"] .rmj-square-card-container [class*="error"],
.rmj-step[data-step="9"] .rmj-square-card-container [role="alert"],
.rmj-step[data-step="9"] .rmj-square-card-container [aria-live]{
  margin-top:8px !important;
  margin-bottom:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.rmj-step[data-step="9"] .rmj-square-card-errors,
.rmj-step[data-step="9"] .rmj-stripe-card-errors{
  color:#b91c1c !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-lines{
  display:grid !important;
  gap:8px !important;
  padding:16px 18px !important;
  border:1px solid #dbe3ef !important;
  border-radius:18px !important;
  background:#ffffff !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:0 !important;
  font-size:13px !important;
  color:#334155 !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line strong{
  font-weight:800 !important;
  color:#111827 !important;
}
.rmj-step[data-step="9"] .rmj-payment-box > p:not(.rmj-payment-note){
  margin:0 !important;
}
.rmj-step[data-step="9"] .rmj-payment-total-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  background:#0f172a !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.rmj-step[data-step="9"] .rmj-payment-total{
  color:#ffffff !important;
  font-size:24px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.rmj-step[data-step="9"] .rmj-payment-note{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="9"] .rmj-paypal-buttons{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
.rmj-step[data-step="9"] .rmj-paypal-buttons iframe{
  border-radius:14px !important;
}
@media (max-width: 900px){
  .rmj-step[data-step="9"] .rmj-payment-panel-head{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-security-badge{
    align-self:flex-start !important;
  }
}
@media (max-width: 767px){
  .rmj-step[data-step="9"] .rmj-payment-box{
    gap:12px !important;
    padding:16px !important;
    border-radius:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-option{
    min-height:56px !important;
    padding:14px 15px !important;
    border-radius:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    padding:14px !important;
    border-radius:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-panel-copy h5{
    font-size:15px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-panel-copy p,
  .rmj-step[data-step="9"] .rmj-booking-tip-field small,
  .rmj-step[data-step="9"] .rmj-payment-note{
    font-size:13px !important;
  }
  .rmj-step[data-step="9"] .rmj-cardholder-field input,
  .rmj-step[data-step="9"] .rmj-booking-tip-field input,
  .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
    min-height:40px !important;
    height:40px !important;
    border-radius:10px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-card-shell,
  .rmj-step[data-step="9"] .rmj-stripe-card-shell,
  .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    padding:12px !important;
    border-radius:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-card-container{
    min-height:120px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-card-container > *,
  .rmj-step[data-step="9"] .rmj-square-card-container iframe,
  .rmj-step[data-step="9"] .rmj-square-card-container [class*="sq-"],
  .rmj-step[data-step="9"] .rmj-square-card-container [class*="card"],
  .rmj-step[data-step="9"] .rmj-square-card-container div[data-testid]{
    min-height:120px !important;
    height:120px !important;
  }
  .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack,
  .rmj-step[data-step="9"] .rmj-stripe-field-row{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-summary-line,
  .rmj-step[data-step="9"] .rmj-payment-total-row{
    font-size:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-total{
    font-size:21px !important;
  }
}


/* Payment step final polish v1.7.93 */
.rmj-step[data-step="9"] .rmj-payment-box{
  gap:20px !important;
  padding:24px !important;
  border-color:#d7e2f0 !important;
  background:linear-gradient(180deg,#f9fbff 0%,#ffffff 42%,#f8fbff 100%) !important;
  box-shadow:0 20px 46px rgba(15,23,42,.07) !important;
}
.rmj-step[data-step="9"] .rmj-payment-options{
  gap:12px !important;
}
.rmj-step[data-step="9"] .rmj-payment-option{
  position:relative !important;
  overflow:hidden !important;
  min-height:66px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
}
.rmj-step[data-step="9"] .rmj-payment-option::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:transparent;
  transition:background .2s ease;
}
.rmj-step[data-step="9"] .rmj-payment-option.is-selected::before{
  background:#2563eb;
}
.rmj-step[data-step="9"] .rmj-payment-option-label{
  font-size:17px !important;
  letter-spacing:-.01em !important;
}
.rmj-step[data-step="9"] .rmj-payment-option strong{
  font-size:20px !important;
  letter-spacing:-.02em !important;
}
.rmj-step[data-step="9"] .rmj-square-payment-wrap,
.rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
.rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
  padding:22px !important;
  border-radius:24px !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-copy h5{
  font-size:22px !important;
  letter-spacing:-.02em !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-copy p{
  font-size:14px !important;
}
.rmj-step[data-step="9"] .rmj-payment-security-badge{
  gap:8px !important;
  padding:11px 15px !important;
  box-shadow:0 6px 16px rgba(37,99,235,.08) !important;
}
.rmj-step[data-step="9"] .rmj-payment-security-badge::before{
  content:"🔒";
  font-size:12px;
  line-height:1;
}
.rmj-step[data-step="9"] .rmj-cardholder-field label,
.rmj-step[data-step="9"] .rmj-booking-tip-field label,
.rmj-step[data-step="9"] .rmj-payment-card-label,
.rmj-step[data-step="9"] .rmj-stripe-field-block label,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field label{
  font-size:12px !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field input,
.rmj-step[data-step="9"] .rmj-booking-tip-field input,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
  min-height:54px !important;
  height:54px !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
}
.rmj-step[data-step="9"] .rmj-square-card-shell,
.rmj-step[data-step="9"] .rmj-stripe-card-shell{
  padding:14px 16px !important;
  border-radius:16px !important;
  background:#fff !important;
}
.rmj-step[data-step="9"] .rmj-booking-tip-field,
.rmj-step[data-step="9"] .rmj-payment-summary-lines{
  position:relative !important;
}
.rmj-step[data-step="9"] .rmj-booking-tip-field{
  padding:18px !important;
  border:1px solid #dbe3ef !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}
.rmj-step[data-step="9"] .rmj-booking-tip-field::before{
  content:none;
  display:none;
}
.rmj-step[data-step="9"] .rmj-payment-summary-lines{
  gap:12px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  box-shadow:0 6px 18px rgba(15,23,42,.04) !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-lines::before{
  content:"Order summary";
  display:block;
  margin-bottom:2px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-title,var(--rmj-heading-color,#111827))) !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line{
  padding-top:2px !important;
  padding-bottom:2px !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line + .rmj-payment-summary-line{
  border-top:1px solid #edf2f7;
  padding-top:12px !important;
}
.rmj-step[data-step="9"] .rmj-payment-total-row{
  padding:20px 22px !important;
  border-radius:18px !important;
  box-shadow:0 14px 28px rgba(15,23,42,.16) !important;
}
.rmj-step[data-step="9"] .rmj-payment-total-row span{
  font-size:13px !important;
  letter-spacing:.01em !important;
}
.rmj-step[data-step="9"] .rmj-payment-total{
  font-size:28px !important;
}
.rmj-step[data-step="9"] .rmj-payment-note{
  padding:0 2px !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-button[type="submit"]{
  min-width:220px;
}
@media (max-width: 767px){
  .rmj-step[data-step="9"] .rmj-payment-box{
    gap:16px !important;
    padding:16px !important;
    border-radius:22px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-option{
    min-height:60px !important;
    padding:15px 16px !important;
    border-radius:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-option-label{
    font-size:13px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-option strong{
    font-size:15px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-step[data-step="9"] .rmj-paypal-payment-wrap,
  .rmj-step[data-step="9"] .rmj-booking-tip-field,
  .rmj-step[data-step="9"] .rmj-payment-summary-lines,
  .rmj-step[data-step="9"] .rmj-payment-total-row{
    border-radius:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    padding:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-panel-copy h5{
    font-size:19px !important;
  }
  .rmj-step[data-step="9"] .rmj-cardholder-field input,
  .rmj-step[data-step="9"] .rmj-booking-tip-field input,
  .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
    min-height:40px !important;
    height:40px !important;
    border-radius:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-card-shell,
  .rmj-step[data-step="9"] .rmj-stripe-card-shell{
    padding:12px 14px !important;
    border-radius:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-booking-tip-field{
    padding:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    padding:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-summary-line{
    gap:8px !important;
    font-size:14px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-total-row{
    padding:17px 18px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-total{
    font-size:22px !important;
  }
  .rmj-step[data-step="9"] .rmj-step-actions .rmj-button[type="submit"]{
    width:100%;
    min-width:0;
  }
}


/* Payment step micro polish v1.7.94 */
.rmj-step[data-step="9"] .rmj-payment-panel-head{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
}
.rmj-step[data-step="9"] .rmj-payment-security-badge{
  order:2 !important;
  align-self:flex-start !important;
  margin:0 !important;
  padding:8px 14px !important;
}
.rmj-step[data-step="9"] .rmj-payment-panel-copy{
  width:100% !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field label,
.rmj-step[data-step="9"] .rmj-booking-tip-field label,
.rmj-step[data-step="9"] .rmj-payment-card-label,
.rmj-step[data-step="9"] .rmj-stripe-field-block label,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field label{
  color:#6b7280 !important;
}
.rmj-step[data-step="9"] .rmj-square-payment-wrap,
.rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
.rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
  padding:24px !important;
}
.rmj-step[data-step="9"] .rmj-square-card-shell,
.rmj-step[data-step="9"] .rmj-stripe-card-shell{
  padding:8px 0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.rmj-step[data-step="9"] .rmj-booking-card-details-panel,
.rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
.rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
  gap:12px !important;
  padding:16px 18px !important;
  border:1px solid #dbe3ef !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
}
.rmj-step[data-step="9"] .rmj-stripe-field-row{
  gap:20px !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-lines{
  gap:12px !important;
  padding:20px 22px !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line + .rmj-payment-summary-line{
  padding-top:14px !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line:last-child{
  font-weight:700 !important;
}
.rmj-step[data-step="9"] .rmj-payment-total-row{
  padding:21px 24px !important;
  border-radius:22px !important;
  box-shadow:0 18px 32px rgba(15,23,42,.18) !important;
}
.rmj-step[data-step="9"] .rmj-payment-note{
  margin-top:2px !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-box,
.rmj-booking-widget .rmj-step[data-step="9"] + .rmj-running-total-box{
  border-color:#d8e0ec !important;
  background:#f8fbff !important;
  color:var(--rmj-total-text,#2c3338) !important;
  box-shadow:none !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-label,
.rmj-booking-widget .rmj-step[data-step="9"] + .rmj-running-total-box .rmj-running-total-label{
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-amount,
.rmj-booking-widget .rmj-step[data-step="9"] + .rmj-running-total-box .rmj-running-total-amount{
  color:var(--rmj-total-text,#2c3338) !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="9"] .rmj-payment-box{
    gap:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-step[data-step="9"] .rmj-paypal-payment-wrap,
  .rmj-step[data-step="9"] .rmj-booking-tip-field,
  .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    padding:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-booking-card-details-panel,
  .rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
  .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
    padding:14px 14px 12px !important;
    border-radius:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-square-card-container{
    min-height:52px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-total-row{
    padding:19px 18px !important;
    border-radius:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-note{
    padding:2px 2px 0 !important;
  }
}


/* Payment step launch polish v1.7.95 */
.rmj-step[data-step="9"] .rmj-payment-panel-head{
  gap:8px !important;
  margin-bottom:18px !important;
}
.rmj-step[data-step="9"] .rmj-payment-security-badge{
  padding:8px 13px !important;
  background:rgba(238,244,255,.7) !important;
  border-color:#dbe7fb !important;
  box-shadow:none !important;
  color:#2563eb !important;
  font-size:11px !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field,
.rmj-step[data-step="9"] .rmj-booking-tip-field,
.rmj-step[data-step="9"] .rmj-payment-summary-lines,
.rmj-step[data-step="9"] .rmj-payment-total-row{
  margin-top:0 !important;
}
.rmj-step[data-step="9"] .rmj-cardholder-field label,
.rmj-step[data-step="9"] .rmj-booking-tip-field label,
.rmj-step[data-step="9"] .rmj-payment-card-label,
.rmj-step[data-step="9"] .rmj-stripe-field-block label,
.rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field label{
  font-size:11px !important;
  font-weight:700 !important;
  color:#7b8798 !important;
}
.rmj-step[data-step="9"] .rmj-booking-card-details-panel,
.rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
.rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
  padding:14px 16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.82) !important;
}
.rmj-step[data-step="9"] .rmj-square-card-shell,
.rmj-step[data-step="9"] .rmj-stripe-card-shell{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.rmj-step[data-step="9"] .rmj-square-card-container,
.rmj-step[data-step="9"] .rmj-stripe-card-grid{
  padding:0 !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-lines{
  gap:13px !important;
  padding:20px !important;
}
.rmj-step[data-step="9"] .rmj-payment-summary-line:last-child span,
.rmj-step[data-step="9"] .rmj-payment-summary-line:last-child strong{
  font-weight:800 !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="9"] .rmj-payment-total-row{
  padding:22px 24px !important;
  border-radius:24px !important;
  box-shadow:0 12px 30px rgba(2,6,23,.18) !important;
}
.rmj-step[data-step="9"] .rmj-payment-total{
  font-size:29px !important;
  font-weight:900 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.04) !important;
}
.rmj-step[data-step="9"] .rmj-payment-note{
  color:#6f7f95 !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-box,
.rmj-booking-widget .rmj-step[data-step="9"] + .rmj-running-total-box{
  background:#f3f7fc !important;
  border-color:#d7e2f0 !important;
}
.rmj-step[data-step="9"] .rmj-step-actions .rmj-button.rmj-button-secondary{
  background:#eef2ff !important;
  border-color:#e3e8f7 !important;
  color:#1f2937 !important;
}
.rmj-step[data-step="9"] .rmj-step-actions{
  gap:12px !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="9"] .rmj-payment-box{
    gap:20px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-panel-head{
    gap:9px !important;
    margin-bottom:16px !important;
  }
  .rmj-step[data-step="9"] .rmj-booking-card-details-panel,
  .rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
  .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
    padding:12px 14px !important;
  }
  .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    padding:18px !important;
  }
  .rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-box{
    margin-bottom:2px !important;
  }
  .rmj-step[data-step="9"] .rmj-step-actions .rmj-button{
    min-height:54px !important;
  }
  .rmj-step[data-step="9"] .rmj-step-actions .rmj-button + .rmj-button{
    margin-top:2px !important;
  }
}
\n\n/* Portal payment sync + Square fix v1.7.96 */\n.rmj-client-portal .rmj-portal-card-payment-checkout,\n.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout{\n  border:1px solid #dbe3ef !important;\n  border-radius:24px !important;\n  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;\n  box-shadow:0 14px 34px rgba(15,23,42,.06) !important;\n}\n.rmj-client-portal .rmj-portal-payment-title h3,\n.rmj-booking-portal-wrap .rmj-portal-payment-title h3{\n  letter-spacing:-.02em;\n}\n.rmj-client-portal .rmj-portal-payment-form,\n.rmj-booking-portal-wrap .rmj-portal-payment-form{\n  gap:16px !important;\n}\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field label,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field label{\n  display:block;\n  margin:0 0 8px;\n  font-size:11px;\n  font-weight:700;\n  letter-spacing:.02em;\n  text-transform:uppercase;\n  color:#7b8798;\n}\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field input,\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field input,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{\n  min-height:54px;\n  border-radius:16px;\n  border:1px solid #d5deeb;\n  background:#fff;\n  box-shadow:none;\n}\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{\n  min-height:122px;\n  padding-top:16px;\n}\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field input:focus,\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea:focus,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field input:focus,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea:focus{\n  border-color:#3b82f6;\n  box-shadow:0 0 0 4px rgba(34,113,177,.12);\n}\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-payment-amount-field,\n.rmj-client-portal .rmj-portal-payment-form .rmj-portal-payment-tip-field,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-payment-amount-field,\n.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-payment-tip-field{\n  margin-top:2px;\n}\n.rmj-client-portal .rmj-portal-square-wrap,\n.rmj-client-portal .rmj-portal-stripe-wrap,\n.rmj-client-portal .rmj-portal-paypal-wrap,\n.rmj-booking-portal-wrap .rmj-portal-square-wrap,\n.rmj-booking-portal-wrap .rmj-portal-stripe-wrap,\n.rmj-booking-portal-wrap .rmj-portal-paypal-wrap{\n  margin:0 !important;\n  padding:24px !important;\n  border:1px solid #dbe3ef !important;\n  border-radius:22px !important;\n  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;\n  box-shadow:0 12px 30px rgba(15,23,42,.05) !important;\n}\n.rmj-client-portal .rmj-payment-panel-head,\n.rmj-booking-portal-wrap .rmj-payment-panel-head{\n  display:flex;\n  flex-direction:column;\n  align-items:flex-start;\n  justify-content:flex-start;\n  gap:8px;\n  margin:0 0 18px;\n}\n.rmj-client-portal .rmj-payment-panel-copy h5,\n.rmj-booking-portal-wrap .rmj-payment-panel-copy h5{\n  margin:0 0 6px;\n  font-size:20px;\n  line-height:1.2;\n  font-weight:800;\n  color:#111827;\n}\n.rmj-client-portal .rmj-payment-panel-copy p,\n.rmj-booking-portal-wrap .rmj-payment-panel-copy p{\n  margin:0;\n  font-size:14px;\n  line-height:1.55;\n  color:#64748b;\n}\n.rmj-client-portal .rmj-payment-security-badge,\n.rmj-booking-portal-wrap .rmj-payment-security-badge{\n  display:inline-flex;\n  align-items:center;\n  gap:8px;\n  align-self:flex-start;\n  padding:8px 13px;\n  border-radius:999px;\n  border:1px solid #dbe7fb;\n  background:rgba(238,244,255,.72);\n  color:#2563eb;\n  font-size:11px;\n  font-weight:800;\n  letter-spacing:.02em;\n  text-transform:uppercase;\n}\n.rmj-client-portal .rmj-payment-security-badge::before,\n.rmj-booking-portal-wrap .rmj-payment-security-badge::before{content:"🔒";line-height:1;font-size:11px;}\n.rmj-client-portal .rmj-payment-card-layout,\n.rmj-booking-portal-wrap .rmj-payment-card-layout{\n  display:grid;\n  grid-template-columns:minmax(0,1fr);\n  gap:14px;\n  align-items:start;\n}\n.rmj-client-portal .rmj-cardholder-field,\n.rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,\n.rmj-booking-portal-wrap .rmj-cardholder-field,\n.rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel{\n  margin:0;\n  min-width:0;\n}\n.rmj-client-portal .rmj-cardholder-field,\n.rmj-booking-portal-wrap .rmj-cardholder-field{display:grid;gap:8px;}\n.rmj-client-portal .rmj-payment-card-label,\n.rmj-booking-portal-wrap .rmj-payment-card-label{\n  display:block;\n  margin:0 0 10px;\n  color:#7b8798;\n  font-size:11px;\n  font-weight:700;\n  letter-spacing:.02em;\n  text-transform:uppercase;\n}\n.rmj-client-portal .rmj-square-card-shell,\n.rmj-client-portal .rmj-portal-stripe-card-shell,\n.rmj-booking-portal-wrap .rmj-square-card-shell,\n.rmj-booking-portal-wrap .rmj-portal-stripe-card-shell{\n  padding:0 !important;\n  border:0 !important;\n  background:transparent !important;\n  border-radius:0 !important;\n  box-shadow:none !important;\n}\n.rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,\n.rmj-client-portal .rmj-portal-stripe-wrap,\n.rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel,\n.rmj-booking-portal-wrap .rmj-portal-stripe-wrap{\n  padding:14px 16px !important;\n  border:1px solid #dbe3ef !important;\n  border-radius:16px !important;\n  background:rgba(255,255,255,.82) !important;\n}\n.rmj-client-portal .rmj-portal-square-errors,\n.rmj-client-portal .rmj-portal-stripe-errors,\n.rmj-booking-portal-wrap .rmj-portal-square-errors,\n.rmj-booking-portal-wrap .rmj-portal-stripe-errors{\n  margin-top:10px;\n  color:#b91c1c;\n  font-size:13px;\n  line-height:1.5;\n}\n.rmj-client-portal .rmj-portal-payment-submit button,\n.rmj-booking-portal-wrap .rmj-portal-payment-submit button{\n  min-height:56px;\n  border-radius:16px;\n  font-size:18px;\n  font-weight:800;\n}\n.rmj-client-portal .rmj-portal-card-payment-checkout .rmj-portal-notice,\n.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout .rmj-portal-notice{\n  border-radius:16px;\n}\n@media (max-width: 767px){\n  .rmj-client-portal .rmj-portal-payment-form,\n  .rmj-booking-portal-wrap .rmj-portal-payment-form{gap:12px !important;}\n  .rmj-client-portal .rmj-portal-square-wrap,\n  .rmj-client-portal .rmj-portal-stripe-wrap,\n  .rmj-client-portal .rmj-portal-paypal-wrap,\n  .rmj-booking-portal-wrap .rmj-portal-square-wrap,\n  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap,\n  .rmj-booking-portal-wrap .rmj-portal-paypal-wrap{padding:18px !important;border-radius:18px !important;}\n  .rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,\n  .rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel{padding:14px !important;border-radius:16px !important;}\n  .rmj-client-portal .rmj-portal-payment-form .rmj-portal-field input,\n  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field input{min-height:52px;}\n  .rmj-client-portal .rmj-portal-payment-submit button,\n  .rmj-booking-portal-wrap .rmj-portal-payment-submit button{min-height:58px;font-size:17px;}\n}\n

/* Portal payment UI spacing polish v1.7.99 */
.rmj-client-portal .rmj-portal-card-payment-summary,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary{
  padding:28px !important;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-summary-row,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-summary-row{
  padding:14px 0 !important;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-progress,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-progress{
  margin:18px 0 10px !important;
}
.rmj-client-portal .rmj-portal-card-payment-checkout,
.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout{
  padding:28px !important;
}
.rmj-client-portal .rmj-portal-payment-title,
.rmj-booking-portal-wrap .rmj-portal-payment-title{
  margin-bottom:18px !important;
}
.rmj-client-portal .rmj-portal-payment-form,
.rmj-booking-portal-wrap .rmj-portal-payment-form{
  gap:20px !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field{
  min-width:0;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field label,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field label{
  margin-bottom:10px !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field input,
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field input,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{
  width:100% !important;
  padding:0 16px !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{
  min-height:128px !important;
  padding:16px !important;
}
.rmj-client-portal .rmj-portal-payment-amount-field,
.rmj-client-portal .rmj-portal-payment-tip-field,
.rmj-booking-portal-wrap .rmj-portal-payment-amount-field,
.rmj-booking-portal-wrap .rmj-portal-payment-tip-field{
  align-self:start;
}
.rmj-client-portal .rmj-portal-square-wrap,
.rmj-client-portal .rmj-portal-stripe-wrap,
.rmj-client-portal .rmj-portal-paypal-wrap,
.rmj-booking-portal-wrap .rmj-portal-square-wrap,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-portal-paypal-wrap{
  padding:26px !important;
}
.rmj-client-portal .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-payment-panel-head{
  gap:8px !important;
  margin-bottom:20px !important;
}
.rmj-client-portal .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-payment-security-badge{
  padding:7px 12px !important;
  border-color:#e4ebf8 !important;
  background:rgba(241,245,255,.78) !important;
}
.rmj-client-portal .rmj-payment-card-layout,
.rmj-booking-portal-wrap .rmj-payment-card-layout{
  gap:16px !important;
}
.rmj-client-portal .rmj-cardholder-field,
.rmj-booking-portal-wrap .rmj-cardholder-field{
  gap:8px !important;
}
.rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,
.rmj-client-portal .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap{
  padding:18px 18px 16px !important;
}
.rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel > *,
.rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel > *{
  min-width:0;
}
.rmj-client-portal .rmj-portal-payment-submit,
.rmj-booking-portal-wrap .rmj-portal-payment-submit{
  margin-top:4px !important;
}
.rmj-client-portal .rmj-portal-payment-submit button,
.rmj-booking-portal-wrap .rmj-portal-payment-submit button{
  min-height:58px !important;
}
@media (min-width: 768px){
  .rmj-client-portal .rmj-portal-payment-form,
  .rmj-booking-portal-wrap .rmj-portal-payment-form{
    column-gap:18px !important;
    row-gap:20px !important;
  }
}
@media (max-width: 991px){
  .rmj-client-portal .rmj-portal-card-payment-summary,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-summary,
  .rmj-client-portal .rmj-portal-card-payment-checkout,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-checkout{
    padding:22px !important;
  }
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-card-payment-summary,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-summary,
  .rmj-client-portal .rmj-portal-card-payment-checkout,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-checkout{
    padding:18px !important;
    border-radius:22px !important;
  }
  .rmj-client-portal .rmj-portal-payment-title,
  .rmj-booking-portal-wrap .rmj-portal-payment-title{
    margin-bottom:14px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form,
  .rmj-booking-portal-wrap .rmj-portal-payment-form{
    gap:16px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-portal-field label,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field label{
    margin-bottom:8px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap,
  .rmj-client-portal .rmj-portal-stripe-wrap,
  .rmj-client-portal .rmj-portal-paypal-wrap,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap,
  .rmj-booking-portal-wrap .rmj-portal-paypal-wrap{
    padding:18px !important;
  }
  .rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,
  .rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel{
    padding:16px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-portal-field input,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field input{
    min-height:54px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{
    min-height:116px !important;
  }
}



/* Portal Square card field canonical sizing cleanup v1.8.02 */
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell{
  display:block !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #d7e0ea !important;
  border-radius:10px !important;
  background:#fbfdff !important;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container > *,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container > *,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container > *,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container > *,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container iframe,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container iframe,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container iframe,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container iframe,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container [class*="sq-"],
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container [class*="sq-"],
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container [class*="sq-"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
  box-sizing:border-box !important;
}
@media (max-width: 782px){
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell{
    padding:10px !important;
  }
}


/* Portal micro-adjustments v1.8.04 */
.rmj-client-portal .rmj-portal-payment-form,
.rmj-booking-portal-wrap .rmj-portal-payment-form{
  gap:18px !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field label,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field label,
.rmj-client-portal .rmj-payment-card-label,
.rmj-booking-portal-wrap .rmj-payment-card-label{
  margin-bottom:6px !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{
  min-height:128px !important;
}
.rmj-client-portal .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-payment-security-badge{
  padding:7px 12px !important;
  background:rgba(238,244,255,.6) !important;
}
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
.rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell,
.rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell{
  min-height:52px !important;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-square-wrap,
  .rmj-client-portal .rmj-portal-stripe-wrap,
  .rmj-client-portal .rmj-portal-paypal-wrap,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap,
  .rmj-booking-portal-wrap .rmj-portal-paypal-wrap{
    padding:16px !important;
  }
  .rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,
  .rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel{
    padding:12px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form,
  .rmj-booking-portal-wrap .rmj-portal-payment-form{
    gap:16px !important;
  }
}


/* Portal final mobile polish v1.8.05b */
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-payment-form,
  .rmj-booking-portal-wrap .rmj-portal-payment-form{
    gap:12px !important;
  }
  .rmj-client-portal .rmj-payment-card-field.rmj-card-details-panel,
  .rmj-booking-portal-wrap .rmj-payment-card-field.rmj-card-details-panel{
    padding:10px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-shell,
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-shell{
    padding:8px !important;
    min-height:0 !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-square-card-container,
  .rmj-client-portal .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-card-details-panel .rmj-portal-square-card-container{
    min-height:0 !important;
  }
  .rmj-client-portal .rmj-portal-payment-form .rmj-portal-field textarea,
  .rmj-booking-portal-wrap .rmj-portal-payment-form .rmj-portal-field textarea{
    min-height:112px !important;
  }
}


/* Portal final UI polish pass v1.8.06 */
.rmj-client-portal .rmj-portal-wrap,
.rmj-booking-portal-wrap .rmj-portal-wrap,
.rmj-portal-wrap{
  position:relative;
}
.rmj-client-portal .rmj-portal-header,
.rmj-booking-portal-wrap .rmj-portal-header,
.rmj-portal-wrap .rmj-portal-header{
  gap:18px !important;
  margin-bottom:4px;
}
.rmj-client-portal .rmj-portal-header h2,
.rmj-booking-portal-wrap .rmj-portal-header h2,
.rmj-portal-wrap .rmj-portal-header h2{
  letter-spacing:-.03em;
}
.rmj-client-portal .rmj-portal-header p,
.rmj-booking-portal-wrap .rmj-portal-header p,
.rmj-portal-wrap .rmj-portal-header p{
  max-width:860px;
  line-height:1.65;
}
.rmj-client-portal .rmj-portal-badges,
.rmj-booking-portal-wrap .rmj-portal-badges,
.rmj-portal-wrap .rmj-portal-badges{
  gap:8px !important;
}
.rmj-client-portal .rmj-portal-badge,
.rmj-booking-portal-wrap .rmj-portal-badge,
.rmj-portal-wrap .rmj-portal-badge{
  min-height:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}
.rmj-client-portal .rmj-portal-card,
.rmj-booking-portal-wrap .rmj-portal-card,
.rmj-portal-wrap .rmj-portal-card{
  border-radius:22px !important;
  padding:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  box-shadow:0 16px 36px rgba(15,23,42,.06) !important;
}
.rmj-client-portal .rmj-portal-section-title,
.rmj-booking-portal-wrap .rmj-portal-section-title,
.rmj-portal-wrap .rmj-portal-section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px !important;
}
.rmj-client-portal .rmj-portal-section-title h3,
.rmj-booking-portal-wrap .rmj-portal-section-title h3,
.rmj-portal-wrap .rmj-portal-section-title h3{
  margin:0;
  letter-spacing:-.025em;
  line-height:1.15;
}
.rmj-client-portal .rmj-portal-section-title small,
.rmj-booking-portal-wrap .rmj-portal-section-title small,
.rmj-portal-wrap .rmj-portal-section-title small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:14px;
  line-height:1.55;
}
.rmj-client-portal .rmj-portal-row,
.rmj-booking-portal-wrap .rmj-portal-row,
.rmj-portal-wrap .rmj-portal-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid #edf2f7;
}
.rmj-client-portal .rmj-portal-row:last-child,
.rmj-booking-portal-wrap .rmj-portal-row:last-child,
.rmj-portal-wrap .rmj-portal-row:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.rmj-client-portal .rmj-portal-row:first-child,
.rmj-booking-portal-wrap .rmj-portal-row:first-child,
.rmj-portal-wrap .rmj-portal-row:first-child{
  padding-top:0;
}
.rmj-client-portal .rmj-portal-row strong,
.rmj-booking-portal-wrap .rmj-portal-row strong,
.rmj-portal-wrap .rmj-portal-row strong{
  color:#0f172a;
  font-weight:700;
}
.rmj-client-portal .rmj-portal-row span,
.rmj-booking-portal-wrap .rmj-portal-row span,
.rmj-portal-wrap .rmj-portal-row span{
  color:#0f172a;
  text-align:right;
  word-break:break-word;
}
.rmj-client-portal .rmj-portal-action-center,
.rmj-booking-portal-wrap .rmj-portal-action-center,
.rmj-portal-wrap .rmj-portal-action-center{
  padding:22px 22px 20px !important;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
  gap:8px !important;
  margin-top:10px !important;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn{
  min-height:48px !important;
  border-radius:16px !important;
  padding:0 16px !important;
  font-size:13px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn.is-active,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn.is-active,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn.is-active{
  box-shadow:0 10px 24px rgba(59,130,246,.18) !important;
}
.rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-panels,
.rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panels,
.rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-panels{
  margin-top:16px !important;
}
.rmj-client-portal .rmj-portal-payment-layout,
.rmj-booking-portal-wrap .rmj-portal-payment-layout,
.rmj-portal-wrap .rmj-portal-payment-layout,
.rmj-client-portal .rmj-portal-dashboard-grid,
.rmj-booking-portal-wrap .rmj-portal-dashboard-grid,
.rmj-portal-wrap .rmj-portal-dashboard-grid,
.rmj-client-portal .rmj-portal-support-grid,
.rmj-booking-portal-wrap .rmj-portal-support-grid,
.rmj-portal-wrap .rmj-portal-support-grid{
  gap:20px !important;
}
.rmj-client-portal .rmj-portal-progress,
.rmj-booking-portal-wrap .rmj-portal-progress,
.rmj-portal-wrap .rmj-portal-progress{
  margin:20px 0 12px !important;
}
.rmj-client-portal .rmj-portal-progress-bar,
.rmj-booking-portal-wrap .rmj-portal-progress-bar,
.rmj-portal-wrap .rmj-portal-progress-bar{
  height:12px;
  border-radius:999px;
  background:#e8eef8;
  overflow:hidden;
}
.rmj-client-portal .rmj-portal-progress-fill,
.rmj-booking-portal-wrap .rmj-portal-progress-fill,
.rmj-portal-wrap .rmj-portal-progress-fill{
  border-radius:999px;
}
.rmj-client-portal .rmj-portal-progress-meta,
.rmj-booking-portal-wrap .rmj-portal-progress-meta,
.rmj-portal-wrap .rmj-portal-progress-meta{
  margin-top:10px;
  font-size:14px;
  color:#64748b;
}
.rmj-client-portal .rmj-portal-payment-history-toggle,
.rmj-booking-portal-wrap .rmj-portal-payment-history-toggle,
.rmj-portal-wrap .rmj-portal-payment-history-toggle{
  margin-top:18px;
  border:1px solid #e5ecf5;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.rmj-client-portal .rmj-portal-payment-history-toggle summary,
.rmj-booking-portal-wrap .rmj-portal-payment-history-toggle summary,
.rmj-portal-wrap .rmj-portal-payment-history-toggle summary{
  padding:14px 16px;
  cursor:pointer;
}
.rmj-client-portal .rmj-portal-payment-history-summary-copy strong,
.rmj-booking-portal-wrap .rmj-portal-payment-history-summary-copy strong,
.rmj-portal-wrap .rmj-portal-payment-history-summary-copy strong{
  display:block;
  color:#0f172a;
  font-size:15px;
}
.rmj-client-portal .rmj-portal-payment-history-summary-copy small,
.rmj-booking-portal-wrap .rmj-portal-payment-history-summary-copy small,
.rmj-portal-wrap .rmj-portal-payment-history-summary-copy small{
  display:block;
  margin-top:4px;
  line-height:1.45;
}
.rmj-client-portal .rmj-portal-history,
.rmj-booking-portal-wrap .rmj-portal-history,
.rmj-portal-wrap .rmj-portal-history{
  padding:0 14px 14px;
}
.rmj-client-portal .rmj-portal-history-accordion,
.rmj-booking-portal-wrap .rmj-portal-history-accordion,
.rmj-portal-wrap .rmj-portal-history-accordion{
  border-radius:14px;
}
.rmj-client-portal .rmj-portal-notice,
.rmj-booking-portal-wrap .rmj-portal-notice,
.rmj-portal-wrap .rmj-portal-notice,
.rmj-client-portal .rmj-portal-error,
.rmj-booking-portal-wrap .rmj-portal-error,
.rmj-portal-wrap .rmj-portal-error,
.rmj-client-portal .rmj-portal-success,
.rmj-booking-portal-wrap .rmj-portal-success,
.rmj-portal-wrap .rmj-portal-success{
  border-radius:16px !important;
  line-height:1.6;
}
.rmj-client-portal .rmj-portal-field,
.rmj-booking-portal-wrap .rmj-portal-field,
.rmj-portal-wrap .rmj-portal-field{
  gap:8px;
}
.rmj-client-portal .rmj-portal-field label,
.rmj-booking-portal-wrap .rmj-portal-field label,
.rmj-portal-wrap .rmj-portal-field label{
  line-height:1.35;
}
.rmj-client-portal .rmj-portal-field input,
.rmj-client-portal .rmj-portal-field select,
.rmj-client-portal .rmj-portal-field textarea,
.rmj-booking-portal-wrap .rmj-portal-field input,
.rmj-booking-portal-wrap .rmj-portal-field select,
.rmj-booking-portal-wrap .rmj-portal-field textarea,
.rmj-portal-wrap .rmj-portal-field input,
.rmj-portal-wrap .rmj-portal-field select,
.rmj-portal-wrap .rmj-portal-field textarea{
  border-radius:16px !important;
}
.rmj-client-portal .rmj-portal-actions,
.rmj-client-portal .rmj-portal-doc-actions,
.rmj-booking-portal-wrap .rmj-portal-actions,
.rmj-booking-portal-wrap .rmj-portal-doc-actions,
.rmj-portal-wrap .rmj-portal-actions,
.rmj-portal-wrap .rmj-portal-doc-actions{
  gap:8px !important;
}
.rmj-client-portal .rmj-portal-btn,
.rmj-client-portal .rmj-portal-actions a,
.rmj-client-portal .rmj-portal-actions button,
.rmj-client-portal .rmj-portal-doc-actions a,
.rmj-booking-portal-wrap .rmj-portal-btn,
.rmj-booking-portal-wrap .rmj-portal-actions a,
.rmj-booking-portal-wrap .rmj-portal-actions button,
.rmj-booking-portal-wrap .rmj-portal-doc-actions a,
.rmj-portal-wrap .rmj-portal-btn,
.rmj-portal-wrap .rmj-portal-actions a,
.rmj-portal-wrap .rmj-portal-actions button,
.rmj-portal-wrap .rmj-portal-doc-actions a{
  min-height:48px !important;
  border-radius:16px !important;
  font-weight:700 !important;
}
.rmj-client-portal .rmj-portal-empty,
.rmj-booking-portal-wrap .rmj-portal-empty,
.rmj-portal-wrap .rmj-portal-empty{
  padding:16px 18px;
  border:1px dashed #d7e2ee;
  border-radius:16px;
  background:#fbfdff;
  color:#64748b;
  line-height:1.6;
}
.rmj-client-portal .rmj-portal-modal-dialog,
.rmj-booking-portal-wrap .rmj-portal-modal-dialog,
.rmj-portal-wrap .rmj-portal-modal-dialog{
  border-radius:24px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}
.rmj-client-portal .rmj-portal-modal-header,
.rmj-booking-portal-wrap .rmj-portal-modal-header,
.rmj-portal-wrap .rmj-portal-modal-header{
  padding-bottom:16px;
}
.rmj-client-portal .rmj-portal-modal-close,
.rmj-booking-portal-wrap .rmj-portal-modal-close,
.rmj-portal-wrap .rmj-portal-modal-close{
  border-radius:14px;
}
@media (max-width: 991px){
  .rmj-client-portal .rmj-portal-card,
  .rmj-booking-portal-wrap .rmj-portal-card,
  .rmj-portal-wrap .rmj-portal-card{
    padding:20px !important;
  }
  .rmj-client-portal .rmj-portal-payment-layout,
  .rmj-booking-portal-wrap .rmj-portal-payment-layout,
  .rmj-portal-wrap .rmj-portal-payment-layout,
  .rmj-client-portal .rmj-portal-dashboard-grid,
  .rmj-booking-portal-wrap .rmj-portal-dashboard-grid,
  .rmj-portal-wrap .rmj-portal-dashboard-grid,
  .rmj-client-portal .rmj-portal-support-grid,
  .rmj-booking-portal-wrap .rmj-portal-support-grid,
  .rmj-portal-wrap .rmj-portal-support-grid{
    gap:16px !important;
  }
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-wrap,
  .rmj-booking-portal-wrap .rmj-portal-wrap,
  .rmj-portal-wrap{
    border-radius:24px !important;
  }
  .rmj-client-portal .rmj-portal-card,
  .rmj-booking-portal-wrap .rmj-portal-card,
  .rmj-portal-wrap .rmj-portal-card{
    padding:18px !important;
    border-radius:18px !important;
  }
  .rmj-client-portal .rmj-portal-row,
  .rmj-booking-portal-wrap .rmj-portal-row,
  .rmj-portal-wrap .rmj-portal-row{
    grid-template-columns:1fr;
    gap:6px;
  }
  .rmj-client-portal .rmj-portal-row span,
  .rmj-booking-portal-wrap .rmj-portal-row span,
  .rmj-portal-wrap .rmj-portal-row span{
    text-align:left;
  }
  .rmj-client-portal .rmj-portal-action-center,
  .rmj-booking-portal-wrap .rmj-portal-action-center,
  .rmj-portal-wrap .rmj-portal-action-center{
    padding:18px !important;
  }
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher{
    gap:8px !important;
  }
  .rmj-client-portal .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
  .rmj-booking-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
  .rmj-portal-wrap .rmj-portal-action-center .rmj-portal-tab-switcher .rmj-portal-tab-btn,
  .rmj-client-portal .rmj-portal-btn,
  .rmj-client-portal .rmj-portal-actions a,
  .rmj-client-portal .rmj-portal-actions button,
  .rmj-client-portal .rmj-portal-doc-actions a,
  .rmj-booking-portal-wrap .rmj-portal-btn,
  .rmj-booking-portal-wrap .rmj-portal-actions a,
  .rmj-booking-portal-wrap .rmj-portal-actions button,
  .rmj-booking-portal-wrap .rmj-portal-doc-actions a,
  .rmj-portal-wrap .rmj-portal-btn,
  .rmj-portal-wrap .rmj-portal-actions a,
  .rmj-portal-wrap .rmj-portal-actions button,
  .rmj-portal-wrap .rmj-portal-doc-actions a{
    min-height:46px !important;
  }
  .rmj-client-portal .rmj-portal-payment-history-toggle summary,
  .rmj-booking-portal-wrap .rmj-portal-payment-history-toggle summary,
  .rmj-portal-wrap .rmj-portal-payment-history-toggle summary{
    padding:13px 14px;
  }
}


/* Portal micro polish v1.8.06b */
.rmj-client-portal .rmj-portal-completion-card,
.rmj-booking-portal-wrap .rmj-portal-completion-card,
.rmj-portal-wrap .rmj-portal-completion-card{
  margin-top:10px !important;
}

.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-payment-history-toggle,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-payment-history-toggle,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-payment-history-toggle{
  margin-top:20px;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history{
  padding:0 12px 12px;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-accordion summary,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-accordion summary,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-accordion summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 10px;
  align-items:start;
  padding:14px;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-summary-arrow,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-arrow,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-arrow{
  grid-row:1 / span 2;
  align-self:center;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-summary-main,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  min-width:0;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-summary-main strong,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main strong,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main strong{
  flex:0 0 auto;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-summary-main em,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main em,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-main em{
  flex:0 0 auto;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-summary-meta,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-meta,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-summary-meta{
  grid-column:2;
  justify-content:flex-start;
  text-align:left;
  width:100%;
  font-size:12px;
  line-height:1.45;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-details,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-details,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-details{
  padding:0 14px 14px 42px;
}
.rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-detail-row,
.rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-detail-row,
.rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-detail-row{
  gap:10px;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-completion-card,
  .rmj-booking-portal-wrap .rmj-portal-completion-card,
  .rmj-portal-wrap .rmj-portal-completion-card{
    margin-top:8px !important;
  }
  .rmj-client-portal .rmj-portal-card-payment-summary .rmj-portal-history-details,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-details,
  .rmj-portal-wrap .rmj-portal-card-payment-summary .rmj-portal-history-details{
    padding:0 14px 14px;
  }
}

/* Portal payment intro micro-polish v1.8.06c */
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
  padding:16px 18px !important;
  border:1px solid #e3ebf7 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy{
  display:grid;
  gap:6px;
  max-width:640px;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  letter-spacing:-.015em !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.6 !important;
  color:#5f6f86 !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-security-badge,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-security-badge{
  margin-top:2px !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-cardholder-field > label,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-cardholder-field > label,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-cardholder-field > label,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-cardholder-field > label{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-card-label,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-card-label,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-card-label,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-card-label{
  margin:0 0 12px !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
    padding:14px 15px !important;
    border-radius:16px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5{
    font-size:17px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-cardholder-field > label,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-cardholder-field > label,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-cardholder-field > label,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-cardholder-field > label,
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-card-label,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-card-label,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-card-label,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-card-label{
    font-size:14px !important;
  }
}


/* Portal payment intro polish v1.8.06d */
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
  padding:0 0 16px !important;
  margin:2px 0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e3ebf7 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  gap:0 !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy{
  display:grid !important;
  gap:4px !important;
  max-width:560px !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-security-badge,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-security-badge,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-security-badge{
  display:none !important;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
    padding:0 0 14px !important;
    margin:0 0 16px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5{
    font-size:17px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy p,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p{
    font-size:13px !important;
  }
}


/* Portal payment header final polish v1.8.06e */
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
  display:block !important;
  padding:0 0 14px !important;
  margin:6px 0 18px !important;
  border:0 !important;
  border-bottom:1px solid #e2e8f0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy{
  display:grid !important;
  gap:5px !important;
  max-width:620px !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5 a,
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5 span,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 a,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 span,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5 a,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5 span,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 a,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 span,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5 a,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5 span,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 a,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5 span{
  margin:0 !important;
  padding:0 !important;
  color:var(--rmj-total-text,#2c3338) !important;
  -webkit-text-fill-color:var(--rmj-total-text,#2c3338) !important;
  text-fill-color:var(--rmj-total-text,#2c3338) !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:-0.015em !important;
  background:none !important;
  text-shadow:none !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p{
  margin:0 !important;
  color:var(--rmj-total-text,#2c3338) !important;
  font-size:14px !important;
  line-height:1.55 !important;
  max-width:620px !important;
}
.rmj-client-portal .rmj-portal-square-wrap .rmj-payment-card-layout,
.rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-card-layout,
.rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-card-layout,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-card-layout,
.rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-card-layout,
.rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-card-layout{
  gap:16px !important;
}
@media (max-width: 767px){
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head,
  .rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-head,
  .rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-head{
    margin:4px 0 16px !important;
    padding:0 0 12px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5,
  .rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy h5,
  .rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy h5{
    font-size:14px !important;
  }
  .rmj-client-portal .rmj-portal-square-wrap .rmj-payment-panel-copy p,
  .rmj-client-portal .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
  .rmj-booking-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
  .rmj-booking-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p,
  .rmj-portal-wrap .rmj-portal-square-wrap .rmj-payment-panel-copy p,
  .rmj-portal-wrap .rmj-portal-stripe-wrap .rmj-payment-panel-copy p{
    font-size:13px !important;
  }
}

.rmj-selector-category-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1;margin:0 0 12px;flex-wrap:wrap}
.rmj-selector-category-title{font-size:18px;font-weight:700;color:#111827}
.rmj-selector-category-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.rmj-selector-category-card{cursor:pointer}
.rmj-selector-category-card .rmj-option-thumb.is-empty{display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#64748b;min-height:220px}
.rmj-public-gallery-category-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.rmj-public-gallery-category-title{font-size:20px;font-weight:700;color:var(--rmj-public-gallery-title)}
.rmj-public-gallery-category-card{cursor:pointer}
@media (max-width: 767px){.rmj-selector-category-toolbar,.rmj-public-gallery-category-toolbar{align-items:flex-start}.rmj-selector-category-title,.rmj-public-gallery-category-title{font-size:18px}}

/* Selector category view spacing cleanup: old sticky action bar overlap padding removed after mobile footer moved back in-widget. */
.rmj-step[data-step="6"] .rmj-selector-step-shell,
.rmj-step[data-step="7"] .rmj-selector-step-shell{
  padding-bottom: 0 !important;
}
.rmj-step[data-step="6"] .rmj-category-grid,
.rmj-step[data-step="7"] .rmj-category-grid,
.rmj-step[data-step="6"] .rmj-selector-category-grid,
.rmj-step[data-step="7"] .rmj-selector-category-grid{
  margin-bottom: 12px !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="6"] .rmj-selector-step-shell,
  .rmj-step[data-step="7"] .rmj-selector-step-shell{
    padding-bottom: 0 !important;
  }
}

/* Final selector category card position refine: restore original placement, hide titles; old sticky-overlap spacer removed. */
.rmj-step[data-step="6"] .rmj-selector-step-shell,
.rmj-step[data-step="7"] .rmj-selector-step-shell{
  padding-bottom: 0 !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
.rmj-step[data-step="6"] .rmj-category-grid,
.rmj-step[data-step="6"] .rmj-selector-category-grid,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
.rmj-step[data-step="7"] .rmj-category-grid,
.rmj-step[data-step="7"] .rmj-selector-category-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,340px)) !important;
  justify-content:flex-start !important;
  align-items:start !important;
  gap:16px !important;
  margin:0 0 16px !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-card,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-category-card,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-card,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-category-card{
  display:block !important;
  width:100% !important;
  max-width:340px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-thumb{
  width:100% !important;
  height:280px !important;
  min-height:280px !important;
  max-height:280px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#f3f4f6 !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-body,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-body,
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-title,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-title,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-title,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-title,
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-desc{
  display:none !important;
}
@media (max-width: 767px){
  .rmj-step[data-step="6"] .rmj-selector-step-shell,
  .rmj-step[data-step="7"] .rmj-selector-step-shell{
    padding-bottom: 0 !important;
  }
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-selector-category-grid,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-selector-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="6"] .rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="6"] .rmj-category-grid .rmj-category-card,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="7"] .rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="7"] .rmj-category-grid .rmj-category-card{
    max-width:none !important;
  }
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
  .rmj-step[data-step="6"] .rmj-category-grid .rmj-option-thumb,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
  .rmj-step[data-step="7"] .rmj-category-grid .rmj-option-thumb{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}


/* Selector category full-image masonry layout + category-step action cleanup */
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
.rmj-step[data-step="6"] .rmj-category-grid,
.rmj-step[data-step="6"] .rmj-selector-category-grid,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
.rmj-step[data-step="7"] .rmj-category-grid,
.rmj-step[data-step="7"] .rmj-selector-category-grid{
  display:block !important;
  column-width:260px !important;
  column-gap:18px !important;
  column-fill:balance !important;
  margin:0 0 16px !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-card,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-category-card,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-card,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-category-card{
  display:inline-block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 0 18px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;
  page-break-inside:avoid !important;
  vertical-align:top !important;
  overflow:visible !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-thumb{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#f3f4f6 !important;
  display:block !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-thumb img,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-thumb img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center top !important;
  border-radius:22px !important;
  background:#fff !important;
}
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-body,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-body,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-body,
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-title,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-title,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-title,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-title,
.rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="6"] .rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-desc,
.rmj-step[data-step="7"] .rmj-category-grid .rmj-option-desc{
  display:none !important;
}
@media (max-width:1024px){
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-selector-category-grid,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-selector-category-grid{column-width:220px !important;column-gap:14px !important;}
}
@media (max-width:767px){
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-category-grid,
  .rmj-step[data-step="6"] .rmj-selector-category-grid,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-category-grid,
  .rmj-step[data-step="7"] .rmj-selector-category-grid{column-width:160px !important;column-gap:12px !important;margin-bottom:0 !important;}
  .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="6"] .rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="6"] .rmj-category-grid .rmj-category-card,
  .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="7"] .rmj-category-grid .rmj-option-card,
  .rmj-step[data-step="7"] .rmj-category-grid .rmj-category-card{margin-bottom:12px !important;}
}

.rmj-step.rmj-selector-categories-enabled .rmj-next-step{display:none!important;}
.rmj-step.rmj-selector-categories-enabled .rmj-selector-skip-step{display:inline-flex!important;}

/* Selector action lock: hide Continue when selector categories are enabled */
.rmj-step-actions[data-rmj-selector-actions][data-rmj-hide-continue="1"] .rmj-next-step{display:none !important;}
.rmj-step-actions[data-rmj-selector-actions][data-rmj-hide-continue="1"] .rmj-selector-skip-step{display:inline-flex !important;}
.rmj-step[data-rmj-selector-categories-enabled="1"] .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-next-step{display:none !important;}

/* Backdrop category landing page only: keep category cards readable without altering template category cards */
.rmj-step[data-step="7"] .rmj-selector-category-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:22px;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card{
  cursor:pointer;
  padding:0 !important;
  gap:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  display:block !important;
  min-height:0 !important;
  height:auto !important;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card .rmj-option-thumb{
  width:100% !important;
  height:340px !important;
  min-height:340px !important;
  max-height:340px !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#f3f4f6 !important;
  display:block !important;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card .rmj-option-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card .rmj-option-thumb.is-empty{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f8fafc !important;
  color:var(--rmj-total-text,#2c3338) !important;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card .rmj-option-body{
  display:block !important;
  padding:14px 14px 16px !important;
  min-height:0 !important;
}
.rmj-step[data-step="7"] .rmj-selector-category-grid .rmj-selector-category-card .rmj-option-title{
  display:block !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#111827 !important;
}


/* Final selector UI polish v2.5 */
.rmj-selector-card .rmj-selector-preview-trigger,
.rmj-selector-card .rmj-selector-card-media .rmj-selector-preview-trigger,
.rmj-selector-card .rmj-selector-card-media [data-rmj-selector-preview]{display:none !important;}

.rmj-selector-grid[data-rmj-selector-view="categories"],
.rmj-template-selector-grid[data-rmj-selector-view="categories"],
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"]{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:18px !important;
  column-width:auto !important;
  column-gap:18px !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 12px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.06) !important;
  overflow:hidden !important;
  break-inside:auto !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb{
  width:100% !important;
  aspect-ratio:4/3 !important;
  border-radius:0 !important;
  padding:0 !important;
  background:#f8fafc !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb img,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb img,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-body,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-body,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-body{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 14px 0 !important;
  text-align:center !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-head,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-head,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-head{
  justify-content:center !important;
}
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
}

/* Category-item layout is handled by scoped booking selector/public-gallery rules above.
   Removed old global grid rule so it cannot override booking masonry. */

.rmj-selector-preview-modal{
  padding:18px !important;
}
.rmj-selector-preview-dialog{
  width:auto !important;
  max-width:min(92vw,920px) !important;
  max-height:none !important;
  padding:0 !important;
  gap:12px !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  grid-template-rows:auto auto !important;
}
.rmj-selector-preview-close{
  top:12px !important;
  right:12px !important;
  width:42px !important;
  height:42px !important;
  border:none !important;
  background:rgba(15,23,42,.78) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.18) !important;
}
.rmj-selector-preview-media{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  overflow:visible !important;
}
.rmj-selector-preview-image-shell{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
}
.rmj-selector-preview-media img{
  width:auto !important;
  max-width:min(92vw,920px) !important;
  max-height:min(78vh,760px) !important;
  height:auto !important;
  border-radius:24px !important;
  box-shadow:0 28px 72px rgba(15,23,42,.24) !important;
  background:#fff !important;
}
.rmj-selector-preview-content{
  display:grid !important;
  gap:8px !important;
  width:min(100%,520px) !important;
  margin:0 auto !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.16) !important;
}
.rmj-selector-preview-caption{
  margin:0 !important;
  text-align:center !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  color:#111827 !important;
}
.rmj-selector-preview-actions{
  padding-top:0 !important;
  border-top:none !important;
}
@media (max-width: 767px){
  .rmj-selector-grid[data-rmj-selector-view="categories"],
  .rmj-template-selector-grid[data-rmj-selector-view="categories"],
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
  .rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title{
    font-size:17px !important;
  }
  .rmj-selector-preview-modal{padding:10px !important;}
  .rmj-selector-preview-media img{max-width:calc(100vw - 20px) !important; max-height:60vh !important; border-radius:18px !important;}
  .rmj-selector-preview-content{width:min(100%,94vw) !important; padding:12px 14px !important;}
  .rmj-selector-preview-actions .rmj-button{width:100% !important;}
}

/* Final selector polish v2.6 */
.rmj-template-selector-grid[data-rmj-selector-view="categories"],
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"],
.rmj-selector-grid[data-rmj-selector-view="categories"]{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(320px,360px)) !important;
  justify-content:flex-start !important;
  align-items:start !important;
  gap:18px !important;
  column-count:initial !important;
}
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card{
  width:100% !important;
  max-width:360px !important;
  align-self:start !important;
  justify-self:start !important;
}
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb,
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-thumb{
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
}
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title,
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card .rmj-option-title{
  text-align:center !important;
}

/* Remove any leftover per-card preview/expand controls; clicking the card opens preview */
.rmj-selector-card .rmj-selector-card-media > :not(img):not(span),
.rmj-option-card.rmj-selector-card .rmj-selector-card-media > :not(img):not(span),
.rmj-selector-card [data-rmj-selector-preview],
.rmj-selector-card .rmj-selector-preview-trigger,
.rmj-selector-card button[aria-label*="Expand"],
.rmj-selector-card button[aria-label*="Preview"],
.rmj-selector-card a[aria-label*="Expand"],
.rmj-selector-card a[aria-label*="Preview"]{
  display:none !important;
}

/* Image-first popup footer cleanup */
.rmj-selector-preview-content{
  width:min(100%,560px) !important;
  gap:12px !important;
  padding:18px !important;
  border-radius:18px !important;
}
.rmj-selector-preview-caption{
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-align:center !important;
}
.rmj-selector-preview-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:100% !important;
}
.rmj-selector-preview-actions .rmj-button{
  width:100% !important;
  min-height:52px !important;
  justify-content:center !important;
  border-radius:14px !important;
}

@media (max-width: 767px){
  .rmj-template-selector-grid[data-rmj-selector-view="categories"],
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"],
  .rmj-selector-grid[data-rmj-selector-view="categories"]{
    grid-template-columns:1fr !important;
  }
  .rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
  .rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card{
    max-width:none !important;
  }
  .rmj-selector-preview-actions{
    grid-template-columns:1fr !important;
  }
}


/* Final booking widget polish v2.7 */
.rmj-booking-widget{
  scroll-behavior:smooth;
}
.rmj-step{
  display:none;
  pointer-events:none;
}
.rmj-step.is-active{
  display:flex;
  flex-direction:column;
  gap:var(--rmj-section-spacing,22px);
  pointer-events:auto;
  animation:rmjStepFadeIn .16s ease both;
}
@keyframes rmjStepFadeIn{
  from{opacity:0}
  to{opacity:1}
}
.rmj-booking-widget .rmj-step-header{
  scroll-margin-top:24px;
}
.rmj-booking-widget .rmj-step-header,
.rmj-booking-widget .rmj-card,
.rmj-booking-widget .rmj-option-card,
.rmj-booking-widget .rmj-selector-card .rmj-selector-card-media,
.rmj-booking-widget .rmj-selector-category-card,
.rmj-booking-widget .rmj-payment-option,
.rmj-booking-widget .rmj-payment-box,
.rmj-booking-widget .rmj-square-payment-wrap{
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
.rmj-booking-widget .rmj-button,
.rmj-booking-widget button,
.rmj-booking-widget input,
.rmj-booking-widget select,
.rmj-booking-widget textarea,
.rmj-booking-widget .rmj-option-card{
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .18s ease, opacity .18s ease;
}
.rmj-booking-widget .rmj-button:focus-visible,
.rmj-booking-widget button:focus-visible,
.rmj-booking-widget input:focus-visible,
.rmj-booking-widget select:focus-visible,
.rmj-booking-widget textarea:focus-visible,
.rmj-booking-widget .rmj-option-card:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
}
.rmj-booking-widget .rmj-step-actions{
  align-items:center;
  row-gap:12px;
}
.rmj-booking-widget .rmj-step-actions .rmj-button{
  min-height:52px;
}
.rmj-booking-widget .rmj-grid,
.rmj-booking-widget .rmj-meta-grid,
.rmj-booking-widget .rmj-selector-step-shell,
.rmj-booking-widget .rmj-payment-box{
  gap:min(18px,var(--rmj-section-spacing,22px));
}
.rmj-template-selector-grid[data-rmj-selector-view="categories"],
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"],
.rmj-selector-grid[data-rmj-selector-view="categories"]{
  grid-template-columns:repeat(auto-fit,minmax(260px,320px)) !important;
  justify-content:flex-start !important;
  gap:18px !important;
}
.rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
.rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card{
  max-width:320px !important;
}
.rmj-selector-preview-content{
  width:min(100%,600px) !important;
  gap:12px !important;
  padding:18px !important;
}
.rmj-selector-preview-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  width:100% !important;
}
.rmj-selector-preview-actions .rmj-button{
  width:100% !important;
  min-height:52px !important;
}
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step-actions{
    align-items:stretch;
  }
  .rmj-booking-widget .rmj-step-actions .rmj-button,
  .rmj-booking-widget .rmj-step-actions .rmj-button-secondary{
    width:100%;
  }
  .rmj-template-selector-grid[data-rmj-selector-view="categories"],
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"],
  .rmj-selector-grid[data-rmj-selector-view="categories"]{
    grid-template-columns:1fr !important;
  }
  .rmj-template-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
  .rmj-backdrop-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card,
  .rmj-selector-grid[data-rmj-selector-view="categories"] .rmj-selector-category-card{
    max-width:none !important;
  }
  .rmj-selector-preview-actions{
    grid-template-columns:1fr !important;
  }
}


/* Final portal selector cleanup */
.rmj-inline-field-error{display:block;margin-top:6px;font-size:12px;font-weight:700;color:#dc2626}
.rmj-portal-template-customization-modal .rmj-portal-template-modal-line-1.rmj-field-error{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important;background:#fff5f5!important}
.rmj-portal-template-customization-modal [data-rmj-template-line1-error][hidden]{display:none!important}

.rmj-portal-selector-modal .rmj-portal-selector-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-nav,
.rmj-portal-selector-modal .rmj-portal-selector-actions{
  display:flex!important;
  flex:1 1 0!important;
  gap:12px!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-nav{justify-content:flex-start!important}
.rmj-portal-selector-modal .rmj-portal-selector-actions{justify-content:flex-end!important}
.rmj-portal-selector-modal .rmj-portal-selector-nav .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-actions .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-nav button,
.rmj-portal-selector-modal .rmj-portal-selector-actions button{
  min-height:50px!important;
  width:100%!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-actions:only-child,
.rmj-portal-selector-modal .rmj-portal-selector-nav:only-child{flex:0 0 320px!important}
.rmj-portal-selector-modal .rmj-portal-selector-actions:only-child .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-actions:only-child button,
.rmj-portal-selector-modal .rmj-portal-selector-nav:only-child .rmj-portal-btn,
.rmj-portal-selector-modal .rmj-portal-selector-nav:only-child button{width:100%!important}

.rmj-portal-selector-modal .rmj-portal-selector-preview-modal{
  position:fixed!important;
  inset:0!important;
  padding:22px!important;
  z-index:100120!important;
  align-items:center!important;
  justify-content:center!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(15,23,42,.70)!important;
  backdrop-filter:blur(4px)!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
  position:relative!important;
  z-index:1!important;
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  max-height:min(90vh,860px)!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.30)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:0!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-header{
  padding:18px 22px 14px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-kicker{margin-bottom:12px!important}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy h4{
  margin:0 0 8px!important;
  font-size:28px!important;
  line-height:1.12!important;
  color:#0f172a!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy p{
  margin:0!important;
  color:#64748b!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-close{
  top:14px!important;
  right:14px!important;
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
  background:#475569!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 12px 24px rgba(15,23,42,.18)!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media{
  padding:18px 22px!important;
  background:#fff!important;
  border:none!important;
  overflow:auto!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{
  width:100%!important;
  min-height:340px!important;
  border-radius:22px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%)!important;
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  max-height:min(54vh,520px)!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-content{
  padding:16px 22px 22px!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  padding:0!important;
  border-top:none!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-actions .rmj-button{
  width:100%!important;
  min-height:54px!important;
  min-width:0!important;
  border-radius:16px!important;
}
@media (max-width: 782px){
  .rmj-portal-selector-modal .rmj-portal-selector-footer{flex-direction:column!important}
  .rmj-portal-selector-modal .rmj-portal-selector-nav,
  .rmj-portal-selector-modal .rmj-portal-selector-actions,
  .rmj-portal-selector-modal .rmj-portal-selector-actions:only-child,
  .rmj-portal-selector-modal .rmj-portal-selector-nav:only-child{width:100%!important;flex:1 1 auto!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal{padding:10px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{width:min(100%,96vw)!important;border-radius:22px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-header{padding:16px 18px 12px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-header-copy h4{font-size:24px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media{padding:14px 18px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{min-height:240px!important;padding:12px!important;border-radius:18px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media img{max-height:min(44vh,360px)!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-content{padding:14px 18px 18px!important}
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-actions{grid-template-columns:1fr!important}
}

/* Preview full-image fix v1.8.7.6.85 */
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
  max-height:min(94vh,980px)!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media{
  padding:18px 22px!important;
  overflow:auto!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  padding:18px!important;
  overflow:visible!important;
}
.rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media img,
.rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:min(72vh,760px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto!important;
}
@media (max-width: 782px){
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-dialog{
    max-height:calc(100vh - 16px)!important;
  }
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-image-shell{
    padding:12px!important;
  }
  .rmj-portal-selector-modal .rmj-portal-selector-preview-modal .rmj-selector-preview-media img,
  .rmj-portal-selector-preview-modal .rmj-selector-preview-media img{
    max-height:min(62vh,620px)!important;
  }
}


/* Frontend default button/theme normalization v1.8.7.6.87
   Booking widget only. Client portal buttons are intentionally controlled
   by the portal source-of-truth styles printed with the portal markup. */
.rmj-booking-widget{
  --rmj-frontend-primary-bg: var(--rmj-button-bg,#2271b1);
  --rmj-frontend-primary-hover: var(--rmj-button-hover,#135e96);
  --rmj-frontend-primary-text: var(--rmj-button-text,#ffffff);
  --rmj-frontend-primary-text-hover: var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff));
  --rmj-frontend-secondary-bg: var(--rmj-button-secondary-bg,#f6f7f7);
  --rmj-frontend-secondary-hover: var(--rmj-button-secondary-hover,#f0f0f1);
  --rmj-frontend-secondary-text: var(--rmj-button-secondary-text,#111827);
  --rmj-frontend-secondary-text-hover: var(--rmj-button-secondary-text-hover,var(--rmj-button-secondary-text,#111827));
  --rmj-frontend-secondary-border: color-mix(in srgb,var(--rmj-frontend-secondary-bg,#f6f7f7) 68%,#111827 32%);
  --rmj-frontend-disabled-bg: #f6f7f7;
  --rmj-frontend-disabled-text: #50575e;
  --rmj-frontend-disabled-border: #dcdcde;
}

.rmj-booking-widget .rmj-button,
.rmj-booking-widget button.rmj-button{
  background: var(--rmj-frontend-primary-bg) !important;
  border: 1px solid var(--rmj-frontend-primary-bg) !important;
  color: var(--rmj-frontend-primary-text) !important;
}

.rmj-booking-widget .rmj-button:hover,
.rmj-booking-widget button.rmj-button:hover{
  background: var(--rmj-frontend-primary-hover) !important;
  border-color: var(--rmj-frontend-primary-hover) !important;
  color: var(--rmj-frontend-primary-text-hover) !important;
}

.rmj-booking-widget .rmj-button-secondary,
.rmj-booking-widget button.rmj-button-secondary{
  background: var(--rmj-frontend-secondary-bg) !important;
  border: 1px solid var(--rmj-frontend-secondary-border) !important;
  color: var(--rmj-frontend-secondary-text) !important;
}

.rmj-booking-widget .rmj-button-secondary:hover,
.rmj-booking-widget button.rmj-button-secondary:hover{
  background: var(--rmj-frontend-secondary-hover) !important;
  border-color: var(--rmj-frontend-secondary-border) !important;
  color: var(--rmj-frontend-secondary-text-hover) !important;
}

.rmj-booking-widget .rmj-button[disabled],
.rmj-booking-widget .rmj-button[aria-disabled="true"]{
  background: var(--rmj-frontend-disabled-bg) !important;
  border-color: var(--rmj-frontend-disabled-border) !important;
  color: var(--rmj-frontend-disabled-text) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Event Flow Pro v1.8.7.7.04 frontend included items subtle feature rows */
.rmj-package-card .rmj-option-body,
.rmj-package-group-grid .rmj-package-card .rmj-option-body{
  gap: 14px !important;
}
.rmj-package-card .rmj-option-desc,
.rmj-package-group-grid .rmj-package-card .rmj-option-desc{
  flex: 0 0 auto !important;
  margin-top: 0 !important;
  min-height: 0 !important;
}
.rmj-package-card .rmj-option-foot,
.rmj-package-group-grid .rmj-package-card .rmj-option-foot{
  margin-top: 0 !important;
  padding-top: 0 !important;
  gap: 0 !important;
}
.rmj-package-card .rmj-included-list,
.rmj-package-group-grid .rmj-package-card .rmj-included-list{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  margin-top: 2px !important;
  padding-top: 0 !important;
}
.rmj-package-card .rmj-included-label,
.rmj-package-group-grid .rmj-package-card .rmj-included-label{
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.rmj-package-card .rmj-included-grid,
.rmj-package-group-grid .rmj-package-card .rmj-included-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 16px !important;
  width: 100% !important;
  align-items: start !important;
}
.rmj-package-card .rmj-included-row,
.rmj-package-group-grid .rmj-package-card .rmj-included-row{
  display: grid !important;
  grid-template-columns: 16px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--rmj-included-bg, #f3f4f6) 42%, white) !important;
  box-shadow: none !important;
}
.rmj-package-card .rmj-included-row-icon,
.rmj-package-group-grid .rmj-package-card .rmj-included-row-icon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  border-radius: 999px !important;
  background: rgba(34, 197, 94, 0.12) !important;
  color: #16a34a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin-top: 1px !important;
}
.rmj-package-card .rmj-included-row-text,
.rmj-package-group-grid .rmj-package-card .rmj-included-row-text{
  display: block !important;
  color: var(--rmj-included-text, #111827) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}
.rmj-package-card.is-selected .rmj-included-row,
.rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row{
  background: color-mix(in srgb, var(--rmj-included-bg-selected, var(--rmj-included-bg, #f3f4f6)) 48%, white) !important;
}
.rmj-package-card.is-selected .rmj-included-row-text,
.rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row-text{
  color: var(--rmj-included-text-selected, var(--rmj-included-text, #111827)) !important;
}
@media (max-width: 767px){
  .rmj-package-card .rmj-included-grid,
  .rmj-package-group-grid .rmj-package-card .rmj-included-grid{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .rmj-package-card .rmj-included-row,
  .rmj-package-group-grid .rmj-package-card .rmj-included-row{
    padding: 8px 10px !important;
  }
}

/* v1.8.7.7.05 frontend included-items polish */
.rmj-package-card .rmj-included-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 16px;
  align-items:start;
  align-content:start;
  min-height:0;
  margin-top:0;
  padding-top:8px;
}
.rmj-package-card .rmj-included-pill{
  display:flex;
  align-items:flex-start;
  gap:6px;
  padding:6px 10px;
  border-radius:8px;
  background:rgba(15,23,42,.035)!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--rmj-included-text,#111827)!important;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
}
.rmj-package-card .rmj-included-pill:hover{
  background:rgba(15,23,42,.055)!important;
  border-color:transparent!important;
  transform:none;
  box-shadow:none;
}
.rmj-package-card .rmj-included-pill-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  margin-top:2px;
  background:rgba(34,197,94,.14);
  color:#15803d;
  font-size:9px;
}
.rmj-package-card .rmj-included-pill-text{
  display:block;
  line-height:1.25;
}
@media (max-width:767px){
  .rmj-package-card .rmj-included-list{
    grid-template-columns:1fr;
    gap:8px;
  }
}


/* v1.8.7.7.06 frontend included-items final polish actual active row selectors */
.rmj-package-card .rmj-included-list,
.rmj-package-group-grid .rmj-package-card .rmj-included-list{
  gap: 10px !important;
}
.rmj-package-card .rmj-included-grid,
.rmj-package-group-grid .rmj-package-card .rmj-included-grid{
  gap: 8px 14px !important;
}
.rmj-package-card .rmj-included-row,
.rmj-package-group-grid .rmj-package-card .rmj-included-row{
  gap: 6px !important;
  padding: 6px 9px !important;
  border-radius: 7px !important;
  background: rgba(15,23,42,.025) !important;
}
.rmj-package-card .rmj-included-row:hover,
.rmj-package-group-grid .rmj-package-card .rmj-included-row:hover{
  background: rgba(15,23,42,.038) !important;
}
.rmj-package-card .rmj-included-row-icon,
.rmj-package-group-grid .rmj-package-card .rmj-included-row-icon{
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  font-size: 9px !important;
  margin-top: 2px !important;
  background: rgba(34,197,94,.12) !important;
}
.rmj-package-card .rmj-included-row-text,
.rmj-package-group-grid .rmj-package-card .rmj-included-row-text{
  font-size: 13px !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
}
.rmj-package-card.is-selected .rmj-included-row,
.rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row{
  background: rgba(15,23,42,.035) !important;
}
@media (max-width: 767px){
  .rmj-package-card .rmj-included-grid,
  .rmj-package-group-grid .rmj-package-card .rmj-included-grid{
    gap: 7px !important;
  }
  .rmj-package-card .rmj-included-row,
  .rmj-package-group-grid .rmj-package-card .rmj-included-row{
    padding: 6px 9px !important;
  }
}


/* v1.8.7.7.07 frontend included-items masonry spacing fix */
.rmj-package-card .rmj-included-grid,
.rmj-package-group-grid .rmj-package-card .rmj-included-grid{
  display:block !important;
  column-count:2 !important;
  column-gap:12px !important;
  width:100% !important;
}
.rmj-package-card .rmj-included-row,
.rmj-package-group-grid .rmj-package-card .rmj-included-row{
  break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;
  page-break-inside:avoid !important;
  margin:0 0 8px !important;
  width:100% !important;
}
.rmj-package-card .rmj-included-grid > .rmj-included-row:last-child,
.rmj-package-group-grid .rmj-package-card .rmj-included-grid > .rmj-included-row:last-child{
  margin-bottom:0 !important;
}
@media (max-width: 767px){
  .rmj-package-card .rmj-included-grid,
  .rmj-package-group-grid .rmj-package-card .rmj-included-grid{
    column-count:1 !important;
    column-gap:0 !important;
  }
  .rmj-package-card .rmj-included-row,
  .rmj-package-group-grid .rmj-package-card .rmj-included-row{
    margin-bottom:7px !important;
  }
}

/* Package highlight badges */
.rmj-package-card.has-package-highlight,.rmj-package-group-grid .rmj-package-card.has-package-highlight{transform:scale(1.015);z-index:2;border-color:rgba(124,58,237,.28);box-shadow:0 16px 36px rgba(15,23,42,.10),0 0 0 2px rgba(124,58,237,.08)}
.rmj-package-card.has-package-highlight:hover,.rmj-package-group-grid .rmj-package-card.has-package-highlight:hover{transform:translateY(-2px) scale(1.02)}
.rmj-package-card.is-highlight-most_popular,.rmj-package-group-grid .rmj-package-card.is-highlight-most_popular{border-color:rgba(124,58,237,.30);box-shadow:0 18px 42px rgba(124,58,237,.14),0 0 0 2px rgba(124,58,237,.10)}
.rmj-package-card.is-highlight-best_value,.rmj-package-group-grid .rmj-package-card.is-highlight-best_value{border-color:rgba(16,185,129,.28);box-shadow:0 18px 42px rgba(16,185,129,.12),0 0 0 2px rgba(16,185,129,.08)}
.rmj-package-card.has-package-highlight .rmj-option-thumb,.rmj-package-group-grid .rmj-package-card.has-package-highlight .rmj-option-thumb{overflow:visible}
.rmj-package-highlight-badge{position:absolute;top:18px;left:18px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.01em;line-height:1;border:1px solid transparent;box-shadow:0 12px 24px rgba(15,23,42,.14)}
.rmj-package-highlight-badge--most_popular{background:#7c3aed;color:#ffffff;border-color:transparent}
.rmj-package-highlight-badge--best_value{background:#059669;color:#ffffff;border-color:transparent}
@media (max-width: 767px){.rmj-package-card.has-package-highlight,.rmj-package-group-grid .rmj-package-card.has-package-highlight{transform:none}.rmj-package-card.has-package-highlight:hover,.rmj-package-group-grid .rmj-package-card.has-package-highlight:hover{transform:translateY(-2px)}.rmj-package-highlight-badge{top:14px;left:14px;font-size:11px;min-height:30px;padding:6px 10px}}

.rmj-booking-widget[data-rmj-editor-preview-mode="1"] .rmj-global-form-message{display:none!important;}
.rmj-booking-widget[data-rmj-editor-preview-mode="1"] .rmj-empty-state{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;}
.rmj-booking-widget .rmj-payment-security-badge,.rmj-booking-widget .rmj-selector-selected-badge{transition:background .2s ease,color .2s ease,border-color .2s ease;}


/* Frontend widget editor/style sync hardening v1.8.7.24s9l */
.rmj-booking-widget .rmj-step-actions .rmj-next-step,
.rmj-booking-widget .rmj-step-actions button[type="submit"],
.rmj-booking-widget .rmj-button:not(.rmj-button-secondary){
  background: var(--rmj-button-bg, #2271b1) !important;
  border-color: var(--rmj-button-bg, #2271b1) !important;
  color: var(--rmj-button-text, #ffffff) !important;
}
.rmj-booking-widget .rmj-step-actions .rmj-next-step:hover,
.rmj-booking-widget .rmj-step-actions button[type="submit"]:hover,
.rmj-booking-widget .rmj-button:not(.rmj-button-secondary):hover{
  background: var(--rmj-button-hover, #135e96) !important;
  border-color: var(--rmj-button-hover, #135e96) !important;
  color: var(--rmj-button-text-hover, var(--rmj-button-text, #ffffff)) !important;
}
.rmj-booking-widget .rmj-button:focus-visible,
.rmj-booking-widget button:focus-visible,
.rmj-booking-widget input:focus-visible,
.rmj-booking-widget select:focus-visible,
.rmj-booking-widget textarea:focus-visible,
.rmj-booking-widget .rmj-option-card:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rmj-accent, #2563eb) 18%, transparent) !important;
}

/* Shared accent / bubble inheritance */
.rmj-booking-widget .rmj-selector-selected-badge,
.rmj-booking-widget .rmj-payment-security-badge,
.rmj-booking-widget .rmj-package-highlight-badge,
.rmj-booking-widget .rmj-multi-service-confirm-icon,
.rmj-booking-widget .rmj-multi-service-confirm-kicker{
  color: var(--rmj-accent-text, #ffffff) !important;
}
.rmj-booking-widget .rmj-selector-selected-badge,
.rmj-booking-widget .rmj-payment-security-badge{
  background: var(--rmj-accent-soft, rgba(34,113,177,.12)) !important;
  border-color: color-mix(in srgb, var(--rmj-accent, #2271b1) 28%, white) !important;
  color: var(--rmj-accent, #2271b1) !important;
}
.rmj-booking-widget .rmj-payment-security-badge::before{
  color: inherit !important;
}
.rmj-booking-widget .rmj-multi-service-confirm-icon{
  background: var(--rmj-accent-soft, rgba(34,113,177,.12)) !important;
  color: var(--rmj-accent, #2271b1) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rmj-accent, #2271b1) 18%, white) !important;
}
.rmj-booking-widget .rmj-multi-service-confirm-kicker{
  color: var(--rmj-accent, #2271b1) !important;
}
.rmj-booking-widget .rmj-package-highlight-badge--most_popular,
.rmj-booking-widget .rmj-package-highlight-badge--best_value{
  background: #7c3aed !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

/* Selected-state consistency */
.rmj-booking-widget .rmj-selector-card.is-selected,
.rmj-booking-widget .rmj-option-card.is-selected,
.rmj-booking-widget .rmj-payment-option.is-selected,
.rmj-booking-widget .rmj-payment-method-option.is-selected{
  border-color: var(--rmj-card-selected-border, var(--rmj-accent, #2271b1)) !important;
}
.rmj-booking-widget .rmj-selector-card.is-selected .rmj-selector-card-media,
.rmj-booking-widget .rmj-option-card.rmj-selector-card.is-selected .rmj-selector-card-media{
  border-color: var(--rmj-card-selected-border, var(--rmj-accent, #2271b1)) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rmj-accent, #2271b1) 14%, transparent) !important;
}

/* Selected card badge polish (v1.0.4 beta.7)
   Uses the existing selected border/accent color as the single source of truth. */
.rmj-booking-widget .rmj-option-card.rmj-service-card,
.rmj-booking-widget .rmj-option-card.rmj-package-card,
.rmj-booking-widget .rmj-option-card.rmj-addon-card{
  position: relative;
}
.rmj-booking-widget .rmj-option-card.rmj-service-card.is-selected,
.rmj-booking-widget .rmj-option-card.rmj-package-card.is-selected,
.rmj-booking-widget .rmj-option-card.rmj-addon-card.is-selected{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15,23,42,.12), 0 0 0 3px color-mix(in srgb, var(--rmj-card-selected-border, var(--rmj-accent, #2271b1)) 20%, transparent) !important;
  animation: rmj-selected-card-confirm .26s ease-out;
}
.rmj-booking-widget .rmj-option-card.rmj-service-card.is-selected::after,
.rmj-booking-widget .rmj-option-card.rmj-package-card.is-selected::after,
.rmj-booking-widget .rmj-option-card.rmj-addon-card.is-selected::after{
  content: "✓ Selected";
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--rmj-highlight-bg, var(--rmj-card-selected-border, var(--rmj-accent, #2271b1)));
  color: var(--rmj-highlight-text, #fff);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--rmj-highlight-bg, var(--rmj-card-selected-border, var(--rmj-accent, #2271b1))) 30%, transparent);
  pointer-events: none;
}
@keyframes rmj-selected-card-confirm{
  0%{transform:translateY(0) scale(1);}
  55%{transform:translateY(-2px) scale(1.018);}
  100%{transform:translateY(-2px) scale(1);}
}
@media (max-width:520px){
  .rmj-booking-widget .rmj-option-card.rmj-service-card.is-selected::after,
  .rmj-booking-widget .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-option-card.rmj-addon-card.is-selected::after{
    top: 10px;
    right: 10px;
    min-height: 26px;
    padding: 6px 9px;
    font-size: 10px;
  }
}


/* Shared bubble styling unification v1.8.7.24s9r */
.rmj-booking-widget .rmj-hours-pill,
.rmj-booking-widget .rmj-included-pill,
.rmj-booking-widget .rmj-selector-selected-badge,
.rmj-booking-widget .rmj-payment-security-badge,
.rmj-booking-widget .rmj-package-highlight-badge,
.rmj-booking-widget .rmj-multi-service-confirm-kicker,
.rmj-booking-widget .rmj-option-price,
.rmj-booking-widget .rmj-service-card-chip,
.rmj-booking-widget .rmj-template-card-chip,
.rmj-booking-widget .rmj-backdrop-card-chip{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border: 1px solid color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 18%, white) !important;
}
.rmj-booking-widget .rmj-option-card.is-selected .rmj-hours-pill,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-included-pill,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-selector-selected-badge,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-package-highlight-badge,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-option-price,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-service-card-chip,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-template-card-chip,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-backdrop-card-chip{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border: 1px solid color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 18%, white) !important;
}
.rmj-booking-widget .rmj-included-pill-icon,
.rmj-booking-widget .rmj-package-highlight-badge::before,
.rmj-booking-widget .rmj-payment-security-badge::before{
  color: inherit !important;
  background: color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 14%, white) !important;
}
.rmj-booking-widget .rmj-included-pill,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-included-pill{
  box-shadow: none !important;
}
.rmj-booking-widget .rmj-included-pill-icon,
.rmj-booking-widget .rmj-multi-service-confirm-icon{
  background: color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 10%, white) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
}


/* Event Flow Pro booking widget reset baseline */
.rmj-booking-widget--unstyled{background:transparent!important;color:inherit!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;font-size:inherit!important;font-family:inherit!important;gap:20px!important;overflow:visible!important}
.rmj-booking-widget--unstyled *{box-shadow:none!important}
.rmj-booking-widget--unstyled .rmj-widget-brand{margin:0 0 16px!important}
.rmj-booking-widget--unstyled .rmj-step{display:none}
.rmj-booking-widget--unstyled .rmj-step.is-active{display:block}
.rmj-booking-widget--unstyled .rmj-step-header,
.rmj-booking-widget--unstyled .rmj-overview-box,
.rmj-booking-widget--unstyled .rmj-coupon-box,
.rmj-booking-widget--unstyled .rmj-contract-item,
.rmj-booking-widget--unstyled .rmj-payment-box,
.rmj-booking-widget--unstyled .rmj-running-total-box,
.rmj-booking-widget--unstyled .rmj-option-card,
.rmj-booking-widget--unstyled .rmj-payment-option,
.rmj-booking-widget--unstyled .rmj-sidebar-card,
.rmj-booking-widget--unstyled .rmj-inline-calendar,
.rmj-booking-widget--unstyled .rmj-admin-mode-bar{background:transparent!important;color:inherit!important;border:0!important;border-radius:0!important;padding:0!important}
.rmj-booking-widget--unstyled .rmj-step-header{text-align:left!important}
.rmj-booking-widget--unstyled .rmj-step-header h4,
.rmj-booking-widget--unstyled .rmj-step-header p,
.rmj-booking-widget--unstyled .rmj-option-title,
.rmj-booking-widget--unstyled .rmj-option-desc,
.rmj-booking-widget--unstyled .rmj-group-heading,
.rmj-booking-widget--unstyled .rmj-overview-box h5,
.rmj-booking-widget--unstyled .rmj-overview-box,
.rmj-booking-widget--unstyled .rmj-payment-option,
.rmj-booking-widget--unstyled .rmj-contract-note,
.rmj-booking-widget--unstyled .rmj-field-group label,
.rmj-booking-widget--unstyled .rmj-booking-form label{color:inherit!important;font-size:inherit!important;font-family:inherit!important}
.rmj-booking-widget--unstyled .rmj-step-header h4{margin:0 0 8px!important;font-weight:600!important}
.rmj-booking-widget--unstyled .rmj-step-header p{margin:0!important;opacity:1!important}
.rmj-booking-widget--unstyled .rmj-field-group{gap:6px!important}
.rmj-booking-widget--unstyled input,
.rmj-booking-widget--unstyled select,
.rmj-booking-widget--unstyled textarea,
.rmj-booking-widget--unstyled .rmj-cardholder-field input,
.rmj-booking-widget--unstyled .rmj-booking-widget .rmj-cardholder-field .rmj-cardholder-name{background:#fff!important;color:#1d2327!important;border:1px solid #8c8f94!important;border-radius:4px!important;padding:8px 10px!important;min-height:auto!important;height:auto!important;line-height:normal!important}
.rmj-booking-widget--unstyled input::placeholder,
.rmj-booking-widget--unstyled textarea::placeholder{color:#646970!important;opacity:1!important}
.rmj-booking-widget--unstyled .rmj-button,
.rmj-booking-widget--unstyled button,
.rmj-booking-widget--unstyled a.rmj-button{background:var(--rmj-button-bg,#2271b1)!important;color:var(--rmj-button-text,#fff)!important;border:1px solid var(--rmj-button-bg,#2271b1)!important;border-radius:4px!important;padding:8px 14px!important;min-height:auto!important;text-decoration:none!important;transform:none!important}
.rmj-booking-widget--unstyled .rmj-button:hover,
.rmj-booking-widget--unstyled button:hover,
.rmj-booking-widget--unstyled a.rmj-button:hover{background:var(--rmj-button-hover,#135e96)!important;color:var(--rmj-button-text-hover,var(--rmj-button-text,#fff))!important;box-shadow:none!important}
.rmj-booking-widget--unstyled .rmj-button.secondary,
.rmj-booking-widget--unstyled .rmj-button.rmj-secondary,
.rmj-booking-widget--unstyled .rmj-step-actions .rmj-button:first-child{background:#f6f7f7!important;color:#2c3338!important;border-color:#8c8f94!important}
.rmj-booking-widget--unstyled .rmj-grid,
.rmj-booking-widget--unstyled .rmj-meta-grid,
.rmj-booking-widget--unstyled .rmj-card-grid,
.rmj-booking-widget--unstyled .rmj-package-group-grid,
.rmj-booking-widget--unstyled .rmj-addon-group-grid,
.rmj-booking-widget--unstyled .rmj-service-grid{display:grid!important;gap:16px!important}
.rmj-booking-widget--unstyled .rmj-card-grid,
.rmj-booking-widget--unstyled .rmj-package-group-grid,
.rmj-booking-widget--unstyled .rmj-addon-group-grid,
.rmj-booking-widget--unstyled .rmj-service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
.rmj-booking-widget--unstyled .rmj-option-card,
.rmj-booking-widget--unstyled .rmj-payment-option{border:1px solid #dcdcde!important;padding:16px!important}
.rmj-booking-widget--unstyled .rmj-option-card.is-selected,
.rmj-booking-widget--unstyled .rmj-option-card.selected,
.rmj-booking-widget--unstyled .rmj-payment-option.is-selected,
.rmj-booking-widget--unstyled .rmj-payment-option.selected{border-color:var(--rmj-calendar-selected,#2271b1)!important;background:var(--rmj-card-selected-background,#f0f6fc)!important}
.rmj-booking-widget--unstyled .rmj-inline-calendar{display:block!important;border:1px solid #dcdcde!important;padding:12px!important}
.rmj-booking-widget--unstyled .rmj-calendar-header{display:grid!important;grid-template-columns:40px 1fr 40px!important;align-items:center!important;gap:8px!important;margin-bottom:12px!important}
.rmj-booking-widget--unstyled .rmj-calendar-weekdays,
.rmj-booking-widget--unstyled .rmj-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}
.rmj-booking-widget--unstyled .rmj-calendar-weekdays div,
.rmj-booking-widget--unstyled .rmj-calendar-day{border:1px solid #dcdcde!important;border-radius:4px!important;min-height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;color:#1d2327!important;padding:6px!important}
.rmj-booking-widget--unstyled .rmj-calendar-day.is-selected,
.rmj-booking-widget--unstyled .rmj-calendar-day.selected{background:var(--rmj-calendar-selected,#2271b1)!important;color:var(--rmj-calendar-selected-text,#fff)!important;border-color:var(--rmj-calendar-selected,#2271b1)!important}
.rmj-booking-widget--unstyled .rmj-price-badge,
.rmj-booking-widget--unstyled .rmj-hours-badge,
.rmj-booking-widget--unstyled .rmj-included-pill,
.rmj-booking-widget--unstyled .rmj-option-badge,
.rmj-booking-widget--unstyled .rmj-package-badge,
.rmj-booking-widget--unstyled .rmj-addon-badge{background:#f6f7f7!important;color:#2c3338!important;border:1px solid #dcdcde!important;border-radius:999px!important;padding:4px 10px!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
.rmj-booking-widget--unstyled .rmj-step-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex-wrap:wrap!important;position:static!important;background:transparent!important;padding-top:0!important}
.rmj-booking-widget--unstyled .rmj-running-total-box{margin-right:auto!important;border:1px solid #dcdcde!important;padding:12px!important;min-width:180px!important}
.rmj-booking-widget--unstyled .rmj-form-message{font-weight:600!important}
@media (max-width:767px){
  .rmj-booking-widget--unstyled .rmj-card-grid,
  .rmj-booking-widget--unstyled .rmj-package-group-grid,
  .rmj-booking-widget--unstyled .rmj-addon-group-grid,
  .rmj-booking-widget--unstyled .rmj-service-grid{grid-template-columns:1fr!important}
  .rmj-booking-widget--unstyled .rmj-step-actions{flex-direction:column!important;align-items:stretch!important}
  .rmj-booking-widget--unstyled .rmj-step-actions .rmj-button{width:100%!important}
  .rmj-booking-widget--unstyled .rmj-running-total-box{margin-right:0!important;width:100%!important}
}


/* v1.8.7.24s9s shared bubble system for included items */
.rmj-booking-widget .rmj-included-row,
.rmj-booking-widget .rmj-package-card .rmj-included-row,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row,
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-row,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border: 1px solid color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 18%, white) !important;
  box-shadow: none !important;
}
.rmj-booking-widget .rmj-included-row:hover,
.rmj-booking-widget .rmj-package-card .rmj-included-row:hover,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row:hover{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border-color: color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 22%, white) !important;
  transform: none !important;
}
.rmj-booking-widget .rmj-included-row-text,
.rmj-booking-widget .rmj-package-card .rmj-included-row-text,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row-text,
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-row-text,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row-text{
  color: var(--rmj-bubble-text, #2c3338) !important;
}
.rmj-booking-widget .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-card .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row-icon{
  background: color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 10%, white) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border-radius: 999px !important;
}


/* v1.8.7.24s9t bubble check icon control */
.rmj-booking-widget .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-card .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row-icon{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--rmj-bubble-check, var(--rmj-bubble-text, #2c3338)) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}


/* Booking widget neutral popup + event type validation v1.8.7.24s9x */
.rmj-booking-widget .rmj-multi-service-confirm-dialog,
.rmj-booking-widget .rmj-multi-service-confirm-dialog *{
  font-family: inherit !important;
}
.rmj-booking-widget .rmj-multi-service-confirm-icon{
  background: #f6f7f7 !important;
  color: var(--rmj-text, #2c3338) !important;
  box-shadow: inset 0 0 0 1px #dcdcde !important;
}
.rmj-booking-widget .rmj-multi-service-confirm-kicker{
  background: transparent !important;
  border: 0 !important;
  color: var(--rmj-text, #2c3338) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
.rmj-booking-widget .rmj-multi-service-confirm-dialog h3,
.rmj-booking-widget .rmj-multi-service-confirm-text,
.rmj-booking-widget .rmj-multi-service-confirm-close{
  font-family: inherit !important;
}
.rmj-booking-widget .rmj-event-type-field .rmj-required-indicator{
  color: #dc2626;
  font-weight: 700;
  margin-left: 6px;
  font-size: 12px;
}
.rmj-booking-widget .rmj-event-type-field.rmj-field-required-error label{
  color: #b91c1c !important;
}

/* v1.8.7.24s9ae card border controls + independent package highlight badges */
.rmj-booking-widget .rmj-option-card:hover,
.rmj-booking-widget .rmj-selector-card:hover,
.rmj-booking-widget .rmj-payment-option:hover,
.rmj-booking-widget .rmj-payment-method-option:hover{
  border-color: var(--rmj-card-hover-border, #8c8f94) !important;
}
.rmj-booking-widget .rmj-option-card.is-selected,
.rmj-booking-widget .rmj-selector-card.is-selected,
.rmj-booking-widget .rmj-payment-option.is-selected,
.rmj-booking-widget .rmj-payment-method-option.is-selected{
  border-color: var(--rmj-card-selected-border, #2271b1) !important;
}
.rmj-booking-widget--unstyled .rmj-option-card:hover,
.rmj-booking-widget--unstyled .rmj-selector-card:hover,
.rmj-booking-widget--unstyled .rmj-payment-option:hover,
.rmj-booking-widget--unstyled .rmj-payment-method-option:hover{
  border-color: var(--rmj-card-hover-border, #8c8f94) !important;
}
.rmj-booking-widget--unstyled .rmj-option-card.is-selected,
.rmj-booking-widget--unstyled .rmj-option-card.selected,
.rmj-booking-widget--unstyled .rmj-selector-card.is-selected,
.rmj-booking-widget--unstyled .rmj-payment-option.is-selected,
.rmj-booking-widget--unstyled .rmj-payment-option.selected,
.rmj-booking-widget--unstyled .rmj-payment-method-option.is-selected{
  border-color: var(--rmj-card-selected-border, #2271b1) !important;
}
.rmj-booking-widget .rmj-package-highlight-badge,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-package-highlight-badge{
  border: 1px solid transparent !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}
.rmj-booking-widget .rmj-package-highlight-badge--most_popular,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-package-highlight-badge--most_popular{
  background: #7c3aed !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
.rmj-booking-widget .rmj-package-highlight-badge--best_value,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-package-highlight-badge--best_value{
  background: #059669 !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
.rmj-booking-widget .rmj-package-highlight-badge::before,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-package-highlight-badge::before{
  background: transparent !important;
  color: inherit !important;
}

/* v1.8.7.24s9af payment-step style mapping fix
   Keeps final payment page controls tied to the shared widget styling system. */
.rmj-booking-widget .rmj-step-actions .rmj-running-total-box,
.rmj-booking-widget--unstyled .rmj-step-actions .rmj-running-total-box,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-step-actions .rmj-running-total-box{
  background: var(--rmj-total-bg, #f6f7f7) !important;
  color: var(--rmj-total-text, #2c3338) !important;
  border: 1px solid var(--rmj-total-border, #dcdcde) !important;
}
.rmj-booking-widget .rmj-running-total-box .rmj-running-total-label,
.rmj-booking-widget .rmj-running-total-box .rmj-running-total-amount,
.rmj-booking-widget--unstyled .rmj-running-total-box .rmj-running-total-label,
.rmj-booking-widget--unstyled .rmj-running-total-box .rmj-running-total-amount,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-running-total-box .rmj-running-total-label,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-running-total-box .rmj-running-total-amount{
  color: var(--rmj-total-text, #2c3338) !important;
}

.rmj-booking-widget .rmj-button.rmj-button-secondary,
.rmj-booking-widget button.rmj-button.rmj-button-secondary,
.rmj-booking-widget a.rmj-button.rmj-button-secondary,
.rmj-booking-widget--unstyled .rmj-button.rmj-button-secondary,
.rmj-booking-widget--unstyled button.rmj-button.rmj-button-secondary,
.rmj-booking-widget--unstyled a.rmj-button.rmj-button-secondary{
  background: var(--rmj-button-secondary-bg, #f6f7f7) !important;
  color: var(--rmj-button-secondary-text, #2c3338) !important;
  border-color: var(--rmj-button-secondary-bg, #dcdcde) !important;
}
.rmj-booking-widget .rmj-button.rmj-button-secondary:hover,
.rmj-booking-widget button.rmj-button.rmj-button-secondary:hover,
.rmj-booking-widget a.rmj-button.rmj-button-secondary:hover,
.rmj-booking-widget--unstyled .rmj-button.rmj-button-secondary:hover,
.rmj-booking-widget--unstyled button.rmj-button.rmj-button-secondary:hover,
.rmj-booking-widget--unstyled a.rmj-button.rmj-button-secondary:hover{
  background: var(--rmj-button-secondary-hover, var(--rmj-button-secondary-bg, #f0f0f1)) !important;
  color: var(--rmj-button-secondary-text-hover, var(--rmj-button-secondary-text, #2c3338)) !important;
  border-color: var(--rmj-button-secondary-hover, var(--rmj-button-secondary-bg, #dcdcde)) !important;
}

.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-total-row,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-total-row{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border: 1px solid color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 18%, white) !important;
}
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-total-row span,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-total-row strong,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-total,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-total-row span,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-total-row strong,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-total{
  color: var(--rmj-bubble-text, #2c3338) !important;
}

.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option:hover,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.is-selected,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.selected,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option:hover,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option.is-selected,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option.selected{
  background: var(--rmj-bubble-bg, #f6f7f7) !important;
  color: var(--rmj-bubble-text, #2c3338) !important;
  border-color: color-mix(in srgb, var(--rmj-bubble-text, #2c3338) 28%, white) !important;
}
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option:hover .rmj-payment-option-label,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option:hover strong,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.is-selected .rmj-payment-option-label,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.is-selected strong,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.selected .rmj-payment-option-label,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.selected strong{
  color: var(--rmj-bubble-text, #2c3338) !important;
}
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.is-selected::before,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option.selected::before{
  background: var(--rmj-bubble-text, #2c3338) !important;
}

/* Event Flow Pro v1.8.7.24s9ag-redo: keep the Payment Order Summary total row readable.
   This row is the light-card order summary total, not the dark/bubble "Total due today" pill.
   It must not inherit bubble, running-total, or button text colors. */
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-payment-summary-line:last-child span,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-payment-summary-line:last-child strong,
.rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-summary-total,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-payment-summary-line:last-child span,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-payment-summary-line:last-child strong,
.rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-summary-lines .rmj-summary-total{
  color:#1d2327 !important;
  background:transparent !important;
  -webkit-text-fill-color:#1d2327 !important;
}

/* Event Flow Pro beta.7: body-level mobile booking footer dock.
   Desktop keeps in-widget sticky actions. Mobile/tablet uses a body-level dock so theme footers/chat layers cannot cover it. */
.rmj-booking-widget,
.rmj-booking-widget .rmj-step,
.rmj-booking-widget .rmj-field,
.rmj-booking-widget .rmj-field-wrap,
.rmj-booking-widget .rmj-form-grid{
  overflow:visible!important;
}
@supports selector(:has(*)){
  .elementor-widget-container:has(.rmj-booking-widget),
  .elementor-section:has(.rmj-booking-widget),
  .elementor-container:has(.rmj-booking-widget),
  .elementor-column:has(.rmj-booking-widget),
  .elementor-widget-wrap:has(.rmj-booking-widget){
    overflow:visible!important;
    transform:none!important;
    contain:initial!important;
  }
}
@media (min-width:1025px){
  .rmj-booking-widget .rmj-step.is-active .rmj-step-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:50!important;
    width:100%!important;
    padding-top:12px!important;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 35%,rgba(255,255,255,1))!important;
  }
}
.efp-mobile-booking-footer-dock{
  display:none;
}
@media (max-width:1024px){
  body.rmj-booking-widget-mobile-footer-active{
    padding-bottom:calc(178px + env(safe-area-inset-bottom,0px))!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked{
    padding-bottom:calc(178px + env(safe-area-inset-bottom,0px))!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]){
    padding-bottom:calc(178px + env(safe-area-inset-bottom,0px))!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]) > .rmj-step-actions{
    visibility:hidden!important;
    pointer-events:none!important;
    height:0!important;
    min-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active{
    position:fixed!important;
    left:max(10px, env(safe-area-inset-left,0px))!important;
    right:max(10px, env(safe-area-inset-right,0px))!important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147483647!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(209,213,219,.95)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -18px 42px rgba(15,23,42,.28)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    transform:translateZ(0)!important;
    isolation:isolate!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-running-total-box{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    justify-content:space-between!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button-secondary,
  html body .efp-mobile-booking-footer-dock.is-active button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    justify-content:center!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button:only-child,
  html body .efp-mobile-booking-footer-dock.is-active button:only-child{
    grid-column:1/-1!important;
  }
}


/* Event Flow Pro beta.8: keep the body-level mobile footer dock visually synced with the booking widget styling controls. */
@media (max-width:1024px){
  html body .efp-mobile-booking-footer-dock.is-active .rmj-running-total-box{
    order:-1!important;
    grid-column:1/-1!important;
    background:var(--rmj-total-bg,#f6f7f7)!important;
    color:var(--rmj-total-text,#2c3338)!important;
    border:1px solid var(--rmj-total-border,#dcdcde)!important;
    border-radius:14px!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-running-total-label,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-running-total-amount{
    color:var(--rmj-total-text,#2c3338)!important;
    -webkit-text-fill-color:var(--rmj-total-text,#2c3338)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button:not(.rmj-button-secondary),
  html body .efp-mobile-booking-footer-dock.is-active button.rmj-button:not(.rmj-button-secondary),
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button:not(.rmj-button-secondary){
    background:var(--rmj-button-bg,#2271b1)!important;
    color:var(--rmj-button-text,#ffffff)!important;
    border-color:var(--rmj-button-bg,#2271b1)!important;
    -webkit-text-fill-color:var(--rmj-button-text,#ffffff)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button:not(.rmj-button-secondary):hover,
  html body .efp-mobile-booking-footer-dock.is-active button.rmj-button:not(.rmj-button-secondary):hover,
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button:not(.rmj-button-secondary):hover{
    background:var(--rmj-button-hover,var(--rmj-button-bg,#135e96))!important;
    color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff))!important;
    border-color:var(--rmj-button-hover,var(--rmj-button-bg,#135e96))!important;
    -webkit-text-fill-color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff))!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button.rmj-button-secondary,
  html body .efp-mobile-booking-footer-dock.is-active button.rmj-button.rmj-button-secondary,
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button.rmj-button-secondary{
    background:var(--rmj-button-secondary-bg,#f6f7f7)!important;
    color:var(--rmj-button-secondary-text,#2c3338)!important;
    border-color:var(--rmj-button-secondary-bg,#dcdcde)!important;
    -webkit-text-fill-color:var(--rmj-button-secondary-text,#2c3338)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button.rmj-button-secondary:hover,
  html body .efp-mobile-booking-footer-dock.is-active button.rmj-button.rmj-button-secondary:hover,
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button.rmj-button-secondary:hover{
    background:var(--rmj-button-secondary-hover,var(--rmj-button-secondary-bg,#f0f0f1))!important;
    color:var(--rmj-button-secondary-text-hover,var(--rmj-button-secondary-text,#2c3338))!important;
    border-color:var(--rmj-button-secondary-hover,var(--rmj-button-secondary-bg,#f0f0f1))!important;
    -webkit-text-fill-color:var(--rmj-button-secondary-text-hover,var(--rmj-button-secondary-text,#2c3338))!important;
  }
}


.rmj-calendar-title-jump{cursor:pointer;border-radius:10px;padding:7px 10px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.rmj-calendar-title-jump:hover,.rmj-calendar-title-jump:focus{background:rgba(15,23,42,.06);outline:none;box-shadow:0 0 0 3px rgba(34,113,177,.10)}.rmj-jump-overlay{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.38);box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.rmj-jump-overlay.is-open{display:flex}.rmj-jump-modal{width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--rmj-card-bg,#fff);color:var(--rmj-text,#111827);border:1px solid var(--rmj-card-border,var(--rmj-calendar-border,#e5e7eb));border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:14px;box-sizing:border-box}.rmj-calendar-jump-head{font-weight:800;font-size:15px;margin:0 0 12px;color:var(--rmj-heading,#111827)}.rmj-calendar-jump-grid{display:grid;grid-template-columns:1fr 110px;gap:10px}.rmj-calendar-jump-grid label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--rmj-label,#374151)}.rmj-calendar-jump-grid select{width:100%;border:1px solid var(--rmj-field-border,#d1d5db);border-radius:10px;background:var(--rmj-field-bg,#fff);color:var(--rmj-field-text,#111827);min-height:40px;padding:8px 10px;font:inherit}.rmj-calendar-jump-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.rmj-calendar-jump-actions button{appearance:none;border:0;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.rmj-calendar-jump-cancel{background:#f3f4f6;color:#111827}.rmj-calendar-jump-apply{background:var(--rmj-button-bg,var(--rmj-avail-button-bg,#2271b1))!important;color:var(--rmj-button-text,var(--rmj-avail-button-text,#fff))!important;box-shadow:0 10px 22px color-mix(in srgb,var(--rmj-button-bg,var(--rmj-avail-button-bg,#2271b1)) 24%, transparent)}.rmj-calendar-jump-apply:hover,.rmj-calendar-jump-apply:focus{background:var(--rmj-button-hover,var(--rmj-avail-button-hover,#135e96))!important;color:var(--rmj-button-text-hover,var(--rmj-avail-button-hover-text,var(--rmj-button-text,var(--rmj-avail-button-text,#fff))))!important;transform:translateY(-1px)}@media(max-width:520px){.rmj-jump-overlay{align-items:center;padding:12px}.rmj-jump-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:12px}.rmj-calendar-jump-grid{grid-template-columns:1fr}.rmj-calendar-jump-actions{display:grid;grid-template-columns:1fr 1fr}.rmj-calendar-jump-actions button{width:100%}}

@media (min-width:768px){.rmj-jump-overlay--availability.is-open{display:block;background:transparent;padding:0;overflow:visible}.rmj-jump-overlay--availability .rmj-jump-modal{position:fixed;left:var(--rmj-jump-left,50%);top:var(--rmj-jump-top,50%);transform:none;width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 32px)}}

body.rmj-selector-preview-open .efp-mobile-booking-footer-dock.is-active{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body > .rmj-selector-preview-modal{
  z-index:2147483647!important;
}
body > .rmj-selector-preview-modal.is-active{
  display:flex!important;
}
@media (max-width:1024px){
  html body .rmj-selector-preview-modal.is-active{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }
  html body .rmj-selector-preview-modal.is-active .rmj-selector-preview-dialog{
    max-height:calc(100vh - 24px - env(safe-area-inset-bottom,0px))!important;
    overflow:visible!important;
  }
  html body .rmj-selector-preview-modal.is-active .rmj-selector-preview-media img{
    max-height:min(52vh,420px)!important;
  }
  html body .rmj-selector-preview-modal.is-active .rmj-selector-preview-content{
    margin-bottom:0!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
  }
  html body .rmj-selector-preview-modal.is-active .rmj-selector-preview-actions{
    display:grid!important;
    grid-template-columns:repeat(var(--rmj-public-gallery-active-columns,var(--rmj-public-gallery-columns-mobile,2)),minmax(0,1fr))!important;
    gap:10px!important;
  }
  html body .rmj-selector-preview-modal.is-active .rmj-selector-preview-actions .rmj-button{
    width:100%!important;
    min-height:48px!important;
  }
}

.rmj-booking-widget .rmj-included-label,
.rmj-booking-widget .rmj-included-label-prefix{
  color: var(--rmj-included-label, #111827) !important;
}
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-label,
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-label-prefix{
  color: var(--rmj-included-label-selected, var(--rmj-included-label, #111827)) !important;
}
.rmj-booking-widget .rmj-included-row,
.rmj-booking-widget .rmj-package-card .rmj-included-row,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row,
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-row,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row{
  background: var(--rmj-included-bg, #f6f7f7) !important;
  color: var(--rmj-included-text, #2c3338) !important;
  border: 1px solid var(--rmj-included-border, rgba(44, 51, 56, 0.18)) !important;
  box-shadow: none !important;
}
.rmj-booking-widget .rmj-included-row:hover,
.rmj-booking-widget .rmj-package-card .rmj-included-row:hover,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row:hover{
  background: var(--rmj-included-bg, #f6f7f7) !important;
  color: var(--rmj-included-text, #2c3338) !important;
  border-color: var(--rmj-included-border, rgba(44, 51, 56, 0.18)) !important;
  transform: none !important;
}
.rmj-booking-widget .rmj-included-row-text,
.rmj-booking-widget .rmj-package-card .rmj-included-row-text,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row-text,
.rmj-booking-widget .rmj-package-card.is-selected .rmj-included-row-text,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card.is-selected .rmj-included-row-text{
  color: var(--rmj-included-text, #2c3338) !important;
}
.rmj-booking-widget .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-card .rmj-included-row-icon,
.rmj-booking-widget .rmj-package-group-grid .rmj-package-card .rmj-included-row-icon{
  color: var(--rmj-included-check, var(--rmj-included-text, #2c3338)) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rmj-booking-widget .rmj-included-pill,
.rmj-booking-widget .rmj-package-card .rmj-included-pill,
.rmj-booking-widget .rmj-option-card.is-selected .rmj-included-pill{
  background: var(--rmj-included-bg, #f6f7f7) !important;
  color: var(--rmj-included-text, #2c3338) !important;
  border-color: var(--rmj-included-border, rgba(44, 51, 56, 0.18)) !important;
}
.rmj-booking-widget .rmj-included-pill-icon,
.rmj-booking-widget .rmj-package-card .rmj-included-pill-icon{
  color: var(--rmj-included-check, var(--rmj-included-text, #2c3338)) !important;
  background: transparent !important;
}


/* Event Flow Pro booking widget container-aware responsiveness
   Uses the widget's rendered width, not only the browser viewport, so Elementor columns,
   popups, tabs, and narrow page sections do not squeeze desktop grids. */
.rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-category-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-category-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
  gap:16px !important;
}
.rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-package-group-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-package-group-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-addon-group-grid,
.rmj-booking-widget.rmj-widget-size-compact .rmj-addon-group-grid{
  grid-template-columns:1fr !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
  gap:16px !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-category-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-category-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-package-group-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-package-group-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-addon-group-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-addon-group-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-template-selector-grid,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-backdrop-selector-grid{
  grid-template-columns:1fr !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
  gap:12px !important;
}
.rmj-booking-widget.rmj-widget-size-compact .rmj-option-card,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-card,
.rmj-booking-widget.rmj-widget-size-compact .rmj-category-card,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-category-card,
.rmj-booking-widget.rmj-widget-size-compact .rmj-service-card,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-service-card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
/* Container-width image sizing for narrow/embedded booking widgets.
   These rules intentionally key off the widget width classes so full desktop layouts keep
   their existing image proportions while narrow Elementor columns get taller, premium cards. */
.rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-thumb,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-category-grid .rmj-option-thumb{
  height:280px !important;
  min-height:280px !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-package-group-grid .rmj-option-thumb,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-addon-group-grid .rmj-option-thumb,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-package-card .rmj-option-media,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-addon-card .rmj-option-media,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-package-card .rmj-option-image-wrap,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-addon-card .rmj-option-image-wrap,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-package-card .rmj-card-image-wrap,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-addon-card .rmj-card-image-wrap{
  height:300px !important;
  min-height:300px !important;
}
.rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-thumb,
.rmj-booking-widget.rmj-widget-size-compact .rmj-category-grid .rmj-option-thumb{
  height:240px !important;
  min-height:240px !important;
}
.rmj-booking-widget.rmj-widget-size-compact .rmj-package-group-grid .rmj-option-thumb,
.rmj-booking-widget.rmj-widget-size-compact .rmj-addon-group-grid .rmj-option-thumb{
  height:300px !important;
  min-height:300px !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-thumb img,
.rmj-booking-widget.rmj-widget-size-compact .rmj-option-thumb img,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-media img,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-image-wrap img,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-card-image-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-title,
.rmj-booking-widget.rmj-widget-size-narrow .rmj-option-desc{
  min-height:0 !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-step-header{
  padding:16px !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-step-header h4{
  font-size:clamp(22px, 6vw, var(--rmj-section-heading-size,28px)) !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-step-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.rmj-booking-widget.rmj-widget-size-narrow .rmj-step-actions .rmj-button{
  flex:1 1 140px !important;
}

.rmj-public-gallery-widget .rmj-public-gallery-category-card,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:active{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:var(--rmj-public-gallery-title,#0f172a)!important;
  border-color:var(--rmj-public-gallery-card-border,#e5e7eb)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus{
  transform:translateY(-2px);
  border-color:#d7dee8!important;
  box-shadow:0 16px 32px rgba(15,23,42,.08)!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-media,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover .rmj-public-gallery-card-media,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus .rmj-public-gallery-card-media{
  background:#f8fafc!important;
  background-color:#f8fafc!important;
  background-image:none!important;
  border-color:rgba(148,163,184,.22)!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-card .rmj-public-gallery-card-title,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover .rmj-public-gallery-card-title,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus .rmj-public-gallery-card-title{
  color:var(--rmj-public-gallery-title,#0f172a)!important;
}

.rmj-public-gallery-widget{
  --rmj-public-gallery-gap:18px!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid){
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  grid-template-columns:none!important;
  grid-auto-flow:initial!important;
  grid-auto-rows:auto!important;
  column-count:auto!important;
  column-width:auto!important;
  column-gap:18px!important;
  overflow:visible!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid).rmj-public-gallery-masonry-pending{
  visibility:hidden!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid).rmj-public-gallery-masonry-ready{
  visibility:visible!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-masonry-col{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  flex:1 1 0!important;
  min-width:0!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-item-card{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
  -webkit-column-break-inside:auto!important;
  cursor:pointer!important;
  text-align:left!important;
  transform:none!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-item-card:hover,
.rmj-public-gallery-widget .rmj-public-gallery-item-card:focus,
.rmj-public-gallery-widget .rmj-public-gallery-item-card:active{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-media{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-radius:var(--rmj-public-gallery-radius,20px)!important;
  overflow:hidden!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-media img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center top!important;
  border-radius:var(--rmj-public-gallery-radius,20px)!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-body,
.rmj-public-gallery-widget .rmj-public-gallery-item-card .rmj-public-gallery-card-title{
  display:none!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  row-gap:18px!important;
  column-gap:18px!important;
  align-items:start!important;
  justify-items:stretch!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-card,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:active{
  background:#fff!important;
  background-image:none!important;
  color:var(--rmj-public-gallery-title,#0f172a)!important;
  border-color:var(--rmj-public-gallery-card-border,#e5e7eb)!important;
}
.rmj-public-gallery-widget .rmj-public-gallery-category-card:hover,
.rmj-public-gallery-widget .rmj-public-gallery-category-card:focus{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 32px rgba(15,23,42,.08)!important;
}
@media (max-width:1024px){
  .rmj-public-gallery-widget{--rmj-public-gallery-gap:16px!important;}
  .rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid){
    gap:16px!important;
  }
  .rmj-public-gallery-widget .rmj-public-gallery-masonry-col{
    gap:16px!important;
  }
  .rmj-public-gallery-widget .rmj-public-gallery-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    row-gap:16px!important;
    column-gap:16px!important;
  }
}
@media (max-width:767px){
  .rmj-public-gallery-widget{--rmj-public-gallery-gap:14px!important;}
  .rmj-public-gallery-widget .rmj-public-gallery-grid:not(.rmj-public-gallery-category-grid){
    gap:14px!important;
  }
  .rmj-public-gallery-widget .rmj-public-gallery-masonry-col{
    gap:14px!important;
  }
  .rmj-public-gallery-widget .rmj-public-gallery-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    row-gap:14px!important;
    column-gap:14px!important;
  }
}


/* Booking widget selector mobile restore + preview modal source of truth v2.8
   Keeps Template/Backdrop booking selection separate from standalone public gallery widgets. */
/* Mobile selector grid override removed; booking selector item pages now use scoped CSS-column masonry above. */

@media (max-width:767px){
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal{
    inset:0 !important;
    padding:12px !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-dialog{
    width:calc(100vw - 24px) !important;
    max-width:420px !important;
    max-height:calc(100dvh - 24px) !important;
    display:grid !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:24px !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-media{
    min-height:0 !important;
    max-height:calc(100dvh - 190px) !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-image-shell{
    width:100% !important;
    max-height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-media img{
    width:auto !important;
    max-width:100% !important;
    max-height:calc(100dvh - 190px) !important;
    height:auto !important;
    object-fit:contain !important;
    border-radius:18px !important;
    box-shadow:0 18px 48px rgba(15,23,42,.28) !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close{
    top:10px !important;
    right:10px !important;
    width:40px !important;
    height:40px !important;
    border-radius:999px !important;
    z-index:5 !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:16px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 16px 40px rgba(15,23,42,.18) !important;
    gap:12px !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-caption{
    font-size:15px !important;
    line-height:1.25 !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    width:100% !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-actions .rmj-button{
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    padding:0 10px !important;
    font-size:14px !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }
}

.rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="category-items"],
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="flat-items"],
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="flat-items"],
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="category-items"],
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="flat-items"],
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="flat-items"]{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:18px !important;
  width:100% !important;
  grid-template-columns:none !important;
  grid-auto-flow:initial !important;
  grid-auto-rows:auto !important;
  column-count:auto !important;
  column-width:auto !important;
  column-gap:18px !important;
  overflow:visible !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  flex:1 1 0 !important;
  min-width:0 !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card .rmj-selector-card-media,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card .rmj-selector-card-media{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card .rmj-selector-card-media img,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card .rmj-selector-card-media img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card .rmj-option-body,
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card .rmj-option-title,
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card .rmj-selector-preview-trigger,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card .rmj-option-body,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card .rmj-option-title,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card .rmj-selector-preview-trigger{
  display:none !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card.is-selected .rmj-selector-card-media img,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card.is-selected .rmj-selector-card-media img{
  box-shadow:0 0 0 3px rgba(59,130,246,.25),0 10px 24px rgba(15,23,42,.06) !important;
}
@media (max-width:1179px){
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="flat-items"]{gap:18px !important;}
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col{gap:18px !important;}
}
@media (max-width:1024px){
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="flat-items"]{gap:16px !important;}
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col{gap:16px !important;}
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="flat-items"]{gap:12px !important;}
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col{gap:12px !important;}
}

.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid.rmj-selector-masonry-pending,
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid.rmj-selector-masonry-pending,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid.rmj-selector-masonry-pending,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid.rmj-selector-masonry-pending{
  visibility:hidden !important;
}
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid.rmj-selector-masonry-ready,
.rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid.rmj-selector-masonry-ready,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid.rmj-selector-masonry-ready,
.rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid.rmj-selector-masonry-ready{
  visibility:visible !important;
}

.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-card{
  border:1px solid var(--rmj-header-card-border,var(--rmj-card-border,#e5e7eb));
  border-radius:18px;
  background:var(--rmj-header-card-bg,#ffffff);
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  padding:15px 18px;
  margin:0 0 2px;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-top{
  display:grid;
  grid-template-columns:minmax(78px,auto) minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-has-admin .rmj-booking-hero-top{
  grid-template-columns:minmax(78px,auto) minmax(0,1fr) auto;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-top{
  grid-template-columns:minmax(0,1fr) auto;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo.rmj-booking-hero-customer .rmj-booking-hero-top{
  grid-template-columns:1fr;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-brand.rmj-widget-brand{
  position:static!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:150px!important;
  margin:0!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-brand img{
  display:block!important;
  width:var(--rmj-logo-width,120px)!important;
  max-width:min(150px, var(--rmj-logo-width,120px))!important;
  height:auto!important;
  margin:0!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy{
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  text-align:left!important;
  min-width:0!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-customer .rmj-booking-hero-copy{
  text-align:left!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-has-admin .rmj-booking-hero-copy{
  text-align:left!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-copy{
  text-align:center!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy h4{
  margin:0 0 3px!important;
  letter-spacing:-.035em;
  line-height:1.08;
  font-size:clamp(21px,2.1vw,28px)!important;
  color:var(--rmj-header-card-title,var(--rmj-heading,#1d2327))!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy p{
  margin:0!important;
  line-height:1.34;
  font-size:clamp(13px,1.15vw,15px)!important;
  opacity:.82;
  color:var(--rmj-header-card-description,var(--rmj-text,#2c3338))!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin.rmj-admin-mode-bar{
  margin:0!important;
  padding:7px 9px!important;
  border:1px solid rgba(148,163,184,.18);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  box-shadow:none!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-admin-mode-label{
  font-size:13px!important;
  font-weight:600!important;
  color:var(--rmj-header-card-title,var(--rmj-heading,#1d2327))!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-admin-mode-switch{
  width:46px!important;
  height:26px!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-multi-day-toggle-slider{
  width:46px!important;
  height:26px!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-multi-day-toggle-slider::after{
  width:20px!important;
  height:20px!important;
  top:3px!important;
  left:3px!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-manual-admin-toggle-input:checked + .rmj-multi-day-toggle-slider::after{
  transform:translateX(20px)!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="1"]{
  display:grid;
  gap:var(--rmj-section-spacing,18px);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="1"] > .rmj-inline-calendar{
  margin-top:2px;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-card{
    padding:13px 14px;
    border-radius:17px;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-top,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-has-admin .rmj-booking-hero-top,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-top{
    grid-template-columns:1fr;
    gap:8px;
    justify-items:center;
    text-align:center;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-brand.rmj-widget-brand{
    max-width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-brand img{
    max-width:min(132px, var(--rmj-logo-width,120px))!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-customer .rmj-booking-hero-copy,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-has-admin .rmj-booking-hero-copy{
    text-align:center!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy h4{
    font-size:21px!important;
    line-height:1.12!important;
    margin-bottom:0!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-copy p{
    margin-top:4px!important;
    font-size:13px!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin.rmj-admin-mode-bar{
    justify-content:center!important;
    width:auto;
    padding:6px 9px!important;
  }
}

.rmj-booking-widget .rmj-booking-form > .rmj-step:not(.is-active),
.rmj-booking-widget .rmj-booking-form > .rmj-step[aria-hidden="true"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.rmj-booking-widget .rmj-booking-form > .rmj-step.is-active[aria-hidden="false"]{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.rmj-booking-widget--unstyled .rmj-booking-form > .rmj-step:not(.is-active),
.rmj-booking-widget--unstyled .rmj-booking-form > .rmj-step[aria-hidden="true"]{
  display:none !important;
}


.rmj-booking-widget .rmj-step > .rmj-step-header{
  display:none!important;
}
.rmj-booking-widget .rmj-booking-hero-copy p:empty{
  display:none!important;
}


.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin.rmj-admin-mode-bar{
  background:#ffffff!important;
  border-color:rgba(148,163,184,.32)!important;
  opacity:1!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-admin-mode-label{
  color:#1d2327!important;
  opacity:1!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-multi-day-toggle-slider{
  background:#d7dde5!important;
  opacity:1!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-multi-day-toggle-slider::after{
  background:#ffffff!important;
  opacity:1!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-admin .rmj-manual-admin-toggle-input:checked + .rmj-multi-day-toggle-slider{
  background:var(--rmj-accent,#f27a00)!important;
}


@media (max-width:1024px){
  .rmj-booking-widget.rmj-mobile-footer-docked{
    padding-bottom:18px!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]){
    min-height:auto!important;
    height:auto!important;
    padding-bottom:18px!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]) > *:last-child:not(.rmj-step-actions){
    margin-bottom:0!important;
  }
}
@media (max-width:767px){
  .rmj-booking-widget.rmj-mobile-footer-docked{
    padding-bottom:14px!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]){
    gap:14px!important;
    padding-bottom:14px!important;
  }
}


.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
  color:var(--rmj-progress-text-color,var(--rmj-header-card-description,var(--rmj-text,#2c3338)));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-label{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.02em;
  line-height:1;
  color:inherit;
  opacity:.92;
  white-space:nowrap;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dots{
  display:flex;
  align-items:center;
  gap:var(--rmj-progress-dot-gap,5px);
  min-height:10px;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dot{
  width:var(--rmj-progress-dot-size,7px);
  height:var(--rmj-progress-dot-size,7px);
  border-radius:999px;
  background:var(--rmj-progress-inactive-color,rgba(148,163,184,.42));
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.04);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dot.is-complete{
  background:var(--rmj-progress-active-color,var(--rmj-accent,#2271b1));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dot.is-active{
  width:var(--rmj-progress-active-width,18px);
  background:var(--rmj-progress-active-color,var(--rmj-accent,#2271b1));
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress{
    justify-content:center;
    gap:8px;
    margin-top:7px;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-label{
    width:100%;
    text-align:center;
    font-size:11px!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dot{
    width:var(--rmj-progress-dot-size,6px);
    height:var(--rmj-progress-dot-size,6px);
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress-dot.is-active{
    width:var(--rmj-progress-active-width,16px);
  }
}


.rmj-booking-widget .rmj-step-actions .rmj-next-step.rmj-continue-disabled,
.efp-mobile-booking-footer-dock .rmj-next-step.rmj-continue-disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:grayscale(.12);
  box-shadow:none!important;
}
.rmj-booking-widget .rmj-continue-validation-hint{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:12px 0 10px;
  font-size:13px;
  line-height:1.45;
  color:#b45309;
  background:#fffbeb;
  border:1px solid #fde68a;
  border-radius:12px;
  padding:9px 11px;
  text-align:left;
}
@media (max-width:1024px){
  .rmj-booking-widget .rmj-continue-validation-hint{
    margin:10px 0 8px;
    text-align:center;
  }
}

.rmj-booking-widget .rmj-step-actions .rmj-next-step.rmj-continue-disabled,
.rmj-booking-widget .rmj-step-actions .rmj-next-step[disabled],
.rmj-booking-widget .rmj-step-actions .rmj-next-step[aria-disabled="true"],
.efp-mobile-booking-footer-dock .rmj-next-step.rmj-continue-disabled,
.efp-mobile-booking-footer-dock .rmj-next-step[disabled],
.efp-mobile-booking-footer-dock .rmj-next-step[aria-disabled="true"]{
  background:#e5e7eb!important;
  border-color:#e5e7eb!important;
  color:#6b7280!important;
  opacity:1!important;
  cursor:not-allowed!important;
  pointer-events:auto!important;
  box-shadow:none!important;
  filter:none!important;
}


html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step.rmj-continue-disabled,
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step.is-disabled,
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step[disabled],
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step[aria-disabled="true"],
html body .efp-mobile-booking-footer-dock.is-active button.rmj-next-step.rmj-continue-disabled,
html body .efp-mobile-booking-footer-dock.is-active button.rmj-next-step.is-disabled,
html body .efp-mobile-booking-footer-dock.is-active button.rmj-next-step[disabled],
html body .efp-mobile-booking-footer-dock.is-active button.rmj-next-step[aria-disabled="true"]{
  background:#e5e7eb!important;
  border-color:#e5e7eb!important;
  color:#6b7280!important;
  opacity:1!important;
  cursor:not-allowed!important;
  pointer-events:auto!important;
  box-shadow:none!important;
  filter:none!important;
}
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step.rmj-continue-disabled:hover,
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step.is-disabled:hover,
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step[disabled]:hover,
html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step[aria-disabled="true"]:hover{
  background:#e5e7eb!important;
  border-color:#e5e7eb!important;
  color:#6b7280!important;
  transform:none!important;
}

@media (max-width:1024px){
  html body .efp-mobile-booking-footer-dock.is-active.rmj-mobile-footer-buttons-2{
    grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button-secondary,
  html body .efp-mobile-booking-footer-dock.is-active button,
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    line-height:1.15!important;
    font-size:clamp(12px,3.45vw,14px)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-submit-booking,
  html body .efp-mobile-booking-footer-dock.is-active button[type="submit"]{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-prev-step{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
@media (max-width:390px){
  html body .efp-mobile-booking-footer-dock.is-active.rmj-mobile-footer-buttons-2{
    grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)!important;
  }
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-button-secondary,
  html body .efp-mobile-booking-footer-dock.is-active button,
  html body .efp-mobile-booking-footer-dock.is-active a.rmj-button{
    font-size:12px!important;
    letter-spacing:-.01em!important;
  }
}


/* 31z273c: Booking context summary without duplicate top total */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-inline{
  color:inherit;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.02em;
  line-height:1.25;
  opacity:.94;
  flex-basis:100%;
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  margin-top:2px;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 8px;
  min-width:0;
  max-width:100%;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-separator{
  opacity:.88;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-value{
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:190px;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-selected-date-change{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1;
  padding:0 0 1px;
  margin-left:3px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
  opacity:.76;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-selected-date-change:hover,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-selected-date-change:focus{
  opacity:1;
  outline:none;
}
.rmj-booking-widget--unstyled .rmj-booking-progress .rmj-booking-context-inline{display:none!important;}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-inline{
    align-items:center;
    text-align:center;
    gap:6px;
    margin-top:1px;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-row{
    justify-content:center;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-value{
    max-width:165px;
  }
}
@media (max-width:430px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-progress .rmj-booking-context-value{
    max-width:135px;
  }
}


/* v1.0.4 polish: stronger required add-on guidance + first-install no-logo header defaults */
.rmj-addon-group-wrap.rmj-group-invalid{
  border-color:#dc2626!important;
  box-shadow:0 0 0 4px rgba(220,38,38,.12), 0 18px 34px rgba(127,29,29,.10)!important;
  background:linear-gradient(180deg,rgba(254,242,242,.92),rgba(255,255,255,.98))!important;
}
.rmj-addon-group-wrap.rmj-group-invalid .rmj-group-heading{
  color:#991b1b!important;
}
.rmj-addon-group-wrap.rmj-group-invalid .rmj-group-heading::before{
  content:none!important;
  display:none!important;
}
.rmj-group-heading .rmj-group-error{
  margin-top:8px!important;
  padding:9px 12px;
  border:1px solid rgba(220,38,38,.22);
  border-radius:12px;
  background:#fff1f2;
  color:#991b1b!important;
  font-size:13px!important;
  font-weight:700!important;
}
.rmj-group-attention-pulse{
  animation:rmjRequiredGroupPulse 1.05s ease-in-out 1;
}
@keyframes rmjRequiredGroupPulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(220,38,38,.34)}
  45%{transform:scale(1.01);box-shadow:0 0 0 8px rgba(220,38,38,.10)}
  100%{transform:scale(1);box-shadow:0 0 0 4px rgba(220,38,38,.12), 0 18px 34px rgba(127,29,29,.10)}
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-top,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo.rmj-booking-hero-customer .rmj-booking-hero-top{
  grid-template-columns:minmax(0,1fr) auto!important;
  justify-items:stretch!important;
  text-align:left!important;
  align-items:center!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo.rmj-booking-hero-customer .rmj-booking-hero-top{
  grid-template-columns:1fr!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-copy,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-copy h4,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-copy p{
  text-align:left!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-progress{
  justify-content:flex-start!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-progress-label{
  opacity:1!important;
  text-align:left!important;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-hero-top{
    grid-template-columns:1fr!important;
    justify-items:stretch!important;
    text-align:left!important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-booking-hero-no-logo .rmj-booking-progress-label{
    width:auto!important;
  }
}


/* v1.0.4 beta.4: make required add-on category state visible even before Continue is clicked */
.rmj-addon-group-wrap.rmj-group-needs-attention{
  border-color:#dc2626!important;
  box-shadow:0 0 0 4px rgba(220,38,38,.12), 0 18px 34px rgba(127,29,29,.10)!important;
  background:linear-gradient(180deg,rgba(254,242,242,.92),rgba(255,255,255,.98))!important;
}
.rmj-addon-group-wrap.rmj-group-needs-attention .rmj-group-heading{
  color:#991b1b!important;
}


/* EFP beta.34 - Client portal Stripe clickability + message removal */
.rmj-client-portal .rmj-portal-payment-message-field,
.rmj-booking-portal-wrap .rmj-portal-payment-message-field,
.rmj-portal-wrap .rmj-portal-payment-message-field{
  display:none !important;
}
.rmj-client-portal .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap,
.rmj-portal-wrap .rmj-portal-stripe-wrap{
  position:relative !important;
  z-index:2 !important;
  overflow:visible !important;
}
.rmj-client-portal .rmj-portal-stripe-card-shell,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-shell,
.rmj-portal-wrap .rmj-portal-stripe-card-shell{
  display:grid !important;
  gap:12px !important;
  position:relative !important;
  z-index:3 !important;
  pointer-events:auto !important;
}
.rmj-client-portal .rmj-portal-stripe-field,
.rmj-booking-portal-wrap .rmj-portal-stripe-field,
.rmj-portal-wrap .rmj-portal-stripe-field{
  position:relative !important;
  z-index:4 !important;
  min-height:56px !important;
  padding:10px 14px !important;
  border:1px solid #d7e0ea !important;
  border-radius:14px !important;
  background:#fbfdff !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
}
.rmj-client-portal .rmj-portal-stripe-field small,
.rmj-booking-portal-wrap .rmj-portal-stripe-field small,
.rmj-portal-wrap .rmj-portal-stripe-field small{
  display:block !important;
  margin:0 0 6px !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  line-height:1.1 !important;
  pointer-events:none !important;
}
.rmj-client-portal .rmj-portal-stripe-card-number,
.rmj-client-portal .rmj-portal-stripe-card-expiry,
.rmj-client-portal .rmj-portal-stripe-card-cvc,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc,
.rmj-portal-wrap .rmj-portal-stripe-card-number,
.rmj-portal-wrap .rmj-portal-stripe-card-expiry,
.rmj-portal-wrap .rmj-portal-stripe-card-cvc{
  display:block !important;
  width:100% !important;
  min-height:24px !important;
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
}
.rmj-client-portal .rmj-portal-stripe-card-number iframe,
.rmj-client-portal .rmj-portal-stripe-card-expiry iframe,
.rmj-client-portal .rmj-portal-stripe-card-cvc iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc iframe,
.rmj-portal-wrap .rmj-portal-stripe-card-number iframe,
.rmj-portal-wrap .rmj-portal-stripe-card-expiry iframe,
.rmj-portal-wrap .rmj-portal-stripe-card-cvc iframe,
.rmj-client-portal .rmj-portal-stripe-card-number .__PrivateStripeElement,
.rmj-client-portal .rmj-portal-stripe-card-expiry .__PrivateStripeElement,
.rmj-client-portal .rmj-portal-stripe-card-cvc .__PrivateStripeElement,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number .__PrivateStripeElement,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry .__PrivateStripeElement,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc .__PrivateStripeElement,
.rmj-portal-wrap .rmj-portal-stripe-card-number .__PrivateStripeElement,
.rmj-portal-wrap .rmj-portal-stripe-card-expiry .__PrivateStripeElement,
.rmj-portal-wrap .rmj-portal-stripe-card-cvc .__PrivateStripeElement{
  display:block !important;
  width:100% !important;
  min-height:24px !important;
  pointer-events:auto !important;
  z-index:6 !important;
}
.rmj-client-portal .rmj-portal-payment-submit,
.rmj-booking-portal-wrap .rmj-portal-payment-submit,
.rmj-portal-wrap .rmj-portal-payment-submit{
  position:relative !important;
  z-index:1 !important;
}

/* EFP beta.37 - clean client portal Stripe Elements rebuild */
.rmj-client-portal .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-portal-stripe-wrap{
  position:relative !important;
  overflow:visible !important;
}
.rmj-client-portal .rmj-portal-stripe-card-shell,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-shell{
  display:grid !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
}
.rmj-client-portal .rmj-portal-stripe-row,
.rmj-booking-portal-wrap .rmj-portal-stripe-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  min-width:0 !important;
}
.rmj-client-portal .rmj-portal-stripe-field,
.rmj-booking-portal-wrap .rmj-portal-stripe-field{
  min-width:0 !important;
}
.rmj-client-portal .rmj-portal-stripe-field-full,
.rmj-booking-portal-wrap .rmj-portal-stripe-field-full{
  grid-column:1 / -1 !important;
}
.rmj-client-portal .rmj-portal-stripe-card-number,
.rmj-client-portal .rmj-portal-stripe-card-expiry,
.rmj-client-portal .rmj-portal-stripe-card-cvc,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc{
  display:block !important;
  width:100% !important;
  min-height:54px !important;
  height:auto !important;
  padding:15px 16px !important;
  border:1px solid #d5deeb !important;
  border-radius:16px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  cursor:text !important;
  pointer-events:auto !important;
  box-shadow:none !important;
}
.rmj-client-portal .rmj-portal-stripe-card-number.is-focused,
.rmj-client-portal .rmj-portal-stripe-card-expiry.is-focused,
.rmj-client-portal .rmj-portal-stripe-card-cvc.is-focused,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number.is-focused,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry.is-focused,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc.is-focused{
  border-color:#3b82f6 !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.12) !important;
}
.rmj-client-portal .rmj-portal-stripe-card-number > *,
.rmj-client-portal .rmj-portal-stripe-card-expiry > *,
.rmj-client-portal .rmj-portal-stripe-card-cvc > *,
.rmj-client-portal .rmj-portal-stripe-card-number iframe,
.rmj-client-portal .rmj-portal-stripe-card-expiry iframe,
.rmj-client-portal .rmj-portal-stripe-card-cvc iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number > *,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry > *,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc > *,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-number iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry iframe,
.rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc iframe{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:24px !important;
  height:24px !important;
  border:0 !important;
  pointer-events:auto !important;
}
.rmj-client-portal .rmj-portal-stripe-errors,
.rmj-booking-portal-wrap .rmj-portal-stripe-errors{
  margin-top:10px !important;
  color:#b91c1c !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
@media(max-width:767px){
  .rmj-client-portal .rmj-portal-stripe-row,
  .rmj-booking-portal-wrap .rmj-portal-stripe-row{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .rmj-client-portal .rmj-portal-stripe-card-number,
  .rmj-client-portal .rmj-portal-stripe-card-expiry,
  .rmj-client-portal .rmj-portal-stripe-card-cvc,
  .rmj-booking-portal-wrap .rmj-portal-stripe-card-number,
  .rmj-booking-portal-wrap .rmj-portal-stripe-card-expiry,
  .rmj-booking-portal-wrap .rmj-portal-stripe-card-cvc{
    min-height:56px !important;
    padding:16px !important;
  }
}

/* beta.48i: expired slot hold payment lock polish */
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-amount-field input,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-tip-field input,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-cardholder-field input,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-amount-field input,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-tip-field input,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-cardholder-field input{
  background:#f8fafc !important;
  color:#94a3b8 !important;
  cursor:not-allowed !important;
  opacity:.72 !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap{
  opacity:.62 !important;
  filter:grayscale(.08) !important;
  pointer-events:none !important;
  position:relative !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button{
  background:#94a3b8 !important;
  border-color:#94a3b8 !important;
  color:#fff !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
  opacity:.88 !important;
  pointer-events:none !important;
}
.rmj-client-portal .rmj-portal-payment-lock-notice,
.rmj-booking-portal-wrap .rmj-portal-payment-lock-notice{
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#1d4ed8 !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-buttons:empty::before,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-buttons:empty::before{
  content:'Payment unavailable until a new appointment time is selected.';
  display:block;
  padding:14px 16px;
  border-radius:14px;
  background:#f8fafc;
  color:#64748b;
  text-align:center;
  font-weight:700;
}


/* beta.48k: real expired hold final polish - lock cardholder, mute CTA, tighten checkout panel */
.rmj-client-portal .rmj-portal-card-payment-checkout.is-hold-payment-blocked,
.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout.is-hold-payment-blocked{
  min-height:0 !important;
  padding-bottom:26px !important;
}
.rmj-client-portal .rmj-portal-card-payment-checkout.is-hold-payment-blocked .rmj-portal-payment-form,
.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout.is-hold-payment-blocked .rmj-portal-payment-form{
  gap:12px !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked input,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked input,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-hold-locked-input,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-hold-locked-input,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-cardholder-name,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-cardholder-name,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-cardholder-name,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-cardholder-name{
  background:#f1f5f9 !important;
  border-color:#e2e8f0 !important;
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
  cursor:not-allowed !important;
  opacity:.72 !important;
  box-shadow:none !important;
  pointer-events:none !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked input::placeholder,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked input::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-card-field.rmj-card-details-panel,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-card-field.rmj-card-details-panel{
  padding:4px 0 0 !important;
  border:0 !important;
  background:transparent !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap{
  padding:12px 0 2px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:.78 !important;
  filter:none !important;
  pointer-events:none !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-head,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-head{
  margin-bottom:10px !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-copy h5,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-copy h5{
  color:#475569 !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-copy p,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-payment-panel-copy p{
  color:#64748b !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit{
  margin-top:6px !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button,
.rmj-client-portal .rmj-portal-card-payment-checkout.is-hold-payment-blocked button[type="submit"],
.rmj-booking-portal-wrap .rmj-portal-card-payment-checkout.is-hold-payment-blocked button[type="submit"]{
  background:#cbd5e1 !important;
  border-color:#cbd5e1 !important;
  color:#64748b !important;
  box-shadow:none !important;
  opacity:1 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  transform:none !important;
}
.rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button:hover,
.rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-payment-submit button:hover{
  background:#cbd5e1 !important;
  border-color:#cbd5e1 !important;
  color:#64748b !important;
  box-shadow:none !important;
  transform:none !important;
}
@media (max-width:767px){
  .rmj-client-portal .rmj-portal-card-payment-checkout.is-hold-payment-blocked,
  .rmj-booking-portal-wrap .rmj-portal-card-payment-checkout.is-hold-payment-blocked{
    padding-bottom:20px !important;
  }
  .rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
  .rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
  .rmj-client-portal .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap,
  .rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-square-wrap,
  .rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-stripe-wrap,
  .rmj-booking-portal-wrap .rmj-portal-payment-form.is-hold-payment-blocked .rmj-portal-paypal-wrap{
    padding-top:8px !important;
  }
}


/* Payment step mobile flatten v1.0.4-beta.48bp
   Mobile only: reduce nested card-on-card compression on the frontend booking payment step. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-box{
    padding:14px !important;
    gap:12px !important;
    border-radius:18px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    padding:16px 14px !important;
    border:0 !important;
    border-radius:18px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-panel-head{
    gap:12px !important;
    margin-bottom:16px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-square-layout,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-payment-card-layout,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-layout{
    gap:12px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-cardholder-field input,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-tip-field input,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-label{
    margin:0 0 8px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-shell,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-shell{
    padding:12px !important;
    border:1px solid #d7e0ea !important;
    border-radius:14px !important;
    background:#ffffff !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-grid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-tip-field,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    padding:16px 14px !important;
  }
}


/* Booking payment mobile width refinement v1.0.4-beta.48bq
   Mobile only: widen usable checkout field area and reduce nested provider insets without changing desktop/tablet. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-box{
    width:100% !important;
    max-width:none !important;
    padding:12px !important;
    gap:16px !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    width:100% !important;
    max-width:none !important;
    padding:12px 8px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-layout,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-square-layout,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-payment-card-layout{
    width:100% !important;
    max-width:none !important;
    gap:12px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-cardholder-field,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-cardholder-field,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-tip-field,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-details-panel,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
    padding:10px !important;
    border-radius:14px !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-shell,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-shell{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-cardholder-field input,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-booking-tip-field input,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-cardholder-stack .rmj-cardholder-field input{
    width:100% !important;
    max-width:none !important;
  }

  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container > *,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container iframe,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container [class*="sq-"],
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container [class*="card"],
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-card-container div[data-testid],
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-card-grid{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 430px){
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-box{
    padding:10px !important;
  }
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    padding-left:4px !important;
    padding-right:4px !important;
  }
}


/* v1.0.4-beta.468: Booking widget mobile selector footer alignment cleanup.
   Required add-on group width overrides from this older block were removed in beta.498
   because they only affected the invalid/unselected required state and forced the add-on card full-bleed. */
@media (max-width: 767px){
  /* Payment step: keep the wider mobile breathing room and clean label/amount layout. */
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-box{
    width:calc(100% + 8px)!important;
    max-width:calc(100% + 8px)!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-options,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-paypal-payment-wrap{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:stretch!important;
    column-gap:18px!important;
    text-align:left!important;
    width:100%!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option-label{
    justify-self:start!important;
    text-align:left!important;
    white-space:normal!important;
    line-height:1.18!important;
    margin:0!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option strong{
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap!important;
    line-height:1.1!important;
    margin:0!important;
  }
}

@media (max-width:1024px){
  /* Visible mobile dock buttons are cloned into .efp-mobile-booking-footer-dock, so center the clone itself. */
  html body .efp-mobile-booking-footer-dock.is-active .rmj-prev-step,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-submit-booking,
  html body .efp-mobile-booking-footer-dock.is-active button[type="submit"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    height:56px!important;
    min-height:56px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
    vertical-align:middle!important;
  }

  html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step{
    padding-left:12px!important;
    padding-right:12px!important;
    white-space:nowrap!important;
  }

  html body .efp-mobile-booking-footer-dock.is-active .rmj-prev-step *,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step *,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-next-step *,
  html body .efp-mobile-booking-footer-dock.is-active .rmj-submit-booking *,
  html body .efp-mobile-booking-footer-dock.is-active button[type="submit"] *{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    margin:0!important;
    padding:0!important;
  }
}


/* Event Flow Pro v1.0.4-beta.475: iPhone/Safari booking widget stability pass.
   Keep the body-level mobile footer dock out of the way while the software keyboard is open.
   This is intentionally scoped to the cloned mobile dock only; desktop and in-step actions remain unchanged. */
@media (max-width:1024px){
  body.rmj-booking-mobile-keyboard-active .efp-mobile-booking-footer-dock,
  body.rmj-booking-mobile-keyboard-active .efp-mobile-booking-footer-dock.is-active,
  html body .efp-mobile-booking-footer-dock.rmj-keyboard-hidden{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0, calc(100% + 28px), 0)!important;
    transition:opacity .14s ease, transform .14s ease, visibility .14s ease!important;
  }
  body.rmj-booking-mobile-keyboard-active .rmj-booking-widget.rmj-mobile-footer-docked,
  body.rmj-booking-mobile-keyboard-active .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]){
    padding-bottom:18px!important;
  }
  .rmj-venue-address-predictions,
  .rmj-mailing-address-predictions{
    max-width:calc(100vw - 16px)!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* Event Flow Pro v1.0.4-beta.482: Mobile compact in-widget booking actions.
   Mobile no longer uses the cloned floating footer dock. The original step actions stay inside
   the widget flow, and service/package/add-on cards are condensed for shorter mobile steps. */
@media (max-width:1024px){
  html body .efp-mobile-booking-footer-dock,
  html body .efp-mobile-booking-footer-dock.is-active{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.rmj-booking-widget-mobile-footer-active{
    padding-bottom:0!important;
  }
  .rmj-booking-widget.rmj-mobile-footer-docked,
  .rmj-booking-widget.rmj-mobile-footer-docked .rmj-step.is-active:not([data-step="1"]){
    padding-bottom:0!important;
  }
  .rmj-booking-widget .rmj-step-actions,
  .rmj-booking-widget .rmj-step .rmj-step-actions{
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:16px!important;
    padding:12px 0 0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .rmj-booking-widget .rmj-step-actions .rmj-running-total-box{
    width:100%!important;
    max-width:none!important;
    min-height:44px!important;
    padding:10px 12px!important;
    margin:0!important;
    border-radius:14px!important;
    font-size:13px!important;
    justify-content:space-between!important;
  }
  .rmj-booking-widget .rmj-step-actions .rmj-button,
  .rmj-booking-widget .rmj-step-actions button[type="submit"]{
    width:100%!important;
    min-height:48px!important;
    height:auto!important;
    padding:12px 14px!important;
    border-radius:14px!important;
    font-size:14px!important;
    line-height:1.15!important;
    justify-content:center!important;
  }
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-service-grid,
  .rmj-booking-widget .rmj-package-group-grid,
  .rmj-booking-widget .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-card-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .rmj-booking-widget .rmj-service-card,
  .rmj-booking-widget .rmj-package-card,
  .rmj-booking-widget .rmj-addon-card,
  .rmj-booking-widget .rmj-option-card{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    align-items:stretch!important;
    min-height:88px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-option-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb{
    width:82px!important;
    height:100%!important;
    min-height:88px!important;
    max-height:112px!important;
    border-radius:0!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
  }
  .rmj-booking-widget .rmj-option-thumb img,
  .rmj-booking-widget .rmj-service-card img,
  .rmj-booking-widget .rmj-package-card img,
  .rmj-booking-widget .rmj-addon-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .rmj-booking-widget .rmj-option-body,
  .rmj-booking-widget .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-package-card .rmj-option-body,
  .rmj-booking-widget .rmj-addon-card .rmj-option-body{
    grid-column:2!important;
    padding:10px 12px!important;
    gap:5px!important;
    min-width:0!important;
  }
  .rmj-booking-widget .rmj-option-title{
    font-size:14px!important;
    line-height:1.2!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-option-price,
  .rmj-booking-widget .rmj-option-meta,
  .rmj-booking-widget .rmj-package-price,
  .rmj-booking-widget .rmj-addon-price{
    font-size:13px!important;
    line-height:1.25!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-option-desc,
  .rmj-booking-widget .rmj-option-description,
  .rmj-booking-widget .rmj-service-description,
  .rmj-booking-widget .rmj-package-description,
  .rmj-booking-widget .rmj-addon-description{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:12px!important;
    line-height:1.35!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-button,
  .rmj-booking-widget .rmj-service-card .rmj-button,
  .rmj-booking-widget .rmj-package-card .rmj-button,
  .rmj-booking-widget .rmj-addon-card .rmj-button{
    min-height:36px!important;
    padding:8px 10px!important;
    font-size:12px!important;
    border-radius:12px!important;
  }
  .rmj-booking-widget .rmj-group-heading,
  .rmj-booking-widget .rmj-step h3,
  .rmj-booking-widget .rmj-step h4{
    margin-bottom:10px!important;
    line-height:1.2!important;
  }
}
@media (max-width:380px){
  .rmj-booking-widget .rmj-service-card,
  .rmj-booking-widget .rmj-package-card,
  .rmj-booking-widget .rmj-addon-card,
  .rmj-booking-widget .rmj-option-card{
    grid-template-columns:70px minmax(0,1fr)!important;
  }
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-option-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb{
    width:70px!important;
  }
}


/* Event Flow Pro v1.0.4-beta.483: Mobile compact card cleanup pass.
   Fixes the first compact test by preventing tall image columns, hiding bulky package details
   behind a concise included summary, and keeping title/price/buttons readable on mobile only. */
@media (max-width:767px){
  .rmj-booking-widget .rmj-service-grid,
  .rmj-booking-widget .rmj-package-group-grid,
  .rmj-booking-widget .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-card-grid{
    gap:12px!important;
  }
  .rmj-booking-widget .rmj-service-card.rmj-option-card,
  .rmj-booking-widget .rmj-package-card.rmj-option-card,
  .rmj-booking-widget .rmj-addon-card.rmj-option-card,
  .rmj-booking-widget .rmj-option-card.rmj-service-card,
  .rmj-booking-widget .rmj-option-card.rmj-package-card,
  .rmj-booking-widget .rmj-option-card.rmj-addon-card{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    min-height:112px!important;
    height:auto!important;
    padding:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-group-grid .rmj-option-thumb{
    grid-column:1!important;
    grid-row:1!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
    aspect-ratio:auto!important;
    padding:0!important;
    border-radius:0!important;
    align-self:start!important;
  }
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb img,
  .rmj-booking-widget .rmj-package-card .rmj-option-thumb img,
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb img,
  .rmj-booking-widget .rmj-option-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-body,
  .rmj-booking-widget .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-package-card .rmj-option-body,
  .rmj-booking-widget .rmj-addon-card .rmj-option-body{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    min-width:0!important;
    min-height:112px!important;
    height:auto!important;
    padding:12px!important;
    gap:8px!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-head,
  .rmj-booking-widget .rmj-service-card .rmj-option-head,
  .rmj-booking-widget .rmj-package-card .rmj-option-head,
  .rmj-booking-widget .rmj-addon-card .rmj-option-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:8px!important;
    min-height:0!important;
    width:100%!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-title,
  .rmj-booking-widget .rmj-service-card .rmj-option-title,
  .rmj-booking-widget .rmj-package-card .rmj-option-title,
  .rmj-booking-widget .rmj-addon-card .rmj-option-title{
    min-width:0!important;
    min-height:0!important;
    width:auto!important;
    max-width:100%!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    white-space:normal!important;
    text-overflow:clip!important;
    text-align:left!important;
    font-size:15px!important;
    line-height:1.15!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-package-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-addon-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-service-card .rmj-option-price-wrap{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:6px!important;
    min-width:0!important;
    max-width:124px!important;
    flex-wrap:nowrap!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-price,
  .rmj-booking-widget .rmj-package-card .rmj-option-price,
  .rmj-booking-widget .rmj-addon-card .rmj-option-price,
  .rmj-booking-widget .rmj-service-card .rmj-option-price,
  .rmj-booking-widget .rmj-hours-pill{
    min-height:28px!important;
    padding:6px 10px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    max-width:124px!important;
  }
  .rmj-booking-widget .rmj-hours-pill{
    max-width:124px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .rmj-booking-widget .rmj-option-desc,
  .rmj-booking-widget .rmj-option-description,
  .rmj-booking-widget .rmj-service-description,
  .rmj-booking-widget .rmj-package-description,
  .rmj-booking-widget .rmj-addon-description{
    display:-webkit-box!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:12px!important;
    line-height:1.3!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-foot,
  .rmj-booking-widget .rmj-package-card .rmj-option-foot,
  .rmj-booking-widget .rmj-addon-card .rmj-option-foot{
    margin-top:0!important;
    padding-top:0!important;
    gap:0!important;
  }
  .rmj-booking-widget .rmj-package-card .rmj-included-list{
    display:block!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  .rmj-booking-widget .rmj-package-card .rmj-included-mobile-summary{
    display:inline-flex!important;
    align-items:center!important;
    max-width:100%!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.06)!important;
    color:var(--rmj-card-text,var(--rmj-text,#111827))!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  .rmj-booking-widget .rmj-package-card .rmj-included-label,
  .rmj-booking-widget .rmj-package-card .rmj-included-grid{
    display:none!important;
  }
  .rmj-booking-widget .rmj-addon-card .rmj-addon-card-action{
    justify-content:flex-start!important;
    width:auto!important;
  }
  .rmj-booking-widget .rmj-addon-card .rmj-addon-card-button{
    width:auto!important;
    min-width:92px!important;
    min-height:34px!important;
    padding:9px 14px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1!important;
  }
  .rmj-booking-widget .rmj-card-overlay{
    font-size:17px!important;
    letter-spacing:.04em!important;
  }
  .rmj-booking-widget .rmj-package-highlight-badge{
    left:8px!important;
    top:8px!important;
    max-width:82px!important;
    padding:6px 8px!important;
    font-size:10px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
@media (max-width:380px){
  .rmj-booking-widget .rmj-service-card.rmj-option-card,
  .rmj-booking-widget .rmj-package-card.rmj-option-card,
  .rmj-booking-widget .rmj-addon-card.rmj-option-card,
  .rmj-booking-widget .rmj-option-card.rmj-service-card,
  .rmj-booking-widget .rmj-option-card.rmj-package-card,
  .rmj-booking-widget .rmj-option-card.rmj-addon-card{
    grid-template-columns:78px minmax(0,1fr)!important;
    min-height:104px!important;
  }
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-addon-group-grid .rmj-option-thumb{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-body,
  .rmj-booking-widget .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-package-card .rmj-option-body,
  .rmj-booking-widget .rmj-addon-card .rmj-option-body{
    min-height:104px!important;
    padding:10px!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-package-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-addon-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-service-card .rmj-option-price-wrap{
    max-width:108px!important;
  }
  .rmj-booking-widget .rmj-option-card .rmj-option-price,
  .rmj-booking-widget .rmj-package-card .rmj-option-price,
  .rmj-booking-widget .rmj-addon-card .rmj-option-price,
  .rmj-booking-widget .rmj-service-card .rmj-option-price,
  .rmj-booking-widget .rmj-hours-pill{
    max-width:108px!important;
    font-size:11px!important;
    padding:6px 8px!important;
  }
}


/* Event Flow Pro v1.0.4-beta.484: Mobile app-style compact rows.
   Mobile-only rebuild for services, packages, and add-ons after removing the floating footer path.
   Uses true row cards with fixed thumbnails to prevent tall image columns and long mobile scrolling. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-service-grid,
  .rmj-booking-widget .rmj-package-group-grid,
  .rmj-booking-widget .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-addon-grid,
  .rmj-booking-widget .rmj-addons-grid,
  .rmj-booking-widget .rmj-card-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:min-content!important;
    align-items:start!important;
    gap:12px!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step .rmj-package-group-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step .rmj-addon-group-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step .rmj-addon-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step .rmj-addons-grid .rmj-option-card{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
    box-sizing:border-box!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addon-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addon-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addons-grid .rmj-option-thumb{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    align-self:stretch!important;
    background:#f3f4f6!important;
    overflow:hidden!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step .rmj-package-group-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step .rmj-addon-group-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step .rmj-addon-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step .rmj-addons-grid .rmj-option-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-package-group-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-addon-group-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-addon-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-addons-grid .rmj-option-body{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
    min-height:118px!important;
    max-height:none!important;
    padding:12px 14px!important;
    gap:8px!important;
    box-sizing:border-box!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card .rmj-option-head,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-head,
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-option-head,
  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-option-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-title,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-title,
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-option-title,
  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-option-title{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    text-align:left!important;
    white-space:normal!important;
    text-overflow:clip!important;
    font-size:15px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-price-wrap{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:0!important;
    max-width:118px!important;
    margin:0!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-price,
  .rmj-booking-widget .rmj-step .rmj-hours-pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:118px!important;
    min-height:26px!important;
    height:auto!important;
    padding:6px 9px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-desc,
  .rmj-booking-widget .rmj-step .rmj-option-description,
  .rmj-booking-widget .rmj-step .rmj-service-description,
  .rmj-booking-widget .rmj-step .rmj-package-description,
  .rmj-booking-widget .rmj-step .rmj-addon-description{
    display:none!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-foot{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    gap:8px!important;
  }

  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-list{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-label,
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-grid{
    display:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-mobile-summary{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    min-height:26px!important;
    padding:6px 10px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-addon-card-action{
    display:flex!important;
    justify-content:flex-start!important;
    width:auto!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-addon-card-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:82px!important;
    max-width:120px!important;
    min-height:32px!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  .rmj-booking-widget .rmj-step .rmj-package-highlight-badge{
    top:8px!important;
    left:8px!important;
    max-width:82px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1.05!important;
    text-align:center!important;
    white-space:normal!important;
    z-index:3!important;
  }

  .rmj-booking-widget .rmj-step .rmj-card-overlay{
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:16px!important;
    letter-spacing:.04em!important;
    z-index:5!important;
  }

  .rmj-booking-widget .rmj-addon-group-wrap,
  .rmj-booking-widget .rmj-required-addon-group{
    margin-bottom:16px!important;
  }

  .rmj-booking-widget .rmj-required-addon-group .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-required-addon-group .rmj-addon-grid{
    gap:10px!important;
  }
}

@media (max-width: 380px){
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addon-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addon-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-addons-grid .rmj-option-thumb{
    flex-basis:92px!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-addon-card .rmj-option-body{
    min-height:110px!important;
    padding:10px 12px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-price-wrap{
    max-width:104px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-price,
  .rmj-booking-widget .rmj-step .rmj-hours-pill{
    max-width:104px!important;
    font-size:10px!important;
    padding:6px 8px!important;
  }
}

/* Event Flow Pro v1.0.4-beta.485: Mobile row-card polish.
   Keeps the compact mobile row cards, fixes selected badge/pill overlap, and adds controlled package details expansion. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step .rmj-package-card.is-selected .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step .rmj-addon-card.is-selected .rmj-option-price-wrap{
    padding-top:30px!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after{
    top:8px!important;
    right:8px!important;
    min-height:24px!important;
    padding:6px 9px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    z-index:10!important;
    white-space:nowrap!important;
  }

  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-option-body{
    justify-content:center!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.is-selected .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-option-body{
    justify-content:flex-start!important;
  }

  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-list{
    width:100%!important;
    display:grid!important;
    gap:8px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-mobile-summary{
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    cursor:pointer!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:26px!important;
    padding:6px 10px!important;
    margin:0!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.06)!important;
    color:var(--rmj-card-text,var(--rmj-text,#111827))!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-mobile-action::before{
    content:'· ';
    opacity:.75;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-mobile-action{
    font-size:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-mobile-action::before{
    content:'· Hide';
    font-size:11px!important;
    opacity:1;
  }

  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-label{
    display:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card .rmj-included-grid{
    display:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-top:0!important;
    padding:8px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(15,23,42,.08)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-row{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-height:28px!important;
    padding:6px 8px!important;
    border-radius:10px!important;
    background:rgba(15,23,42,.045)!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-row-icon{
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:var(--rmj-card-selected-border,var(--rmj-accent,#2271b1))!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-card.rmj-mobile-details-open .rmj-included-row-text{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
  }

  .rmj-booking-widget .rmj-step .rmj-package-highlight-badge{
    top:7px!important;
    left:7px!important;
    max-width:70px!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    font-size:9px!important;
    line-height:1.05!important;
    letter-spacing:.01em!important;
    box-shadow:0 8px 16px rgba(15,23,42,.18)!important;
  }

  .rmj-booking-widget .rmj-step .rmj-card-overlay{
    text-align:center!important;
    font-size:15px!important;
    line-height:1.1!important;
    padding:0 18px!important;
    background:rgba(15,23,42,.42)!important;
    color:#fff!important;
    text-shadow:0 2px 8px rgba(0,0,0,.24)!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-card.is-selected .rmj-addon-card-button{
    min-width:92px!important;
  }
}

@media (max-width: 380px){
  .rmj-booking-widget .rmj-step .rmj-package-card.is-selected .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step .rmj-addon-card.is-selected .rmj-option-price-wrap{
    padding-top:28px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-package-highlight-badge{
    max-width:64px!important;
    font-size:8.5px!important;
    padding:4px 6px!important;
  }
}


/* Event Flow Pro v1.0.4-beta.486: Mobile row-card formatting polish.
   Package details become full-width under the row, selected badges move onto image area,
   and add-on actions become full-width inside the content column. Desktop intentionally untouched. */
@media (max-width: 767px){
  /* Use a predictable mobile grid for packages so the expanded included-items panel can span the full card. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card{
    display:grid!important;
    grid-template-columns:136px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:stretch!important;
    min-height:124px!important;
    overflow:hidden!important;
    position:relative!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    grid-column:1!important;
    grid-row:1!important;
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
    align-self:stretch!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-body{
    grid-column:2!important;
    grid-row:1!important;
    min-height:124px!important;
    padding:13px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open > .rmj-option-body{
    display:contents!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-option-head{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    padding:13px 14px!important;
    box-sizing:border-box!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:6px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    padding-top:0!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:6px!important;
    max-width:126px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-option-price-wrap{
    padding-top:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    max-width:126px!important;
    font-size:10.5px!important;
    padding:6px 9px!important;
  }

  /* Move selected state onto the image area so it never overlaps title, hours, price, or buttons. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after{
    top:auto!important;
    right:auto!important;
    left:10px!important;
    bottom:10px!important;
    min-height:24px!important;
    max-width:112px!important;
    padding:6px 9px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    z-index:12!important;
    white-space:nowrap!important;
    box-shadow:0 10px 18px rgba(15,23,42,.18)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight.is-selected::after{
    bottom:8px!important;
  }

  /* Smaller top-left package highlight, kept in the image zone. */
  .rmj-booking-widget .rmj-step .rmj-package-highlight-badge{
    top:8px!important;
    left:8px!important;
    max-width:74px!important;
    padding:5px 7px!important;
    font-size:8.8px!important;
    line-height:1.05!important;
    z-index:11!important;
  }

  /* Full-width included-items expansion under the whole package row. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-option-foot{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    padding:0 12px 12px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-included-list{
    width:100%!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-included-mobile-summary{
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-mobile-summary{
    margin:0 0 8px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%!important;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(15,23,42,.09)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row{
    min-height:34px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  /* Add-ons: remove floating middle button look and keep actions aligned to the content width. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-option-body{
    justify-content:center!important;
    gap:9px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected .rmj-option-price-wrap{
    padding-top:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-option-foot,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-addon-card-action{
    width:100%!important;
    display:flex!important;
    justify-content:stretch!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card .rmj-addon-card-button,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected .rmj-addon-card-button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:34px!important;
    border-radius:14px!important;
    padding:9px 12px!important;
  }

  /* Fully booked overlay stays readable above compact row content. */
  .rmj-booking-widget .rmj-step .rmj-option-card.is-disabled .rmj-card-overlay{
    font-size:14px!important;
    letter-spacing:.05em!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
  }
}

@media (max-width: 380px){
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card{
    grid-template-columns:112px minmax(0,1fr)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    max-width:112px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    max-width:112px!important;
    font-size:10px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.is-disabled .rmj-card-overlay{
    padding:0 12px!important;
  }
}

/* Event Flow Pro v1.0.4-beta.487: Mobile package card hierarchy polish.
   Mobile only: remove service pricing, convert package highlight to a top ribbon,
   stack package meta cleanly, make included details full width, and keep selected overlay anchored to image. */
@media (max-width: 767px){
  /* Services: service choice should not show package pricing on mobile. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-price,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step .rmj-service-card .rmj-option-price{
    display:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-head{
    grid-template-columns:1fr!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-title{
    max-width:100%!important;
  }

  /* Packages: reserve a top ribbon row when a highlight exists. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight{
    grid-template-rows:26px auto auto!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-thumb{
    grid-row:2!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-body{
    grid-row:2!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight.rmj-mobile-details-open .rmj-option-head{
    grid-row:2!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight.rmj-mobile-details-open .rmj-option-foot{
    grid-row:3!important;
  }

  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-package-highlight-badge,
  .rmj-booking-widget .rmj-step .rmj-package-highlight-badge{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 12px!important;
    border-radius:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
    z-index:14!important;
  }

  /* Package content: title on top, meta stacked below, no staggered pill cluster. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-title{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    line-height:1.04!important;
    word-break:normal!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    align-items:stretch!important;
    gap:7px!important;
    padding:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:30px!important;
    justify-content:center!important;
    text-align:center!important;
    padding:7px 6px!important;
    font-size:10px!important;
    line-height:1.05!important;
    box-sizing:border-box!important;
  }

  /* Included summary/details: full width below row with divider and breathing room. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-foot{
    grid-column:1 / -1!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-included-list{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-included-mobile-summary{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-option-foot{
    padding:12px 14px 14px!important;
    border-top:1px solid rgba(15,23,42,.08)!important;
    margin-top:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-mobile-summary{
    margin:0 0 10px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-grid{
    width:100%!important;
    max-width:100%!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }

  /* Keep selected state attached to the image/thumbnail zone in collapsed and expanded states. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after{
    top:auto!important;
    left:10px!important;
    right:auto!important;
    bottom:10px!important;
    z-index:18!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.has-package-highlight.is-selected::after{
    bottom:10px!important;
  }
}

@media (max-width: 380px){
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    min-height:28px!important;
    font-size:9.5px!important;
  }
}

/* Event Flow Pro v1.0.4-beta.488: Mobile selected overlay + final package alignment polish.
   Mobile only: center package title/meta and replace selected pill with a thumbnail overlay so selected state never changes card height. */
@media (max-width: 767px){
  /* Center the package content stack so title, hours, price, and details feel like one clean group. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-head,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-body{
    align-items:center!important;
    text-align:center!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-title{
    text-align:center!important;
    justify-content:center!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    justify-items:center!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card .rmj-included-mobile-summary{
    margin-top:2px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-option-foot{
    padding-top:14px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-grid{
    margin-top:2px!important;
  }

  /* Remove the old selected pill attached to the card itself. It caused the card to stretch/jump when details opened. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after{
    content:none!important;
    display:none!important;
  }

  /* Thumbnail selected overlay/watermark. This stays inside the image and does not affect layout height. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    position:relative!important;
    overflow:hidden!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after{
    content:"✓ Selected"!important;
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    min-height:28px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    color:#fff!important;
    background:rgba(40,120,184,.88)!important;
    border:1px solid rgba(255,255,255,.45)!important;
    box-shadow:0 10px 22px rgba(15,23,42,.18)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
    z-index:20!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
  }
}


/* Event Flow Pro v1.0.4-beta.489: Mobile selected image banner polish.
   Mobile only: change selected state from pill to full-width image banner and keep package image flush within compact row cards. */
@media (max-width: 767px){
  /* Keep thumbnails as the selected-state source of truth. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    position:relative!important;
    overflow:hidden!important;
  }

  /* Package thumbnails should stretch cleanly through the full top row so there is no awkward white gap beside the image. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    align-self:stretch!important;
    height:auto!important;
    min-height:132px!important;
    max-height:none!important;
  }
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb img{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }

  /* Remove any old selected pill/badge pseudo-element so it cannot add height or float outside the image. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after{
    content:none!important;
    display:none!important;
  }

  /* Full-width selected banner: checkmark + text side-by-side, centered, with blur overlay. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after{
    content:"✓  Selected"!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 8px!important;
    border-radius:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    color:var(--rmj-highlight-text,#fff)!important;
    background:var(--rmj-highlight-bg,var(--rmj-accent,#2271b1))!important;
    background-image:none!important;
    border:0!important;
    border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28)))!important;
    box-shadow:0 -10px 26px rgba(15,23,42,.22)!important;
    backdrop-filter:blur(9px)!important;
    -webkit-backdrop-filter:blur(9px)!important;
    z-index:22!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
  }

  /* Add-ons use narrower thumbnails, so keep the banner text side-by-side without wrapping. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after{
    font-size:10px!important;
    min-height:32px!important;
    height:32px!important;
  }

  /* Services also share the same banner, keeping the already-good image placement intact. */
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after{
    font-size:10.5px!important;
  }
}


/* Event Flow Pro v1.0.4-beta.655: Mobile add-on category accent source corrected.
   Header accent bar now reads --rmj-addon-category-accent-bar instead of the old primary/accent fallback.

   Event Flow Pro v1.0.4-beta.490: Mobile add-on category header polish.
   Mobile only: make add-on category groups visually separated with preset-aware headers. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap{
    gap:10px!important;
    padding:0 0 14px!important;
    margin:18px 0 20px!important;
    border:1px solid rgba(148,163,184,.22)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.72))!important;
    box-shadow:0 10px 24px rgba(15,23,42,.045)!important;
    overflow:hidden!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap:first-child{
    margin-top:6px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-wrap{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    padding:14px 14px 12px!important;
    margin:0!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.88))!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-wrap::before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:4px!important;
    background:linear-gradient(90deg,var(--rmj-addon-category-accent-bar,var(--rmj-primary,#2563eb)),color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-primary,#2563eb)) 68%,#ffffff))!important;
    opacity:.95!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-main{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    padding-top:2px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
    color:var(--rmj-heading,#111827)!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-badge{
    order:2!important;
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:24px!important;
    padding:6px 9px!important;
    border-radius:999px!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
    color:var(--rmj-highlight-text,var(--rmj-primary,#2563eb))!important;
    background:var(--rmj-highlight-bg,rgba(37,99,235,.08))!important;
    border:1px solid var(--rmj-highlight-border,rgba(37,99,235,.18))!important;
    white-space:nowrap!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-badge{
    color:#b45309!important;
    background:rgba(245,158,11,.12)!important;
    border-color:rgba(245,158,11,.28)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-subtitle{
    margin:0!important;
    color:var(--rmj-muted,#64748b)!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
    opacity:.86!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-addon-scroll-indicator{
    align-self:flex-start!important;
    margin-top:2px!important;
    padding:6px 10px!important;
    font-size:10px!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-addon-grid,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-addons-grid{
    padding:12px 12px 0!important;
    margin:0!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-invalid{
    border-color:rgba(220,38,38,.38)!important;
    box-shadow:0 0 0 3px rgba(220,38,38,.08),0 10px 24px rgba(15,23,42,.045)!important;
  }
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-invalid .rmj-group-heading-wrap::before{
    background:#dc2626!important;
  }
  .rmj-booking-widget .rmj-step .rmj-group-heading .rmj-group-error{
    white-space:normal!important;
    margin-top:7px!important;
  }
}


/* Event Flow Pro v1.0.4-beta.491: Mobile add-on category required/optional header refinement.
   Mobile only: remove duplicated required warning blocks, use a clean required ribbon, and left-align subtitles. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading-subtitle{
    align-self:stretch!important;
    text-align:left!important;
    padding-left:0!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap{
    padding:42px 14px 12px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,247,247,.72))!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap::before{
    content:"REQUIRED"!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    background:#dc2626!important;
    opacity:1!important;
    border-radius:18px 18px 0 0!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-main{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    gap:0!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-badge{
    display:none!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:14px!important;
    letter-spacing:.045em!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-subtitle{
    color:#7f1d1d!important;
    font-size:11px!important;
    font-weight:800!important;
    opacity:.78!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-optional .rmj-group-heading-subtitle{
    text-align:left!important;
    align-self:stretch!important;
  }

  /* Hide the older required warning box on mobile so the required ribbon + footer message do not duplicate it. */
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-heading .rmj-group-error,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap .rmj-group-error{
    display:none!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-invalid .rmj-group-heading-wrap::before,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-needs-attention .rmj-group-heading-wrap::before{
    content:"REQUIRED"!important;
    background:#dc2626!important;
  }
}


/* Event Flow Pro v1.0.4-beta.492: Mobile required add-on category final header cleanup.
   Keeps the required ribbon attached to the card edge and removes the duplicate validation box on mobile. */
@media (max-width: 767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required{
    padding:0 0 14px!important;
    overflow:hidden!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap{
    margin:0!important;
    border-radius:18px 18px 0 0!important;
    padding:44px 14px 12px!important;
    overflow:hidden!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap::before,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap::before,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap::before{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:34px!important;
    border-radius:18px 18px 0 0!important;
    transform:none!important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-heading .rmj-group-error,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-heading .rmj-group-error,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-error,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-error,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-error{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-main{
    display:block!important;
    width:100%!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-subtitle{
    margin-top:5px!important;
    text-align:left!important;
  }
}


/* Event Flow Pro v1.0.4-beta.494: Selector step spacing normalization.
   Root cause: template/backdrop selector steps still had legacy category-grid bottom margins
   and selector action spacing from the previous floating footer/mobile dock layout. Those margins
   created the large blank space between the final selector row and the in-widget footer on mobile. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-step-shell,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-step-shell,
  .rmj-booking-widget .rmj-step .rmj-template-selector-step,
  .rmj-booking-widget .rmj-step .rmj-backdrop-selector-step,
  .rmj-booking-widget .rmj-step .rmj-selector-step-shell{
    gap:12px!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-card-grid.rmj-category-grid,
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-category-grid,
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-category-grid,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-card-grid.rmj-category-grid,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-category-grid,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-category-grid,
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-template-selector-grid,
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-backdrop-selector-grid,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid,
  .rmj-booking-widget .rmj-template-selector-step .rmj-selector-grid,
  .rmj-booking-widget .rmj-backdrop-selector-step .rmj-selector-grid,
  .rmj-booking-widget .rmj-selector-step-shell .rmj-selector-grid{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="categories"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="categories"]{
    margin-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-grid[data-rmj-selector-view="flat-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="category-items"],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-grid[data-rmj-selector-view="flat-items"]{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-card:last-child,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-card:last-child,
  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-selector-masonry-col:last-child,
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-selector-masonry-col:last-child{
    margin-bottom:0!important;
  }

  .rmj-booking-widget .rmj-step[data-step="6"] .rmj-step-actions[data-rmj-selector-actions],
  .rmj-booking-widget .rmj-step[data-step="7"] .rmj-step-actions[data-rmj-selector-actions],
  .rmj-booking-widget .rmj-step .rmj-step-actions[data-rmj-selector-actions]{
    margin-top:12px!important;
    padding-top:8px!important;
  }
}



/* Event Flow Pro v1.0.4-beta.501: Mobile required add-on card width balance.
   Clean correction: match required add-on grid inset to the optional category grid inset (12px),
   keeping the solid red required ribbon and footer spacing from beta.500. */
@media (max-width: 767px){
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-group-heading-wrap::before,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-invalid .rmj-group-heading-wrap::before,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.rmj-group-needs-attention .rmj-group-heading-wrap::before{
    background:#dc2626!important;
    background-image:none!important;
  }

  .rmj-booking-widget .rmj-step:has(.rmj-addon-group-wrap) > .rmj-continue-validation-hint,
  .rmj-booking-widget .rmj-step.is-active:has(.rmj-addon-group-wrap) .rmj-continue-validation-hint,
  .rmj-booking-widget .rmj-step.is-active:has(.rmj-addon-group-wrap) .rmj-required-addon-warning,
  .rmj-booking-widget .rmj-step.is-active:has(.rmj-addon-group-wrap) .rmj-addon-required-warning{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  /* Match required list inset to optional category list inset. Target descendants because the
     required group markup can insert a validation/state wrapper around the actual add-on grid. */
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-card-grid,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-addon-grid,
  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-addons-grid,
  .rmj-booking-widget .rmj-step .rmj-required-addon-group .rmj-card-grid,
  .rmj-booking-widget .rmj-step .rmj-required-addon-group .rmj-addon-group-grid,
  .rmj-booking-widget .rmj-step .rmj-required-addon-group .rmj-addon-grid,
  .rmj-booking-widget .rmj-step .rmj-required-addon-group .rmj-addons-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 12px 0!important;
    box-sizing:border-box!important;
    justify-items:stretch!important;
  }

  .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required .rmj-option-card.rmj-addon-card,
  .rmj-booking-widget .rmj-step .rmj-required-addon-group .rmj-option-card.rmj-addon-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .rmj-booking-widget .rmj-step.is-active:has(.rmj-addon-group-wrap) .rmj-addon-group-wrap:last-of-type{
    margin-bottom:8px!important;
  }

  .rmj-booking-widget .rmj-step.is-active:has(.rmj-addon-group-wrap) > .rmj-step-actions{
    margin-top:8px!important;
    padding-top:8px!important;
  }
}

/* v1.0.4-beta.503: Desktop booking widget list-view refresh
   Mirrors the cleaner mobile booking card structure on desktop only.
   Scoped to min-width:768px so mobile browser/App Mode remains untouched. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid.is-slideshow{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-auto-flow:row !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    justify-items:stretch !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    padding:0 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-card{
    display:grid !important;
    grid-template-columns:176px minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:148px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:18px !important;
    border:1px solid var(--rmj-card-border,#e5e7eb) !important;
    background:var(--rmj-card-bg,#fff) !important;
    box-shadow:0 10px 28px rgba(15,23,42,.055) !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-card:hover,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-card:hover,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-card:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-card.is-selected,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-card.is-selected,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-card.is-selected{
    border-color:var(--rmj-selected-border,var(--rmj-primary,#2563eb)) !important;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--rmj-primary,#2563eb) 20%, transparent), 0 14px 34px rgba(15,23,42,.08) !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb{
    width:176px !important;
    min-width:176px !important;
    max-width:176px !important;
    height:100% !important;
    min-height:148px !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    background:#f3f4f6 !important;
    overflow:hidden !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:9px !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    padding:18px 20px !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-head,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    justify-content:stretch !important;
    gap:12px !important;
    width:100% !important;
    min-height:0 !important;
  }

  .rmj-booking-widget .rmj-service-card .rmj-option-title,
  .rmj-booking-widget .rmj-package-card .rmj-option-title,
  .rmj-booking-widget .rmj-addon-card .rmj-option-title,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-title,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-title{
    display:block !important;
    min-height:0 !important;
    width:auto !important;
    margin:0 !important;
    text-align:left !important;
    font-size:17px !important;
    line-height:1.25 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-desc,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-desc,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-desc{
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:14px !important;
    line-height:1.45 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-price-wrap{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    gap:7px !important;
    width:auto !important;
    min-width:max-content !important;
    margin-left:auto !important;
    text-align:right !important;
    white-space:normal !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-price,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-price,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-price,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-hours-pill{
    align-self:flex-end !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-foot,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-foot{
    margin-top:2px !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-included-list{
    min-height:0 !important;
    margin-top:4px !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-included-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-included-row{
    width:auto !important;
    max-width:100% !important;
  }

  .rmj-booking-widget .rmj-addon-group-wrap{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    padding:16px !important;
    border:1px solid rgba(148,163,184,.22) !important;
    border-radius:22px !important;
    background:rgba(248,250,252,.72) !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-addon-group-wrap.is-required{
    border-color:rgba(239,68,68,.35) !important;
  }

  .rmj-booking-widget .rmj-addon-group-wrap.is-required .rmj-group-heading-badge{
    background:#dc2626 !important;
    color:#fff !important;
  }

  .rmj-booking-widget .rmj-group-heading-wrap{
    margin:0 0 14px !important;
  }

  .rmj-booking-widget .rmj-addon-scroll-indicator{
    display:none !important;
  }
}

@media (min-width: 768px) and (max-width: 960px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-card{
    grid-template-columns:148px minmax(0,1fr) !important;
    min-height:132px !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-thumb{
    width:148px !important;
    min-width:148px !important;
    max-width:148px !important;
    min-height:132px !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid .rmj-option-body{
    padding:16px !important;
  }
}


/* v1.0.4-beta.504: Desktop services 2-column compact list cards
   Services only. Packages/add-ons keep the beta.503 full-width list layout.
   Scoped to min-width:980px so mobile and narrow/tablet layouts remain untouched. */
@media (min-width: 980px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-card{
    display:grid !important;
    grid-template-columns:132px minmax(0,1fr) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:126px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-card .rmj-option-thumb,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-thumb{
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    min-height:126px !important;
    height:100% !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-service-card .rmj-option-body,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-body{
    padding:15px 16px !important;
    gap:6px !important;
    justify-content:center !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-service-card .rmj-option-head,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-head{
    display:block !important;
    min-height:0 !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-service-card .rmj-option-title,
  .rmj-booking-widget .rmj-step .rmj-service-grid .rmj-option-title{
    font-size:14px !important;
    line-height:1.25 !important;
    text-align:left !important;
    margin:0 !important;
  }

  /* Services should not show pricing. Pricing remains visible for packages and add-ons. */
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-price,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card .rmj-option-price{
    display:none !important;
  }
}


/* v1.0.4-beta.505: Confirmed desktop services two-column list view.
   Root cause: the booking widget can receive rmj-widget-size-narrow/compact on desktop-width tests,
   and those more-specific container-aware rules forced services back to one column and kept prices visible.
   This is scoped to min-width:768px and services only, so mobile/App Mode under 767px stays untouched. */
@media (min-width: 768px){
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget .rmj-step > .rmj-service-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    justify-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-card,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-service-card,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-service-card{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:116px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-thumb{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    height:100% !important;
    min-height:116px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-thumb img,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-thumb img,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    gap:5px !important;
    padding:14px 15px !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-head{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-title{
    display:block !important;
    min-height:0 !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }

  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-price,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-price,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid .rmj-option-price,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-step > .rmj-service-grid .rmj-option-price{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
}

@media (min-width: 768px) and (max-width: 860px){
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid,
  .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget .rmj-step > .rmj-service-grid{
    grid-template-columns:1fr !important;
  }
}

/* v1.0.4-beta.506: Desktop-mode services 2-column enforcement.
   Inspection finding: beta.505 did hide service prices, proving the desktop service scope was correct.
   The remaining issue was the safeguard media query at 768-860px forcing the service grid back to 1 column.
   Android/Chrome desktop mode can report a CSS viewport in that range, so this final rule keeps services two-column
   for desktop-mode widths while preserving true mobile under 767px. Services only; packages/add-ons unchanged. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    justify-content:stretch !important;
    justify-items:stretch !important;
    align-items:stretch !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-service-card,
  .rmj-booking-widget .rmj-service-grid .rmj-service-card{
    display:grid !important;
    grid-template-columns:108px minmax(0,1fr) !important;
    min-height:108px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb{
    width:108px !important;
    min-width:108px !important;
    max-width:108px !important;
    min-height:108px !important;
    height:100% !important;
    border-radius:0 !important;
    padding:0 !important;
    aspect-ratio:auto !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    padding:12px 14px !important;
    gap:5px !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-head{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-title{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-service-grid .rmj-option-price{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
}

/* v1.0.4-beta.507: Desktop services two-column card equal-height polish.
   Services only. Keeps mobile/App Mode untouched under 768px and leaves packages/add-ons unchanged. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:126px !important;
    gap:14px 16px !important;
    align-items:stretch !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-service-card,
  .rmj-booking-widget .rmj-service-grid .rmj-service-card,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    min-height:126px !important;
    height:126px !important;
    max-height:126px !important;
    align-items:stretch !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-thumb{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
    border-radius:0 !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-body{
    justify-content:center !important;
    align-items:flex-start !important;
    padding:16px 18px !important;
    min-height:126px !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-title{
    font-size:14px !important;
    line-height:1.25 !important;
    text-align:left !important;
    margin:0 !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-card.is-disabled .rmj-card-overlay,
  .rmj-booking-widget .rmj-service-grid .rmj-service-card.is-disabled .rmj-card-overlay{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 14px !important;
    min-height:126px !important;
    font-size:13px !important;
    letter-spacing:.04em !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-price-wrap,
  .rmj-booking-widget .rmj-service-grid .rmj-option-price{
    display:none !important;
    visibility:hidden !important;
  }
}

/* v1.0.4-beta.508: Desktop services title breathing room fix.
   Services only. Adds true text spacing between the image column and service title without changing card height/layout. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid .rmj-option-body{
    padding-left:34px !important;
    padding-right:18px !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid .rmj-option-head{
    padding-left:0 !important;
    margin-left:0 !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid .rmj-option-title,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid .rmj-option-title{
    padding-left:0 !important;
    margin-left:0 !important;
  }
}

/* v1.0.4-beta.522: Desktop services final layered wave refinement.
   Built from the working beta.520 wave. This keeps the confirmed desktop 2-column service layout,
   title spacing, card height, selected badge, and mobile/App Mode untouched. Only the decorative
   service-card wave geometry is changed: raised slightly, starts earlier, broader/softer layers. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled){
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background:var(--rmj-card-bg,#ffffff) !important;
    border-color:var(--rmj-card-border,#e5e7eb) !important;
  }

  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:104px !important;
    z-index:0 !important;
    pointer-events:none !important;
    background-image:
      radial-gradient(132% 92% at 98% 116%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 8%, transparent) 0 34%, transparent 35%),
      radial-gradient(124% 84% at 86% 108%, transparent 0 39%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 40% 53%, transparent 54%),
      radial-gradient(116% 76% at 74% 102%, transparent 0 49%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 50% 62%, transparent 63%),
      radial-gradient(108% 68% at 62% 98%, transparent 0 58%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 4%, transparent) 59% 69%, transparent 70%) !important;
    background-repeat:no-repeat !important;
    background-size:100% 100% !important;
    opacity:1 !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before{
    background-image:
      radial-gradient(132% 92% at 98% 116%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 11%, transparent) 0 34%, transparent 35%),
      radial-gradient(124% 84% at 86% 108%, transparent 0 39%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 14%, transparent) 40% 53%, transparent 54%),
      radial-gradient(116% 76% at 74% 102%, transparent 0 49%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 50% 62%, transparent 63%),
      radial-gradient(108% 68% at 62% 98%, transparent 0 58%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 6%, transparent) 59% 69%, transparent 70%) !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected{
    border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#2271b1))) !important;
    box-shadow:0 0 0 1px color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 28%, transparent), 0 12px 28px rgba(15,23,42,.08) !important;
  }

  .rmj-booking-widget .rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  .rmj-booking-widget .rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  .rmj-booking-widget .rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-head,
  .rmj-booking-widget .rmj-service-grid .rmj-option-title,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-title{
    position:relative !important;
    z-index:2 !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::after,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::after{
    z-index:6 !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-disabled::before,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-disabled::before{
    display:none !important;
    content:none !important;
  }
}


/* v1.0.4-beta.523: Final desktop service wave polish.
   This is a small geometry-only refinement over beta.522: the highest wave is lowered,
   the layers are spread apart slightly, and the left edge is feathered so the wave does not start abruptly.
   Layout, card height, image/title spacing, hidden service pricing, and mobile/App Mode remain untouched. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before{
    background-image:
      radial-gradient(138% 96% at 102% 124%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 8%, transparent) 0 36%, transparent 37%),
      radial-gradient(130% 88% at 91% 116%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 43% 56%, transparent 57%),
      radial-gradient(122% 80% at 80% 108%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 53% 66%, transparent 67%),
      radial-gradient(116% 72% at 68% 102%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 4%, transparent) 63% 73%, transparent 74%) !important;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 8%, #000 20%, #000 100%) !important;
    mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 8%, #000 20%, #000 100%) !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before{
    background-image:
      radial-gradient(138% 96% at 102% 124%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 11%, transparent) 0 36%, transparent 37%),
      radial-gradient(130% 88% at 91% 116%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 14%, transparent) 43% 56%, transparent 57%),
      radial-gradient(122% 80% at 80% 108%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 53% 66%, transparent 67%),
      radial-gradient(116% 72% at 68% 102%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 6%, transparent) 63% 73%, transparent 74%) !important;
  }
}


/* v1.0.4-beta.524: Desktop service card micro wave polish.
   Starts from the confirmed beta.523 wave. This only lowers/softens the top wave layer
   so the service title area stays cleaner. Layout, height, spacing, image sizing, selected badge,
   hidden service pricing, packages/add-ons, mobile browser, and App Mode are untouched. */
@media (min-width: 768px){
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before{
    background-image:
      radial-gradient(140% 100% at 103% 131%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 0 36%, transparent 37%),
      radial-gradient(132% 91% at 92% 121%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 43% 56%, transparent 57%),
      radial-gradient(124% 82% at 80% 110%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 53% 66%, transparent 67%),
      radial-gradient(118% 74% at 68% 104%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 4%, transparent) 63% 73%, transparent 74%) !important;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.72) 23%, #000 36%, #000 100%) !important;
    mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.72) 23%, #000 36%, #000 100%) !important;
  }

  .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before{
    background-image:
      radial-gradient(140% 100% at 103% 131%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 0 36%, transparent 37%),
      radial-gradient(132% 91% at 92% 121%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 13%, transparent) 43% 56%, transparent 57%),
      radial-gradient(124% 82% at 80% 110%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 9%, transparent) 53% 66%, transparent 67%),
      radial-gradient(118% 74% at 68% 104%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 5%, transparent) 63% 73%, transparent 74%) !important;
  }
}

/* v1.0.4-beta.525: Mobile browser service card wave background.
   Inspection finding: front-end mobile service cards use the same .rmj-booking-widget .rmj-service-grid
   > .rmj-option-card.rmj-service-card structure as desktop, with mobile layout controlled separately
   under max-width:767px. App Mode/admin service organizer uses .rmj-services-shell/.rmj-services-modal-grid,
   so this is scoped away from body.rmj-admin-app-mode and only touches front-end service cards.
   Layout, height, image sizing, title spacing, selected badge, packages/add-ons, desktop, and disabled cards unchanged. */
@media (max-width: 767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled),
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled){
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background:var(--rmj-card-bg,#ffffff) !important;
    border-color:var(--rmj-card-border,#e5e7eb) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card:not(.is-disabled)::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:104px !important;
    z-index:0 !important;
    pointer-events:none !important;
    background-image:
      radial-gradient(140% 100% at 103% 131%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 0 36%, transparent 37%),
      radial-gradient(132% 91% at 92% 121%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 43% 56%, transparent 57%),
      radial-gradient(124% 82% at 80% 110%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 7%, transparent) 53% 66%, transparent 67%),
      radial-gradient(118% 74% at 68% 104%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 4%, transparent) 63% 73%, transparent 74%) !important;
    background-repeat:no-repeat !important;
    background-size:100% 100% !important;
    opacity:1 !important;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.72) 23%, #000 36%, #000 100%) !important;
    mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.72) 23%, #000 36%, #000 100%) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::before{
    background-image:
      radial-gradient(140% 100% at 103% 131%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 10%, transparent) 0 36%, transparent 37%),
      radial-gradient(132% 91% at 92% 121%, transparent 0 42%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 13%, transparent) 43% 56%, transparent 57%),
      radial-gradient(124% 82% at 80% 110%, transparent 0 52%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 9%, transparent) 53% 66%, transparent 67%),
      radial-gradient(118% 74% at 68% 104%, transparent 0 62%, color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 5%, transparent) 63% 73%, transparent 74%) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid .rmj-option-title{
    position:relative !important;
    z-index:2 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::after{
    z-index:6 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-disabled::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-disabled::before{
    display:none !important;
    content:none !important;
  }
}


/* v1.0.4-beta.527: Desktop package card row polish aligned to approved mockup.
   Inspection findings before edit:
   - Front-end package cards are generated in assets/js/frontend.js by cardHtml(item, 'package').
   - Active selectors/render path: .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.
   - Mobile package behavior is controlled by existing max-width:767px blocks, including the mobile selected thumbnail banner and included-items toggle.
   - App Mode/admin organizer uses separate admin/modal service selectors, so this update is scoped to desktop front-end only and excludes body.rmj-admin-app-mode.
   Desktop-only goals: attached top highlight bar, remove desktop included-summary pill, move selected state to image banner, and rebuild the row into cleaner content sections. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card{
    position:relative !important;
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:0 !important;
    min-height:250px !important;
    height:auto !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:18px !important;
    background:var(--rmj-card-bg,#fff) !important;
    transform:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card:hover,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card:hover{
    transform:translateY(-1px) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight:hover,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight:hover{
    transform:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    grid-column:1 !important;
    grid-row:1 !important;
    position:relative !important;
    width:220px !important;
    min-width:220px !important;
    height:100% !important;
    min-height:250px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    align-self:stretch !important;
    border-radius:18px 0 0 18px !important;
    overflow:hidden !important;
    background:#f3f4f6 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    gap:16px !important;
    min-height:0 !important;
    height:auto !important;
    padding:52px 30px 24px !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-body{
    padding-top:52px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:16px !important;
    min-height:0 !important;
    width:100% !important;
    padding:0 0 18px !important;
    margin:0 !important;
    border-bottom:1px solid color-mix(in srgb, var(--rmj-card-border,#d1d5db) 88%, transparent) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-title{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    font-size:clamp(20px, 1.9vw, 25px) !important;
    line-height:1.12 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price{
    position:relative !important;
    align-self:center !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    margin:0 !important;
    max-width:100% !important;
    min-height:36px !important;
    padding:8px 14px !important;
    border-radius:10px !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill{
    font-weight:700 !important;
    opacity:.96 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill::before{
    content:"◷" !important;
    font-size:15px !important;
    color:var(--rmj-accent,#7c3aed) !important;
    line-height:1 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price::before{
    content:"◆" !important;
    font-size:13px !important;
    color:var(--rmj-accent,#7c3aed) !important;
    line-height:1 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc{
    flex:0 0 auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-foot,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-foot{
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-list,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-list{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-mobile-summary,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-mobile-summary{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-label,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-label{
    display:flex !important;
    margin:0 0 10px !important;
    padding:0 !important;
    width:100% !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px 14px !important;
    column-count:initial !important;
    column-gap:0 !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    min-height:36px !important;
    margin:0 !important;
    padding:8px 14px !important;
    border-radius:10px !important;
    gap:8px !important;
    break-inside:auto !important;
  }

  /* Attached package highlight bar, matching the mobile attached-card concept but using the widget accent. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge{
    position:absolute !important;
    top:0 !important;
    left:220px !important;
    right:0 !important;
    z-index:10 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    height:40px !important;
    max-width:none !important;
    width:auto !important;
    padding:0 16px !important;
    border-radius:0 18px 0 0 !important;
    border:0 !important;
    box-shadow:none !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    background:#7c3aed !important;
    background-image:none !important;
    color:#ffffff !important;
    border-color:transparent !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge::before{
    display:none !important;
    content:none !important;
  }

  /* Desktop package selected state now mirrors mobile: full-width banner inside thumbnail. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected::after{
    content:none !important;
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after{
    content:"✓  Selected" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:8 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 10px !important;
    border-radius:0 !important;
    border:0 !important;
    border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28))) !important;
    background:#7c3aed !important;
    background-image:none !important;
    color:var(--rmj-highlight-text,#fff) !important;
    box-shadow:0 -8px 20px rgba(15,23,42,.18) !important;
    backdrop-filter:blur(9px) !important;
    -webkit-backdrop-filter:blur(9px) !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
  }
}



/* v1.0.4-beta.529 - Desktop package included-item pill spacing source fix.
   Scope is intentionally limited to desktop front-end package cards only.
   Uses child margins instead of flex gap so older/competing layout rules cannot collapse the pill spacing. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:0 !important;
    row-gap:0 !important;
    column-gap:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid > .rmj-included-row,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid > .rmj-included-row{
    flex:0 0 auto !important;
    margin:0 14px 12px 0 !important;
  }
}

/* v1.0.4-beta.655 - Desktop Add-ons compact action layout accent source corrected.
   Category accent bar now reads --rmj-addon-category-accent-bar on the actual outer wrapper ::before layer.

   v1.0.4-beta.532 - Desktop Add-ons compact action layout.
   Clean replacement for beta.531 add-on layout block; scoped to desktop front-end booking widget only.
   Mobile browser and App Mode are intentionally excluded. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap{
    position:relative !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:0 !important;
    border:1px solid var(--rmj-card-border,#e5e7eb) !important;
    border-radius:18px !important;
    background:#ffffff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap::before{
    content:"" !important;
    display:block !important;
    width:100% !important;
    height:6px !important;
    flex:0 0 6px !important;
    background:linear-gradient(90deg,var(--rmj-addon-category-accent-bar,var(--rmj-accent,#2271b1)),color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-accent,#2271b1)) 60%,#ffffff)) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required::before{
    content:"REQUIRED" !important;
    height:30px !important;
    flex-basis:30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#dc2626 !important;
    color:#ffffff !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.rmj-group-invalid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.rmj-group-invalid{
    border-color:rgba(220,38,38,.35) !important;
    box-shadow:0 10px 24px rgba(220,38,38,.075) !important;
    background:#ffffff !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    width:100% !important;
    padding:14px 20px 13px !important;
    margin:0 !important;
    border-bottom:1px solid rgba(148,163,184,.24) !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading-main,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading-main{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:3px !important;
    min-width:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading{
    margin:0 !important;
    color:var(--rmj-heading,#111827) !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    letter-spacing:-.01em !important;
    text-transform:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-height:21px !important;
    padding:5px 10px !important;
    border-radius:999px !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
  }

  /* Required already has a full attached top bar, so remove duplicate header pills/text on desktop only. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading .rmj-group-error,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading .rmj-group-error{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge{
    background:var(--rmj-highlight-bg,color-mix(in srgb,var(--rmj-accent,#2271b1) 12%,#ffffff)) !important;
    color:var(--rmj-highlight-text,var(--rmj-accent,#2271b1)) !important;
    border:1px solid var(--rmj-highlight-border,color-mix(in srgb,var(--rmj-accent,#2271b1) 24%,transparent)) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-group-heading-subtitle{
    margin:0 !important;
    color:var(--rmj-text,#374151) !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.3 !important;
    opacity:.88 !important;
    text-align:right !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    padding:16px 20px 18px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:128px minmax(0,1fr) !important;
    align-items:center !important;
    gap:16px !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:16px !important;
    border:1px solid var(--rmj-card-border,#e5e7eb) !important;
    background:var(--rmj-card-bg,#ffffff) !important;
    box-shadow:0 7px 18px rgba(15,23,42,.04) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    width:128px !important;
    height:96px !important;
    min-width:128px !important;
    max-width:128px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:16px 0 0 16px !important;
    background:#f8fafc !important;
    overflow:hidden !important;
    align-self:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-body{
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:14px !important;
    padding:13px 20px 13px 0 !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-head{
    grid-column:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-price-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-price-wrap{
    order:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-title{
    order:1 !important;
    margin:0 !important;
    min-width:0 !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.22 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-price{
    margin:0 !important;
    min-height:28px !important;
    padding:6px 11px !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    border-radius:999px !important;
    border:1px solid color-mix(in srgb,var(--rmj-bubble-text,#2c3338) 18%, white) !important;
    background:var(--rmj-bubble-bg,#f6f7f7) !important;
    color:var(--rmj-bubble-text,#2c3338) !important;
    -webkit-text-fill-color:var(--rmj-bubble-text,#2c3338) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-foot,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-foot{
    grid-column:2 !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:end !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-addon-card-action,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-addon-card-action{
    width:auto !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-addon-card-button,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-addon-card-button{
    width:auto !important;
    min-width:92px !important;
    min-height:38px !important;
    padding:10px 20px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-desc,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-desc{
    display:none !important;
  }
}

/* v1.0.4-beta.533: Desktop selected thumbnail banner parity for services/add-ons.
   Clean scope: desktop front-end booking widget only, excludes App Mode. Uses the existing package thumbnail-banner pattern without changing packages/mobile. */
@media (min-width: 768px){
  /* Remove the old floating selected pill on desktop services and add-ons only. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected::after{
    content:none !important;
    display:none !important;
  }

  /* Thumbnail becomes the selected-state source of truth, matching packages/mobile behavior. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    position:relative !important;
    overflow:hidden !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after{
    content:"✓  Selected" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:30 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:32px !important;
    height:32px !important;
    padding:0 8px !important;
    margin:0 !important;
    border-radius:0 !important;
    border:0 !important;
    border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28))) !important;
    background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,#2271b1))) !important;
    background-image:none !important;
    color:var(--rmj-highlight-text,#fff) !important;
    box-shadow:0 -8px 20px rgba(15,23,42,.18) !important;
    backdrop-filter:blur(9px) !important;
    -webkit-backdrop-filter:blur(9px) !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    white-space:nowrap !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
  }

  /* Preserve a clear selected-card indication after moving the badge into the image. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-service-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected{
    border-color:var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) !important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,#2271b1)) 18%,transparent), 0 12px 28px rgba(15,23,42,.08) !important;
  }

  /* Required add-on group: keep the red REQUIRED bar only while that group is unresolved/invalid. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention)::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention)::before{
    content:none !important;
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    flex-basis:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention){
    border-color:var(--rmj-card-border,#e5e7eb) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
  }
}

/* v1.0.4-beta.535: Desktop selected thumbnail banner corner fix.
   Scope: front-end desktop service/add-on/package thumbnail selected banners only.
   Fixes the visible angled/square bottom-corner artifact by making the thumbnail, image, and selected overlay share the same clipped bottom radius. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    transform:translateZ(0) !important;
    -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb img{
    border-radius:inherit !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    margin:0 !important;
    border-radius:0 0 inherit inherit !important;
    border-bottom-left-radius:inherit !important;
    border-bottom-right-radius:inherit !important;
    clip-path:inset(0 round 0 0 inherit inherit) !important;
  }
}

/* v1.0.4-beta.536: Booking details SMS opt-in + payment upsell containment restore.
   Scope is limited to Booking Details (step 8) SMS opt-in and Payment (step 9) upsell recommendations so the newer service/package/add-on card work cannot leak into these later steps. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field{
  display:none;
  width:100%;
  margin-top:10px;
  clear:both;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible{
  display:block;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-label{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.35 !important;
  cursor:pointer;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-label input[type="checkbox"]{
  grid-column:1 !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  margin:3px 0 0 !important;
  padding:0 !important;
  flex:0 0 auto !important;
  position:static !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-label > span{
  grid-column:2 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:4px 6px !important;
  min-width:0 !important;
  margin:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-label strong{
  display:inline !important;
  margin:0 !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-label small{
  display:inline !important;
  margin:0 !important;
  color:var(--rmj-muted,#6b7280) !important;
  line-height:1.35 !important;
}

.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations[hidden]{
  display:none !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations{
  display:block;
  width:100%;
  margin:0 0 18px;
  box-sizing:border-box;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel{
  width:100%;
  padding:18px;
  border:1px solid var(--rmj-card-border,#dbe3ee);
  border-radius:18px;
  background:var(--rmj-card-bg,#fff);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  box-sizing:border-box;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-head{
  display:block;
  margin:0 0 14px;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-kicker{
  display:block;
  margin:0 0 4px;
  font-weight:700;
  color:var(--rmj-text,#1f2937);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-head p{
  margin:0;
  color:var(--rmj-muted,#4b5563);
  line-height:1.45;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:14px !important;
  width:100%;
  margin:0;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:12px !important;
  min-height:100px;
  padding:10px 12px !important;
  border:1px solid var(--rmj-card-border,#dbe3ee) !important;
  border-radius:16px !important;
  background:var(--rmj-card-bg,#fff) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
  cursor:pointer;
  box-sizing:border-box;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-thumb{
  width:92px !important;
  height:76px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:var(--rmj-soft-bg,#f3f4f6) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-thumb img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:inherit !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-copy{
  min-width:0;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-title{
  margin:0 0 3px !important;
  font-weight:800 !important;
  color:var(--rmj-text,#1f2937) !important;
  line-height:1.2 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-copy p{
  margin:0 !important;
  color:var(--rmj-muted,#6b7280) !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-price{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  white-space:nowrap !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:var(--rmj-text,#1f2937) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-added-label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-remove-label{
  display:none;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card.is-added .rmj-upsell-rec-price-value{
  display:none;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card.is-added .rmj-upsell-rec-added-label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card.is-added .rmj-upsell-rec-remove-label{
  display:inline-flex;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-action{
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--rmj-accent,#2271b1) !important;
  color:#fff !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-action-check{
  display:none;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card.is-added .rmj-upsell-rec-action-add{
  display:none;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-card.is-added .rmj-upsell-rec-action-check{
  display:inline;
}

/* v1.0.4-beta.537: Booking Details SMS opt-in card + Payment last-chance header polish.
   Scope limited to late booking widget steps only. Does not touch service/package/add-on selection cards. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible{
  display:block !important;
  width:100% !important;
  margin:12px 0 16px !important;
  padding:12px 14px !important;
  border:1px solid var(--rmj-card-border,#dbe3ee) !important;
  border-radius:14px !important;
  background:var(--rmj-card-bg,#fff) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.035) !important;
  box-sizing:border-box !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible .rmj-customer-sms-optin-label{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible .rmj-customer-sms-optin-label > span{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible .rmj-customer-sms-optin-label strong{
  display:block !important;
  margin:0 0 3px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  color:var(--rmj-text,#1f2937) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-customer-sms-optin-field.is-visible .rmj-customer-sms-optin-label small{
  display:block !important;
  margin:0 !important;
  color:var(--rmj-muted,#6b7280) !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel{
  position:relative !important;
  overflow:hidden !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel::before{
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:var(--rmj-accent,#2271b1);
  opacity:.72;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-head{
  margin:0 0 16px !important;
  padding:2px 0 14px !important;
  border-bottom:1px solid var(--rmj-card-border,#dbe3ee) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-grid{
  margin-top:0 !important;
}

/* v1.0.4-beta.538: Desktop service two-column equal-height/vertical-centering fix.
   Scope: front-end desktop service cards only. Keeps packages, add-ons, Booking Details, Payment, mobile, and App Mode untouched.
   Fixes the unselected service card sitting slightly taller than selected cards and centers service titles consistently. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget.rmj-widget-size-narrow .rmj-card-grid.rmj-service-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget.rmj-widget-size-narrow .rmj-service-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget.rmj-widget-size-compact .rmj-card-grid.rmj-service-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget.rmj-widget-size-compact .rmj-service-grid{
    align-items:stretch !important;
    grid-auto-rows:126px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-service-grid > .rmj-option-card.rmj-service-card{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    align-items:stretch !important;
    min-height:126px !important;
    height:126px !important;
    max-height:126px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
    align-self:stretch !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    flex:0 0 104px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step > .rmj-service-grid > .rmj-option-card.rmj-service-card > .rmj-option-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    align-self:stretch !important;
    min-height:126px !important;
    height:126px !important;
    max-height:126px !important;
    min-width:0 !important;
    padding:16px 18px !important;
    gap:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card .rmj-option-head{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-option-card.rmj-service-card .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-option-card.rmj-service-card .rmj-option-title{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
    line-height:1.25 !important;
    text-align:left !important;
  }
}

/* v1.0.4-beta.539 - Desktop package section header polish.
   Source: package step appends service names as .rmj-package-grid > .rmj-group-heading before each .rmj-package-group-grid in assets/js/frontend.js.
   Scope: desktop front-end package step only. Package cards, services, add-ons, mobile, and App Mode are untouched. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading{
    position: relative !important;
    display: block !important;
    margin: 4px 0 18px !important;
    padding: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    letter-spacing: -0.015em !important;
    text-transform: none !important;
    color: var(--rmj-heading,#111827) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading::before{
    content: 'SERVICE' !important;
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--rmj-muted,#64748b) !important;
    opacity: .78 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading::after{
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(260px, 42%) !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg,
      var(--rmj-card-selected-border,var(--rmj-accent,#2563eb)) 0%,
      color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2563eb)) 48%, transparent) 58%,
      transparent 100%) !important;
    opacity: .78 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading + .rmj-card-grid.rmj-package-group-grid{
    margin-top: 0 !important;
  }
}

/* v1.0.4-beta.540 - Mobile package section header polish.
   Mirrors beta.539 package service header styling on mobile only.
   Scope: mobile front-end package step only. Package cards, services, add-ons, desktop, and App Mode are untouched. */
@media (max-width: 767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading{
    position: relative !important;
    display: block !important;
    margin: 4px 0 16px !important;
    padding: 0 0 11px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    letter-spacing: -0.015em !important;
    text-transform: none !important;
    color: var(--rmj-heading,#111827) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading::before{
    content: 'SERVICE' !important;
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--rmj-muted,#64748b) !important;
    opacity: .78 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading::after{
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(220px, 72%) !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg,
      var(--rmj-card-selected-border,var(--rmj-accent,#2563eb)) 0%,
      color-mix(in srgb, var(--rmj-card-selected-border,var(--rmj-accent,#2563eb)) 48%, transparent) 58%,
      transparent 100%) !important;
    opacity: .78 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-grid > .rmj-group-heading + .rmj-card-grid.rmj-package-group-grid{
    margin-top: 0 !important;
  }
}

/* v1.0.4-beta.541: Add-ons header cleanup + mobile spacing/accent/banner radius polish.
   Scope: front-end booking widget add-on groups and mobile selected thumbnail banner only.
   Desktop services/packages and App Mode are intentionally untouched. */
@media (min-width: 768px){
  /* Desktop add-ons: remove the descriptive optional text and move the OPTIONAL pill to the right side of the header row. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-subtitle{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap{
    align-items:center !important;
    justify-content:space-between !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-main,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-main{
    width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading{
    order:1 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge{
    order:2 !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
  }
}

@media (max-width: 767px){
  /* Mobile add-ons: tighten the vertical gap between category cards without changing the card internals. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap{
    margin-top:10px !important;
    margin-bottom:12px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap:first-child,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap:first-child{
    margin-top:4px !important;
  }

  /* Mobile optional accent bar: match desktop and inherit the widget accent color instead of using the old blue/purple hardcoded gradient. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap::before{
    background:linear-gradient(90deg,
      var(--rmj-addon-category-accent-bar,var(--rmj-accent,var(--rmj-primary,#2271b1))) 0%,
      color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-accent,var(--rmj-primary,#2271b1))) 64%,#ffffff) 100%) !important;
    opacity:.95 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge{
    color:var(--rmj-highlight-text,var(--rmj-accent,var(--rmj-primary,#2271b1))) !important;
    background:var(--rmj-highlight-bg,color-mix(in srgb,var(--rmj-accent,var(--rmj-primary,#2271b1)) 10%,#ffffff)) !important;
    border-color:var(--rmj-highlight-border,color-mix(in srgb,var(--rmj-accent,var(--rmj-primary,#2271b1)) 24%,transparent)) !important;
  }

  /* Mobile selected image banner: keep the full-width banner but clip it to the thumbnail radius so the bottom-left notch cannot appear. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-service-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    transform:translateZ(0) !important;
    -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-service-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card > .rmj-option-thumb img{
    border-radius:inherit !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    margin:0 !important;
    border-radius:0 0 inherit inherit !important;
    border-bottom-left-radius:inherit !important;
    border-bottom-right-radius:inherit !important;
    clip-path:none !important;
  }
}

/* v1.0.4-beta.542: Official mobile add-ons optional header cleanup.
   Scope: mobile front-end booking widget add-on optional group headers only.
   Matches the approved desktop pattern: category title left, OPTIONAL pill right, no subtitle text. */
@media (max-width: 767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-subtitle{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-main,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-main{
    width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading{
    order:1 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge{
    order:2 !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    white-space:nowrap !important;
  }
}

/* v1.0.4-beta.544: Official add-on category slideshow/carousel restore.
   Replaces the prior beta.543 attempt instead of stacking on top of it.
   Scope: front-end booking widget add-on groups only, desktop/mobile browser only; App Mode excluded.
   Goal: when a category is saved as Slideshow / carousel, show a horizontal scroll track with
   compact cards and two desktop cards visible per row/viewport. Normal grid categories are untouched. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-slideshow,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-slideshow{
  overflow:hidden !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  grid-template-columns:none !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:16px 18px 18px !important;
  margin:0 !important;
  scroll-snap-type:x mandatory !important;
  scroll-padding-left:18px !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  box-sizing:border-box !important;
  cursor:grab !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow::-webkit-scrollbar,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow.is-dragging,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow.is-dragging{
  cursor:grabbing !important;
}

@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card{
    flex:0 0 calc((100% - 14px) / 2) !important;
    width:calc((100% - 14px) / 2) !important;
    min-width:calc((100% - 14px) / 2) !important;
    max-width:calc((100% - 14px) / 2) !important;
    scroll-snap-align:start !important;
    display:grid !important;
    grid-template-columns:128px minmax(0,1fr) !important;
    align-items:center !important;
    gap:16px !important;
    min-height:108px !important;
    height:auto !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:16px !important;
    border:1px solid var(--rmj-card-border,#e5e7eb) !important;
    background:var(--rmj-card-bg,#fff) !important;
    box-shadow:0 7px 18px rgba(15,23,42,.04) !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:108px !important;
    min-height:108px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:16px 0 0 16px !important;
    align-self:stretch !important;
    overflow:hidden !important;
    background:#f8fafc !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body{
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:14px !important;
    padding:13px 16px 13px 0 !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-head{
    grid-column:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    min-width:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-price-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-price-wrap{
    order:0 !important;
    display:flex !important;
    width:auto !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-title{
    order:1 !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-foot,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-option-foot{
    grid-column:2 !important;
    justify-self:end !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-addon-card-button,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card .rmj-addon-card-button{
    width:auto !important;
    min-width:78px !important;
    min-height:36px !important;
    padding:9px 18px !important;
    border-radius:999px !important;
  }
}

@media (max-width:767px){
  /* v1.0.4-beta.584: Select Add-ons slideshow width parity polish.
     Keeps the no-peek carousel chain from beta.583, but reduces only the mobile slideshow viewport inset so the visible required card width matches the flat Fun Add-ons card more closely. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-slideshow,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-slideshow{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 8px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    scrollbar-width:none !important;
    scroll-snap-type:none !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    scroll-snap-align:start !important;
    box-sizing:border-box !important;
  }
}

/* v1.0.4-beta.545: Add-on slideshow scroll hint placement + widget-accent styling.
   Scope: front-end booking widget add-on slideshow groups only; App Mode excluded.
   Keeps carousel behavior from beta.544, moves the hint into the top-right of the group header,
   and uses widget accent variables instead of hardcoded purple styling. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-wrap{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"main hint" "subtitle hint" !important;
  align-items:center !important;
  column-gap:12px !important;
  row-gap:5px !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-main{
  grid-area:main !important;
  min-width:0 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-subtitle{
  grid-area:subtitle !important;
  min-width:0 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator{
  grid-area:hint !important;
  justify-self:end !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:var(--rmj-highlight-bg,var(--rmj-accent-soft, color-mix(in srgb, var(--rmj-accent,#2271b1) 10%, white))) !important;
  color:var(--rmj-highlight-text,var(--rmj-accent,#2271b1)) !important;
  border:1px solid var(--rmj-highlight-border,color-mix(in srgb, var(--rmj-accent,#2271b1) 20%, white)) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  box-shadow:0 6px 14px color-mix(in srgb, var(--rmj-highlight-bg,var(--rmj-accent,#2271b1)) 10%, transparent) !important;
  opacity:.96 !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow:not(.has-carousel-overflow) .rmj-addon-scroll-indicator,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow.is-carousel-end .rmj-addon-scroll-indicator{
  opacity:.35 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator-arrows i{
  border-top-color:currentColor !important;
  border-right-color:currentColor !important;
}
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"main main" "subtitle subtitle" "hint hint" !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:8px !important;
    padding-right:12px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-main{
    grid-area:main !important;
    justify-content:flex-start !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-addon-group-wrap.is-slideshow .rmj-group-heading-subtitle{
    grid-area:subtitle !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator{
    grid-area:hint !important;
    justify-self:center !important;
    align-self:center !important;
    justify-content:center !important;
    width:min(86%,320px) !important;
    min-height:34px !important;
    margin:0 auto !important;
    padding:8px 14px !important;
    font-size:11px !important;
    gap:8px !important;
    box-sizing:border-box !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator-text{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

/* beta.546 - Add-on thumbnail image preview/lightbox (add-ons only) */
.rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]{
  cursor:zoom-in;
  position:relative;
  outline:none;
}
.rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]:focus-visible{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rmj-accent,#3b82f6) 24%,transparent) !important;
}
.rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
  content:'View';
  position:absolute;
  left:10px;
  bottom:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--rmj-accent,#3b82f6) 88%,#000 12%);
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease,transform .16s ease;
  pointer-events:none;
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}
.rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]:hover::after,
.rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}
.rmj-addon-image-preview-open{overflow:hidden !important;}
.rmj-addon-image-preview-modal{
  position:fixed;
  inset:0;
  z-index:10030;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.rmj-addon-image-preview-modal.is-active{display:flex;}
.rmj-addon-image-preview-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.70);
  backdrop-filter:blur(3px);
}
.rmj-addon-image-preview-dialog{
  position:relative;
  z-index:1;
  width:min(980px,94vw);
  max-height:92vh;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:12px;
  padding:16px;
  border-radius:24px;
  background:var(--rmj-card-bg,#fff);
  border:1px solid var(--rmj-card-border,#e5e7eb);
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  overflow:hidden;
}
.rmj-addon-image-preview-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--rmj-card-border,#e5e7eb) !important;
  background:var(--rmj-card-bg,#fff) !important;
  color:var(--rmj-heading,#111827) !important;
  font-size:26px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  cursor:pointer;
}
.rmj-addon-image-preview-media{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid var(--rmj-card-border,#e5e7eb);
  padding:14px;
}
.rmj-addon-image-preview-media img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:min(72vh,760px);
  object-fit:contain;
  border-radius:14px;
}
.rmj-addon-image-preview-caption{
  text-align:center;
  color:var(--rmj-heading,#111827);
  font-size:15px;
  font-weight:800;
  line-height:1.3;
  padding:0 44px 2px;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-addon-card .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
    opacity:1;
    transform:none;
    left:8px;
    bottom:8px;
    min-height:22px;
    padding:4px 8px;
    font-size:10px;
  }
  .rmj-addon-image-preview-modal{padding:10px;}
  .rmj-addon-image-preview-dialog{width:min(100%,96vw);max-height:92vh;padding:12px;border-radius:18px;gap:10px;}
  .rmj-addon-image-preview-close{top:10px;right:10px;width:38px;height:38px;border-radius:12px;font-size:24px;}
  .rmj-addon-image-preview-media{padding:10px;border-radius:16px;}
  .rmj-addon-image-preview-media img{max-height:64vh;border-radius:12px;}
  .rmj-addon-image-preview-caption{font-size:14px;padding:0 40px 2px;}
}


/* beta.547 official - Add-on image preview close button polish
   Scoped only to add-on image preview lightbox. Overrides browser/theme button defaults. */
body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close,
html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close{
  all: unset !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 20 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid var(--rmj-card-border, rgba(148,163,184,.45)) !important;
  background: var(--rmj-card-bg, #fff) !important;
  color: var(--rmj-heading, #111827) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.16) !important;
  cursor: pointer !important;
  font: inherit !important;
  line-height: 1 !important;
  text-align: center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease !important;
}
body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close span,
html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close span{
  display: block !important;
  transform: translateY(-1px) !important;
  font-size: 25px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close:hover,
html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.22) !important;
  border-color: var(--rmj-accent, #2563eb) !important;
  color: var(--rmj-accent, #2563eb) !important;
}
body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close:focus-visible,
html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--rmj-accent, #2563eb) 28%, transparent) !important;
  outline-offset: 3px !important;
}
@media (max-width: 767px){
  body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close,
  html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close{
    top: 12px !important;
    right: 12px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
  }
  body .rmj-addon-image-preview-modal .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close span,
  html body .rmj-addon-image-preview-modal.is-active .rmj-addon-image-preview-dialog > button.rmj-addon-image-preview-close span{
    font-size: 26px !important;
  }
}


/* Event Flow Pro v1.0.4-beta.548: Selector skip-only action parity.
   Template + Backdrop selector steps use Skip For Now as the primary forward action.
   Scope is limited to selector action footers and mobile footer dock clones. */
.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="template_overlay"] .rmj-next-step,
.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-next-step{
  display:none!important;
}

.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="template_overlay"] .rmj-selector-skip-step,
.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-selector-skip-step,
html body .efp-mobile-booking-footer-dock.is-active .rmj-step-actions[data-rmj-selector-actions="template_overlay"] .rmj-selector-skip-step,
html body .efp-mobile-booking-footer-dock.is-active .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-selector-skip-step,
html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step[data-selector-type="template_overlay"],
html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step[data-selector-type="backdrop"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--rmj-button-bg,#2271b1)!important;
  color:var(--rmj-button-text,#fff)!important;
  border-color:var(--rmj-button-bg,#2271b1)!important;
  box-shadow:none!important;
}

.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="template_overlay"] .rmj-selector-skip-step:hover,
.rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-selector-skip-step:hover,
html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step[data-selector-type="template_overlay"]:hover,
html body .efp-mobile-booking-footer-dock.is-active .rmj-selector-skip-step[data-selector-type="backdrop"]:hover{
  background:var(--rmj-button-hover,#135e96)!important;
  color:var(--rmj-button-text-hover,var(--rmj-button-text,#fff))!important;
  border-color:var(--rmj-button-hover,#135e96)!important;
}

@media (max-width:767px){
  .rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="template_overlay"],
  .rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="backdrop"]{
    grid-template-columns:1fr!important;
  }
  .rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="template_overlay"] .rmj-selector-skip-step,
  .rmj-booking-widget .rmj-step-actions[data-rmj-selector-actions="backdrop"] .rmj-selector-skip-step{
    width:100%!important;
  }
}

/* v1.0.4-beta.552: Payment last-chance upsell carousel rebuilt from beta.548.
   Scope: payment step upsell panel only. This uses a contained inner scroll track so the payment box and card fields below cannot be stretched by carousel overflow. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--payment{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--payment.rmj-upsell-rec-panel--contained-carousel{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-width:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head-copy{
  min-width:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-scroll-hint{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  border:1px solid color-mix(in srgb,var(--rmj-accent,#2271b1) 28%,#fff 72%) !important;
  background:color-mix(in srgb,var(--rmj-accent,#2271b1) 10%,#fff 90%) !important;
  color:var(--rmj-accent,#2271b1) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-scroll-hint span{
  display:inline-block !important;
  letter-spacing:1px !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:calc((100% - 14px) / 2) !important;
  grid-template-columns:none !important;
  grid-template-rows:1fr !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x proximity !important;
  scroll-padding-inline:0 !important;
  padding:0 34px 2px 0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  scrollbar-width:none !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  grid-template-columns:92px minmax(0,1fr) auto auto !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel::after{
  content:"" !important;
  position:absolute !important;
  right:0 !important;
  top:92px !important;
  bottom:12px !important;
  width:34px !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,rgba(255,255,255,0),var(--rmj-card-bg,#fff) 82%) !important;
  opacity:.9 !important;
  z-index:2 !important;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
    gap:8px !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-scroll-hint{
    padding:5px 8px !important;
    font-size:10px !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
    grid-auto-columns:86% !important;
    gap:12px !important;
    padding-right:28px !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-card{
    grid-template-columns:76px minmax(0,1fr) auto !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel::after{
    width:28px !important;
    top:88px !important;
  }
}

/* v1.0.4-beta.553: Payment last-chance carousel scroll/action refinement.
   Scope: payment step upsell carousel only. Keeps the panel contained, makes desktop mouse-drag work with JS, and makes mobile show exactly one clean card per swipe. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:14px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  cursor:grab !important;
  user-select:none !important;
  touch-action:pan-x !important;
  padding:0 34px 2px 0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel.is-dragging{
  cursor:grabbing !important;
  scroll-behavior:auto !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-card{
  flex:0 0 calc((100% - 14px) / 2) !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  scroll-snap-align:start !important;
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) auto 32px !important;
  grid-template-areas:"thumb copy price action" !important;
  align-items:center !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-thumb{grid-area:thumb !important;}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-copy{grid-area:copy !important; min-width:0 !important;}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-price{grid-area:price !important;}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-action{grid-area:action !important;}

@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
    align-items:flex-start !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
    gap:10px !important;
    padding:0 0 2px 0 !important;
    scroll-padding-inline:0 !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-card{
    flex:0 0 100% !important;
    min-height:92px !important;
    padding:10px !important;
    gap:8px 10px !important;
    grid-template-columns:86px minmax(0,1fr) 34px !important;
    grid-template-rows:auto auto !important;
    grid-template-areas:
      "thumb copy action"
      "thumb price action" !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-thumb{
    width:86px !important;
    height:70px !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-title{
    font-size:14px !important;
    line-height:1.15 !important;
    margin:0 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-price{
    justify-content:flex-start !important;
    align-self:start !important;
    font-size:11px !important;
    gap:5px !important;
    white-space:normal !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel .rmj-upsell-rec-action{
    width:30px !important;
    height:30px !important;
    align-self:center !important;
    justify-self:end !important;
  }
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel::after{
    display:none !important;
  }
}

/* v1.0.4-beta.554: Payment upsell carousel parity with add-on category slideshow.
   Scope: payment step last-chance upgrades only. Reuses the same animated swipe/drag pill structure and the same mouse-drag scroll pattern, while keeping the carousel contained inside the upsell panel. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"copy hint" !important;
  align-items:start !important;
  column-gap:12px !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head-copy{
  grid-area:copy !important;
  min-width:0 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-payment-upsell-scroll-indicator{
  grid-area:hint !important;
  justify-self:end !important;
  align-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:var(--rmj-highlight-bg,var(--rmj-accent-soft, color-mix(in srgb, var(--rmj-accent,#2271b1) 10%, white))) !important;
  color:var(--rmj-highlight-text,var(--rmj-accent,#2271b1)) !important;
  border:1px solid var(--rmj-highlight-border,color-mix(in srgb, var(--rmj-accent,#2271b1) 20%, white)) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  box-shadow:0 6px 14px color-mix(in srgb, var(--rmj-highlight-bg,var(--rmj-accent,#2271b1)) 10%, transparent) !important;
  opacity:.96 !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel:not(.has-carousel-overflow) .rmj-payment-upsell-scroll-indicator,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel.is-carousel-end .rmj-payment-upsell-scroll-indicator{
  opacity:.35 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows{
  display:inline-flex !important;
  align-items:center !important;
  gap:3px !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i{
  display:block !important;
  width:7px !important;
  height:7px !important;
  border-top:2px solid currentColor !important;
  border-right:2px solid currentColor !important;
  transform:rotate(45deg) !important;
  opacity:.35 !important;
  animation:rmjAddonIndicatorPulse 1.5s ease-in-out infinite !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i:nth-child(2){animation-delay:.2s !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i:nth-child(3){animation-delay:.4s !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
  cursor:grab !important;
  touch-action:pan-x !important;
  scroll-snap-type:x mandatory !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel.is-dragging{
  cursor:grabbing !important;
  scroll-behavior:auto !important;
}
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
    column-gap:8px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-payment-upsell-scroll-indicator{
    padding:6px 9px !important;
    font-size:9px !important;
    gap:5px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-text{
    max-width:72px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* v1.0.4-beta.556: Payment last-chance carousel final containment/parity fix.
   Restores the contained payment upsell track and keeps only the drag behavior parallel to add-on category slideshows. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--payment{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  cursor:grab !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain !important;
  padding:0 34px 2px 0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important;background:transparent !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel.is-dragging{cursor:grabbing !important;scroll-behavior:auto !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel.is-dragging *{cursor:grabbing !important;user-select:none !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
  flex:0 0 calc((100% - 14px) / 2) !important;
  width:auto !important;
  max-width:calc((100% - 14px) / 2) !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) auto 32px !important;
  grid-template-areas:"thumb copy price action" !important;
  align-items:center !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb{grid-area:thumb !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy{grid-area:copy !important;min-width:0 !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{grid-area:price !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action{grid-area:action !important;}
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
    gap:10px !important;
    padding:0 !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:86px minmax(0,1fr) auto 30px !important;
  }
}


/* v1.0.4-beta.559: Payment last-chance carousel parity final pass.
   Match add-on category slideshow behavior: no snap/glitching, native mobile overflow, desktop mouse-drag only, and animated indicator. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
  scroll-snap-type:none !important;
  scroll-behavior:smooth !important;
  touch-action:auto !important;
  overscroll-behavior-x:contain !important;
  overscroll-behavior-y:auto !important;
  cursor:grab !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel.is-dragging{
  cursor:grabbing !important;
  scroll-behavior:auto !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
  scroll-snap-align:none !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i{
  animation:rmjPaymentUpsellIndicatorPulse 1.5s ease-in-out infinite !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i:nth-child(2){animation-delay:.2s !important;}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator .rmj-addon-scroll-indicator-arrows i:nth-child(3){animation-delay:.4s !important;}
@keyframes rmjPaymentUpsellIndicatorPulse{
  0%,100%{translate:0 0;filter:opacity(.35);}
  50%{translate:2px 0;filter:opacity(1);}
}


/* v1.0.4-beta.560: Payment last-chance upsell state polish + carousel position stability.
   Styles only the Added/Remove state inside payment upsell carousel cards. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-price{
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  padding:6px 8px !important;
  border-radius:999px !important;
  background:color-mix(in srgb, var(--rmj-accent,#2271b1) 10%, #ffffff) !important;
  border:1px solid color-mix(in srgb, var(--rmj-accent,#2271b1) 24%, transparent) !important;
  color:var(--rmj-accent,#2271b1) !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-added-label{
  display:inline-flex !important;
  align-items:center !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-remove-label{
  display:inline-flex !important;
  align-items:center !important;
  margin-left:2px !important;
  padding-left:6px !important;
  border-left:1px solid color-mix(in srgb, var(--rmj-accent,#2271b1) 25%, transparent) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  color:var(--rmj-text,#1f2937) !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added{
  border-color:color-mix(in srgb, var(--rmj-accent,#2271b1) 34%, #d1d5db) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.06), 0 0 0 1px color-mix(in srgb, var(--rmj-accent,#2271b1) 10%, transparent) inset !important;
}
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-price{
    padding:5px 7px !important;
    gap:3px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-added-label,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-card.is-added .rmj-upsell-rec-remove-label{
    font-size:10px !important;
  }
}

/* v1.0.4-beta.561: Payment last-chance upsell source labels.
   Scope: payment-step upsell recommendation cards only. Adds a small "For [Service]" metadata pill so merged multi-service upsells stay clear without creating multiple boxes. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-source{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 4px 0 !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  background:var(--rmj-booking-accent-soft, rgba(59,130,246,.10)) !important;
  color:var(--rmj-booking-accent, #2563eb) !important;
  border:1px solid color-mix(in srgb, var(--rmj-booking-accent, #2563eb) 22%, transparent) !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-copy{
  align-self:center !important;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-source{
    margin-bottom:3px !important;
    padding:2px 7px !important;
    font-size:9px !important;
  }
}

/* v1.0.4-beta.562: Payment upsell service label visibility/fit polish.
   JS now renders this label only when multiple services are selected. These styles prevent mobile clipping when the label is needed. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-copy{
  min-width:0 !important;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-source{
    width:fit-content !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.25 !important;
  }
}


/* v1.0.4-beta.563: Service loading state centering + add-on card height parity.
   Inspection notes:
   - The service loading message is rendered by loadServices() as .rmj-empty-state.rmj-grid-status-state directly inside .rmj-service-grid.
   - The desktop service grid is now two-column/customized, so the loading placeholder was only occupying one grid column.
   - Add-on flat/grid cards use the beta.532 desktop card structure at 128px image x 96px card body.
   - Add-on slideshow cards were inheriting carousel sizing and ending up visually shorter than the flat Fun Add-ons card.
   Scope: frontend booking widget only, excluding App Mode. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-grid-status-state,
body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-grid-status-state,
body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-card-grid.rmj-service-grid > .rmj-load-error-state,
body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-load-error-state{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:100% !important;
  min-height:128px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  margin-inline:auto !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-load-error-state .rmj-retry-services-load{
  appearance:none !important;
  border:1px solid var(--rmj-button-bg,var(--rmj-accent,#2271b1)) !important;
  border-radius:999px !important;
  background:var(--rmj-button-bg,var(--rmj-accent,#2271b1)) !important;
  color:var(--rmj-button-text,#ffffff) !important;
  -webkit-text-fill-color:var(--rmj-button-text,#ffffff) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:10px 18px !important;
  font:inherit !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--rmj-button-bg,var(--rmj-accent,#2271b1)) 18%,transparent) !important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-load-error-state .rmj-retry-services-load:hover,
body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-load-error-state .rmj-retry-services-load:focus{
  background:var(--rmj-button-hover,var(--rmj-button-bg,var(--rmj-accent,#2271b1))) !important;
  border-color:var(--rmj-button-hover,var(--rmj-button-bg,var(--rmj-accent,#2271b1))) !important;
  color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff)) !important;
  -webkit-text-fill-color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff)) !important;
  transform:translateY(-1px) !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-service-grid > .rmj-load-error-state small{
  display:block !important;
  max-width:520px !important;
  margin:0 auto !important;
  line-height:1.45 !important;
}

@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card{
    min-height:114px !important;
    height:114px !important;
    max-height:114px !important;
    align-items:center !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    height:100% !important;
    min-height:114px !important;
    max-height:114px !important;
    align-self:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body{
    height:100% !important;
    min-height:114px !important;
    max-height:114px !important;
    align-items:center !important;
  }
}

/* v1.0.4-beta.564: Desktop add-on slideshow card height parity.
   Inspection confirmed the Fun Add-ons flat/grid card is controlled by the normal .rmj-addon-group-grid card rules,
   while required slideshow categories are controlled later by .rmj-addon-group-grid.is-slideshow rules from beta.544/563.
   The prior beta.563 update changed only the slideshow card to 114px, but that carousel-specific rule still left it visibly shorter
   than the flat Fun Add-ons card. This patch targets only the desktop front-end add-on slideshow card/thumbnail/body heights.
   No carousel behavior, mobile, services, packages, payment upsells, or App Mode changes. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card{
    min-height:148px !important;
    height:148px !important;
    max-height:148px !important;
    align-items:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-thumb{
    height:148px !important;
    min-height:148px !important;
    max-height:148px !important;
    align-self:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card > .rmj-option-body{
    min-height:148px !important;
    height:148px !important;
    max-height:148px !important;
    align-items:center !important;
  }
}

/* v1.0.4-beta.568: Add-on required state + desktop name alignment cleanup.
   Inspection notes:
   - Desktop required groups already remove validation classes after selection, but the satisfied state hid the entire ::before bar.
   - Mobile required groups had older .is-required .rmj-group-heading-wrap::before rules that always kept the red REQUIRED ribbon even after validation cleared.
   - Add-on card names were stacked with the price pill as a small content block instead of using the full card body height.
   Scope: front-end booking widget add-on step only; App Mode excluded; no carousel width/drag/payment changes. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention)::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention)::before{
    content:"" !important;
    display:block !important;
    width:100% !important;
    height:6px !important;
    min-height:6px !important;
    flex:0 0 6px !important;
    background:linear-gradient(90deg,var(--rmj-addon-category-accent-bar,var(--rmj-accent,#2271b1)),color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-accent,#2271b1)) 60%,#ffffff)) !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card .rmj-option-head{
    height:100% !important;
    min-height:100% !important;
    justify-content:center !important;
  }
}

@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap{
    padding:16px 14px 12px !important;
    background:#ffffff !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:5px !important;
    min-height:5px !important;
    display:block !important;
    border-radius:18px 18px 0 0 !important;
    background:linear-gradient(90deg,var(--rmj-addon-category-accent-bar,var(--rmj-accent,var(--rmj-primary,#2271b1))) 0%,color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-accent,var(--rmj-primary,#2271b1))) 64%,#ffffff) 100%) !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    letter-spacing:0 !important;
    text-indent:-9999px !important;
    overflow:hidden !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget .rmj-step .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading{
    color:var(--rmj-heading,#111827) !important;
  }
}


/* v1.0.4-beta.577: Payment Last Chance Upgrade card parity with Select Add-ons.
   Inspection notes:
   - Select Add-ons cards use a media column, a title/price stack, and an action button that swaps Add -> Added while selected state is shown as a thumbnail overlay.
   - Payment upsells were still using a separate +/check action and price state labels, so the card could not match add-on styling consistently.
   - This replaces the beta.576 mobile-only payment upsell block; it does not stack on the prior payment-card attempts.
   Scope: Payment step Last Chance Upgrades only. Desktop and mobile layout CSS only; carousel JS/drag/swipe and add/remove state logic are untouched. App Mode excluded. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel{
  overflow:hidden !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
  position:relative !important;
  scroll-snap-align:start !important;
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:"thumb price action" "thumb copy action" !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:6px !important;
  min-height:108px !important;
  height:auto !important;
  padding:0 16px 0 0 !important;
  overflow:hidden !important;
  border-radius:16px !important;
  border:1px solid var(--rmj-card-border,#dbe3ea) !important;
  background:var(--rmj-card-bg,#fff) !important;
  box-shadow:0 7px 18px rgba(15,23,42,.04) !important;
  box-sizing:border-box !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb{
  grid-area:thumb !important;
  position:relative !important;
  width:128px !important;
  min-width:128px !important;
  max-width:128px !important;
  height:108px !important;
  min-height:108px !important;
  max-height:108px !important;
  align-self:stretch !important;
  justify-self:start !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:16px 0 0 16px !important;
  overflow:hidden !important;
  background:#f8fafc !important;
  box-sizing:border-box !important;
  isolation:isolate !important;
  transform:translateZ(0) !important;
  -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{
  grid-area:price !important;
  align-self:end !important;
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:28px !important;
  margin:0 !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  border:1px solid var(--rmj-card-border,#e5e7eb) !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--rmj-text,#1f2937) !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  gap:4px !important;
  box-sizing:border-box !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy{
  grid-area:copy !important;
  align-self:start !important;
  justify-self:stretch !important;
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:4px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-title{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--rmj-text,#1f2937) !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  hyphens:none !important;
  box-sizing:border-box !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action{
  grid-area:action !important;
  align-self:center !important;
  justify-self:end !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:78px !important;
  min-height:36px !important;
  height:auto !important;
  padding:9px 18px !important;
  margin:0 !important;
  border-radius:999px !important;
  border:1px solid var(--rmj-button-bg,#2271b1) !important;
  background:var(--rmj-button-bg,#2271b1) !important;
  color:var(--rmj-button-text,#fff) !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-action{
  background:var(--rmj-button-hover,#135e96) !important;
  border-color:var(--rmj-button-hover,#135e96) !important;
  color:var(--rmj-button-text-hover,var(--rmj-button-text,#fff)) !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action-check,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-action-add{
  display:none !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-action-check,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action-add,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value{
  display:inline-flex !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-added-label,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-remove-label,
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy p:not(.rmj-upsell-rec-source),
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-desc{
  display:none !important;
}

body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-thumb::after{
  content:"✓ Selected" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:30 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:32px !important;
  height:32px !important;
  padding:0 8px !important;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
  border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28))) !important;
  background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,#2271b1))) !important;
    background-image:none !important;
  color:var(--rmj-highlight-text,#fff) !important;
  box-shadow:0 -8px 20px rgba(15,23,42,.18) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
}

@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
    flex:0 0 calc((100% - 14px) / 2) !important;
    width:auto !important;
    max-width:calc((100% - 14px) / 2) !important;
  }
}

@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel{
    padding:18px 16px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head{
    position:relative !important;
    display:block !important;
    margin:0 0 16px !important;
    padding:0 0 16px !important;
    border-bottom:1px solid var(--rmj-card-border,#e5e7eb) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-panel--contained-carousel .rmj-upsell-rec-head-copy{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-kicker{
    display:block !important;
    margin:0 0 8px !important;
    padding-right:124px !important;
    max-width:none !important;
    font-size:15px !important;
    line-height:1.25 !important;
    white-space:normal !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-head p{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    white-space:normal !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-payment-upsell-scroll-indicator,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-scroll-hint{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    width:auto !important;
    max-width:116px !important;
    padding:7px 10px !important;
    margin:0 !important;
    white-space:nowrap !important;
    transform:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel{
    display:flex !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:0 !important;
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  /* beta.579: mobile payment upsell card spacing refinement.
     Keep beta.578's 2-column add-on style, but let the media column stretch with the card height and add real vertical breathing room for long titles. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:112px !important;
    grid-template-columns:92px minmax(0,1fr) !important;
    grid-template-rows:minmax(8px,1fr) auto auto auto minmax(8px,1fr) !important;
    grid-template-areas:"thumb ." "thumb price" "thumb copy" "thumb action" "thumb ." !important;
    align-items:center !important;
    align-content:stretch !important;
    column-gap:14px !important;
    row-gap:6px !important;
    padding:0 14px 0 0 !important;
    border-radius:18px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb{
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    height:auto !important;
    min-height:112px !important;
    max-height:none !important;
    align-self:stretch !important;
    border-radius:18px 0 0 18px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{
    align-self:center !important;
    justify-self:start !important;
    min-height:26px !important;
    padding:6px 10px !important;
    font-size:12px !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy{
    align-self:center !important;
    justify-content:center !important;
    gap:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-title{
    font-size:14px !important;
    line-height:1.13 !important;
    max-height:none !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action{
    align-self:center !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    min-height:34px !important;
    padding:9px 12px !important;
    margin:0 !important;
    font-size:13px !important;
    border-radius:14px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-thumb::after{
    min-height:24px !important;
    height:24px !important;
    font-size:10px !important;
  }
}

/* v1.0.4-beta.599: Upsell discounted price display. */
.rmj-upsell-rec-price .rmj-upsell-rec-original-price{display:block;font-size:11px;line-height:1.1;text-decoration:line-through;opacity:.6;font-weight:700;margin-bottom:2px;}
.rmj-upsell-rec-price .rmj-upsell-rec-discount-label{display:block;font-size:10px;line-height:1.15;font-weight:800;opacity:.78;margin-top:3px;}

/* v1.0.4-beta.600: Payment-step upsell discount badge spacing.
   Keep original + discounted prices visible, but move the Discount label out of the cramped inline price row. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-discount-label{
  display:none !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-discount-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  border:1px solid color-mix(in srgb,var(--rmj-accent,#2271b1) 32%,transparent) !important;
  background:color-mix(in srgb,var(--rmj-accent,#2271b1) 10%,#ffffff) !important;
  color:var(--rmj-accent,#2271b1) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-price-line{
  display:inline-flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:6px !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:nowrap !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-original-price{
  display:inline-flex !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-price-value{
  display:inline-flex !important;
  margin:0 !important;
  line-height:1 !important;
}
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:5px !important;
  white-space:normal !important;
  padding:7px 10px !important;
  min-height:0 !important;
  line-height:1 !important;
}
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
    grid-template-rows:minmax(8px,1fr) auto auto auto minmax(8px,1fr) !important;
    grid-template-areas:"thumb ." "thumb price" "thumb copy" "thumb action" "thumb ." !important;
    row-gap:7px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-price-line{
    justify-content:flex-start !important;
    gap:7px !important;
    white-space:nowrap !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-original-price{
    font-size:11px !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-price .rmj-upsell-rec-price-value{
    font-size:13px !important;
  }
}

/* v1.0.4-beta.602: Desktop-only payment upsell discounted card left-aligned restructure.
   Scope: Payment step Last Chance Upgrades only, non-App-Mode desktop only, and only cards with an active upsell discount.
   No-discount cards keep the existing beta.577/beta.600 structure unchanged. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted{
    grid-template-columns:128px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    grid-template-areas:"thumb price" "thumb copy" "thumb action" !important;
    align-items:center !important;
    column-gap:14px !important;
    row-gap:8px !important;
    min-height:136px !important;
    padding:0 16px 0 0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb{
    height:136px !important;
    min-height:136px !important;
    max-height:136px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
    grid-area:price !important;
    align-self:end !important;
    justify-self:stretch !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    white-space:nowrap !important;
    gap:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price-line{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-original-price{
    display:inline-flex !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    color:var(--rmj-muted,#6b7280) !important;
    opacity:.72 !important;
    text-decoration:line-through !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price-value{
    display:inline-flex !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:var(--rmj-text,#1f2937) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-discount-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    border:1px solid color-mix(in srgb,var(--rmj-accent,#2271b1) 32%,transparent) !important;
    background:color-mix(in srgb,var(--rmj-accent,#2271b1) 10%,#ffffff) !important;
    color:var(--rmj-accent,#2271b1) !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-copy{
    grid-area:copy !important;
    align-self:center !important;
    justify-self:stretch !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-title{
    text-align:left !important;
    font-size:16px !important;
    line-height:1.16 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
    grid-area:action !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    min-height:38px !important;
    padding:10px 18px !important;
    border-radius:14px !important;
  }
}

/* v1.0.4-beta.603: Desktop payment upsell cards use one consistent stacked content layout.
   Scope: Payment step Last Chance Upgrades only, non-App-Mode desktop only.
   Applies the approved discounted-card layout to discounted, regular-priced, and free upsell cards:
   image left; price/free row top; title below; full-width Add/Added button bottom.
   Mobile/App Mode are intentionally untouched for the next pass. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card{
    grid-template-columns:128px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    grid-template-areas:"thumb price" "thumb copy" "thumb action" !important;
    align-items:center !important;
    column-gap:14px !important;
    row-gap:8px !important;
    min-height:136px !important;
    padding:0 16px 0 0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb{
    grid-area:thumb !important;
    width:128px !important;
    height:136px !important;
    min-height:136px !important;
    max-height:136px !important;
    align-self:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price{
    grid-area:price !important;
    align-self:end !important;
    justify-self:stretch !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--rmj-text,#1f2937) !important;
    white-space:nowrap !important;
    gap:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-original-price{
    display:inline-flex !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    color:var(--rmj-muted,#6b7280) !important;
    opacity:.72 !important;
    text-decoration:line-through !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value{
    display:inline-flex !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:var(--rmj-text,#1f2937) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.is-added .rmj-upsell-rec-price-value{
    display:inline-flex !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-added-label,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-remove-label{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy{
    grid-area:copy !important;
    align-self:center !important;
    justify-self:stretch !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-title{
    text-align:left !important;
    font-size:16px !important;
    line-height:1.16 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action{
    grid-area:action !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    min-height:38px !important;
    height:auto !important;
    padding:10px 18px !important;
    border-radius:14px !important;
  }
}

/* v1.0.4-beta.604: Restore the Free value as a pill inside the unified desktop upsell card layout.
   Scope: Payment step Last Chance Upgrades only, non-App-Mode desktop only. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value--free{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding:5px 12px !important;
    border-radius:999px !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:#128a2e !important;
    background:rgba(34,197,94,.12) !important;
    border:1px solid rgba(34,197,94,.35) !important;
    white-space:nowrap !important;
  }
}


/* v1.0.4-beta.612: Consolidated Payment Step upsell card layout cleanup.
   Replaces the stacked beta.605-beta.611 overrides with one source of truth.
   Goal: keep approved desktop look; fix mobile/App Mode accent bar width/alignment;
   keep thumbnails flush to the top/bottom; preserve Add/Added and total logic. */

/* Desktop/tablet browser: approved pricing accent bar + full-height thumbnail layout. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted{
    grid-template-columns:128px minmax(0,1fr) !important;
    grid-template-rows:42px minmax(24px,1fr) 46px !important;
    grid-template-areas:"thumb price" "thumb copy" "thumb action" !important;
    min-height:142px !important;
    height:142px !important;
    padding:0 14px 0 0 !important;
    row-gap:6px !important;
    column-gap:14px !important;
    align-items:stretch !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb{
    grid-area:thumb !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:128px !important;
    min-width:128px !important;
    height:142px !important;
    min-height:142px !important;
    max-height:142px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
    grid-area:price !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:auto !important;
    max-width:none !important;
    min-height:42px !important;
    margin:0 -14px 0 0 !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:0 14px 0 0 !important;
    border:0 !important;
    background:linear-gradient(90deg, color-mix(in srgb,var(--rmj-accent,#2271b1) 13%,#ffffff), color-mix(in srgb,var(--rmj-accent,#2271b1) 7%,#ffffff)) !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price:has(.rmj-upsell-rec-price-value--free){
    background:linear-gradient(90deg, rgba(34,197,94,.15), rgba(34,197,94,.08)) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line{
    width:100% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-copy{
    grid-area:copy !important;
    align-self:center !important;
    justify-self:stretch !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
    grid-area:action !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:7px 16px !important;
    box-sizing:border-box !important;
  }
}

/* Mobile browser + App Mode shared structure. The card itself has no right padding so the pricing bar can reach the rounded right edge; title/button get their own inner spacing. */
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted{
    grid-template-columns:76px minmax(0,1fr) !important;
    grid-template-rows:38px minmax(22px,1fr) 42px !important;
    grid-template-areas:"thumb price" "thumb copy" "thumb action" !important;
    min-height:122px !important;
    height:122px !important;
    padding:0 !important;
    row-gap:4px !important;
    column-gap:0 !important;
    align-items:stretch !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb{
    grid-area:thumb !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:76px !important;
    min-width:76px !important;
    height:122px !important;
    min-height:122px !important;
    max-height:122px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb img,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
    grid-area:price !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-height:38px !important;
    margin:0 !important;
    padding:6px 10px 6px 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:0 14px 0 0 !important;
    border:0 !important;
    background:linear-gradient(90deg, color-mix(in srgb,var(--rmj-accent,#2271b1) 13%,#ffffff), color-mix(in srgb,var(--rmj-accent,#2271b1) 7%,#ffffff)) !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price:has(.rmj-upsell-rec-price-value--free){
    background:linear-gradient(90deg, rgba(34,197,94,.15), rgba(34,197,94,.08)) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-original-price{
    font-size:11px !important;
    line-height:1 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value{
    font-size:13px !important;
    line-height:1 !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-discount-badge{
    font-size:0 !important;
    line-height:1 !important;
    padding:3px 6px !important;
    min-width:0 !important;
    max-width:none !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-discount-badge::before{
    content:attr(data-mobile-label) !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value--free{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding:4px 10px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:#128a2e !important;
    background:rgba(34,197,94,.12) !important;
    border:1px solid rgba(34,197,94,.35) !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-copy{
    grid-area:copy !important;
    align-self:center !important;
    justify-self:stretch !important;
    margin:0 !important;
    padding:0 10px 0 12px !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-title{
    margin:0 !important;
    line-height:1.15 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
    grid-area:action !important;
    align-self:start !important;
    justify-self:stretch !important;
    width:auto !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 10px 8px 12px !important;
    padding:7px 12px !important;
    box-sizing:border-box !important;
  }
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted{
  grid-template-columns:76px minmax(0,1fr) !important;
  grid-template-rows:38px minmax(22px,1fr) 42px !important;
  grid-template-areas:"thumb price" "thumb copy" "thumb action" !important;
  min-height:122px !important;
  height:122px !important;
  padding:0 !important;
  row-gap:4px !important;
  column-gap:0 !important;
  align-items:stretch !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb{
  grid-area:thumb !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  width:76px !important;
  min-width:76px !important;
  height:122px !important;
  min-height:122px !important;
  max-height:122px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-thumb img,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-thumb img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
  grid-area:price !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-height:38px !important;
  margin:0 !important;
  padding:6px 10px 6px 12px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:0 14px 0 0 !important;
  border:0 !important;
  background:linear-gradient(90deg, color-mix(in srgb,var(--rmj-accent,#2271b1) 13%,#ffffff), color-mix(in srgb,var(--rmj-accent,#2271b1) 7%,#ffffff)) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price:has(.rmj-upsell-rec-price-value--free){
  background:linear-gradient(90deg, rgba(34,197,94,.15), rgba(34,197,94,.08)) !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px !important;
  max-width:100% !important;
  white-space:nowrap !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-original-price{
  font-size:11px !important;
  line-height:1 !important;
  margin:0 !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value{
  font-size:13px !important;
  line-height:1 !important;
  margin:0 !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-discount-badge{
  font-size:0 !important;
  line-height:1 !important;
  padding:3px 6px !important;
  min-width:0 !important;
  max-width:none !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-discount-badge::before{
  content:attr(data-mobile-label) !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value--free{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#128a2e !important;
  background:rgba(34,197,94,.12) !important;
  border:1px solid rgba(34,197,94,.35) !important;
  white-space:nowrap !important;
  margin:0 !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-copy{
  grid-area:copy !important;
  align-self:center !important;
  justify-self:stretch !important;
  margin:0 !important;
  padding:0 10px 0 12px !important;
  text-align:left !important;
  box-sizing:border-box !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-title{
  margin:0 !important;
  line-height:1.15 !important;
}

body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action,
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
  grid-area:action !important;
  align-self:start !important;
  justify-self:stretch !important;
  width:auto !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 10px 8px 12px !important;
  padding:7px 12px !important;
  box-sizing:border-box !important;
}

/* v1.0.4-beta.615: Desktop payment upsell accent bar flush to thumbnail.
   Clean override from v612 baseline: remove the desktop grid column gap so the
   pricing accent bar physically touches the thumbnail edge, then restore the
   content breathing room with padding on the content-side elements only. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted{
    column-gap:0 !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
    padding-left:14px !important;
    margin-left:0 !important;
  }
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-copy,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-copy,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
    margin-left:14px !important;
  }
}

/* v1.0.4-beta.616: Mobile/App Mode upsell pricing row left-alignment cleanup.
   Keeps the approved v615 carousel preservation and desktop layout unchanged.
   Only corrects the mobile/App Mode pricing/free row so its content starts from
   the same left edge as the add-on title instead of visually centering in the
   accent bar. */
@media (max-width:767px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price,
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price,
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-price{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding:6px 10px 6px 12px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line,
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-line{
    display:flex !important;
    flex:0 1 auto !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    transform:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value--free,
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-price-value--free{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* v1.0.4-beta.626: Desktop-only payment upsell Add button right-spacing fix.
   Root cause: v615 left spacing used margin-left while the action button still had width:100%,
   causing the button to overflow the content column and visually touch the card's right edge.
   Scope is strictly desktop browser payment-step last-chance upsell cards; mobile browser and
   App Mode remain untouched. */
@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card .rmj-upsell-rec-action,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-upsell-recommendations .rmj-upsell-rec-grid--contained-carousel > .rmj-upsell-rec-card.rmj-upsell-rec-card--discounted .rmj-upsell-rec-action{
    width:auto !important;
    max-width:none !important;
    margin:0 0 0 14px !important;
    box-sizing:border-box !important;
  }
}

/* v1.0.4-beta.619: Select Add-ons category wrapper elevation fix.
   Clean replacement for the failed v618 shadow attempt.
   Exact target: the real JS-rendered add-on category wrapper (.rmj-addon-group-wrap),
   not the inner add-on cards or the header only. Visual-only: no layout, spacing,
   title, card, add/remove, totals, AJAX, or validation logic changes. */
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention){
  border-color:color-mix(in srgb,var(--rmj-accent,var(--rmj-primary,#2271b1)) 24%,var(--rmj-card-border,#e5e7eb)) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--rmj-accent,var(--rmj-primary,#2271b1)) 12%,transparent),
    0 14px 34px rgba(15,23,42,.085),
    0 0 26px color-mix(in srgb,var(--rmj-accent,var(--rmj-primary,#2271b1)) 12%,transparent) !important;
}

@supports not (color: color-mix(in srgb, #000 10%, transparent)){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention),
  body.rmj-admin-app-mode .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap:not(.rmj-group-invalid):not(.rmj-group-needs-attention){
    border-color:var(--rmj-card-border,#e5e7eb) !important;
    box-shadow:0 0 0 1px rgba(15,23,42,.025), 0 14px 34px rgba(15,23,42,.085) !important;
  }
}


/* v1.0.4-beta.620: Add-on image View overlay banner polish.
   Scope: frontend booking add-on cards only. Keeps preview/lightbox JS unchanged and restyles the existing
   data-rmj-addon-image-preview pseudo-element to match the selected image-bottom banner treatment. */
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
  content:"View" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 8px !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  color:var(--rmj-highlight-text,#fff) !important;
  background:var(--rmj-highlight-bg,var(--rmj-accent,#3b82f6)) !important;
  background-image:none !important;
  border:0 !important;
  border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28))) !important;
  box-shadow:0 -10px 26px rgba(15,23,42,.22) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
  z-index:22 !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]:hover::after,
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]:focus-visible::after{
  opacity:1 !important;
  transform:none !important;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
    min-height:32px !important;
    height:32px !important;
    font-size:10px !important;
  }
}


/* v1.0.4-beta.621: Restore selected add-on image banner after View overlay update.
   Root cause: the older beta.546 preview pseudo-element appears later than the selected-banner rules
   and still matches selected add-on thumbnails, resetting the shared ::after to View/opacity:0.
   This final scoped override keeps the same image-bottom banner source of truth for selected add-ons
   on desktop, mobile browser, and App Mode without changing add/remove logic. */
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after,
.rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
  content:"✓  Selected" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 8px !important;
  border-radius:0 0 inherit inherit !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  color:var(--rmj-highlight-text,#fff) !important;
  background:var(--rmj-highlight-bg,var(--rmj-accent,#3b82f6)) !important;
  background-image:none !important;
  border:0 !important;
  border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,rgba(255,255,255,.28))) !important;
  box-shadow:0 -10px 26px rgba(15,23,42,.22) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
  z-index:24 !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]:hover::after,
.rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]:focus-visible::after{
  opacity:1 !important;
  transform:none !important;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after,
  .rmj-booking-widget .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
    min-height:32px !important;
    height:32px !important;
    font-size:10px !important;
  }
}

/* v1.0.4-beta.622: Template customization color picker row alignment retained. */
.rmj-template-customization-color-grid{
  align-items:stretch !important;
}
.rmj-template-customization-color-grid .rmj-template-color-field{
  display:grid !important;
  grid-template-rows:minmax(58px,auto) auto !important;
  align-items:end !important;
  gap:10px !important;
}
.rmj-template-customization-color-grid .rmj-template-color-field label{
  align-self:start !important;
  min-height:58px !important;
  display:flex !important;
  align-items:flex-start !important;
}
.rmj-template-customization-color-grid .rmj-template-color-field input[type="color"]{
  align-self:end !important;
  width:100% !important;
}
@media (max-width: 767px){
  .rmj-selector-preview-modal .rmj-selector-preview-dialog{
    max-width:calc(100vw - 20px) !important;
  }
  .rmj-selector-preview-modal .rmj-selector-preview-close{
    top:-12px !important;
    right:-10px !important;
    width:42px !important;
    height:42px !important;
  }
  .rmj-selector-preview-modal .rmj-selector-preview-content{
    width:100% !important;
    max-width:none !important;
    padding:14px !important;
  }
  .rmj-selector-preview-modal .rmj-selector-preview-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .rmj-selector-preview-modal .rmj-selector-preview-actions .rmj-button{
    width:100% !important;
  }
}


/* v1.0.4-beta.623: Booking selector preview modal footer width lock.
   Uses the measured rendered image width from frontend.js so the caption/action tray
   visually follows the preview image instead of the full mobile dialog width. */
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-dialog{
  --rmj-selector-preview-visual-width: min(100%, 560px);
}
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-content{
  width:var(--rmj-selector-preview-visual-width) !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:stretch !important;
}
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-actions .rmj-button{
  width:100% !important;
  min-width:0 !important;
}
@media (max-width:767px){
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-dialog{
    overflow:visible !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-content{
    width:var(--rmj-selector-preview-visual-width) !important;
    max-width:calc(100vw - 24px) !important;
    border-radius:20px !important;
  }
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close{
    right:max(8px, calc((100% - var(--rmj-selector-preview-visual-width)) / 2 - 14px)) !important;
    top:2px !important;
    width:42px !important;
    height:42px !important;
  }
}


/* v1.0.4-beta.624: Booking selector preview close button glass polish.
   Scoped to the body-level booking selector preview only. Keeps preview image, footer tray,
   buttons, and selection behavior unchanged while replacing the dark close bubble with
   a lighter theme-tinted glass control. */
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close{
  top:10px !important;
  right:max(10px, calc((100% - var(--rmj-selector-preview-visual-width)) / 2 + 10px)) !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:999px !important;
  border:1px solid color-mix(in srgb, var(--rmj-button-bg,#2563eb) 28%, rgba(255,255,255,.86)) !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--rmj-heading,var(--rmj-text,#0f172a)) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.18), 0 0 0 4px color-mix(in srgb, var(--rmj-button-bg,#2563eb) 10%, transparent) !important;
  backdrop-filter:blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(150%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:26px !important;
  font-weight:800 !important;
  line-height:1 !important;
  z-index:9 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close:hover,
body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close:focus-visible{
  background:rgba(255,255,255,.98) !important;
  border-color:color-mix(in srgb, var(--rmj-button-bg,#2563eb) 42%, rgba(255,255,255,.72)) !important;
  box-shadow:0 14px 32px rgba(15,23,42,.22), 0 0 0 4px color-mix(in srgb, var(--rmj-button-bg,#2563eb) 16%, transparent) !important;
  outline:none !important;
}
@media (max-width:767px){
  body > .rmj-selector-preview-modal.rmj-booking-selector-preview-modal .rmj-selector-preview-close{
    top:9px !important;
    right:max(9px, calc((100% - var(--rmj-selector-preview-visual-width)) / 2 + 9px)) !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    font-size:25px !important;
  }
}


/* v1.0.4-beta.627: Desktop-only payment option label/amount spacing fix.
   The payment option buttons are rendered as: .rmj-payment-option > .rmj-payment-option-label + strong.
   Mobile already has its own layout and is intentionally untouched. */
@media (min-width:768px){
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option,
  .rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    justify-content:stretch !important;
    column-gap:28px !important;
    text-align:left !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option-label,
  .rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option-label{
    justify-self:start !important;
    text-align:left !important;
    margin:0 !important;
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.15 !important;
  }
  .rmj-booking-widget .rmj-step[data-step="9"] .rmj-payment-option strong,
  .rmj-booking-widget--unstyled .rmj-step[data-step="9"] .rmj-payment-option strong{
    justify-self:end !important;
    text-align:right !important;
    margin:0 !important;
    white-space:nowrap !important;
    line-height:1.1 !important;
  }
}

/* v1.0.4-beta.636: Desktop frontend package/add-on polish.
   Scope: public booking widget desktop only. Mobile browser and App Mode are intentionally untouched.
   Goals: package pill icons inherit text color, package cards tighten vertically, included items align cleaner,
   non-slideshow add-on groups use two columns, add-on price pills remain readable, and View/Selected thumbnail banners share selected/accent styling. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card{
    grid-template-columns:220px minmax(0,1fr) !important;
    min-height:220px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-thumb{
    min-height:220px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body{
    gap:12px !important;
    padding:44px 26px 20px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.has-package-highlight > .rmj-option-body{
    padding-top:44px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head{
    gap:12px !important;
    padding-bottom:14px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-title,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-title{
    font-size:clamp(19px,1.65vw,24px) !important;
    line-height:1.1 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc{
    font-size:12.75px !important;
    line-height:1.38 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-hours-pill::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price::before{
    color:currentColor !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px 12px !important;
    align-items:stretch !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row{
    width:100% !important;
    min-height:34px !important;
    padding:7px 10px !important;
    justify-content:flex-start !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow),
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow) > .rmj-option-card.rmj-addon-card,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid:not(.is-slideshow) > .rmj-option-card.rmj-addon-card{
    min-width:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-card .rmj-option-price,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-card .rmj-option-price{
    background:var(--rmj-bubble-bg,#f6f7f7) !important;
    background-image:none !important;
    color:var(--rmj-bubble-text,#2c3338) !important;
    border-color:color-mix(in srgb,var(--rmj-bubble-text,#2c3338) 18%, white) !important;
    -webkit-text-fill-color:var(--rmj-bubble-text,#2c3338) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after{
    background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-primary,#2271b1)))) !important;
    background-image:none !important;
    color:var(--rmj-highlight-text,var(--rmj-accent-text,#ffffff)) !important;
    border-top-color:var(--rmj-highlight-border,var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-primary,#2271b1))))) !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.is-selected .rmj-package-highlight-badge--most_popular{
    background:#7c3aed !important;
    background-image:none !important;
    color:#ffffff !important;
    border-color:transparent !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.is-selected .rmj-package-highlight-badge--best_value{
    background:#047857 !important;
    background-image:none !important;
    color:#ffffff !important;
    border-color:transparent !important;
  }
}

/* v1.0.4-beta.638: Safe desktop follow-up after package rollback.
   Keeps the successful add-on desktop fixes, restores the package layout from v636,
   and only adds hard-coded marketing badge colors without changing package sizing/positioning. */
@media (min-width: 768px){
  /* Marketing badges: hard-coded standout colors only; no package layout changes. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.is-selected .rmj-package-highlight-badge--most_popular{
    background:#7c3aed !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.is-selected .rmj-package-highlight-badge--best_value{
    background:#047857 !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
  }

  /* Add-on category accent bars: route through selected/accent variables, not blue fallback. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-required:not(.rmj-group-invalid):not(.rmj-group-needs-attention) .rmj-group-heading-wrap::before{
    background:linear-gradient(90deg,
      var(--rmj-addon-category-accent-bar,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 0%,
      color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 78%, white 22%) 100%) !important;
  }
}


/* v1.0.4-beta.639: Select Packages Option A safe desktop tightening.
   Scope: public booking widget desktop only. This intentionally avoids changing package
   card structure, grid columns, thumbnail width/height, selected state, or mobile/App Mode.
   It only tightens the right-side package content spacing and locks the attached marketing
   ribbon colors with selectors that beat the older attached-ribbon source. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card > .rmj-option-body{
    gap:8px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-head{
    gap:8px !important;
    padding-bottom:8px !important;
    margin-bottom:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-price-wrap{
    gap:8px !important;
    margin-top:2px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-desc{
    margin:0 !important;
    padding:2px 0 6px !important;
    line-height:1.32 !important;
    min-height:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-foot,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-option-foot,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-list,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-list{
    gap:7px !important;
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-label,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-label{
    margin:0 0 6px !important;
    line-height:1.1 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid{
    gap:7px 10px !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row{
    min-height:30px !important;
    padding:6px 11px !important;
    gap:7px !important;
  }

  /* Attached highlight ribbons: override the older generic attached-ribbon blue/accent rule. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-most_popular .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-most_popular .rmj-package-highlight-badge{
    background:#7c3aed !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
    border-color:transparent !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-best_value .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-best_value .rmj-package-highlight-badge{
    background:#047857 !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
    border-color:transparent !important;
  }
}

/* v1.0.4-beta.640: Desktop package highlight corner ribbons.
   Replaces the previous attached full-width highlight bar with a compact top-right corner ribbon/tab.
   Scope: public booking widget desktop only. Does not change package grid, thumbnail sizing, selected state, or mobile/App Mode. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.rmj-package-card.has-package-highlight .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.rmj-package-card.is-selected .rmj-package-highlight-badge{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    z-index:12 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:112px !important;
    max-width:48% !important;
    min-height:34px !important;
    height:34px !important;
    padding:0 14px !important;
    border-radius:0 18px 0 14px !important;
    border:0 !important;
    box-shadow:0 10px 22px rgba(15,23,42,.14) !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    pointer-events:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge::before,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-option-card.rmj-package-card.has-package-highlight .rmj-package-highlight-badge::before{
    display:none !important;
    content:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--most_popular,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-most_popular .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-most_popular .rmj-package-highlight-badge{
    background:#7c3aed !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-package-highlight-badge.rmj-package-highlight-badge--best_value,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-best_value .rmj-package-highlight-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-highlight-best_value .rmj-package-highlight-badge{
    background:#047857 !important;
    background-image:none !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
  }
}

/* v1.0.4-beta.641: Desktop Select Add-ons selected-card border + optional/swipe pill alignment.
   Scope: public booking widget desktop only. Keeps mobile/App Mode and add-on logic untouched. */
@media (min-width: 768px){
  /* Selected add-ons: add a full-card selected border/glow without changing layout dimensions. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-added,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-added{
    border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
    box-shadow:
      0 0 0 2px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 72%, transparent),
      0 14px 30px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 12%, transparent) !important;
  }

  /* Header pill alignment: make OPTIONAL match the Swipe / Drag pill height and vertical center. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-wrap{
    align-items:center !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-main,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-main{
    align-self:center !important;
    align-items:center !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional .rmj-group-heading-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:28px !important;
    height:28px !important;
    padding:0 11px !important;
    line-height:1 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    align-self:center !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-slideshow .rmj-addon-scroll-indicator{
    min-height:28px !important;
    height:28px !important;
    align-self:center !important;
    box-sizing:border-box !important;
  }
}


/* v1.0.4-beta.642: Select Add-ons carousel selected state + Optional/Swipe header alignment.
   Root cause:
   - beta.641 selected-card border worked on normal grid cards, but carousel/slideshow cards are controlled by later .rmj-addon-group-grid.is-slideshow sizing/overflow rules. The visible edge needed an inset/outline selected state that survives the carousel viewport on desktop and mobile.
   - the slideshow header uses a two-row grid template (main + subtitle) while the optional subtitle is hidden, so the Swipe/Drag pill is centered across a taller grid area and the Optional pill appears slightly higher.
   Scope: frontend booking widget Select Add-ons only. No package, payment, or add-on logic changes. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-selected,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-added,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid > .rmj-option-card.rmj-addon-card.is-added{
  border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
  outline:2px solid var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
  outline-offset:-2px !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 82%, transparent),
    0 12px 28px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 12%, transparent) !important;
}

.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card.is-selected,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card.is-selected,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card.is-added,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-card-grid.rmj-addon-group-grid.is-slideshow > .rmj-option-card.rmj-addon-card.is-added{
  border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
  outline:2px solid var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
  outline-offset:-2px !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 86%, transparent),
    0 10px 24px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 10%, transparent) !important;
}

@media (min-width:768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-wrap,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"main hint" !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-subtitle,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-subtitle{
    display:none !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-main,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-main{
    grid-area:main !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:30px !important;
    height:30px !important;
    width:100% !important;
    min-width:0 !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-group-heading-badge,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="4"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-addon-scroll-indicator,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="5"] .rmj-addon-group-wrap.is-optional.is-slideshow .rmj-addon-scroll-indicator{
    min-height:28px !important;
    height:28px !important;
    align-self:center !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:none !important;
  }
}


/* v1.0.4-beta.643: Desktop Select Packages 4-column included pills + selected-border match.
   Scope: desktop frontend booking widget package cards only. No add-on, mobile, App Mode, package logic, or thumbnail changes. */
@media (min-width: 768px){
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px 9px !important;
    align-items:stretch !important;
    width:100% !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row-text,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-package-group-grid > .rmj-option-card.rmj-package-card .rmj-included-row-text{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  /* Match package selected border to the selected add-on card treatment instead of the older blue outline. */
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-card-grid.rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected,
  body:not(.rmj-admin-app-mode) .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-package-group-grid > .rmj-option-card.rmj-package-card.is-selected{
    border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
    outline:2px solid var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
    outline-offset:-2px !important;
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 82%, transparent),
      0 12px 28px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 12%, transparent) !important;
  }
}

/* v1.0.4-beta.644: Mobile package styling variable sync.
   Scope: frontend booking widget mobile/package cards only.
   Purpose: mobile keeps its responsive structure, but colors now inherit the same Elementor/widget style variables used by desktop.
   No hardcoded brand colors are introduced here; fallbacks only exist for unset variables. */
@media (max-width: 767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card{
    border-color:var(--rmj-card-border,#e5e7eb) !important;
    background:var(--rmj-card-bg,#ffffff) !important;
    color:var(--rmj-card-text,var(--rmj-text,#111827)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected{
    border-color:var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
    outline:2px solid var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) !important;
    outline-offset:-2px !important;
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 82%, transparent),
      0 12px 28px color-mix(in srgb,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))) 12%, transparent) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-option-title{
    color:var(--rmj-card-title,var(--rmj-heading,#111827)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-option-title{
    color:var(--rmj-card-selected-title,var(--rmj-card-title,var(--rmj-heading,#111827))) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    background:var(--rmj-hours-bg,var(--rmj-price-bg,var(--rmj-bubble-bg,#f6f7f7))) !important;
    color:var(--rmj-hours-text,var(--rmj-card-price,var(--rmj-bubble-text,#2c3338))) !important;
    border-color:var(--rmj-included-border,rgba(44,51,56,.18)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price{
    background:var(--rmj-price-bg,var(--rmj-hours-bg,var(--rmj-bubble-bg,#f6f7f7))) !important;
    color:var(--rmj-card-price,var(--rmj-hours-text,var(--rmj-bubble-text,#2c3338))) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-hours-pill,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-option-price{
    background:var(--rmj-hours-selected-bg,var(--rmj-hours-bg,var(--rmj-price-bg,var(--rmj-bubble-bg,#f6f7f7)))) !important;
    color:var(--rmj-hours-selected-text,var(--rmj-hours-text,var(--rmj-card-selected-price,var(--rmj-bubble-text,#2c3338)))) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-option-price{
    background:var(--rmj-price-selected-bg,var(--rmj-price-bg,var(--rmj-hours-bg,var(--rmj-bubble-bg,#f6f7f7)))) !important;
    color:var(--rmj-card-selected-price,var(--rmj-card-price,var(--rmj-bubble-text,#2c3338))) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-hours-pill::before,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-option-price::before{
    color:currentColor !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-included-mobile-summary{
    background:var(--rmj-included-bg,var(--rmj-bubble-bg,#f6f7f7)) !important;
    color:var(--rmj-included-text,var(--rmj-bubble-text,#2c3338)) !important;
    border:1px solid var(--rmj-included-border,rgba(44,51,56,.18)) !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-included-mobile-summary{
    background:var(--rmj-included-bg-selected,var(--rmj-included-bg,var(--rmj-bubble-bg,#f6f7f7))) !important;
    color:var(--rmj-included-text-selected,var(--rmj-included-text,var(--rmj-bubble-text,#2c3338))) !important;
    border-color:var(--rmj-included-border,rgba(44,51,56,.18)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-grid{
    background:transparent !important;
    border:1px solid var(--rmj-included-border,rgba(44,51,56,.18)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row{
    background:var(--rmj-included-bg,var(--rmj-bubble-bg,#f6f7f7)) !important;
    color:var(--rmj-included-text,var(--rmj-bubble-text,#2c3338)) !important;
    border:1px solid var(--rmj-included-border,rgba(44,51,56,.18)) !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected.rmj-mobile-details-open .rmj-included-row{
    background:var(--rmj-included-bg-selected,var(--rmj-included-bg,var(--rmj-bubble-bg,#f6f7f7))) !important;
    color:var(--rmj-included-text-selected,var(--rmj-included-text,var(--rmj-bubble-text,#2c3338))) !important;
    border-color:var(--rmj-included-border,rgba(44,51,56,.18)) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row-text{
    color:inherit !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row-icon{
    background:color-mix(in srgb,var(--rmj-included-check,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 18%, transparent) !important;
    color:var(--rmj-included-check,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) !important;
    border:1px solid color-mix(in srgb,var(--rmj-included-check,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 28%, transparent) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after{
    color:var(--rmj-highlight-text,var(--rmj-button-text,#ffffff)) !important;
    background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) !important;
    background-image:none !important;
    border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))))) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
    color:var(--rmj-highlight-text,var(--rmj-button-text,#ffffff)) !important;
    background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) !important;
    background-image:none !important;
    border-top:1px solid var(--rmj-highlight-border,var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed))))) !important;
  }
}


/* v1.0.4-beta.645: Mobile package included styling source-of-truth sync.
   Scope: mobile frontend booking package cards only.
   Fix: mobile selected package included rows were still reading older selected/mobile row colors, causing dark text on dark included backgrounds. Mobile now uses the same Elementor/widget included variables as desktop. No fixed brand colors are introduced here. */
@media (max-width: 767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card .rmj-included-mobile-summary,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected .rmj-included-mobile-summary{
    background:var(--rmj-included-bg) !important;
    color:var(--rmj-included-text) !important;
    border-color:var(--rmj-included-border) !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-grid,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected.rmj-mobile-details-open .rmj-included-grid{
    background:transparent !important;
    border-color:var(--rmj-included-border) !important;
    box-shadow:none !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected.rmj-mobile-details-open .rmj-included-row{
    background:var(--rmj-included-bg) !important;
    color:var(--rmj-included-text) !important;
    border-color:var(--rmj-included-border) !important;
    box-shadow:none !important;
    opacity:1 !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row-text,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected.rmj-mobile-details-open .rmj-included-row-text{
    color:var(--rmj-included-text) !important;
    opacity:1 !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.rmj-mobile-details-open .rmj-included-row-icon,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected.rmj-mobile-details-open .rmj-included-row-icon{
    color:var(--rmj-included-check) !important;
    background:color-mix(in srgb,var(--rmj-included-check) 16%, transparent) !important;
    border-color:color-mix(in srgb,var(--rmj-included-check) 28%, transparent) !important;
  }

  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-package-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-service-card.is-selected > .rmj-option-thumb::after,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step .rmj-option-card.rmj-addon-card:not(.is-selected) > .rmj-option-thumb[data-rmj-addon-image-preview="1"]::after{
    color:var(--rmj-highlight-text,var(--rmj-button-text)) !important;
    background:var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg)))) !important;
    background-image:none !important;
    border-top-color:var(--rmj-highlight-border,var(--rmj-highlight-bg,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg))))) !important;
  }
}

/* v1.0.4-beta.713: Frontend booking form polish for Step 1 budget and Step 8 booking details only. */
.rmj-booking-widget .rmj-budget-filter-card{
  margin:calc(var(--rmj-section-spacing,18px) * .85) 0 0;
  padding:16px;
  border:1px solid var(--rmj-card-border,var(--rmj-field-border,#e5e7eb));
  border-radius:18px;
  background:linear-gradient(180deg,var(--rmj-card-bg,#fff),var(--rmj-overview-bg,#f8fafc));
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.rmj-booking-widget .rmj-budget-filter-card .rmj-budget-filter-field{
  margin:0;
}
.rmj-booking-widget .rmj-budget-filter-card .rmj-budget-filter-field::before{
  content:'Budget Preference';
  display:block;
  margin:0 0 6px;
  color:var(--rmj-card-title,var(--rmj-heading-color,#111827));
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}
.rmj-booking-widget .rmj-budget-filter-card label{
  display:block;
  margin:0 0 8px;
}
.rmj-booking-widget .rmj-budget-filter-card .description{
  margin:8px 0 0;
  line-height:1.45;
  color:var(--rmj-text,#4b5563);
  opacity:.88;
}
.rmj-booking-widget .rmj-booking-detail-section{
  margin:0 0 calc(var(--rmj-section-spacing,18px) * .8);
  padding:16px;
  border:1px solid var(--rmj-card-border,var(--rmj-overview-border,#e5e7eb));
  border-radius:20px;
  background:linear-gradient(180deg,var(--rmj-card-bg,#fff),var(--rmj-overview-bg,#f8fafc));
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}
.rmj-booking-widget .rmj-booking-detail-section-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 16px;
  padding:0 0 14px;
  border-bottom:1px solid var(--rmj-card-border,var(--rmj-overview-border,#e5e7eb));
}
.rmj-booking-widget .rmj-booking-detail-section-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:var(--rmj-accent-soft-color,rgba(34,113,177,.12));
  color:var(--rmj-accent-color,#2271b1);
  font-size:17px;
  line-height:1;
}
.rmj-booking-widget .rmj-booking-detail-section-head h5{
  margin:0;
  color:var(--rmj-overview-heading,var(--rmj-card-title,#111827));
  font-size:17px;
  font-weight:850;
  letter-spacing:-.02em;
}
.rmj-booking-widget .rmj-booking-detail-section-head p{
  margin:3px 0 0;
  color:var(--rmj-text,#4b5563);
  font-size:13px;
  line-height:1.4;
  opacity:.82;
}
.rmj-booking-widget .rmj-booking-detail-grid{
  gap:var(--rmj-field-gap,14px);
}
.rmj-booking-widget .rmj-booking-detail-section .rmj-field-group{
  margin:0;
}
.rmj-booking-widget .rmj-booking-detail-section .rmj-overview-box,
.rmj-booking-widget .rmj-booking-detail-section .rmj-coupon-box{
  margin:0;
  box-shadow:none;
  background:var(--rmj-card-bg,#fff);
}
.rmj-booking-widget .rmj-booking-detail-overview-section .rmj-overview-box h5{
  display:none;
}
.rmj-booking-widget .rmj-booking-detail-coupon-section .rmj-coupon-row{
  align-items:center;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-budget-filter-card,
  .rmj-booking-widget .rmj-booking-detail-section{
    padding:14px;
    border-radius:16px;
  }
  .rmj-booking-widget .rmj-booking-detail-section-head{
    gap:10px;
    margin-bottom:14px;
    padding-bottom:12px;
  }
  .rmj-booking-widget .rmj-booking-detail-section-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
    border-radius:12px;
    font-size:15px;
  }
  .rmj-booking-widget .rmj-booking-detail-section-head h5{
    font-size:16px;
  }
  .rmj-booking-widget .rmj-booking-detail-section-head p{
    font-size:12px;
  }
  .rmj-booking-widget .rmj-booking-detail-coupon-section .rmj-coupon-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .rmj-booking-widget .rmj-booking-detail-coupon-section .rmj-coupon-row .rmj-button{
    width:100%;
  }
}

/* v1.0.4-beta.727: Step 1 accent cards keep the dedicated Calendar Step controls,
   but interactive inner fields stay on the normal white field styling so the accent
   background never tints selects, inputs, or the multi-day toggle container. */
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field,
.rmj-booking-widget .rmj-budget-filter-card,
.rmj-booking-widget .rmj-lead-capture-card{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 28%, var(--rmj-card-border,var(--rmj-field-border,#e5e7eb))) !important;
  border-left:4px solid var(--rmj-step1-accent-card-accent,var(--rmj-step1-accent-card-border,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) !important;
  border-radius:18px;
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 26%, transparent) 0,transparent 42%),
    linear-gradient(180deg,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 10%, var(--rmj-card-bg,#fff)) 0%,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 18%, var(--rmj-overview-bg,#f8fafc)) 100%) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) 8%, transparent) !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field{
  padding:14px;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field > label:first-child,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field > label:first-child,
.rmj-booking-widget .rmj-budget-filter-card .rmj-budget-filter-field::before,
.rmj-booking-widget .rmj-budget-filter-card label,
.rmj-booking-widget .rmj-budget-filter-card .description,
.rmj-booking-widget .rmj-lead-capture-card-head strong,
.rmj-booking-widget .rmj-lead-capture-card-head small,
.rmj-booking-widget .rmj-lead-capture-card label{
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-title,var(--rmj-heading-color,#111827))) !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field > label:first-child,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field > label:first-child,
.rmj-booking-widget .rmj-budget-filter-card .rmj-budget-filter-field::before,
.rmj-booking-widget .rmj-lead-capture-card-head strong{
  display:block;
  font-weight:800;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field > label:first-child,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field > label:first-child{
  margin:0 0 8px;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field select,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field .rmj-multi-day-toggle,
.rmj-booking-widget .rmj-budget-filter-card input,
.rmj-booking-widget .rmj-lead-capture-card input{
  border-color:var(--rmj-field-border,#d1d5db) !important;
  background:var(--rmj-field-bg,#fff) !important;
  color:var(--rmj-field-text,var(--rmj-text-color,#111827)) !important;
}

.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field select,
.rmj-booking-widget .rmj-budget-filter-card input,
.rmj-booking-widget .rmj-lead-capture-card input{
  background-color:var(--rmj-field-bg,#fff) !important;
  background-image:initial;
}
/* v1.0.4-beta.728: keep the inner Multi-Day card white, but do not override the
   actual toggle switch track/knob. The switch must keep its original off/on styling. */
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field .rmj-multi-day-toggle{
  background:var(--rmj-field-bg,#fff) !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-text strong{
  color:var(--rmj-heading-color,#111827) !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-text small{
  color:var(--rmj-muted-text,#6b7280) !important;
}
.rmj-booking-widget .rmj-budget-filter-card input::placeholder,
.rmj-booking-widget .rmj-lead-capture-card input::placeholder{
  color:var(--rmj-field-placeholder,#6b7280) !important;
}

.rmj-booking-widget .rmj-budget-filter-card,
.rmj-booking-widget .rmj-lead-capture-card{
  margin:calc(var(--rmj-section-spacing,18px) * .85) 0 0;
  padding:16px;
}
.rmj-booking-widget .rmj-lead-capture-card-head{
  margin:0 0 12px;
  padding:0 0 12px;
  border-bottom:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 14%, var(--rmj-card-border,var(--rmj-field-border,#e5e7eb))) !important;
}
.rmj-booking-widget .rmj-lead-capture-card-head strong{
  margin:0 0 4px;
  font-size:15px;
  letter-spacing:-.01em;
}
.rmj-booking-widget .rmj-lead-capture-card-head small{
  display:block;
  font-size:13px;
  line-height:1.4;
  opacity:.82;
}
.rmj-booking-widget .rmj-lead-capture-card .rmj-lead-capture-grid{
  margin:0 !important;
}
.rmj-booking-widget .rmj-lead-capture-card .rmj-field-group{
  margin:0;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row{
  align-items:stretch;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field select{
  width:100%;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-step[data-step="1"] .rmj-event-type-field,
  .rmj-booking-widget .rmj-step[data-step="1"] .rmj-multi-day-toggle-field,
  .rmj-booking-widget .rmj-budget-filter-card,
  .rmj-booking-widget .rmj-lead-capture-card{
    border-radius:16px;
    padding:14px;
  }
  .rmj-booking-widget .rmj-lead-capture-card-head{
    margin-bottom:10px;
    padding-bottom:10px;
  }
}


/* v1.0.4-beta.728: visible Step 1 required messages on Check Availability. */
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-step1-inline-error{
  display:none;
  margin:8px 0 0;
  padding:8px 10px;
  border:1px solid rgba(220,38,38,.26);
  border-radius:12px;
  background:rgba(254,242,242,.92);
  color:#b91c1c;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-step1-inline-error.is-visible{
  display:block;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-field-required-error,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-inline-calendar.rmj-field-required-error,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-budget-filter-card.rmj-field-required-error,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-lead-capture-card.rmj-field-required-error{
  border-color:#dc2626 !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.10),0 12px 30px color-mix(in srgb,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) 8%, transparent) !important;
}

/* v1.0.4-beta.748: Step 1 section spacing source fix.
   The large gaps were caused by the Step 1 flex gap combining with top margins
   on the Budget and Booking Email cards. Keep the existing accent card system,
   but let one Step 1 gap value control the spacing between all Step 1 cards. */
.rmj-booking-widget .rmj-step[data-step="1"].is-active{
  --rmj-step1-card-gap:14px;
  gap:var(--rmj-step1-card-gap);
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row.has-inline-toggle,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row.has-multi-day-toggle{
  gap:var(--rmj-step1-card-gap);
  row-gap:var(--rmj-step1-card-gap);
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row + .rmj-budget-filter-card,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-calendar-controls-row + .rmj-lead-capture-card,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-budget-filter-card + .rmj-lead-capture-card{
  margin-top:0 !important;
}
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-budget-filter-card,
.rmj-booking-widget .rmj-step[data-step="1"] .rmj-lead-capture-card{
  margin-bottom:0 !important;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-step[data-step="1"].is-active{
    --rmj-step1-card-gap:16px;
  }
}

/* v1.0.4-beta.751: Correct Step 8/9 accent-card extension scope.
   - Booking Details sections keep the Step 1 accent-card surface, but their original icon bubbles are left untouched.
   - Payment step outer container is no longer themed; only the actual inner payment cards/sections inherit the Step 1 accent-card variables.
   - Last Chance Upgrades accent bar uses the same add-on category accent-bar source as the Add-ons step. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-square-payment-wrap,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-paypal-payment-wrap,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-booking-tip-field,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-lines{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 28%, var(--rmj-card-border,var(--rmj-field-border,#e5e7eb))) !important;
  border-left:4px solid var(--rmj-step1-accent-card-accent,var(--rmj-step1-accent-card-border,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 26%, transparent) 0,transparent 42%),
    linear-gradient(180deg,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 10%, var(--rmj-card-bg,#fff)) 0%,color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 18%, var(--rmj-overview-bg,#f8fafc)) 100%) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) 8%, transparent) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section-head,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-panel-head{
  border-bottom-color:color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 14%, var(--rmj-card-border,var(--rmj-field-border,#e5e7eb))) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section-head h5,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section-head p,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-kicker,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-head p,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-panel-copy h5,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-panel-copy p,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-cardholder-field label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-booking-tip-field label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-booking-tip-field small,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-card-label,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-line span,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-line strong{
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-title,var(--rmj-heading-color,#111827))) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-overview-box,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-coupon-box,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-cardholder-field input,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-booking-tip-field input,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-card-field.rmj-card-details-panel{
  border-color:var(--rmj-field-border,var(--rmj-card-border,#e5e7eb)) !important;
  background:var(--rmj-field-bg,#fff) !important;
  box-shadow:none !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  display:block !important;
  width:100% !important;
  height:6px !important;
  background:linear-gradient(90deg,var(--rmj-addon-category-accent-bar,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 0%,color-mix(in srgb,var(--rmj-addon-category-accent-bar,var(--rmj-card-selected-border,var(--rmj-accent,var(--rmj-button-bg,#7c3aed)))) 78%, white 22%) 100%) !important;
  opacity:1 !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option.is-selected{
  border-color:var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) !important;
  background:var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) !important;
  color:var(--rmj-button-text,#fff) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) 12%, transparent) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option.is-selected *{
  color:var(--rmj-button-text,#fff) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-total-row{
  background:var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) !important;
  color:var(--rmj-button-text,#fff) !important;
  border-color:var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-total-row *{
  color:var(--rmj-button-text,#fff) !important;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="8"] .rmj-booking-detail-section,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-upsell-rec-panel,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-square-payment-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-stripe-payment-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-paypal-payment-wrap,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-booking-tip-field,
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-lines{
    border-radius:16px !important;
  }
}

/* v1.0.4-beta.752: Payment option hover contrast + accent-aware summary dividers.
   Keep inactive payment options readable on hover; only selected payment options use selected/button text.
   Route order summary separators through the Step 1 accent-card border/accent variables instead of pale legacy dividers. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):hover,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):focus,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):focus-visible{
  color:var(--rmj-card-title,var(--rmj-heading-color,#111827)) !important;
  background:color-mix(in srgb,var(--rmj-step1-accent-card-bg,rgba(139,92,246,.10)) 10%, var(--rmj-field-bg,#fff)) !important;
  border-color:color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 42%, var(--rmj-field-border,var(--rmj-card-border,#e5e7eb))) !important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6))) 8%, transparent) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):hover *,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):focus *,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-option:not(.is-selected):focus-visible *{
  color:var(--rmj-card-title,var(--rmj-heading-color,#111827)) !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-line + .rmj-payment-summary-line{
  border-top:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-step1-accent-card-accent,var(--rmj-card-selected-border,var(--rmj-button-bg,#8b5cf6)))) 32%, transparent) !important;
}

/* v1.0.4-beta.756 Square Afterpay/Clearpay tab + panel polish */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tabs{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  max-width:100%;
  padding:6px;
  margin:2px 0 16px;
  border:1px solid var(--rmj-card-border,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)));
  border-radius:999px;
  background:var(--rmj-button-secondary-bg,var(--rmj-step-accent-card-soft-bg,rgba(255,255,255,.72)));
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab{
  appearance:none;
  border:1px solid transparent;
  border-radius:999px;
  padding:12px 22px;
  background:transparent;
  color:var(--rmj-button-secondary-text,var(--rmj-text,#111827));
  font-weight:800;
  font-size:15px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab:hover,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab:focus-visible{
  background:var(--rmj-button-secondary-hover,var(--rmj-step-accent-card-soft-bg,rgba(255,255,255,.82)));
  color:var(--rmj-button-secondary-text-hover,var(--rmj-button-secondary-text,var(--rmj-text,#111827)));
  border-color:var(--rmj-card-border,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)));
  outline:none;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab.is-selected{
  background:var(--rmj-button-bg,#2271b1);
  border-color:var(--rmj-button-bg,#2271b1);
  color:var(--rmj-button-text,#ffffff);
  box-shadow:0 10px 22px rgba(15,23,42,.14);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab.is-selected:hover,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab.is-selected:focus-visible{
  background:var(--rmj-button-hover,var(--rmj-button-bg,#2271b1));
  border-color:var(--rmj-button-hover,var(--rmj-button-bg,#2271b1));
  color:var(--rmj-button-text-hover,var(--rmj-button-text,#ffffff));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap [data-square-method-panel][hidden]{
  display:none!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-card-method-panel{
  display:grid;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-panel{
  gap:14px;
  padding:18px;
  border:1px solid var(--rmj-card-border,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)));
  border-radius:18px;
  background:var(--rmj-card-bg,#ffffff);
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-copy{
  position:relative;
  padding:0 0 14px 14px;
  border-bottom:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)) 28%, transparent);
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-copy h6{
  margin:0 0 5px;
  font-size:17px;
  font-weight:900;
  line-height:1.2;
  color:var(--rmj-card-title,var(--rmj-heading,#111827));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-copy p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:var(--rmj-card-text,var(--rmj-muted,#64748b));
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-container{
  min-height:48px;
  display:block;
  width:100%;
  max-width:620px;
  margin:0 auto;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-container iframe,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-container > div{
  max-width:100%!important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-errors{
  color:var(--rmj-error-color,#b91c1c);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
@media (max-width:767px){
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tabs{display:flex;width:100%;box-sizing:border-box;margin-bottom:14px;}
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-method-tab{flex:1;padding:11px 10px;font-size:13px;}
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-panel{padding:14px;border-radius:16px;}
  .rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-copy h6{font-size:15px;}
}


/* v1.0.4-beta.757: Keep generated Order Summary heading on the same accent-card text variable as the summary rows. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-step[data-step="9"] .rmj-payment-summary-lines::before{
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-title,var(--rmj-heading-color,#111827))) !important;
}

/* v1.0.4-beta.760: Afterpay availability notice for deposit/50% payment choices. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-square-payment-wrap .rmj-square-afterpay-errors.is-info{
  display:block;
  margin-top:2px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)) 38%, transparent);
  border-radius:14px;
  background:var(--rmj-step1-accent-card-soft-bg,var(--rmj-card-bg,#ffffff));
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-text,var(--rmj-text,#111827)));
  font-weight:700;
  text-align:left;
}



/* EFP v1.0.4-beta.773: Position Stripe flexible payment notice above Deposit/50% card fields. */
.rmj-booking-widget .rmj-stripe-flexible-payment-notice{
  display:grid;
  gap:10px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1)) 34%, transparent);
  border-radius:16px;
  background:var(--rmj-step1-accent-card-soft-bg,var(--rmj-card-bg,#ffffff));
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-text,var(--rmj-text,#111827)));
  box-sizing:border-box;
}
.rmj-booking-widget .rmj-stripe-flexible-payment-notice[hidden]{display:none!important;}
.rmj-booking-widget .rmj-stripe-flexible-payment-notice-copy{
  display:grid;
  gap:4px;
  margin:0;
  padding-left:12px;
  border-left:4px solid var(--rmj-step1-accent-card-border,var(--rmj-button-bg,#2271b1));
}
.rmj-booking-widget .rmj-stripe-flexible-payment-notice h6{
  margin:0!important;
  color:var(--rmj-step1-accent-card-text,var(--rmj-card-text,var(--rmj-text,#111827)))!important;
  font-size:15px;
  font-weight:900;
  line-height:1.25;
}
.rmj-booking-widget .rmj-stripe-flexible-payment-notice p{
  margin:0!important;
  color:var(--rmj-step1-accent-card-text,var(--rmj-muted,#64748b))!important;
  font-size:13px;
  line-height:1.45;
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-stripe-flexible-payment-notice{padding:12px 14px;margin:0 0 12px;}
}

/* Stripe Payment Element phase 1 */
.rmj-booking-widget .rmj-stripe-payment-element-panel{display:grid;gap:14px;margin-top:14px;padding:16px;border:1px solid var(--rmj-card-border,rgba(15,23,42,.14));border-radius:16px;background:var(--rmj-card-soft-background,rgba(255,255,255,.72));box-sizing:border-box;}
.rmj-booking-widget .rmj-stripe-payment-element-panel[hidden]{display:none!important;}
.rmj-booking-widget .rmj-stripe-payment-element-copy{display:grid;gap:4px;margin:0;padding-left:12px;border-left:4px solid var(--rmj-accent,#2563eb);}
.rmj-booking-widget .rmj-stripe-payment-element-copy h6{margin:0!important;color:var(--rmj-card-text,var(--rmj-text,#111827))!important;font-size:15px;font-weight:900;line-height:1.25;}
.rmj-booking-widget .rmj-stripe-payment-element-copy p{margin:0!important;color:var(--rmj-card-text,var(--rmj-muted,#64748b))!important;font-size:13px;line-height:1.45;}
.rmj-booking-widget .rmj-stripe-payment-element{min-height:48px;}

/* EFP v1.0.4-beta.762: Stripe Payment Element mode must not render legacy Card Elements. */
.rmj-booking-widget .rmj-stripe-payment-wrap.rmj-stripe-use-payment-element .rmj-stripe-payment-card-layout{
  display:none!important;
}
.rmj-booking-widget .rmj-stripe-payment-wrap.rmj-stripe-use-payment-element .rmj-stripe-payment-element-panel:not([hidden]){
  display:grid!important;
}
.rmj-booking-widget .rmj-stripe-payment-wrap.rmj-stripe-use-card-elements .rmj-stripe-payment-element-panel{
  display:none!important;
}

/* EFP v1.0.4-beta.775: Stripe Express Checkout diagnostics */
.rmj-booking-widget .rmj-stripe-express-checkout-panel{
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid var(--rmj-card-border,rgba(15,23,42,.14));
  border-radius:16px;
  background:var(--rmj-card-soft-background,rgba(255,255,255,.72));
  box-sizing:border-box;
}
.rmj-booking-widget .rmj-stripe-express-checkout-panel[hidden]{display:none!important;}
.rmj-booking-widget .rmj-stripe-express-copy{display:grid;gap:3px;margin:0;padding-left:12px;border-left:4px solid var(--rmj-accent,var(--rmj-card-border,#2563eb));}
.rmj-booking-widget .rmj-stripe-express-copy h6{margin:0!important;color:var(--rmj-card-text,var(--rmj-text,#111827))!important;font-size:15px;font-weight:900;line-height:1.25;}
.rmj-booking-widget .rmj-stripe-express-copy p{margin:0!important;color:var(--rmj-card-text,var(--rmj-muted,#64748b))!important;font-size:13px;line-height:1.45;}
.rmj-booking-widget .rmj-stripe-express-checkout{min-height:44px;}
.rmj-booking-widget .rmj-stripe-express-status{font-size:13px;font-weight:700;line-height:1.35;color:var(--rmj-card-text,var(--rmj-text,#111827));}

.rmj-booking-widget .rmj-stripe-express-no-wallets .rmj-stripe-express-checkout{
  min-height:0;
}
.rmj-booking-widget .rmj-stripe-express-no-wallets .rmj-stripe-express-status{
  display:block;
  padding:10px 12px;
  border:1px solid var(--rmj-card-border,rgba(15,23,42,.14));
  border-radius:12px;
  background:var(--rmj-card-soft-background,rgba(255,255,255,.72));
}
@media (max-width:767px){.rmj-booking-widget .rmj-stripe-express-checkout-panel{padding:12px 14px;margin-bottom:12px;gap:10px;}}

/* EFP beta.778 - Client Portal Stripe Express Checkout */
.rmj-portal-stripe-express-checkout-panel{
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid var(--rmj-card-border, rgba(148,163,184,.28));
  border-radius:16px;
  background:var(--rmj-card-bg-soft, rgba(255,255,255,.72));
}
.rmj-portal-stripe-express-checkout-panel[hidden]{display:none!important;}
.rmj-portal-stripe-express-checkout{min-height:44px;}
.rmj-portal-stripe-express-status{font-size:13px;line-height:1.45;color:var(--rmj-muted-text, #64748b);}
.rmj-portal-stripe-express-checkout-panel.rmj-portal-stripe-express-has-wallets .rmj-portal-stripe-express-status:empty{display:none;}


/* v1.0.4-beta.801 booking submit modal polish */
.rmj-booking-widget .rmj-booking-saving-modal{
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:90;
  padding:24px;
}
.rmj-booking-widget .rmj-booking-saving-modal.is-active{display:flex;}
.rmj-booking-widget .rmj-booking-saving-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.58);
  border-radius:inherit;
}
.rmj-booking-widget .rmj-booking-saving-dialog{
  position:relative;
  z-index:1;
  width:min(480px,100%);
  background:var(--rmj-card-bg,#fff);
  border:1px solid var(--rmj-card-border,#e5e7eb);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
  padding:28px 28px 24px;
  text-align:center;
  color:var(--rmj-text,#111827);
  font-family:inherit;
}
.rmj-booking-widget .rmj-booking-saving-spinner{
  width:54px;
  height:54px;
  margin:0 auto 16px;
  border-radius:999px;
  border:4px solid color-mix(in srgb, var(--rmj-button-bg,#2271b1) 18%, white);
  border-top-color:var(--rmj-button-bg,#2271b1);
  animation:rmj-booking-saving-spin .85s linear infinite;
}
@keyframes rmj-booking-saving-spin{to{transform:rotate(360deg);}}
.rmj-booking-widget .rmj-booking-saving-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:999px;
  background:var(--rmj-bubble-bg,rgba(34,113,177,.10));
  color:var(--rmj-bubble-text,var(--rmj-button-bg,#2271b1));
  border:1px solid color-mix(in srgb, var(--rmj-bubble-text,var(--rmj-button-bg,#2271b1)) 18%, white);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 auto 14px;
}
.rmj-booking-widget .rmj-booking-saving-dialog h3{
  margin:0 0 12px;
  color:var(--rmj-heading,var(--rmj-text,#111827));
  font-size:clamp(24px,2vw,30px);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.rmj-booking-widget .rmj-booking-saving-text{
  margin:0 auto;
  color:var(--rmj-text,#475569);
  font-size:15px;
  line-height:1.65;
  max-width:390px;
  opacity:.85;
}
.rmj-booking-widget .rmj-booking-complete-dialog h3,
.rmj-booking-widget .rmj-multi-service-confirm-dialog h3{
  font-size:clamp(24px,2vw,30px)!important;
  line-height:1.14!important;
  letter-spacing:-.03em!important;
  white-space:nowrap;
}
.rmj-booking-widget .rmj-booking-complete-dialog{
  width:min(620px,100%);
}
.rmj-booking-widget .rmj-multi-service-confirm-dialog{
  width:min(560px,92vw);
}
@media (max-width:767px){
  .rmj-booking-widget .rmj-booking-saving-modal{padding:16px;}
  .rmj-booking-widget .rmj-booking-saving-dialog{padding:24px 18px 20px;border-radius:22px;}
  .rmj-booking-widget .rmj-booking-saving-spinner{width:48px;height:48px;margin-bottom:14px;}
  .rmj-booking-widget .rmj-booking-saving-dialog h3,
  .rmj-booking-widget .rmj-booking-complete-dialog h3,
  .rmj-booking-widget .rmj-multi-service-confirm-dialog h3{
    font-size:24px!important;
    white-space:normal;
  }
}

/* v1.0.4-beta.972: Public proposal investment editable copy + meta icon cleanup. */
.rmj-public-proposal__items-head h2:before,
.rmj-public-proposal__items-head h2:after,
.rmj-public-proposal__items-head:before,
.rmj-public-proposal__items-head:after{content:none!important;display:none!important;}
.rmj-public-proposal__items-head p{display:block!important;visibility:visible!important;}
.rmj-public-proposal__box-icon{color:#fff!important;}
.rmj-public-proposal__box-icon svg{display:block;width:18px;height:18px;color:#fff!important;fill:currentColor!important;}

/* v1.0.4-beta.978: Real editable investment heading visibility cleanup. */
.rmj-public-proposal__items-head h2{position:static!important;display:block!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;font-size:clamp(26px,2.8vw,36px)!important;line-height:1.05!important;margin:0 0 8px!important;text-align:left!important;visibility:visible!important;opacity:1!important;}
.rmj-public-proposal__items-head h2:before,.rmj-public-proposal__items-head h2:after,.rmj-public-proposal__items-head:before,.rmj-public-proposal__items-head:after{content:none!important;display:none!important;}
.rmj-public-proposal__items-head p{position:static!important;display:block!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;text-align:left!important;visibility:visible!important;opacity:1!important;}


/* v1.0.4-beta.983 final public Client/Event icon contrast */

/* v1.0.4-beta.983: final theme-aware Client/Event icon contrast cleanup. */
.rmj-public-proposal__theme--classic .rmj-public-proposal__box-icon,
.rmj-public-proposal__theme--modern .rmj-public-proposal__box-icon{
  background:linear-gradient(180deg,#ffffff 0%,#eef5fb 100%)!important;
  border-color:#cbd9e7!important;
  color:#183d63!important;
}
.rmj-public-proposal__theme--classic .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--classic .rmj-public-proposal__box-icon svg *,
.rmj-public-proposal__theme--modern .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--modern .rmj-public-proposal__box-icon svg *{
  color:#183d63!important;
  fill:#183d63!important;
  stroke:#183d63!important;
}
.rmj-public-proposal__theme--luxury .rmj-public-proposal__box-icon,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__box-icon,
.rmj-public-proposal__theme--dark .rmj-public-proposal__box-icon,
.rmj-public-proposal__theme--custom .rmj-public-proposal__box-icon{
  color:#ffffff!important;
}
.rmj-public-proposal__theme--luxury .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--luxury .rmj-public-proposal__box-icon svg *,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__box-icon svg *,
.rmj-public-proposal__theme--dark .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--dark .rmj-public-proposal__box-icon svg *,
.rmj-public-proposal__theme--custom .rmj-public-proposal__box-icon svg,
.rmj-public-proposal__theme--custom .rmj-public-proposal__box-icon svg *{
  color:#ffffff!important;
  fill:#ffffff!important;
  stroke:#ffffff!important;
}
.rmj-public-proposal__theme--luxury .rmj-public-proposal__box-icon{background:linear-gradient(135deg,#8a5a21,#d9b56d)!important;border-color:#dfc28f!important;}
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__box-icon{background:linear-gradient(135deg,#7c3aed,#ec4899)!important;border-color:#f0abfc!important;}
.rmj-public-proposal__theme--dark .rmj-public-proposal__box-icon{background:linear-gradient(135deg,#38bdf8,#6366f1)!important;border-color:#38bdf8!important;}
.rmj-public-proposal__theme--custom .rmj-public-proposal__box-icon{background:linear-gradient(135deg,var(--rmj-custom-start,#7c3aed),var(--rmj-custom-end,#ec4899))!important;border-color:var(--rmj-custom-border,#d8b4fe)!important;}


/* v1.0.4-beta.992: Entertainment readability refinement. Keep the display font, reduce forced heaviness for better legibility. */
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__cover h1,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__showcase-head h2,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__investment-title,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__items-head h2,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__summary-head span,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__item-group-title div{font-weight:500!important;letter-spacing:.5px!important;}
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__showcase-card strong{font-weight:600!important;letter-spacing:.5px!important;}

/* v1.0.4-beta.985: canonical public proposal typography layer. Font-file ready; no external loading. */
.rmj-public-proposal__theme--classic{--rmj-preset-heading-font:Georgia,"Times New Roman",Times,serif;--rmj-preset-body-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-button-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-heading-weight:800;--rmj-preset-heading-spacing:-.02em;--rmj-preset-button-spacing:.01em;--rmj-preset-button-weight:950;}
.rmj-public-proposal__theme--luxury{--rmj-preset-heading-font:"Didot","Bodoni 72","Bodoni MT",Georgia,"Times New Roman",serif;--rmj-preset-body-font:"Avenir Next",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-button-font:"Avenir Next",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-heading-weight:600;--rmj-preset-heading-spacing:.015em;--rmj-preset-button-spacing:.11em;--rmj-preset-button-weight:950;}
.rmj-public-proposal__theme--modern{--rmj-preset-heading-font:"Montserrat","Avenir Next","Segoe UI",Inter,system-ui,sans-serif;--rmj-preset-body-font:"Segoe UI",Inter,system-ui,-apple-system,sans-serif;--rmj-preset-button-font:"Montserrat","Avenir Next","Segoe UI",Inter,system-ui,sans-serif;--rmj-preset-heading-weight:900;--rmj-preset-heading-spacing:-.065em;--rmj-preset-button-spacing:.045em;--rmj-preset-button-weight:950;}
.rmj-public-proposal__theme--entertainment{--rmj-preset-heading-font:Oswald,Impact,"Arial Black",Inter,system-ui,sans-serif;--rmj-preset-body-font:"Trebuchet MS",Inter,system-ui,sans-serif;--rmj-preset-button-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-heading-weight:500;--rmj-preset-heading-spacing:.5px;--rmj-preset-button-spacing:.04em;--rmj-preset-button-weight:800;}
.rmj-public-proposal__theme--dark{--rmj-preset-heading-font:"Avenir Next Condensed","Arial Narrow","Arial Black",Inter,system-ui,sans-serif;--rmj-preset-body-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-button-font:"Avenir Next Condensed","Arial Narrow",Inter,system-ui,sans-serif;--rmj-preset-heading-weight:950;--rmj-preset-heading-spacing:.035em;--rmj-preset-button-spacing:.075em;--rmj-preset-button-weight:950;}
.rmj-public-proposal__theme--custom{--rmj-preset-heading-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-body-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-button-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--rmj-preset-heading-weight:950;--rmj-preset-heading-spacing:-.035em;--rmj-preset-button-spacing:.02em;--rmj-preset-button-weight:950;}
.rmj-public-proposal__theme--classic,.rmj-public-proposal__theme--luxury,.rmj-public-proposal__theme--modern,.rmj-public-proposal__theme--entertainment,.rmj-public-proposal__theme--dark,.rmj-public-proposal__theme--custom{font-family:var(--rmj-preset-body-font)!important;}
.rmj-public-proposal__theme--classic .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--classic .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--classic .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--classic .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--classic .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--classic .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--classic .rmj-public-proposal__item-group-title div,
.rmj-public-proposal__theme--luxury .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--luxury .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--luxury .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--luxury .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--luxury .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--luxury .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--luxury .rmj-public-proposal__item-group-title div,
.rmj-public-proposal__theme--modern .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--modern .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--modern .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--modern .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--modern .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--modern .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--modern .rmj-public-proposal__item-group-title div,
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__item-group-title div,
.rmj-public-proposal__theme--dark .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--dark .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--dark .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--dark .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--dark .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--dark .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--dark .rmj-public-proposal__item-group-title div,
.rmj-public-proposal__theme--custom .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--custom .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--custom .rmj-public-proposal__showcase-card strong,.rmj-public-proposal__theme--custom .rmj-public-proposal__investment-title,.rmj-public-proposal__theme--custom .rmj-public-proposal__items-head h2,.rmj-public-proposal__theme--custom .rmj-public-proposal__summary-head span,.rmj-public-proposal__theme--custom .rmj-public-proposal__item-group-title div{font-family:var(--rmj-preset-heading-font)!important;font-weight:var(--rmj-preset-heading-weight)!important;letter-spacing:var(--rmj-preset-heading-spacing)!important;}
.rmj-public-proposal__theme--luxury .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--luxury .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--luxury .rmj-public-proposal__investment-title{text-transform:none!important;}
.rmj-public-proposal__theme--modern .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--modern .rmj-public-proposal__summary-head span{text-transform:uppercase!important;}
.rmj-public-proposal__theme--entertainment .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__investment-title{text-transform:uppercase!important;}
.rmj-public-proposal__theme--dark .rmj-public-proposal__cover h1,.rmj-public-proposal__theme--dark .rmj-public-proposal__showcase-head h2,.rmj-public-proposal__theme--dark .rmj-public-proposal__investment-title{text-transform:uppercase!important;}
.rmj-public-proposal__theme--classic button,.rmj-public-proposal__theme--classic .rmj-public-proposal__cover-button,
.rmj-public-proposal__theme--luxury button,.rmj-public-proposal__theme--luxury .rmj-public-proposal__cover-button,
.rmj-public-proposal__theme--modern button,.rmj-public-proposal__theme--modern .rmj-public-proposal__cover-button,
.rmj-public-proposal__theme--entertainment button,.rmj-public-proposal__theme--entertainment .rmj-public-proposal__cover-button,
.rmj-public-proposal__theme--dark button,.rmj-public-proposal__theme--dark .rmj-public-proposal__cover-button,
.rmj-public-proposal__theme--custom button,.rmj-public-proposal__theme--custom .rmj-public-proposal__cover-button{font-family:var(--rmj-preset-button-font)!important;font-weight:var(--rmj-preset-button-weight,950)!important;letter-spacing:var(--rmj-preset-button-spacing)!important;text-transform:uppercase!important;}


/* v1.0.4-beta.998: Proposal payment amount cards fill available left column. */
.rmj-public-proposal__payment-left .rmj-public-proposal__amount-options{width:100%!important;max-width:none!important;justify-self:stretch!important;}
.rmj-public-proposal__payment-left .rmj-public-proposal__amount-option,
.rmj-public-proposal__payment-left .rmj-public-proposal__amount-card{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
.rmj-public-proposal__payment .rmj-public-proposal__pay-options{align-content:start!important;}
@media(max-width:900px){.rmj-public-proposal__payment-left .rmj-public-proposal__amount-options{max-width:none!important;}}

/* v1.0.4-beta.1164: Contact Form Widget colors now rely on Elementor selectors for live preview; base CSS keeps CSS-variable defaults only. */


/* v1.0.4-beta.1202 Frontend widget field isolation
   Keep booking/portal form fields from inheriting Elementor/site theme input colors. */
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-box .rmj-coupon-row input,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-box .rmj-coupon-row input[type="text"],
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-input,
.rmj-portal-wrap .rmj-portal-field input,
.rmj-portal-wrap .rmj-portal-field input[type="text"],
.rmj-portal-wrap .rmj-portal-field input[type="email"],
.rmj-client-portal .rmj-portal-field input,
.rmj-client-portal .rmj-portal-field input[type="text"],
.rmj-client-portal .rmj-portal-field input[type="email"],
.rmj-booking-portal-wrap .rmj-portal-field input,
.rmj-booking-portal-wrap .rmj-portal-field input[type="text"],
.rmj-booking-portal-wrap .rmj-portal-field input[type="email"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:52px !important;
  height:52px !important;
  box-sizing:border-box !important;
  padding:0 16px !important;
  border:1px solid var(--rmj-field-border,#d5deeb) !important;
  border-radius:16px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:var(--rmj-text,#111827) !important;
  caret-color:var(--rmj-text,#111827) !important;
  box-shadow:none !important;
  outline:none !important;
  text-align:left !important;
  text-indent:0 !important;
  font:inherit !important;
  line-height:52px !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-box .rmj-coupon-row input::placeholder,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-input::placeholder,
.rmj-portal-wrap .rmj-portal-field input::placeholder,
.rmj-client-portal .rmj-portal-field input::placeholder,
.rmj-booking-portal-wrap .rmj-portal-field input::placeholder{
  color:var(--rmj-muted,#6b7280) !important;
  opacity:1 !important;
  text-align:left !important;
}
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-box .rmj-coupon-row input:focus,
.rmj-booking-widget:not(.rmj-booking-widget--unstyled) .rmj-coupon-input:focus,
.rmj-portal-wrap .rmj-portal-field input:focus,
.rmj-client-portal .rmj-portal-field input:focus,
.rmj-booking-portal-wrap .rmj-portal-field input:focus{
  border-color:var(--rmj-primary,#2563eb) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
  background:#ffffff !important;
  color:var(--rmj-text,#111827) !important;
}
.rmj-portal-wrap .rmj-portal-field label,
.rmj-client-portal .rmj-portal-field label,
.rmj-booking-portal-wrap .rmj-portal-field label{
  color:var(--rmj-heading,#111827) !important;
}


/* v1.0.4-beta.1202: Direct client portal lookup form isolation.
   The lookup shortcode renders .rmj-portal-wrap directly, so it must be covered independently from .rmj-client-portal. */
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_booking_number,
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_customer_email{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:52px !important;
  height:52px !important;
  box-sizing:border-box !important;
  padding:0 16px !important;
  border:1px solid var(--rmj-field-border,#d5deeb) !important;
  border-radius:16px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:var(--rmj-text,#111827) !important;
  caret-color:var(--rmj-text,#111827) !important;
  box-shadow:none !important;
  outline:none !important;
  text-align:left !important;
  text-indent:0 !important;
  font:inherit !important;
  line-height:52px !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_booking_number::placeholder,
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_customer_email::placeholder{
  color:var(--rmj-muted,#6b7280) !important;
  opacity:1 !important;
}
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_booking_number:focus,
.rmj-portal-wrap .rmj-portal-lookup .rmj-portal-field input#rmj_portal_customer_email:focus{
  border-color:var(--rmj-primary,#2563eb) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
  background:#ffffff !important;
  color:var(--rmj-text,#111827) !important;
}
