/* Rose's Table — public specials popup + menus section.
   External file: the site's CSP blocks inline <style>. */
/* Inherits --black / --white / --copper / --light / --mid from the site. */
.rt-pub { padding: 5rem 1.5rem; position: relative;
          border-top: 1px solid rgba(255,255,255,.05); }
.rt-pub-alt { background: rgba(255,255,255,.015); }
.rt-pub-inner { max-width: 1200px; margin: 0 auto; }
.rt-pub-eyebrow { font-size: .5rem; font-weight: 300; letter-spacing: .3em;
                  text-transform: uppercase; color: var(--copper); }
.rt-pub-heading { font-family: 'Bodoni Moda', serif; font-size: 2.2rem; font-weight: 400;
                  line-height: 1.1; color: var(--white); margin: .8rem 0 2.6rem; }
.rt-pub-heading em { font-style: italic; color: var(--copper); }

.rt-pub-menus { display: flex; flex-wrap: wrap; gap: .9rem; align-items: flex-start; }
.rt-menu-link { display: inline-flex; align-items: center; gap: .6rem;
                font-family: 'Libre Franklin', sans-serif; font-size: .6rem; font-weight: 400;
                letter-spacing: .2em; text-transform: uppercase;
                padding: 1rem 2rem; border: 1px solid rgba(255,255,255,.15);
                color: var(--white); text-decoration: none; transition: all .3s ease; }
.rt-menu-link:hover { border-color: var(--copper); color: var(--copper); transform: translateY(-2px); }
.rt-menu-link span { font-size: .48rem; color: var(--mid); letter-spacing: .12em; }

.rt-menu-figure { margin: 0; flex: 1 1 280px; max-width: 440px; }
.rt-menu-figure img { width: 100%; display: block; border: 1px solid rgba(255,255,255,.07); }
.rt-menu-figure figcaption { font-size: .5rem; letter-spacing: .2em; text-transform: uppercase;
                             color: var(--mid); margin-top: .7rem; }

/* Fixed header, so anchor targets need clearance. */
#menu, #reservations, #events, #contact, #rt-menus { scroll-margin-top: 5rem; }

/* ── Specials popup (bottom-left; chat widget sits bottom-right) ── */
.rt-pop { position: fixed; left: 1.25rem; z-index: 200;
          bottom: calc(1.25rem + var(--sb, 0px));
          width: min(320px, calc(100vw - 2.5rem));
          background: rgba(19,18,16,.97);
          backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
          border: 1px solid rgba(181,112,58,.35);
          padding: 1.1rem 1.2rem 1rem;
          box-shadow: 0 18px 50px rgba(0,0,0,.55);
          opacity: 0; transform: translateY(16px);
          transition: opacity .6s ease, transform .6s ease; }
.rt-pop.in { opacity: 1; transform: none; }
.rt-pop-x { position: absolute; top: .4rem; right: .5rem; background: transparent;
            border: none; color: var(--mid); font-size: 1.1rem; line-height: 1;
            cursor: pointer; padding: .2rem .35rem; transition: color .25s; }
.rt-pop-x:hover { color: var(--copper); }
.rt-pop-eyebrow { font-size: .45rem; letter-spacing: .3em; text-transform: uppercase;
                  color: var(--copper); margin-bottom: .6rem; }
.rt-pop-img { width: 100%; aspect-ratio: 16/9; object-fit: cover;
              display: block; margin-bottom: .7rem; }
.rt-pop-title { font-family: 'Bodoni Moda', serif; font-size: 1.05rem; font-weight: 400;
                color: var(--white); line-height: 1.25; margin-bottom: .35rem; padding-right: 1rem; }
.rt-pop-desc { font-size: .68rem; font-weight: 300; line-height: 1.6;
               color: var(--light); margin-bottom: .5rem; }
.rt-pop-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.rt-pop-price { font-family: 'Bodoni Moda', serif; font-size: .95rem; color: var(--copper); }
.rt-pop-until { font-size: .45rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mid); }
.rt-pop-dots { display: flex; gap: .35rem; margin-top: .75rem; }
.rt-pop-dot { width: 15px; height: 2px; background: rgba(255,255,255,.18);
              border: none; padding: 0; cursor: pointer; transition: background .3s; }
.rt-pop-dot.on { background: var(--copper); }

@media (min-width: 1024px) {
    .rt-pub { padding: 6rem 3rem; }
    .rt-pub-heading { font-size: 3rem; }
}
@media (max-width: 640px) {
    .rt-menu-link { width: 100%; justify-content: center; }
    /* keep clear of the chat bubble */
    .rt-pop { left: 1rem; bottom: calc(1rem + var(--sb, 0px)); width: calc(100vw - 6rem); }
}