:root {
  --cream: #f5eee0;
  --cream-2: #fffaf0;
  --ink: #171510;
  --red: #a51624;
  --red-dark: #7f101b;
  --green: #19864a;
  --wood: #2e1a10;
  --muted: #6f675d;
  --line: rgba(28, 22, 16, .15);
  --shadow: 0 18px 45px rgba(27, 16, 8, .18);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", system-ui, sans-serif;
  --display: "Bebas Neue", Impact, sans-serif;
  --script: "Pacifico", "Brush Script MT", cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.55;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.script { font-family: var(--script); }

/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

.site-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
}

.nav-wrap {
    min-height: 88px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}


/* =========================================================
   LOGO
   ========================================================= */

.brand {
    width: 176px;
    min-height: 150px;
    padding: 14px 18px 18px;

    background: rgba(255, 248, 232, .97);

    border-radius: 0 0 22px 22px;

    box-shadow: 0 9px 22px rgba(0,0,0,.18);

    text-align: center;
    color: var(--red);

    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.brand::after {
    content: "";

    position: absolute;

    left: 18px;
    right: 18px;
    bottom: -10px;

    height: 18px;

    background: rgba(255, 248, 232, .97);

    clip-path: polygon(
        0 0,
        10% 70%,
        20% 15%,
        30% 75%,
        40% 18%,
        50% 82%,
        60% 18%,
        70% 75%,
        80% 15%,
        90% 70%,
        100% 0
    );
}

.brand-script {
    font-family: var(--script);
    font-size: 1.35rem;
    line-height: 1;
}

.brand-name {
    font-family: var(--serif);
    font-size: 2.7rem;
    line-height: .95;
    font-weight: 600;
    letter-spacing: .02em;
}

.brand-sub {
    margin-top: 8px;

    color: #3e2c22;

    font-size: .62rem;

    text-transform: uppercase;

    letter-spacing: .27em;

    font-weight: 700;
}

.brand-heart {
    font-size: .9rem;
    margin-top: 4px;
}


/* =========================================================
   PRIMARY NAV
   ========================================================= */

.primary-nav {
    margin-top: 18px;

    display: flex;
    align-items: center;

    gap: 28px;

    padding: 6px 18px 6px;

    border-radius: 999px;

    color: white;

    background: rgba(20, 15, 10, .68);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


/*
 * wp_nav_menu() outputs:
 *
 * <ul class="primary-menu">
 *   <li><a>...</a></li>
 * </ul>
 */

.primary-menu {
    display: flex;
    align-items: center;

    gap: 33px;

    list-style: none;

    margin: 0;
    padding: 0;
}

.primary-menu li {
    list-style: none;

    margin: 0;
    padding: 0;
}

.primary-menu a {
    display: block;
    position: relative;

    color: white;

    font-size: .95rem;
    font-weight: 600;

    white-space: nowrap;
    text-decoration: none;

    padding: 8px 10px;
    border-radius: 8px;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.primary-menu a:hover {
    color: white;
    background: rgba(165, 22, 36, .28);
}


/* underline */
.primary-menu a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 100%;

    bottom: -7px;

    height: 2px;

    background: #e22a31;

    transition: right .25s ease;
}


/*
 * ONLY underline the page currently being viewed.
 */

.primary-menu .current-menu-item > a::after,
.primary-menu .current_page_item > a::after,
.primary-menu .current-menu-ancestor > a::after,
.primary-menu .current_page_ancestor > a::after {
    right: 0;
}

.language-switcher { position: relative; }
.language-button {
  border: 0;
  background: transparent;
  color: white;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 2px 0;
  font-weight: 600;
}
.chevron { font-size: 1rem; transform: translateY(-1px); }
.language-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 150px;
  background: rgba(255,250,240,.98);
  color: var(--ink);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 8px;
  display: none;
}
.language-switcher.open .language-menu { display: block; }
.language-menu a { display: flex; gap: 9px; align-items: center; padding: 9px 10px; border-radius: 8px; font-size: .9rem; }
.language-menu a:hover { background: #f1e6d4; }

.nav-toggle { display: none; }

.hero {
  position: relative;
  min-height: 740px;
  overflow: hidden;
  color: white;
  background: #16120f;
}
.hero-photo {
  position: absolute;
  inset: 0;
  background-image: url('../images/hero.jpg');
  background-size: cover;
  background-position: 56% 46%;
  transform: scale(1.015);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(9,8,6,.86) 0%, rgba(12,10,8,.66) 32%, rgba(12,10,8,.12) 68%, rgba(12,10,8,.28) 100%),
    linear-gradient(180deg, rgba(0,0,0,.32) 0%, transparent 40%, rgba(0,0,0,.36) 100%);
}
.hero-copy { position: relative; z-index: 3; padding-top: 215px; padding-bottom: 100px; }
.eyebrow { margin: 0 0 -6px; font-size: clamp(2rem, 4vw, 4rem); transform: rotate(-5deg); transform-origin: left center; }
.hero h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(5rem, 9vw, 8.5rem);
  line-height: .82;
  letter-spacing: .01em;
  text-transform: uppercase;
  text-shadow: 0 3px 20px rgba(0,0,0,.3);
}
.hero-tagline { margin: 20px 0 0; text-transform: uppercase; letter-spacing: .26em; font-size: .82rem; font-weight: 700; }
.hero-lead { max-width: 560px; margin: 20px 0 28px; color: rgba(255,255,255,.9); font-size: 1.03rem; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .035em;
  font-size: .82rem;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary, .btn-small { background: var(--red); color: white; border: 1px solid rgba(255,255,255,.7); box-shadow: 0 8px 24px rgba(126,10,20,.28); }
.btn-primary:hover, .btn-small:hover { background: var(--red-dark); }
.btn-outline { border: 1px solid var(--red); color: var(--red); }
.btn-outline:hover { background: var(--red); color: white; }
.text-link { font-weight: 700; color: var(--red); }
.hero-note {
  position: absolute;
  z-index: 4;
  right: max(50px, calc((100vw - 1180px)/2));
  top: 115px;
  text-align: right;
  font-family: var(--script);
  font-size: 1.8rem;
  line-height: 1.25;
  transform: rotate(-5deg);
  text-shadow: 0 2px 10px rgba(0,0,0,.3);
}
.hero-note span { color: #ff2935; }
.hungarian-wave {
    position: absolute;
    z-index: 6;
    left: 0;
    right: 0;
    bottom: -1px;

    width: 100%;
    height: 84px;

    overflow: hidden;
    pointer-events: none;
    line-height: 0;
}

.hungarian-wave svg {
    display: block;
    width: 100%;
    height: 100%;
}

.features { background: var(--cream-2); border-bottom: 1px solid var(--line); }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 32px 0 30px; }
.feature { text-align: center; padding: 8px 24px; border-right: 1px solid var(--line); }
.feature:last-child { border-right: 0; }
.feature-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    display: block;
    object-fit: contain;
}
.feature h3 { margin: 4px 0 3px; text-transform: uppercase; letter-spacing: .045em; font-size: .82rem; }
.feature p { margin: 0; color: var(--muted); font-size: .83rem; }

