/* ==========================================================================
   Outlet pages (/outlets/<slug>/) — loaded on those pages only. Same look as Get My Sushi (order.css).
   ========================================================================== */
.outlet-intro { background: #FFF7EC; padding: clamp(3rem, 6vw, 6rem) 0; }
.outlet-intro__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.outlet-intro__kicker { font-weight: 800; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; color: #9a6410; }
.outlet-intro__title { margin-top: .5rem; font-weight: 900; font-size: clamp(1.9rem, 3.6vw, 3.2rem); line-height: 1.08; letter-spacing: -.01em; }
.outlet-intro__text { margin-top: 1rem; max-width: 58ch; font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.65; }

.outlet-facts { display: grid; gap: .9rem; margin-top: 1.6rem; padding: clamp(1.1rem, 2vw, 1.5rem); background: var(--white); border-radius: 22px; }
.outlet-facts li { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: .8rem; font-size: .95rem; line-height: 1.45; }
.outlet-facts__label { font-weight: 800; }
.outlet-facts a { color: #a04f00; font-weight: 700; text-underline-offset: 3px; }
.outlet-intro__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }

.outlet-intro__photo { margin: 0; }
.outlet-intro__photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 6px solid var(--white); border-radius: 26px; box-shadow: 0 16px 36px rgba(120, 80, 20, .16); }
.outlet-intro__photo figcaption { margin-top: .8rem; text-align: center; font-weight: 800; font-size: .9rem; color: #7a5a2e; }

.outlet-gallery { background: #FFF7EC; padding-bottom: clamp(3rem, 6vw, 5rem); }
.outlet-gallery__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(.8rem, 1.6vw, 1.4rem); max-width: 1180px; margin: clamp(1.6rem, 3vw, 2.4rem) auto 0; }
.outlet-gallery__list a { display: block; overflow: hidden; border-radius: 22px; }
.outlet-gallery__list img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: scale .4s ease; }
.outlet-gallery__list a:hover img { scale: 1.04; }

.outlet-map { background: #FFF7EC; padding-bottom: clamp(3rem, 6vw, 5rem); }
.outlet-map__frame { display: block; width: 100%; height: clamp(280px, 34vw, 440px); border: 0; border-radius: 24px; background: #eadfce; }

.outlet-section-title { font-weight: 900; font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.1; text-align: center; }
.outlet-section-lead { max-width: 66ch; margin: 1rem auto 0; text-align: center; line-height: 1.6; }

.outlet-eat { background: var(--white); padding: clamp(3rem, 6vw, 5.5rem) 0; }
.outlet-dishes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 2vw, 1.6rem); max-width: 1040px; margin: clamp(1.8rem, 3vw, 2.6rem) auto 0; }
.outlet-dishes a { display: grid; gap: .6rem; text-decoration: none; text-align: center; }
.outlet-dishes img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; transition: translate .25s var(--ease-pop); }
.outlet-dishes a:hover img { translate: 0 -4px; }
.outlet-dishes__name { font-weight: 800; line-height: 1.25; }
.outlet-eat__more { margin-top: 2rem; text-align: center; }

.outlet-faq { background: #FFF7EC; padding: clamp(3rem, 6vw, 5.5rem) 0; }
.outlet-faq__list { display: grid; gap: .8rem; max-width: 820px; margin: clamp(1.6rem, 3vw, 2.4rem) auto 0; }
.outlet-faq__item { background: var(--white); border-radius: 18px; padding: 1rem 1.3rem; }
.outlet-faq__item summary { cursor: pointer; font-weight: 800; font-size: 1.05rem; line-height: 1.35; }
.outlet-faq__item p { margin-top: .7rem; line-height: 1.6; }

.outlet-others { background: var(--white); padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem); }
.outlet-others__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .8rem; max-width: 1040px; margin: 1.8rem auto 0; }
.outlet-others__list a { display: grid; gap: .2rem; padding: 1rem 1.2rem; font-weight: 800; text-decoration: none; background: #FFF7EC; border: 2px solid var(--ink); border-radius: 18px; box-shadow: 0 4px 0 var(--ink); transition: translate .2s var(--ease-pop); }
.outlet-others__list a:hover { translate: 0 -2px; }
.outlet-others__list span { font-weight: 600; font-size: .88rem; color: #7a5a2e; }

@media (max-width: 767px) {
	.outlet-intro__grid { grid-template-columns: 1fr; }
	.outlet-intro__photo { order: -1; }
	.outlet-intro__photo img { aspect-ratio: 4 / 3; }
	.outlet-facts li { grid-template-columns: 1fr; gap: .15rem; }
	.outlet-dishes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.outlet-intro__actions .btn { flex: 1 1 100%; }
}
