:root {
    --na-green: #2D433D;
    --na-deep: #111E1B;
    --na-gold: #EBC68A;
    --na-gold-dark: #B08A52;
    --na-cream: #F7F4ED;
    --na-ink: #34433E;
    --na-white: #FFFFFF;
    --na-brick: #B17950;
    --na-max: 1240px;
}

/* Home template: remove the spacing/title wrappers that caused trouble previously. */
.nelson-arms-home-template .content-area,
.nelson-arms-home-template .site-main,
.nelson-arms-home-template .entry-content,
.editor-styles-wrapper {
    margin: 0;
    padding: 0;
}

.nelson-arms-home-template .content-container,
.nelson-arms-home-template .site-container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.nelson-arms-home-template .entry-header,
.nelson-arms-home-template .entry-title,
.nelson-arms-home-template .page-title {
    display: none !important;
}

.nelson-arms-home-main .wp-block-group,
.nelson-arms-home-main .wp-block-columns,
.nelson-arms-home-main .wp-block-cover,
.editor-styles-wrapper .na-section,
.editor-styles-wrapper .na-hero {
    box-sizing: border-box;
}

.na-section {
    margin: 0 !important;
    padding: 68px 24px;
}

.na-section > .wp-block-group__inner-container,
.na-section .na-inner,
.na-hero > .na-inner {
    width: min(100%, var(--na-max));
    margin-inline: auto;
}

.na-section-cream { background: var(--na-cream); }
.na-section-green { background: var(--na-green); color: var(--na-white); }
.na-section-white { background: #fff; }

/* v1.2: reduce homepage length while keeping each main story beat distinct. */
#beer.na-section,
#food.na-section,
#whats-on.na-section,
#stay.na-section {
    padding-top: 58px;
    padding-bottom: 58px;
}

/* Airbnb widgets added in Custom HTML blocks stay inside their columns and sit centrally. */
#stay .wp-block-html {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#stay .wp-block-html .airbnb-embed-frame,
#stay .airbnb-embed-frame {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


.na-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 680px;
    margin: 0 !important;
    overflow: hidden;
    background: var(--na-deep);
}

.na-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(17, 30, 27, .58);
    pointer-events: none;
}

.na-hero > .wp-block-image.na-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.na-hero-bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.na-hero > .na-hero-copy {
    position: relative;
    z-index: 2;
}

.na-hero-copy {
    max-width: 650px;
    padding: 80px 24px;
}

.na-hero h1,
.na-section h2,
.na-card h3,
.na-award h3,
.na-stay-card h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    color: var(--na-green);
}

.na-hero h1 {
    margin: 0 0 22px;
    font-size: clamp(48px, 6vw, 76px);
    line-height: .96;
    color: var(--na-cream);
}

.na-hero p,
.na-section p,
.na-card p,
.na-section li,
.na-section a,
.na-kicker,
.na-trust-line,
.na-button {
    font-family: 'Source Sans 3', Arial, sans-serif;
}

.na-hero-copy > p:not(.na-trust-line) {
    max-width: 620px;
    margin-bottom: 28px;
    font-size: 19px;
    line-height: 1.5;
    color: var(--na-cream);
}

.na-buttons {
    gap: 14px;
    margin-bottom: 24px !important;
}

.na-button .wp-block-button__link,
.wp-block-button.na-button .wp-block-button__link {
    border-radius: 4px;
    padding: 12px 20px;
    font-weight: 600;
    text-decoration: none;
}

.na-button-primary .wp-block-button__link {
    background: var(--na-gold);
    color: var(--na-deep);
}

.na-button-secondary .wp-block-button__link {
    background: transparent;
    border: 1px solid var(--na-cream);
    color: var(--na-cream);
}

.na-button-dark .wp-block-button__link {
    background: var(--na-gold);
    color: var(--na-deep);
}

.na-trust-line,
.na-kicker {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.na-trust-line { color: rgba(247,244,237,.88); }
.na-kicker { color: var(--na-gold-dark); margin-bottom: 8px; }
.na-section-green .na-kicker { color: var(--na-gold); }

.na-section h2 {
    margin: 0 0 18px;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.05;
}

.na-section p {
    color: var(--na-ink);
    font-size: 17px;
    line-height: 1.6;
}

.na-section-green h2,
.na-section-green h3,
.na-section-green p { color: var(--na-cream); }

.na-welcome-columns,
.na-split-columns,
.na-stay-columns,
.na-visit-columns {
    align-items: center !important;
    gap: 52px;
    margin-bottom: 0 !important;
}

.na-welcome-columns .wp-block-image,
.na-split-columns .wp-block-image,
.na-visit-columns .wp-block-image {
    margin: 0;
}

.na-image img,
.na-card-image img,
.na-stay-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
}

