/**
 * Mobile Responsive Overrides – max-width: 768px
 *
 * @package Now_We_Takon
 * @since   1.0.0
 */

/* Global */
html, body { cursor: auto; overflow: hidden; }
#c-cursor, #progress, .s-num, .scroll-hint, .menu-arrow { display: none; }

/* Nav */
#nav {
	padding: 1.2rem 1.4rem; background: rgba(10,6,0,0.9);
	mix-blend-mode: normal; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.nav-links { display: none; }
#hamburger { display: flex; }
.nav-logo-img { width: 28px; height: 28px; }
.nav-logo-text { font-size: 1.1rem; }

/* Scroll */
#scroll-container {
	overflow-x: hidden; overflow-y: scroll; pointer-events: all;
	scroll-snap-type: y mandatory; -webkit-overflow-scrolling: touch;
}
.section {
	flex-shrink: 0; overflow: hidden; height: 100svh; min-height: 100svh;
	pointer-events: all; scroll-snap-align: start; scroll-snap-stop: always;
}
#menu-section, #catering-section, #hours-section, #community-section {
	overflow-y: auto; scroll-snap-type: none; -webkit-overflow-scrolling: touch;
}

/* Hero */
#hero { flex-direction: column; justify-content: flex-end; padding: 0 1.4rem 8vh; }
.hero-top { top: 5rem; left: 1.4rem; gap: 0.8rem; }
.hero-logo { width: 40px; height: 40px; }
.hero-status { font-size: 0.52rem; padding: 0.3rem 0.6rem; }
.hero-h1 { font-size: clamp(3.8rem, 18vw, 6rem); }
.hero-meta { flex-direction: column; gap: 1rem; margin-top: 1.5rem; }

/* Menu */
#menu-section {
	flex-direction: column; justify-content: flex-start; align-items: flex-start;
	padding: 5rem 1.4rem 2rem;
}
.s-label { margin-bottom: 0.8rem; }
.s-title { margin-bottom: 1.2rem; font-size: clamp(2rem, 9vw, 3rem); }
.menu-track-wrap { overflow: visible; width: 100%; }
.menu-track {
	flex-direction: column; gap: 0; overflow: visible;
	padding-bottom: 0.5rem; scroll-behavior: auto; cursor: auto;
}
.menu-item {
	display: grid; grid-template-columns: 2rem 1fr auto;
	grid-template-rows: auto auto; align-items: start;
	column-gap: 0.75rem; row-gap: 0.2rem;
	width: 100%; min-width: unset; padding: 0.9rem 0;
	border-top: 1px solid rgba(245,237,216,0.1);
}
.mi-num  { grid-column: 1; grid-row: 1; margin-bottom: 0; font-size: 0.52rem; padding-top: 0.2rem; }
.mi-emoji { grid-column: 1; grid-row: 2; margin-bottom: 0; font-size: 1.4rem; }
.mi-name  { grid-column: 2; grid-row: 1; margin-bottom: 0; font-size: 1.3rem; line-height: 1.1; }
.mi-price { grid-column: 3; grid-row: 1; font-size: 0.78rem; text-align: right; white-space: nowrap; }
.mi-desc  { grid-column: 2 / 4; grid-row: 2; margin-bottom: 0; font-size: 0.72rem; line-height: 1.5; }
.mi-hot   { padding: 0.1rem 0.35rem; font-size: 0.42rem; }
/* Order CTA mobile */
.order-cta { margin-top: 1rem; padding: 0.8rem 0; }
.order-cta-inner { flex-direction: column; gap: 0.8rem; align-items: stretch; }
.order-cta-text { gap: 0.6rem; }
.order-cta-emoji { font-size: 1.5rem; }
.order-cta-title { font-size: 1.1rem; }
.order-cta-sub { font-size: 0.65rem; }
.order-cta-btn {
	text-align: center; padding: 0.8rem 1.5rem; cursor: pointer; font-size: 0.95rem;
}

/* Story */
#story-section {
	flex-direction: column; justify-content: flex-start; align-items: flex-start;
	gap: 2rem; padding: 5rem 1.4rem 2rem;
}
.story-left { flex: none; width: 100%; }
.story-quote-big { margin-bottom: 1.2rem; font-size: clamp(1.8rem, 8vw, 2.8rem); }
.story-body { max-width: 100%; margin-bottom: 1rem; font-size: 0.84rem; }
.story-right { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 100%; }
.story-stat { padding: 1rem 0; }
.story-stat-n { font-size: 2.2rem; }
.story-stat-l { font-size: 0.55rem; }

/* Catering */
#catering-section {
	flex-direction: column; justify-content: flex-start; padding: 5rem 1.4rem 2rem;
}
.catering-grid { grid-template-columns: 1fr; gap: 1.5rem; }
.s-title { font-size: clamp(2rem, 9vw, 3rem); margin-bottom: 1rem; }
.ev-title { font-size: 1.1rem; }
.ev-row { padding: 0.8rem 0; gap: 1rem; }
.ev-icon { font-size: 1.3rem; }
.catering-trust { gap: 1.5rem; flex-wrap: wrap; margin-top: 1.2rem; padding-top: 1rem; }
.trust-num { font-size: 1.4rem; }
.catering-form-wrap { padding: 1rem; }
.f-row { grid-template-columns: 1fr; gap: 0.6rem; }
.catering-form { gap: 0.6rem; }
.f-input { padding: 0.65rem 0.8rem; font-size: 0.8rem; }
.btn-send { cursor: pointer; padding: 0.9rem 1.6rem; }
.form-note { font-size: 0.5rem; }

/* Hours */
#hours-section {
	flex-direction: column; justify-content: flex-start; align-items: flex-start;
	gap: 1.5rem; padding: 5rem 1.4rem 2rem;
}
.hours-left { width: 100%; }
.hours-title { margin-bottom: 1.2rem; font-size: clamp(2rem, 9vw, 3rem); }
.h-row { padding: 0.75rem 0; }
.h-day { font-size: 0.7rem; }
.h-time { font-size: 1.1rem; }
.tuesday-badge { padding: 0.1rem 0.35rem; font-size: 0.4rem; }
.hours-right { width: 100%; }
.contact-block { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.c-item { min-width: 0; padding: 0.8rem; }
.c-val { font-size: 0.9rem; word-break: break-word; }
.c-label { font-size: 0.48rem; }
.c-label-hint { display: none; }
.social-icons { gap: 0.5rem; flex-wrap: wrap; }
.social-icon { width: 32px; height: 32px; }

/* Footer */
#footer-section { justify-content: flex-end; overflow: hidden; padding: 4rem 1.4rem 3rem; }
.footer-logo-big { font-size: clamp(2.2rem, 13vw, 4.5rem); }
.footer-bottom {
	flex-direction: column; align-items: flex-start; gap: 1.2rem; padding-top: 1.5rem;
}
.footer-links { flex-wrap: wrap; gap: 0.8rem 1.5rem; }
.footer-bg-text { font-size: 26vw; }

/* Community */
#community-section {
	padding: 5rem 1.4rem 2rem; justify-content: flex-start;
}
.community-grid { grid-template-columns: 1fr; gap: 2rem; }
.ig-embed-area { max-height: 30vh; }
.partner-card { padding: 1.2rem; }
.partner-logo-img { max-width: 140px; }
.partner-name { font-size: 1.4rem; }
.partner-desc { font-size: 0.72rem; }
.partner-meta { gap: 1rem; font-size: 0.52rem; }

/* Map modal */
.map-modal-inner { width: 95vw; height: 70vh; }
