.layout-wrapper{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-primary)}.main-content{flex:1 0 auto;padding-top:var(--navbar-height, 80px)}@media (max-width: 768px){.main-content{padding-top:var(--navbar-height, 64px)}}@media (max-width: 480px){.main-content{padding-top:var(--navbar-height, 60px)}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 clamp(1rem,5vw,3rem);background:#fdfcfafa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);box-shadow:0 1px #1a181614;width:100%;position:fixed;top:0;left:0;z-index:1000;--navbar-height: 80px;height:var(--navbar-height);transition:box-shadow var(--transition-base)}.navbar-left{display:flex;align-items:center;flex-shrink:0}.navbar-brand{display:flex;align-items:center}.navbar-logo-link{display:flex;align-items:center;text-decoration:none;transition:opacity var(--transition-base)}.navbar-logo-link:hover{opacity:.75}.navbar-logo-link:focus-visible{outline:2px solid rgba(90,107,77,.4);outline-offset:4px;border-radius:2px}.navbar-logo{height:52px;width:auto;display:block}.navbar-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);flex-shrink:0}.navbar-right.hide-for-cart .navbar-toggle-button,.navbar-right.hide-for-menu>:first-child,.navbar-right.hide-for-menu .cart-icon-wrapper{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.navbar-toggle-button{background:transparent;border:none;width:44px;height:44px;cursor:pointer;display:flex;justify-content:center;align-items:center;padding:0;z-index:1003;position:relative;border-radius:2px;transition:opacity var(--transition-base);flex-shrink:0}.navbar-toggle-button:hover{opacity:.6}.navbar-toggle-button:focus-visible{outline:2px solid rgba(90,107,77,.4);outline-offset:2px}.hamburger-icon{position:relative;width:24px;height:1.5px;background-color:var(--text-primary);transition:background-color .3s ease,opacity .3s ease;display:block}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;left:0;width:24px;height:1.5px;background-color:var(--text-primary);transition:transform .35s cubic-bezier(.25,.46,.45,.94),top .35s cubic-bezier(.25,.46,.45,.94),opacity .2s ease;display:block;transform-origin:center center}.hamburger-icon:before{top:-7px}.hamburger-icon:after{top:7px}.navbar-toggle-button.open .hamburger-icon{background-color:transparent}.navbar-toggle-button.open .hamburger-icon:before{top:0;transform:rotate(45deg);background-color:var(--text-primary)}.navbar-toggle-button.open .hamburger-icon:after{top:0;transform:rotate(-45deg);background-color:var(--text-primary)}.navbar-backdrop{position:fixed;inset:0;background-color:#1a18168c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:1001;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;cursor:pointer}.navbar-backdrop.open{opacity:1;visibility:visible}.navbar-overlay{position:fixed;top:0;right:0;width:420px;max-width:88vw;height:100vh;background-color:#f5f2ed;color:var(--text-primary);z-index:1002;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;opacity:0;visibility:hidden;transform:translate(100%);transition:opacity .35s cubic-bezier(.25,.46,.45,.94),transform .35s cubic-bezier(.25,.46,.45,.94),visibility .35s;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(2rem,5vw,3rem) clamp(1.75rem,5vw,2.75rem);box-shadow:-1px 0 #1a181614,-24px 0 48px #1a18161f}.navbar-overlay.open{opacity:1;visibility:visible;transform:translate(0)}.overlay-links{list-style:none;padding:0;margin:clamp(1.5rem,4vw,2.5rem) 0 2rem;display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;gap:0}.overlay-links>li>a{font-family:var(--font-heading);color:var(--text-primary);text-decoration:none;font-size:clamp(1.375rem,3vw,1.625rem);font-weight:var(--weight-light);letter-spacing:-.01em;line-height:1.2;display:block;padding:.5rem 0;transition:color .2s ease,opacity .2s ease;position:relative}.overlay-links>li>a:after{content:"";position:absolute;bottom:.35rem;left:0;width:0;height:1px;background:var(--accent-primary);transition:width .25s ease}.overlay-links>li>a:hover{color:var(--accent-primary)}.overlay-links>li>a:hover:after{width:100%}.overlay-links>li>a.active{color:var(--accent-primary)}.overlay-links>li>a.active:after{width:100%}.overlay-section-header{display:flex;align-items:baseline;justify-content:space-between;width:100%;background:transparent;border:none;padding:.5rem 0;cursor:pointer;font-family:var(--font-heading);font-size:clamp(1.375rem,3vw,1.625rem);font-weight:var(--weight-light);color:var(--text-primary);letter-spacing:-.01em;line-height:1.2;text-align:left;transition:color .2s ease;margin-top:0}.overlay-section-header:hover,.overlay-section-header.expanded{color:var(--accent-primary)}.overlay-section-header:focus-visible{outline:2px solid rgba(90,107,77,.35);outline-offset:4px;border-radius:2px}.section-icon{font-size:0;width:12px;height:12px;position:relative;flex-shrink:0;margin-left:var(--space-sm);opacity:.45;transition:opacity .2s ease,transform .3s ease}.section-icon:before,.section-icon:after{content:"";position:absolute;background:currentColor;border-radius:1px}.section-icon:before{width:12px;height:1px;top:50%;left:0;transform:translateY(-50%)}.section-icon:after{width:1px;height:12px;left:50%;top:0;transform:translate(-50%);transition:opacity .25s ease,transform .25s ease}.section-icon.expanded{opacity:.7}.section-icon.expanded:after{opacity:0;transform:translate(-50%) rotate(90deg)}.section-title{flex:1}.overlay-sub-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;width:100%;gap:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.overlay-sub-links.expanded{max-height:600px;opacity:1;margin-bottom:.5rem}.overlay-sub-links li a{font-family:var(--font-body);color:var(--text-tertiary);text-decoration:none;font-size:clamp(.875rem,2vw,.9375rem);font-weight:var(--weight-normal);letter-spacing:.02em;display:block;padding:.3rem 0 .3rem 1rem;border-left:1px solid var(--border-light);transition:color .2s ease,border-color .2s ease;min-height:36px;line-height:1.8}.overlay-sub-links li a:hover{color:var(--accent-primary);border-left-color:var(--accent-primary)}.overlay-sub-links li a.active{color:var(--accent-primary);border-left-color:var(--accent-primary);font-weight:var(--weight-medium)}.admin-submenu-divider{height:1px;background:var(--color-border, rgba(255,255,255,.1));margin:8px 0}.overlay-sub-links li:first-child a{font-weight:var(--weight-medium);color:var(--text-secondary)}.overlay-section-divider{width:100%;height:1px;background:var(--border-light);margin:clamp(1rem,3vw,1.5rem) 0}.overlay-section-separator{width:32px;height:1px;background:var(--accent-primary);margin:clamp(1rem,3vw,1.5rem) 0;opacity:.4}.overlay-auth-status{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:.25rem}.navbar-welcome{font-family:var(--font-body);font-size:.75rem;font-weight:var(--weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:.5rem;display:block}.overlay-auth-status .navbar-button{font-family:var(--font-heading);font-size:clamp(1.375rem,3vw,1.625rem);font-weight:var(--weight-light);letter-spacing:-.01em;color:var(--text-primary);background:transparent;border:none;padding:.5rem 0;cursor:pointer;text-decoration:none;display:block;width:100%;text-align:left;transition:color .2s ease}.overlay-auth-status .navbar-button:hover{color:var(--accent-primary)}.navbar-button.logout{font-family:var(--font-body);font-size:.8125rem;font-weight:var(--weight-normal);letter-spacing:.04em;color:var(--text-tertiary);background:transparent;border:none;border-bottom:1px solid var(--border-light);padding:0 0 1px;cursor:pointer;text-align:left;display:inline-block;width:auto;margin-top:.75rem;transition:color .2s ease,border-color .2s ease}.navbar-button.logout:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.overlay-section-title-static{font-family:var(--font-body);font-size:.6875rem;font-weight:var(--weight-medium);letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.875rem;display:block;width:100%}.overlay-social-links{display:flex;justify-content:flex-start;gap:clamp(1rem,3vw,1.5rem);padding-bottom:clamp(1.5rem,4vw,2.5rem);width:100%}.overlay-social-links a{color:var(--text-tertiary);font-size:1.125rem;transition:color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.overlay-social-links a:hover{color:var(--text-primary);transform:translateY(-2px)}@media (max-width: 768px){.navbar{--navbar-height: 70px;height:var(--navbar-height);padding:0 var(--space-md)}.navbar-overlay{width:88vw;max-width:380px;padding:2rem 1.5rem}.hamburger-icon,.hamburger-icon:before,.hamburger-icon:after{width:22px}.hamburger-icon:before{top:-6px}.hamburger-icon:after{top:6px}}@media (max-width: 480px){.navbar{--navbar-height: 68px;height:var(--navbar-height);padding:0 var(--space-sm)}.navbar-toggle-button{width:40px;height:40px}.navbar-overlay{width:92vw;max-width:340px;padding:1.75rem 1.25rem}.overlay-links>li>a,.overlay-section-header{font-size:clamp(1.25rem,5vw,1.5rem)}}@media (prefers-contrast: high){.navbar{border-bottom:2px solid var(--border-dark)}.navbar-overlay{border-left:2px solid var(--border-dark)}.overlay-sub-links li a{border-left-width:2px}}@media (prefers-reduced-motion: reduce){.navbar,.navbar-toggle-button,.hamburger-icon,.hamburger-icon:before,.hamburger-icon:after,.navbar-overlay,.navbar-backdrop,.overlay-links a,.overlay-section-header,.overlay-sub-links,.section-icon,.overlay-social-links a{transition:none!important;animation:none!important}.overlay-sub-links.expanded{max-height:none;opacity:1}.overlay-links>li>a:after{display:none}}.footer{background:#efebe6;color:#2c2926;padding:var(--spacing-xxl) var(--spacing-xl);font-family:var(--font-body);border-top:1px solid rgba(44,41,38,.1);box-shadow:0 -2px 8px #2c29260f;margin-top:auto;flex-shrink:0}.footer-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--spacing-xxl);justify-content:space-between;text-align:left}.footer-column{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;justify-content:center}.footer-logo-link{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);transition:transform var(--transition-base)}.footer-logo-link:hover{transform:scale(1.02)}.footer-logo-link:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:4px;border-radius:var(--radius-sm)}.footer-logo{height:120px;width:auto;display:block;transition:opacity var(--transition-base)}.footer-logo:hover{opacity:.85}.footer-about-text{font-size:clamp(.9rem,1.5vw,1rem);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);color:#5a5550}.footer-copyright{font-size:clamp(.8rem,1.2vw,.9rem);color:#8a8580;margin-top:var(--spacing-md)}.footer-heading{font-family:var(--font-heading);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:var(--font-weight-semibold);color:#2c2926;margin-bottom:var(--spacing-md);letter-spacing:var(--letter-spacing-wide);position:relative;padding-bottom:var(--spacing-xs)}.footer-heading:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:linear-gradient(135deg,#6b7f5a,#5a6b4d);border-radius:var(--border-radius-pill)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--spacing-sm)}.footer-links a{color:#5a5550;text-decoration:none;font-size:clamp(.9rem,1.5vw,1rem);font-weight:var(--font-weight-normal);transition:color var(--transition-base),transform var(--transition-fast);display:inline-block}.footer-links a:hover{color:#6b7f5a;transform:translate(4px);text-decoration:none}.footer-social-icons{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-social-icons a{color:#2c2926;font-size:clamp(1.6rem,2.5vw,2rem);transition:color var(--transition-base),transform var(--transition-base);padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center}.footer-social-icons a:hover{color:#6b7f5a;transform:translateY(-4px) scale(1.1)}.footer-newsletter-text{font-size:clamp(.9rem,1.5vw,1rem);margin-bottom:var(--spacing-md);color:#5a5550;line-height:var(--line-height-base)}@media (max-width: 768px){.footer{padding:var(--spacing-xl) var(--spacing-md)}.footer-container{grid-template-columns:1fr;text-align:center;gap:var(--spacing-xl)}.footer-logo,.footer-heading{text-align:center}.footer-heading:after{left:50%;transform:translate(-50%)}.footer-social-icons{justify-content:center}.footer-links a{display:block}.footer-links a:hover{transform:none}}@media (max-width: 480px){.footer{padding:var(--spacing-lg) var(--spacing-sm)}.footer-container{gap:var(--spacing-lg)}.footer-social-icons{gap:var(--spacing-md)}.footer-newsletter-button{width:100%}}.footer-logo-link:focus-visible,.footer-links a:focus-visible,.footer-social-icons a:focus-visible,.footer-newsletter-input:focus-visible,.footer-newsletter-button:focus-visible{outline:var(--focus-ring-width) solid rgba(107,127,90,.5);outline-offset:var(--focus-ring-offset)}@media (prefers-contrast: high){.footer{border-top:2px solid rgba(44,41,38,.2)}.footer-newsletter-input,.footer-newsletter-button{border-width:3px}.footer-heading{font-weight:var(--font-weight-extrabold)}}@media (prefers-reduced-motion: reduce){.footer-links a,.footer-social-icons a,.footer-newsletter-button,.footer-logo-link,.footer-logo{transition:none}.footer-links a:hover,.footer-social-icons a:hover,.footer-newsletter-button:hover,.footer-logo-link:hover{transform:none}}.newsletter-signup-form{display:flex;flex-direction:column;gap:var(--space-sm);max-width:480px;width:100%;margin:var(--space-lg) auto;padding:0;background-color:transparent;border-radius:0;box-shadow:none}.newsletter-signup-input{width:100%;padding:var(--space-md) var(--space-lg);font-size:clamp(.9375rem,2vw,1rem);font-family:var(--font-body);font-weight:var(--weight-normal);background-color:#fff;color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-sizing:border-box;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.newsletter-signup-input::placeholder{color:var(--text-tertiary);opacity:.7}.newsletter-signup-input:hover:not(:disabled){border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.newsletter-signup-input:focus{outline:none;border-color:var(--accent-primary);background-color:#fff;box-shadow:0 0 0 2px #5a6b4d26,var(--shadow-md)}.newsletter-signup-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.newsletter-signup-button{width:100%;padding:var(--space-md) var(--space-xl);min-height:52px;font-size:clamp(.875rem,2vw,.9375rem);font-family:var(--font-body);font-weight:var(--weight-medium);letter-spacing:.04em;background-color:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.newsletter-signup-button:hover:not(:disabled){background-color:var(--accent-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.newsletter-signup-button:active:not(:disabled){transform:translateY(-1px)}.newsletter-signup-button:disabled{background-color:var(--border-medium);color:var(--text-tertiary);cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.newsletter-signup-button:focus-visible{outline:2px solid rgba(90,107,77,.5);outline-offset:2px}.email-status-message{width:100%;text-align:center;padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm);border-radius:var(--radius-sm);font-size:clamp(.8125rem,1.8vw,.875rem);font-weight:var(--weight-medium);line-height:var(--leading-normal);transition:all var(--transition-base)}.email-status-message.success{color:var(--accent-primary);background-color:#5a6b4d14;border:1px solid rgba(90,107,77,.2);box-shadow:var(--shadow-xs)}.email-status-message.error{color:var(--color-error);background-color:#b4746614;border:1px solid rgba(180,116,102,.2);box-shadow:var(--shadow-xs)}@media (max-width: 768px){.newsletter-signup-input,.newsletter-signup-button{padding:var(--space-sm) var(--space-md);font-size:.9375rem}.newsletter-signup-button{min-height:48px}}@media (max-width: 480px){.newsletter-signup-input,.newsletter-signup-button{padding:.75rem 1rem;font-size:.875rem}.newsletter-signup-button{min-height:44px}.email-status-message{font-size:.8125rem}}@media (prefers-reduced-motion: reduce){.newsletter-signup-input,.newsletter-signup-button,.email-status-message{transition:none}.newsletter-signup-button:hover{transform:none}}@media (prefers-contrast: high){.newsletter-signup-input,.newsletter-signup-button{border-width:2px}.email-status-message{border-width:2px;font-weight:var(--weight-semibold)}}:root{--bg-primary: #f5f2ed;--bg-secondary: #eae6e0;--bg-tertiary: #dfd9d1;--bg-accent-light: #fdfcfa;--bg-accent-dark: #2d2a27;--color-background-dark-primary: #1a1816;--color-background-dark-secondary: #2d2a27;--color-background-dark-tertiary: #3a3632;--color-bg-secondary: #eae6e0;--text-primary: #1a1816;--text-secondary: #3a3632;--text-tertiary: #5a5550;--text-white: #fdfcfa;--color-text-primary: #1a1816;--color-text-secondary: #3a3632;--color-text-tertiary: #5a5550;--color-text-white: #fdfcfa;--color-text-light-mode: #1a1816;--color-text-medium-light: #5a5550;--color-text-muted: #8a8580;--accent-primary: #5a6b4d;--accent-primary-hover: #4a5940;--color-primary: #5a6b4d;--color-primary-hover: #4a5940;--color-primary-rgb: 90, 107, 77;--accent-secondary: #b09970;--color-secondary: #b09970;--color-success: #6b7f5a;--color-warning: #b09970;--color-error: #9a7366;--color-info: #6b7b8a;--color-success-rgb: 107, 127, 90;--color-warning-rgb: 176, 153, 112;--color-error-rgb: 154, 115, 102;--color-info-rgb: 107, 123, 138;--color-positive: #6b7f5a;--color-positive-rgb: 107, 127, 90;--color-danger: #9a7366;--color-danger-rgb: 154, 115, 102;--color-accent-info: #6b7b8a;--border-light: rgba(42, 39, 36, .06);--border-medium: rgba(42, 39, 36, .12);--border-dark: rgba(42, 39, 36, .18);--color-border-light: rgba(42, 39, 36, .06);--color-border-medium: rgba(42, 39, 36, .12);--color-border-dark: rgba(42, 39, 36, .18);--shadow-xs: 0 1px 2px rgba(26, 24, 22, .06), 0 1px 1px rgba(26, 24, 22, .04);--shadow-sm: 0 1px 3px rgba(26, 24, 22, .08), 0 1px 2px rgba(26, 24, 22, .06);--shadow-md: 0 2px 8px rgba(26, 24, 22, .12), 0 4px 16px rgba(26, 24, 22, .06);--shadow-lg: 0 4px 12px rgba(26, 24, 22, .14), 0 8px 24px rgba(26, 24, 22, .08);--shadow-xl: 0 6px 20px rgba(26, 24, 22, .15), 0 12px 40px rgba(26, 24, 22, .08);--shadow-2xl: 0 10px 32px rgba(26, 24, 22, .18), 0 20px 60px rgba(26, 24, 22, .1);--color-shadow-light: rgba(26, 24, 22, .08);--color-shadow-dark: rgba(26, 24, 22, .12);--color-shadow-hover: rgba(26, 24, 22, .18);--color-shadow-glow: rgba(90, 107, 77, .3);--font-heading: "Cormorant", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: clamp(.6875rem, 1.5vw, .75rem);--text-sm: clamp(.8125rem, 2vw, .875rem);--text-base: clamp(.9375rem, 2.5vw, 1rem);--text-lg: clamp(1.0625rem, 3vw, 1.125rem);--text-xl: clamp(1.1875rem, 3.5vw, 1.25rem);--text-2xl: clamp(1.375rem, 4vw, 1.5rem);--text-3xl: clamp(1.625rem, 4.5vw, 2rem);--text-4xl: clamp(2rem, 5vw, 2.5rem);--text-5xl: clamp(2.5rem, 6vw, 3.5rem);--text-6xl: clamp(3rem, 7vw, 4.5rem);--font-size-xs: var(--text-xs);--font-size-sm: var(--text-sm);--font-size-base: var(--text-base);--font-size-lg: var(--text-lg);--font-size-xl: var(--text-xl);--font-size-2xl: var(--text-2xl);--font-size-3xl: var(--text-3xl);--font-size-4xl: var(--text-4xl);--font-size-5xl: var(--text-5xl);--font-size-6xl: var(--text-6xl);--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--line-height-tight: 1.15;--line-height-base: 1.5;--line-height-relaxed: 1.7;--letter-spacing-tighter: -.025em;--letter-spacing-tight: -.015em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .05em;--space-xs: 8px;--space-sm: 12px;--space-md: 20px;--space-lg: 32px;--space-xl: 48px;--space-2xl: 72px;--space-3xl: 104px;--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 20px;--spacing-lg: 32px;--spacing-xl: 48px;--spacing-xxl: 72px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--radius-pill: 9999px;--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 18px;--border-radius-xl: 24px;--border-radius-2xl: 32px;--border-radius-pill: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--focus-ring-width: 2px;--focus-ring-color: rgba(90, 107, 77, .4);--focus-ring-offset: 2px;--glass-bg: rgba(253, 252, 250, .05);--glass-blur: blur(12px);--glass-border: rgba(255, 255, 255, .1);--gradient-primary: linear-gradient(135deg, #5a6b4d 0%, #4a5940 100%);--gradient-secondary: linear-gradient(135deg, #b09970 0%, #9a8660 100%);--color-tag-category-bg: rgba(90, 107, 77, .08);--color-tag-category-text: var(--accent-primary);--color-tag-category-shadow: none;--color-tag-cuisine-bg: rgba(122, 117, 112, .08);--color-tag-cuisine-text: var(--text-secondary);--color-tag-cuisine-shadow: none;--color-tag-season-bg: rgba(90, 107, 77, .08);--color-tag-season-text: var(--accent-primary);--color-tag-season-shadow: none;--color-tag-dietary-bg: rgba(122, 117, 112, .08);--color-tag-dietary-text: var(--text-secondary);--color-tag-dietary-shadow: none;--color-tag-method-bg: rgba(122, 117, 112, .08);--color-tag-method-text: var(--text-secondary);--color-tag-method-shadow: none;--color-tag-difficulty-bg: rgba(122, 117, 112, .08);--color-tag-difficulty-text: var(--text-secondary);--color-tag-difficulty-shadow: none;--color-tag-occasion-bg: rgba(122, 117, 112, .08);--color-tag-occasion-text: var(--text-secondary);--color-tag-occasion-shadow: none;--color-tag-main-ingredient-bg: rgba(90, 107, 77, .08);--color-tag-main-ingredient-text: var(--accent-primary);--color-tag-main-ingredient-shadow: none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{height:100%;margin:0;padding:0;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--color-bg-secondary)}#root{display:flex;flex-direction:column;min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-light-mode);margin-bottom:var(--spacing-md);letter-spacing:var(--letter-spacing-tight)}h1{font-size:clamp(2.5rem,5vw + 1rem,var(--font-size-6xl));margin-bottom:var(--spacing-lg);letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw + 1rem,var(--font-size-5xl));margin-bottom:var(--spacing-lg)}h3{font-size:clamp(1.75rem,3vw + .5rem,var(--font-size-4xl))}h4{font-size:clamp(1.5rem,2.5vw + .5rem,var(--font-size-3xl))}h5{font-size:clamp(1.25rem,2vw + .25rem,var(--font-size-2xl));font-weight:var(--font-weight-semibold)}h6{font-size:clamp(1.125rem,1.5vw + .25rem,var(--font-size-xl));font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-base);color:var(--color-text-light-mode)}.prose p{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg)}.lead{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);color:var(--color-text-medium-light)}small,.text-small{font-size:var(--font-size-sm);line-height:var(--line-height-base)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base);cursor:pointer}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-sm);text-decoration:none}p a,.prose a{font-weight:var(--font-weight-semibold);text-decoration-thickness:2px;text-underline-offset:3px}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-xs);line-height:var(--line-height-base)}ul ul,ol ol,ul ol,ol ul{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.list-none{list-style:none;padding-left:0}strong,b{font-weight:var(--font-weight-bold);color:var(--color-text-light-mode)}em,i{font-style:italic}blockquote{margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--color-primary);background-color:var(--color-background-dark-secondary);border-radius:var(--border-radius-md);font-style:italic}blockquote p:last-child{margin-bottom:0}blockquote cite{display:block;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);font-style:normal;color:var(--color-text-medium-light)}code,kbd,samp{font-family:Monaco,Courier New,monospace;font-size:.9em;padding:.2em .4em;background-color:var(--color-background-dark-tertiary);border-radius:var(--border-radius-sm);color:var(--color-accent-info)}pre{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:var(--color-background-dark-tertiary);border-radius:var(--border-radius-md);overflow-x:auto;line-height:var(--line-height-base)}pre code{padding:0;background:none;font-size:var(--font-size-sm)}hr{margin:var(--spacing-xl) 0;border:none;border-top:1px solid var(--color-border-dark)}img{max-width:100%;height:auto;display:block}::selection{background-color:rgba(var(--color-primary-rgb),.3);color:var(--color-text-white)}::-moz-selection{background-color:rgba(var(--color-primary-rgb),.3);color:var(--color-text-white)}*:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.skip-link{position:absolute;top:-100px;left:0;background-color:var(--color-primary);color:var(--color-text-white);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;font-weight:var(--font-weight-semibold);z-index:10000;border-radius:0 0 var(--border-radius-md) 0}.skip-link:focus{top:0;outline:var(--focus-ring-width) solid var(--color-text-white);outline-offset:-3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--color-border-dark: #666666;--color-shadow-dark: rgba(0, 0, 0, .9)}a{text-decoration:underline}button,.btn{border:2px solid currentColor}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}img{page-break-inside:avoid}h1,h2,h3{page-break-after:avoid}p,h2,h3{orphans:3;widows:3}thead{display:table-header-group}tr,img{page-break-inside:avoid}}@media print{@page{margin:.5in;size:letter portrait}html{font-size:12pt!important}body{width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important}header,nav,footer,aside,.navbar,.sidebar,.back-to-recipes-button,.back-to-journal-button,.top-back-button{display:none!important}button,.btn,.print-icon-button,.share-icon-button,.favorite-icon-button,.single-recipe-action-buttons,.single-journal-action-buttons{display:none!important}.recipe-ratings-section,.single-journal-comments-section,.comments-section,.single-recipe-section:has(.comment-header),.single-recipe-tags-grid,.single-journal-tags-section{display:none!important}.search-input-wrapper,.search-controls,.filter-controls,.pagination-controls,.journal-controls,.active-filter-badge,.serving-multiplier-controls,.cookie-consent-banner,.modal,.popup,.tooltip{display:none!important}.single-recipe-container,.single-journal-container,.single-resource-container{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.single-recipe-main-content,.single-journal-main-content{display:block!important;width:100%!important;padding:0!important}.single-recipe-section{display:block!important;page-break-inside:avoid;margin-bottom:12pt}.single-recipe-title-section,.single-journal-title-section{margin-top:0!important;padding-top:0!important;margin-bottom:12pt!important}h1,.single-recipe-header,.single-journal-header{display:block!important;font-size:22pt!important;font-weight:700!important;color:#000!important;margin:0 0 12pt!important;padding:0 0 8pt!important;border-bottom:2pt solid black!important;page-break-after:avoid}h2,.single-recipe-section-header{display:block!important;font-size:16pt!important;font-weight:700!important;color:#000!important;margin:16pt 0 8pt!important;padding:0 0 4pt!important;border-bottom:1pt solid #666!important;page-break-after:avoid}h3,.instruction-section-title{display:block!important;font-size:13pt!important;font-weight:700!important;color:#000!important;margin:12pt 0 6pt!important;padding:0!important}p{display:block!important;font-size:11pt!important;line-height:1.6!important;color:#000!important;margin-bottom:8pt!important}.recipe-time-metadata-inline{display:block!important;margin-bottom:12pt!important;font-size:10pt!important;color:#333!important}.time-meta-item{display:inline-block!important;margin-right:10pt!important}.single-recipe-hero-media,.single-journal-hero-media{display:block!important;max-width:100%!important;max-height:250pt!important;margin:12pt 0!important;page-break-inside:avoid}.single-recipe-hero-image,img{display:block!important;max-width:100%!important;height:auto!important}.single-recipe-description{display:block!important;font-size:11pt!important;line-height:1.6!important;margin-bottom:12pt!important;color:#222!important}.ingredient-section-group{display:block!important;margin-bottom:12pt!important;page-break-inside:avoid}.single-recipe-ingredient-list{display:block!important;list-style:none!important;padding-left:0!important;margin-bottom:12pt!important}.single-recipe-ingredient-item{display:list-item!important;font-size:11pt!important;line-height:1.6!important;color:#000!important;margin-bottom:4pt!important}.single-recipe-ingredient-item:before{content:"☐ ";margin-right:8pt;font-weight:700;color:#333}.instruction-content{display:block!important;font-size:11pt!important;line-height:1.6!important}.instruction-content p{display:block!important;margin-bottom:8pt!important}.instruction-content ol,.instruction-content ul{display:block!important;padding-left:20pt!important;margin-bottom:8pt!important}.instruction-content li{display:list-item!important;margin-bottom:6pt!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid}.ingredient-section-group,.single-recipe-section{page-break-inside:avoid}a{color:#000!important;text-decoration:none!important}a[href^=http]:after,a[href^="#"]:after,a[href^="/"]:after{content:""!important}.single-recipe-container:after,.single-journal-container:after{content:"Kolt's Table"!important;display:block!important;margin-top:20pt!important;padding-top:10pt!important;border-top:1pt solid #ccc!important;font-size:9pt!important;color:#999!important;text-align:center!important;font-weight:400!important;letter-spacing:.5pt!important}*{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;transform:none!important}}.cookie-consent-banner{position:fixed;bottom:0;left:0;width:100%;z-index:2000;background:linear-gradient(180deg,#eae6e0fa,#f5f2edfa);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(90,107,77,.15);box-shadow:0 -4px 20px #1a181614;border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);display:flex;justify-content:center;align-items:center;padding:var(--space-xl) var(--space-lg)}.cookie-consent-content{max-width:900px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.cookie-consent-message{margin:0;font-size:.9375rem;font-weight:var(--weight-normal);color:var(--text-secondary);line-height:var(--leading-normal)}.cookie-consent-message a{color:var(--accent-primary);text-decoration:underline;font-weight:var(--weight-semibold);transition:color var(--transition-base)}.cookie-consent-message a:hover{color:var(--accent-primary-hover)}.cookie-consent-preferences{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.cookie-consent-preferences label{display:flex;align-items:center;gap:var(--space-xs);padding:.5rem .875rem;background-color:#fdfcfacc;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.875rem;font-weight:var(--weight-medium);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-base)}.cookie-consent-preferences label:hover{background-color:#fff;border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.cookie-consent-preferences input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.cookie-consent-preferences input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.cookie-consent-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm)}.cookie-consent-actions button{padding:.625rem 1.5rem;min-height:44px;font-size:.875rem;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid transparent}.btn-decline{background-color:transparent;color:var(--color-error);border-color:var(--color-error)}.btn-decline:hover{background-color:var(--color-error);color:#fff;transform:translateY(-2px);box-shadow:0 0 8px #b4746633}.btn-save-preferences{background-color:#fdfcfacc;color:var(--text-primary);border-color:var(--border-medium)}.btn-save-preferences:hover{background-color:#fff;border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn-accept-all{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.btn-accept-all:hover{background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.cookie-consent-banner{padding:var(--space-lg) var(--space-md)}.cookie-consent-content{gap:var(--space-sm)}.cookie-consent-message{font-size:.875rem}.cookie-consent-preferences{flex-direction:column;align-items:stretch;width:100%;max-width:320px}.cookie-consent-actions{flex-direction:column;width:100%;max-width:320px}.cookie-consent-actions button{width:100%}}@media (max-width: 480px){.cookie-consent-banner{padding:var(--space-md) var(--space-sm)}.cookie-consent-message{font-size:.8125rem}.cookie-consent-preferences label{font-size:.8125rem;padding:.375rem .75rem}.cookie-consent-actions button{font-size:.8125rem;padding:.5rem 1.25rem;min-height:40px}}@media (prefers-reduced-motion: reduce){.cookie-consent-actions button,.cookie-consent-preferences label{transition:none}.cookie-consent-actions button:hover,.btn-decline:hover,.btn-save-preferences:hover,.btn-accept-all:hover{transform:none}}.error-boundary-fallback{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.error-boundary-content{max-width:600px;background:#fff;padding:3rem;border-radius:12px;box-shadow:0 8px 24px #0000001a;text-align:center}.error-boundary-title{font-size:2rem;color:#2c3e50;margin-bottom:1rem}.error-boundary-message{font-size:1.1rem;color:#7f8c8d;margin-bottom:2rem;line-height:1.6}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.error-boundary-details{margin-top:2rem;text-align:left;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.error-boundary-details summary{cursor:pointer;font-weight:600;color:#e74c3c;margin-bottom:1rem}.error-boundary-stack{font-family:Monaco,Courier New,monospace;font-size:.85rem;background:#2c3e50;color:#ecf0f1;padding:1rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap}