.na-card-grid,
.na-awards-grid,
.na-food-grid {
    gap: 24px;
    margin-bottom: 0 !important;
}

.na-card {
    height: 100%;
    padding: 0 0 10px;
}

.na-card h3,
.na-stay-card h3 {
    margin: 14px 0 5px;
    font-size: 31px;
    line-height: 1.1;
}

.na-card p,
.na-stay-card p {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.5;
}

.na-text-link {
    color: var(--na-gold-dark) !important;
    font-weight: 700;
    text-decoration: none;
}

.na-awards-intro {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 34px;
}

.na-awards-intro h2 {
    font-size: clamp(34px, 3.4vw, 48px);
}

.na-awards-grid {
    text-align: center;
}

.na-award {
    border-left: 1px solid rgba(235,198,138,.35);
    padding: 16px 22px;
}

.na-award:first-child { border-left: 0; }
.na-award-symbol {
    margin-bottom: 8px !important;
    color: var(--na-gold) !important;
    font-size: 32px !important;
    line-height: 1;
}
.na-award h3 {
    margin: 0;
    color: var(--na-cream);
    font-size: 25px;
}

.na-beer-image img { aspect-ratio: 16 / 10; }

.na-food-card {
    background: var(--na-white);
    border: 1px solid #ebe6dc;
    border-radius: 4px;
    overflow: hidden;
    padding: 0 0 15px;
    text-align: center;
}

.na-food-card .wp-block-image { margin: 0 0 10px; }
.na-food-card h3 { margin: 0; font-size: 25px; }
.na-food-card p { margin: 2px 0 0; font-size: 14px; }

.na-stay-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e7e0d7;
    border-radius: 4px;
    overflow: hidden;
    padding-bottom: 22px;
}

.na-stay-card > *:not(.wp-block-image) {
    margin-left: 22px;
    margin-right: 22px;
}

