/* /restaurant/ decorative layers (markup from _build/decor/restaurant.py) */

/* containers: sit behind the section content, clipped to the section */
.page-intro, .section.restaurant, .pmosaic--light, .cta-band { isolation: isolate; }
.section.restaurant, .pmosaic--light { position: relative; }
.dz-r-layer { position: absolute; inset: 0; overflow: hidden; z-index: -1; pointer-events: none; }
.dz-r-layer * { pointer-events: none; }
.dz-r-svg { position: absolute; display: block; overflow: visible; }

/* line + fill styles (light sections) */
.dz-r-ln { fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.dz-r-fl { fill: currentColor; stroke: none; }
.dz-r-gold { stroke: #c99a5b; }

/* ---- intro: wheat & herbs on the left, fir branch, rowan and mushrooms on the right ---- */
.dz-r-side { bottom: 0; width: clamp(150px, 19vw, 290px); height: auto; aspect-ratio: 300 / 380; color: #c99a5b; opacity: .5; }
.dz-r-side--l { left: max(4px, calc(50% - 430px - 19vw - 2vw)); }
.dz-r-side--r { right: max(4px, calc(50% - 430px - 19vw - 2vw)); color: #2b3d32; opacity: .26; }
.dz-r-side--r .dz-r-fl { color: #8b5a30; }
@media (max-width: 1080px) { .dz-r-side { width: clamp(110px, 16vw, 170px); opacity: .32; } .dz-r-side--r { opacity: .18; } .dz-r-side--l { left: 0; } .dz-r-side--r { right: 0; } }
@media (max-width: 760px) { .dz-r-side { display: none; } }

/* ---- restaurant section: terrace view along the bottom + margin sprigs ---- */
.dz-r-view { left: 0; bottom: 0; width: 100%; height: clamp(170px, 24vw, 340px); opacity: .8;
  -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent); mask-image: linear-gradient(to bottom, #000 62%, transparent); }
.dz-r-l1 { fill: #e4d7bf; opacity: .38; }
.dz-r-l2 { fill: #e4d7bf; opacity: .62; }
.dz-r-l3 { fill: #c99a5b; opacity: .16; }
.dz-r-l4 { fill: #2b3d32; opacity: .13; }
.dz-r-mist { fill: #fbf7f0; opacity: .75; }

.dz-r-edge { top: clamp(60px, 8vw, 120px); width: min(150px, calc((100vw - 1280px) / 2 + 40px)); height: auto; aspect-ratio: 160 / 420; color: #c99a5b; opacity: .45; }
.dz-r-edge--l { left: 6px; }
.dz-r-edge--r { right: 0; top: clamp(260px, 30vw, 420px); color: #2b3d32; opacity: .22; }
.dz-r-edge--r .dz-r-fl { color: #8b5a30; }
@media (max-width: 1399px) { .dz-r-edge { display: none; } }

/* ---- ornament: small wheat sprigs at the ends of the rule ---- */
.dz-r-ornament { position: relative; isolation: isolate; overflow: hidden; }
.dz-r-ornament .dz-r-orn { top: 50%; width: 84px; height: 42px; margin-top: -22px; color: #c99a5b; opacity: .65; z-index: -1; pointer-events: none; }
.dz-r-ornament .dz-r-orn--l { right: calc(50% + 19px + 18px + 220px + 6px); }
.dz-r-ornament .dz-r-orn--r { left: calc(50% + 19px + 18px + 220px + 6px); transform: scaleX(-1); }
@media (max-width: 640px) { .dz-r-orn { display: none; } }

/* ---- gallery: topographic rings + steaming dish beside the heading ---- */
.dz-r-topo { inset: 0; width: 100%; height: 100%; color: #e4d7bf; opacity: .85; }
.dz-r-dish { top: calc(var(--sec, 120px) - 20px); right: max(var(--gutter), calc((100% - 1280px) / 2 + var(--gutter))); width: clamp(240px, 27vw, 390px); height: auto; aspect-ratio: 400 / 310; color: #c99a5b; opacity: .62; }
.dz-r-dish .dz-r-fl { opacity: .8; }
.dz-r-steam { fill: none; stroke: #c99a5b; stroke-width: 1.2; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: .9; }
@media (max-width: 1020px) {
  .dz-r-dish { top: 14px; width: 116px; opacity: .55; }
}

/* ---- cta band (dark): stars, crescent moon, layered night ridges ---- */
.dz-r-night { left: 0; bottom: 0; width: 100%; height: 100%;
  -webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent); mask-image: linear-gradient(to bottom, #000 88%, transparent); }
.dz-r-star { fill: #e3c18c; opacity: .5; }
.dz-r-moon { fill: #e3c18c; opacity: .22; }
.dz-r-n1 { fill: #2b3d32; opacity: .5; }
.dz-r-n2 { fill: #22362b; opacity: .95; }
.dz-r-n3 { fill: #2b3d32; opacity: .55; }

/* ---- gentle motion ---- */
@media (prefers-reduced-motion: no-preference) {
  .dz-r-steam { stroke-dasharray: 34 12; animation: dz-r-steam 9s linear infinite; }
  .dz-r-mist { animation: dz-r-drift 26s ease-in-out infinite alternate; }
  .dz-r-mist--b { animation-duration: 34s; animation-direction: alternate-reverse; }
  .dz-r-twk { animation: dz-r-twinkle 4.5s ease-in-out infinite; }
  .dz-r-twk--b { animation-delay: -2.2s; animation-duration: 5.5s; }
}
@keyframes dz-r-steam { to { stroke-dashoffset: -138; } }
@keyframes dz-r-drift { from { transform: translateX(-30px); } to { transform: translateX(30px); } }
@keyframes dz-r-twinkle { 0%, 100% { opacity: .18; } 50% { opacity: .7; } }
