@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#17221c;--forest:#203b30;--copper:#c68d4d;--cream:#f5f0e6;--muted:#6c716a}html{scroll-behavior:smooth;scroll-padding-top:85px}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}h1,h2,h3,.brand,.eyebrow,.btn,.footer-brand{font-family:'Barlow Condensed',sans-serif}h2{font-size:clamp(2.9rem,5vw,5rem);font-weight:800;line-height:.98;letter-spacing:-.015em}h2 em,h1 em{color:var(--copper);font-style:normal}.section{padding:110px 0}.eyebrow{color:var(--copper);font-size:1rem;letter-spacing:.18em;font-weight:700;margin-bottom:18px}.eyebrow.dark{color:#98632c}.section-intro{font-size:1.13rem;color:#666b65;max-width:600px;line-height:1.8}.btn{border-radius:2px;letter-spacing:.075em;font-weight:800;font-size:1.03rem;padding:13px 25px}.btn-copper{background:var(--copper);border-color:var(--copper);color:#17221c}.btn-copper:hover{background:#e2a963;border-color:#e2a963;color:#17221c}.btn-dark-green{background:var(--forest);border-color:var(--forest);color:#fff}.btn-dark-green:hover{background:#355b49;border-color:#355b49;color:white}.btn-outline-light{border-width:1px}#siteNav{background:rgba(18,27,22,.95);border-bottom:1px solid rgba(255,255,255,.1);padding:14px 0;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;font-size:1.65rem;font-weight:900;letter-spacing:.04em;line-height:.8}.brand small{display:block;font-size:.75rem;letter-spacing:.24em;margin-top:8px}.brand-icon{font-size:2.4rem;color:var(--copper)}.navbar .nav-link{color:#f1eee6;font-size:.9rem;font-weight:600}.navbar .nav-link:hover{color:var(--copper)}.hero{min-height:750px;min-height:92svh;color:white;background-image:linear-gradient(90deg,rgba(12,22,16,.93) 0%,rgba(12,22,16,.72) 45%,rgba(12,22,16,.32) 100%),var(--hero-image);background-position:center;background-size:cover;position:relative;display:flex;align-items:center}.hero-inner{padding-top:130px;padding-bottom:120px}.hero h1{font-weight:900;font-size:clamp(4.3rem,9vw,9rem);line-height:.84;letter-spacing:-.012em;margin:24px 0 32px}.hero-lead{font-size:1.15rem;line-height:1.8;max-width:530px;color:#e6e6dd;margin-bottom:32px}.line{display:inline-block;width:30px;height:2px;background:var(--copper);vertical-align:middle;margin-right:12px}.hero-foot{position:absolute;bottom:0;width:100%;padding:18px 0;border-top:1px solid #ffffff38;color:#eee7d8;font-size:.72rem;letter-spacing:.18em}.announcement{background:var(--copper);padding:17px 0;color:#18271d}.announcement a{color:#18271d;font-weight:700;text-decoration:underline}.announcement-star{font-size:1.4rem}.beer-section{background:var(--cream)}.text-link{color:#1f4232;font-weight:700;text-decoration:none;border-bottom:1px solid #1f4232;padding-bottom:5px}.beer-card{background:white;box-shadow:0 12px 30px rgba(20,30,23,.05)}.beer-art{height:255px;background-color:#31443b;background-size:cover;background-position:center;position:relative}.beer-category{position:absolute;bottom:17px;left:20px;color:white;font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.beer-card-body{padding:26px}.beer-card h3{font-size:2rem;font-weight:800;text-transform:uppercase}.beer-card p{color:#6a6e67;line-height:1.7;min-height:56px}.beer-card a{font-weight:700;color:#31503d;text-decoration:none}.abv{font-size:.85rem;color:#96602d;white-space:nowrap;font-weight:700}.story-section{background:#1e3329;color:#fff}.story-image{min-height:550px;background:#43584a center/cover}.story-content{padding:clamp(55px,7vw,120px)}.story-content p:not(.eyebrow){color:#d3d9d0;font-size:1.05rem;line-height:1.85;max-width:560px}.story-content .btn{margin-top:22px}.events-section{background:#eae5d9}.events-panel{background:#f8f5ee;border:1px solid #d8d1c4;box-shadow:14px 14px 0 #d6c8b2}.events-panel-top{padding:20px 25px;display:flex;justify-content:space-between;background:#243d30;color:#fff;letter-spacing:.14em;font-size:.75rem}.event-empty{text-align:center;padding:65px 35px}.event-symbol{color:var(--copper);font-size:4rem}.event-empty h3{font-size:2.3rem;font-weight:800;text-transform:uppercase}.event-empty p{color:#74776f}.event-empty a{color:#284835;font-weight:700}.event-row{display:flex;gap:24px;padding:20px 25px;border-bottom:1px solid #ddd}.food-section{background:#17251d;color:#fff;padding:105px 0}.food-section h2{margin-bottom:30px}.food-section p:not(.eyebrow){color:#d7ddd4;line-height:1.9;font-size:1.1rem;max-width:520px}.food-image{height:430px;background:#36483b center/cover;position:relative}.image-stamp{position:absolute;right:-10px;bottom:-22px;background:var(--copper);color:#1b291e;padding:25px 30px;transform:rotate(-5deg);font:900 1.8rem/1 'Barlow Condensed',sans-serif;text-align:center}.visit-section{background:var(--cream)}.visit-address{margin:34px 0}.visit-address strong{font-size:.87rem;letter-spacing:.1em}.visit-address p{margin-top:10px;line-height:1.6}.visit-address a{color:#254c39}.hours-card{background:#fff;padding:clamp(26px,5vw,55px);box-shadow:0 15px 45px #17221c12}.hours-card h3{font-size:2.2rem;font-weight:800;margin-bottom:22px}.hours-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e8e7e1;padding:13px 0;font-size:.93rem}.hours-row span:last-child{text-align:right;font-weight:700}.hours-note{font-size:.8rem;color:#777;margin-top:24px}.site-footer{background:#111c16;color:#f0f0e8;padding:65px 0 25px}.footer-brand{font-size:2.5rem;font-weight:900;line-height:.9}.footer-brand span{display:block;font-size:1.2rem;letter-spacing:.13em;margin-top:10px}.site-footer p,.site-footer .small{color:#b3bfb5}.site-footer a{color:#f0f0e8;text-decoration:none;margin-left:20px}.site-footer hr{border-color:#ffffff30;margin:35px 0 20px}.age-content{background:#1e3329;color:#fff;border:1px solid #b98a4e;border-radius:3px}.age-content h2{font-size:3.7rem}.age-content p:not(.eyebrow){color:#d9ded6}.age-icon{font-size:3.8rem;color:var(--copper)}@media(max-width:767px){.hero{min-height:720px}.hero h1{font-size:clamp(3.9rem,14vw,6rem)}.section{padding:75px 0}.story-image{min-height:320px}.story-content{padding:60px 25px}.food-section{padding:75px 0}.food-image{height:300px}.image-stamp{right:8px}.site-footer a{margin:0 16px 0 0}
}

