/* RC01 Common Owner Hardening 02 — Mobile Reservation CTA
   One CSS owner for the shared lower-page fixed reservation CTA.
   Page bundles retain only page-layout reactions (body/index offsets). */

.mobile-reserve-cta{display:none}

@media(max-width:1040px){
  .mobile-reserve-cta{
    position:fixed!important;
    z-index:125!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    display:block!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,12px,0)!important;
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
  }

  body.mobile-cta-visible .mobile-reserve-cta{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  body.menu-open .mobile-reserve-cta{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .mobile-reserve-cta>a{
    display:grid!important;
    grid-template-columns:25px 1fr 20px!important;
    gap:13px!important;
    align-items:center!important;
    min-height:62px!important;
    padding:10px 17px!important;
    border-radius:4px!important;
    background:rgba(72,45,18,.96)!important;
    color:#fffdf8!important;
    box-shadow:0 15px 42px rgba(35,22,12,.25)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
  }

  .mobile-cta-icon{
    display:block!important;
    width:20px!important;
    height:20px!important;
    color:var(--lemon)!important;
  }

  .mobile-cta-copy{
    display:grid!important;
    gap:2px!important;
    min-width:0;
  }

  .mobile-cta-copy small{
    display:block!important;
    font-size:var(--fab-font-minimum)!important;
    line-height:1.3!important;
    letter-spacing:.19em!important;
    color:#d9c89d!important;
  }

  .mobile-cta-copy b{
    display:block!important;
    font:500 13px/1.55 var(--serif)!important;
    letter-spacing:.065em!important;
    white-space:nowrap;
  }

  .mobile-cta-arrow{
    display:block!important;
    justify-self:end!important;
    font-size:15px!important;
  }
}
