/* Roy's Menu — front-end (scoped under .rmenu) */
.rmenu{
	--rmenu-bg:#1b1510;
	--rmenu-card:#221a13;
	--rmenu-text:#ebe1d2;
	--rmenu-muted:#a89783;
	--rmenu-gold:#e2a53d;
	--rmenu-gold-soft:#eec684;
	--rmenu-line:rgba(244,236,221,.10);
	background:var(--rmenu-bg);
	color:var(--rmenu-text);
	padding:104px 0;
	border-top:1px solid var(--rmenu-line);
	border-bottom:1px solid var(--rmenu-line);
	font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	box-sizing:border-box;
}
.rmenu *,.rmenu *::before,.rmenu *::after{box-sizing:border-box}

/* header */
.rmenu-head{max-width:720px;margin:0 auto;text-align:center;padding:0 24px}
.rmenu-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--rmenu-gold);margin-bottom:16px}
.rmenu-eyebrow::before,.rmenu-eyebrow::after{content:"";width:26px;height:1px;background:var(--rmenu-gold);opacity:.7}
.rmenu-title{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.01em;margin:0}
.rmenu-sub{color:var(--rmenu-muted);margin:16px 0 0;font-size:1.04rem;line-height:1.6}

/* pill nav */
.rmenu-nav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
	max-width:1120px;margin:40px auto 0;padding:16px;
	background:rgba(20,15,11,.9);backdrop-filter:blur(10px);border-radius:14px}
.rmenu-pill{font-family:inherit;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
	color:var(--rmenu-muted);background:transparent;border:1px solid var(--rmenu-line);border-radius:50px;
	padding:9px 18px;cursor:pointer;transition:.25s;line-height:1}
