.order-gallery-section{padding-bottom:48px;min-width:0}
.order-gallery-subtitle{margin:4px 0 0;color:#465248;font-size:15px;font-weight:500}
.order-gallery-carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:16px}
.order-gallery-scroller{display:flex;gap:16px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.order-gallery-scroller.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.order-gallery-card{position:relative;flex:0 0 calc((100% - 48px) / 4);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;color:inherit;text-align:inherit;padding:0}
a.order-gallery-open{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
a.order-gallery-open:focus-visible,.order-gallery-expand:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.order-gallery-expand{position:absolute;top:8px;inset-inline-start:8px;z-index:1;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);font:inherit;font-size:18px;line-height:1;cursor:pointer}
.order-gallery-media{aspect-ratio:4/3;background:#efeee5;overflow:hidden}
.order-gallery-media img{width:100%;height:100%;display:block;object-fit:cover}
.order-gallery-copy{padding:10px 12px 12px}
.order-gallery-occasion{margin:0;color:#8d713e;font-size:12px;font-weight:700}
.order-gallery-caption{margin:2px 0 0;font-size:14px;line-height:1.7;font-weight:700}
.order-gallery-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);font-size:28px;line-height:1}
.order-gallery-arrow:disabled{opacity:.4}
.order-gallery-all{margin-top:18px}
.order-gallery-page{padding-top:28px;padding-bottom:48px}
.order-gallery-page h1{font-size:clamp(28px,3vw,36px);margin:8px 0}
.order-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}
.order-gallery-grid .order-gallery-card{flex:none}
.order-gallery-empty{margin-top:18px;padding:28px 18px;border:1px dashed #bdc6b3;border-radius:9px;background:#fff;text-align:center}
.order-gallery-lightbox{width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:16px 16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);box-shadow:0 15px 60px #102b3340;overflow:auto}
.order-gallery-lightbox::backdrop{background:#102b3399}
.order-gallery-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.order-gallery-lightbox-stage{min-height:180px;background:#173d32;border-radius:8px;overflow:hidden}
.order-gallery-lightbox-stage img{display:block;width:100%;max-height:min(70dvh,720px);margin-inline:auto;object-fit:contain;background:#173d32;touch-action:pan-y}
.order-gallery-lightbox-caption{margin:12px 0 0;font-size:16px;line-height:1.8}
.order-gallery-photo{padding-top:28px;padding-bottom:56px}
.order-gallery-photo h1{font-size:clamp(28px,3vw,36px);margin:8px 0}
.order-gallery-photo-frame{max-width:960px;margin:18px auto 0;background:#173d32;border-radius:12px;overflow:hidden}
.order-gallery-photo-frame img{display:block;width:100%;max-height:min(72dvh,760px);margin-inline:auto;object-fit:contain;background:#173d32}
.order-gallery-similar{margin:16px 0 0}
.order-gallery-similar-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:8px;background:#173d32;color:#fffdf8;font-weight:700;text-decoration:none}
.order-gallery-lightbox .order-gallery-similar{margin-top:12px}
.order-gallery-lightbox .order-gallery-similar-link{min-height:44px;font-size:15px}
.order-gallery-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.order-gallery-share a,.order-gallery-share button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.order-gallery-copy-status{margin:8px 0 0;color:#173d32;font-weight:700}
.order-gallery-steps{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-top:22px}
.order-gallery-step{min-height:44px;display:inline-flex;align-items:center;font-weight:700;color:var(--green);text-decoration:none}
.order-gallery-step.is-disabled{opacity:.4}
.order-gallery-lightbox-nav{display:flex;gap:8px}
@media(max-width:1050px){
  .order-gallery-card{flex-basis:calc((100% - 32px) / 3)}
  .order-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:430px){
  .order-gallery-share{display:grid;grid-template-columns:1fr}
  .order-gallery-similar-link{width:100%}
  .order-gallery-photo{padding-bottom:88px}
  .order-gallery-photo-frame img{max-height:68dvh}
  .order-gallery-steps{gap:8px}
}
@media(max-width:760px){
  .order-gallery-section{padding-bottom:32px}
  .order-gallery-card{flex-basis:calc((100% - 16px) / 1.65)}
  .order-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .order-gallery-lightbox{width:calc(100% - 16px);padding:12px}
}
@media(max-width:360px){
  .order-gallery-card{flex-basis:calc(100% - 24px)}
  .order-gallery-grid{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .order-gallery-scroller{scroll-behavior:auto}
  .order-gallery-lightbox,.order-gallery-lightbox[open]{animation:none}
}
