body{font-family:'Bitter', serif;background:#0e1112;color:#fffcf5;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}a,a:hover,a:link,a:visited{color:#ffdd75}input,button{color:#0e1112}.main-header{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,0.1);padding:0 20px;position:sticky;top:0;z-index:100}.navbar{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;height:64px}.nav-brand .brand-link{text-decoration:none;color:#fffcf5}.brand-name{font-size:24px;font-weight:700;color:#ffecb3;text-shadow:0 2px 4px rgba(0,0,0,0.3)}.nav-links{display:flex;gap:32px}.nav-link{color:#ffecb3;text-decoration:none;font-weight:500;font-size:16px;transition:all 0.3s ease;position:relative}.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#ffdd75;transition:width 0.3s ease}.nav-link:hover{color:#ffdd75;text-decoration:none}.nav-link:hover::after{width:100%}.nav-user{display:flex;align-items:center;gap:16px}.user-email{color:#d2c9ac;font-size:14px;font-weight:500}.logout-btn{background:transparent;border:1px solid #ffdd75;color:#ffdd75;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.3s ease;font-family:'Bitter', serif}.logout-btn:hover{background:#ffdd75;color:#0e1112;transform:translateY(-1px)}a.login-link{background:linear-gradient(135deg, #ffdd75 0%, #edc95e 100%);color:#0e1112;padding:8px 16px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(255,215,117,0.2)}a.login-link:hover{color:#0e1112;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,215,117,0.3)}.main-content{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.main-footer{background:rgba(255,255,255,0.03);border-top:1px solid rgba(255,255,255,0.08);padding:20px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.footer-content p{margin:0;color:#b8a87a;font-size:14px}.footer-link{color:#f0d175;text-decoration:none;font-weight:500;transition:color 0.3s ease}.footer-link:hover{color:#ffecb3;text-decoration:none}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-weight:500}.alert-notice,.flash-notice{background:rgba(52,168,83,0.1);border:1px solid rgba(52,168,83,0.3);color:#34a853}.alert-error,.flash-error,.alert-alert,.flash-alert{background:rgba(234,67,53,0.1);border:1px solid rgba(234,67,53,0.3);color:#ea4335}@media (max-width: 768px){.main-header{position:static}.navbar{flex-direction:column;height:auto;padding:16px 0;gap:16px}.nav-links{gap:24px}.nav-user{flex-direction:column;gap:12px}.main-content{padding:16px}}.login-container{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-card{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 40px rgba(0,0,0,0.3);animation:slideIn 0.5s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-header h2{color:#fffcf5;font-size:28px;font-weight:600;margin:0 0 8px 0;font-family:'Bitter', serif}.login-header p{color:#d2c9ac;font-size:16px;margin:0;opacity:0.8}.login-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-label{display:block;color:#fffcf5;font-size:14px;font-weight:500;margin-bottom:8px;font-family:'Bitter', serif}.form-input{width:100%;padding:12px 16px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:8px;color:#fffcf5;font-size:16px;font-family:'Bitter', serif;transition:all 0.3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#ffdd75;background:rgba(255,255,255,0.12);box-shadow:0 0 0 3px rgba(255,215,117,0.1)}.form-input::placeholder{color:#b8a87a;opacity:0.7}.checkbox-group{display:flex;align-items:center;gap:8px}.form-checkbox{width:auto !important;margin:0;accent-color:#ffdd75}.checkbox-label{margin:0;font-size:14px;color:#d2c9ac;cursor:pointer}.form-actions{margin-top:24px}.btn-primary{width:100%;padding:14px 24px;background:linear-gradient(135deg, #ffdd75 0%, #edc95e 100%);border:none;border-radius:8px;color:#0e1112;font-size:16px;font-weight:600;font-family:'Bitter', serif;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 12px rgba(255,215,117,0.2)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,215,117,0.3);background:linear-gradient(135deg, #ffe38f 0%, #f4d371 100%)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(255,215,117,0.2)}.login-divider{display:flex;align-items:center;margin:24px 0;color:#b8a87a;font-size:14px}.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.1)}.login-divider span{padding:0 16px;background:rgba(255,255,255,0.05);border-radius:12px}.social-login{margin-bottom:24px}.login-links{text-align:center;border-top:1px solid rgba(255,255,255,0.1);padding-top:20px}.login-links a{color:#ffdd75;text-decoration:none;font-size:14px;margin:0 8px;transition:color 0.3s ease}.login-links a:hover{color:#ffecb3;text-decoration:underline}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-header h2{font-size:24px}}.list-container{max-width:1200px;margin:0 auto;padding:0 20px}.list-header{text-align:center;margin-bottom:48px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,0.1)}.page-title{font-size:42px;font-weight:300;color:#fffcf5;margin:0 0 16px 0;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,0.3)}.page-subtitle{font-size:18px;color:#d2c9ac;margin:0;font-style:italic;opacity:0.9}.search-section{margin-bottom:40px}.search-form{max-width:500px;margin:0 auto 24px auto}.search-input-group{position:relative;display:flex;align-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:12px;overflow:hidden;transition:all 0.3s ease}.search-input-group:focus-within{border-color:#ffdd75;box-shadow:0 0 0 3px rgba(255,215,117,0.1);background:rgba(255,255,255,0.12)}.search-input{flex:1;padding:16px 20px;background:transparent;border:none;color:#fffcf5;font-size:16px;font-family:'Bitter', serif;outline:none}.search-input::placeholder{color:#b8a87a;opacity:0.7}.search-btn{padding:16px 20px;background:transparent;border:none;color:#ffdd75;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center}.search-btn:hover{color:#ffecb3;background:rgba(255,255,255,0.05)}.filters-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.search-results-info{color:#d2c9ac;font-size:14px;font-style:italic}.search-results-info strong{color:#ffecb3}.sort-options{display:flex;align-items:center;gap:12px}.sort-label{color:#d2c9ac;font-size:14px;font-weight:500}.sort-link{color:#f0d175;text-decoration:none;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;transition:all 0.3s ease;border:1px solid transparent}.sort-link:hover{color:#ffecb3;background:rgba(255,255,255,0.05);text-decoration:none}.sort-link.active{color:#0e1112;background:#ffdd75;border-color:#ffdd75}.items-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:32px;padding:0}.item-card{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:16px;overflow:hidden;transition:all 0.4s ease;position:relative}.item-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px rgba(0,0,0,0.3);border-color:rgba(255,215,117,0.3)}.item-image{position:relative;height:200px;overflow:hidden;background:rgba(255,255,255,0.03)}.image-link{display:block;width:100%;height:100%;position:relative;text-decoration:none}.item-img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(14,17,18,0.7) 0%, rgba(20,25,28,0.8) 100%);display:flex;align-items:center;justify-content:center;opacity:0;transition:all 0.4s ease}.item-card:hover .image-overlay{opacity:1}.item-card:hover .item-img{transform:scale(1.1)}.view-text{color:#fffcf5;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,0.5);border:2px solid #ffdd75;padding:12px 24px;border-radius:8px;background:rgba(255,215,117,0.1);backdrop-filter:blur(5px)}.item-content{padding:24px}.item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.item-title{margin:0;font-size:22px;font-weight:600;line-height:1.3;flex:1}.popularity-badge{display:flex;align-items:center;gap:4px;background:rgba(255,215,117,0.15);color:#ffdd75;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;border:1px solid rgba(255,215,117,0.3);flex-shrink:0}.popularity-badge svg{color:#ffdd75}.title-link{color:#fffcf5;text-decoration:none;transition:color 0.3s ease}.title-link:hover{color:#ffdd75;text-decoration:none}.item-description{color:#d2c9ac;font-size:15px;line-height:1.6;margin:0;opacity:0.9}@media (max-width: 768px){.list-container{padding:0 16px}.page-title{font-size:32px}.page-subtitle{font-size:16px}.items-grid{grid-template-columns:1fr;gap:24px}.filters-section{flex-direction:column;align-items:flex-start}.search-form{max-width:100%}}@media (max-width: 480px){.search-input,.search-btn{padding:14px 16px}.item-content{padding:20px}.item-title{font-size:20px}}.detail-container{max-width:1200px;margin:0 auto;padding:0 20px}.detail-header{text-align:center;margin-bottom:40px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,0.1)}.detail-title{font-size:48px;font-weight:300;color:#fffcf5;margin:0 0 16px 0;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,0.3)}.detail-content{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;margin-bottom:48px}.detail-image-section{position:sticky;top:100px;height:fit-content}.detail-image-container{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.2)}.detail-image{width:100%;height:auto;display:block}.detail-info-section{display:flex;flex-direction:column;gap:32px}.detail-description{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:24px;line-height:1.7;font-size:16px;color:#e4decd}.detail-description h1,.detail-description h2,.detail-description h3{color:#fffcf5;margin-top:0}.detail-description p{margin-bottom:16px}.detail-description p:last-child{margin-bottom:0}.detail-specs{display:flex;flex-direction:column;gap:20px}.spec-card{background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:24px;transition:all 0.3s ease}.spec-card:hover{border-color:rgba(255,215,117,0.2);box-shadow:0 4px 16px rgba(0,0,0,0.1)}.spec-title{display:flex;align-items:center;gap:12px;color:#fffcf5;font-size:18px;font-weight:600;margin:0 0 16px 0}.spec-title svg{color:#ffdd75;flex-shrink:0}.spec-content{color:#e4decd;line-height:1.6}.spec-content h1,.spec-content h2,.spec-content h3{color:#fffcf5;margin-top:0}.spec-content p{margin-bottom:12px}.spec-content p:last-child{margin-bottom:0}.ingredients-list{list-style:none;padding:0;margin:0}.ingredient-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.05)}.ingredient-item:last-child{border-bottom:none}.ingredient-amount{color:#ffdd75;font-weight:600;font-size:14px;min-width:80px;text-align:right}.ingredient-link{color:#e4decd;text-decoration:none;font-weight:500;transition:color 0.3s ease}.ingredient-link:hover{color:#fffcf5;text-decoration:none}.spec-link{color:#ffdd75;text-decoration:none;font-weight:500;transition:color 0.3s ease}.spec-link:hover{color:#ffecb3;text-decoration:underline}.purchase-link{display:inline-flex;align-items:center;background:linear-gradient(135deg, #ffdd75 0%, #edc95e 100%);color:#0e1112 !important;padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(255,215,117,0.2)}.purchase-link:hover{color:#0e1112 !important;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,215,117,0.3)}.source-info{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:16px;color:#d2c9ac;font-size:14px}.source-link{color:#ffdd75;text-decoration:none;font-weight:500;transition:color 0.3s ease}.source-link:hover{color:#ffecb3;text-decoration:underline}.related-section{margin-top:64px;padding-top:48px;border-top:1px solid rgba(255,255,255,0.1)}.related-title{font-size:28px;font-weight:300;color:#fffcf5;text-align:center;margin:0 0 32px 0;letter-spacing:0.5px}.related-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));gap:24px;max-width:800px;margin:0 auto}.related-item{text-align:center}.related-link{display:block;text-decoration:none;transition:all 0.3s ease}.related-link:hover{transform:translateY(-4px);text-decoration:none}.related-image{width:100%;height:120px;object-fit:cover;border-radius:12px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);transition:all 0.3s ease}.related-link:hover .related-image{border-color:rgba(255,215,117,0.3);box-shadow:0 4px 16px rgba(0,0,0,0.2)}.related-name{display:block;color:#e4decd;font-size:14px;font-weight:500;margin-top:8px;transition:color 0.3s ease}.related-link:hover .related-name{color:#fffcf5}@media (max-width: 1024px){.detail-content{grid-template-columns:1fr;gap:32px}.detail-image-section{position:static;max-width:400px;margin:0 auto}}@media (max-width: 768px){.detail-container{padding:0 16px}.detail-header-content{flex-direction:column;gap:12px}.detail-title{font-size:36px}.detail-content{gap:24px}.detail-description,.spec-card{padding:20px}.related-grid{grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));gap:20px}.related-image{height:100px}}@media (max-width: 480px){.breadcrumb{flex-direction:column;gap:4px}.spec-title{font-size:16px}.ingredient-amount{min-width:60px;font-size:13px}}.carousel{height:500px;margin-bottom:60px}.gsi-material-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:WHITE;background-image:none;border:1px solid #747775;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:'Roboto', arial, sans-serif;font-size:14px;height:40px;letter-spacing:0.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s, border-color .218s, box-shadow .218s;transition:background-color .218s, border-color .218s, box-shadow .218s;vertical-align:middle;white-space:nowrap;width:100%;max-width:400px;min-width:min-content}.gsi-material-button .gsi-material-button-icon{height:20px;margin-right:12px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{-webkit-flex-grow:1;flex-grow:1;font-family:'Roboto', arial, sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.gsi-material-button .gsi-material-button-state{-webkit-transition:opacity .218s;transition:opacity .218s;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.gsi-material-button:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents{opacity:38%}.gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#303030;opacity:12%}.gsi-material-button:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 1px 3px 1px rgba(60,64,67,0.15);box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 1px 3px 1px rgba(60,64,67,0.15)}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#303030;opacity:8%}
