/*
Theme Name: NapulEATan Pizzeria & Deli
Theme URI: https://www.palmwebmiami.com/
Author: PALM WEB MIAMI LLC
Author URI: https://www.palmwebmiami.com/
Description: Custom theme for NapulEATan Pizzeria & Deli, a Neapolitan pizzeria and Italian deli in Fort Lauderdale, FL. Includes the full multi-page site: Home, Menu, About, Visit Us, Catering, Contact, FAQ, Gallery, Blog, Order, and neighborhood landing pages. Includes a built-in SEO layer (seo.php): titles, meta descriptions, Restaurant/Menu/FAQ/Event schema, HTTPS enforcement, and image loading fixes.
Version: 1.5
Requires at least: 5.5
Tested up to: 6.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: napuleatan
*/

html { scroll-behavior: smooth; }
body { margin: 0; background: #FBF6ED; }
a { color: #B93A21; }
a:hover { color: #8F2C18; }
img, iframe, video { max-width: 100%; }
.nn-track { scrollbar-width: none; -ms-overflow-style: none; }
.nn-track::-webkit-scrollbar { display: none; }
.custom-logo { max-height: 48px; width: auto; display: block; }

/* ===== HAMBURGER (hidden on desktop) ===== */
.nn-toggle { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.nn-burger { display: none; }
.nn-mobile { display: none; }

/* ===== TABLET (<=1024px) ===== */
@media (max-width: 1024px) {
  [style*="repeat(3"] { grid-template-columns: repeat(2, minmax(0px,1fr)) !important; }
  [style*="grid-template-columns: minmax"] { grid-template-columns: minmax(0px,1fr) !important; gap: 44px !important; }
  [style*="px 56px"] { padding-left: 40px !important; padding-right: 40px !important; }
}
/* ===== NAV -> HAMBURGER (<=900px) ===== */
@media (max-width: 900px) {
  header { flex-wrap: nowrap !important; padding: 14px 20px !important; }
  header > nav { display: none !important; }
  header > div { display: none !important; }
  .nn-burger { display: flex !important; }
  .nn-toggle:checked ~ .nn-mobile { display: flex !important; }
  body { overflow-x: hidden; }
}
/* ===== FOOTER (<=860px) ===== */
@media (max-width: 860px) {
  footer > div { flex-direction: column !important; gap: 30px !important; }
  footer > div > div { flex-wrap: wrap !important; gap: 26px 44px !important; }
}
/* ===== MOBILE (<=760px) ===== */
@media (max-width: 760px) {
  [style*="grid-template-columns"] { grid-template-columns: minmax(0px,1fr) !important; gap: 26px !important; }
  [style*="px 56px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="96px 56px"], [style*="88px 56px"], [style*="72px 56px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  [style*="justify-content: center"][style*="gap: 48px"] { flex-wrap: wrap !important; gap: 14px 22px !important; font-size: 15px !important; }
  h1 { font-size: clamp(34px, 10vw, 60px) !important; line-height: 1.07 !important; }
  h2 { font-size: clamp(27px, 7vw, 42px) !important; line-height: 1.12 !important; }
  .nn-dish > a { width: 78vw !important; max-width: 320px; }
  .nn-rev > div { width: 84vw !important; max-width: 360px; }
  .nn-gal > div { width: 72vw !important; max-width: 300px; }
  [style*="height: 560px"] { height: 62vw !important; max-height: 420px; }
  [style*="height: 460px"] { height: 300px !important; }
}
/* ===== SMALL PHONE (<=430px) ===== */
@media (max-width: 430px) {
  header { padding: 12px 16px !important; }
  [style*="px 56px"] { padding-left: 16px !important; padding-right: 16px !important; }
  .nn-dish > a, .nn-gal > div { width: 84vw !important; }
}
