/* Photos: breaks between menu sections, the one-at-a-time gallery, and the enlarged-photo viewer.
   Photos always show in full (object-fit: contain) — nothing is cropped. */

.food-photo-link{display:block;overflow:hidden;background:var(--deep);cursor:zoom-in}
.food-photo-link:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}

/* Photo between menu sections */
.menu-photo-break{width:min(780px,100%);margin:46px auto 4px;padding:0;border:5px solid var(--navy);border-radius:10px;box-shadow:8px 8px 0 var(--blue);overflow:hidden;background:var(--navy)}
.menu-photo-break .food-photo-link{border-radius:0}
.menu-photo-break img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}


/* Gallery */
.gallery-section{background:var(--deep);color:var(--cream);padding:72px 0 80px;position:relative;text-align:center}
.gallery-section .label{color:var(--yellow)}
.gallery-section h2{margin-bottom:10px}
.gallery-section .wrap>p{margin:0 auto;max-width:560px;color:#d5e1f5}
.food-swipe-carousel{max-width:960px;margin:30px auto 0;min-width:0}
.food-stage{position:relative}
.food-swipe-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:5px solid var(--cream);border-radius:10px;background:var(--deep);box-shadow:10px 10px 0 var(--red)}
.food-swipe-track::-webkit-scrollbar{display:none}
.food-swipe-track>.food-photo-link{flex:0 0 100%;min-width:0;aspect-ratio:1672/941;scroll-snap-align:start;scroll-snap-stop:always}
.food-swipe-track img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}

.food-swipe-track:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}

/* Arrows sit over the photo on desktop */
.food-arrow{position:absolute;top:50%;z-index:2;width:52px;height:52px;margin-top:-26px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--cream);color:var(--navy);box-shadow:0 4px 14px #0b193699;cursor:pointer;transition:transform .2s,background-color .2s,opacity .2s}
.food-arrow svg{width:22px;height:22px;display:block}
.food-arrow#gallery-prev{left:-26px}
.food-arrow#gallery-next{right:-26px}
.food-arrow:hover:not(:disabled){background:var(--yellow);transform:scale(1.08)}
.food-arrow:disabled{opacity:0;pointer-events:none}
.food-arrow:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

.food-swipe-footer{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:22px}
#gallery-position{margin:0;font-size:14px;font-weight:700;letter-spacing:.06em;color:#d5e1f5}
.food-swipe-dots{display:flex;justify-content:center;flex-wrap:wrap}
.food-swipe-dots button{width:30px;height:44px;border:0;background:transparent;display:grid;place-items:center;padding:0;cursor:pointer}
.food-swipe-dots button::before{content:"";width:10px;height:10px;border:2px solid var(--cream);border-radius:50%;transition:transform .25s,background-color .25s,border-color .25s,width .25s,border-radius .25s}
.food-swipe-dots button:hover::before{border-color:var(--yellow)}
.food-swipe-dots button[aria-pressed="true"]::before{width:22px;border-radius:6px;background:var(--yellow);border-color:var(--yellow)}
.food-swipe-dots button:focus-visible{outline:3px solid var(--yellow);outline-offset:-4px;border-radius:6px}

/* Enlarged photo viewer */
.food-lightbox{width:min(1280px,96vw);max-width:96vw;max-height:94svh;padding:60px 16px 16px;border:0;border-radius:12px;background:var(--deep);color:var(--cream);overflow:auto}
.food-lightbox::backdrop{background:#040b19ea}
.food-lightbox>img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(90svh - 130px);object-fit:contain;margin:auto;border-radius:6px}
.lightbox-close{position:absolute;top:8px;right:10px;width:46px;height:46px;border:0;border-radius:50%;background:var(--cream);color:var(--navy);font:32px/1 Arial;cursor:pointer;transition:background-color .2s,transform .2s}
.lightbox-close:hover{background:var(--yellow);transform:scale(1.06)}
.lightbox-caption{text-align:center;font-size:15px;margin:14px 0 0}

/* Phones and touch: swipe + dots, no overlay arrows */
@media(max-width:1060px){
  .food-arrow#gallery-prev{left:8px}
  .food-arrow#gallery-next{right:8px}
}
@media(hover:none),(max-width:760px){
  .food-arrow{display:none}
}
@media(max-width:760px){
  .menu-photo-break{margin-top:32px;border-width:4px;box-shadow:5px 5px 0 var(--blue)}
  .gallery-section{padding:52px 0 60px}
  .food-swipe-carousel{margin-top:22px}
  .food-swipe-track{border-width:4px;box-shadow:6px 6px 0 var(--red);margin-right:6px}
  .food-swipe-dots button{width:26px}
  .food-lightbox{padding:60px 8px 12px}
  .lightbox-caption{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .menu-photo-break img,.food-swipe-track img{transition:none}
  .menu-photo-break .food-photo-link:hover img,.food-swipe-track .food-photo-link:hover img{transform:none}
}

@media(max-width:760px){
 .lightbox-close{appearance:none;-webkit-appearance:none;background:#ffffff;color:#172b59;-webkit-text-fill-color:#172b59;border:1px solid #c4cdd8;box-shadow:none}
 .lightbox-close:hover{background:#edf1f5;color:#172b59;border-color:#8e9eb3;transform:none}
 .lightbox-close:active{background:#e2e8ef;color:#172b59;border-color:#75869c;transform:none}
 .lightbox-close:focus-visible{background:#ffffff;color:#172b59;border-color:#172b59;outline:3px solid #86d1e5;outline-offset:3px}
}