/* =========================================================
   FACEBOOK POSTS
   ========================================================= */

.facebook-section {
    background: #f5eee0;
    padding: 72px 0 86px;
}


/* Heading */

.facebook-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 34px;
}

.facebook-heading > div {
    max-width: 680px;
}

.facebook-heading h2 {
    margin: 6px 0 8px;

    font-family: var(--display);

    font-size: clamp(2.5rem, 5vw, 4.2rem);
    line-height: .95;

    text-transform: uppercase;

    letter-spacing: .02em;
}

.facebook-heading .section-intro {
    margin-bottom: 0;
}


/* Main Facebook button */

.facebook-follow {
    flex-shrink: 0;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    padding: 11px 20px;

    border: 1px solid var(--red);
    border-radius: 999px;

    color: var(--red);

    font-size: .82rem;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .04em;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.facebook-follow:hover {
    background: var(--red);
    color: white;

    transform: translateY(-2px);
}


/* =========================================================
   THREE-COLUMN GRID
   ========================================================= */

.facebook-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    align-items: stretch;
}


/* Card */

.facebook-card {
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: var(--cream-2);

    border: 1px solid rgba(28, 22, 16, .09);

    border-radius: 16px;

    box-shadow:
        0 12px 32px rgba(27, 16, 8, .10);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.facebook-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 40px rgba(27, 16, 8, .15);
}


/*
 * Both versions are covered:
 *
 * .facebook-card-image = future Facebook API posts
 * .facebook-image      = current manual posts
 */

.facebook-card-image,
.facebook-image {
    display: block;

    width: 100%;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #ded4c5;
}

.facebook-card-image img,
.facebook-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .35s ease;
}

.facebook-card:hover .facebook-card-image img,
.facebook-card:hover .facebook-image img {
    transform: scale(1.035);
}


