.rr-detail-section{grid-template-columns:minmax(0,1fr) 470px}
.rr-booking-panel:has(.rr-checkout-form){position:static}
.rr-checkout-top{background:#3A0F34;color:#fff;padding:23px 25px}
.rr-checkout-top h2{font:700 27px/1.2 'Playfair Display',Georgia,serif;color:#fff;margin:6px 0 10px}
.rr-checkout-top .rr-kicker{color:#EAAA00}.rr-checkout-rating{display:flex;gap:10px;align-items:center;font-size:12px;color:#F0E7F0}.rr-checkout-rating span:first-child{color:#EAAA00;font-weight:800}
.rr-checkout-current-price{display:flex;align-items:baseline;gap:5px;margin-top:16px}.rr-checkout-current-price strong{font:800 32px Inter,system-ui,sans-serif}.rr-checkout-current-price span{font-size:14px;color:#F0E7F0}.rr-checkout-top p{color:#F0E7F0;font-size:12px;margin:5px 0 0}.rr-checkout-top p strong{color:#fff;font:800 12px Inter,system-ui,sans-serif}
.rr-checkout-form{gap:18px}.rr-checkout-section{display:grid;gap:13px;border:1px solid #E5DBE3;border-radius:13px;background:#F8F6F9;padding:17px}.rr-checkout-section h3{font:800 15px Inter,system-ui,sans-serif;color:#3A0F34;margin:0}.rr-checkout-form label{font-size:12px;color:#3A0F34}.rr-checkout-form label>span{color:#B91C1C}.rr-checkout-form input,.rr-checkout-form textarea,.rr-checkout-form select{width:100%;min-width:0;border:1px solid #8B7A8A;border-radius:9px;background:#fff;padding:11px 12px;color:#3A0F34;font:500 13px Inter,system-ui,sans-serif}.rr-checkout-form input:focus,.rr-checkout-form textarea:focus,.rr-checkout-form select:focus{outline:2px solid #EAAA00;outline-offset:1px}.rr-checkout-form .rr-form-two{gap:11px}.rr-checkout-hub-note{display:flex;align-items:center;gap:5px;color:#5F5060;font-size:11px;line-height:1.4;margin:-5px 0 1px}.rr-checkout-hub-note svg{width:14px;height:14px;flex:none;color:#3A0F34}
.rr-checkout-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rr-checkout-rate-card{display:grid;gap:5px;padding:11px;border:1px solid #E5DBE3;border-radius:9px;background:#fff}.rr-checkout-rate-card span{font-size:10px;font-weight:700;color:#5F5060;text-transform:uppercase}.rr-checkout-rate-card strong{font-size:13px;font-weight:800;color:#3A0F34}.rr-checkout-rate-card.is-active{border-color:#EAAA00;background:#FFF4D6;box-shadow:0 0 0 1px #EAAA00}.rr-checkout-rate-card.is-active span{color:#3A0F34}
.rr-checkout-summary{display:grid;gap:11px;padding:18px;border:1px solid #E5DBE3;border-radius:13px;background:#F0E7F0}.rr-checkout-summary>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px}.rr-checkout-summary span{color:#5F5060}.rr-checkout-summary strong{color:#3A0F34;text-align:right}.rr-checkout-summary #rr-booking-tier{color:#3A0F34}.rr-checkout-summary .rr-checkout-total{border-top:1px solid #D8C8D4;padding-top:12px;font-size:14px}.rr-checkout-summary .rr-checkout-total strong{font-size:22px}.rr-checkout-submit{min-height:49px;font-size:15px}.rr-checkout-form .rr-form-error:not([hidden]){padding:12px;border-radius:9px;background:#FEF2F2;border:1px solid #FECACA}
@media(max-width:1100px){.rr-detail-section{grid-template-columns:minmax(0,1fr) 420px;gap:20px}}
@media(max-width:760px){.rr-detail-section{grid-template-columns:1fr}.rr-checkout-top{padding:20px}.rr-checkout-form{padding:20px}.rr-checkout-section{padding:14px}}
@media(max-width:420px){.rr-checkout-form .rr-form-two{grid-template-columns:1fr}.rr-checkout-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-checkout-form{padding:15px}.rr-checkout-top h2{font-size:24px}}
.rr-checkout-help{margin:-5px 0 1px;color:#5F5060;font-size:11px;line-height:1.5}.rr-checkout-date-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rr-checkout-date-actions button{display:flex;align-items:center;gap:9px;min-width:0;min-height:67px;padding:10px;border:1px solid #8B7A8A;border-radius:10px;background:#fff;color:#3A0F34;text-align:left;cursor:pointer}.rr-checkout-date-actions button:hover,.rr-checkout-date-actions button:focus-visible{border-color:#3A0F34;outline:2px solid #F0E7F0}.rr-checkout-date-actions svg{width:20px;height:20px;flex:none;color:#3A0F34}.rr-checkout-date-actions button>span{display:grid;min-width:0;gap:3px}.rr-checkout-date-actions small{color:#5F5060;font-size:9px;font-weight:800;letter-spacing:.03em}.rr-checkout-date-actions strong{font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.rr-pickup-section{min-width:0}.rr-pickup-section legend{padding:0 5px;color:#3A0F34;font-size:15px;font-weight:800}.rr-pickup-section legend span{color:#B91C1C}.rr-location-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rr-location-choice{position:relative;min-width:0;cursor:pointer}.rr-location-choice:last-child{grid-column:1/-1}.rr-location-choice input{position:absolute;left:12px;top:12px;width:1px;height:1px;opacity:0}.rr-location-card-content{display:flex;align-items:center;gap:11px;min-height:78px;width:100%;padding:13px;border:1px solid #E5DBE3;border-radius:10px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}.rr-location-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:7px;background:#F0E7F0;color:#3A0F34}.rr-location-icon svg{width:17px;height:17px}.rr-location-card-content strong,.rr-location-card-content small{display:block}.rr-location-card-content strong{font-size:12px;color:#3A0F34}.rr-location-card-content small{margin-top:3px;font-size:10px;font-weight:500;line-height:1.35;color:#5F5060}.rr-location-choice:hover .rr-location-card-content{border-color:#8B7A8A}.rr-location-choice input:checked+.rr-location-card-content{border-color:#EAAA00;background:#FFF4D6;box-shadow:0 0 0 1px #EAAA00}.rr-location-choice input:focus-visible+.rr-location-card-content{outline:2px solid #3A0F34;outline-offset:2px}.rr-delivery-fields{display:grid;gap:11px;padding:14px;border-radius:10px;background:#fff;border:1px solid #E5DBE3}.rr-delivery-fields[hidden]{display:none}.rr-delivery-fields p{font-size:10px;line-height:1.4;color:#5F5060;margin:0}
@media(max-width:420px){.rr-checkout-date-actions,.rr-location-options{grid-template-columns:1fr}.rr-location-choice:last-child{grid-column:auto}.rr-location-card-content{min-height:65px}}
.rr-checkout-summary .rr-tax-split{justify-content:flex-start;font-size:11px}.rr-checkout-summary .rr-tax-split strong{font-size:11px}

/* ── Sticky Mobile Checkout Dock (User Reference Image 1) ── */
.rr-mobile-checkout-bar {
  display: none;
}

@media (max-width: 768px) {
  body:has(.rr-mobile-checkout-bar) {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .rr-mobile-checkout-bar {
    display: block !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 70px !important;
    background: #ffffff !important;
    border-top: 1.5px solid #E5DBE3 !important;
    box-shadow: 0 -4px 20px rgba(58, 15, 52, 0.12) !important;
    z-index: 9999 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    box-sizing: border-box !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }
  .rr-mobile-checkout-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 100% !important;
    padding: 0 16px !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    gap: 12px !important;
  }
  .rr-mobile-total-block {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
  }
  .rr-mobile-total-label {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
  }
  .rr-mobile-total-amount {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #141B2B !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }
  .rr-mobile-pay-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 48px !important;
    padding: 0 22px !important;
    border-radius: 9999px !important;
    background: #EAAA00 !important;
    border: none !important;
    color: #3A0F34 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 14px rgba(234, 170, 0, 0.38) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    flex-shrink: 0 !important;
  }
  .rr-mobile-pay-btn strong {
    font-weight: 800 !important;
    color: #3A0F34 !important;
  }
  .rr-mobile-pay-btn svg {
    width: 17px !important;
    height: 17px !important;
    color: #3A0F34 !important;
    flex-shrink: 0 !important;
    transition: transform 0.15s ease !important;
  }
  .rr-mobile-pay-btn:hover:not(:disabled) {
    background: #D89B00 !important;
    transform: translateY(-1px) !important;
  }
  .rr-mobile-pay-btn:hover:not(:disabled) svg {
    transform: translateX(3px) !important;
  }
  .rr-mobile-pay-btn:active:not(:disabled) {
    transform: scale(0.97) !important;
  }
  .rr-mobile-pay-btn:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
  }
}