/* =========================================
   BEER CATALOG — /beers/index.php
========================================= */
.beer-catalog {
    background: #f5f0e6;
    color: #17221c;
    min-height: 80vh;
}

.beer-page-heading { padding-top: 65px; }
.beer-page-heading h1 { color: #17221c; }
.beer-page-heading .lead {
    color: #45433d;
    max-width: 650px;
    font-size: 1.05rem;
}
.beer-catalog .section-kicker {
    color: #99662f;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .2em;
}
.beer-catalog .row > [class*="col-"] { min-width: 0; }

.beer-catalog .beer-catalog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    overflow: hidden;
    background: #302b25;
    border: 1px solid #4a4238;
    border-radius: 12px;
    transition: transform .25s ease, border-color .25s ease;
}
.beer-catalog .beer-catalog-card:hover {
    transform: translateY(-4px);
    border-color: #c99054;
}
.beer-catalog .beer-catalog-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 300px;
    padding: 15px;
    overflow: hidden;
    background: #29251f;
}
.beer-catalog .beer-catalog-image img {
    display: block;
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 275px !important;
    object-fit: contain !important;
    margin: 0 auto;
    padding: 0;
    transform: none;
}
.beer-catalog .beer-catalog-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
    color: #f4e9d7;
}
.beer-catalog .beer-catalog-card .beer-catalog-title {
    margin: 0 0 12px;
    color: #f4e9d7;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
}
.beer-catalog .beer-catalog-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
    color: #e2c29a;
}
.beer-catalog .beer-catalog-stats span {
    padding: 5px 10px;
    border: 1px solid #665441;
    border-radius: 4px;
    color: #e2c29a;
    font-size: .75rem;
    font-weight: 700;
}
.beer-catalog .beer-catalog-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #514a40;
    color: #d8a66a;
    text-decoration: none;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
}
.beer-catalog .beer-catalog-link:hover { color: #fff; }
.beer-catalog .beer-catalog-link span { font-size: 1.4rem; }

@media (max-width: 767px) {
    .beer-page-heading { padding-top: 35px; }
    .beer-catalog .beer-catalog-image { height: 250px; }
    .beer-catalog .beer-catalog-image img { max-height: 220px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .beer-catalog .beer-catalog-card { transition: none; }
}

/* =========================================
   BEER DETAIL PAGE
========================================= */

.beer-detail-page {
    background: #f4efe6;
    color: #19231d;
    min-height: 80vh;
    padding-bottom: 60px;
}

/* Back link */

.beer-detail-back {
    color: #99662f;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
}

.beer-detail-back:hover {
    color: #19231d;
}

/* Artwork */

.beer-detail-artwork {
    background: #302b25;
    border-radius: 14px;
    padding: 35px;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.beer-detail-artwork img {
    display: block;
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 520px !important;
    object-fit: contain;
}

/* Beer information */

.beer-detail-info {
    padding-top: 12px;
}

.beer-detail-kicker {
    color: #a4743c;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .18em;
    margin-bottom: 15px;
}

.beer-detail-page .beer-detail-title {
    color: #19231d;
    font-size: clamp(2.6rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.05;
    margin-bottom: 25px;
}

/* ABV / IBU */

.beer-detail-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
}

.beer-detail-stat {
    background: #302b25;
    color: #e2c29a;
    padding: 10px 18px;
    border-radius: 5px;
    font-size: .9rem;
    font-weight: 700;
}

/* Description */

.beer-detail-description {
    color: #45433d;
    font-size: 1.15rem;
    line-height: 1.85;
    margin-bottom: 30px;
}

/* Hops / malts */

.beer-detail-ingredients {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding-top: 25px;
    border-top: 1px solid #d8cdbd;
    margin-bottom: 30px;
}

.beer-detail-ingredients h3 {
    font-size: .9rem;
    color: #a4743c;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 12px;
}

.beer-detail-ingredients p {
    color: #45433d;
    font-size: 1rem;
    line-height: 1.7;
}

/* Additional picture */

.beer-detail-extra-image {
    margin-top: 25px;
}

.beer-detail-extra-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

/* Ratings */

.beer-detail-ratings {
    margin-top: 75px;
    padding-top: 45px;
    border-top: 1px solid #d8cdbd;
}

.beer-detail-ratings h2,
.beer-detail-merch h2 {
    color: #19231d;
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 30px;
}

.beer-rating-box {
    background: #302b25;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    height: 100%;
}

.beer-rating-value {
    color: #f4e9d7;
    font-size: 2.7rem;
    font-weight: 800;
    line-height: 1.1;
}

.beer-rating-label {
    color: #d8a66a;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    margin-top: 12px;
}

/* Customer comments */

.beer-detail-comments {
    margin-top: 45px;
}

.beer-detail-comments h3 {
    color: #19231d;
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 20px;
}

.beer-comment {
    background: #fffaf3;
    border-left: 4px solid #c99054;
    padding: 22px;
    margin-bottom: 15px;
    border-radius: 0 8px 8px 0;
}

.beer-comment p {
    color: #45433d;
    margin-bottom: 10px;
}

.beer-comment span {
    color: #99662f;
    font-size: .8rem;
    font-weight: 700;
}

/* Merchandise */

.beer-detail-merch {
    margin-top: 70px;
    padding-top: 45px;
    border-top: 1px solid #d8cdbd;
}

.beer-merch-content {
    max-width: 100%;
    overflow: hidden;
}

/* Mobile */

@media (max-width: 767px) {
    .beer-detail-artwork {
        min-height: 300px;
        padding: 20px;
    }

    .beer-detail-artwork img {
        max-height: 350px !important;
    }

    .beer-detail-page .beer-detail-title {
        font-size: 2.5rem;
    }

    .beer-detail-ingredients {
        grid-template-columns: 1fr;
    }

    .beer-detail-ratings {
        margin-top: 45px;
    }
}

/* =====================================
   BEER CATALOG CORNER RIBBONS
===================================== */

/* Image container anchors the ribbon */
.beer-catalog .beer-catalog-image {
    position: relative;
    overflow: hidden;
}

/* Diagonal ribbon */
.beer-catalog .beer-corner-ribbon {
    position: absolute;
    top: 27px;
    right: -47px;

    width: 190px;
    padding: 8px 0;

    transform: rotate(45deg);
    transform-origin: center;

    text-align: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.3;

    color: #fff;
    z-index: 5;

    box-shadow: 0 3px 8px rgba(0, 0, 0, .3);
    pointer-events: none;
}

/* Green - On Tap */
.beer-catalog .beer-ribbon-on-tap {
    background: #376747;
    color: #ffffff;
}

/* Copper - Coming Soon */
.beer-catalog .beer-ribbon-coming-soon {
    background: #c99054;
    color: #211f1b;
}

/* Beer availability badges */

.beer-detail-page .beer-detail-on-tap {
    background: #376747;
    color: #ffffff;
}

.beer-detail-page .beer-detail-coming-soon {
    background: #c99054;
    color: #211f1b;
}

/* ============================================
   PRIVATE EVENTS CAROUSEL
   Bootstrap 5.2 / 5.3
============================================ */

/* Keep the two-column layout intact */
.private-events-section .row > [class*="col-"] {
    min-width: 0;
}

/* Main carousel */
#privateEventsCarousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 18px 18px 0 rgba(198,141,77,.20);
}

/* Slide container */
#privateEventsCarousel .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/*
 * Bootstrap handles display and animation.
 * Do not force display:block on every slide.
 */
#privateEventsCarousel .carousel-item {
    position: relative;
    width: 100%;
    height: 460px;
}

/* Photos */
#privateEventsCarousel .carousel-item img {
    display: block;
    position: static;
    width: 100%;
    max-width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center;
    visibility: visible;
    opacity: 1;
}