/* Card content */

.facebook-card-body {
    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 22px 22px 24px;
}


/* Manual post header */

.facebook-post-meta {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 15px;
}

.facebook-avatar {
    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--red);

    color: white;

    font-family: var(--serif);

    font-size: .9rem;
    font-weight: 700;
}

.facebook-post-meta > div:last-child {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.facebook-post-meta strong {
    color: var(--ink);

    font-size: .9rem;
    line-height: 1.25;
}

.facebook-post-meta span {
    margin-top: 2px;

    color: var(--muted);

    font-size: .72rem;
}


/* Automatic API post date */

.facebook-date {
    margin: 0 0 10px;

    color: var(--red);

    font-size: .72rem;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .08em;
}


/* Post text */

.facebook-message {
    margin: 0 0 22px;

    color: #3f3933;

    font-size: .93rem;
    line-height: 1.65;
}


/* Push button to same bottom position on all cards */

.facebook-read-more {
    margin-top: auto;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    width: fit-content;

    color: var(--red);

    font-size: .78rem;
    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .04em;

    transition: color .2s ease;
}

.facebook-read-more span {
    transition: transform .2s ease;
}

.facebook-read-more:hover {
    color: var(--red-dark);
}

.facebook-read-more:hover span {
    transform: translateX(4px);
}

.section { padding: 78px 0; }
.section-heading { text-align: center; margin-bottom: 34px; }
.section-heading.left { text-align: left; }
.kicker { margin: 0; color: var(--red); text-transform: uppercase; letter-spacing: .22em; font-size: .8rem; font-weight: 800; }
.section-heading h2 { margin: 7px 0 0; font-family: var(--display); text-transform: uppercase; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: .95; letter-spacing: .02em; }
.section-intro { max-width: 650px; color: var(--muted); }

.food-section { background: #f8f0e2; }
.food-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.food-card { min-height: 390px; position: relative; overflow: hidden; border-radius: 4px; background-size: cover; background-position: center; box-shadow: var(--shadow); }
.food-card-langos { background-image: url('../images/festival-1.jpg'); background-position: 48% 48%; }
.food-card-kurtos { background-image: url('../images/night-2.jpg'); background-position: 50% 45%; }
.food-card::before { content: ""; position: absolute; inset: 0; background: inherit; filter: saturate(.95) contrast(1.06); transform: scale(1.03); }
.food-card-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,11,5,.88) 0%, rgba(20,11,5,.55) 48%, rgba(20,11,5,.12) 100%); }
.food-card-copy { position: absolute; left: 34px; bottom: 30px; z-index: 2; max-width: 330px; color: white; }
.food-card h3 { margin: 0 0 9px; font-family: var(--display); font-size: 3.2rem; text-transform: uppercase; line-height: .9; }
.food-card p { margin: 0 0 18px; color: rgba(255,255,255,.92); }
.btn-small { padding: 10px 17px; font-size: .74rem; }

