/*
Theme Name: New England Sweetwater Distillery
Theme URI: https://newenglandsweetwater.com
Author: New England Sweetwater Farm & Distillery
Description: Custom theme for New England Sweetwater Farm & Distillery
Version: 1.3
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: Private
Text Domain: sweetwater
*/

:root { 

--gold: #C8861A; 

--gold-light: #E8A832; 

--dark: #0D0D0D; 

--dark2: #161616; 

--dark3: #1E1E1E; 

--dark4: #252525; 

--cream: #F5F0E8; 

--cream2: #E8DFD0; 

--red: #8B1A1A; 

--text-muted: #9A9080; 

--border: rgba(200,134,26,0.2); 

} 

*{margin:0;padding:0;box-sizing:border-box;} 

html{scroll-behavior:smooth;} 

body{background:var(--dark);color:var(--cream);font-family:'Lato',sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;} 

h1,h2,h3,h4{font-family:'Playfair Display',serif;} 

a{color:inherit;text-decoration:none;} 

img{max-width:100%;display:block;} 

  

/* NAVIGATION */ 

nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(13,13,13,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px;transition:all .3s;} 

.nav-logo{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--gold);letter-spacing:0.05em;line-height:1.2;} 

.nav-logo span{display:block;font-size:0.65rem;font-weight:300;color:var(--cream2);letter-spacing:0.18em;text-transform:uppercase;} 

.nav-links{display:flex;align-items:center;gap:32px;} 

.nav-links a{font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream2);transition:color .2s;font-weight:400;} 

.nav-links a:hover,.nav-links a.active{color:var(--gold);} 

.nav-ctas{display:flex;gap:12px;align-items:center;} 

.btn-nav-ghost{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;padding:8px 18px;border:1px solid var(--gold);color:var(--gold);border-radius:2px;transition:all .2s;font-family:'Lato',sans-serif;} 

.btn-nav-ghost:hover{background:var(--gold);color:var(--dark);} 

.btn-nav-solid{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;padding:8px 18px;background:var(--gold);color:var(--dark);border-radius:2px;transition:all .2s;font-weight:700;font-family:'Lato',sans-serif;} 

.btn-nav-solid:hover{background:var(--gold-light);} 

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;} 

.hamburger span{width:24px;height:2px;background:var(--cream);transition:all .3s;} 

.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;background:var(--dark2);border-bottom:1px solid var(--border);padding:24px 40px;z-index:999;} 

.mobile-menu.open{display:flex;flex-direction:column;gap:20px;} 

.mobile-menu a{font-size:0.9rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--cream2);padding:8px 0;border-bottom:1px solid var(--border);} 

  

/* PAGE SYSTEM */ 

.page{display:none;} 

.page.active{display:block;} 

  

/* BUTTONS */ 

.btn-primary{display:inline-block;background:var(--gold);color:var(--dark);font-family:'Lato',sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;padding:16px 36px;border-radius:2px;transition:all .25s;border:2px solid var(--gold);} 

.btn-primary:hover{background:var(--gold-light);border-color:var(--gold-light);} 

.btn-outline{display:inline-block;background:transparent;color:var(--cream);font-family:'Lato',sans-serif;font-weight:400;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;padding:14px 34px;border-radius:2px;transition:all .25s;border:2px solid rgba(245,240,232,0.5);} 

.btn-outline:hover{border-color:var(--cream);background:rgba(245,240,232,0.08);} 

.btn-gold-outline{display:inline-block;background:transparent;color:var(--gold);font-family:'Lato',sans-serif;font-weight:400;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;padding:14px 34px;border-radius:2px;transition:all .25s;border:2px solid var(--gold);} 

.btn-gold-outline:hover{background:var(--gold);color:var(--dark);} 

  

/* DIVIDERS & LABELS */ 

.section-label{font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:12px;} 

.gold-rule{width:50px;height:2px;background:var(--gold);margin:16px 0 24px;} 

.gold-rule.center{margin:16px auto 24px;} 

  

/* PLACEHOLDER IMAGES */ 

.img-placeholder{background:var(--dark3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;border:1px dashed rgba(200,134,26,0.2);} 

  

/* FOOTER */ 

footer{background:#080808;border-top:1px solid var(--border);padding:60px 80px 30px;} 

.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;} 

.footer-brand .nav-logo{margin-bottom:16px;font-size:1.2rem;} 

.footer-brand p{font-size:0.85rem;color:var(--text-muted);line-height:1.8;max-width:240px;} 

.footer-col h4{font-family:'Lato',sans-serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:700;} 

.footer-col a{display:block;font-size:0.85rem;color:var(--text-muted);margin-bottom:10px;transition:color .2s;} 

.footer-col a:hover{color:var(--cream);} 

.footer-col p{font-size:0.85rem;color:var(--text-muted);line-height:1.8;} 

.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;} 