.na-stay-card .wp-block-image { margin: 0 0 14px; }
.na-stay-meta {
    color: var(--na-gold-dark) !important;
    font-size: 14px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.na-visit-details {
    padding: 8px 0;
}

.na-opening-card {
    border-left: 1px solid #d9d1c2;
    padding-left: 30px;
}

.na-opening-card h3 {
    margin-top: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 28px;
    color: var(--na-green);
}

@media (max-width: 900px) {
    .na-section { padding: 52px 20px; }
    .na-hero { min-height: 600px; }
    .na-hero-copy { padding: 70px 20px; }
    .na-card-grid,
    .na-awards-grid,
    .na-food-grid,
    .na-stay-columns,
    .na-welcome-columns,
    .na-split-columns,
    .na-visit-columns {
        gap: 28px;
    }
    .na-award { border-left: 0; border-top: 1px solid rgba(235,198,138,.25); }
    .na-award:first-child { border-top: 0; }
    .na-opening-card { border-left: 0; border-top: 1px solid #d9d1c2; padding: 26px 0 0; }
}

@media (max-width: 600px) {
    .na-section { padding: 42px 18px; }
    .na-hero { min-height: 560px; }
    .na-hero-copy { padding: 54px 18px; }
    .na-hero h1 { font-size: 48px; }
    .na-hero-copy > p:not(.na-trust-line) { font-size: 17px; }
    .na-section h2 { font-size: 39px; }
    .na-buttons { flex-direction: column; align-items: flex-start; }
    .na-trust-line { font-size: 10px; line-height: 1.6; }
    .na-card h3, .na-stay-card h3 { font-size: 28px; }
    #beer.na-section, #food.na-section, #whats-on.na-section, #stay.na-section { padding-top: 40px; padding-bottom: 40px; }
}

/* ---------------------------------------------------------
   Beer & Cider page (v1.4)
   --------------------------------------------------------- */
.nelson-arms-content-template .content-area,
.nelson-arms-content-template .site-main,
.nelson-arms-content-template .entry-content {
    margin: 0;
    padding: 0;
}

.nelson-arms-content-template .content-container,
.nelson-arms-content-template .site-container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.nelson-arms-content-template .entry-header,
.nelson-arms-content-template .entry-title,
.nelson-arms-content-template .page-title {
    display: none !important;
}

.na-subpage-hero {
    min-height: 545px;
}

.na-subpage-hero .na-hero-copy {
    max-width: 760px;
}

.na-subpage-hero .na-kicker {
    color: var(--na-gold);
    margin-bottom: 14px;
}

.na-section-heading {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

.na-drink-cards,
.na-award-history-grid {
    gap: 24px;
    margin-bottom: 0 !important;
}

.na-drink-card {
    height: 100%;
    padding: 30px 28px;
    border: 1px solid #e7e0d7;
    border-radius: 4px;
    background: var(--na-cream);
}

.na-drink-number {
    margin: 0 0 18px !important;
    color: var(--na-gold-dark) !important;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.na-drink-card h3,
.na-current-award h3,
.na-award-history-card h3 {
    margin: 0 0 10px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    color: var(--na-green);
}

.na-drink-card h3 {
    font-size: 31px;
}

.na-drink-card p {
    margin-bottom: 0;
    font-size: 16px;
}

.na-untappd-columns {
    align-items: center !important;
}

.na-untappd-action .wp-block-buttons {
    justify-content: flex-end;
}

.na-beer-awards .na-awards-intro p:last-child {
    max-width: 760px;
    margin-inline: auto;
}

.na-current-award {
    position: relative;
    margin: 0 auto 28px;
    padding: 34px 38px;
    max-width: 980px;
    border-radius: 4px;
    background: var(--na-green);
    color: var(--na-cream);
    text-align: center;
}

.na-current-award-year {
    margin: 0 0 8px !important;
    color: var(--na-gold) !important;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: 2px;
}

.na-current-award h3 {
    margin: 0 0 10px;
    color: var(--na-cream);
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.05;
}

.na-current-award-copy {
    max-width: 760px;
    margin: 0 auto !important;
    color: var(--na-cream) !important;
    font-size: 17px !important;
}

.na-award-history-card {
    height: 100%;
    padding: 26px 24px;
    border: 1px solid #ded5c6;
    border-radius: 4px;
    background: #fff;
}

.na-award-history-card h3 {
    font-size: 28px;
}

.na-award-history-card p,
.na-award-history-card li {
    font-size: 15px;
    line-height: 1.55;
}

.na-award-history-card ul {
    margin: 0;
    padding-left: 19px;
}

.na-award-history-card li + li {
    margin-top: 7px;
}

.na-awards-note {
    margin: 22px auto 0 !important;
    max-width: 760px;
    color: #6a746f !important;
    font-size: 13px !important;
    text-align: center;
}

.na-page-cta {
    text-align: center;
}

.na-page-cta .na-inner {
    max-width: 780px;
}

.na-page-cta .na-cta-buttons {
    justify-content: center;
    gap: 12px;
}

.na-button-outline .wp-block-button__link {
    background: transparent;
    border: 1px solid var(--na-green);
    color: var(--na-green);
}

@media (max-width: 900px) {
    .na-subpage-hero { min-height: 500px; }
    .na-untappd-action .wp-block-buttons { justify-content: flex-start; }
    .na-current-award { padding: 30px 26px; }
    .na-drink-cards,
    .na-award-history-grid { gap: 18px; }
}

@media (max-width: 600px) {
    .na-subpage-hero { min-height: 480px; }
    .na-section-heading { margin-bottom: 28px; }
    .na-drink-card,
    .na-award-history-card { padding: 24px 20px; }
    .na-current-award { padding: 28px 20px; }
    .na-page-cta .na-cta-buttons { justify-content: flex-start; }
}

/* ---------------------------------------------------------
   Food page (v1.5)
   --------------------------------------------------------- */
.nelson-arms-food-template .na-food-hero .na-hero-bg img {
    object-position: center 55%;
}

.na-food-intro-columns,
.na-food-times-columns {
    align-items: center !important;
}

.na-food-feature-image img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.na-food-special-cards {
    gap: 24px;
    margin-bottom: 0 !important;
}

.na-food-special-card {
    height: 100%;
    padding: 30px 28px;
    border: 1px solid #e7e0d7;
    border-radius: 4px;
    background: var(--na-cream);
}

.na-food-day {
    margin: 0 0 16px !important;
    color: var(--na-gold-dark) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.na-food-special-card h3 {
    margin: 0 0 10px;
    color: var(--na-green);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 31px;
    font-weight: 600;
}

.na-food-special-card p:last-child {
    margin-bottom: 0;
}

.na-food-times-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 4px;
    background: rgba(255,255,255,.08);
}

.na-food-times-table {
    margin: 0 !important;
}

.na-food-times-table table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.na-food-times-table td {
    padding: 13px 16px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
    color: var(--na-cream);
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 15px;
}

.na-food-times-table tr:last-child td {
    border-bottom: 0;
}

.na-food-times-table td:first-child {
    width: 34%;
    color: var(--na-gold);
}

.na-food-times-section .wp-block-button {
    margin-top: 8px;
}

.na-food-note .na-cta-buttons {
    gap: 12px;
}

@media (max-width: 900px) {
    .na-food-special-cards { gap: 18px; }
}

@media (max-width: 600px) {
    .na-food-special-card { padding: 24px 20px; }
    .na-food-times-table td { padding: 11px 10px; font-size: 14px; }
    .na-food-times-table td:first-child { width: 31%; }
}


/* ---------------------------------------------------------
   Core pages batch (v1.6): What's On, Stay, About, Visit
   --------------------------------------------------------- */
.na-event-cards,
.na-about-values,
.na-visit-contact-grid,
.na-stay-listing-columns {
    gap: 24px;
    margin-bottom: 0 !important;
}

.na-event-card,
.na-about-value,
.na-visit-card,
.na-stay-listing-card {
    height: 100%;
    padding: 30px 28px;
    border: 1px solid #e7e0d7;
    border-radius: 4px;
    background: var(--na-cream);
}

.na-event-card h3,
.na-about-value h3,
.na-visit-card h3,
.na-stay-listing-card h3 {
    margin: 0 0 10px;
    color: var(--na-green);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 31px;
    font-weight: 600;
}

.na-card-label {
    margin: 0 0 16px !important;
    color: var(--na-gold-dark) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.na-event-card p:last-child,
.na-about-value p:last-child,
.na-visit-card p:last-child,
.na-stay-listing-card p:last-child {
    margin-bottom: 0;
}

.na-social-actions {
    justify-content: flex-end;
    align-items: center;
    min-height: 100%;
}

.na-stay-intro-columns,
.na-about-story-columns,
.na-opening-columns,
.na-station-columns {
    align-items: center !important;
}

.na-stay-listing-card {
    background: #fff;
    border-color: #ded5c6;
}

.na-stay-listing-card .na-stay-meta {
    margin-top: -2px !important;
    color: var(--na-gold-dark) !important;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.na-airbnb-wrap {
    width: 100%;
    margin-top: 22px;
    text-align: center;
}

.na-airbnb-wrap .airbnb-embed-frame {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.na-nautical-section .na-image img,
.na-stay-location .na-image img {
    border: 1px solid rgba(255,255,255,.18);
}

.na-hours-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 4px;
    background: rgba(255,255,255,.08);
}

.na-hours-table {
    margin: 0 !important;
}

.na-hours-table table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.na-hours-table td {
    padding: 15px 17px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
    color: var(--na-cream);
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 15px;
}

.na-hours-table tr:last-child td {
    border-bottom: 0;
}

.na-hours-table td:first-child {
    width: 52%;
    color: var(--na-gold);
}

.na-social-line {
    margin-top: 22px !important;
    font-weight: 600;
}

.na-social-line a {
    color: var(--na-green);
}

.nelson-arms-whats-on-template .na-whats-on-hero .na-hero-bg img {
    object-position: center 55%;
}

.nelson-arms-stay-template .na-stay-hero .na-hero-bg img,
.nelson-arms-about-template .na-about-hero .na-hero-bg img,
.nelson-arms-visit-template .na-visit-hero .na-hero-bg img {
    object-position: center 45%;
}

@media (max-width: 900px) {
    .na-event-cards,
    .na-about-values,
    .na-visit-contact-grid,
    .na-stay-listing-columns {
        gap: 18px;
    }
    .na-social-actions { justify-content: flex-start; }
}

@media (max-width: 781px) {
    .na-event-card,
    .na-about-value,
    .na-visit-card,
    .na-stay-listing-card {
        padding: 25px 22px;
    }
    .na-airbnb-wrap { margin-top: 18px; }
}
