/* Catering: existing page, distinct content sections and one inquiry planner. */
.catering-page .editorial{columns:auto;display:block;padding-top:clamp(2.5rem,5vw,5rem)}
.catering-occasions,.catering-logistics{margin-bottom:clamp(3rem,6vw,5rem)}
.catering-page .catering-lead{max-width:72ch}
.catering-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:2rem 0}
.catering-cards>section{display:flex;flex-direction:column;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid #d8d0c6;background:#fff}
.catering-page .catering-cards h3{margin:0 0 1rem;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.12}
.catering-cards .text-link{margin-top:auto;padding-top:.75rem}
.catering-other{font-size:.95rem}
.catering-logistics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:2rem;border-block:1px solid #d8d0c6}
.catering-logistics dl{margin:0}
.catering-logistics dl>div{padding:1rem 0;border-bottom:1px solid #d8d0c6}
.catering-logistics dl>div:first-child{padding-top:0}
.catering-logistics dl>div:last-child{border:0}
.catering-logistics dt{font-weight:700}
.catering-logistics dd{margin:.4rem 0 0;color:#4d4e49}
.catering-page .tool-intro{max-width:780px}
.catering-page #sh-catering-app{scroll-margin-top:110px}
.catering-page .catering-questions{max-width:850px;margin:3rem auto 0}
.catering-questions details{border-bottom:1px solid #d8d0c6;padding:1.15rem 0}
.catering-questions summary{font-weight:600;cursor:pointer}
.catering-page .catering-questions details p{margin:1rem 0 0}
.catering-page .catering-follow-links{margin-top:2rem;font-size:.95rem}
.catering-page .visual-pair{display:block;max-width:900px;margin:auto;padding-bottom:4rem}
.catering-page .visual-pair figure{min-height:0}
.catering-page .visual-pair img{height:auto;width:100%;max-height:580px;object-fit:contain}
@media(max-width:850px){.catering-cards,.catering-logistics{grid-template-columns:minmax(0,1fr)}.catering-cards>section{padding:1.5rem}.catering-logistics{gap:1rem}}


/* The single cake photograph gets its own usable width, without inherited viewport padding. */
.catering-page .visual-pair{width:calc(100% - 2.5rem);max-width:900px;margin:0 auto;padding:0 0 3rem}
.catering-page .visual-pair figure{margin:0;border-radius:6px;min-height:0}
.catering-page .visual-pair img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.catering-page .catering-questions{text-align:left}
.catering-page .catering-questions h2{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.18}
.catering-page .catering-follow-links{max-width:70ch;line-height:1.7}

/* Card headings wrap only between words, including Safari. */
.catering-page .catering-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.catering-page .catering-cards>section{min-width:0}
.catering-page .catering-cards h3{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.2;hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal;text-wrap:balance}

/* One continuous planning flow, using the existing Schmiedehafen palette. */
.catering-page #sm-fest .sf-invitation{padding-top:1.4rem;padding-bottom:1.5rem}
.catering-page #sm-fest .sf-invitation-top{margin-bottom:.65rem}
.catering-page #sm-fest .sf-invitation h2{font-size:clamp(1.25rem,2.6cqw,1.8rem);line-height:1.4;letter-spacing:-.02em;max-width:none}
.catering-page #sm-fest .sf-invitation-bottom{margin-top:.8rem;gap:.8rem}
.catering-page #sm-fest #sf-other-occasion{width:100%;padding:13px 10px;background:transparent;border:1px solid #c7c9bc;color:var(--sf-dark);font-size:1rem;color-scheme:light}
.catering-page .editorial{padding-top:1.5rem}
.catering-page #sh-catering-app{margin-top:0}
#sh-catering-app[data-unified="true"] [data-planning-mirror]{display:none!important}
.catering-page .catering-edit{display:inline-flex;align-items:center;min-height:44px;margin-bottom:1rem;font-size:.95rem}
.catering-page .catering-edit[hidden]{display:none}
.catering-page .catering-final-note{font-size:.9rem;line-height:1.6;margin-top:1.5rem}