.footer-bottom p{font-size:0.75rem;color:var(--text-muted);} 

/* AGE GATE MODAL */
#age-gate{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.95);display:flex;align-items:center;justify-content:center;z-index:2000;transition:opacity .3s;opacity:1;}
#age-gate.hidden{opacity:0;pointer-events:none;}
.age-gate-box{background:var(--dark);border:2px solid var(--gold);border-radius:2px;padding:60px 40px;text-align:center;max-width:450px;box-shadow:0 10px 50px rgba(0,0,0,0.9);}
.age-gate-box h2{font-size:2rem;margin-bottom:16px;color:var(--cream);}
.age-gate-box p{font-size:0.95rem;color:var(--cream2);margin-bottom:24px;line-height:1.6;}
.age-gate-divider{width:50px;height:2px;background:var(--gold);margin:20px auto;}
.age-gate-btns{display:flex;gap:16px;justify-content:center;margin:32px 0;}
.age-gate-yes,.age-gate-no{padding:12px 32px;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;font-weight:700;font-family:'Lato',sans-serif;transition:all .3s;}
.age-gate-yes{background:var(--gold);color:var(--dark);}
.age-gate-yes:hover{background:var(--gold-light);}
.age-gate-no{background:transparent;border:2px solid var(--gold);color:var(--gold);}
.age-gate-no:hover{background:var(--gold);color:var(--dark);}
#age-denied{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;z-index:2000;opacity:0;transition:opacity .3s;}
#age-denied.show{display:flex;opacity:1;}
#age-denied p{font-size:1.5rem;color:var(--red);max-width:400px;}

/* RESPONSIVE */ 

@media(max-width:900px){ 

nav{padding:0 24px;} 

.nav-links{display:none;} 

.nav-ctas{display:none;} 

.hamburger{display:flex;} 

footer{padding:40px 24px 24px;} 

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

} 

@media(max-width:768px){ 

section{padding-left:24px !important;padding-right:24px !important;} 

section[style*="grid-template-columns:1fr 1fr"]{display:block !important;} 

section[style*="grid-template-columns:1fr 2fr"]{display:block !important;} 

section[style*="grid-template-columns:2fr 1fr"]{display:block !important;} 

section[style*="grid-template-columns:repeat(3"]{display:block !important;} 

section[style*="grid-template-columns:repeat(4"]{display:block !important;} 

.img-placeholder[style*="position:sticky"]{margin-bottom:24px;} 

} 

@media(max-width:600px){ 

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

.mobile-menu{padding:24px;} 

div[style*="grid-template-columns:1fr 1fr"], 

div[style*="grid-template-columns:repeat(3"], 

div[style*="grid-template-columns:repeat(4"], 

div[style*="grid-template-columns:1fr 2fr"], 

div[style*="grid-template-columns:2fr 1fr"], 

div[style*="grid-template-columns:200px"]{ 

display:block !important; 

} 

div[style*="display:grid"]{ 

grid-template-columns: 1fr !important; 

} 

}

/* WordPress Overrides */
body{margin:0;padding:0;}
.admin-bar nav#main-nav{top:32px;}
@media screen and (max-width:782px){.admin-bar nav#main-nav{top:46px;}}
.site-header,.site-footer{display:none;}

/* Page Wrapper - Ensure it displays */
.page-wrapper{display:block !important;visibility:visible !important;opacity:1 !important;position:relative !important;z-index:auto !important;}
.page-content{display:block !important;visibility:visible !important;opacity:1 !important;}

/* Hide BottleNexus cart on shop pages */
body.is-shop-page #cart-bottle-nexus {
    display: none !important;
}

/* WordPress Block Columns & Layouts */
.wp-block-columns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    margin: 0 0 32px 0 !important;
}

.wp-block-column {
    flex: 1 1 calc(33.333% - 16px) !important;
    min-width: 250px !important;
    display: flex !important;
    flex-direction: column !important;
}

.wp-block-column figure {
    margin: 0 0 20px 0 !important;
}

.wp-block-column img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.wp-block-image {
    margin: 0 !important;
}

.wp-block-heading {
    margin-bottom: 16px !important;
}

/* BottleNexus Button Container */
.wp-block-column > div {
    display: flex !important;
    justify-content: center !important;
}

iframe.intrinsic-ignore {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Article elements on shop page MUST be visible */
.page-wrapper article {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force article.page class to display */
article.page {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Responsive columns */
@media (max-width: 1024px) {
    .wp-block-column {
        flex: 1 1 calc(50% - 12px) !important;
    }
}

@media (max-width: 768px) {
    .wp-block-column {
        flex: 1 1 100% !important;
    }
}