/* Navigation arrows */
#privateEventsCarousel .carousel-control-prev,
#privateEventsCarousel .carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 13%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    opacity: .85;
    z-index: 3;
}

#privateEventsCarousel .carousel-control-prev {
    left: 0;
}

#privateEventsCarousel .carousel-control-next {
    right: 0;
}

#privateEventsCarousel .carousel-control-prev:hover,
#privateEventsCarousel .carousel-control-next:hover {
    opacity: 1;
}

/* Arrow icons */
#privateEventsCarousel .carousel-control-prev-icon,
#privateEventsCarousel .carousel-control-next-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

/* Slide indicators */
#privateEventsCarousel .carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 15px;
    left: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#privateEventsCarousel .carousel-indicators button {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 28px;
    height: 3px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    opacity: .55;
    cursor: pointer;
}

#privateEventsCarousel .carousel-indicators button.active {
    background: #c68d4d;
    opacity: 1;
}

/* Caption beneath carousel */
.private-events-photo-caption {
    margin-top: 32px;
    color: #c68d4d;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .18em;
}

/* Tablet */
@media (max-width: 991px) {
    #privateEventsCarousel .carousel-item,
    #privateEventsCarousel .carousel-item img {
        height: 360px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    #privateEventsCarousel .carousel-item,
    #privateEventsCarousel .carousel-item img {
        height: 270px;
    }

    #privateEventsCarousel .carousel-control-prev,
    #privateEventsCarousel .carousel-control-next {
        width: 15%;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    #privateEventsCarousel .carousel-item {
        transition: none;
    }
}
/* PRIVATE EVENTS - TWO COLUMN EVENT LIST */

