/* ============================================================
   TGWS Media — Main Stylesheet
   Base styles live in style.css (theme header + reset + utilities).
   This file: components, layout, header, footer, cards, sections.
   ============================================================ */

/* Ensure [hidden] always wins over any display:flex/block rules below */
[hidden] { display: none !important; }

/* ── Site Header ─────────────────────────────────────────── */
.site-header {
    position:      sticky;
    top:           0;
    z-index:       900;
    background:    var(--nav-bg, #0d1b2e);
    box-shadow:    0 1px 0 rgba(255,255,255,.06);
}
.site-header .container { height: 72px; }

.site-header__logo a,
.site-header__logo-text {
    font-family:     var(--font-heading);
    font-size:       1.5rem;
    font-weight:     700;
    color:           var(--nav-text, #d0d9e3);
    text-decoration: none;
    letter-spacing:  -.01em;
}
.site-header__logo img { max-height: 52px; width: auto; }

/* Nav Menu */
.nav-menu {
    display:     flex;
    align-items: center;
    gap:         .15rem;
}
.nav-menu li { position: relative; }
.nav-menu a {
    padding:     .5rem 1rem;
    font-family: var(--nav-font-family, 'Inter', sans-serif);
    font-size:   var(--nav-font-size, 15px);
    font-weight: 600;
    color:       var(--nav-text, #d0d9e3);
    border-radius: var(--radius-sm);
    transition:  background var(--transition), color var(--transition);
    letter-spacing: .01em;
}
.nav-menu a:hover,
.nav-menu .current-menu-item > a,
.nav-menu .current-page-ancestor > a {
    background: rgba(255,255,255,.08);
    color:      var(--nav-active, #c8a96e);
}

/* Dropdown */
.nav-menu .sub-menu {
    display:       none;
    position:      absolute;
    top:           100%;
    left:          0;
    min-width:     180px;
    background:    var(--nav-bg, #0d1b2e);
    border:        1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-md);
    box-shadow:    var(--shadow-md);
    padding:       .5rem 0;
    z-index:       100;
}
.nav-menu li:hover > .sub-menu { display: block; }
.nav-menu .sub-menu a {
    display:       block;
    padding:       .6rem 1.25rem;
    border-radius: 0;
    white-space:   nowrap;
}

/* Header actions */
.site-header__actions { display: flex; align-items: center; gap: .75rem; }

.site-header__search-toggle,
.site-header__cart {
    background:    none;
    border:        none;
    cursor:        pointer;
    color:         var(--nav-text, #d0d9e3);
    padding:       .4rem;
    border-radius: var(--radius-sm);
    display:       flex;
    align-items:   center;
    transition:    color var(--transition);
}
.site-header__search-toggle:hover,
.site-header__cart:hover { color: var(--nav-active, #c8a96e); }

.cart-count {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           18px;
    height:          18px;
    background:      var(--nav-active, #c8a96e);
    color:           var(--color-white);
    font-size:       .65rem;
    font-weight:     600;
    border-radius:   50%;
    margin-left:     -6px;
    margin-top:      -10px;
}

/* Hamburger */
.site-header__hamburger {
    display:        none;
    flex-direction: column;
    gap:            5px;
    background:     none;
    border:         none;
    cursor:         pointer;
    padding:        .5rem;
}
.site-header__hamburger span {
    display:        block;
    width:          22px;
    height:         2px;
    background:     var(--nav-text, #d0d9e3);
    border-radius:  2px;
    transition:     transform var(--transition), opacity var(--transition);
}
.site-header__hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header__hamburger.is-open span:nth-child(2) { opacity: 0; }
.site-header__hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Search bar */
.site-header__search-bar {
    background: rgba(0,0,0,.25);
    border-top: 1px solid rgba(255,255,255,.08);
    padding:    1rem 0;
}
.site-header__search-bar form {
    display: flex;
    gap:     .5rem;
}
.site-header__search-bar input {
    flex:          1;
    padding:       .6rem 1rem;
    border:        1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-sm);
    font-family:   var(--font-body);
    font-size:     .95rem;
    background:    rgba(255,255,255,.08);
    color:         var(--nav-text, #d0d9e3);
    outline:       none;
    transition:    border-color var(--transition);
}
.site-header__search-bar input::placeholder { color: rgba(255,255,255,.4); }
.site-header__search-bar input:focus { border-color: var(--nav-active, #c8a96e); }
.site-header__search-bar button {
    padding:       .6rem 1.25rem;
    background:    var(--nav-active, #c8a96e);
    color:         var(--color-white);
    border:        none;
    border-radius: var(--radius-sm);
    font-weight:   600;
    cursor:        pointer;
    transition:    background var(--transition);
}
.site-header__search-bar button:hover { background: var(--color-accent-dark); }

/* ── Hero ─────────────────────────────────────────────────── */
.hero {
    position:            relative;
    min-height:          520px;
    display:             flex;
    align-items:         center;
    background-color:    var(--color-primary);
    background-image:    linear-gradient(135deg, #1a1a1a 0%, #2e2012 50%, #1a1a1a 100%);
    background-size:     cover;
    background-position: center;
}
.hero__overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(135deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.3) 100%);
}
.hero__content {
    position:   relative;
    z-index:    1;
    color:      var(--color-white);
    max-width:  640px;
    padding:    4rem 1.5rem;
}
.hero__heading {
    font-family:         var(--hero-font-family,     'Playfair Display', Georgia, serif);
    font-size:           var(--hero-font-size,        3.5rem);
    font-weight:         var(--hero-font-weight,      700);
    color:               var(--hero-text-color,       #ffffff);
    text-transform:      var(--hero-text-transform,   none);
    letter-spacing:      var(--hero-letter-spacing,   0);
    line-height:         1.05;
    margin-bottom:       1rem;
    -webkit-text-stroke: var(--hero-stroke-width, 0px) var(--hero-stroke-color, transparent);
    text-stroke:         var(--hero-stroke-width, 0px) var(--hero-stroke-color, transparent);
    text-shadow:         var(--hero-text-shadow,  none);
    /* Prevent the outline clipping at the edge of the container */
    padding:             .05em 0;
}
.hero__subtext {
    font-size:     1.2rem;
    opacity:       .9;
    margin-bottom: 2rem;
}
.hero__cta { font-size: 1rem; }

/* ── Featured Cards ─────────────────────────────────────── */
.featured-cards { background: var(--color-bg); }

.featured-card {
    display:          flex;
    flex-direction:   column;
    align-items:      flex-start;
    padding:          2rem;
    border:           1px solid var(--color-border);
    border-radius:    var(--radius-lg);
    background:       var(--color-bg);
    transition:       transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    text-decoration:  none;
}
.featured-card:hover {
    transform:    translateY(-4px);
    box-shadow:   var(--shadow-md);
    border-color: var(--color-accent);
}
.featured-card__icon {
    color:         var(--color-accent);
    margin-bottom: 1rem;
}
.featured-card__title {
    font-size:     1.3rem;
    margin-bottom: .5rem;
}
.featured-card__desc {
    color:         var(--color-text-muted);
    font-size:     .9rem;
    flex:          1;
    margin-bottom: 1.25rem;
    line-height:   1.6;
}
.featured-card__link {
    font-size:   .85rem;
    font-weight: 600;
    color:       var(--color-accent);
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* ── Cards (Video & Recipe shared) ──────────────────────── */
.card {
    display:          flex;
    flex-direction:   column;
    border-radius:    var(--radius-md);
    overflow:         hidden;
    background:       var(--color-bg);
    border:           1px solid var(--color-border);
    transition:       transform var(--transition), box-shadow var(--transition);
}
.card:hover {
    transform:  translateY(-3px);
    box-shadow: var(--shadow-md);
}

.card__media {
    display:         block;
    position:        relative;
    overflow:        hidden;
    aspect-ratio:    3 / 2;
    background:      var(--color-secondary);
}
.card__media img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.card:hover .card__media img { transform: scale(1.04); }

.card__media-placeholder {
    width:            100%;
    height:           100%;
    display:          flex;
    align-items:      center;
    justify-content:  center;
    background:       var(--color-secondary);
    color:            var(--color-text-muted);
}

/* Play icon overlay on video cards */
.card__play-icon {
    position:    absolute;
    inset:       0;
    display:     flex;
    align-items: center;
    justify-content: center;
    background:  rgba(0,0,0,0);
    color:       var(--color-white);
    transition:  background var(--transition);
    opacity:     0;
}
.card--video:hover .card__play-icon {
    opacity:    1;
    background: rgba(0,0,0,.35);
}
.card__play-icon svg { filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }

.card__duration {
    position:      absolute;
    bottom:        .5rem;
    right:         .5rem;
    background:    rgba(0,0,0,.75);
    color:         var(--color-white);
    font-size:     .75rem;
    padding:       .15rem .45rem;
    border-radius: var(--radius-sm);
    font-weight:   600;
}

.card__body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }

.card__tag {
    display:        inline-block;
    font-size:      .72rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color:          var(--color-accent);
    margin-bottom:  .5rem;
}

.card__title {
    font-size:     1.05rem;
    margin-bottom: .5rem;
    flex:          1;
    line-height:   1.35;
}
.card__title a:hover { color: var(--color-accent); }

.card__meta {
    font-size: .8rem;
    color:     var(--color-text-muted);
}

.card__excerpt {
    font-size:     .88rem;
    color:         var(--color-text-muted);
    margin-bottom: .75rem;
    line-height:   1.55;
    display:       -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:      hidden;
}

.card__stats {
    display:    flex;
    flex-wrap:  wrap;
    gap:        .5rem;
    margin-top: .75rem;
}
.card__stats li {
    display:     flex;
    align-items: center;
    gap:         .3rem;
    font-size:   .78rem;
    color:       var(--color-text-muted);
}

/* ── Section Shared ──────────────────────────────────────── */
.section-header { margin-bottom: 3rem; }
.section-footer { margin-top: 3rem; }

/* ── Newsletter Strip ────────────────────────────────────── */
.newsletter-strip__heading {
    font-size:     2.25rem;
    color:         var(--color-white);
    margin-bottom: .75rem;
}
.newsletter-strip__sub {
    color:         rgba(255,255,255,.75);
    margin-bottom: 2rem;
    font-size:     1.05rem;
}

.newsletter-form__row {
    display:      flex;
    gap:          .75rem;
    flex-wrap:    wrap;
    justify-content: center;
    max-width:    640px;
    margin:       0 auto;
}
.newsletter-form__row input {
    flex:          1;
    min-width:     200px;
    padding:       .75rem 1rem;
    border:        1px solid rgba(255,255,255,.3);
    border-radius: var(--radius-sm);
    background:    rgba(255,255,255,.1);
    color:         var(--color-white);
    font-family:   var(--font-body);
    font-size:     .95rem;
    outline:       none;
    transition:    border-color var(--transition);
}
.newsletter-form__row input::placeholder { color: rgba(255,255,255,.55); }
.newsletter-form__row input:focus { border-color: var(--color-accent); }

.newsletter-form--footer .newsletter-form__row input,
.newsletter-form--popup .newsletter-form__row input {
    background: var(--color-bg);
    color:      var(--color-text);
    border-color: var(--color-border);
}
.newsletter-form--footer .newsletter-form__row input::placeholder,
.newsletter-form--popup .newsletter-form__row input::placeholder {
    color: var(--color-text-muted);
}

.newsletter-form__message {
    margin-top: .75rem;
    font-size:  .88rem;
    color:      rgba(255,255,255,.85);
}
.newsletter-form__message.is-error { color: #f87171; }

/* ── Popup Banner ────────────────────────────────────────── */
.popup-overlay {
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,.55);
    z-index:         9999;
    display:         flex;
    align-items:     center;
    justify-content: center;
    padding:         1.5rem;
    backdrop-filter: blur(4px);
}

/* Split panel container */
.popup {
    display:       flex;
    max-width:     860px;
    width:         100%;
    border-radius: var(--radius-lg);
    overflow:      hidden;
    box-shadow:    0 20px 60px rgba(0,0,0,.3);
}

/* Left: white form panel */
.popup__left {
    flex:           1;
    background:     #fff;
    padding:        3.5rem 3rem 3rem;
    display:        flex;
    flex-direction: column;
    position:       relative;
    min-width:      0;
}

/* Close X — top-right of left panel */
.popup__close {
    position:      absolute;
    top:           1rem;
    right:         1rem;
    background:    none;
    border:        none;
    cursor:        pointer;
    color:         var(--color-text-muted);
    padding:       .35rem;
    border-radius: var(--radius-sm);
    transition:    color var(--transition);
    line-height:   1;
}
.popup__close:hover { color: var(--color-primary); }

.popup__heading {
    font-size:     2.2rem;
    font-weight:   800;
    line-height:   1.15;
    color:         var(--color-primary);
    margin-bottom: 1rem;
    margin-top:    1.5rem;
}
.popup__body {
    font-size:     .95rem;
    color:         var(--color-text-muted);
    line-height:   1.65;
    margin-bottom: 2rem;
}

/* Form: stacked full-width inputs + dark button */
.popup .newsletter-form__row {
    flex-direction: column;
    gap:            .85rem;
    max-width:      none;
    margin:         0;
}
.popup .newsletter-form__row input {
    width:         100%;
    padding:       .9rem 1rem;
    background:    #fff;
    color:         var(--color-text);
    border:        1.5px solid #d4d4d4;
    border-radius: var(--radius-sm);
    font-size:     1rem;
    font-family:   var(--font-body);
    transition:    border-color var(--transition);
}
.popup .newsletter-form__row input::placeholder { color: #aaa; }
.popup .newsletter-form__row input:focus {
    border-color: var(--color-primary);
    outline:      none;
}
.popup .newsletter-form__row .btn {
    width:          100%;
    padding:        1rem;
    background:     var(--color-primary);
    color:          #fff;
    border:         none;
    border-radius:  var(--radius-sm);
    font-size:      .82rem;
    font-weight:    700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor:         pointer;
    transition:     background var(--transition);
}
.popup .newsletter-form__row .btn:hover { background: #000; }
.popup .newsletter-form__message { color: var(--color-text-muted); margin-top: .5rem; }

/* "No Thanks." dismiss link */
.popup__no-thanks {
    display:         block;
    width:           100%;
    background:      none;
    border:          none;
    cursor:          pointer;
    text-align:      center;
    margin-top:      1.25rem;
    font-size:       .88rem;
    color:           var(--color-text-muted);
    font-family:     var(--font-body);
    transition:      color var(--transition);
}
.popup__no-thanks:hover { color: var(--color-primary); }

/* Right: image panel */
.popup__right {
    flex:                1;
    background-color:    var(--color-secondary);
    background-size:     cover;
    background-position: center;
    min-height:          480px;
}

/* ── Archive / Channel Pages ─────────────────────────────── */
.archive-hero { text-align: center; }
.archive-hero__title { font-size: 2.5rem; margin-bottom: .75rem; }
.archive-hero__desc  { color: var(--color-text-muted); max-width: 560px; margin: 0 auto; }

.no-results {
    text-align:  center;
    color:       var(--color-text-muted);
    padding:     4rem 0;
    font-size:   1.1rem;
}

/* ── Single Post ─────────────────────────────────────────── */
.single-post { width: 100%; }

/* Full-width hero banner */
.single-post__hero {
    width:    100%;
    height:   480px;
    overflow: hidden;
}
.single-post__hero-img {
    width:           100%;
    height:          100%;
    object-fit:      cover;
    object-position: center top;
    display:         block;
}

/* Two-column layout */
.single-post__layout {
    display:               grid;
    grid-template-columns: 1fr 340px;
    gap:                   3rem;
    padding:               2.5rem 0 4rem;
    align-items:           start;
}

.single-post__sidebar {
    position: sticky;
    top:      calc(72px + 1.5rem);
}

.single-post__header { margin-bottom: 2rem; }
.single-post__title  { font-size: 2.5rem; margin: .75rem 0 .5rem; }
.single-post__meta   { color: var(--color-text-muted); font-size: .9rem; }

.single-post__video-embed {
    position:      relative;
    padding-top:   56.25%;
    margin-bottom: 2.5rem;
    border-radius: var(--radius-md);
    overflow:      hidden;
}
.single-post__video-embed iframe {
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
    border:   0;
}

.single-post__thumbnail {
    border-radius: var(--radius-md);
    overflow:      hidden;
    margin-bottom: 2.5rem;
}
.single-post__thumbnail img { width: 100%; height: auto; }

.single-post__content {
    font-size:   1.05rem;
    line-height: 1.75;
}
.single-post__content h2,
.single-post__content h3 { margin: 2rem 0 .75rem; }
.single-post__content p  { margin-bottom: 1.25rem; }
.single-post__content ul,
.single-post__content ol {
    margin-left:   1.5rem;
    margin-bottom: 1.25rem;
}
.single-post__content ul li { list-style: disc; }
.single-post__content ol li { list-style: decimal; }
.single-post__content img  {
    border-radius: var(--radius-md);
    margin:        1.5rem 0;
}

/* Related posts sidebar */
.related-posts__heading {
    font-size:      1.2rem;
    font-weight:    700;
    color:          var(--color-accent);
    margin-bottom:  1.25rem;
    padding-bottom: .75rem;
    border-bottom:  2px solid var(--color-border);
}

.related-post-card {
    display:        block;
    margin-bottom:  1.5rem;
    color:          var(--color-text);
    transition:     opacity var(--transition);
}
.related-post-card:last-child { margin-bottom: 0; }
.related-post-card:hover      { opacity: .8; }

.related-post-card__thumb {
    border-radius: var(--radius-md);
    overflow:      hidden;
    margin-bottom: .6rem;
    aspect-ratio:  16 / 9;
}
.related-post-card__thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform var(--transition);
}
.related-post-card:hover .related-post-card__thumb img { transform: scale(1.03); }

.related-post-card__title {
    font-size:   .92rem;
    font-weight: 700;
    line-height: 1.4;
    color:       var(--color-primary);
}

/* Recipe stats bar */
.recipe-stats {
    display:       flex;
    gap:           1.5rem;
    flex-wrap:     wrap;
    background:    var(--color-surface);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding:       1.25rem 1.75rem;
    margin-bottom: 2rem;
}
.recipe-stats__item { text-align: center; }
.recipe-stats__label {
    display:   block;
    font-size: .75rem;
    color:     var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .2rem;
}
.recipe-stats__value {
    font-size:   1.1rem;
    font-weight: 700;
    font-family: var(--font-heading);
}

/* ── Pagination ──────────────────────────────────────────── */
.pagination { margin-top: 3rem; }
.pagination__list {
    display:         flex;
    justify-content: center;
    gap:             .4rem;
    flex-wrap:       wrap;
}
.pagination__item a,
.pagination__item span {
    display:          flex;
    align-items:      center;
    justify-content:  center;
    min-width:        40px;
    height:           40px;
    padding:          0 .75rem;
    border-radius:    var(--radius-sm);
    border:           1px solid var(--color-border);
    font-size:        .9rem;
    font-weight:      500;
    transition:       background var(--transition), color var(--transition), border-color var(--transition);
    background:       var(--color-bg);
}
.pagination__item a:hover,
.pagination__item .current {
    background:   var(--color-accent);
    border-color: var(--color-accent);
    color:        var(--color-white);
}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer { background: var(--footer-bg, #0d1b2e); color: var(--footer-text, #d0d9e3); }

/* Newsletter strip */
.site-footer__strip {
    background: var(--footer-strip-bg, #c8a96e);
    padding:    1.5rem 0;
}
.site-footer__strip-inner {
    display:     flex;
    align-items: center;
    gap:         2rem;
    flex-wrap:   wrap;
}
.site-footer__strip-label {
    font-size:      20px;
    font-weight:    600;
    color:          var(#ffffff);
    white-space:    nowrap;
    flex-shrink:    0;
}
.site-footer__strip .newsletter-form { flex: 1; }
.site-footer__strip .newsletter-form__row { justify-content: flex-start; flex-wrap: nowrap; }

/* Strip form inputs — outlined on coloured background */
.newsletter-form--footer-strip .newsletter-form__row input {
    background:   transparent;
    border:       1.5px solid #ffffff;
    color:        var(--color-primary, #ffffff);
    min-width:    0;
}
.newsletter-form--footer-strip .newsletter-form__row input::placeholder {
    color: rgba(0,0,0,.45);
}
.newsletter-form--footer-strip .newsletter-form__row input:focus {
    border-color: var(--color-primary, #0d1b2e);
    outline: none;
}
.newsletter-form--footer-strip .btn {
    background:   var(--color-primary, #0d1b2e);
    color:        #fff;
    border-color: var(--color-primary, #0d1b2e);
    white-space:  nowrap;
    flex-shrink:  0;
}
.newsletter-form--footer-strip .btn:hover {
    background:   rgba(0,0,0,.75);
}

/* Main body */
.site-footer__main { padding: 4rem 0 3rem; }

/* Brand centered */
.site-footer__brand-top {
    text-align:    center;
    margin-bottom: 3rem;
}
.site-footer__logo-text {
    font-family:   var(--font-heading);
    font-size:     1.8rem;
    font-weight:   700;
    color:         var(--color-white);
    display:       block;
    margin-bottom: 1rem;
    letter-spacing: -.01em;
}
.site-footer__logo img { max-height: 52px; width: auto; filter: brightness(0) invert(1); margin-bottom: 1rem; }
.site-footer__tagline {
    font-size:   .95rem;
    line-height: 1.7;
    color:       rgba(255,255,255,.6);
    max-width:   600px;
    margin:      0 auto;
}

/* 2-col grid */
.site-footer__cols {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   3rem;
    max-width:             800px;
    margin:                0 auto;
}
.site-footer__col-title {
    font-size:      1rem;
    font-weight:    700;
    color:          var(--color-white);
    margin-bottom:  1.25rem;
}

/* Social list: icon + label */
.site-footer__social-list { list-style: none; }
.site-footer__social-list li + li { margin-top: .75rem; }
.site-footer__social-list a {
    display:      flex;
    align-items:  center;
    gap:          .85rem;
    color:        rgba(255,255,255,.75);
    font-size:    .95rem;
    transition:   color var(--transition);
    text-decoration: none;
}
.site-footer__social-list a svg {
    flex-shrink: 0;
    opacity: .85;
}
.site-footer__social-list a:hover { color: var(--color-white); }

/* Quick links list */
.footer-nav-list li { border-bottom: 1px dashed #dddddd; }
.footer-nav-list li:first-child { border-top: 1px dashed #dddddd; }
.footer-nav-list a {
    display:     block;
    padding:     .6rem 0;
    font-size:   16px;
    color:       rgba(255,255,255,.7);
    transition:  color var(--transition);
    font-weight: bold;
}
.footer-nav-list a:hover { color: var(--color-white); }

/* Bottom bar */
.site-footer__bottom {
    border-top: 1px dashed #dddddd;
    padding:    1.5rem 0;
}
.site-footer__bottom-inner {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    gap:             .25rem;
    text-align:      center;
}
.site-footer__bottom-inner p {
    font-size: .82rem;
    color:     rgba(255,255,255,.4);
    margin:    0;
}

.legal-nav-list {
    display: flex;
    gap:     1.5rem;
}
.legal-nav-list a {
    font-size:  .82rem;
    color:      rgba(255,255,255,.45);
    transition: color var(--transition);
}
.legal-nav-list a:hover { color: rgba(255,255,255,.8); }

/* ── Search Results ──────────────────────────────────────── */
.search-results-header { padding: 3rem 0 2rem; }
.search-results-header h1 { font-size: 2rem; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .hero__heading {
        font-size: clamp(2.5rem, calc(var(--hero-font-size, 96px) * 0.65), calc(var(--hero-font-size, 96px) * 0.65));
    }
}

@media (max-width: 768px) {
    .site-header__hamburger { display: flex; }

    .site-header__nav {
        display:       none;
        position:      absolute;
        top:           72px;
        left:          0;
        right:         0;
        background:    var(--nav-bg, #0d1b2e);
        border-bottom: 1px solid rgba(255,255,255,.08);
        box-shadow:    var(--shadow-md);
        padding:       1rem 1.5rem;
        z-index:       800;
    }
    .site-header__nav.is-open { display: block; }

    .nav-menu { flex-direction: column; align-items: flex-start; gap: .25rem; }
    .nav-menu a { padding: .65rem .5rem; width: 100%; }
    .nav-menu .sub-menu {
        position:  static;
        box-shadow: none;
        border:     none;
        padding:    0 0 0 1rem;
        display:    block;
    }

    .hero { min-height: 380px; }
    .hero__heading {
        /* Scale down proportionally on mobile while respecting the Customizer value */
        font-size: clamp(2rem, calc(var(--hero-font-size, 96px) * 0.45), calc(var(--hero-font-size, 96px) * 0.45));
    }
    .hero__subtext  { font-size: 1rem; }

    .site-footer__cols { grid-template-columns: 1fr; gap: 2rem; }
    .site-footer__strip-inner { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .site-footer__strip .newsletter-form__row { flex-wrap: wrap; }
    /* Popup: image on top, form below on mobile */
    .popup { flex-direction: column; max-height: 90vh; overflow-y: auto; }
    .popup__right { min-height: 200px; order: -1; }
    .popup__left { padding: 2rem 1.5rem 1.5rem; }
    .newsletter-strip__heading { font-size: 1.75rem; }
    .single-post__hero         { height: 260px; }
    .single-post__layout       { grid-template-columns: 1fr; gap: 2.5rem; padding: 2rem 0 3rem; }
    .single-post__sidebar      { position: static; }
    .single-post__title        { font-size: 1.75rem; }
    .recipe-stats { gap: 1rem; }
}

@media (max-width: 480px) {
    .newsletter-form__row { flex-direction: column; }
    .newsletter-form__row input,
    .newsletter-form__row .btn { width: 100%; }
    .hero__heading { font-size: 1.7rem; }
}
