body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box}:root{--primary-color:#6d2c40;--primary-hover:#5a2435;--accent-color:#e8b4b8;--accent-light:#f7e7e9;--text-color:#333;--text-light:#666;--text-lighter:#888;--text-deep:#2c3e50;--background-main:#faf8f5;--background-light:#fff;--background-cream:#f5f0eb;--background-subtle:#fcf9f6;--border-color:#ddd;--border-light:#e9ecef;--shadow-light:0 2px 4px #0000001a;--shadow-medium:0 2px 8px #00000014;--border-radius:8px;--border-radius-small:4px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:24px}.App{background:linear-gradient(135deg,#faf8f5,#fcf9f6 50%,#f7e7e9);background:linear-gradient(135deg,var(--background-main) 0,var(--background-subtle) 50%,var(--accent-light) 100%);font-family:Source Sans Pro,sans-serif;min-height:100vh;padding:20px;padding:var(--spacing-lg);text-align:center}h1{color:#333;color:var(--text-color);margin-bottom:20px;margin-bottom:var(--spacing-lg)}.step-container{align-items:center;background-color:#f7e7e9;background-color:var(--accent-light);border:1px solid #e8b4b866;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px #6d2c4026;display:flex;flex-direction:column;margin:20px auto;margin:var(--spacing-lg) auto;max-width:800px;min-width:320px;padding:20px;padding:var(--spacing-lg);text-align:left;width:80%}.step-container h2{color:#333;color:var(--text-color);font-size:1.5em;margin:10px 0 15px;margin:var(--spacing-sm) 0 var(--spacing-md);width:100%}input[type=text]:not(.restaurant-dropdown-input),textarea{border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--border-radius-small);font-size:16px;line-height:1.4;padding:10px;padding:var(--spacing-sm);width:100%}textarea{box-sizing:border-box;font-family:inherit;min-height:100px;resize:vertical}.restaurant-dropdown-container{align-items:flex-start;display:flex;margin-bottom:15px;margin-bottom:var(--spacing-md);width:100%}.restaurant-dropdown-input{border:1px solid #ddd;border:1px solid var(--border-color);border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;flex:1 1;font-size:16px;line-height:1.4}.restaurant-dropdown-arrow,.restaurant-dropdown-input{box-sizing:border-box;height:44px;margin:0;padding:10px;padding:var(--spacing-sm);vertical-align:top}.restaurant-dropdown-arrow{align-items:center;background:#fcf9f6;background:var(--background-subtle);border:1px solid #ddd;border:1px solid var(--border-color);border-bottom-left-radius:0;border-bottom-right-radius:4px;border-bottom-right-radius:var(--border-radius-small);border-left:0;border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--border-radius-small);color:#666;color:var(--text-light);cursor:pointer;display:flex;justify-content:center;min-width:40px}.restaurant-dropdown-arrow:hover{background-color:#fff;background-color:var(--background-light)}.full-width-textarea{margin-top:10px;margin-top:var(--spacing-sm);width:100%}.relative-container{position:relative;width:100%;z-index:1}button{background-color:#6d2c40;background-color:var(--primary-color);border:none;border-radius:4px;border-radius:var(--border-radius-small);color:#fff;cursor:pointer;font-size:16px;margin-top:20px;margin-top:var(--spacing-lg);padding:10px 20px;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color .3s ease}button:hover{background-color:#5a2435;background-color:var(--primary-hover)}.secondary-button{background-color:#fff;background-color:var(--background-light);border:1px solid #6d2c40;border:1px solid var(--primary-color);color:#6d2c40;color:var(--primary-color)}.secondary-button.active,.secondary-button:hover{background-color:#f7e7e9;background-color:var(--accent-light);color:#5a2435;color:var(--primary-hover)}.navigation-buttons{display:flex;gap:25px;justify-content:center;margin-top:20px;margin-top:var(--spacing-lg);width:100%}.navigation-buttons button{margin-top:0}.preference-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;margin-bottom:var(--spacing-lg);width:100%}.preference-buttons button{margin-top:0}.pref-button{background-color:#fff;background-color:var(--background-light);border:2px solid #e9ecef;border:2px solid var(--border-light);border-radius:20px;color:#495057;cursor:pointer;flex:0 1 auto;font-size:14px;margin-top:0;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.pref-button:hover{background-color:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.pref-button.selected{background-color:#6d2c40;background-color:var(--primary-color);border-color:#5a2435;border-color:var(--primary-hover);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);color:#fff;font-weight:500}.pref-button.selected:hover{background-color:#5a2435;background-color:var(--primary-hover);border-color:#3d8b3d}.restaurant-menu-section{background:#fff;background:var(--background-light);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);margin-top:24px;margin-top:var(--spacing-xl);padding:20px;padding:var(--spacing-lg);width:100%}.restaurant-menu-section h3{color:#2c3e50;color:var(--text-deep);margin-bottom:15px;margin-bottom:var(--spacing-md);margin-top:0}.restaurant-menu{display:block;width:100%}.menu-page-header{width:100%}.menu-page-actions,.menu-page-header{margin-bottom:20px;margin-bottom:var(--spacing-lg)}.menu-page-actions{gap:25px}.menu-page-container{align-items:stretch}.menu-page-error{align-items:flex-start;display:flex;flex-direction:column;gap:10px;gap:var(--spacing-sm);margin-bottom:20px;margin-bottom:var(--spacing-lg)}.menu-category{background:#fff;background:var(--background-light);border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);box-sizing:border-box;overflow:hidden;width:100%}.menu-category+.menu-category{margin-top:20px;margin-top:var(--spacing-lg)}.menu-category-toggle{align-items:center;background:#0000;border:none;border-radius:0;color:#333;color:var(--text-color);cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;justify-content:space-between;margin:0;padding:24px;padding:var(--spacing-xl);position:relative;transition:background-color .2s ease;width:100%}.menu-category-toggle:hover{background:#ffffff59}.menu-category-toggle:after{color:#6d2c40;color:var(--primary-color);content:"\25BC";font-size:.9rem;margin-left:10px;margin-left:var(--spacing-sm);transition:transform .2s ease}.menu-category-toggle.open:after{transform:rotate(180deg)}.menu-category-name{flex:1 1}.menu-category-meta{color:#666;color:var(--text-light);font-size:.9rem;margin-right:10px;margin-right:var(--spacing-sm)}.menu-wine-list{display:flex;flex-direction:column;gap:10px;gap:var(--spacing-sm);padding:0 24px 24px;padding:0 var(--spacing-xl) var(--spacing-xl)}.menu-wine-card{background:#fff;background:var(--background-light);border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);padding:20px;padding:var(--spacing-lg)}.menu-wine-header{align-items:flex-start;display:flex;gap:15px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:10px;margin-bottom:var(--spacing-sm)}.menu-wine-title{display:flex;flex-direction:column;gap:2px}.menu-wine-name{color:#333;color:var(--text-color);font-weight:600}.menu-wine-details,.menu-wine-vintage{color:#666;color:var(--text-light);font-size:.9rem}.menu-wine-details{display:flex;flex-wrap:wrap;gap:10px;gap:var(--spacing-sm)}.menu-wine-prices{color:#6d2c40;color:var(--primary-color);font-weight:600;margin-left:auto;text-align:right}.price-display{margin-bottom:20px;margin-bottom:var(--spacing-lg);text-align:center}.price-range-display{background-color:#f9f9f9;border:2px solid #ddd;border:2px solid var(--border-color);border-radius:4px;border-radius:var(--border-radius-small);color:#6d2c40;color:var(--primary-color);display:inline-block;font-size:20px;min-width:160px;padding:15px 20px;padding:var(--spacing-md) var(--spacing-lg)}.slider-group{margin-bottom:20px;margin-bottom:var(--spacing-lg)}.dual-range-container{width:100%}.dual-range-slider{height:8px;margin:20px 0;margin:var(--spacing-lg) 0;position:relative}.slider-track{background:#ddd;background:var(--border-color);width:100%}.slider-range,.slider-track{border-radius:4px;height:8px;position:absolute;top:0}.slider-range{background:#e8b4b8;background:var(--accent-color)}.price-slider{-webkit-appearance:none;appearance:none;background:#0000;border-radius:4px;cursor:pointer;height:8px;outline:none;pointer-events:none;position:absolute;top:0;width:100%}.price-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6d2c40;background:var(--primary-color);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);cursor:pointer;height:24px;pointer-events:all;position:relative;-webkit-transition:all .3s ease;transition:all .3s ease;width:24px;z-index:2}.price-slider::-webkit-slider-thumb:hover{background:#5a2435;background:var(--primary-hover);box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.price-slider::-moz-range-thumb{background:#6d2c40;background:var(--primary-color);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);cursor:pointer;height:24px;pointer-events:all;position:relative;-moz-transition:all .3s ease;transition:all .3s ease;width:24px;z-index:2}.price-slider-min::-webkit-slider-thumb{background:#6d2c40;background:var(--primary-color)}.price-slider-max::-webkit-slider-thumb{background:#5a2435;background:var(--primary-hover)}.price-slider-min::-moz-range-thumb{background:#6d2c40;background:var(--primary-color)}.price-slider-max::-moz-range-thumb{background:#5a2435;background:var(--primary-hover)}.slider-labels{color:#6c757d;font-size:14px}.slider-labels,.slider-values{display:flex;justify-content:space-between;margin-top:10px;margin-top:var(--spacing-sm)}.slider-values{color:#333;color:var(--text-color);font-weight:500}.min-value{color:#6d2c40;color:var(--primary-color)}.max-value{color:#5a2435;color:var(--primary-hover)}.quick-presets{margin-top:20px;margin-top:var(--spacing-lg);text-align:center}.preset-label{color:#333;color:var(--text-color);display:block;font-size:16px;font-weight:500;margin-bottom:15px;margin-bottom:var(--spacing-md)}.restaurant-overview-section{margin-bottom:24px;margin-bottom:var(--spacing-xl);width:100%}.restaurant-overview-section h2{color:#333;color:var(--text-color);font-size:1.5em;margin-bottom:15px;margin-bottom:var(--spacing-md);margin-top:0}.recommended-wines-section{margin-bottom:24px;margin-bottom:var(--spacing-xl);width:100%}.recommended-wines-section h2{color:#333;color:var(--text-color);font-size:1.5em;margin-bottom:15px;margin-bottom:var(--spacing-md);margin-top:0}.wine-details-section{border-top:2px solid #e9ecef;border-top:2px solid var(--border-light);margin-top:24px;margin-top:var(--spacing-xl);padding-top:20px;padding-top:var(--spacing-lg);width:100%}.wine-details-section h2{color:#333;color:var(--text-color);font-size:1.5em;margin-bottom:15px;margin-bottom:var(--spacing-md);margin-top:0}.restaurant-wine-info-container{align-items:flex-start;display:flex;gap:24px;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-xl);width:100%}.restaurant-info-section,.wine-info-section{flex:1 1;max-width:48%;min-width:0}.restaurant-info-section h2,.wine-info-section h2{color:#333;color:var(--text-color);font-size:1.5em;margin-bottom:15px;margin-bottom:var(--spacing-md);margin-top:0}.restaurant-summary,.wine-info-message{background-color:#fff;background-color:var(--background-light);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);padding:20px;padding:var(--spacing-lg);width:100%}.restaurant-summary,.restaurant-summary h3,.wine-info-message,.wine-info-message h3{color:#2c3e50;color:var(--text-deep);margin-bottom:15px;margin-bottom:var(--spacing-md)}.restaurant-summary h3,.wine-info-message h3{font-size:1.3em}.restaurant-summary p{color:#495057;line-height:1.6;margin-bottom:20px;margin-bottom:var(--spacing-lg);text-align:left}.wine-info-message{text-align:left}.click-instruction,.wine-info-message{color:#495057;line-height:1.6;margin-bottom:20px;margin-bottom:var(--spacing-lg);margin-left:auto;margin-right:auto;max-width:800px;width:100%}.click-instruction,.wine-info-message.loading{font-style:italic;text-align:center}.wine-info-message.loading{color:#666;color:var(--text-light)}.wine-info-subsection{margin-bottom:20px;margin-bottom:var(--spacing-lg)}.wine-info-subsection h4{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);color:#6d2c40;color:var(--primary-color);font-size:1.1em;font-weight:600;margin-bottom:10px;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs)}.wine-info-subsection p{color:#2c3e50;color:var(--text-deep);line-height:1.6;margin-bottom:15px;margin-bottom:var(--spacing-md)}.suggested-questions{list-style:none;margin:0;padding:0}.suggested-questions li{background-color:#fff;background-color:var(--background-light);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:4px;border-radius:var(--border-radius-small);color:#2c3e50;color:var(--text-deep);font-style:italic;margin-bottom:10px;margin-bottom:var(--spacing-sm);padding:10px 15px;padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(15px + 1.2em);padding-left:calc(var(--spacing-md) + 1.2em);position:relative}.suggested-questions li:before{color:#6d2c40;color:var(--primary-color);content:"?";font-style:normal;font-weight:700;left:15px;left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%)}.message-text{color:#555;text-align:left;width:100%}.error-text,.message-text{margin:15px 0;margin:var(--spacing-md) 0}.error-text{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;border-radius:var(--border-radius-small);color:#dc3545;padding:10px;padding:var(--spacing-sm)}.new-restaurant-message{color:#8b0000;font-style:normal;font-weight:700}.suggestions-list{background-color:#fcf9f6;background-color:var(--background-subtle);border:1px solid #ddd;border:1px solid var(--border-color);border-radius:0 0 4px 4px;border-radius:0 0 var(--border-radius-small) var(--border-radius-small);border-top:none;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);left:0;list-style:none;margin:-1px 0 0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;text-align:left;top:100%;width:100%;z-index:9999}.suggestions-list.upward{border-bottom:none;border-radius:4px 4px 0 0;border-radius:var(--border-radius-small) var(--border-radius-small) 0 0;border-top:1px solid #ddd;border-top:1px solid var(--border-color);bottom:100%;margin-bottom:-1px;margin-top:0;top:auto}.suggestion-item{border-bottom:1px solid #eee;color:#333;color:var(--text-color);cursor:pointer;padding:10px;padding:var(--spacing-sm);word-break:break-word}.suggestion-item:last-child{border-bottom:none}.suggestion-item.selected,.suggestion-item:hover{background-color:#f0f0f0;font-weight:700}.recommendations-container{align-items:center;display:flex;flex-direction:column;margin-top:20px;margin-top:var(--spacing-lg);width:100%}.recommendations-table{background-color:#fff;border-collapse:collapse;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);margin:20px 0;margin:var(--spacing-lg) 0;max-width:1200px;overflow:hidden;table-layout:fixed;width:100%}.recommendations-table thead{border-bottom:2px solid #6d2c40;border-bottom:2px solid var(--primary-color)}.recommendations-table th{word-wrap:break-word;background-color:#f7e7e9;background-color:var(--accent-light);color:#2c3e50;color:var(--text-deep);font-size:.9em;font-weight:600;letter-spacing:.5px;line-height:1.3;overflow-wrap:break-word;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:normal}.recommendations-table td{word-wrap:break-word;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);overflow-wrap:break-word;padding:16px;vertical-align:top;word-break:break-word}.recommendations-table td:first-child,.recommendations-table th:first-child{width:30%}.recommendations-table td:nth-child(2),.recommendations-table th:nth-child(2){width:45%}.recommendations-table td:nth-child(3),.recommendations-table td:nth-child(4),.recommendations-table th:nth-child(3),.recommendations-table th:nth-child(4){text-align:center;white-space:nowrap;width:12.5%}.wine-details{border-right:1px solid #e9ecef;border-right:1px solid var(--border-light);padding-right:24px;padding-right:var(--spacing-xl)}.wine-details,.wine-name{overflow-wrap:break-word;word-break:break-word}.wine-name{color:#2c3e50;color:var(--text-deep);font-size:1.05em;font-weight:600;margin-bottom:8px}.wine-origin{color:#666;color:var(--text-light);font-size:.9em;font-style:italic;margin-bottom:6px}.wine-grapes,.wine-origin{overflow-wrap:break-word;word-break:break-word}.wine-grapes{color:#888;color:var(--text-lighter);font-size:.85em}.recommendations-table tbody tr.clickable{cursor:pointer;transition:all .3s ease}.recommendations-table tbody tr.clickable:hover{background-color:#f7e7e9;background-color:var(--accent-light);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);transform:translateY(-1px)}.wine-styles-intro{margin-bottom:24px;margin-bottom:var(--spacing-xl);text-align:center}.wine-styles-intro .message-text{color:#2c3e50;font-size:1.1em;font-weight:500;margin-bottom:0}.wine-styles-grid{grid-gap:24px;grid-gap:var(--spacing-xl);display:grid;gap:24px;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:24px 0;margin:var(--spacing-xl) 0}.wine-style-card{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);padding:24px;padding:var(--spacing-xl);transition:all .3s ease}.wine-style-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.wine-style-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;margin-bottom:var(--spacing-lg)}.wine-style-rank{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9em;font-weight:700;height:32px;justify-content:center;width:32px}.wine-style-name{color:#2c3e50;color:var(--text-deep);flex:1 1;font-size:1.4em;font-weight:600;min-width:200px}.wine-type-badge{background:#e74c3c;font-size:.85em;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.wine-price-badge,.wine-type-badge{border-radius:20px;color:#fff;font-weight:500}.wine-price-badge{background:#6d2c40;background:var(--primary-color);flex-shrink:0;font-size:.9em;margin-left:auto;padding:6px 12px}.wine-style-details{margin-bottom:20px;margin-bottom:var(--spacing-lg)}.wine-detail-row{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px}.detail-label{color:#7f8c8d;font-size:.9em;font-weight:600;min-width:80px}.detail-value{color:#2c3e50;flex:1 1;font-size:.95em}.wine-pairing-reason{background:#fff;background:var(--background-light);border-radius:8px;border-radius:var(--border-radius);margin-bottom:16px;padding:16px}.wine-pairing-reason h4{color:#2c3e50;font-size:1em;font-weight:600;margin:0 0 8px}.wine-pairing-reason p{color:#34495e;font-size:.95em;line-height:1.5;margin:0}.wine-price-guidance{align-items:center;background:#e8f5e8;border-left:4px solid #27ae60;border-radius:8px;border-radius:var(--border-radius);display:flex;gap:8px;padding:12px 16px}.price-label{color:#27ae60;font-size:.9em;font-weight:600}.price-value{color:#2c3e50;flex:1 1;font-size:.95em}.wine-carousel-container{margin:24px 0;margin:var(--spacing-xl) 0}.wine-carousel-header{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:10px;margin-bottom:var(--spacing-sm);margin-left:auto;margin-right:auto;margin-top:10px;margin-top:var(--spacing-sm);padding:0;width:100%}.carousel-dots{display:contents}.carousel-dot{background-color:#e9ecef;background-color:var(--border-light);border:2px solid #e9ecef;border:2px solid var(--border-light);border-radius:8px;box-shadow:0 2px 4px #6d2c4033;cursor:pointer;flex:1 1;height:16px;max-width:75px;transition:all .3s ease}.carousel-dot.active{background-color:#6d2c40;background-color:var(--primary-color);border-color:#6d2c40;border-color:var(--primary-color);transform:scale(1.05)}.carousel-dot:hover{background-color:#e8b4b8;background-color:var(--accent-color);border-color:#5a2435;border-color:var(--primary-hover);transform:scale(1.05)}.wine-card-wrapper{position:relative}.carousel-nav-floating,.wine-card-wrapper{align-items:center;display:flex;justify-content:center}.carousel-nav-floating{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#6d2c40b3;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:1.2em;height:50px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.carousel-nav-floating.prev{left:-25px}.carousel-nav-floating.next{right:-25px}.carousel-nav-floating:hover:not(:disabled){background:#6d2c40e6;box-shadow:0 6px 16px #0003;transform:translateY(-50%) scale(1.1)}.carousel-nav-floating:disabled{background:#9ca3af80;cursor:not-allowed;opacity:.4;transform:translateY(-50%)}.carousel-nav{align-items:center;background:#6d2c40;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1em;height:20px;justify-content:center;max-width:20px;transition:all .3s ease}.carousel-nav:hover:not(:disabled){background:#5a2435;background:var(--primary-hover);transform:scale(1.05)}.carousel-nav:disabled{background:#888;background:var(--text-lighter);cursor:not-allowed;transform:none}.carousel-card{cursor:pointer;max-width:800px;position:relative;transition:transform .3s ease;width:100%}.carousel-card:hover{transform:translateY(-4px)}.wine-card-actions{border-top:1px solid #e9ecef;border-top:1px solid var(--border-light);margin-top:15px;margin-top:var(--spacing-md);padding-top:15px;padding-top:var(--spacing-md);text-align:center}.tell-me-more-btn{background:#6d2c40;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.9em;font-weight:500;min-width:120px;padding:10px 20px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.tell-me-more-btn:hover:not(:disabled){background:#5a2435;background:var(--primary-hover);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.tell-me-more-btn:disabled{background:#888;background:var(--text-lighter);box-shadow:none;cursor:not-allowed;transform:none}.wine-purchase-decision{border-top:1px solid #e9ecef;border-top:1px solid var(--border-light);margin-top:20px;margin-top:var(--spacing-lg);padding-top:20px;padding-top:var(--spacing-lg);text-align:center}.wine-purchase-decision h4{color:#2c3e50;color:var(--text-deep);font-size:1.1em;margin-bottom:15px;margin-bottom:var(--spacing-md)}.purchase-buttons{display:flex;gap:15px;gap:var(--spacing-md);justify-content:center}.purchase-btn{background:#fff;border:2px solid #e9ecef;border:2px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius);color:#2c3e50;color:var(--text-deep);cursor:pointer;font-size:1em;font-weight:500;min-width:100px;padding:10px 20px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.purchase-btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.purchase-btn.yes{border-color:#10b981;color:#10b981}.purchase-btn.yes.selected,.purchase-btn.yes:hover{background:#10b981;color:#fff}.purchase-btn.yes.selected{border-color:#10b981}.purchase-btn.no{border-color:#ef4444;color:#ef4444}.purchase-btn.no.selected,.purchase-btn.no:hover{background:#ef4444;color:#fff}.purchase-btn.no.selected{border-color:#ef4444}.purchase-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.submitted-message{color:#10b981;font-size:.9em;font-weight:500;margin-top:10px;margin-top:var(--spacing-sm)}.thank-you-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.thank-you-message{animation:slideIn .3s ease-in-out;background:#fff;border:3px solid #6d2c40;border:3px solid var(--primary-color);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 10px 25px #0000004d;margin:0 15px;margin:0 var(--spacing-md);max-width:400px;padding:24px;padding:var(--spacing-xl);text-align:center}.thank-you-message h3{color:#6d2c40;color:var(--primary-color);font-size:1.3em;margin-bottom:15px;margin-bottom:var(--spacing-md)}.thank-you-message p{color:#2c3e50;color:var(--text-deep);margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.step-container{padding:10px;padding:var(--spacing-sm);width:98%}.restaurant-wine-info-container{flex-direction:column;gap:20px;gap:var(--spacing-lg);margin-bottom:20px;margin-bottom:var(--spacing-lg)}.restaurant-info-section,.wine-info-section{max-width:100%}.recommendations-table{border-radius:4px;border-radius:var(--border-radius-small);display:block;overflow-x:auto;white-space:nowrap}.recommendations-table td:first-child,.recommendations-table td:nth-child(2),.recommendations-table th:first-child,.recommendations-table th:nth-child(2){width:auto}.wine-styles-grid{gap:15px;gap:var(--spacing-md);grid-template-columns:1fr}.wine-style-card{padding:15px;padding:var(--spacing-md)}.wine-card-wrapper{gap:15px;gap:var(--spacing-md);min-height:auto;padding:0 15px}.carousel-nav-floating{font-size:1em;height:40px;width:40px}.carousel-nav-floating.prev{left:-10px}.carousel-nav-floating.next{right:-10px}.carousel-card{max-width:100%;min-height:auto;width:100%}.wine-style-header{gap:8px}.wine-style-details,.wine-style-header{margin-bottom:15px;margin-bottom:var(--spacing-md)}.wine-detail-row{margin-bottom:6px}.detail-label{font-size:.85em;min-width:70px}.detail-value{font-size:.9em}.wine-pairing-reason{margin-bottom:12px;padding:12px}.wine-pairing-reason h4{font-size:.95em;margin-bottom:6px}.wine-price-guidance{margin-bottom:12px;padding:12px}.wine-carousel-container{margin:15px 0;margin:var(--spacing-md) 0}.purchase-buttons{align-items:center;flex-direction:column;gap:10px;gap:var(--spacing-sm)}.purchase-btn{max-width:100%;width:200px}.wine-carousel-header{flex-direction:row;gap:6px;justify-content:center;padding:0 10px;padding:0 var(--spacing-sm);width:100%}.click-instruction,.wine-info-message{max-width:100%;padding:15px;padding:var(--spacing-md)}.wine-info-subsection{margin-bottom:15px;margin-bottom:var(--spacing-md)}.wine-info-subsection h4{font-size:1em;margin-bottom:var(--spacing-xs)}.suggested-questions li{font-size:.9em;padding:var(--spacing-xs) var(--spacing-sm);padding-left:calc(10px + 1em);padding-left:calc(var(--spacing-sm) + 1em)}.carousel-dots{display:contents}.carousel-dot{border-radius:6px;height:12px;max-width:50px}.carousel-nav{flex:1 1;font-size:1em;height:12px;max-width:50px}.wine-style-header{align-items:flex-start;flex-direction:column;gap:10px;gap:var(--spacing-sm)}.wine-style-name{font-size:1.2em;min-width:auto}.price-range-display{font-size:24px;min-width:140px;padding:10px 15px;padding:var(--spacing-sm) var(--spacing-md)}.dual-range-slider{margin:15px 0;margin:var(--spacing-md) 0}}@media (max-width:480px){.navigation-buttons{flex-direction:column-reverse;gap:15px;gap:var(--spacing-md)}.navigation-buttons button{width:100%}.price-range-display{font-size:20px;min-width:120px;padding:var(--spacing-xs) var(--spacing-sm)}.slider-values{flex-direction:column;gap:var(--spacing-xs);text-align:center}}.app-footer{bottom:20px;position:fixed;right:20px;z-index:1000}.about-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #6d2c40;border:1px solid var(--primary-color);border-radius:20px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);color:#6d2c40;color:var(--primary-color);display:inline-block;font-size:.9rem;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .3s ease}.about-link:hover{background:#6d2c40;background:var(--primary-color);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);color:#fff;transform:translateY(-2px)}@media (max-width:768px){.app-footer{bottom:15px;right:15px}.about-link{font-size:.8rem;padding:6px 12px}}.floating-logo{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #6d2c40;border:1px solid var(--primary-color);border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-light);display:flex;height:30px;justify-content:center;left:20px;padding:6px;position:fixed;transition:all .3s ease;width:30px;z-index:1000}.floating-logo img{border-radius:50%;height:24px;object-fit:contain;width:24px}.floating-logo:hover{background:#fff;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}@media (max-width:768px){.floating-logo{bottom:15px;height:24px;left:15px;padding:4px;width:24px}.floating-logo img{height:18px;width:18px}}.about-page{background:var(--background-main);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:2rem 1rem}.about-container{background:var(--background-light);border-radius:20px;box-shadow:0 16px 32px #6d2c4014;margin:0 auto;max-width:800px;overflow:hidden}.about-header{background:var(--primary-color);color:#fff;padding:3rem 2rem 2rem;position:relative;text-align:center}.about-header h1{color:#fff;font-size:2.5rem;font-weight:600;letter-spacing:-.5px;margin:0}.back-to-app{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:25px;color:#fff;font-weight:500;left:2rem;padding:.5rem 1rem;position:absolute;text-decoration:none;top:1rem;transition:all .3s ease}.back-to-app:hover{background:#ffffff4d;transform:translateX(-2px)}.about-content{padding:3rem 2rem}.about-section{margin-bottom:3rem}.about-section:last-child{margin-bottom:0}.about-section h2{border-bottom:3px solid var(--border-light);color:var(--primary-color);font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.about-section h2:after{background:var(--accent-color);border-radius:2px;bottom:-3px;content:"";height:3px;left:0;position:absolute;width:50px}.section-content p{color:var(--text-color);font-size:1.1rem;line-height:1.8;margin-bottom:1rem}.section-content ul{margin:1.5rem 0;padding-left:0}.section-content li{color:var(--text-light);line-height:1.6;list-style:none;padding:.5rem 0 .5rem 2rem;position:relative}.section-content li:before{content:"🍷";left:0;position:absolute;top:.5rem}.contact-section{background:var(--accent-light);border:1px solid var(--border-color);border-radius:15px;margin-top:2rem;padding:2rem}.contact-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1.5rem}.contact-link{align-items:center;border-radius:50px;box-shadow:0 4px 15px #0000001a;display:flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.contact-icon{height:24px;width:24px}.email-link{background:var(--primary-color);color:#fff}.email-link:hover{background:var(--primary-hover);box-shadow:0 8px 24px #6d2c4038;transform:translateY(-2px)}.linkedin-link{background:#0a66c2;color:#fff}.linkedin-link:hover{background:#085a9f;box-shadow:0 8px 24px #0a66c247;transform:translateY(-2px)}.about-footer{background:var(--background-main);border-top:1px solid var(--border-color);padding:2rem;text-align:center}.about-footer p{color:var(--text-light);margin:0 0 1rem}.footer-link{border:1px solid #0000;border-radius:25px;color:var(--primary-color);font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.footer-link:hover{background:var(--primary-color);color:#fff}@media (max-width:768px){.about-page{padding:1rem .5rem}.about-header{padding:2rem 1rem 1.5rem}.about-header h1{font-size:2rem}.back-to-app{display:inline-block;margin-bottom:1rem;position:static}.about-content{padding:2rem 1rem}.about-section h2{font-size:1.5rem}.section-content p{font-size:1rem}.contact-links{align-items:center;flex-direction:column}.contact-link{justify-content:center;max-width:300px;width:100%}.contact-section{padding:1.5rem 1rem}}@media (max-width:480px){.about-header h1{font-size:1.8rem}.about-content{padding:1.5rem .75rem}.section-content li{padding-left:1.5rem}}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:12px 20px}.header-content,.logo-link{align-items:center;display:flex}.logo-link{color:#fff;font-size:1.5em;font-weight:700;text-decoration:none;transition:opacity .3s ease}.logo-link:hover{opacity:.8}.app-logo{border-radius:4px;height:40px;margin-right:12px;width:auto}.app-title{color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:600;letter-spacing:.5px}.header-nav{align-items:center;display:flex}.nav-link{border-radius:20px;color:#fff;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color .3s ease}.nav-link:hover{background-color:#ffffff1a;color:#fff}@media (max-width:768px){.header-content{padding:10px 15px}.app-logo{height:32px;margin-right:8px}.app-title{font-size:1.3em}.nav-link{font-size:.9em;padding:6px 12px}}@media (max-width:480px){.app-title{font-size:1.2em}.app-logo{height:28px}}.admin-login{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-container{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0003;max-width:400px;padding:40px;text-align:center;width:100%}.login-container h1{color:#333;margin-bottom:30px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:8px}.form-group input{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.login-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px;transition:background .3s;width:100%}.login-btn:hover{background:#5a6fd8}.error{background:#ffeaea;border:1px solid #e74c3c;border-radius:4px;color:#e74c3c;margin:10px 0;padding:10px}.admin-dashboard{background:#f5f5f5;min-height:100vh;padding:20px}.admin-header{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.admin-header h1{color:#333;margin:0}.logout-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px}.logout-btn:hover{background:#c0392b}.admin-content{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.stats-section{margin-bottom:30px}.stats-section h2{align-items:center;color:#333;display:flex;gap:10px;margin-bottom:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;padding:25px;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-number{font-size:3em;font-weight:700;margin-bottom:10px}.stat-label{font-size:1.2em;font-weight:700;margin-bottom:5px}.stat-description{font-size:.9em;opacity:.9}.data-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin:30px 0;padding:25px}.data-info h4{color:#333;margin-bottom:15px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px}.info-item strong{color:#667eea;display:block;margin-bottom:5px}.last-updated{color:#666;font-size:.9em;margin-left:15px}.download-actions{display:flex;flex-wrap:wrap;gap:15px}.download-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:12px 24px;text-decoration:none;transition:background .3s}.download-btn.restaurant{background:#3498db;color:#fff}.download-btn.restaurant:hover{background:#2980b9}.download-btn.home{background:#27ae60;color:#fff}.download-btn.home:hover{background:#229954}.quick-actions{border-bottom:1px solid #eee;border-top:1px solid #eee;margin:30px 0;padding:20px 0}.refresh-btn{background:#f39c12;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px}.refresh-btn:hover{background:#e67e22}.info-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;margin-top:30px;padding:20px}.info-section p{color:#666;margin:8px 0}.loading{color:#666;font-size:18px;padding:40px;text-align:center}@media (max-width:768px){.admin-header{gap:15px;text-align:center}.admin-header,.download-actions{flex-direction:column}.download-btn{justify-content:center;width:100%}.admin-dashboard{padding:10px}.admin-content{padding:20px}}
/*# sourceMappingURL=main.ef9a8dad.css.map*/