.rmenu-pill:hover{color:#fff;border-color:rgba(244,236,221,.3)}
.rmenu-pill.is-active{background:var(--rmenu-gold);color:#1a130c;border-color:var(--rmenu-gold)}

/* categories */
.rmenu-cats{max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,28px)}
.rmenu-cat{background:var(--rmenu-card);border:1px solid var(--rmenu-line);border-radius:18px;
	padding:clamp(26px,4vw,46px);margin-top:24px;scroll-margin-top:90px}
.rmenu-cat:first-child{margin-top:40px}
.rmenu-cat-head{text-align:center;margin-bottom:24px}
.rmenu-cat-title{font-family:'Fraunces',Georgia,serif;font-weight:600;color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin:0;line-height:1.1}
.rmenu-fl{display:block;width:56px;height:2px;background:var(--rmenu-gold);opacity:.85;margin:14px auto 0}
.rmenu-cat-desc{color:var(--rmenu-muted);margin:14px auto 0;font-size:.95rem;max-width:580px}

/* info / substitute bar */
.rmenu-note-bar{max-width:820px;margin:0 auto 26px;text-align:center;font-size:.82rem;line-height:1.5;
	color:var(--rmenu-muted);background:rgba(226,165,61,.08);border:1px solid rgba(226,165,61,.2);
	border-radius:10px;padding:11px 18px}

/* items */
.rmenu-list{display:grid;grid-template-columns:1fr;gap:6px 56px}
.rmenu--twocol .rmenu-list{grid-template-columns:1fr 1fr}
.rmenu-item{padding:10px 0}
.rmenu-item-row{display:flex;align-items:baseline;gap:10px}
.rmenu-name{font-weight:600;color:#fff;font-size:1.04rem}
.rmenu-tag{display:inline-block;vertical-align:middle;margin-left:8px;font-size:.56rem;font-weight:700;letter-spacing:.1em;
	text-transform:uppercase;color:#1a130c;background:var(--rmenu-gold);padding:3px 9px;border-radius:50px;line-height:1.2}
.rmenu-leader{flex:1;border-bottom:1px dotted rgba(168,151,132,.45);transform:translateY(-4px)}
.rmenu--noleaders .rmenu-leader{border-bottom:0}
.rmenu-price{font-weight:700;color:var(--rmenu-gold-soft);font-size:1rem;white-space:nowrap}
.rmenu-desc{display:block;font-size:.85rem;color:var(--rmenu-muted);margin-top:4px;line-height:1.55}
.rmenu-variants{margin-top:8px}
.rmenu-var{display:flex;align-items:baseline;gap:10px;padding:3px 0}
.rmenu-var-label{color:var(--rmenu-text);opacity:.9;font-weight:500;font-size:.96rem}
.rmenu-var .rmenu-price{font-size:.95rem}

.rmenu-note{max-width:1120px;margin:46px auto 0;text-align:center;color:var(--rmenu-muted);font-size:.9rem;padding:0 24px}

/* ============ STYLE: LIGHT CLASSIC ============ */
.rmenu--style-light{
	--rmenu-card:#ffffff;
	--rmenu-text:#2c2118;
	--rmenu-muted:#8a7c6c;
	--rmenu-line:rgba(40,30,20,.10);
	color:#2c2118;
	background:linear-gradient(#fdfaf4,#f5eee2);
}
.rmenu--style-light .rmenu-title,
.rmenu--style-light .rmenu-cat-title{color:var(--rmenu-gold)}
.rmenu--style-light .rmenu-name{color:#241a12}
.rmenu--style-light .rmenu-cat{box-shadow:0 14px 36px -26px rgba(90,55,20,.5)}
.rmenu--style-light .rmenu-leader{border-bottom-color:rgba(140,120,100,.45)}
.rmenu--style-light .rmenu-price{color:var(--rmenu-gold)}
.rmenu--style-light .rmenu-var-label{color:#3a2c1f}
.rmenu--style-light .rmenu-tag{color:#fff}
.rmenu--style-light .rmenu-note-bar{background:rgba(194,54,43,.06);border-color:rgba(194,54,43,.18);color:#94501f}
.rmenu--style-light .rmenu-nav{background:rgba(253,250,244,.92)}
.rmenu--style-light .rmenu-pill{color:#7a6c5d;border-color:rgba(40,30,20,.16)}
.rmenu--style-light .rmenu-pill:hover{color:#241a12;border-color:rgba(40,30,20,.32)}

/* ============ STYLE: MINIMAL LINES ============ */
.rmenu--style-minimal .rmenu-cats{max-width:920px}
.rmenu--style-minimal .rmenu-cat{background:transparent;border:0;padding:14px 0 0}
.rmenu--style-minimal .rmenu-cat:first-child{margin-top:30px}
.rmenu--style-minimal .rmenu-cat-head{text-align:left;border-bottom:1px solid var(--rmenu-line);padding-bottom:14px}
.rmenu--style-minimal .rmenu-fl{margin-left:0}
.rmenu--style-minimal .rmenu-cat-desc{margin-left:0}
.rmenu--style-minimal .rmenu-item{border-bottom:1px solid var(--rmenu-line);padding:14px 0}

/* ============ STYLE: COMPACT GRID ============ */
.rmenu--style-grid .rmenu-list{grid-template-columns:repeat(3,1fr);gap:14px}
.rmenu--style-grid .rmenu-item{background:var(--rmenu-bg);border:1px solid var(--rmenu-line);border-radius:12px;padding:18px}
.rmenu--style-grid .rmenu-item-row{justify-content:space-between}
.rmenu--style-grid .rmenu-leader{display:none}
@media(max-width:900px){.rmenu--style-grid .rmenu-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rmenu--style-grid .rmenu-list{grid-template-columns:1fr}}

/* responsive */
@media(max-width:760px){
	.rmenu{padding:72px 0}
	.rmenu--twocol .rmenu-list{grid-template-columns:1fr;gap:2px 0}
	.rmenu-nav{top:0;border-radius:0;margin-top:30px}
}