.story-section { background: #fffaf0; }
.story-grid { display: grid; grid-template-columns: .7fr 1.35fr 1fr; gap: 44px; align-items: center; }
.story-title { color: #15110e; font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.05; transform: rotate(-5deg); }
.story-title span, .footer-slogan span { color: var(--red); }
.story-copy p { margin-top: 0; color: #3f3933; }
.story-actions { display: flex; align-items: center; gap: 20px; margin-top: 25px; flex-wrap: wrap; }
.polaroid { margin: 0; background: white; padding: 12px 12px 34px; transform: rotate(3deg); box-shadow: var(--shadow); }
.polaroid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.polaroid figcaption { margin-top: 8px; text-align: right; font-family: var(--script); font-size: 1rem; }

.gallery-section { background: #eee2d0; }
.photo-strip { display: grid; grid-template-columns: 1.2fr .9fr 1.2fr; gap: 12px; }
.photo-strip img { width: 100%; height: 330px; object-fit: cover; box-shadow: var(--shadow); }
.photo-strip img:nth-child(2) { transform: translateY(20px); }
.language-flag {
    width: 18px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}
/* =========================================================
   EDITABLE WORDPRESS PAGES
   ========================================================= */

.site-page {
    min-height: 70vh;
}

.page-hero {
    min-height: 330px;

    padding: 190px 0 60px;

    display: flex;
    align-items: flex-end;

    color: white;

    background:
        linear-gradient(
            rgba(35, 19, 12, .88),
            rgba(35, 19, 12, .94)
        ),
        url('../images/trailer-side.jpg') center/cover;
}

.page-title {
    margin: 0;

    font-family: var(--display);

    font-size: clamp(3.8rem, 8vw, 7rem);
    line-height: .9;

    text-transform: uppercase;

    letter-spacing: .01em;
}

.page-content {
    background: var(--cream-2);

    padding: 68px 0 95px;
}

.page-content-inner {
    max-width: 980px;
}

.page-content-inner > *:first-child {
    margin-top: 0;
}

.page-content-inner h2 {
    margin-top: 42px;

    font-family: var(--display);

    font-size: clamp(2rem, 4vw, 3.4rem);

    text-transform: uppercase;

    line-height: 1;
}

.page-content-inner h3 {
    margin-top: 30px;

    font-size: 1.35rem;
}

.page-content-inner p,
.page-content-inner li {
    font-size: 1.02rem;

    line-height: 1.75;
}

.page-content-inner img {
    max-width: 100%;
    height: auto;
}

/* =========================================================
   WORDPRESS PAGE CONTENT COMPONENTS
   About / Food / Catering / Delivery / Contact
   ========================================================= */

.ph-page {
    width: 100%;
}


/* =========================================================
   TEXT
   ========================================================= */

.ph-text {
    max-width: 820px;
    margin-inline: auto;
}

.ph-text p {
    margin: 0 0 1.5rem;
}

.ph-intro {
    margin-bottom: 2.5rem;
}

.ph-lead {
    font-family: var(--serif);
    font-size: 1.45rem !important;
    font-weight: 600;
    line-height: 1.45 !important;
}

.ph-signature {
    margin-top: 2.8rem !important;
    font-family: var(--serif);
    font-size: 1.2rem !important;
}

.ph-cta-text {
    margin-top: 2rem !important;
    color: var(--red);
}


/* =========================================================
   LARGE PAGE IMAGES
   ========================================================= */

.ph-feature-image,
.ph-inline-image {
    margin: 0;
}

.ph-feature-image {
    margin-bottom: 3rem;
}

.ph-inline-image {
    max-width: 900px;
    margin: 3rem auto;
}

.ph-feature-image img,
.ph-inline-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: var(--shadow);
}


/* =========================================================
   OUR FOOD
   ========================================================= */

.ph-food-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 3rem 0;
}

.ph-food-card {
    margin: 0;
}

.ph-food-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: var(--shadow);
}

.ph-food-card figcaption {
    padding: 16px 4px 0;
}

/*
 * Override the generic .page-content-inner h2 styling
 * for headings underneath the food photos.
 */
.page-content-inner .ph-food-card h2 {
    margin: 0 0 5px;
    font-family: var(--display);
    font-size: 2rem;
    line-height: 1;
    text-transform: uppercase;
}

.ph-food-card figcaption p {
    margin: 0;
    color: var(--muted);
    font-size: .95rem;
}


/* =========================================================
   CATERING / FOOD GALLERY
   ========================================================= */

.ph-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 3rem;
}

.ph-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(27, 16, 8, .10);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.ph-gallery img:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(27, 16, 8, .15);
}


/*
 * Delivery has only three images, so a slightly wider
 * photographic format works better.
 */
/* Delivery gallery */
.ph-gallery-3 {
    max-width: 780px;
    margin: 3rem auto 0;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ph-gallery-3 img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;

    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(27, 16, 8, .10);
}


/* Tablet */
@media (max-width: 760px) {

    .ph-gallery-3 {
        max-width: 600px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ph-gallery-3 img:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 8px);
        justify-self: center;
    }
}


/* Mobile */
@media (max-width: 520px) {

    .ph-gallery-3 {
        max-width: 360px;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ph-gallery-3 img,
    .ph-gallery-3 img:last-child {
        grid-column: auto;
        width: 100%;
    }
}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.ph-newsletter-intro {
    max-width: 760px;
    margin: 4.5rem auto 2rem;
    text-align: center;
}

.page-content-inner .ph-newsletter-intro h2 {
    margin-top: 0;
}

.ph-newsletter-intro p {
    color: var(--muted);
}

.ph-newsletter-intro p:last-child {
    color: var(--ink);
}

.ph-mailchimp {
    max-width: 650px;
    margin: 0 auto;
}


/* =========================================================
   CONTACT
   ========================================================= */

.ph-contact-box {
    max-width: 700px;
    margin-inline: auto;
}

.ph-contact-box > p {
    margin-bottom: 1.8rem;
}

.ph-contact-box a {
    color: var(--red);
    font-weight: 600;
}

.ph-contact-box a:hover {
    color: var(--red-dark);
    text-decoration: underline;
}

.ph-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2rem;
}

