/* Occasion collection: one photographic chapter per offering, with swipeable details. */
.occasion-collection{padding-bottom:0}
.occasion-dock{max-width:calc(100% - 28px);margin-bottom:48px}
.occasion-dock .category-bar{display:flex;flex-wrap:wrap;justify-content:center}
.occasion-dock .category-bar button{white-space:nowrap}
.occasion-category{padding:68px 7% 62px}
.occasion-category[data-category=finger-food]{background:#e6e5db}
.occasion-category[data-category=buffet-dinner]{background:#e9e0d1}
.occasion-category[data-category=taatima]{background:#dce6df}
.occasion-category>.section-wave{fill:var(--edit-paper)}
.occasion-category>.wave-bottom{fill:var(--edit-paper)}
.occasion-category+.occasion-category>.section-wave{fill:#e6e5db}
.occasion-category[data-category=taatima]>.section-wave{fill:#e9e0d1}
.category-heading{margin:15px auto 45px}
.category-heading h3{font-size:clamp(55px,7vw,96px)}
.category-headline{font:400 clamp(19px,2vw,27px)/1.35 var(--display);color:#60766d;margin:16px 0 0}
.setting-carousel{position:relative;max-width:1220px;height:clamp(360px,45vw,610px);margin:0 auto;overflow:hidden;border-radius:70px 70px 28px 28px;background:#263f3b;box-shadow:0 18px 45px #263f3b14}
.setting-carousel>img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:center 66%;transition:opacity .25s ease}
.setting-carousel.is-changing>img{opacity:.45}
.setting-carousel figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:42px 35px 24px;color:#fff;background:linear-gradient(transparent,#122d25a8);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.setting-count{margin-right:100px}
.setting-arrows,.gallery-arrows{display:flex;gap:8px}
.setting-arrows{position:absolute;right:25px;bottom:18px}
.setting-arrows button,.gallery-arrows button,.view-tools button{display:grid;place-items:center;border:1px solid #fff9;color:#fff;background:#14342cb8;border-radius:50%;width:45px;height:45px;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}
.setting-arrows button:hover,.gallery-arrows button:hover{background:#bc965e;transform:translateY(-2px)}
.category-description{max-width:1220px;margin:35px auto 40px;display:flex;justify-content:space-between;gap:30px;align-items:start;border-bottom:1px solid #324c472a;padding:0 5px 30px}
.category-description span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#667c73;white-space:nowrap;padding-top:5px}
.category-description p{font-size:14px;line-height:1.8;color:#405c53;max-width:470px;margin:0}
.subcategory-grid{max-width:1220px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.gallery-card{min-width:0;background:#f8f4ed;border-radius:55px 55px 28px 28px;overflow:hidden;box-shadow:0 8px 25px #263f3b0c}
.gallery-card-heading{position:relative;min-height:127px;padding:30px 33px 22px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 15px}
.gallery-card-heading p{grid-column:1/-1;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#71867a;margin:0 0 12px}
.gallery-card-heading h4{font:400 clamp(28px,2.7vw,39px)/1.1 var(--display);letter-spacing:-.025em;margin:0;color:var(--green)}
.gallery-card-heading span{font-size:10px;color:#688076;white-space:nowrap;padding-bottom:4px}
.gallery-viewport{height:450px;position:relative;margin:0 13px;background:#e6e1d8;border-radius:28px 28px 14px 14px;overflow:hidden}
.gallery-dish{height:100%;position:relative}
.gallery-dish[hidden]{display:none}
.dish-picture{position:relative;height:100%;min-width:0;min-height:0;overflow:hidden}
.dish-picture img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 72%;transition:opacity .18s}
.dish-picture img.is-changing{opacity:.4}
.dish-caption{position:absolute;inset:auto 0 0;min-height:94px;padding:36px 22px 14px;background:linear-gradient(transparent,#102820b8);color:#fff;display:flex;justify-content:space-between;gap:10px;align-items:end}
.dish-caption h5{font:400 clamp(22px,2vw,29px)/1.1 var(--display);margin:0;max-width:65%}
.view-tools{display:flex;align-items:center;gap:5px;white-space:nowrap}
.view-tools[hidden]{display:none}
.view-tools button{width:28px;height:28px;background:#faf6ed30;border-color:#fff7;font-size:15px}
.view-tools button:hover{background:#c69d5c}
.view-tools span{font-size:8px;letter-spacing:.04em}
.gallery-footer{display:flex;justify-content:space-between;align-items:center;padding:19px 27px 22px;min-height:75px}
.gallery-progress{font-size:12px;letter-spacing:.1em;color:#60766d}
.gallery-arrows button{background:var(--green);border-color:var(--green);width:39px;height:39px}
.gallery-arrows button:disabled{opacity:.38;cursor:default;transform:none;background:var(--green)}
.occasion-dock .category-bar button[aria-pressed=true]{box-shadow:0 4px 15px #173b2f20}
@media(max-width:900px){.subcategory-grid{gap:17px}.gallery-viewport{height:390px}.gallery-card-heading{padding:25px 22px 19px}.dish-caption{display:block}.dish-caption h5{max-width:100%}.view-tools{margin-top:9px}}
@media(max-width:700px){.occasion-dock{position:sticky;top:70px;width:calc(100% - 20px);border-radius:25px}.occasion-dock .category-bar button{padding:11px 12px;font-size:10px}.occasion-category{padding:65px 5% 55px}.setting-carousel{height:330px;border-radius:45px 45px 20px 20px}.setting-carousel figcaption{padding:35px 17px 16px;font-size:9px}.setting-count{margin-right:90px}.setting-arrows{right:14px;bottom:10px}.setting-arrows button{width:35px;height:35px}.category-description{display:block;margin:26px auto 30px}.category-description p{margin-top:12px;font-size:12px}.subcategory-grid{grid-template-columns:1fr;gap:25px}.gallery-card{border-radius:42px 42px 24px 24px}.gallery-card-heading{min-height:113px}.gallery-viewport{height:390px}.dish-caption{display:flex}.view-tools{margin-top:0}}
@media(max-width:480px){.occasion-dock{top:72px;padding:5px}.occasion-dock .category-bar{gap:0}.occasion-dock .category-bar button{font-size:9px;padding:10px 9px;min-height:42px}.category-heading h3{font-size:60px}.category-headline{font-size:20px}.setting-carousel{height:270px}.setting-carousel figcaption{font-size:8px}.gallery-viewport{height:330px}.dish-caption{display:block;padding:35px 16px 11px}.dish-caption h5{font-size:25px}.view-tools{margin-top:5px}.view-tools button{width:36px;height:36px}.gallery-card-heading h4{font-size:31px}}
@media(prefers-reduced-motion:reduce){.setting-carousel>img,.dish-picture img,.setting-arrows button,.gallery-arrows button{transition:none}}
