/* RPMX visual component contract: Live Menu + Services.
   The existing catalog, orders, ads and promotion inventory own behavior. */
:root{
 --rpmx-commercial-ink:#162236;
 --rpmx-commercial-muted:#647184;
 --rpmx-commercial-red:#b32e32;
 --rpmx-commercial-line:#e5dfd7;
 --rpmx-commercial-paper:#fff;
 --rpmx-commercial-radius:18px;
}
/* Listing: connected menu is an ordinary editorial module, not a disconnected widget. */
body.rpmx-listing-v2 .rpmx-live-menu-section{
 padding:22px!important;border:1px solid var(--rpmx-commercial-line)!important;
 border-radius:22px!important;background:var(--rpmx-commercial-paper)!important;
 box-shadow:0 10px 24px rgba(22,34,54,.035)!important;
 overflow:hidden!important;min-width:0;
}
body.rpmx-listing-v2 .rpmx-live-menu-section .rpmx-menu-head{
 display:flex;align-items:center;justify-content:space-between;
 flex-wrap:wrap;gap:10px 18px;margin-bottom:16px;
}
body.rpmx-listing-v2 .rpmx-menu-head__intro{min-width:0;display:grid;gap:5px}
body.rpmx-listing-v2 .rpmx-menu-head__intro .rpmx-eyebrow{margin:0;color:var(--rpmx-commercial-red)}
body.rpmx-listing-v2 .rpmx-menu-head__intro h2{margin:0;line-height:1.08;letter-spacing:-.035em;font-size:clamp(21px,2.7vw,28px);color:var(--rpmx-commercial-ink)}
body.rpmx-listing-v2 .rpmx-menu-head__intro .rpmx-menu-count{margin:1px 0 0;color:var(--rpmx-commercial-muted);font-size:12px;font-weight:650;line-height:1.4}
body.rpmx-listing-v2 .rpmx-menu-head__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-left:auto}
body.rpmx-listing-v2 .rpmx-menu-head__actions .rpmx-status{flex:none;margin:0}
body.rpmx-listing-v2 .rpmx-menu-nav{display:flex;gap:6px}
body.rpmx-listing-v2 .rpmx-menu-nav button{
 width:38px;height:38px;display:grid;place-items:center;padding:0;
 background:#fff;border:1px solid #e5dfd7;border-radius:100%;
 color:var(--rpmx-commercial-ink);font:750 23px/1 system-ui,sans-serif;cursor:pointer;
}
body.rpmx-listing-v2 .rpmx-menu-nav button:hover:not(:disabled){background:#f6f3ee;border-color:#bdafa3}
body.rpmx-listing-v2 .rpmx-menu-nav button:disabled{opacity:.32;cursor:default}
body.rpmx-listing-v2 .rpmx-menu-nav button:focus-visible{outline:2px solid #1c7284;outline-offset:2px}
body.rpmx-listing-v2 .rpmx-menu-live[data-rpmx-menu-track]{
 display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;
 grid-auto-columns:clamp(185px,36%,250px)!important;gap:12px!important;
 overflow-x:auto!important;overscroll-behavior-inline:contain;
 scroll-snap-type:x mandatory;scrollbar-width:none!important;
 padding:0 1px 3px!important;scroll-padding-inline:1px;max-width:100%;min-width:0;
}
body.rpmx-listing-v2 .rpmx-menu-live[data-rpmx-menu-track]::-webkit-scrollbar{display:none}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-product-card{
 display:flex;flex-direction:column;min-width:0;
 border:1px solid var(--rpmx-commercial-line)!important;border-radius:17px!important;
 background:#fff!important;overflow:hidden;scroll-snap-align:start;
 box-shadow:0 3px 9px rgba(22,34,54,.025);
}
body.rpmx-listing-v2 .rpmx-menu-product-card__media{
 position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;
 background:#f2f0ec;border-bottom:1px solid #eee8e1;
}
body.rpmx-listing-v2 .rpmx-menu-product-card__media img{
 display:block!important;width:100%!important;height:100%!important;
 aspect-ratio:auto!important;object-fit:cover!important;object-position:center;
}
body.rpmx-listing-v2 .rpmx-menu-product-card__placeholder{
 width:100%;height:100%;display:grid;place-items:center;
 font-size:36px;color:#b9a69d;background:linear-gradient(145deg,#f9f2ed,#e8edf0);
}
body.rpmx-listing-v2 .rpmx-menu-product-card__unavailable{
 position:absolute;top:9px;left:9px;
 padding:5px 8px;border-radius:999px;
 background:rgba(22,34,54,.90);color:#fff;font-weight:800;font-size:10px;
}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-live__body{
 display:flex;flex-direction:column;align-items:flex-start;flex:1;
 gap:9px;padding:13px 14px 15px!important;
}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-live__body strong{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
 overflow:hidden;max-height:39px;margin:0;
 font-size:14px;line-height:1.35;letter-spacing:-.014em;color:var(--rpmx-commercial-ink);
 text-transform:none;
}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-live__body .rpmx-price{
 display:block;margin:auto 0 0!important;
 font-size:17px;font-weight:850;color:var(--rpmx-commercial-red);
}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-live__body small{color:var(--rpmx-commercial-muted);font-size:11px}
body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-add{width:100%;margin-top:5px;border-radius:11px}
body.rpmx-listing-v2 .rpmx-menu-progress{
 display:block;position:relative;height:4px;background:#f0eeeb;
 border-radius:999px;overflow:hidden;margin:12px 0 0;
}
body.rpmx-listing-v2 .rpmx-menu-progress>span{
 display:block;height:100%;width:20%;border-radius:999px;background:#a1a8af;
 transform-origin:left center;transition:transform .14s ease,width .14s ease;
}
body.rpmx-listing-v2 .rpmx-menu-list-note{margin:8px 0 0;color:#697588;font-size:11px}
/* Shared service card language: same light identity in Home and listing.
   Home keeps its horizontal ticket variant; listing uses vertical variant. */
body.rpmx-listing-v2 .rpmx-services,
body.rpmx-front-page #rpmx-home-services{--service-edge:#e5dfd7;--service-ink:#162236}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified{
 display:flex;flex-direction:column;padding:0!important;
 min-height:275px;height:100%;min-width:0;
 border:1px solid var(--service-edge)!important;
 background:#fff!important;color:var(--service-ink)!important;
 border-radius:18px!important;
 box-shadow:0 4px 16px rgba(22,34,54,.05)!important;
 overflow:hidden;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified.is-promoted{
 border-color:#d9a6a0!important;box-shadow:0 0 0 1px rgba(179,46,50,.12)!important;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__media{
 aspect-ratio:16/9;overflow:hidden;background:#f8f4f0;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__media img{
 width:100%;height:100%;object-fit:cover;display:block;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__body{
 display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:17px 17px 18px;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__eyebrow{
 font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#b32e32;
 margin:0 0 7px;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified h3{
 margin:0 0 8px;font-weight:850;font-size:16px;line-height:1.27;
 letter-spacing:-.02em;color:var(--service-ink)!important;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified h3 a{color:inherit;text-decoration:none}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified h3 a:hover{text-decoration:underline}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified p{
 margin:0 0 16px;color:#626a73!important;font-size:12.5px;line-height:1.5;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__cta{
 display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
 width:100%;box-sizing:border-box;margin:auto 0 0;padding:10px 12px;
 border-radius:12px;background:#162236!important;color:#fff!important;
 text-decoration:none;font-size:12px;font-weight:800;min-height:39px;
}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified .rpmx-service-card__cta:hover{background:#2a4363!important}
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card__promotion{
 display:inline-flex;align-self:flex-start;margin:0 0 9px;
 background:#fff0ed;border:1px solid #f0cbc5;border-radius:999px;
 color:#9b302d;font-size:10px;font-weight:800;letter-spacing:.02em;padding:5px 8px;
}
body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified{
 border-color:#e5dfd7!important;background:#fff!important;color:#162236!important;
 box-shadow:0 8px 20px rgba(22,34,54,.055)!important;
}
body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified .rpmx-service-card__content strong{color:#162236!important}
body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified .rpmx-service-card__content small{color:#647184!important}
body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified .rpmx-service-card__cta{
 background:#162236!important;color:#fff!important;
}
body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified:focus-visible,
body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified a:focus-visible{outline:3px solid #39869a;outline-offset:2px}
@media(max-width:767px){
 body.rpmx-listing-v2 .rpmx-live-menu-section{padding:17px 15px!important;border-radius:18px!important}
 body.rpmx-listing-v2 .rpmx-menu-head__intro h2{font-size:23px}
 body.rpmx-listing-v2 .rpmx-menu-head__actions{margin-left:0;justify-content:space-between;width:100%}
 body.rpmx-listing-v2 .rpmx-menu-live[data-rpmx-menu-track]{
  grid-auto-columns:clamp(200px,69vw,270px)!important;gap:10px!important;
 }
 body.rpmx-listing-v2 .rpmx-menu-live .rpmx-menu-live__body{padding:12px!important}
 body.rpmx-listing-v2 .rpmx-services__rail{grid-auto-columns:min(77vw,290px)!important}
 body.rpmx-listing-v2 .rpmx-services .rpmx-service-card--unified{min-height:245px}
 body.rpmx-front-page #rpmx-home-services .rpmx-service-card--unified .rpmx-service-card__content strong{font-size:.96rem}
}
@media(prefers-reduced-motion:reduce){
 body.rpmx-listing-v2 .rpmx-menu-progress>span{transition:none}
}