.ph-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 120px;

    padding: 11px 20px;

    border: 1px solid var(--red);
    border-radius: 999px;

    color: var(--red);

    font-size: .82rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .04em;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.ph-social-links a:hover {
    background: var(--red);
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}


/* =========================================================
   PAGE LINKS
   ========================================================= */

.ph-page-links {
    margin-top: 2.5rem !important;
}

.ph-page-links a {
    color: var(--red);
    font-weight: 700;
}

.ph-page-links a:hover {
    color: var(--red-dark);
    text-decoration: underline;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 760px) {

    .ph-food-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .ph-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ph-feature-image {
        margin-bottom: 2.2rem;
    }

    .ph-inline-image {
        margin-top: 2.2rem;
        margin-bottom: 2.2rem;
    }

    .ph-newsletter-intro {
        margin-top: 3.5rem;
    }
}


@media (max-width: 480px) {

    .ph-gallery {
        grid-template-columns: 1fr;
    }

    .ph-gallery img {
        aspect-ratio: 4 / 3;
    }

    .ph-food-card img {
        aspect-ratio: 4 / 3;
    }

    .ph-social-links {
        flex-direction: column;
        align-items: stretch;
    }

    .ph-social-links a {
        width: 100%;
    }
}


/* =========================================================
   ABOUT PAGE
   ========================================================= */

/*
 * First paragraph + portrait
 */
.ph-about-intro {
    max-width: 820px;
    margin: 0 auto 2rem;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 34px;

    align-items: start;
}

.ph-about-intro-text p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.75;
}


/*
 * Portrait beside first paragraph
 */
.ph-about-photo {
    width: 100%;
    max-width: 280px;
    margin: 0;

    justify-self: end;
}

.ph-about-photo a {
    display: block;
}

.ph-about-photo img {
    width: 100%;
    height: auto;

    border-radius: 12px;

    box-shadow:
        0 12px 30px rgba(27, 16, 8, .16);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.ph-about-photo a:hover img {
    transform: translateY(-3px);

    box-shadow:
        0 18px 38px rgba(27, 16, 8, .22);
}


/*
 * Small visual indication that image is clickable
 */
.ph-lightbox-trigger {
    cursor: zoom-in;
}


/*
 * Second landscape photo
 */
.ph-about-inline-photo {
    width: min(100%, 580px);

    margin: 2.8rem auto;

    overflow: hidden;

    border-radius: 12px;

    box-shadow:
        0 10px 28px rgba(27, 16, 8, .13);
}

.ph-about-inline-photo img {
    display: block;

    width: 100%;
    height: auto;

    transition: transform .3s ease;
}

.ph-about-inline-photo a:hover img {
    transform: scale(1.015);
}


/* =========================================================
   IMAGE LIGHTBOX / MODAL
   ========================================================= */

.ph-lightbox {
    position: fixed;

    z-index: 99999;

    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    visibility: hidden;
    opacity: 0;

    pointer-events: none;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}


/*
 * Show when URL points to #ph-about-photo-large etc.
 */
.ph-lightbox:target,
.ph-lightbox.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}


/*
 * Dark background
 */
.ph-lightbox-background {
    position: absolute;
    inset: 0;

    background: rgba(12, 9, 7, .88);

    cursor: zoom-out;
}


/*
 * Large image container
 */
.ph-lightbox-content {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    max-width: min(1000px, 92vw);
    max-height: 90vh;
}


/*
 * Large image
 */
.ph-lightbox-content img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 88vh;

    object-fit: contain;

    border-radius: 8px;

    box-shadow:
        0 24px 80px rgba(0, 0, 0, .5);
}


/*
 * Close button
 */
.ph-lightbox-close {
    position: absolute;

    top: -18px;
    right: -18px;

    z-index: 3;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--cream-2);
    color: var(--ink);

    font-size: 2rem;
    font-weight: 400;
    line-height: 1;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .25);

    cursor: pointer;
}

.ph-lightbox-close:hover {
    background: white;
    color: var(--red);
    text-decoration: none;
}

/* =========================================================
   ABOUT PAGE - TWO PHOTO ROW
   ========================================================= */



.ph-about-pair-photo {
    margin: 0;
    min-width: 0;
}

.ph-about-pair-photo a {
    display: block;
    overflow: hidden;

    border-radius: 12px;

    box-shadow:
        0 10px 28px rgba(27, 16, 8, .13);
}

