/* RCLC Meals — front-end styles */
.rclc-meals{--rclc-accent:#7a1f2b;--rclc-accent2:#a8323f;--rclc-ink:#222;--rclc-muted:#666;--rclc-line:#e4e4e4;--rclc-bg:#faf8f5;color:var(--rclc-ink);font-size:16px;line-height:1.5;}
.rclc-meals *{box-sizing:border-box;}
.rclc-meals h2{font-size:1.7em;color:var(--rclc-accent);margin:0 0 12px;}
.rclc-meals section{margin:0 0 34px;}

/* Section dividers */
.rclc-prep,.rclc-intro,.rclc-kids{padding-top:22px;border-top:2px solid var(--rclc-line);}

.rclc-intro{margin-bottom:14px;}
.rclc-intro p{margin:0;color:var(--rclc-muted);}

/* Generic gallery (signs / prep / kids) */
.rclc-gallery{display:grid;gap:16px;}
.rclc-gallery--3{grid-template-columns:repeat(3,1fr);}
.rclc-gallery--4{grid-template-columns:repeat(4,1fr);}
.rclc-gallery figure{margin:0;background:#fff;border:1px solid var(--rclc-line);border-radius:10px;overflow:hidden;}
.rclc-gallery figure img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1;transition:transform .25s;}
.rclc-gallery figure:hover img{transform:scale(1.04);}
.rclc-gallery figcaption{padding:8px 10px;text-align:center;font-weight:600;color:var(--rclc-muted);}

/* Month navigation */
.rclc-monthnav{position:sticky;top:0;z-index:5;background:var(--rclc-bg);border:1px solid var(--rclc-line);border-radius:8px;padding:12px 14px;margin:0 0 22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.rclc-monthnav__label{font-weight:700;color:var(--rclc-accent);}
.rclc-monthnav__select{flex:1 1 220px;min-width:200px;max-width:340px;padding:8px 10px;font-size:1em;border:1px solid #bbb;border-radius:6px;background:#fff;cursor:pointer;}
.rclc-monthnav__links{display:flex;flex-wrap:wrap;gap:4px 2px;line-height:1.8;}
.rclc-monthnav__links a{color:var(--rclc-accent);text-decoration:none;}
.rclc-monthnav__links a:hover{text-decoration:underline;}

/* Month section */
.rclc-month{scroll-margin-top:90px;margin:0 0 30px;}
.rclc-month__title{font-size:1.35em;color:var(--rclc-accent);border-bottom:2px solid var(--rclc-line);padding-bottom:6px;margin:0 0 16px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.rclc-backtop{font-size:.6em;font-weight:400;color:var(--rclc-muted);text-decoration:none;white-space:nowrap;}
.rclc-backtop:hover{color:var(--rclc-accent);}

/* Grid */
.rclc-grid{display:grid;gap:18px;}
.rclc-grid--2{grid-template-columns:repeat(2,1fr);}
.rclc-grid--3{grid-template-columns:repeat(3,1fr);}
.rclc-grid--4{grid-template-columns:repeat(4,1fr);}
.rclc-grid--list{grid-template-columns:1fr;gap:14px;}

/* ---- Base card ---- */
.rclc-card{background:#fff;border:1px solid var(--rclc-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .2s,transform .2s;}
.rclc-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.12);transform:translateY(-2px);}
.rclc-card__media{display:block;aspect-ratio:1/1;overflow:hidden;background:#f0ece8;}
.rclc-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.rclc-card__media--placeholder{display:flex;align-items:center;justify-content:center;color:#aaa;font-style:italic;}
.rclc-card__body{padding:12px 14px 16px;}
.rclc-card__date{margin:0 0 6px;font-weight:700;color:var(--rclc-accent);font-size:.95em;}
.rclc-card__note{display:inline-block;margin-left:6px;background:var(--rclc-accent);color:#fff;font-size:.72em;font-weight:700;padding:2px 7px;border-radius:20px;vertical-align:middle;}
.rclc-card__menu{margin:0;color:var(--rclc-ink);font-size:.93em;}

/* ---- Style: OVERLAY ---- */
.rclc-style-overlay .rclc-card{position:relative;}
.rclc-style-overlay .rclc-card__media{aspect-ratio:1/1;}
.rclc-style-overlay .rclc-card__body{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 14px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,0) 100%);}
.rclc-style-overlay .rclc-card__date{color:#fff;}
.rclc-style-overlay .rclc-card__menu{color:#f3f3f3;font-size:.88em;}
.rclc-style-overlay .rclc-card__note{background:#fff;color:var(--rclc-accent);}
.rclc-style-overlay .rclc-card--noimg .rclc-card__body{position:static;background:none;color:var(--rclc-ink);}
.rclc-style-overlay .rclc-card--noimg .rclc-card__date{color:var(--rclc-accent);}
.rclc-style-overlay .rclc-card--noimg .rclc-card__menu{color:var(--rclc-ink);}

/* ---- Style: COMPACT ---- */
.rclc-style-compact .rclc-card{flex-direction:row;align-items:stretch;}
.rclc-style-compact .rclc-card__media{flex:0 0 96px;width:96px;height:96px;aspect-ratio:auto;}
.rclc-style-compact .rclc-card__body{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;}
.rclc-style-compact .rclc-card__menu{font-size:.86em;}

/* ---- Style: POLAROID ---- */
.rclc-style-polaroid{gap:24px;}
.rclc-style-polaroid .rclc-card{background:#fff;border:none;border-radius:2px;padding:12px 12px 0;box-shadow:0 3px 10px rgba(0,0,0,.16);}
.rclc-style-polaroid .rclc-card:hover{transform:translateY(-3px) rotate(-1deg);}
.rclc-style-polaroid .rclc-card__media{border-radius:0;}
.rclc-style-polaroid .rclc-card__body{padding:12px 4px 18px;text-align:center;}
.rclc-style-polaroid .rclc-card__menu{font-size:.9em;}

/* ---- List layout overrides (horizontal cards) ---- */
.rclc-grid--list .rclc-card{flex-direction:row;align-items:stretch;}
.rclc-grid--list .rclc-card__media{flex:0 0 200px;width:200px;height:auto;aspect-ratio:auto;min-height:140px;}
.rclc-grid--list .rclc-card__body{flex:1;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;position:static;background:none;color:var(--rclc-ink);}
.rclc-grid--list .rclc-card__date{color:var(--rclc-accent);}
.rclc-grid--list .rclc-card__menu{color:var(--rclc-ink);font-size:1em;}

.rclc-empty{color:var(--rclc-muted);font-style:italic;}

/* Responsive */
@media (max-width:900px){
	.rclc-grid--3,.rclc-grid--4,.rclc-gallery--4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
	.rclc-grid--2,.rclc-grid--3,.rclc-grid--4{grid-template-columns:1fr;}
	.rclc-gallery--3,.rclc-gallery--4{grid-template-columns:repeat(2,1fr);}
	.rclc-monthnav{position:static;}
	.rclc-grid--list .rclc-card__media{flex-basis:120px;width:120px;}
}

/* ============ Top-of-page text ============ */
.rclc-toptext{margin:0 0 22px;font-size:1.05em;color:var(--rclc-ink);}
.rclc-toptext p{margin:0 0 .6em;}

/* ============ Contributors ============ */
.rclc-contributors{--rclc-accent:#7a1f2b;--rclc-line:#e4e4e4;--rclc-muted:#666;color:#222;font-size:16px;line-height:1.5;}
.rclc-contributors *{box-sizing:border-box;}
.rclc-contrib-heading{font-size:1.9em;color:var(--rclc-accent);margin:0 0 10px;}
.rclc-contrib-group{margin:0 0 28px;}
.rclc-contrib-cat{font-size:1.3em;color:var(--rclc-accent);border-bottom:2px solid var(--rclc-line);padding-bottom:6px;margin:0 0 14px;}
.rclc-contrib-name{font-weight:600;}
.rclc-contrib-note{color:var(--rclc-muted);font-size:.85em;}

/* default color fallback when a person has a highlight */
.rclc-contrib-item.has-color{--rclc-c:#7a1f2b;--rclc-tint:rgba(122,31,43,.10);}

/* ---- Cards ---- */
.rclc-contrib--cards .rclc-contrib-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.rclc-contrib--cards .rclc-contrib-card{background:#fff;border:1px solid var(--rclc-line);border-left:5px solid #ccc;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.rclc-contrib--cards .rclc-contrib-card.has-color{border-left-color:var(--rclc-c);background:var(--rclc-tint);}
.rclc-contrib--cards .rclc-contrib-card.has-color .rclc-contrib-name{color:var(--rclc-c);}

/* ---- List ---- */
.rclc-contrib--list .rclc-contrib-items{display:flex;flex-direction:column;gap:6px;}
.rclc-contrib--list .rclc-contrib-item{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:6px;}
.rclc-contrib--list .rclc-contrib-item.has-color{background:var(--rclc-tint);}
.rclc-contrib--list .rclc-dot{width:11px;height:11px;border-radius:50%;background:#bbb;flex:0 0 11px;}
.rclc-contrib--list .has-color .rclc-dot{background:var(--rclc-c);}
.rclc-contrib--list .rclc-contrib-note{margin-left:6px;}

/* ---- Badges ---- */
.rclc-contrib--badges .rclc-contrib-items{display:flex;flex-wrap:wrap;gap:8px;}
.rclc-contrib--badges .rclc-contrib-item{display:inline-flex;align-items:baseline;gap:6px;background:#eee;color:#333;border:1px solid #ddd;padding:6px 13px;border-radius:30px;font-size:.95em;}
.rclc-contrib--badges .rclc-contrib-item.has-color{background:var(--rclc-c);border-color:var(--rclc-c);color:#fff;}
.rclc-contrib--badges .has-color .rclc-contrib-note{color:rgba(255,255,255,.85);}

/* ---- Columns ---- */
.rclc-contrib--columns .rclc-contrib-items{columns:3;column-gap:30px;}
.rclc-contrib--columns .rclc-contrib-item{display:flex;align-items:center;gap:8px;padding:4px 0;break-inside:avoid;}
.rclc-contrib--columns .rclc-dot{width:9px;height:9px;border-radius:50%;background:#bbb;flex:0 0 9px;}
.rclc-contrib--columns .has-color .rclc-dot{background:var(--rclc-c);}
.rclc-contrib--columns .has-color{color:var(--rclc-c);font-weight:600;}

@media (max-width:700px){
	.rclc-contrib--columns .rclc-contrib-items{columns:2;}
}
@media (max-width:480px){
	.rclc-contrib--columns .rclc-contrib-items{columns:1;}
}

/* ============ Meals page heading ============ */
.rclc-page-heading{font-size:2.3em;line-height:1.15;color:var(--rclc-accent);margin:0 0 18px;}

/* ============ Holiday markers ============ */
.rclc-card--holiday{border-top:4px solid var(--rclc-h,#7a1f2b);}
.rclc-card__holiday{display:inline-block;color:#fff;font-size:.74em;font-weight:700;line-height:1.3;padding:2px 9px;border-radius:20px;margin:0 0 7px;}
.rclc-style-overlay .rclc-card--holiday .rclc-card__holiday{box-shadow:0 1px 3px rgba(0,0,0,.4);}

/* ============ Featured single meal ([rclc_recent_meal] / [rclc_pending_meal]) ============ */
.rclc-featured{margin:0 0 24px;}
.rclc-featured__title{font-size:1.5em;color:var(--rclc-accent);margin:0 0 12px;}
.rclc-grid--1{grid-template-columns:1fr;max-width:420px;}
.rclc-grid--1.rclc-style-compact{max-width:520px;}

/* ============ Meal count ============ */
.rclc-mealcount{display:inline-block;background:var(--rclc-accent);color:#fff;font-weight:700;font-size:.95em;padding:5px 14px;border-radius:30px;margin:0 0 16px;}
