/* Today's Sweet — theme layer over the Modernist design system */
:root{
--color-bg:#faf2ec;--color-surface:#f2e6dd;--color-text:#2b201a;
--color-accent:#b85838;--color-accent-2:#c96f4c;
--color-divider:color-mix(in srgb,#2b201a 38%,transparent);
--color-accent-100:#fbf1ec;--color-accent-200:#f6e0d6;--color-accent-300:#eec4b3;--color-accent-400:#de9a80;--color-accent-500:#c96f4c;--color-accent-600:#a94d2f;--color-accent-700:#8c3f26;--color-accent-800:#6b301d;--color-accent-900:#472115;
--color-accent-2-100:#fbf1ec;--color-accent-2-200:#f6e0d6;--color-accent-2-300:#eec4b3;--color-accent-2-400:#de9a80;--color-accent-2-500:#c96f4c;--color-accent-2-600:#a94d2f;--color-accent-2-700:#8c3f26;--color-accent-2-800:#6b301d;--color-accent-2-900:#472115;
--color-neutral-100:#f8f2ee;--color-neutral-200:#eae2dc;--color-neutral-300:#d8cdc5;--color-neutral-400:#bbaea6;--color-neutral-500:#9d9089;--color-neutral-600:#7f736c;--color-neutral-700:#625852;--color-neutral-800:#463d38;--color-neutral-900:#2f2822;
}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}
a{color:var(--color-accent-700)}
a:hover{color:var(--color-accent-800)}
img{display:block}

/* product & category cards */
.pcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--color-bg);transition:background .15s ease}
.pcard:hover{background:var(--color-accent-100)}
.pcard .ph{overflow:hidden}
.pcard .ph img{transition:transform .4s ease}
.pcard:hover .ph img{transform:scale(1.05)}
.pcard:hover .pcta{background:var(--color-accent-600)}

/* menu category cells */
.cat{text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:background .15s ease}
.cat:hover{background:var(--color-accent-100)}
.cat:hover .cat-cta{color:var(--color-accent-800)}
.cat img{transition:transform .35s ease}
.cat:hover img{transform:scale(1.04)}

/* custom cake occasions */
.occ{padding:14px 18px;border:0.5px solid rgba(43,32,26,.16);border-radius:4px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:3px;transition:background .15s ease,border-color .15s ease}
.occ:hover{background:var(--color-accent-100);border-color:var(--color-accent-400)}

/* FAQ accordion */
.qa{border-top:0.5px solid rgba(43,32,26,.18)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:16px;padding:20px 0;transition:color .15s ease}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--color-accent-700)}
.qa summary .n{font:800 15px var(--font-heading);color:var(--color-accent-400);flex:none;min-width:24px}
.qa summary .q{font:800 20px/1.25 var(--font-heading);flex:1}
.qa summary .m{font:400 22px var(--font-body);color:var(--color-accent-700);flex:none;line-height:1}
.qa[open] summary{color:var(--color-accent-700)}
.qa[open] summary .m{transform:rotate(45deg)}

/* blog post table of contents */
.toc a{display:block;padding:8px 0;border-top:0.5px solid rgba(43,32,26,.16);font:400 12.5px var(--font-body);color:inherit;text-decoration:none}
.toc a:hover{color:var(--color-accent-700)}

/* empty product photo slot */
.photo-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:0.5px dashed rgba(43,32,26,.25)}
.photo-slot span{font:400 11px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:rgba(43,32,26,.45)}

/* responsive: collapse the desktop grids on narrow screens */
@media (max-width:900px){
  main > div{width:100% !important}
  main [class*="grid-"]{grid-template-columns:1fr !important}
  main nav{flex-wrap:wrap;gap:12px !important}
  main h1{font-size:38px !important}
  main h2{font-size:26px !important}
}
