/* Shared front-end/editor presentation for ordinary, editable WordPress blocks. */
.cye-service-detail .service-detail-body > .cye-catering { width: 100%; max-width: 1180px; }
.cye-catering { --catering-gap: var(--section-space,72px); --catering-green: #24d186; --catering-line: #ffffff22; --catering-muted: #acbdb8; color: #f4f7f6; }
/* Classic WordPress themes insert a Group inner container. Space the named
   sections themselves so saved content works with or without that wrapper. */
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering > *,
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering > .wp-block-group__inner-container > * { margin-block: 0; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering :is(.cye-catering-benefits,.cye-catering-options,.cye-catering-gallery,.cye-catering-brochures) { margin-top: var(--catering-gap); }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering h2 { margin: 0; color: #f4f7f6; font-size: var(--heading-section,46px); line-height: 1.12; letter-spacing: -.035em; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering h3 { margin: 0; color: #f4f7f6; font-size: var(--heading-card,22px); line-height: 1.25; letter-spacing: -.02em; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering p { margin: 18px 0 0; font-size: 16px; line-height: 1.7; color: var(--catering-muted); }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-eyebrow { margin: 0 0 16px; color: var(--catering-green); font-size: 12px; line-height: 1.6; font-weight: 600; letter-spacing: .12em; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .wp-block-columns { display: flex; flex-wrap: nowrap !important; gap: 32px; margin-bottom: 0; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .wp-block-column { flex: 1 1 0; min-width: 0; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-intro { align-items: center; gap: 64px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-lead { margin-top: 24px; font-size: 18px; color: #d3dfd9; }
.cye-catering .cye-catering-intro-photo figure { margin: 0; max-width: none; }
.cye-catering .cye-catering-intro-photo img { width: 100%; height: 390px; object-fit: cover; border-radius: 8px; }
.cye-catering .cye-catering-intro-photo figcaption { font-size: 12px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-jump { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 24px; }
.cye-catering .cye-catering-jump a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; font-weight: 600; }
.cye-catering .cye-catering-jump a::after { content: '↓'; font-size: 18px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-benefits { gap: 24px; }
.cye-catering .cye-catering-benefit { padding: 28px; border: 1px solid var(--catering-line); border-radius: 8px; background: #081917; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-benefit h3 { font-size: 21px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-benefit p { margin-top: 14px; font-size: 14px; }
.cye-catering :is(.cye-catering-benefit,.cye-catering-download)::before { content: ''; display: block; width: 26px; height: 26px; margin-bottom: 24px; background: var(--catering-green); mask: var(--catering-icon) center / contain no-repeat; -webkit-mask: var(--catering-icon) center / contain no-repeat; }
.cye-catering-icon-menu { --catering-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17a8 8 0 0 1 16 0H4ZM2 21h20M12 9V6m-2 0h4'/%3E%3C/svg%3E"); }
.cye-catering-icon-fresh { --catering-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 3c0 12-3 16-10 16a6 6 0 0 1-6-6C4 6 9 3 20 3ZM4 21 15 10'/%3E%3C/svg%3E"); }
.cye-catering-icon-event { --catering-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
.cye-catering-icon-drinks { --catering-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 3 9 10 9-10H3Zm9 10v8m-5 0h10M8 7h8'/%3E%3C/svg%3E"); }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-options { gap: 80px; padding-block: 48px; border-block: 1px solid var(--catering-line); align-items: flex-start; }
.cye-catering .cye-catering-section-intro { max-width: 390px; }
.cye-catering .cye-catering-option { border-bottom: 1px solid var(--catering-line); padding: 0; margin: 0; }
.cye-catering .cye-catering-option:last-child { border-bottom: 0; }
.cye-catering .cye-catering-option summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 20px 0; font-family: var(--head,'Wix Madefor Text',sans-serif); font-size: 18px; font-weight: 600; line-height: 1.4; color: #f4f7f6; list-style: none; cursor: pointer; }
.cye-catering .cye-catering-option summary::-webkit-details-marker { display: none; }
.cye-catering .cye-catering-option summary::after { content: '+'; flex: 0 0 24px; text-align: center; font-size: 24px; font-weight: 400; color: var(--catering-green); }
.cye-catering .cye-catering-option[open] summary::after { content: '−'; }
.cye-catering .cye-catering-option summary:hover { color: var(--catering-green); }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-option > p { margin: 0; padding: 0 32px 24px 0; font-size: 15px; }
.cye-catering .cye-catering-option summary:focus-visible { outline: 1px solid var(--catering-green); outline-offset: 4px; }
.cye-catering .cye-catering-gallery .event-story-gallery,
.cye-catering .cye-catering-gallery .wp-block-gallery { margin: 32px 0 0; width: 100%; max-width: none; }
.cye-catering .cye-catering-gallery .event-story-gallery-grid[data-columns] { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.cye-catering .cye-catering-gallery .event-story-photo figcaption { font-size: 12px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-downloads { margin-top: 32px; gap: 24px; }
.cye-catering .cye-catering-download { position: relative; display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--catering-line); border-radius: 8px; background: linear-gradient(125deg,#24d1860a,transparent 70%); }
.cye-catering .cye-catering-download::before { position: absolute; top: 30px; right: 30px; margin: 0; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-file-type { margin: 0 40px 18px 0; font-size: 11px; font-weight: 600; letter-spacing: .12em; color: var(--catering-muted); }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-download p:not(.cye-catering-file-type) { font-size: 14px; }
:is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-download-link { margin-top: auto; padding-top: 24px; }
.cye-catering .cye-catering-download-link a { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-weight: 600; }
.cye-catering .cye-catering-download-link a::after { content: '↗'; font-size: 20px; }
.cye-catering-preview-banner { padding: 14px 24px; background: #14382a; color: #f4f7f6; font: 14px/1.5 sans-serif; text-align: center; }
.cye-catering-preview-banner a { margin-left: 12px; color: #61e7ac; text-decoration: underline; }
.editor-styles-wrapper .cye-catering { padding: 32px; background: #04110f; font-family: Inter,sans-serif; }
.editor-styles-wrapper .cye-catering h2,.editor-styles-wrapper .cye-catering h3 { font-family: 'Wix Madefor Text',sans-serif; }
.editor-styles-wrapper .cye-catering a { color: #24d186; }
@media(max-width:1000px) {
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-intro { gap: 32px; }
    .cye-catering .cye-catering-intro-photo img { height: 360px; }
    .cye-catering .cye-catering-benefit { padding: 24px; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-options { gap: 40px; }
    .cye-catering .cye-catering-gallery .event-story-gallery-grid[data-columns] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .cye-catering { --catering-gap: 48px; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .wp-block-columns { flex-direction: column; gap: 24px; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .wp-block-column { flex-basis: auto; width: 100%; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-lead { font-size: 17px; margin-top: 20px; }
    .cye-catering .cye-catering-intro-photo img { height: auto; aspect-ratio: 4/3; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-benefits { gap: 16px; }
    .cye-catering .cye-catering-benefit { padding: 24px; }
    .cye-catering .cye-catering-benefit::before { margin-bottom: 18px; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-options { padding-block: 32px; gap: 24px; }
    .cye-catering .cye-catering-section-intro { max-width: none; }
    .cye-catering .cye-catering-option summary { min-height: 72px; font-size: 17px; }
    .cye-catering .cye-catering-gallery .event-story-gallery-grid[data-columns] { gap: 16px; }
    .cye-catering .cye-catering-gallery :is(.event-story-gallery,.wp-block-gallery) { margin-top: 24px; }
    :is(.service-detail-body,.editor-styles-wrapper) .cye-catering .cye-catering-downloads { margin-top: 24px; gap: 16px; }
    .cye-catering .cye-catering-download { padding: 24px; }
    .cye-catering .cye-catering-download::before { top: 24px; right: 24px; }
}