.private-events-section .private-events-types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 35px;
    row-gap: 20px;
    margin: 30px 0;
}

.private-events-section .private-event-type {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #19231d;
    font-size: 1rem;
    font-weight: 600;
}

.private-events-section .private-event-type i {
    color: #c68d4d;
    font-size: 1.25rem;
    width: 26px;
    flex-shrink: 0;
    text-align: center;
}

.private-events-section .private-event-type span {
    line-height: 1.4;
}

/* Stack on narrow phones */
@media (max-width: 480px) {
    .private-events-section .private-events-types {
        grid-template-columns: 1fr;
        row-gap: 15px;
    }
}
/* =========================================
   MOBILE NAVIGATION BACKGROUND
========================================= */

@media (max-width: 991.98px) {

    /* Collapsed mobile navigation */
    #siteNav .navbar-collapse {
        background: #19271f;
        padding: 20px;
        margin-top: 12px;
        border-radius: 4px;
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 12px 25px rgba(0,0,0,.25);
    }

    /* Navigation links */
    #siteNav .navbar-collapse .nav-link {
        color: #f5f0e6 !important;
        padding: 12px 15px;
        font-size: 1rem;
        font-weight: 600;
    }

    /* Hover and active links */
    #siteNav .navbar-collapse .nav-link:hover,
    #siteNav .navbar-collapse .nav-link.active {
        color: #c68d4d !important;
        background: rgba(255,255,255,.06);
    }

    /* Explore Beers button */
    #siteNav .navbar-collapse .btn-copper {
        margin-top: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}