/* Meal Planner page: the shared look is assets/css/mix-library.css; only what is new here. */
.fsos-mp__label { font-family: var(--wp--preset--font-family--sans, sans-serif); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--jade-deep); margin: .9rem 0 .4rem; }
.fsos-mp__label small { letter-spacing: 0; text-transform: none; color: var(--st-soft); }
.fsos-mp__lead { margin: 0 0 .7rem; color: var(--st-soft); }
.fsos-mp__note { margin: .5rem 0; padding: .55em .8em; background: #F6F1E4; border-left: 3px solid var(--wp--preset--color--marigold, #E4B43A); border-radius: 4px; line-height: 1.5; }
.fsos-mp__count { margin: 1rem 0 .3rem; color: var(--st-soft); font-size: .92rem; }
.fsos-mp a.fsos-mx__chip { text-decoration: none; }
.fsos-mp__make { display: inline-block; padding: .7rem 1.6rem; border: 0; border-radius: 999px; background: var(--st-jade); color: #fff; font: 600 1rem var(--wp--preset--font-family--sans); cursor: pointer; text-decoration: none; }
.fsos-mp a.fsos-mp__make { color: #fff; }
.fsos-mp__make:hover { background: var(--wp--preset--color--forest, #1d3a25); }

/* This week's plan */
.fsos-mp__wlist { list-style: none; margin: 0 0 .8rem; padding: 0; border-top: 1px solid var(--st-rule); }
.fsos-mp__wlist li { display: flex; gap: .7rem; align-items: baseline; padding: .45rem 0; border-bottom: 1px solid var(--st-rule); }
.fsos-mp__wdish { padding: 0; border: 0; background: none; font: 500 1.08rem/1.3 var(--wp--preset--font-family--display); color: var(--wp--preset--color--forest); text-align: left; cursor: pointer; }
.fsos-mp__wdish:hover { text-decoration: underline; text-underline-offset: 3px; }
.fsos-mp__dname { flex: none; width: 6.2rem; font: .78rem var(--wp--preset--font-family--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--st-soft); }

/* The plan */
.fsos-mp__tools { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1rem; }
.fsos-mp__tools button { padding: .45rem 1rem; border: 1.5px solid var(--st-jade); border-radius: 999px; background: transparent; color: var(--st-jade); font: 600 .88rem var(--wp--preset--font-family--sans); cursor: pointer; }
.fsos-mp__tools button.is-main { background: var(--st-jade); color: #fff; }
.fsos-mp__opt { display: inline-flex; align-items: center; gap: .4rem; font-size: .9rem; color: var(--st-soft); cursor: pointer; }
.fsos-mp__days { list-style: none; margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--st-rule); }
.fsos-mp__day { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; padding: .6rem 0; border-bottom: 1px solid var(--st-rule); }
.fsos-mp__day .fsos-mp__dname { width: 100%; }
.fsos-mp__dish { flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: .75rem; padding: 0; border: 0; background: none; font: inherit; color: var(--st-ink); text-align: left; cursor: pointer; }
.fsos-mp__dish img { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--st-linen); border: 2px solid var(--wp--preset--color--jadeite); }
.fsos-mp__dish > span { display: flex; flex-direction: column; gap: .15rem; }
.fsos-mp__dtitle { font: 500 1.12rem/1.25 var(--wp--preset--font-family--display); color: var(--wp--preset--color--forest); }
.fsos-mp__dish:hover .fsos-mp__dtitle { text-decoration: underline; text-underline-offset: 3px; }
.fsos-mp__dish.is-gone { color: var(--st-soft); font-style: italic; cursor: default; }
.fsos-mp__shuf { flex: none; padding: .4rem .9rem; border: 1.5px solid var(--st-rule); border-radius: 999px; background: #fff; color: var(--st-jade); font: 600 .82rem var(--wp--preset--font-family--sans); cursor: pointer; }
.fsos-mp__shuf::before { content: "\21BB  "; }
.fsos-mp__shuf:hover { border-color: var(--st-jade); }
.fsos-mp__thaw { width: 100%; margin: 0; padding-left: calc(56px + .75rem); font-size: .86rem; color: var(--wp--preset--color--jade-deep); }
.fsos-mp__thaw::before { content: "\2744  "; }
.fsos-mp__wk { margin: 0 0 .6rem; }
.fsos-mp__wk summary { cursor: pointer; padding: .4rem 0; font: 500 1.25rem var(--wp--preset--font-family--display); color: var(--st-jade); }

/* Shopping list */
.fsos-mp__shoph { margin: 1.2rem 0 .3rem; font: 500 1.25rem var(--wp--preset--font-family--display); color: var(--st-jade); }
.fsos-mp__aisle h4 { margin: 1rem 0 .2rem; font: .78rem var(--wp--preset--font-family--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--jade-deep); }
.fsos-mp__aisle .fsos-mx__list { list-style: none; margin: 0; padding: 0; }

/* Side boxes */
.fsos-mp__past, .fsos-mp__mine { list-style: none; margin: 0; padding: 0; }
.fsos-mp__past li, .fsos-mp__mine li { padding: .3rem 0; border-bottom: 1px solid var(--st-rule); }
.fsos-mp__past small { color: var(--st-soft); }
.fsos-mp__x { margin-left: .3rem; padding: 0 .4rem; border: 0; background: none; color: var(--st-soft); font-size: 1.2rem; cursor: pointer; }
.fsos-mp__ready { margin: 0 0 .6em; padding: .55em .8em; background: #F6F1E4; border-left: 3px solid var(--wp--preset--color--marigold, #E4B43A); border-radius: 4px; }
.fsos-mp__dimg { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 10px; margin: .4rem 0 .2rem; }

@media (max-width: 699px) {
	.fsos-mp__thaw { padding-left: 0; }
	.fsos-mp__wlist .fsos-mp__dname { width: 5.4rem; }
}

/* Print: only the plan sheet built by the script (plan or month calendar, then the shopping list, then recipes if asked). */
#fsos-mp-print { display: none; }
@media print {
	body.fsos-mp-printing > *:not(#fsos-mp-print) { display: none !important; }
	body.fsos-mp-printing #fsos-mp-print { display: block; font: 11pt/1.4 Georgia, serif; color: #000; }
	#fsos-mp-print h1 { font-size: 18pt; margin: 0 0 10pt; }
	#fsos-mp-print table { width: 100%; border-collapse: collapse; }
	#fsos-mp-print th, #fsos-mp-print td { border: 1px solid #999; padding: 5pt 6pt; text-align: left; vertical-align: top; }
	.fsos-mp__ptable th { width: 22%; }
	.fsos-mp__cal td { height: 70pt; width: calc(100% / 7); font-size: 10pt; }
	.fsos-mp__pshop { break-before: page; columns: 2; column-gap: 18pt; }
	.fsos-mp__pshop h2 { column-span: all; font-size: 16pt; margin: 0 0 6pt; }
	.fsos-mp__pshop .fsos-mp__aisle { break-inside: avoid; }
	.fsos-mp__pshop h4 { margin: 8pt 0 2pt; font: bold 9pt sans-serif; text-transform: uppercase; letter-spacing: .1em; }
	.fsos-mp__pshop ul { list-style: none; margin: 0; padding: 0; }
	.fsos-mp__pshop li { padding: 1pt 0; break-inside: avoid; }
	.fsos-mp__pshop input { display: none; }
	.fsos-mp__pshop label span::before { content: "\2610  "; }
	.fsos-mp__pshop small { display: block; font-size: 8pt; color: #555; }
	.fsos-mp__pcard { break-before: page; }
	.fsos-mp__pbrand { display: flex; align-items: center; justify-content: flex-end; gap: 8pt; margin: 14pt 0 0; padding-top: 6pt; border-top: 1px solid #999; column-span: all; break-inside: avoid; }
	.fsos-mp__pbrand img { width: 36pt; height: 36pt; }
	.fsos-mp__pbrand b { display: block; font-size: 13pt; }
	.fsos-mp__pbrand i { display: block; font-size: 9pt; color: #444; }
}
/* Start here below the planner: six guides, the rest behind "See all" */
.fsos-mp__start { margin-top: 2rem; }
.fsos-mp__more > summary { display: inline-block; list-style: none; padding: .6rem 1.4rem; border: 1px solid var(--st-jade); border-radius: 999px; color: var(--st-jade); font: 600 .95rem var(--wp--preset--font-family--sans); cursor: pointer; }
.fsos-mp__more > summary::-webkit-details-marker { display: none; }
.fsos-mp__more[open] > summary { display: none; }