.ph-about-pair-photo img {
    display: block;

    width: 100%;
    height: 320px;

    object-fit: cover;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.ph-about-pair-photo a:hover img {
    transform: scale(1.025);
}


/* Keep more of the food truck visible in the new portrait image */
.ph-about-pair-photo:nth-child(2) img {
    object-position: center 48%;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .ph-about-photo-pair {
        max-width: 520px;

        grid-template-columns: 1fr;
        gap: 20px;

        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .ph-about-pair-photo img {
        height: auto;
        max-height: none;

        object-fit: contain;
    }
}


/* =========================================================
   ABOUT PAGE — MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .ph-about-intro {
        grid-template-columns: 1fr;

        gap: 22px;

        max-width: 820px;
    }

    .ph-about-photo {
        width: min(100%, 320px);

        justify-self: center;
    }

    .ph-about-inline-photo {
        width: min(100%, 520px);

        margin-top: 2.2rem;
        margin-bottom: 2.2rem;
    }

    .ph-lightbox {
        padding: 18px;
    }

    .ph-lightbox-content {
        max-width: 100%;
        max-height: 90vh;
    }

    .ph-lightbox-close {
        top: -15px;
        right: -5px;
    }
}


@media (max-width: 480px) {

    .ph-about-photo {
        max-width: 300px;
    }

    .ph-about-inline-photo {
        max-width: 100%;
    }

    .ph-lightbox {
        padding: 12px;
    }

    .ph-lightbox-content img {
        max-height: 84vh;
    }

    .ph-lightbox-close {
        width: 38px;
        height: 38px;

        top: -12px;
        right: 0;

        font-size: 1.7rem;
    }
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  background:
    linear-gradient(rgba(34,18,10,.94), rgba(27,13,7,.96)),
    url('../images/trailer-side.jpg') center/cover;
  color: white;
  padding: 52px 0 22px;
}
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1.35fr 1.2fr; gap: 32px; align-items: start; }
.footer-logo { width: 150px; min-height: 130px; box-shadow: none; }
.footer-column h3 { margin: 0 0 12px; text-transform: uppercase; font-size: .78rem; letter-spacing: .1em; }
.footer-column a { display: block; margin: 6px 0; color: rgba(255,255,255,.82); font-size: .9rem; }
.footer-column a:hover, .footer-contact a:hover { color: white; text-decoration: underline; }
.footer-slogan { font-size: 1.7rem; line-height: 1.35; transform: rotate(-4deg); }
.footer-contact { color: rgba(255,255,255,.8); font-size: .9rem; }
.footer-contact p { margin: 0 0 7px; }
.footer-contact a { color: white; font-weight: 600; }
.footer-bottom { margin-top: 38px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.62); font-size: .76rem; }

@media (max-width: 980px) {
  .nav-wrap { width: calc(100% - 24px); }
  .brand { width: 145px; min-height: 128px; }
  .brand-name { font-size: 2.2rem; }
  .primary-nav {
    gap: 18px;
}

.primary-menu {
    gap: 18px;
}

.primary-menu a {
    font-size: .9rem;
}
  .hero-copy { padding-top: 210px; }
  .hero-note { display: none; }
  .story-grid { grid-template-columns: .7fr 1.3fr; }
  .polaroid { grid-column: 1 / -1; max-width: 540px; justify-self: center; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer-slogan, .footer-contact { margin-top: 20px; }
  .facebook-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.facebook-heading {
    align-items: flex-start;
}
}

@media (max-width: 760px) {

    .site-header {
        position: fixed;
        z-index: 1000;

        top: 0;
        left: 0;

        width: 100%;
    }

    .nav-wrap {
        min-height: 72px;

        align-items: flex-start;
    }

    .brand {
        width: 124px;
        min-height: 112px;

        padding: 11px 12px 15px;
    }

    .brand-script {
        font-size: 1rem;
    }

    .brand-name {
        font-size: 1.85rem;
    }

    .brand-sub {
        font-size: .48rem;
    }


    /* hamburger */

.nav-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    width: 46px;
    height: 46px;

    margin-top: 14px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

    background: rgba(20,15,10,.65);

    backdrop-filter: blur(8px);

    cursor: pointer;
}

.primary-menu a:hover {
    color: white;
    background: rgba(165, 22, 36, .28);
}


.nav-toggle span {
    display: block;

    width: 20px;
    height: 2px;

    margin: 0;

    background: white;
}


    /* opened menu */

    .primary-nav {
        position: absolute;

        top: 72px;
        right: 12px;

        width: min(320px, calc(100vw - 24px));

        display: none;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        padding: 14px;

        border-radius: 18px;

        background: rgba(22,15,10,.96);
    }

    .primary-nav.open {
        display: flex;
    }


    .primary-menu {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        width: 100%;

        gap: 0;

        margin: 0;
        padding: 0;
    }


    .primary-menu li {
        width: 100%;
    }


    .primary-menu a {
        display: block;

        width: 100%;

        padding: 12px 10px;

        border-radius: 8px;
    }


    /*
     * Don't use desktop underline inside
     * the mobile dropdown.
     */
    .primary-menu a::after {
        display: none;
    }


    /*
     * Current page indicator on mobile.
     */
    .primary-menu .current-menu-item > a,
    .primary-menu .current_page_item > a {
        background: rgba(165, 22, 36, .35);
    }


    .language-switcher {
        width: 100%;

        padding: 10px;

        border-top: 1px solid rgba(255,255,255,.14);
    }


    .language-menu {
        position: static;

        margin-top: 10px;
    }


    /* your existing other mobile rules continue below */

    .hero {
        min-height: 690px;
    }

    .hero-photo {
        background-position: 56% center;
    }

    .hero-copy {
        padding-top: 235px;
    }

    .hero h1 {
        font-size: clamp(4.3rem, 20vw, 6.4rem);
    }

    .hero-lead {
        max-width: 92%;
    }

    .hungarian-wave {
        height: 62px;
    }

    .feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature:nth-child(2) {
        border-right: 0;
    }

    .feature:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
        padding-bottom: 22px;
        margin-bottom: 14px;
    }

    .food-grid {
        grid-template-columns: 1fr;
    }

    .story-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .story-title {
        font-size: 3.1rem;
    }

    .photo-strip {
        grid-template-columns: 1fr;
    }

    .photo-strip img {
        height: 280px;
    }

    .photo-strip img:nth-child(2) {
        transform: none;
    }

    .page-hero {
        min-height: 280px;
        padding: 165px 0 48px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand,
    .footer-slogan,
    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .facebook-section {
    padding: 58px 0 68px;
}

.facebook-heading {
    flex-direction: column;
    align-items: flex-start;

    gap: 20px;

    margin-bottom: 28px;
}

.facebook-grid {
    grid-template-columns: 1fr;
}

.facebook-card-image,
.facebook-image {
    aspect-ratio: 16 / 10;
}

}

