/* /mess-menu-weekly-sample/ — "Mess menu card": cream menu sheet with dotted leaders, day cards with meal rows, colour-coded meals */
.p-mess-menu-weekly-sample .pc--html{background:#EDE6D8}
.p-mess-menu-weekly-sample .mm{max-width:1120px;margin:0 auto;display:grid;gap:22px}
.p-mess-menu-weekly-sample .mm>*{min-width:0}
.p-mess-menu-weekly-sample .mm p,.p-mess-menu-weekly-sample .mm li{font-size:17px;line-height:1.7}

/* header: menu card title */
.p-mess-menu-weekly-sample .mm-head{position:relative;padding:clamp(28px,5vw,54px) clamp(20px,5vw,60px);text-align:center;background:#FFFBF0;border:1px solid #DCCFB2;outline:2px solid #DCCFB2;outline-offset:-12px}
.p-mess-menu-weekly-sample .mm-head h1{margin:0 0 6px;font-size:clamp(34px,6vw,60px);line-height:1.04;color:var(--olive-900)}
.p-mess-menu-weekly-sample .mm-head h1::before,.p-mess-menu-weekly-sample .mm-head h1::after{content:"";display:block;width:min(260px,60%);height:10px;margin:0 auto;background:radial-gradient(circle,var(--brass) 0 3px,transparent 4px) 50% 50%/16px 10px repeat-x}
.p-mess-menu-weekly-sample .mm-head h1::before{margin-bottom:16px}
.p-mess-menu-weekly-sample .mm-head h1::after{margin-top:16px;margin-bottom:12px}
.p-mess-menu-weekly-sample .mm-lead{max-width:70ch;margin:0 auto;font-size:18.5px!important;color:#4A4234}
.p-mess-menu-weekly-sample .mm-head strong{color:var(--maroon)}

/* section base */
.p-mess-menu-weekly-sample .mm-sec{padding:26px clamp(18px,3vw,34px);background:#fff;border-radius:12px;border:1px solid #E2D8C2}
.p-mess-menu-weekly-sample .mm-sec h2{margin:0 0 14px;font-size:clamp(24px,3vw,32px);line-height:1.1;color:var(--olive-900)}
.p-mess-menu-weekly-sample .mm-sec>:last-child{margin-bottom:0}
.p-mess-menu-weekly-sample .mm-quote{margin:16px 0 0;padding:0;border:0;background:none;font-family:var(--ff-head);font-size:clamp(21px,2.5vw,26px);font-style:italic;font-weight:600;line-height:1.3;color:var(--maroon)}
.p-mess-menu-weekly-sample .mm-quote::before{content:"";display:block;width:56px;height:3px;margin-bottom:10px;background:var(--brass)}

/* philosophy: four plates */
.p-mess-menu-weekly-sample .mm-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.p-mess-menu-weekly-sample .mm-points li{position:relative;padding:62px 14px 14px;text-align:center;background:var(--stone-2);border-radius:12px;font-size:16px!important;line-height:1.55!important}
.p-mess-menu-weekly-sample .mm-points li::before{content:"";position:absolute;left:50%;top:14px;transform:translateX(-50%);width:36px;height:36px;box-sizing:border-box;border-radius:50%;border:3px solid var(--army);box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px rgb(var(--army-rgb) / .35);background:#fff}
.p-mess-menu-weekly-sample .mm-points li:nth-child(2)::before{border-color:var(--brass)}
.p-mess-menu-weekly-sample .mm-points li:nth-child(3)::before{border-color:var(--maroon)}
.p-mess-menu-weekly-sample .mm-points li:nth-child(4)::before{border-color:var(--olive-900)}

/* weekly menu */
.p-mess-menu-weekly-sample .mm-sec--menu{background:#FFFBF0;border-color:#DCCFB2}
.p-mess-menu-weekly-sample .mm-sec--menu>h2{text-align:center}
.p-mess-menu-weekly-sample .mm-intro{margin:0 0 20px;text-align:center;color:#5A5040}
.p-mess-menu-weekly-sample .mm-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.p-mess-menu-weekly-sample .mm-day{background:#fff;border:1px solid #E2D8C2;border-radius:12px;overflow:hidden}
.p-mess-menu-weekly-sample .mm-day h3{margin:0;padding:10px 18px;background:var(--olive-900);font-size:22px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.p-mess-menu-weekly-sample .mm-day:nth-child(7) h3{background:var(--maroon)}
.p-mess-menu-weekly-sample .mm-day:nth-child(7) h3::after{content:" ★";color:var(--gold)}
.p-mess-menu-weekly-sample .mm-meals{margin:0;padding:8px 18px 14px}
.p-mess-menu-weekly-sample .mm-meals>div{--c:var(--gold);padding:10px 0 10px 14px;border-left:4px solid var(--c);margin:6px 0}
.p-mess-menu-weekly-sample .mm-meals>div+div{border-top:0}
.p-mess-menu-weekly-sample .mm-lunch{--c:var(--army)!important}
.p-mess-menu-weekly-sample .mm-snack{--c:var(--brass)!important}
.p-mess-menu-weekly-sample .mm-dinner{--c:var(--maroon)!important}
.p-mess-menu-weekly-sample .mm-meals dt{display:flex;align-items:center;gap:8px;font-family:var(--ff-head);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.p-mess-menu-weekly-sample .mm-meals dt::after{content:"";flex:1;border-bottom:2px dotted #D6CCB4}
.p-mess-menu-weekly-sample .mm-meals dd{margin:2px 0 0;font-size:16.5px;line-height:1.5;font-weight:500;color:var(--ink)}

/* close */
.p-mess-menu-weekly-sample .mm-sec--close{background:var(--olive-900);border:0;text-align:center}
.p-mess-menu-weekly-sample .mm-sec--close h2{color:#fff}
.p-mess-menu-weekly-sample .mm-sec--close p{max-width:72ch;margin:0 auto;color:#DDE2D6}
.p-mess-menu-weekly-sample .mm-sec--close strong{color:var(--gold)}
.p-mess-menu-weekly-sample .mm-sec--close .mm-quote{color:#fff}
.p-mess-menu-weekly-sample .mm-sec--close .mm-quote::before{margin:0 auto 10px;background:var(--gold)}

@media (min-width:980px){
  .p-mess-menu-weekly-sample .mm-day:nth-child(7){grid-column:1/-1}
  .p-mess-menu-weekly-sample .mm-day:nth-child(7) .mm-meals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}
}
@media (max-width:900px){
  .p-mess-menu-weekly-sample .mm-points{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .p-mess-menu-weekly-sample .mm{gap:14px}
  .p-mess-menu-weekly-sample .mm-head{outline-offset:-8px}
  .p-mess-menu-weekly-sample .mm-week{grid-template-columns:1fr}
  .p-mess-menu-weekly-sample .mm-points{grid-template-columns:1fr}
  .p-mess-menu-weekly-sample .mm-points li{padding:14px 14px 14px 64px;text-align:left}
  .p-mess-menu-weekly-sample .mm-points li::before{left:14px;top:50%;transform:translateY(-50%)}
}
