/** * KOVAL Distillery - Main Stylesheet * Clean, minimal CSS without UIkit dependency *//* ========================================================================== CSS Variables ========================================================================== */:root { /* Core colors */ --koval-black: #0f0f0f; --koval-gray: #2d2e33; --koval-text: #6c6d74; --koval-muted: #999999; --koval-light: #f7f7f7; --koval-border: #e5e5e5; --koval-teal: #154d5b; --koval-gold: #d4a574; /* Promo colors */ --koval-promo-bg: #fff8e0; --koval-promo-border: #f3d27a; /* Status colors */ --koval-success: #d4edda; --koval-error: #f8d7da;	 /* Typography */	 --font-sans: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;	 --font-serif: 'PT Serif', Georgia, serif;	 --font-heading: 'Playfair Display', Georgia, serif; --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-lg: 18px; --text-xl: 24px; --text-2xl: 32px; --text-3xl: 42px; --text-4xl: 56px; --leading-tight: 1.2; --leading-normal: 1.6; --leading-relaxed: 1.8; /* Spacing (8px grid) */ --space-xs: 8px; --space-sm: 16px; --space-md: 24px; --space-lg: 32px; --space-xl: 48px; --space-2xl: 64px; --space-3xl: 96px; /* Border radius */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px;}/* ========================================================================== Reset & Base ========================================================================== */*, *::before, *::after { box-sizing: border-box;}body { margin: 0; font-family: 'PT Serif', Georgia, serif; font-size: 16px; line-height: 26px; color: var(--koval-text); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; /* Sticky footer */ display: flex; flex-direction: column; min-height: 100vh;}main { flex: 1 0 auto;}footer { flex-shrink: 0;}a { color: inherit; text-decoration: none; transition: color 0.2s;}a:hover { color: var(--koval-teal);}img { max-width: 100%; height: auto;}ul, ol { margin: 0; padding: 0; list-style: none;}	h1, h2, h3, h4, h5, h6 {	 margin: 0 0 30px 0;	 font-family: var(--font-heading);	 font-weight: 400;	 line-height: 1.3;	 color: var(--koval-gray);	}h1 { font-size: 28px;}h2 { font-size: 24px;}h3 { font-size: 20px;}/* List with dividers (like uk-list-divider) */.list-divider > li { padding: 10px 0; border-bottom: 1px solid var(--koval-border);}.list-divider > li:first-child { padding-top: 0;}.list-divider > li:last-child { border-bottom: none;}/* Partner cards - 2 column grid */.partner-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;}@media (max-width: 768px) { .partner-grid { grid-template-columns: 1fr; }}.partner-card { text-align: center;}.partner-card img { max-width: 150px; max-height: 150px; margin-bottom: 15px;}.partner-card strong { display: block; font-family: 'Montserrat', sans-serif; font-size: 15px; margin-bottom: 10px;}.partner-card p { margin: 0; font-size: 14px; color: var(--koval-muted);}/* Recipe cards */.recipe-grid { display: flex; flex-direction: column; align-items: center; gap: 40px;}.recipe-card { max-width: 350px; text-align: center;}.recipe-card img { width: 350px; height: auto; margin-bottom: 15px;}.recipe-card strong { display: block; font-family: 'Montserrat', sans-serif; font-size: 16px; margin-bottom: 10px; color: var(--koval-gray);}.recipe-card p { margin-bottom: 10px; font-size: 14px;}.recipe-card em { display: block; margin-top: 15px; font-size: 13px; color: var(--koval-muted);}/* Utility classes */.text-center { text-align: center;}/* Contact page - inquiry cards */.contact-info-center { text-align: center; margin-bottom: 40px;}.contact-info-center p { margin-bottom: 10px;}.social-icons { display: flex; justify-content: center; gap: 15px; margin-top: 10px;}.social-icons a { color: var(--koval-gray); text-decoration: none; display: inline-block;}.social-icons img { width: 20px; height: 20px; opacity: 0.6; transition: opacity 0.2s;}.social-icons a:hover img { opacity: 1;}.inquiry-heading { text-align: center; font-size: 16px; margin-bottom: 25px;}.inquiry-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 800px; margin: 0 auto;}@media (max-width: 640px) { .inquiry-grid { grid-template-columns: 1fr; }}.inquiry-card-wrapper { display: contents;}.inquiry-card { display: block; border: 1px solid #e5e5e5; padding: 25px; text-decoration: none; color: inherit; cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;}.inquiry-card:hover,.inquiry-card.active { border-color: var(--koval-gray); box-shadow: 0 2px 8px rgba(0,0,0,0.1);}.inquiry-card strong { display: block; font-family: 'Montserrat', sans-serif; font-size: 16px; margin-bottom: 10px; color: var(--koval-gray);}.inquiry-card p { margin: 0; font-size: 14px; color: var(--koval-muted);}.inquiry-form { display: none; grid-column: 1 / -1; padding: 30px; border: 1px solid #e5e5e5; border-top: none; margin-top: -20px; margin-bottom: 20px;}.inquiry-form.active { display: block;}/* Contact form */.contact-form-section { max-width: 600px; margin: 40px auto 0;}.contact-form .form-row { display: flex; gap: 20px; margin-bottom: 20px;}.contact-form .form-group { flex: 1;}.contact-form .form-group.full-width { flex: 1 1 100%;}.contact-form label { display: block; font-size: 12px; color: var(--koval-muted); margin-bottom: 5px;}.contact-form input,.contact-form textarea { width: 100%; padding: 10px 0; border: none; border-bottom: 1px solid #ddd; font-family: inherit; font-size: 14px; background: transparent;}.contact-form input:focus,.contact-form textarea:focus { outline: none; border-bottom-color: var(--koval-gray);}.contact-form textarea { resize: vertical; min-height: 100px;}.contact-form .checkbox-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer;}.contact-form .checkbox-label input[type="checkbox"] { width: auto; margin-top: 3px;}.contact-form .checkbox-label span { font-size: 14px;}.contact-form .checkbox-label small { color: var(--koval-muted);}.contact-form .btn { background: var(--koval-gray); color: #fff; border: none; padding: 12px 40px; font-family: 'Montserrat', sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: background 0.2s;}.contact-form .btn:hover { background: #333;}p { margin: 0 0 1.25em 0;}/* ========================================================================== Layout - Container ========================================================================== */.container { max-width: 1200px; margin: 0 auto; padding: 0 15px;}@media (min-width: 640px) { .container { padding: 0; }}@media (min-width: 960px) { .container { padding: 0; }}.container-small { max-width: 900px; margin: 0 auto; padding: 0 15px;}/* ========================================================================== Layout - Section ========================================================================== */.section { display: flow-root; box-sizing: border-box; padding-top: var(--space-xl); padding-bottom: var(--space-xl);}.section-alt { background: var(--koval-light);}/* ========================================================================== Layout - Grid (Flexbox) ========================================================================== */.grid { display: flex; flex-wrap: wrap; margin-left: -30px;}.grid > * { padding-left: 30px; width: 100%;}.grid img { max-width: 100%; height: auto;}.grid-large { margin-left: -40px;}.grid-large > * { padding-left: 40px;}/* Column widths */.col-1-2 { width: 50%; }.col-1-3 { width: 33.333%; }.col-2-3 { width: 66.666%; }.col-1-4 { width: 25%; }.col-3-4 { width: 75%; }/* Responsive - stack on mobile */@media (max-width: 959px) { .col-1-2, .col-1-3, .col-2-3, .col-1-4, .col-3-4 { width: 100%; } .grid > * + * { margin-top: 30px; }}/* ========================================================================== Header ========================================================================== */.header { background: #fff; position: sticky; top: 0; z-index: 1000;}.header.sticky { box-shadow: 0 2px 8px rgba(0,0,0,0.06);}.navbar { display: flex; align-items: center; min-height: 80px;}.logo img { height: 27px; width: auto;}/* ========================================================================== Navigation ========================================================================== */.nav { display: flex; align-items: center; margin-left: 270px; gap: 20px;}.nav-item { position: relative;}.nav-link { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; color: var(--koval-gray); text-transform: uppercase; letter-spacing: 1.5px; padding: 10px 0; display: block; white-space: nowrap;}.nav-link:hover,.nav-item.active .nav-link { color: var(--koval-teal);}/* Dropdown */.dropdown { position: absolute; top: 100%; left: 0; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); padding: 10px 0; min-width: 220px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.2s ease; z-index: 1001;}.nav-item:hover .dropdown,.dropdown.open { opacity: 1; visibility: visible; transform: translateY(0);}.dropdown-link { font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--koval-gray); padding: 6px 15px; display: block; white-space: nowrap; transition: background 0.15s ease;}.dropdown-link:hover { color: var(--koval-teal); background: rgba(21, 77, 91, 0.05);}/* Nested Dropdown */.dropdown-item-nested { position: relative;}.dropdown-nested { position: absolute; top: 0; left: 100%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); padding: 10px 0; min-width: 200px; opacity: 0; visibility: hidden; transform: translateX(-10px); transition: all 0.2s ease; z-index: 1002;}.dropdown-item-nested:hover .dropdown-nested { opacity: 1; visibility: visible; transform: translateX(0);}.dropdown-link-nested { padding-left: 20px;}/* Mobile nested menu */.mobile-nav-subchild { padding-left: 50px !important; font-size: 9px;}/* ========================================================================== Breadcrumbs ========================================================================== */.breadcrumbs { padding: 16px 0; border-bottom: 1px solid var(--koval-border); background: var(--koval-light);}.breadcrumbs-list { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; font-size: 12px; font-family: 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: 1px;}.breadcrumbs-item { display: flex; align-items: center; gap: 8px;}.breadcrumbs-separator { color: var(--koval-muted);}.breadcrumbs-item a { color: var(--koval-text); transition: color 0.2s ease;}.breadcrumbs-item a:hover { color: var(--koval-teal);}.breadcrumbs-current { color: var(--koval-gray); font-weight: 500;}@media (max-width: 640px) { .breadcrumbs { padding: 10px 0; } .breadcrumbs-list { font-size: 9px; gap: 4px; letter-spacing: 0.5px; } .breadcrumbs-item { gap: 4px; }}/* ========================================================================== Mobile Header ========================================================================== */.header-mobile { display: none; background: #fff; position: sticky; top: 0; z-index: 1000;}.mobile-navbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px;}.mobile-logo img { height: 24px;}.mobile-toggle { background: none; border: none; cursor: pointer; width: 44px; height: 44px; position: relative; display: flex; align-items: center; justify-content: center; -webkit-tap-highlight-color: transparent;}.mobile-toggle-inner { width: 24px; height: 18px; position: relative;}.mobile-toggle-inner span { display: block; width: 100%; height: 2px; background: var(--koval-gray); position: absolute; left: 0; transition: all 0.3s ease;}.mobile-toggle-inner span:nth-child(1) { top: 0; }.mobile-toggle-inner span:nth-child(2) { top: 50%; transform: translateY(-50%); }.mobile-toggle-inner span:nth-child(3) { bottom: 0; }/* Mobile menu open state - hamburger to X animation */.mobile-toggle.open .mobile-toggle-inner span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg);}.mobile-toggle.open .mobile-toggle-inner span:nth-child(2) { opacity: 0;}.mobile-toggle.open .mobile-toggle-inner span:nth-child(3) { top: 50%; transform: translateY(-50%) rotate(-45deg);}/* Mobile Menu (Offcanvas) */.mobile-menu { position: fixed; top: 0; right: -300px; width: 300px; height: 100%; background: #fff; z-index: 1002; transition: right 0.3s ease; overflow-y: auto; padding: 60px 20px 20px;}.mobile-menu.open { right: 0;}.mobile-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.3); z-index: 1001; opacity: 0; visibility: hidden; transition: all 0.3s ease;}.mobile-overlay.open { opacity: 1; visibility: visible;}.mobile-nav-link { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 1.5px; color: var(--koval-gray); padding: 12px 0; display: block; border-bottom: 1px solid var(--koval-border);}.mobile-nav-link:hover { color: var(--koval-teal);}.mobile-nav-child { padding-left: 20px; font-size: 12px;}/* Cart icon in navbar */.cart-icon { margin-left: 20px; display: flex; align-items: center;}.cart-icon svg { color: var(--koval-gray); transition: color 0.2s;}.cart-icon:hover svg { color: var(--koval-teal);}@media (max-width: 959px) { .header { display: none; } .header-mobile { display: block; } .nav { margin-left: 0; }}/* ========================================================================== Typography ========================================================================== *//* Page titles */	.page-title {	 font-family: var(--font-heading);	 font-size: var(--text-3xl);	 font-weight: 400;	 line-height: var(--leading-tight);	 color: var(--koval-gray);	 margin-bottom: var(--space-xl);	}/* Product title for standard layout */	.product-title {	 font-family: var(--font-heading);	 font-size: var(--text-3xl);	 font-weight: 400;	 line-height: var(--leading-tight);	 color: var(--koval-gray);	 margin-bottom: var(--space-sm);	}/* Product proof display */.product-proof { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-muted); margin-bottom: var(--space-sm);}.product-price-display { font-family: var(--font-sans); font-size: 1.5rem; font-weight: 700; color: var(--koval-dark); margin-bottom: var(--space-md);}.product-discontinued { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-muted); border: 1px solid var(--koval-border, #e0e0e0); border-radius: 4px; padding: 12px 16px; margin-top: var(--space-md);}.product-discontinued-links { margin-top: 8px;}.product-discontinued-links a { color: var(--koval-teal, #154d5b);}@media (max-width: 959px) { .page-title, .product-title { font-size: var(--text-2xl); }}/* Page descriptions */.page-description { font-size: var(--text-base); line-height: var(--leading-normal); max-width: 600px;}/* Main content area */.page-content { font-size: 16px; line-height: 26px;}.page-content h2 { font-size: 24px; margin-top: 0; margin-bottom: 1em; text-align: center;}.page-content h3 { font-size: 16px; margin-top: 0; margin-bottom: 15px;}.page-content strong { color: var(--koval-gray);}.page-content a { color: var(--koval-teal); text-decoration: underline;}.page-content a:hover { color: var(--koval-gray);}/* Prevent .page-content link styles from affecting buttons */.page-content a.btn { text-decoration: none !important;}.page-content a.btn:hover { text-decoration: none !important;}.page-content a.btn-primary { color: #fff;}.page-content a.btn-primary:hover { color: #fff;}.page-content a.btn-secondary { color: var(--koval-gray);}.page-content a.btn-secondary:hover { color: #fff;}.page-content ul, .page-content ol { margin-bottom: 1.5em; padding-left: 1.5em; list-style: disc;}.page-content ol { list-style: decimal;}.page-content li { margin-bottom: 0.5em;}.page-content blockquote { border-left: 3px solid var(--koval-teal); padding-left: 1.5em; margin: 2em 0; font-style: italic;}/* Menu tables */.page-content table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; margin-bottom: 1.5em;}.page-content th,.page-content td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--koval-border);}.page-content th { font-family: var(--font-sans); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted); background: var(--koval-light);}.page-content td:last-child { text-align: right; white-space: nowrap; font-weight: 500;}.page-content tr:hover { background: rgba(0, 0, 0, 0.02);}@media (max-width: 640px) { .page-content table { font-size: 13px; } .page-content th, .page-content td { padding: 8px 6px; }}/* Section title */.section-title { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-gray); margin-bottom: var(--space-md); padding-bottom: 10px; border-bottom: 1px solid var(--koval-border);}/* ========================================================================== Media Row (image + text side by side) ========================================================================== */.media-row { display: flex; align-items: center; gap: 40px; margin-bottom: 40px;}.media-row img { flex-shrink: 0; max-width: 280px; height: auto;}.media-row p { margin: 0;}.media-row:last-child { margin-bottom: 0;}@media (max-width: 767px) { .media-row { flex-direction: column; gap: 20px; } .media-row img { max-width: 100%; }}/* ========================================================================== Buttons ========================================================================== */.btn { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; padding: 15px 30px; display: inline-block; transition: all 0.2s ease; cursor: pointer; border: none; border-radius: var(--radius-sm);}.btn-primary { background: var(--koval-teal); color: #fff;}.btn-primary:hover { background: var(--koval-gray); color: #fff;}.btn-secondary { background: transparent; color: var(--koval-gray); border: 1px solid var(--koval-border);}.btn-secondary:hover { border-color: var(--koval-teal); color: var(--koval-teal);}.btn-outline { background: var(--koval-light); color: var(--koval-gray); border: 1px solid var(--koval-border); border-radius: var(--radius-sm);}.btn-outline:hover { background: #fff; border-color: var(--koval-border); color: var(--koval-gray);}/* Link with underline */.link-underline { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-teal); border-bottom: 1px solid var(--koval-teal); padding-bottom: 2px;}.link-underline:hover { color: var(--koval-gray); border-bottom-color: var(--koval-gray);}/* ========================================================================== Catalog Grid ========================================================================== */.product-grid-catalog { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-bottom: 2em;}@media (max-width: 959px) { .product-grid-catalog { grid-template-columns: repeat(3, 1fr); }}@media (max-width: 640px) { .product-grid-catalog { grid-template-columns: repeat(2, 1fr); gap: 15px; }}.product-grid-catalog .product-card { text-align: center;}.product-grid-catalog .product-card img { width: 100%; max-width: 150px; height: auto; margin-bottom: 10px;}.product-grid-catalog .product-card h4 { font-family: var(--font-sans); font-size: 13px; font-weight: 500; margin: 0;}.product-grid-catalog .product-card h4 a { color: var(--koval-gray);}.product-grid-catalog .product-card h4 a:hover { color: var(--koval-teal);}/* ========================================================================== Product Cards ========================================================================== */.product-card { background: #fff; transition: transform 0.2s ease;}.product-card:hover { transform: translateY(-5px);}.product-card-image { display: block; overflow: hidden; background: #fff; padding: 20px; text-align: center;}.product-card-image img { max-height: 300px; width: auto; transition: transform 0.3s ease;}.product-card:hover .product-card-image img { transform: scale(1.05);}.product-card-body { padding: 20px 0;}.product-card-title { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 600; margin-bottom: 10px;}.product-card-title a { color: var(--koval-gray);}.product-card-title a:hover { color: var(--koval-teal);}.product-card-description { font-size: 14px; line-height: 1.6; margin-bottom: 15px;}.product-card-link { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-teal); border-bottom: 1px solid var(--koval-teal); padding-bottom: 2px;}.product-card-link:hover { color: var(--koval-gray); border-bottom-color: var(--koval-gray);}/* ========================================================================== Product Detail ========================================================================== */.product-grid { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 40px; align-items: start;}.product-title-col { text-align: left;}.product-title-large { font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 400; line-height: var(--leading-tight); color: var(--koval-gray); margin: 0;}.product-image-col { display: flex; justify-content: center; align-self: stretch; align-items: flex-start;}.product-image-col .product-image { max-width: 100%; height: auto;}.product-content-col { padding-left: 20px;}@media (max-width: 959px) { .product-grid { grid-template-columns: 1fr; gap: 30px; } .product-title-col { text-align: center; } .product-title-large { font-size: var(--text-2xl); } .product-content-col { padding-left: 0; }}.product-image { max-height: 600px; width: auto; object-fit: contain; display: block; margin: 0 auto;}@media (max-width: 959px) { .product-image { margin-bottom: 30px; }}.product-proof { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-teal); margin-bottom: 30px;}/* T&W Product Layout Override */.tw-product-layout .product-title-col { text-align: center;}.tw-product-layout .product-title-large { text-align: center; white-space: nowrap;}.tw-product-layout .product-proof { text-align: center;}.product-awards-image { text-align: center; margin: 20px 0;}.product-awards-image img { max-width: 70%; height: auto;}/* ACEN Checkout Tabs */.acen-checkout-tabs { margin: 16px 0 0;}.acen-tab-nav { display: flex; gap: 0; border-bottom: 2px solid #e5e5e5; margin-bottom: 0;}.acen-tab-btn { flex: 1; padding: 10px 12px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; background: #f5f3f0; color: #999; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; transition: all 0.2s;}.acen-tab-btn.active { background: #fff; color: #1a1a2e; border-bottom-color: #1a1a2e;}.acen-tab-btn:hover:not(.active) { background: #ece9e4; color: #666;}.acen-tab-content { display: none; padding: 16px 0 0;}.acen-tab-content.active { display: block;}.acen-convention-btn.add-to-cart-btn { background: #1a1a2e !important;}.acen-convention-btn.add-to-cart-btn:hover { background: #2d2e50 !important; color: #fff !important;}.product-secondary-image { text-align: center; margin: 24px 0 8px;}.product-secondary-image img { max-width: 90%; height: auto; border-radius: 4px;}/* Awards */.awards-list { list-style: none;}.award-item { font-size: 15px; padding: 8px 0; border-bottom: 1px solid #f0f0f0;}.award-item:last-child { border-bottom: none;}/* Press */.press-logos { display: flex; flex-wrap: wrap; gap: 15px; align-items: center;}.press-item { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted);}/* ========================================================================== Error Page (404) ========================================================================== */.error-page { min-height: 60vh; display: flex; align-items: center; justify-content: center; text-align: center;}.error-code { font-family: 'Montserrat', sans-serif; font-size: 120px; font-weight: 700; color: #e5e5e5; line-height: 1; margin: 0;}.error-title { font-size: 32px; margin: 20px 0;}.error-message { margin-bottom: 40px;}.error-actions { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;}@media (max-width: 640px) { .error-code { font-size: 80px; } .error-title { font-size: 24px; } .error-actions { flex-direction: column; }}/* ========================================================================== Forms ========================================================================== */.form-label { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-gray); display: block; margin-bottom: 8px;}.form-label .required { color: var(--koval-teal);}.form-input { font-family: 'PT Serif', Georgia, serif; font-size: 16px; width: 100%; padding: 10px 0; border: none; border-bottom: 1px solid var(--koval-border); border-radius: 0; background: transparent; transition: border-color 0.2s ease;}.form-input:focus { border-bottom-color: var(--koval-gray); outline: none;}textarea.form-input { min-height: 150px; resize: vertical;}.form-submit { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; background: var(--koval-teal); color: #fff; border: none; padding: 15px 40px; cursor: pointer; transition: background 0.2s ease;}.form-submit:hover { background: var(--koval-gray);}.form-submit:disabled { background: #ccc; cursor: not-allowed;}.form-message { padding: 15px 20px; margin-top: 20px; display: none;}.form-message.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; display: block;}.form-message.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; display: block;}/* ========================================================================== Footer - 4 Column Layout ========================================================================== */.prefooter-nav { padding: var(--space-xl) 0 var(--space-lg);}.prefooter-nav-list { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; margin: 0; padding: 0;}.prefooter-nav-list li { display: flex; align-items: center;}.prefooter-nav-list li:not(:last-child)::after { content: "|"; margin: 0 var(--space-lg); color: var(--koval-border);}.prefooter-nav-list a { font-family: var(--font-sans); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted); transition: color 0.2s ease;}.prefooter-nav-list a:hover { color: var(--koval-teal);}.footer { background: var(--koval-light); border-top: 1px solid var(--koval-border); padding: var(--space-2xl) 0 var(--space-lg);}.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); margin-bottom: var(--space-xl);}.footer-col { min-width: 0;}.footer-heading { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-gray); margin: 0 0 var(--space-sm);}.footer-text { font-size: var(--text-sm); color: var(--koval-text); margin: 0 0 var(--space-sm); line-height: var(--leading-normal);}.footer-links { list-style: none; margin: 0; padding: 0;}.footer-links li { margin-bottom: var(--space-xs);}.footer-links a { font-size: var(--text-sm); color: var(--koval-text); transition: color 0.2s ease;}.footer-links a:hover { color: var(--koval-teal);}.footer-address { font-size: var(--text-sm); color: var(--koval-muted); margin-top: var(--space-sm); line-height: var(--leading-normal);}.footer-contact { display: flex; flex-direction: column; gap: var(--space-xs); margin-bottom: var(--space-md);}.footer-contact a { font-size: var(--text-sm); color: var(--koval-text);}.footer-contact a:hover { color: var(--koval-teal);}.footer-social { display: flex; gap: var(--space-sm);}.footer-social a { color: var(--koval-muted); transition: color 0.2s ease;}.footer-social a:hover { color: var(--koval-teal);}/* Footer Bottom Bar */.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: var(--space-md); border-top: 1px solid var(--koval-border);}.footer-copyright { font-size: var(--text-xs); color: var(--koval-muted);}.footer-legal { display: flex; gap: var(--space-md);}.footer-legal a { font-size: var(--text-xs); color: var(--koval-muted);}.footer-legal a:hover { color: var(--koval-teal);}/* Footer Button */.btn-sm { padding: 10px 20px; font-size: var(--text-xs);}.btn-outline-light { background: transparent; color: var(--koval-gray); border: 1px solid var(--koval-gray); font-family: var(--font-sans); font-weight: 500; text-transform: uppercase; letter-spacing: 1px; border-radius: var(--radius-sm); cursor: pointer; transition: all 0.2s ease; display: inline-block; height: 47px; padding: 0 5px; width: 160px; text-align: center; white-space: nowrap; text-decoration: none; line-height: 45px; box-sizing: border-box;}.btn-outline-light:hover { background: var(--koval-gray); color: #fff; text-decoration: none;}/* ========================================================================== Maps Grounding Demo ========================================================================== */.maps-grounding-demo { max-width: 1000px; margin: 0 auto;}.maps-grounding-card { border: 1px solid var(--koval-border); border-radius: var(--radius-md); padding: var(--space-md); background: #fff; margin-top: var(--space-md);}.maps-grounding-form { display: grid; gap: var(--space-sm);}.maps-grounding-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--space-sm); align-items: end;}.maps-grounding-field { display: grid; gap: 6px;}.maps-grounding-label { font-family: var(--font-sans); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 1px; color: var(--koval-gray);}.maps-grounding-input { width: 100%; padding: 12px 14px; border: 1px solid var(--koval-border); border-radius: var(--radius-sm); font-family: var(--font-serif); font-size: var(--text-base);}.maps-grounding-input:focus { outline: none; border-color: var(--koval-teal);}.maps-grounding-check { display: flex; gap: 10px; align-items: center; font-size: var(--text-sm);}.maps-grounding-submit { display: flex; justify-content: flex-end;}.maps-grounding-status { min-height: 22px;}.maps-grounding-h2 { margin: 0 0 var(--space-sm); font-size: var(--text-xl);}.maps-grounding-h3 { margin: var(--space-md) 0 var(--space-xs); font-size: var(--text-lg);}.maps-grounding-answer { white-space: pre-wrap; line-height: var(--leading-relaxed);}.maps-grounding-pre { background: var(--koval-light); border: 1px solid var(--koval-border); border-radius: var(--radius-sm); padding: var(--space-sm); overflow: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 13px;}.maps-grounding-widget { margin-top: var(--space-sm); border: 1px solid var(--koval-border); border-radius: var(--radius-md); overflow: hidden; background: #fff; min-height: 960px;}.maps-grounding-widget gmp-place-contextual { display: block; width: 100%;}.maps-grounding-widget gmp-places-contextual { display: block; width: 100%;}.maps-grounding-details { margin-top: var(--space-sm);}.maps-grounding-details summary { cursor: pointer; user-select: none;}.maps-grounding-sources { display: grid; gap: 10px;}.maps-grounding-sources a { color: var(--koval-teal); border-bottom: 1px solid rgba(21, 77, 91, 0.35);}.maps-grounding-sources a:hover { color: var(--koval-gray); border-bottom-color: rgba(45, 46, 51, 0.35);}@media (max-width: 820px) { .maps-grounding-row { grid-template-columns: 1fr; } .maps-grounding-submit { justify-content: stretch; } .maps-grounding-submit .btn { width: 100%; text-align: center; }}/* Footer Responsive */@media (max-width: 959px) { .footer-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }}@media (max-width: 640px) { .prefooter-nav-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 8px; justify-items: center; } .prefooter-nav-list li { width: 100%; justify-content: center; text-align: center; position: relative; } .prefooter-nav-list li:nth-child(odd)::after { content: "|"; position: absolute; right: -4px; color: var(--koval-border); } .prefooter-nav-list a { white-space: nowrap; } .footer-grid { grid-template-columns: 1fr; gap: var(--space-lg); text-align: center; } .footer-social { justify-content: center; } .footer-bottom { flex-direction: column; gap: var(--space-sm); text-align: center; } .footer-legal { justify-content: center; }}/* Scroll to top button */.scroll-top { position: fixed; bottom: 30px; right: 30px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--koval-border); background: #fff; color: var(--koval-gray); cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; z-index: 900; box-shadow: 0 2px 8px rgba(0,0,0,0.1);}.scroll-top.visible { opacity: 1; visibility: visible;}.scroll-top:hover { background: var(--koval-teal); color: #fff; border-color: var(--koval-teal);}/* ========================================================================== Awards Page - Color Coding ========================================================================== */.page-content li strong { font-weight: 600;}/* Award color coding - applied via JS */.award-gold { color: #D4AF37; font-weight: 700;}.award-double-gold { color: #FFD700; font-weight: 700;}.award-silver { color: #A8A8A8; font-weight: 700;}.award-bronze { color: #CD7F32; font-weight: 700;}.award-best { color: var(--koval-teal); font-weight: 700;}.award-liquid-gold { background: linear-gradient(135deg, #FFD700 0%, #D4AF37 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 700;}/* ========================================================================== Utilities ========================================================================== */.text-center { text-align: center; }.text-muted { color: var(--koval-muted); }/* Spacing utilities (8px grid) */.mt-0 { margin-top: 0; }.mt-1 { margin-top: var(--space-xs); }.mt-2 { margin-top: var(--space-sm); }.mt-3 { margin-top: var(--space-md); }.mt-4 { margin-top: var(--space-lg); }.mt-5 { margin-top: var(--space-xl); }.mt-6 { margin-top: var(--space-2xl); }.mb-0 { margin-bottom: 0; }.mb-1 { margin-bottom: var(--space-xs); }.mb-2 { margin-bottom: var(--space-sm); }.mb-3 { margin-bottom: var(--space-md); }.mb-4 { margin-bottom: var(--space-lg); }.mb-5 { margin-bottom: var(--space-xl); }.mb-6 { margin-bottom: var(--space-2xl); }.py-1 { padding-top: var(--space-xs); padding-bottom: var(--space-xs); }.py-2 { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }.py-3 { padding-top: var(--space-md); padding-bottom: var(--space-md); }.py-4 { padding-top: var(--space-lg); padding-bottom: var(--space-lg); }.py-5 { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }.px-1 { padding-left: var(--space-xs); padding-right: var(--space-xs); }.px-2 { padding-left: var(--space-sm); padding-right: var(--space-sm); }.px-3 { padding-left: var(--space-md); padding-right: var(--space-md); }.px-4 { padding-left: var(--space-lg); padding-right: var(--space-lg); }.gap-1 { gap: var(--space-xs); }.gap-2 { gap: var(--space-sm); }.gap-3 { gap: var(--space-md); }.gap-4 { gap: var(--space-lg); }.border-rounded { border-radius: var(--radius-sm); }/* Hide on mobile */@media (max-width: 959px) { .hide-mobile { display: none; }}/* Hide on desktop */@media (min-width: 960px) { .hide-desktop { display: none; }}/* ========================================================================== Find KOVAL page ========================================================================== */.ship-to-me-row { display: flex; justify-content: center; gap: 16px; margin-bottom: 40px; flex-wrap: wrap;}.ship-to-me-image img { display: block; width: 300px; height: 340px; object-fit: contain; background: #fff;}.image-cards-row { display: flex; gap: 16px;}.image-cards-row .card-link { flex: 1;}@media (max-width: 960px) { .image-cards-row { flex-direction: column; max-width: 616px; margin: 0 auto; }}.image-card { position: relative; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; aspect-ratio: 3 / 2;}@media (max-width: 768px) { .image-cards-row { flex-direction: column; } .image-cards-row .card-link { width: 100%; }}.image-card-content { text-align: center; color: #fff; padding: 15px 25px; background: rgba(0, 0, 0, 0.5); border-radius: var(--radius-sm);}.image-card-content h3 { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; letter-spacing: 2px; margin: 0; color: #fff;}.image-card-content p { font-size: 12px; letter-spacing: 1px; margin: 0; opacity: 0.9;}.card-link { text-decoration: none; display: block;}.card-link:hover .image-card-content { text-shadow: 0 2px 5px rgba(0, 0, 0, 1);}/* ========================================================================== Visit Landing ========================================================================== */.locator-help { max-width: 1100px; margin: 30px auto 0; padding: 22px 24px; border: 1px solid rgba(0,0,0,0.08); border-radius: var(--radius-sm); background: #fff;}.locator-help-title { font-family: 'Montserrat', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--koval-gray); margin: 0 0 12px;}.locator-help-rows { list-style: none; padding: 0; margin: 0;}.locator-help-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid rgba(0,0,0,0.06);}.locator-help-row:first-child { border-top: 0;}.locator-help-text { font-size: 16px; line-height: 1.4;}/* Button styles moved to standard .btn .btn-primary and .btn .btn-secondary classes *//* Force standard button styles inside locator-help-row */.locator-help-row .btn { font-family: 'Montserrat', sans-serif !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 1px !important; height: 47px !important; padding: 0 5px !important; border-radius: var(--radius-sm) !important; width: 160px !important; text-align: center !important; white-space: nowrap !important; line-height: 45px !important; box-sizing: border-box !important;}.locator-help-row .btn-primary,.locator-help-row .btn-secondary { background: transparent !important; color: var(--koval-gray) !important; border: 1px solid var(--koval-gray) !important; text-decoration: none !important;}.locator-help-row .btn-primary:hover,.locator-help-row .btn-secondary:hover { background: var(--koval-gray) !important; color: #fff !important; text-decoration: none !important;}@media (max-width: 959px) { .locator-help { padding: 18px 18px; } .locator-help-row { flex-direction: column; align-items: flex-start; } .locator-help-row .btn { width: 100% !important; min-width: 0 !important; }}/* ========================================================================== Private Events ========================================================================== */.private-events-gallery { display: flex; gap: 32px;}.private-events-gallery img { flex: 1; width: 100%; height: 260px; object-fit: cover;}@media (max-width: 960px) { .private-events-gallery { flex-direction: column; gap: 16px; max-width: 616px; margin-left: auto; margin-right: auto; }}/* ========================================================================== Ship To Me Card ========================================================================== */.ship-to-me-card { width: 300px; height: 340px; color: var(--koval-gray); background: #fff; border: 1px solid var(--koval-border); border-radius: var(--radius-lg); padding: 16px; text-align: center; display: flex; flex-direction: column; justify-content: center;}.ship-to-me-card a { text-decoration: none; color: inherit; display: block;}.ship-to-me-card p { margin: 0 0 8px; font-size: 14px; line-height: 1.4;}.ship-to-me-promo { font-size: 13px; background: var(--koval-promo-bg); border: 1px solid var(--koval-promo-border); border-radius: var(--radius-md); padding: 8px; margin: 8px 0;}.ship-to-me-promo .save { color: var(--koval-muted);}.ship-to-me-pricing { list-style: none; padding: 0; margin: 0 0 10px; font-size: 13px; line-height: 1.6;}/* Button styles moved to standard .btn .btn-primary class *//* Force standard button styles inside ship-to-me-card */.ship-to-me-card .btn { font-family: 'Montserrat', sans-serif !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 1px !important; height: 47px !important; padding: 0 5px !important; border-radius: var(--radius-sm) !important; width: 160px !important; text-align: center !important; white-space: nowrap !important; line-height: 45px !important; box-sizing: border-box !important; background: var(--koval-gray) !important; color: #fff !important; border: 1px solid var(--koval-gray) !important; text-decoration: none !important;}.ship-to-me-card .btn:hover { background: var(--koval-gray) !important; color: #fff !important; text-decoration: none !important;}.ship-to-me-disclaimer { font-size: 12px; color: var(--koval-muted); margin-top: 8px;}/* ========================================================================== Hours Widget ========================================================================== */.hours-widget { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; margin: 30px 0;}.hours-widget-item { text-align: center;}.hours-widget-item strong { display: block; margin-bottom: 5px;}.hours-widget-item + .hours-widget-item { margin-top: 0;}@media (max-width: 640px) { .hours-widget { gap: 20px; }}/* ========================================================================== Hours (Compact) ========================================================================== */.hours-compact { margin: 26px auto 30px; max-width: 420px; text-align: center;}.hours-compact-social { display: flex; justify-content: center; gap: 18px; margin: 6px 0 18px; color: rgba(45, 46, 51, 0.45);}.hours-compact-social a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; justify-content: center;}.hours-compact-social a:hover { color: rgba(45, 46, 51, 0.75);}.hours-compact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; justify-items: center;}.hours-compact-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 18px 22px;}.hours-compact-grid--3 .hours-compact-item strong { white-space: nowrap;}.hours-compact-item { min-width: 140px;}.hours-compact-item strong { display: block; margin-bottom: 5px;}.hours-compact-item--span { grid-column: 1 / -1;}.hours-compact-note { margin-top: 26px; color: rgba(45, 46, 51, 0.8);}@media (max-width: 520px) { .hours-compact { max-width: 340px; } .hours-compact-grid { grid-template-columns: 1fr; gap: 16px; } .hours-compact-grid--3 { grid-template-columns: 1fr; } .hours-compact-item--span { grid-column: auto; }}/* ========================================================================== Tasting Room Menu ========================================================================== */.tasting-room-menu { max-width: 1120px; margin: 0 auto;}.tasting-room-menu .menu-content { max-width: 820px; margin: 0 auto;}.tasting-room-menu .menu-cta-grid { display: block; margin: 12px 0 46px;}.tasting-room-menu .menu-cta-image { display: block; line-height: 0; background: #fff;}.tasting-room-menu .menu-cta-image img { display: block; width: 100%; height: auto;}.tasting-room-menu .menu-cta-panel { padding: 52px 24px; text-align: center; background: #f3f3f3;}.tasting-room-menu .menu-cta-title { font-family: var(--font-heading, "Montserrat", sans-serif); font-size: 56px; letter-spacing: 0.08em; line-height: 1.05; color: var(--koval-gray); text-transform: uppercase;}.tasting-room-menu .menu-cta-subtitle { margin-top: 10px; font-size: 18px; color: rgba(45, 46, 51, 0.75); font-family: "PT Serif", serif;}.tasting-room-menu .menu-cta-button { display: inline-block; margin-top: 18px; background: #111; color: #fff; padding: 12px 18px; border-radius: 2px; text-decoration: none; font-family: "Montserrat", sans-serif; font-weight: 600; letter-spacing: 0.14em; font-size: 12px;}.tasting-room-menu .menu-cta-button:hover { background: var(--koval-gray); color: #fff;}.tasting-room-menu .menu-intro { text-align: center; margin: 0 auto 34px; max-width: 720px;}.tasting-room-menu .menu-intro-title { font-family: "Montserrat", sans-serif; letter-spacing: 0.16em; font-size: 15px; text-transform: uppercase; color: var(--koval-gray); margin-bottom: 12px;}.tasting-room-menu .menu-intro-text { color: rgba(45, 46, 51, 0.78); line-height: 1.7;}.tasting-room-menu .menu-section { margin: 34px 0 0;}.tasting-room-menu .menu-section-title { text-align: center; letter-spacing: 0.18em; font-family: "Montserrat", sans-serif; font-size: 14px; text-transform: uppercase; color: var(--koval-gray); padding-bottom: 10px; border-bottom: 1px solid rgba(45, 46, 51, 0.25); margin: 0 auto 14px; max-width: 560px;}.tasting-room-menu .menu-section-subtitle { text-align: center; font-style: italic; color: rgba(45, 46, 51, 0.65); margin-bottom: 14px;}.tasting-room-menu .menu-item { border: 1px solid var(--koval-border); border-radius: var(--radius-sm); padding: 16px 16px; margin: 12px 0; background: #fff;}.tasting-room-menu .menu-item-head { display: flex; justify-content: space-between; gap: 18px; font-family: "Montserrat", sans-serif; letter-spacing: 0.14em; text-transform: uppercase; font-size: 13px; color: var(--koval-gray);}.tasting-room-menu .menu-item-price { white-space: nowrap; letter-spacing: 0.04em;}.tasting-room-menu .menu-item-desc { margin-top: 8px; color: rgba(45, 46, 51, 0.72); line-height: 1.6;}.tasting-room-menu .menu-item-note { margin-top: 10px; color: rgba(45, 46, 51, 0.72);}.tasting-room-menu .menu-footer { margin-top: 28px;}/* ========================================================================== About Us (Single Page + Anchors) ========================================================================== */.about-us-page section[id] { scroll-margin-top: 170px;}.about-us-jumplist { position: sticky; top: 96px; z-index: 5; margin: 0 0 40px; padding: 10px 0; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(8px);}.about-us-jumplist .about-us-jumplist-list { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; margin: 0 !important; padding: 0 !important;}.about-us-jumplist-list li { display: flex; align-items: center; margin: 0;}.about-us-jumplist-list li:not(:last-child)::after { content: "|"; margin: 0 var(--space-lg); color: var(--koval-border);}.about-us-jumplist-list a { font-family: var(--font-sans); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-muted); transition: color 0.2s ease; text-decoration: none;}.about-us-jumplist-list a:hover { color: var(--koval-teal);}.about-us-jumplist-list a.is-active { color: var(--koval-gray);}.about-us-page .about-us-section { padding-top: 16px;}.about-us-page .about-us-section + .about-us-section { margin-top: 72px; padding-top: 48px; border-top: 1px solid rgba(45, 46, 51, 0.12);}.about-us-page .about-us-section { opacity: 1; transform: none;}.about-us-page.reveal-enabled .about-us-section { opacity: 0; transform: translateY(18px); transition: opacity 520ms ease, transform 520ms ease; will-change: opacity, transform;}.about-us-page.reveal-enabled .about-us-section.is-visible { opacity: 1; transform: none;}.smooth-scroll { scroll-behavior: smooth;}@media (prefers-reduced-motion: reduce) { .smooth-scroll { scroll-behavior: auto; } .about-us-page.reveal-enabled .about-us-section { transition: none; transform: none; opacity: 1; }}.about-us-contact-cta { margin-top: 40px; text-align: center; color: rgba(45, 46, 51, 0.75);}@media (max-width: 680px) { .about-us-jumplist { display: none; }}@media (max-width: 680px) { .tasting-room-menu { max-width: 100%; } .tasting-room-menu .menu-content { max-width: 100%; } .tasting-room-menu .menu-cta-title { font-size: 42px; }}@media (max-width: 520px) { .tasting-room-menu .menu-cta-panel { padding: 28px 18px; } .tasting-room-menu .menu-cta-title { font-size: 34px; } .tasting-room-menu .menu-item-head { letter-spacing: 0.1em; }}/* ========================================================================== Product Image (for limited editions, etc.) ========================================================================== */.product-img-centered { max-height: 400px; max-width: 100%; width: auto; height: auto; margin: 20px auto; display: block;}/* ========================================================================== Utility: Warning/Error text ========================================================================== */.text-warning { color: #856404;}.text-error { color: #721c24;}/* ========================================================================== Recipe Pages (Cocktails) ========================================================================== *//* Hero Section */.recipe-hero { padding-top: 40px; padding-bottom: 60px; overflow: hidden;}/* Header Block */.recipe-header { margin-bottom: 40px;}/* Title */		.recipe-title {		 font-family: var(--font-heading);		 font-size: 32px;		 font-weight: 400;		 color: var(--koval-dark);		 margin: 0 0 20px 0;		 line-height: 1.2;		 text-align: center;		}.recipe-image-col { position: sticky; top: 100px; align-self: start;}.recipe-image-wrapper { background: #fff; text-align: center;}.recipe-hero-image { display: block; max-width: 100%; max-height: 520px; width: auto; height: auto; margin: 0 auto;}.recipe-image-placeholder { background: linear-gradient(135deg, var(--koval-teal) 0%, #1a6373 100%); height: 400px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);}.recipe-content-col { padding-left: 20px; margin-top: 10em;}@media (max-width: 768px) { .recipe-content-col { margin-top: 0; }}/* Badges */.recipe-badges { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px;}.recipe-badge { display: inline-flex; align-items: center; gap: 6px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--koval-gray); background: var(--koval-light); padding: 8px 14px; border-radius: 4px;}.recipe-badge svg { color: var(--koval-teal);}.recipe-badge-easy { background: #e8f5e9; color: #2e7d32;}.recipe-badge-medium { background: #fff3e0; color: #ef6c00;}.recipe-badge-hard { background: #ffebee; color: #c62828;}/* Spirit Tags */.recipe-spirits { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 25px;}.recipe-spirits-label { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--koval-gray);}.spirit-tag { display: inline-block; background: var(--koval-teal); color: white; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; padding: 6px 12px; border-radius: 3px;}.spirit-tag-link { text-decoration: none; transition: background 0.2s ease, transform 0.2s ease;}.spirit-tag-link:hover { background: var(--koval-dark); transform: translateY(-1px);}.spirit-buy-link { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 500; color: var(--koval-teal); text-decoration: underline; text-underline-offset: 2px;}.spirit-buy-link:hover { color: var(--koval-dark);}/* Intro */.recipe-intro { font-family: 'PT Serif', Georgia, serif; font-size: 18px; line-height: 1.7; color: var(--koval-gray); margin-bottom: 30px;}/* Ingredients Card */.recipe-card { background: var(--koval-light); border-radius: 8px; padding: 25px; margin-bottom: 30px;}.recipe-card-title { display: flex; align-items: center; gap: 10px; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 600; color: var(--koval-dark); margin: 0 0 20px 0; text-transform: uppercase; letter-spacing: 1px;}.recipe-card-title svg { color: var(--koval-teal);}.recipe-ingredients-list { list-style: none; margin: 0; padding: 0;}.recipe-ingredients-list li { font-family: 'PT Serif', Georgia, serif; font-size: 16px; color: var(--koval-gray); padding: 10px 0; padding-left: 1.5rem; position: relative; border-bottom: 1px solid rgba(0,0,0,0.06);}.recipe-ingredients-list li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 6px; height: 10px; border-right: 2px solid #154d5b; border-bottom: 2px solid #154d5b; transform: rotate(45deg);}.recipe-ingredients-list li:last-child { border-bottom: none;}/* Instructions Section */.recipe-instructions-section { padding-top: 50px; padding-bottom: 60px;}	.recipe-section-title {	 font-family: var(--font-heading);	 font-size: 24px;	 font-weight: 500;	 color: var(--koval-dark);	 margin: 0 0 40px 0;	 text-align: center;	}.recipe-steps { max-width: 700px; margin: 0 auto;}.recipe-step { display: flex; gap: 20px; margin-bottom: 30px;}.recipe-step-number { width: 44px; height: 44px; background: var(--koval-teal); color: white; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}.recipe-step-text { font-family: 'PT Serif', Georgia, serif; font-size: 17px; line-height: 1.7; color: var(--koval-gray); padding-top: 10px;}/* Tips Section */.recipe-tips-section { padding-top: 60px; padding-bottom: 60px;}.recipe-tips-box { max-width: 700px; margin: 0 auto;}.recipe-tips-title { display: flex; align-items: center; justify-content: center; gap: 12px; font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-dark); margin: 0 0 30px 0;}.recipe-tips-title svg { color: var(--koval-teal);}.recipe-tips-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px;}.recipe-tips-list li { font-family: 'PT Serif', Georgia, serif; font-size: 16px; line-height: 1.6; color: var(--koval-gray); padding: 12px 0; padding-left: 1.5rem; position: relative; border-bottom: 1px solid var(--koval-border); break-inside: avoid;}.recipe-tips-list li::before { content: ""; position: absolute; left: 2px; top: 18px; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 7px solid #154d5b;}.recipe-tips-list li:last-child { border-bottom: none;}@media (max-width: 700px) { .recipe-tips-list { columns: 1; }}/* Why KOVAL Section */.recipe-why-section { padding-top: 60px; padding-bottom: 60px;}.recipe-why-box { max-width: 700px; margin: 0 auto; text-align: center;}.recipe-why-title { font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: 600; color: var(--koval-dark); margin: 0 0 20px 0;}.recipe-why-text { font-family: 'PT Serif', Georgia, serif; font-size: 18px; line-height: 1.7; color: var(--koval-gray); margin-bottom: 30px;}/* Related Recipes */.recipe-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}.recipe-related-card { background: white; border-radius: 8px; overflow: hidden; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease;}.recipe-related-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1);}.recipe-related-image { aspect-ratio: 4/3; overflow: hidden; background: var(--koval-light);}.recipe-related-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease;}.recipe-related-card:hover .recipe-related-image img { transform: scale(1.05);}.recipe-related-placeholder { aspect-ratio: 4/3; background: linear-gradient(135deg, var(--koval-teal) 0%, #1a6373 100%); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);}.recipe-related-content { padding: 20px;}.recipe-related-content h3 { font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; color: var(--koval-dark); margin: 0 0 8px 0; line-height: 1.3;}.recipe-related-spirit { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--koval-teal);}/* Mobile Responsive */@media (max-width: 959px) { .recipe-hero { padding-top: 20px; padding-bottom: 40px; } .recipe-hero .grid-large { margin-left: 0; } .recipe-hero .grid-large > * { padding-left: 0; } .recipe-header { margin-bottom: 25px; } .recipe-title { font-size: 24px; line-height: 1.3; } .recipe-image-col { position: static; margin-bottom: 25px; } .recipe-content-col { padding-left: 0; } .recipe-intro { font-size: 16px; margin-bottom: 20px; } .recipe-related-grid { grid-template-columns: 1fr; gap: 20px; } .recipe-step { gap: 15px; } .recipe-step-number { width: 36px; height: 36px; font-size: 16px; }}/* Content Blocks (Markdown placeholders) */.koval-video { margin: 24px 0;}.koval-video__embed { width: 100%; aspect-ratio: 16 / 9; background: var(--koval-light); border: 1px solid var(--koval-border); overflow: hidden;}.koval-video__embed iframe { width: 100%; height: 100%; border: 0; display: block;}.koval-video__file { width: 100%; border: 1px solid var(--koval-border); background: var(--koval-light);}.koval-video__caption { margin-top: 10px; font-family: 'PT Serif', Georgia, serif; font-size: 14px; line-height: 1.5; color: var(--koval-gray);}/* ========================================================================== Unified Cart Badge Styles ========================================================================== */.unified-cart-icon { position: relative; display: inline-flex; align-items: center; justify-content: center;}.unified-cart-icon svg { width: 24px; height: 24px;}.unified-cart-badge { position: absolute; top: -8px; right: -10px; background-color: var(--koval-teal); color: #fff; border-radius: 50%; width: 18px; height: 18px; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; font-family: var(--font-sans); line-height: 1;}.unified-cart-badge.delivery-cart-badge { background-color: var(--koval-gold);}/* Mobile cart icon */.unified-cart-icon-mobile { position: relative; display: inline-flex; align-items: center; justify-content: center;}.unified-cart-icon-mobile svg { width: 24px; height: 24px;}.unified-cart-badge-mobile { position: absolute; top: -8px; right: -10px; background-color: var(--koval-teal); color: #fff; border-radius: 50%; width: 18px; height: 18px; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; font-family: var(--font-sans); line-height: 1;}.unified-cart-badge-mobile.delivery-cart-badge-mobile { background-color: var(--koval-gold);}/* ============================================================================ Block Layout System Styles ============================================================================ *//* Video Block */.video-block { margin: 2rem 0;}.video-embed-container { position: relative; padding-bottom: 56.25%; /* 16:9 aspect ratio */ height: 0; overflow: hidden; max-width: 100%; background: #000; border-radius: 8px;}.video-embed-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}.video-caption { margin-top: 0.5rem; text-align: center; font-size: 0.9em; color: #666; font-style: italic;}/* Callout Blocks */.callout { margin: 2rem 0; padding: 1.25rem 1.5rem; border-left: 4px solid; border-radius: 6px; background: #f8f9fa;}.callout-title { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; font-weight: 600;}.callout-icon { font-size: 1.25em;}.callout-body { font-size: 0.95em; line-height: 1.6;}.callout-body p:last-child { margin-bottom: 0;}/* Callout Types */.callout-info { border-left-color: #3498db; background: #e3f2fd;}.callout-info .callout-title { color: #2980b9;}.callout-tip { border-left-color: #27ae60; background: #e8f5e9;}.callout-tip .callout-title { color: #229954;}.callout-warning { border-left-color: #f39c12; background: #fff3e0;}.callout-warning .callout-title { color: #e67e22;}.callout-success { border-left-color: #2ecc71; background: #d5f4e6;}.callout-success .callout-title { color: #27ae60;}.callout-error,.callout-danger { border-left-color: #e74c3c; background: #ffebee;}.callout-error .callout-title,.callout-danger .callout-title { color: #c0392b;}/* Recipe Block */.recipe-block { margin: 2rem 0; padding: 2rem; background: #f8f9fa; border-radius: 8px; border: 1px solid #e0e0e0;}.recipe-block .recipe-title { font-size: 1.75rem; margin-bottom: 1.5rem; color: #2c3e50; font-family: var(--font-heading);}.recipe-section { margin-bottom: 2rem;}.recipe-section:last-child { margin-bottom: 0;}.recipe-section h2 { font-size: 1.25rem; margin-bottom: 1rem; color: #34495e; font-weight: 600;}.recipe-instruction-list { counter-reset: step-counter; list-style: none; padding: 0;}.recipe-instruction-list li { counter-increment: step-counter; padding: 1rem; margin-bottom: 0.75rem; background: white; border-left: 3px solid var(--koval-teal, #3498db); border-radius: 4px; position: relative; padding-left: 3rem;}.recipe-instruction-list li::before { content: counter(step-counter); position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); background: var(--koval-teal, #3498db); color: white; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 0.9em;}/* HTML Block */.html-block { margin: 2rem 0;}/* Grid helpers *//* IMPORTANT: Keep `.grid` as flexbox (used across site, incl. product pages). Only enable CSS Grid when paired with a `.grid-*` helper class. */.grid.grid-2,.grid.grid-3,.grid.grid-4 { display: grid; gap: 1.5rem; margin-left: 0;}.grid.grid-2 > *,.grid.grid-3 > *,.grid.grid-4 > * { padding-left: 0; width: auto;}.grid-2 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));}.grid-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}.grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));}@media (max-width: 768px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }}/* ========================================================================== New Block Types - Phase 1 ========================================================================== *//* Quote Block */.quote-block { margin: 2rem 0; padding: 1.5rem 2rem; background: var(--koval-light); border-left: 4px solid var(--koval-teal); border-radius: 4px; font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.7; font-style: italic; color: var(--koval-gray);}.quote-citation { display: block; margin-top: 1rem; font-family: var(--font-sans); font-size: 0.875rem; font-style: normal; font-weight: 500; color: var(--koval-muted); text-transform: uppercase; letter-spacing: 0.5px;}.quote-citation::before { content: "— ";}/* Divider Block */.divider-block { margin: 2.5rem 0; border: none; height: 1px;}.divider-block.divider-solid { background: var(--koval-border);}.divider-block.divider-dashed { background: none; border-top: 2px dashed var(--koval-border);}.divider-block.divider-dotted { background: none; border-top: 2px dotted var(--koval-border);}/* Two Column Block */.two-column-block { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0;}.column-left,.column-right { min-width: 0;}@media (max-width: 768px) { .two-column-block { grid-template-columns: 1fr; gap: 1.5rem; }}/* Dynamic column widths */.two-column-block[data-left-width="1"][data-right-width="2"] { grid-template-columns: 1fr 2fr;}.two-column-block[data-left-width="2"][data-right-width="1"] { grid-template-columns: 2fr 1fr;}.two-column-block[data-left-width="1"][data-right-width="3"] { grid-template-columns: 1fr 3fr;}.two-column-block[data-left-width="3"][data-right-width="1"] { grid-template-columns: 3fr 1fr;}/* Hero Block */.hero-block { position: relative; margin: 2rem 0; min-height: 400px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; border-radius: 8px; overflow: hidden;}.hero-block::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 1;}.hero-content { position: relative; z-index: 2; text-align: center; color: white; padding: 2rem; max-width: 800px;}	.hero-title {	 font-family: var(--font-heading);	 font-size: 3rem;	 font-weight: 500;	 margin: 0 0 1rem 0;	 line-height: 1.2;	 color: white;	 text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);	}.hero-subtitle { font-family: var(--font-serif); font-size: 1.25rem; margin: 0; line-height: 1.6; color: rgba(255, 255, 255, 0.95); text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);}@media (max-width: 768px) { .hero-block { min-height: 300px; } .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 1rem; }}/* Button Block */.button-block { margin: 2rem 0; text-align: center;}.button-block.button-align-left { text-align: left;}.button-block.button-align-right { text-align: right;}.button-block a,.button-block button { display: inline-block; font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; padding: 0.875rem 2rem; border-radius: 4px; text-decoration: none; transition: all 0.2s ease; border: none; cursor: pointer;}.button-block .button-primary { background: var(--koval-teal); color: white;}.button-block .button-primary:hover { background: var(--koval-gray); transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);}.button-block .button-secondary { background: transparent; color: var(--koval-gray); border: 2px solid var(--koval-border);}.button-block .button-secondary:hover { border-color: var(--koval-teal); color: var(--koval-teal);}.button-block .button-outline { background: transparent; color: var(--koval-teal); border: 2px solid var(--koval-teal);}.button-block .button-outline:hover { background: var(--koval-teal); color: white;}/* Card Block */.card-block { margin: 2rem auto; max-width: 350px; background: white; border: 1px solid var(--koval-border); border-radius: 8px; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease;}.card-block:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);}.card-block img { width: 100%; height: 200px; object-fit: cover; display: block;}/* Card Grid - for multiple cards side by side */.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0;}.card-grid .card-block { margin: 0; max-width: none;}@media (max-width: 768px) { .card-grid { grid-template-columns: 1fr; gap: 1.5rem; }}.card-content { padding: 1.5rem;}.card-block .card-content h3 { font-family: var(--font-sans); font-size: 1.25rem; font-weight: 600; margin: 0 0 0.5rem 0; color: var(--koval-gray);}.card-block .card-content p { font-family: var(--font-serif); font-size: 0.9375rem; line-height: 1.6; color: #666; margin: 0 0 1rem 0;}.card-block .card-content .card-link { display: inline-block; font-family: var(--font-sans); font-size: 0.875rem; font-weight: 500; color: #2563eb; text-decoration: none; transition: color 0.2s ease;}.card-block .card-content .card-link:hover { color: var(--koval-gray);}/* ========================================================================== Recipe Video Player ========================================================================== */.recipe-video-section { padding: var(--space-2xl) 0;}.recipe-video-wrapper { max-width: 900px; margin: 0 auto; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); background: #000;}.recipe-video { width: 100%; height: auto; display: block; max-height: 80vh;}/* Mobile adjustments */@media (max-width: 768px) { .recipe-video-section { padding: var(--space-lg) 0; } .recipe-video-wrapper { border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }}/* ========================================================================== Cocktails Listing Page ========================================================================== *//* Page Header */.cocktails-header { padding: var(--space-2xl) 0; text-align: center;}.cocktails-header .page-title { font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 500; color: var(--koval-gray); margin: 0 0 var(--space-sm) 0;}.cocktails-header .page-description { font-family: var(--font-serif); font-size: var(--text-lg); color: var(--koval-text); max-width: 700px; margin: 0 auto;}/* Featured Section */.cocktails-featured-section { padding: var(--space-2xl) 0;}/* Classics Section */.cocktails-classics-section { padding: var(--space-2xl) 0;}/* Seasonal Section */.cocktails-seasonal-section { padding: var(--space-2xl) 0;}.cocktails-featured-section .section-title,.cocktails-classics-section .section-title,.cocktails-seasonal-section .section-title { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 400; text-transform: none; letter-spacing: normal; border-bottom: 0; padding-bottom: 0; color: var(--koval-gray); margin: 0 0 var(--space-lg) 0; text-align: center;}/* Cocktails Grid */.cocktails-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-lg);}.cocktails-grid-featured { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));}.cocktails-grid-classics { grid-template-columns: repeat(3, 1fr); max-width: 1100px; margin: 0 auto;}@media (max-width: 900px) { .cocktails-grid-classics { grid-template-columns: repeat(2, 1fr); }}@media (max-width: 600px) { .cocktails-grid { grid-template-columns: 1fr; } .cocktails-grid-featured, .cocktails-grid-classics { grid-template-columns: 1fr; }}/* Cocktail Card */.cocktail-card { display: block; background: #fff; border-radius: 0; overflow: hidden; transition: opacity 0.2s ease; text-decoration: none; color: inherit;}.cocktail-card:hover { opacity: 0.85;}.cocktail-card-image { position: relative; width: 100%; padding-bottom: 100%; /* Square aspect ratio */ background: #fff; overflow: hidden;}.cocktail-card-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; object-position: center;}.cocktail-card-content { padding: var(--space-md);}.cocktail-card-title { font-family: var(--font-sans); font-size: var(--text-lg); font-weight: 600; color: var(--koval-gray); margin: 0 0 var(--space-xs) 0;}.cocktail-card-spirits { font-family: var(--font-serif); font-size: var(--text-sm); color: var(--koval-text); margin: 0;}/* Video Badge */.cocktail-video-badge { position: absolute; top: var(--space-sm); right: var(--space-sm); background: rgba(0, 0, 0, 0.75); color: #fff; padding: 6px 12px; border-radius: 2px; font-family: var(--font-sans); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;}/* Season Tabs - using standard button styles */.season-tabs { display: flex; justify-content: center; gap: var(--space-sm); margin-bottom: var(--space-xl); flex-wrap: wrap;}.season-tab { background: transparent; color: var(--koval-gray); border: 1px solid var(--koval-gray); padding: 12px 24px; font-family: var(--font-sans); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.2s ease; border-radius: 0;}.season-tab:hover { background: var(--koval-gray); border-color: var(--koval-gray); color: #fff;}.season-tab-active { background: var(--koval-gray); border-color: var(--koval-gray); color: #fff;}/* Season Content */.season-content { display: none;}.season-content-active { display: block;}.no-cocktails { text-align: center; font-family: var(--font-serif); font-size: var(--text-lg); color: var(--koval-muted); padding: var(--space-2xl) 0;}/* Mobile adjustments */@media (max-width: 768px) { .cocktails-header, .cocktails-featured-section, .cocktails-classics-section, .cocktails-seasonal-section { padding: var(--space-lg) 0; } .cocktails-header .page-title { font-size: var(--text-2xl); } .cocktails-header .page-description { font-size: var(--text-base); } .cocktails-featured-section .section-title, .cocktails-classics-section .section-title, .cocktails-seasonal-section .section-title { font-size: var(--text-xl); } .season-tab { padding: 10px 18px; font-size: 10px; }}/* ========================================================================== Product Page Optimizations - Phase 2 ========================================================================== *//* FAQ Section */.faq-section { background: var(--koval-cream, #fafaf8); padding: 60px 0; margin-top: 60px;}.faq-list { max-width: 800px; margin: 0 auto;}.faq-item { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #e5e5e5;}.faq-item:last-child { border-bottom: none;}.faq-question { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 600; color: var(--koval-gray); margin-bottom: 15px;}.faq-answer { font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--koval-black);}.faq-answer p { margin-bottom: 10px;}.faq-answer a { color: var(--koval-teal); text-decoration: underline;}.faq-answer a:hover { color: var(--koval-gray);}.faq-cta { display: inline-block; margin-top: var(--space-sm); text-decoration: none;}/* Related Cocktails Section */.related-section { padding: 60px 0; background: #fff;}.section-intro { text-align: center; max-width: 600px; margin: 0 auto 40px; color: #666; font-size: var(--text-base); line-height: var(--leading-relaxed);}/* CTA Enhancements */.product-cta { background: var(--koval-promo-bg); padding: 30px; border-radius: 8px; margin: 30px 0; text-align: center;}.btn-primary { display: inline-block; background: var(--koval-teal); color: #fff; padding: 15px 40px; border-radius: 4px; font-weight: 600; text-decoration: none; font-family: var(--font-heading); transition: background 0.3s ease, transform 0.2s ease;}.btn-primary:hover { background: var(--koval-gray); transform: translateY(-2px);}.btn-secondary { display: inline-block; background: transparent; color: var(--koval-teal); padding: 12px 30px; border: 2px solid var(--koval-teal); border-radius: 4px; font-weight: 600; text-decoration: none; font-family: var(--font-heading); transition: all 0.3s ease;}.btn-secondary:hover { background: var(--koval-teal); color: #fff;}.cta-note { margin-top: 15px; font-size: var(--text-sm); color: #666;}/* Mobile Responsiveness */@media (max-width: 768px) { .faq-section, .related-section, .similar-products-section { padding: 40px 0; } .notes-grid { grid-template-columns: 1fr; } .tasting-notes { padding: 20px; } .faq-question { font-size: var(--text-base); }}/* Text alignment utilities */.text-center { text-align: center;}.mt-2 { margin-top: 1rem;}.mt-3 { margin-top: 1.5rem;}.mt-4 { margin-top: 2rem;}/* Section title consistency */.section-title { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 400; color: var(--koval-gray); margin: 0 0 30px 0; text-align: center;}/* ========================================================================== Product Enhancement Components ========================================================================== *//* Enhancement Label - Shows why a section was added */.enhancement-label { background: var(--koval-light); border: 1px dashed var(--koval-border); border-bottom: none; color: var(--koval-text); padding: 8px 16px; margin: 30px 0 0 0; border-radius: 4px 4px 0 0; font-family: var(--font-sans); font-size: 13px; line-height: 1.4;}.enhancement-label strong { font-weight: 600; color: var(--koval-gray);}/* Product Info Box */.product-info-box { border: 1px solid var(--koval-border); border-top: none; border-radius: 0 0 4px 4px; padding: var(--space-md); margin-bottom: var(--space-lg);}.product-rating-inline { display: flex; align-items: center; gap: var(--space-sm);}/* Star Rating */.star-rating { display: flex; gap: 2px; align-items: center;}.star { font-size: 18px; line-height: 1;}.star-full { color: var(--koval-gold);}.star-half { color: var(--koval-gold); opacity: 0.5;}.star-empty { color: var(--koval-border);}.star-rating-large .star { font-size: 24px;}.product-rating { display: flex; flex-direction: column; gap: 6px;}.rating-text { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-text);}/* CTA Section */.product-cta-secondary { display: flex; gap: var(--space-sm); margin: var(--space-md) 0 var(--space-xl) 0; flex-wrap: wrap;}.btn-secondary-small { display: inline-block; padding: 8px 16px; background: #fff; border: 1px solid var(--koval-gray); color: var(--koval-gray); font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 500; text-decoration: none; border-radius: 4px; transition: all 0.2s;}.btn-secondary-small:hover { background: var(--koval-gray); color: #fff;}/* Reviews Section */.reviews-section { background: #f8f9fa; padding: var(--space-2xl) 0; margin: var(--space-2xl) 0;}.reviews-header { text-align: center; margin-bottom: var(--space-xl);}.reviews-summary { display: flex; justify-content: center; margin-top: var(--space-lg);}.reviews-summary-rating { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm);}.reviews-summary-number { font-family: var(--font-heading); font-size: 48px; font-weight: 300; color: var(--koval-gray); line-height: 1;}.reviews-summary-text { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-muted); margin: 0;}/* Expert Reviews Grid */.expert-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-xl);}.expert-review-card { background: #fff; border: 1px solid var(--koval-border); border-radius: 8px; padding: var(--space-lg);}.expert-review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-md);}.expert-review-source { font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; color: var(--koval-gray);}.expert-review-year { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-muted);}.expert-review-rating { display: flex; align-items: baseline; gap: 4px; margin-bottom: var(--space-sm);}.expert-rating-number { font-family: var(--font-heading); font-size: 36px; font-weight: 300; color: var(--koval-gray); line-height: 1;}.expert-rating-scale { font-family: var(--font-sans); font-size: var(--text-lg); color: var(--koval-muted);}.expert-review-award { font-family: var(--font-sans); font-size: var(--text-lg); font-weight: 600; color: var(--koval-gold); margin-bottom: var(--space-sm);}.expert-review-quote { font-family: var(--font-serif); font-size: var(--text-base); font-style: italic; color: var(--koval-text); margin: 0; padding: 0; border-left: 3px solid var(--koval-border); padding-left: var(--space-md);}/* Customer Reviews */.reviews-subtitle { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 400; color: var(--koval-gray); margin: var(--space-xl) 0 var(--space-lg) 0; text-align: center;}.customer-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg);}.customer-review-card { background: #fff; border: 1px solid var(--koval-border); border-radius: 8px; padding: var(--space-lg);}.customer-review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-md);}.customer-review-author { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted);}.customer-review-text { font-family: var(--font-sans); font-size: var(--text-base); line-height: var(--leading-normal); color: var(--koval-text); margin: 0;}/* Social Share Section */.product-share-section { background: #fff; border: 1px solid var(--koval-border); border-radius: 8px; padding: var(--space-lg); margin: var(--space-xl) 0;}.share-title { font-family: var(--font-sans); font-size: var(--text-lg); font-weight: 600; color: var(--koval-gray); margin: 0 0 var(--space-md) 0;}.share-buttons { display: flex; gap: var(--space-sm); flex-wrap: wrap;}.share-button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--koval-border); border-radius: 4px; background: #fff; font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 500; text-decoration: none; color: var(--koval-gray); cursor: pointer; transition: all 0.2s;}.share-button:hover { border-color: var(--koval-gray); background: var(--koval-light);}.share-button svg { color: var(--koval-muted);}/* Product Image Wrapper (constrains UPC to image width, sticky on desktop) */.product-image-wrapper { display: flex; flex-direction: column; align-items: center; position: sticky; top: 100px;}@media (max-width: 959px) { .product-image-wrapper { position: static; }}.product-title-mobile { display: none;}@media (max-width: 959px) { .product-title-mobile { display: block; } .product-title-desktop { display: none; } .product-layout { margin-left: 0; } .product-layout > * { padding-left: 0; }}.product-image-wrapper .product-image { display: block; max-width: 100%;}/* Product UPC Box (sellsheet style) */.product-upc { display: flex; align-items: center; justify-content: center; gap: var(--space-lg); margin-top: var(--space-md); padding: 12px var(--space-xl); border: 1px solid var(--koval-border); background: #fff;}.product-upc-volume { font-family: var(--font-sans); font-size: var(--text-base); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--koval-gray);}.product-upc-code { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 500; color: var(--koval-gray); letter-spacing: 1.5px;}/* Video Reviews Section */.videos-section { padding: var(--space-2xl) 0; margin: var(--space-lg) 0;}.videos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md);}.video-card { background: #fff; border: 1px solid var(--koval-border); border-radius: 8px; overflow: hidden;}.video-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; background: #000;}.video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}.video-lazy { cursor: pointer;}.video-lazy img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; min-height: 100%; object-fit: cover;}.video-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: none; border: none; cursor: pointer; padding: 0; z-index: 1; opacity: 0.85; transition: opacity 0.2s;}.video-lazy:hover .video-play-btn { opacity: 1;}.video-info { display: flex; justify-content: space-between; align-items: center; padding: var(--space-sm) var(--space-md);}.video-title { font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600; color: var(--koval-dark); display: block;}.video-channel { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 400; color: var(--koval-muted); display: block;}/* How to Enjoy Section */.how-to-enjoy-section { background: var(--koval-light); padding: var(--space-2xl) 0; margin: var(--space-lg) 0;}.how-to-enjoy-grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-xl);}.how-to-enjoy-text { font-family: var(--font-serif); font-size: var(--text-lg); line-height: var(--leading-relaxed); color: var(--koval-text); margin: 0 0 var(--space-lg) 0;}.how-to-enjoy-details { display: flex; flex-direction: column; gap: var(--space-md);}.how-to-enjoy-detail { display: flex; flex-direction: column; gap: 4px;}.how-to-enjoy-label { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted);}.how-to-enjoy-value { font-family: var(--font-sans); font-size: var(--text-base); color: var(--koval-gray);}.food-pairings-title { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-muted); margin: var(--space-lg) 0 var(--space-sm) 0;}.food-pairings-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-xs);}.food-pairings-list li { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-text); padding-left: var(--space-md); position: relative;}.food-pairings-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--koval-gold);}/* Signature Cocktails Section */.cocktails-section { padding: var(--space-2xl) 0; margin: var(--space-lg) 0;}.cocktails-recipe-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-lg);}.cocktail-recipe-card { background: #fff; border: 1px solid var(--koval-border); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column;}.cocktail-recipe-image { aspect-ratio: 1; overflow: hidden;}.cocktail-recipe-image img { width: 100%; height: 100%; object-fit: cover;}.cocktail-recipe-body { padding: var(--space-lg); display: flex; flex-direction: column; flex-grow: 1;}.cocktail-recipe-name { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 400; color: var(--koval-gray); margin: 0 0 var(--space-md) 0;}.cocktail-recipe-note { display: block; font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--koval-gold); margin-top: 4px;}.cocktail-recipe-ingredients { list-style: none; padding: 0; margin: 0 0 var(--space-md) 0; display: flex; flex-direction: column; gap: var(--space-xs);}.cocktail-recipe-ingredients li { font-family: var(--font-sans); font-size: var(--text-sm); color: var(--koval-text); padding-left: var(--space-md); position: relative;}.cocktail-recipe-ingredients li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--koval-gold);}.cocktail-recipe-ingredients a { color: var(--koval-teal); text-decoration: underline; text-underline-offset: 2px;}.cocktail-recipe-ingredients a:hover { color: var(--koval-gray);}.cocktail-recipe-method { font-family: var(--font-sans); font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--koval-muted); margin: 0; margin-top: auto; padding-top: var(--space-sm); border-top: 1px solid var(--koval-border);}/* Responsive adjustments */@media (max-width: 959px) { .product-info-grid { grid-template-columns: 1fr; } .expert-reviews-grid, .customer-reviews-grid { grid-template-columns: 1fr; } .share-buttons { flex-direction: column; } .share-button { width: 100%; justify-content: center; } .product-cta-secondary { flex-direction: column; } .btn-secondary-small { width: 100%; text-align: center; } .videos-grid { grid-template-columns: 1fr; } .how-to-enjoy-grid { grid-template-columns: 1fr; } .cocktails-recipe-grid { grid-template-columns: 1fr; }}/* Grid Block Styles */.grid-block { margin: 40px 0;}.grid-block .grid { display: grid; gap: 30px;}.grid-block .grid-2 { grid-template-columns: 1fr 1fr;}.grid-block .grid-3 { grid-template-columns: 1fr 1fr 1fr;}.grid-block .column { padding: 30px; background: var(--koval-light, #f7f7f7); border-radius: 8px;}.grid-block .column h3 { margin-top: 0; font-size: 20px; font-weight: 600; color: var(--koval-black, #0f0f0f);}.grid-block .column p { margin: 15px 0 0; color: var(--koval-text, #333); line-height: 1.7;}@media (max-width: 768px) { .grid-block .grid-2, .grid-block .grid-3 { grid-template-columns: 1fr; }}.cart-drawer-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999;}/* Overlay with smooth fade */.drawer-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 10000; opacity: 0; transition: opacity 0.6s ease; pointer-events: none;}.drawer-overlay.visible { opacity: 1; pointer-events: auto;}/* Drawer panel with smooth slide */.drawer-wrapper { position: fixed; top: 0; right: 0; height: 100%; width: 100%; max-width: 440px; background-color: #ffffff; box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2); z-index: 10001; transform: translateX(100%); transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); display: flex; flex-direction: column; overflow: hidden; will-change: transform;}.drawer-wrapper.visible { transform: translateX(0);}@media screen and (min-width: 768px) { .drawer-wrapper { width: 440px; }}/* Close button */.drawer-close { padding: 8px; cursor: pointer; background-color: transparent; border: none; display: flex; align-items: center; justify-content: center; transition: transform 0.2s ease;}.drawer-close:hover { transform: scale(1.1);}.drawer-close:active { transform: scale(0.95);}/* Content scrolls properly */.cart-order-container { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch;}/* Cart product styles */.cart-product { display: flex; padding: 16px; border-bottom: 1px solid #f0f0f0; align-items: flex-start;}.cart-product-image { width: 80px; height: 80px; margin-right: 12px; flex-shrink: 0;}.cart-product-image img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px;}.cart-product-details { flex: 1; display: flex; flex-direction: column;}.product-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px;}.product-info { flex: 1;}.product-name { font-size: 14px; font-weight: 600; color: #333; margin-bottom: 4px; line-height: 1.3;}.product-volume { font-size: 12px; color: #666; margin-bottom: 2px;}.product-price { font-size: 14px; font-weight: 600; color: #333; margin-left: 12px;}.quantity-selector { margin-top: 8px;}.selector-wrap { display: flex; align-items: center; gap: 8px;}.cart-box { display: flex; align-items: center; background: #f8f9fa; border-radius: 4px; padding: 4px 8px; border: 1px solid #e9ecef;}.cart-quantity { font-size: 14px; font-weight: 600; color: #333; min-width: 20px; text-align: center; margin: 0 8px;}/* Quantity buttons */.quantity-button { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 4px; transition: all 0.2s ease; background: #f8f9fa; border: 1px solid #e9ecef;}.quantity-button:hover { background: #e9ecef; border-color: #d4a574;}.quantity-button:active { transform: scale(0.95);}.quantity-button svg { width: 16px; height: 16px; color: #666;}/* Remove button */.cart-remove { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 4px; transition: all 0.2s ease; background: #f8f9fa; border: 1px solid #e9ecef; margin-left: 8px;}.cart-remove:hover { background: #fee; border-color: #dc3545;}.cart-remove:active { transform: scale(0.95);}.cart-remove svg { width: 18px; height: 18px; color: #dc3545;}/* Cart totals */.cart-totals { padding: 16px; border-top: 1px solid #f0f0f0; background: #f8f9fa;}.totals-line { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;}.totals-label { font-size: 14px; color: #666;}.totals-value { font-size: 16px; font-weight: 600; color: #333;}.totals-message { margin-top: 8px;}.tax-message { font-size: 12px; color: #666; font-style: italic;}/* Footer buttons */.drawer-footer { padding: 16px; border-top: 1px solid #f0f0f0; background: white;}.footer-buttons { display: flex; flex-direction: column; gap: 8px;}.checkout-button { width: 100%; padding: 12px 16px; background: #d4a574; color: white; border: none; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.2s;}.checkout-button:hover { background: #c19660;}.checkout-button:disabled { background: #cccccc !important; cursor: not-allowed; opacity: 0.7; box-shadow: none; transform: none;}.continue-button { width: 100%; padding: 10px 16px; background: transparent; color: #666; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; cursor: pointer; transition: all 0.2s;}.continue-button:hover { background: #f8f9fa; border-color: #999;}/* Empty cart */.cart-empty { text-align: center; padding: 40px 20px; color: #666; font-style: italic;}/* Shipping Upsell Styles */.shipping-upsell { margin: 16px; padding: 16px; border-radius: 4px; border: 1px solid #e0e0e0; background: #f8f9fa;}.shipping-tier { margin-bottom: 12px;}.shipping-message { font-size: 14px; font-weight: 600; color: #333;}.shipping-progress { margin: 12px 0;}.progress-bar { width: 100%; height: 4px; background: #e0e0e0; border-radius: 2px; overflow: hidden;}.progress-fill { height: 100%; background: #666; border-radius: 2px; transition: width 0.3s ease;}.progress-text { font-size: 12px; color: #666; margin-top: 6px;}.savings-badge { font-size: 11px; font-weight: bold; background: #333; color: white; padding: 2px 6px; border-radius: 3px;