@media (max-width: 480px) {
  .container { width: min(100% - 28px, 1180px); }
  .hero-copy { padding-top: 220px; }
  .hero-tagline { letter-spacing: .15em; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature { border-right: 0; border-bottom: 1px solid var(--line); padding: 17px 10px; margin: 0 !important; }
  .feature:last-child { border-bottom: 0; }
  .section { padding: 58px 0; }
  .hungarian-wave { height: 54px; }
  .food-card { min-height: 430px; }
  .food-card-copy { left: 24px; right: 24px; bottom: 24px; }

  .page-content {
      padding: 52px 0 72px;
  }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-column,
  .footer-brand,
  .footer-slogan,
  .footer-contact { grid-column: auto; }
}


/* WordPress refinements */
body.admin-bar .site-header { top: 32px; }
.custom-logo-wrap { display: block; width: 100%; }
.custom-logo-wrap .custom-logo-link { display: block; }
.custom-logo-wrap img { max-width: 100%; height: auto; }
.footer-placeholder { display: block; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.6; }
.language-menu a[aria-current="page"] { background: #f1e6d4; font-weight: 700; }
.basic-content { min-height: 60vh; padding-top: 190px; padding-bottom: 80px; }
.basic-content h1 { font-family: var(--display); font-size: clamp(3rem, 7vw, 5rem); text-transform: uppercase; }

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

/* =========================================================
   ABOUT PAGE - TWO PHOTOS SIDE BY SIDE
   ========================================================= */

.ph-about-photo-pair {
    width: min(100%, 820px);
    margin: 3rem auto;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px;

    align-items: stretch;
}

.ph-about-photo-pair .ph-about-pair-photo {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
}

.ph-about-photo-pair .ph-about-pair-photo a {
    display: block;
    width: 100%;
    height: 100%;

    overflow: hidden;

    border-radius: 12px;

    box-shadow:
        0 10px 28px rgba(27, 16, 8, .13);
}

.ph-about-photo-pair .ph-about-pair-photo img {
    display: block;

    width: 100% !important;
    height: 300px !important;

    object-fit: cover;

    border-radius: 12px;

    transition: transform .3s ease;
}

.ph-about-photo-pair .ph-about-pair-photo a:hover img {
    transform: scale(1.025);
}


/* First image crop */
.ph-about-photo-pair .ph-about-pair-photo:first-child img {
    object-position: center center;
}


/* Food truck photo crop */
.ph-about-photo-pair .ph-about-pair-photo:nth-child(2) img {
    object-position: center center;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .ph-about-photo-pair {
        width: min(100%, 520px);

        grid-template-columns: 1fr !important;

        gap: 20px;

        margin: 2.5rem auto;
    }

    .ph-about-photo-pair .ph-about-pair-photo img {
        width: 100% !important;
        height: auto !important;

        object-fit: contain;
    }
}

/* =========================================================
   MAILCHIMP NEWSLETTER
   ========================================================= */

.ph-mailchimp {
    width: min(100%, 650px);
    margin: 2.5rem auto 0;
}

.ph-newsletter-card {
    position: relative;
    overflow: hidden;

    padding: 38px 42px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f5eee0 100%
        );

    border: 1px solid rgba(28, 22, 16, .10);
    border-radius: 18px;

    box-shadow:
        0 14px 38px rgba(27, 16, 8, .12);
}

.ph-newsletter-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: var(--red);
}


