/* Catering page: VIB-style layout in Reunion navy and gold. Builds on coffee-bar-v6.css (cb-*, cbh-*). */
.cbh-specs a{display:inline-block;color:#fff}
.cbh-specs li:has(a):hover{background:#D4AF37;border-color:#D4AF37}
.cbh-specs li:has(a):hover a{color:#080D1A}
.cbh-specs li span{opacity:.7;margin-left:6px}
.cbh-note{color:#CBD5E1;font-size:.85rem;font-weight:600;margin:18px 0 0!important}
.cbh-img.cat{object-position:50% 25%}

/* two photo strip */
.cat-strip{display:grid;grid-template-columns:1fr;gap:0}
.cat-strip img{display:block;width:100%;height:220px;object-fit:cover}
@media(min-width:700px){.cat-strip{grid-template-columns:1fr 1fr}.cat-strip img{height:340px}}

/* centrepiece */
.cat-feat{background:#fff}
.cat-feat .cb-split{align-items:center}
.cat-feat ul{list-style:none;margin:6px 0 18px;padding:0;display:grid;gap:8px;max-width:34rem}
.cat-feat li{position:relative;padding-left:22px;color:#334155;line-height:1.5;font-size:.97rem}
.cat-feat li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#D4AF37}
.cat-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:4px 0 16px}
.cat-price b{font-family:'Playfair Display',Georgia,serif;font-size:2.6rem;color:#8F7218;font-weight:600;line-height:1}
.cat-price span{color:#64748B;font-size:.92rem}
.cat-feat .cb-split img{max-width:460px;margin-inline:auto}

/* menu heading + calmer surface */
.cat-menu{background:#FBF6E9!important}
.cat-menu .cb-head{margin-inline:auto;text-align:center}
.cat-menu .cb-head p{margin-inline:auto}
.cat-menu .menu-card{border-radius:18px;border-color:#EBE2C4;box-shadow:0 10px 26px rgba(15,23,42,.07)}

/* occasions: boxes with lists */
.cb-box.occ{padding-left:26px}
.cb-box.occ::before{display:none}
.cb-box.occ ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.cb-box.occ li{position:relative;padding-left:20px;font-size:.93rem;line-height:1.45}
.cb-box.occ li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:#D4AF37}
.cat-occ{background:#fff}
.cat-occ .cb-box{background:#FBF6E9}
.cat-occ .cb-box.occ li{color:#334155}
.cb-box.occ a.more{display:inline-block;margin-top:14px;font-weight:800;color:#8F7218;border-bottom:2px solid #D4AF37}
.cb-grid.n4{grid-template-columns:1fr}
@media(min-width:700px){.cb-grid.n4{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.cb-grid.n4{grid-template-columns:repeat(4,1fr)}.cb-grid.n4 .cb-box{padding:84px 22px 22px}.cb-grid.n4 .cb-box::before{left:22px;top:22px}}
.cat-notes{display:grid;gap:14px;margin-top:28px}
@media(min-width:800px){.cat-notes{grid-template-columns:repeat(3,1fr)}}
.cat-notes p{margin:0;background:#fff;border:1px solid #EBE2C4;border-radius:14px;padding:18px 20px;color:#475569;font-size:.92rem;line-height:1.55}
.cat-notes b{display:block;color:#0F172A;margin-bottom:4px}

/* v2: menu cards show the whole photo (square, uncropped) with the price under the name, like the VIB menu */
.cat-menu .menu-card{box-shadow:none;border:1px solid #EBE2C4;background:#fff}
.cat-menu .menu-card:hover{box-shadow:0 14px 30px rgba(15,23,42,.1)}
.cm-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #F1EAD2}
.cm-pic{width:100%;height:100%;object-fit:contain;display:block}
.cm-price{margin:0 0 12px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8F7218;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.cm-price small{font-size:.7rem;letter-spacing:.1em;opacity:.8}
.cm-tag{font-size:.65rem;letter-spacing:.1em;background:#0F172A;color:#DFBE4A;border-radius:999px;padding:3px 9px}
.cat-menu .menu-card h3{font-size:1.2rem}

/* v3: centrepiece shows two photos */
.cat-feat .cb-split{align-items:center}
@media(min-width:900px){.cat-feat .cb-split{grid-template-columns:1fr 1.3fr}}
.cat-duo{display:grid;gap:14px;align-items:center}
@media(min-width:560px){.cat-duo{grid-template-columns:1fr 1fr}}
.cat-duo img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 14px 30px rgba(8,13,26,.16);border:5px solid #fff;outline:1px solid #D4AF37;max-width:none;margin:0}

/* v4: bigger centrepiece photos, full width under the text */
@media(min-width:900px){.cat-feat .cb-split{grid-template-columns:1fr;gap:44px}}
.cat-feat .cb-split>div:first-child{max-width:46rem}
.cat-duo{gap:22px}
@media(min-width:560px){.cat-duo{grid-template-columns:1fr 1fr;gap:26px}}
.cat-feat .cb-split .cat-duo img{max-width:none;width:100%;margin:0}

/* v5: text and the two photos stay on one row; photos get the wider column and bleed into the right margin */
@media(min-width:900px){
  .cat-feat .cb-in.cb-split{grid-template-columns:minmax(0,.78fr) minmax(0,1.5fr);gap:44px;align-items:center}
  .cat-feat .cb-split>div:first-child{max-width:none}
  .cat-duo{grid-template-columns:1fr 1fr;gap:20px}
}
@media(min-width:1280px){.cat-duo{margin-right:calc(-1 * ((100vw - 1216px) / 2 - 24px))}}

/* v6: narrow barista bar banner over a looping coffee pour */
.pour{position:relative;overflow:hidden;background:#0F172A url(images/coffee-pour-poster.jpg) 50% 80%/cover;border-top:2px solid #D4AF37;border-bottom:2px solid #D4AF37}
.pour-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 82%}
.pour-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,26,.9) 0%,rgba(8,13,26,.72) 45%,rgba(8,13,26,.35) 100%)}
.pour-in{position:relative;max-width:80rem;margin:0 auto;padding:34px 20px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.pour-kick{margin-bottom:8px;color:#DFBE4A;background:rgba(212,175,55,.16)}
.pour h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:300;line-height:1.15;color:#fff;margin:0 0 8px}
.pour h2 strong{font-weight:800;color:#DFBE4A}
.pour p{color:#E2E8F0;margin:0;max-width:32rem;line-height:1.55}
.pour .cbh-b1{white-space:nowrap}
@media(min-width:900px){.pour-in{flex-direction:row;align-items:center;justify-content:space-between;gap:40px;padding:38px 32px}}
@media(prefers-reduced-motion:reduce){.pour-vid{display:none}}

/* v7: taller banner so the pour can be seen */
.pour{min-height:340px;display:flex;align-items:center}
.pour-in{width:100%}
.pour-shade{background:linear-gradient(90deg,rgba(8,13,26,.88) 0%,rgba(8,13,26,.6) 38%,rgba(8,13,26,.08) 72%,rgba(8,13,26,0) 100%)}
.pour-vid{object-position:50% 70%}
@media(min-width:900px){.pour{min-height:340px}}
@media(max-width:899px){.pour{min-height:340px;align-items:flex-end}.pour-shade{background:linear-gradient(180deg,rgba(8,13,26,0) 0%,rgba(8,13,26,.25) 30%,rgba(8,13,26,.88) 100%)}}
