:root{--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--bg-app: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f9fafb;--bg-navbar: #ffffff;--accent-primary: #000000;--accent-primary-glow: rgba(0, 0, 0, .1);--accent-secondary: #c5a85a;--accent-secondary-glow: rgba(197, 168, 90, .3);--accent-success: #c5a85a;--accent-success-glow: rgba(197, 168, 90, .25);--accent-warning: #c5a85a;--accent-danger: #ef4444;--text-main: #000000;--text-secondary: #374151;--text-muted: #8c8c8c;--border-glass: #e5e7eb;--border-focus: #c5a85a;--blur-glass: none;--shadow-premium: 0 4px 20px rgba(0, 0, 0, .04);--shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .6);--radius-lg: 12px;--radius-md: 8px;--radius-sm: 4px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease}body.light-theme{--bg-app: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f9fafb;--bg-navbar: #ffffff;--text-main: #000000;--text-secondary: #374151;--text-muted: #8c8c8c;--border-glass: #e5e7eb;--border-focus: #c5a85a;--accent-primary: #000000;--accent-secondary: #c5a85a;--accent-success: #c5a85a;--accent-warning: #c5a85a;--accent-primary-glow: rgba(0, 0, 0, .1);--accent-secondary-glow: rgba(197, 168, 90, .3);--accent-success-glow: rgba(197, 168, 90, .25)}body.light-theme{background-image:radial-gradient(at 0% 0%,rgba(197,168,90,.03) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(197,168,90,.01) 0px,transparent 50%)}body.light-theme .form-control{background:#00000005;color:var(--text-main)!important;border-color:#0000001f}body.light-theme .btn-secondary{background:#00000008;border-color:#00000014;color:var(--text-main)}body.light-theme .btn-secondary:hover{background:#0000000f}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app);border-left:1px solid var(--border-glass)}::-webkit-scrollbar-thumb{background:var(--accent-secondary);border-radius:8px;border:2px solid var(--bg-app)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);line-height:1.6;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(at 0% 0%,rgba(197,168,90,.03) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(197,168,90,.01) 0px,transparent 50%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;color:var(--text-main)}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}.glass-panel{background:var(--bg-card);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-glass);box-shadow:var(--shadow-premium),var(--shadow-inset);border-radius:var(--radius-lg);transition:var(--transition-smooth)}.glass-panel:hover{border-color:var(--accent-secondary);box-shadow:0 8px 30px #0000000d,0 0 15px #c5a85a33}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.flex-center{display:flex;align-items:center;justify-content:center}.grid-cols-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-family:var(--font-heading);font-weight:600;font-size:.95rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-smooth);gap:8px}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 20px var(--accent-primary-glow)}.btn-primary:hover{transform:translateY(-2px);background:var(--accent-secondary);box-shadow:0 8px 30px var(--accent-primary-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff0d;border:1px solid var(--border-glass);color:var(--text-main)}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.btn-success{background:var(--accent-success);color:#fff;box-shadow:0 4px 20px var(--accent-success-glow)}.btn-success:hover{transform:translateY(-2px);background:var(--accent-secondary);box-shadow:0 8px 30px var(--accent-success-glow)}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover{transform:translateY(-2px);background:var(--accent-secondary)}.btn-icon{width:42px;height:42px;padding:0;border-radius:50%}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-control{width:100%;padding:14px 16px;background:#fff;border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-body);font-size:1rem;transition:var(--transition-smooth)}.form-control:focus{outline:none!important;border-color:var(--accent-secondary)!important;background-color:#fff!important;color:var(--text-main)!important;box-shadow:0 0 0 3px #c5a85a40!important}.form-control:disabled{background-color:#f3f4f6!important;color:var(--text-muted)!important;opacity:.6;cursor:not-allowed;border-color:var(--border-glass)!important;-webkit-text-fill-color:var(--text-muted)!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-app) inset!important;transition:background-color 5000s ease-in-out 0s}select.form-control option{background-color:#fff!important;color:#000!important}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.badge-indigo{background:#c5a85a26;color:var(--accent-primary);border:1px solid rgba(197,168,90,.3)}.badge-cyan{background:#c5a85a1f;color:var(--accent-secondary);border:1px solid rgba(197,168,90,.25)}.badge-emerald,.badge-amber,.badge-danger{background:#c5a85a26;color:var(--accent-secondary);border:1px solid rgba(197,168,90,.25)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal-content{width:90%;max-width:500px;padding:32px;position:relative;animation:scaleUp .3s cubic-bezier(.34,1.56,.64,1)}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:var(--transition-fast)}.modal-close:hover{color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.switch-container{display:flex;align-items:center;gap:12px;cursor:pointer}.switch{position:relative;display:inline-block;width:48px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.4s;border-radius:24px;border:1px solid var(--border-glass)}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent-success)}input:checked+.slider:before{transform:translate(24px)}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.grid-cols-3{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}}.template-section{padding:30px;margin-top:30px;border-radius:var(--radius-lg);border-left:5px solid var(--accent-primary)}.theme-banner{display:inline-block;padding:4px 12px;font-size:.8rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.pharmacy-theme{border-left-color:var(--accent-success)}.pharmacy-theme .theme-banner{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.2)}.file-name{display:block;font-size:.8rem;color:var(--accent-success);margin-top:6px}.emergency-callout{margin-top:24px;padding:18px;background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-md)}.emergency-callout h4{color:#fca5a5;margin-bottom:6px;font-size:1rem}.emergency-callout p{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px}.law-theme{border-left-color:var(--accent-primary)}.law-theme .theme-banner{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.2)}.template-intro{font-size:.9rem;color:var(--text-secondary);margin-bottom:20px}.template-form{margin-top:15px}.tax-theme{border-left-color:var(--accent-secondary)}.tax-theme .theme-banner{background:#06b6d426;color:#67e8f9;border:1px solid rgba(6,182,212,.2)}.tax-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.step-card{background:#ffffff05;border:1px solid var(--border-glass);padding:16px;border-radius:var(--radius-md);text-align:center;position:relative}.step-num{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:24px;height:24px;background:var(--accent-secondary);color:#000;border-radius:50%;font-weight:800;font-size:.75rem;display:flex;align-items:center;justify-content:center}.step-card h5{font-size:.95rem;margin-top:8px;margin-bottom:6px}.step-card p{font-size:.75rem;color:var(--text-secondary);line-height:1.3}@media (max-width: 580px){.tax-steps{grid-template-columns:1fr;gap:20px}}.liquor-theme{border-left-color:var(--accent-danger)}.liquor-theme .theme-banner{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.age-gate{text-align:center;padding:40px 20px}.liquor-icon{font-size:3rem;display:block;margin-bottom:12px}.liquor-features{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.liquor-features span{font-size:.8rem;font-weight:600;background:#ffffff0d;padding:6px 12px;border-radius:20px;border:1px solid var(--border-glass)}.policy-note{font-size:.8rem;color:var(--accent-warning)}.boutique-theme{border-left-color:var(--accent-warning)}.boutique-theme .theme-banner{background:#f59e0b26;color:#fde047;border:1px solid rgba(245,158,11,.2)}.boutique-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.boutique-item-mock{background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:16px;text-align:center;transition:var(--transition-smooth)}.boutique-item-mock:hover{transform:translateY(-4px);background:#ffffff0d}.boutique-pic{font-size:2.2rem;margin-bottom:8px}.item-title{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.item-price{font-size:.95rem;font-weight:800;color:var(--accent-warning)}@media (max-width: 580px){.boutique-showcase{grid-template-columns:1fr}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.info-item{display:flex;flex-direction:column;background:#ffffff05;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.info-item strong{font-size:.8rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.info-item span{font-size:1rem;font-weight:600;color:var(--text-main)}.template-cta{margin-top:10px}.reusable-filter-btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;background-color:#f1eceb;padding:8px 16px;font-size:.875rem;font-weight:500;color:#111827;border:1px solid #dee2e6;transition:all .2s;cursor:pointer}.reusable-filter-btn:hover{background-color:#e6dfdd}.reusable-filter-btn:focus{outline:none;box-shadow:0 0 0 2px #2f6f3a}body:not(.light-theme) .reusable-filter-btn{background-color:#ffffff14;color:#fff;border-color:var(--border-glass)}body:not(.light-theme) .reusable-filter-btn:hover{background-color:#ffffff26}.reusable-theme-toggle-btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;border:1px solid #d1d5db;background-color:#fff;padding:8px 12px;font-size:.875rem;font-weight:500;color:#1f2937;box-shadow:0 1px 2px #0000000d;transition:all .2s;cursor:pointer}.reusable-theme-toggle-btn:hover{background-color:#f3f4f6}.reusable-theme-toggle-btn:focus{outline:none;box-shadow:0 0 0 2px #16a34a}body:not(.light-theme) .reusable-theme-toggle-btn{border-color:#374151;background-color:#0a1128;color:#fff}body:not(.light-theme) .reusable-theme-toggle-btn:hover{background-color:#152447}.dual-slider-container{position:relative;width:100%;height:24px;display:flex;align-items:center}.dual-slider-track{position:absolute;width:100%;height:6px;background-color:var(--border-glass, rgba(255, 255, 255, .1));border-radius:3px;z-index:1}.dual-slider-range{position:absolute;height:6px;background-color:var(--accent-success, #10b981);border-radius:3px;z-index:2}.dual-slider-input{position:absolute;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;z-index:3}.dual-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background-color:var(--accent-success, #10b981);cursor:pointer;pointer-events:auto;border:3px solid var(--bg-app, #090d16);box-shadow:0 0 5px #00000080}@media (max-width: 991.98px){body{padding-bottom:75px!important}.container,.directory-page-content,.hero-section,.category-browse-grid,.featured-section{padding-left:16px!important;padding-right:16px!important}}.scroll-reveal-init{opacity:0;transform:translateY(35px) scale(.98);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.horizontal-scroll-row .scroll-reveal-init:nth-child(1){transition-delay:.05s}.horizontal-scroll-row .scroll-reveal-init:nth-child(2){transition-delay:.12s}.horizontal-scroll-row .scroll-reveal-init:nth-child(3){transition-delay:.19s}.horizontal-scroll-row .scroll-reveal-init:nth-child(4){transition-delay:.26s}.steps-row .scroll-reveal-init:nth-child(1){transition-delay:.05s}.steps-row .scroll-reveal-init:nth-child(2){transition-delay:.15s}.steps-row .scroll-reveal-init:nth-child(3){transition-delay:.25s}.scroll-animated{opacity:1!important;transform:translateY(0) scale(1)!important}nav.navbar,.navbar,.mobile-bottom-tabbar,.mobile-bottom-tabbar *{transform:none!important;opacity:1!important;will-change:auto!important}