/* =========================================================
   HEADING
   ========================================================= */

.ph-newsletter-card-heading {
    margin-bottom: 26px;
}

.ph-newsletter-kicker {
    display: block;

    margin-bottom: 7px;

    color: var(--red);

    font-size: .75rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .16em;
}

.page-content-inner .ph-newsletter-card h3 {
    margin: 0 0 10px;

    font-family: var(--display);

    font-size: clamp(2rem, 5vw, 3rem);

    line-height: 1;

    text-transform: uppercase;
}

.ph-newsletter-card-heading p {
    max-width: 540px;

    margin: 0;

    color: var(--muted);

    font-size: .95rem;
    line-height: 1.65;
}


/* =========================================================
   FORM
   ========================================================= */

.ph-newsletter-form {
    display: flex;
    flex-direction: column;

    gap: 16px;
}


/* =========================================================
   FIELD
   ========================================================= */

.ph-newsletter-field label {
    display: block;

    margin-bottom: 7px;

    color: var(--ink);

    font-size: .78rem;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.ph-newsletter-field label span {
    color: var(--red);
}

.ph-newsletter-field input {
    width: 100%;
    height: 52px;

    padding: 0 15px;

    border: 1px solid rgba(28, 22, 16, .18);
    border-radius: 9px;

    outline: none;

    background: white;
    color: var(--ink);

    font-family: var(--sans);
    font-size: .95rem;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.ph-newsletter-field input:focus {
    border-color: var(--red);

    box-shadow:
        0 0 0 3px rgba(165, 22, 36, .10);
}

.ph-newsletter-field input::placeholder {
    color: #9b9389;
}


/* =========================================================
   BUTTON
   ========================================================= */

.ph-newsletter-submit {
    width: fit-content;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    margin-top: 2px;

    padding: 13px 24px;

    border: 1px solid var(--red);
    border-radius: 999px;

    background: var(--red);
    color: white;

    font-family: var(--sans);

    font-size: .82rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .045em;

    cursor: pointer;

    box-shadow:
        0 8px 22px rgba(126, 10, 20, .20);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.ph-newsletter-submit:hover {
    background: var(--red-dark);

    transform: translateY(-2px);

    box-shadow:
        0 11px 27px rgba(126, 10, 20, .27);
}

.ph-newsletter-submit span {
    font-size: 1.15rem;

    transition: transform .2s ease;
}

.ph-newsletter-submit:hover span {
    transform: translateX(3px);
}


/* =========================================================
   PRIVACY TEXT
   ========================================================= */

.ph-newsletter-privacy {
    margin: 0 !important;

    color: var(--muted);

    font-size: .73rem !important;
    line-height: 1.5 !important;
}


/* =========================================================
   MAILCHIMP HONEYPOT
   ========================================================= */

.ph-newsletter-honeypot {
    position: absolute !important;

    left: -5000px !important;

    width: 1px;
    height: 1px;

    overflow: hidden;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    .ph-newsletter-card {
        padding: 30px 24px;
    }

    .ph-newsletter-submit {
        width: 100%;
    }
}


@media (max-width: 400px) {

    .ph-newsletter-card {
        padding: 27px 19px 25px;
    }

}

