/* Proposal-only additions (item 816 mockup). Brand colours from the site. */
.mock-fdm .b-ticket{background:#942E66 !important}
.mock-fdm .b-tk-b{background:#942E66 !important}
.mock-fdm-title{font-size:clamp(32px,5vw,56px);line-height:1;font-weight:700;color:#E8EDCA;margin:.2em 0 0}
.mock-fdm-date{font-size:clamp(22px,3vw,32px);font-weight:700;color:#E8EDCA;margin:0 0 .4em}
.mock-photo{aspect-ratio:4/5;overflow:hidden}
.mock-photo img{width:100%;height:100%;object-fit:cover;display:block}
.mock-light{color:#E8EDCA}
.mock-menu{list-style:none;padding:0;margin:0}
.mock-menu li{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.mock-menu li b:last-child{white-space:nowrap}
.mock-menu small{opacity:.8}
.mock-sub{margin:28px 0 8px;color:#942E66}
.mock-ph{border:3px dashed #F66428;border-radius:16px;color:#F66428;font-weight:700;text-align:center;padding:26px 18px;margin:18px 0;background:none}
.mock-ph small{font-weight:500}
.mock-names{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.mock-names li{border:2px solid #942E66;color:#942E66;border-radius:999px;padding:8px 16px;font-weight:600}
/* draft pill and panel */
#mock-pill{position:fixed;right:16px;bottom:16px;z-index:9999;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#151413;color:#E8EDCA;border:0;border-radius:50%;padding:0;cursor:pointer;opacity:.75;box-shadow:0 4px 14px rgba(0,0,0,.2)}
#mock-pill:hover,#mock-pill:focus-visible,#mock-pill[aria-expanded="true"]{opacity:1}
#mock-panel{position:fixed;right:16px;bottom:72px;z-index:9999;width:min(440px,calc(100vw - 32px));max-height:72vh;overflow:auto;background:#fff;color:#151413;border:2px solid #151413;border-radius:18px;padding:18px 20px;font:14px/1.45 "DM Sans",system-ui,sans-serif;box-shadow:0 12px 40px rgba(0,0,0,.25);display:none}
#mock-panel.on{display:block}
#mock-panel h3{font-size:16px;margin:12px 0 4px}
#mock-panel ul{padding-left:18px;margin:4px 0}

/* ---- iteration 2 (operator feedback) ---- */
/* Titles per brand book: DM Sans Bold/ExtraBold/Black for titles and details */
.sB .b-h2,.sB h1,.sB .b-statement{font-weight:800 !important}
/* Consistent rhythm: one section gap, one heading-to-content gap */
.sB .b-sec{padding-block:clamp(48px,6vw,88px) !important}
.sB .b-sec.b-tight{padding-top:clamp(48px,6vw,88px) !important}
.sB .b-sechead{margin-bottom:clamp(24px,2.6vw,36px) !important}
/* Gallery: 3 per view on desktop, no hover zoom, 1 per view on phones */
.sB .b-strip-tr{grid-auto-columns:calc((100% - 2 * 16px) / 3) !important;gap:16px !important}
.sB.mv-on .b-strip-tr figure:hover .b-photo,.sB .b-strip-tr figure:hover .b-photo{transform:none !important}
@media (max-width:640px){.sB .b-strip-tr{grid-auto-columns:100% !important}}
/* Phone menu: a proper full-screen menu, not a small pop-up */
@media (max-width:1179px){
  details.festival-menu[open] .festival-menu-links{position:fixed !important;inset:var(--mock-head,72px) 0 0 0 !important;width:auto !important;border:0 !important;border-top:2px solid #942E66 !important;border-radius:0 !important;padding:32px 24px !important;display:flex !important;flex-direction:column;gap:8px;background:#E8EDCA !important;z-index:200 !important;overflow:auto}
  details.festival-menu[open] .festival-menu-links a{font-size:clamp(28px,8vw,40px) !important;font-weight:800;text-transform:uppercase;padding:14px 0 !important;border-bottom:1px solid rgba(148,46,102,.25)}
}
/* Footer: contact and press details, and a 2-column grid on phones */
.mock-foot-p{margin:0 0 14px;font-size:15px;line-height:1.5}
.mock-foot-p a{color:inherit}
@media (min-width:760px){.sB .b-foot-row{grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr)) !important}}
@media (max-width:759px){
  .sB .b-foot-row{grid-template-columns:1fr 1fr !important;gap:32px 20px !important}
  .sB .b-foot-logo .lg{max-width:150px}
  .sB .b-foot-grid{grid-template-columns:1fr !important}
}
/* Vivero menu: concise, no prices */
.mock-menu2{display:grid;gap:20px}
.mock-menu2 p:not(.b-det){margin:0;font-size:clamp(17px,1.6vw,21px);line-height:1.5}
.mock-phs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mock-phs .mock-ph{margin:12px 0;padding:18px 12px}
.mock-foot-p{overflow-wrap:anywhere}
