.recipe-create-form{background:#fff;border-radius:12px;padding:clamp(1rem, 2vw + 1rem, 2.5rem);box-shadow:0 4px 15px rgba(0, 0, 0, 0.05);}
.main-info-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.5rem, 3vw + 1rem, 2.5rem);margin-bottom:clamp(1.5rem, 3vw + 1rem, 2.5rem);}
.left-column h2,.right-column h2{font-family:'Montserrat', sans-serif;font-size:clamp(1.125rem, 1.5vw + 0.8rem, 1.5rem);color:#c66235;margin-bottom:clamp(1rem, 2vw + 0.5rem, 1.5rem);padding-bottom:clamp(0.5rem, 1vw + 0.25rem, 0.75rem);border-bottom:2px solid #f0d05f;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(0.75rem, 1.5vw + 0.5rem, 1rem);}
.cover-upload-section{margin-bottom:clamp(1.5rem, 3vw + 1rem, 2.5rem);}
.cover-upload-zone{border:3px dashed #ddd0af;border-radius:clamp(0.75rem, 2vw + 0.5rem, 1rem);padding:clamp(1.5rem, 4vw + 1rem, 2.5rem);text-align:center;background:#fafafa;transition:all 0.3s ease;cursor:pointer;position:relative;overflow:hidden;}
.cover-upload-zone:hover,.cover-upload-zone.dragover{border-color:#f0cf5f;background:#fcf6df;}
.cover-upload-zone.has-image{border-style:solid;border-color:#f0cf5f;padding:0;background:#fff;}
.cover-upload-zone.error{border:3px solid #ff4e21 !important;border-style:solid !important;}
.upload-icon{width:clamp(3rem, 8vw + 2rem, 5rem);height:clamp(3rem, 8vw + 2rem, 5rem);margin:0 auto clamp(1rem, 2vw + 0.5rem, 1.25rem);background:#f0d05f;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease;}
.cover-upload-zone:hover .upload-icon{transform:scale(1.1);}
.upload-icon svg{width:clamp(1.5rem, 4vw + 1rem, 2.5rem);height:clamp(1.5rem, 4vw + 1rem, 2.5rem);stroke:#333;}
.upload-text{font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);color:#666;margin-bottom:clamp(1rem, 2vw + 0.5rem, 1.25rem);line-height:1.5;}
.upload-button{display:inline-block;background:#f0d05f;color:#333;padding:clamp(0.75rem, 2vw + 0.5rem, 0.875rem) clamp(1.5rem, 3vw + 1rem, 2rem);border-radius:50px;font-weight:600;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);cursor:pointer;transition:all 0.3s ease;border:none;}
.upload-button:hover{background:#dfba53;transform:translateY(-2px);box-shadow:0 4px 12px rgba(240, 208, 95, 0.4);}
.upload-hint{margin-top:clamp(1rem, 2vw + 0.5rem, 1.25rem);font-size:clamp(0.75rem, 0.8vw + 0.5rem, 0.875rem);color:#999;line-height:1.6;}
.cover-preview-container{position:relative;width:100%;aspect-ratio:16 / 9;}
.cover-preview{width:100%;height:100%;object-fit:cover;border-radius:12px;}
.cover-remove-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;background:rgba(198, 98, 53, 0.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);z-index:10;}
.cover-remove-btn:hover{background:#c66235;transform:scale(1.1);}
.cover-remove-btn svg{width:18px;height:18px;stroke:#fff;}
.form-group{margin-bottom:clamp(1rem, 2vw + 0.5rem, 1.5rem);position:relative;}
.form-group label{display:block;margin-bottom:clamp(0.375rem, 0.5vw + 0.25rem, 0.5rem);font-weight:500;color:#333;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);}
.form-group input,.form-group textarea{width:100%;padding:clamp(0.625rem, 1vw + 0.5rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);border:2px solid #ddd0af;border-radius:8px;font-family:'Roboto', sans-serif;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);transition:all 0.3s ease;background:#fff;box-sizing:border-box;}
.form-group input:focus,.form-group textarea:focus{border-color:#f0cf5f;outline:none;box-shadow:0 0 0 4px #fcf6df;}
.form-group input.error,.form-group textarea.error{border-color:#ff4e21;}
.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 4px rgba(255, 78, 33, 0.1);}
.form-group textarea{resize:vertical;min-height:120px;}
.field-error-message{display:flex;align-items:center;gap:6px;margin-top:6px;color:#ff4e21;font-size:clamp(0.75rem, 0.8vw + 0.5rem, 0.813rem);}
.field-error-message svg{width:16px;height:16px;fill:#ff4e21;flex-shrink:0;}
.submit-error-message{background:#fff5f3;border:2px solid #ff4e21;border-radius:8px;padding:clamp(0.875rem, 1.5vw + 0.5rem, 1rem) clamp(1.25rem, 2vw + 0.75rem, 1.5rem);margin:clamp(1.5rem, 3vw + 1rem, 2.5rem) auto clamp(1rem, 2vw + 0.5rem, 1.5rem);text-align:center;color:#ff4e21;font-weight:600;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.938rem);display:none;max-width:600px;}
.submit-error-message.show{display:block;animation:shake 0.5s ease-in-out;}
.steps-section{margin-top:clamp(1.5rem, 3vw + 1rem, 2.5rem);}
.steps-section h2{font-family:'Montserrat', sans-serif;font-size:clamp(1.125rem, 1.5vw + 0.8rem, 1.5rem);color:#c66235;margin-bottom:clamp(1.25rem, 2vw + 0.75rem, 1.875rem);padding-bottom:clamp(0.5rem, 1vw + 0.25rem, 0.75rem);border-bottom:2px solid #f0d05f;}
.step-block{background:#fafafa;border-radius:clamp(0.75rem, 1.5vw + 0.5rem, 1rem);padding:clamp(1rem, 2vw + 0.75rem, 1.875rem);margin-bottom:clamp(1.25rem, 2vw + 0.75rem, 1.875rem);border:2px solid #f0cf5f;transition:all 0.3s ease;position:relative;}
.step-block.error{border:2px solid #ff4e21;}
.step-block:hover{box-shadow:0 4px 12px rgba(0, 0, 0, 0.08);}
.step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(1rem, 2vw + 0.5rem, 1.5rem);}
.step-number{font-family:'Montserrat', sans-serif;font-size:clamp(1rem, 1.2vw + 0.8rem, 1.25rem);font-weight:700;color:#333;}
.step-remove-btn{width:36px;height:36px;background:rgba(198, 98, 53, 0.1);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;flex-shrink:0;}
.step-remove-btn:hover{background:rgba(198, 98, 53, 0.2);transform:scale(1.1);}
.step-remove-btn svg{width:18px;height:18px;stroke:#c66235;}
.step-photo-zone{border:2px dashed #ddd0af;border-radius:clamp(0.625rem, 1vw + 0.5rem, 0.75rem);padding:clamp(1.25rem, 3vw + 0.75rem, 1.875rem);text-align:center;background:#fff;margin-bottom:clamp(1rem, 1.5vw + 0.5rem, 1.25rem);cursor:pointer;transition:all 0.3s ease;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.step-photo-zone:hover,.step-photo-zone.has-file{border-color:#f0cf5f;background:#fcf6df;}
.step-photo-zone.has-image{padding:0;border-style:solid;}
.step-photo-zone.error{border:2px solid #ff4e21 !important;border-style:solid !important;}
.step-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;}
.step-photo-placeholder svg{width:clamp(2.5rem, 5vw + 1.5rem, 3rem);height:clamp(2.5rem, 5vw + 1.5rem, 3rem);stroke:#999;}
.step-photo-placeholder-text{color:#999;font-size:clamp(0.75rem, 0.8vw + 0.5rem, 0.875rem);}
.step-photo-preview{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;}
.step-photo-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.step-photo-overlay{position:absolute;top:12px;right:12px;z-index:5;}
.step-photo-delete{width:40px;height:40px;background:rgba(198, 98, 53, 0.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);}
.step-photo-delete:hover{background:#c66235;transform:scale(1.1);}
.step-photo-delete svg{width:18px;height:18px;stroke:#fff;}
.step-title-label,.step-description-label{font-weight:600;color:#333;margin-bottom:clamp(0.375rem, 0.5vw + 0.25rem, 0.5rem);display:block;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);}
.step-title-input{width:100%;padding:clamp(0.625rem, 1vw + 0.5rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);border:2px solid #ddd0af;border-radius:8px;font-family:'Roboto', sans-serif;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);transition:all 0.3s ease;background:#fff;margin-bottom:clamp(0.625rem, 1vw + 0.375rem, 0.75rem);box-sizing:border-box;}
.step-title-input:focus{border-color:#f0cf5f;outline:none;box-shadow:0 0 0 4px #fcf6df;}
.step-title-input.error{border-color:#ff4e21;}
.step-description-input{width:100%;padding:clamp(0.75rem, 1vw + 0.5rem, 0.875rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);border:2px solid #ddd0af;border-radius:8px;font-family:'Roboto', sans-serif;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);min-height:200px;resize:vertical;transition:all 0.3s ease;box-sizing:border-box;}
.step-description-input:focus{border-color:#f0cf5f;outline:none;box-shadow:0 0 0 4px #fcf6df;}
.step-description-input.error{border-color:#ff4e21;}
.ingredients-section{margin-top:clamp(1.5rem, 3vw + 1rem, 2.5rem);}
.ingredients-section h2{font-family:'Montserrat', sans-serif;font-size:clamp(1.125rem, 1.5vw + 0.8rem, 1.5rem);color:#c66235;margin-bottom:clamp(1.25rem, 2vw + 0.75rem, 1.875rem);padding-bottom:clamp(0.5rem, 1vw + 0.25rem, 0.75rem);border-bottom:2px solid #f0d05f;}
.ingredient-block{background:#fafafa;border-radius:clamp(0.625rem, 1vw + 0.5rem, 0.75rem);padding:clamp(0.875rem, 1.5vw + 0.5rem, 1.25rem);margin-bottom:clamp(0.75rem, 1vw + 0.5rem, 1rem);border:2px solid #f0f0f0;transition:all 0.3s ease;}
.ingredient-block:hover{border-color:#f0cf5f;}
.ingredient-block.error{border:2px solid #ff4e21;}
.ingredient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(0.625rem, 1vw + 0.375rem, 0.75rem);}
.ingredient-title{font-weight:600;color:#333;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);}
.custom-dropdown{position:relative;width:100%;}
.dropdown-trigger{width:100%;padding:clamp(0.625rem, 1vw + 0.5rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);border:2px solid #ddd0af;border-radius:8px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'Roboto', sans-serif;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);transition:all 0.3s ease;user-select:none;box-sizing:border-box;}
.dropdown-trigger:hover{border-color:#f0cf5f;}
.dropdown-trigger.active{border-color:#f0cf5f;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;box-shadow:0 0 0 4px #fcf6df;}
.dropdown-trigger.error{border-color:#ff4e21;}
.dropdown-trigger.error.active{box-shadow:0 0 0 4px rgba(255, 78, 33, 0.1);border-bottom:none;}
.dropdown-trigger .dropdown-value{flex:1;text-align:left;color:#333;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);}
.dropdown-trigger .dropdown-value.placeholder{color:#999;}
.dropdown-trigger .dropdown-arrow{width:20px;height:20px;transition:transform 0.3s ease;fill:#999;flex-shrink:0;}
.dropdown-trigger.active .dropdown-arrow{transform:rotate(180deg);}
.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #f0cf5f;border-top:none;border-radius:0 0 8px 8px;max-height:280px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);margin-top:0;}
.dropdown-search{padding:clamp(0.625rem, 1vw + 0.375rem, 0.75rem);border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:10;}
.dropdown-search input{width:100%;padding:clamp(0.5rem, 0.8vw + 0.375rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 0.875rem);border:2px solid #ddd0af;border-radius:6px;font-family:'Roboto', sans-serif;font-size:clamp(0.875rem, 1vw + 0.8rem, 1rem);outline:none;transition:all 0.3s ease;box-sizing:border-box;}
.dropdown-search input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df;}
.dropdown-items{list-style:none;margin:0;padding:0;}
.dropdown-item{padding:clamp(0.625rem, 1vw + 0.375rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);cursor:pointer;transition:all 0.2s ease;border-bottom:1px solid #f9f9f9;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);color:#333;}
.dropdown-item:hover{background:#fcf6df;}
.dropdown-item.selected{background:#f0d05f;color:#333;font-weight:600;}
.dropdown-item:last-child{border-bottom:none;}
.dropdown-item.no-results{color:#999;text-align:center;padding:clamp(1rem, 1.5vw + 0.625rem, 1.25rem);cursor:default;}
.dropdown-item.no-results:hover{background:#fff;}
.dropdown-menu::-webkit-scrollbar{width:8px;}
.dropdown-menu::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 0 8px 0;}
.dropdown-menu::-webkit-scrollbar-thumb{background:#ddd0af;border-radius:4px;}
.dropdown-menu::-webkit-scrollbar-thumb:hover{background:#f0cf5f;}
.add-btn{background:transparent;border:2px solid #f0d05f;color:#333;padding:clamp(0.625rem, 1vw + 0.5rem, 0.75rem) clamp(1.25rem, 2vw + 0.75rem, 1.75rem);border-radius:50px;cursor:pointer;font-weight:600;font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);transition:all 0.3s ease;display:inline-flex;align-items:center;gap:8px;margin-top:clamp(0.875rem, 1vw + 0.5rem, 1rem);}
.add-btn:hover{background:#f0d05f;transform:translateY(-2px);box-shadow:0 4px 12px rgba(240, 208, 95, 0.3);}
.add-btn svg{width:clamp(1rem, 1.5vw + 0.75rem, 1.125rem);height:clamp(1rem, 1.5vw + 0.75rem, 1.125rem);stroke:currentColor;}
.btn-submit{background:#c66235;color:white;padding:clamp(0.875rem, 1.5vw + 0.625rem, 1rem) clamp(2rem, 4vw + 1rem, 3rem);border:none;border-radius:50px;font-size:clamp(0.938rem, 1vw + 0.8rem, 1rem);font-weight:700;cursor:pointer;transition:all 0.3s ease;display:block;margin:clamp(1.5rem, 3vw + 1rem, 2.5rem) auto 0;}
.btn-submit:hover{background:#a84f2a;transform:translateY(-3px);box-shadow:0 8px 20px rgba(198, 98, 53, 0.4);}
.search-block{max-width:600px;margin:0 auto 30px;position:relative;}
.search-wrapper{display:flex;gap:0;background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);overflow:hidden;}
.search-input{flex:1;border:none;padding:14px 18px;font-size:16px;font-family:'Roboto', sans-serif;outline:none;background:transparent;}
.search-btn,.filter-btn{background:#f0d05f;border:none;padding:14px 18px;cursor:pointer;transition:background 0.3s;display:flex;align-items:center;justify-content:center;}
.search-btn:hover,.filter-btn:hover{background:#e5c352;}
.search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);margin-top:5px;z-index:100;display:none;max-height:300px;overflow-y:auto;}
.suggestion-item{padding:12px 16px;cursor:pointer;transition:background 0.2s;border-bottom:1px solid #f0f0f0;}
.suggestion-item:hover{background:#fcf6df;}
.suggestion-item mark,.suggestion-item .highlight,.ingredient-suggestion-item .highlight{background:#f0d05f !important;padding:0 2px !important;border-radius:2px !important;color:#333 !important;}
.recipes-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:24px;margin-top:20px;}
.recipe-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);}
.recipe-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;}
.recipe-author{display:flex;align-items:center;gap:10px;}
.author-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;}
.author-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-family:'Montserrat', sans-serif;font-weight:800;font-size:16px;color:#333;flex-shrink:0;}
.author-name{font-size:16px;font-weight:800;color:#333;}
.subscribe-btn,.recipe-view-subscribe-btn{background:transparent;border:2px solid #333;border-radius:50px;color:#333;padding:clamp(4px,1vw + 2px,8px) clamp(8px,2vw + 4px,18px);font-size:clamp(10px,0.8vw + 8px,13px);gap:clamp(2px,0.5vw,6px);font-weight:600;cursor:pointer;transition:all 0.3s;display:inline-flex;align-items:center;white-space:nowrap;font-family:'Roboto',sans-serif;width:auto !important;flex:0 0 auto !important;flex-shrink:0 !important;max-width:fit-content !important;}
.subscribe-btn:hover,.recipe-view-subscribe-btn:hover{background:#333;color:#fff;}
.subscribe-btn.subscribed,.recipe-view-subscribe-btn.subscribed{border-color:#f0d05f;background:#fcf6df;color:#c66235;}
.subscribe-btn.subscribed:hover,.recipe-view-subscribe-btn.subscribed:hover{background:#f0d05f;color:#c66235;}
.recipe-card-image{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;cursor:pointer;}
.recipe-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}
.recipe-card:hover .recipe-card-image img{transform:scale(1.05);}
.recipe-card-overlay{position:absolute;bottom:12px;left:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap;}
.recipe-time{background:rgba(255, 255, 255, 0.95);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;backdrop-filter:blur(4px);}
.recipe-card-body{padding:16px;}
.recipe-rating{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#f0cf5f;font-size:16px;}
.rating-text{color:#666;font-size:13px;}
.recipe-title{font-family:'Montserrat', sans-serif;font-size:18px;font-weight:700;color:#333;margin-bottom:8px;line-height:1.3;cursor:pointer;}
.recipe-title:hover{color:#c66235;}
.recipe-description{font-size:14px;color:#666;line-height:1.5;margin-bottom:16px;}
.recipe-card-footer{display:flex;gap:16px;}
.like-btn,.comment-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#666;cursor:pointer;font-size:14px;transition:color 0.3s;}
.like-btn:hover,.comment-btn:hover{color:#c66235;}
.like-btn.favorited{color:#c66235;}
.load-more-btn{display:block;margin:30px auto;padding:12px 32px;background:transparent;border:2px solid #f0d05f;color:#333;border-radius:50px;cursor:pointer;font-weight:600;transition:all 0.3s;font-family:'Roboto', sans-serif;}
.load-more-btn:hover{background:#f0d05f;}
.load-more-btn:disabled{border-color:#ccc;color:#999;cursor:not-allowed;}
.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:12px;color:#666;font-size:18px;width:100%;box-sizing:border-box;margin-top:0;}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;}
@keyframes shake{0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); } 20%, 40%, 60%, 80% { transform: translateX(5px); }}
.filter-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);align-items:center;justify-content:center;z-index:2000;padding:15px;backdrop-filter:blur(4px);}
.filter-modal-content{background:#fff;padding:30px;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);}
.filter-modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s;padding:0;}
.filter-modal-close:hover{background:#e0e0e0;transform:rotate(90deg);}
.filter-modal-close svg{width:20px;height:20px;stroke:#333;stroke-width:2;}
.filter-modal-content h3{margin-bottom:24px;color:#333;font-family:'Montserrat',sans-serif;font-size:24px;padding-right:40px;}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.filter-section{margin-bottom:20px;}
.filter-section label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px;}
.filter-buttons-group{display:flex;flex-wrap:wrap;gap:6px;}
.filter-btn-chip{padding:6px 12px;border:2px solid #ddd0af;border-radius:20px;background:#fff;font-size:12px;color:#333;cursor:pointer;transition:all 0.2s;}
.filter-btn-chip:hover{border-color:#f0cf5f;background:#fcf6df;}
.filter-btn-chip.active{background:#c66235;border-color:#c66235;color:#fff;}
.filter-range{width:100%;margin:4px 0 2px 0;accent-color:#c66235;}
.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#999;}
.filter-modal-buttons{margin-top:30px;display:flex;gap:12px;justify-content:center;border-top:1px solid #f0f0f0;padding-top:20px;}
.filter-apply-btn{background:#c66235;color:#fff;padding:12px 32px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:background 0.3s;font-size:15px;}
.filter-apply-btn:hover{background:#a84f2a;}
.filter-reset-btn{background:#f0f0f0;color:#333;padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:background 0.3s;font-size:15px;}
.filter-reset-btn:hover{background:#e0e0e0;}
.filter-chip{padding:8px 16px;border:2px solid #ddd0af;border-radius:50px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.3s ease;font-family:'Roboto',sans-serif;}
.filter-chip:hover{border-color:#f0cf5f;background:#fcf6df;}
.filter-chip.active{background:#f0d05f;border-color:#f0d05f;color:#333;font-weight:600;}
.filter-chip.star-chip{display:flex;align-items:center;gap:4px;}
.range-pair-container{margin-bottom:16px;}
.range-pair-container .range-label{display:block;font-size:13px;color:#666;margin-bottom:6px;font-weight:500;}
.range-pair{display:flex;align-items:center;gap:8px;}
.range-input{flex:1;padding:8px 10px;border:2px solid #ddd0af;border-radius:6px;font-size:14px;font-family:'Roboto',sans-serif;outline:none;transition:border-color 0.3s;width:100%;box-sizing:border-box;}
.range-input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df;}
.range-sep{color:#999;font-weight:bold;flex-shrink:0;font-size:16px;}
.ingredient-search-wrapper{position:relative;margin-bottom:12px;}
.ingredient-search-input{width:100%;padding:10px 12px;border:2px solid #ddd0af;border-radius:8px;font-size:14px;font-family:'Roboto',sans-serif;outline:none;transition:border-color 0.3s;box-sizing:border-box;}
.ingredient-search-input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df;}
.ingredient-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #f0cf5f;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.1);display:none;}
.ingredient-suggestion-item{padding:10px 12px;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f9f9f9;transition:background 0.3s ease;}
.ingredient-suggestion-item:hover{background:#fcf6df;}
.selected-ingredients{display:flex;flex-wrap:wrap;gap:8px;min-height:32px;}
.ingredient-tag{display:inline-flex;align-items:center;gap:6px;background:#f0d05f;color:#333;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;animation:fadeIn 0.2s ease;}
.ingredient-tag button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#333;opacity:0.7;transition:opacity 0.2s;}
.ingredient-tag button:hover{opacity:1;}
.ingredient-tag button svg{width:14px;height:14px;}
@keyframes fadeIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}
@media (max-width: 1000px){.recipes-grid{gap:20px;}.author-avatar{width:42px;height:42px;font-size:15px;}.author-name{font-size:15px;}}
@media (max-width: 900px){.main-info-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.cover-preview-container{height:300px;}.dropdown-menu{position:fixed !important;left:auto !important;right:auto !important;width:auto !important;min-width:150px;border-radius:12px !important;box-shadow:0 10px 40px rgba(0, 0, 0, 0.2) !important;max-height:clamp(200px, 40vh, 300px) !important;margin-top:0 !important;border-top:2px solid #f0cf5f !important;}.recipes-grid{gap:16px;}.author-avatar{width:40px;height:40px;font-size:14px;}.author-name{font-size:14px;}.recipe-card-header{padding:10px 12px;}}
@media (max-width: 800px){.recipes-grid{gap:14px;}.author-avatar{width:38px;height:38px;font-size:14px;}.author-name{font-size:14px;}.recipe-card-header{padding:10px;}}
@media (max-width: 768px){.recipe-create-form{padding:clamp(0.875rem, 2vw + 0.75rem, 1.5rem);}.upload-text{font-size:clamp(0.813rem, 1vw + 0.6rem, 0.875rem);}.dropdown-item{padding:clamp(0.75rem, 1vw + 0.5rem, 0.875rem) clamp(1rem, 2vw + 0.5rem, 1.25rem);font-size:clamp(0.938rem, 1vw + 0.8rem, 1rem);}.search-wrapper{flex-wrap:wrap;}.search-input{min-width:200px;}.recipes-grid{grid-template-columns:1fr;gap:20px;}.author-avatar{width:42px;height:42px;font-size:15px;}.author-name{font-size:15px;}}
@media (max-width: 700px){.author-avatar{width:40px;height:40px;font-size:14px;}.author-name{font-size:14px;}}
@media (max-width: 650px){.author-avatar{width:38px;height:38px;font-size:14px;}.author-name{font-size:14px;}.recipe-card-header{padding:10px;}}
@media (max-width: 600px){.step-block{padding:clamp(0.875rem, 2vw + 0.625rem, 1.25rem);}.form-row[style*="grid-template-columns: 2fr 1fr 1fr"]{grid-template-columns:1fr !important;}.dropdown-trigger{padding:clamp(0.625rem, 1vw + 0.5rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);font-size:16px;}.dropdown-search input{font-size:16px;padding:clamp(0.625rem, 1vw + 0.375rem, 0.75rem) clamp(0.875rem, 1.5vw + 0.5rem, 1rem);}.btn-submit{width:100%;padding:clamp(0.875rem, 1.5vw + 0.625rem, 1rem) clamp(1.5rem, 3vw + 0.75rem, 2rem);}.search-block{margin:0 auto 24px;}.recipes-grid{gap:16px;}.author-avatar{width:36px;height:36px;font-size:13px;}.author-name{font-size:13px;}.recipe-card-body{padding:12px;}.recipe-title{font-size:16px;margin-bottom:6px;}.recipe-description{font-size:13px;line-height:1.4;margin-bottom:12px;}}
@media (max-width: 550px){.author-avatar{width:34px;height:34px;font-size:13px;}.author-name{font-size:13px;}.recipe-card-header{padding:8px 10px;}}
@media (max-width: 500px){.author-avatar{width:32px;height:32px;font-size:12px;}.author-name{font-size:12px;}.recipe-title{font-size:15px;}.recipe-description{font-size:12px;}.recipe-card-footer{gap:12px;}.like-btn, .comment-btn{font-size:13px;}}
@media (max-width: 480px){h1{font-size:clamp(1.25rem, 3vw + 1rem, 1.75rem) !important;}.upload-button{width:100%;font-size:clamp(0.875rem, 1vw + 0.7rem, 0.938rem);}.ingredient-block{padding:clamp(0.75rem, 1.5vw + 0.5rem, 1rem);}.step-photo-placeholder-text{font-size:clamp(0.688rem, 0.8vw + 0.5rem, 0.75rem);}.filter-modal-content{padding:16px;max-width:100%;}.filter-modal-content h3{font-size:16px;}.filter-btn-chip{padding:5px 10px;font-size:11px;}.dropdown-trigger{padding:7px 10px;font-size:12px;}.dropdown-item{padding:7px 10px;font-size:11px;}.filter-range{height:28px;}.filter-apply-btn, .filter-reset-btn{padding:8px 16px;font-size:12px;flex:1;min-width:auto;}}
@media (max-width: 450px){.author-avatar{width:30px;height:30px;font-size:12px;}.author-name{font-size:12px;}.recipe-card-header{padding:8px;}.recipe-time{font-size:11px;padding:5px 10px;}}
@media (max-width: 400px){.recipe-create-form{padding:clamp(0.75rem, 2vw + 0.5rem, 1rem);}.cover-upload-zone{padding:clamp(1rem, 3vw + 0.75rem, 1.5rem);}.upload-icon{width:clamp(2.5rem, 7vw + 1.75rem, 3.5rem);height:clamp(2.5rem, 7vw + 1.75rem, 3.5rem);}.h1{font-size:clamp(1.125rem, 3vw + 0.875rem, 1.5rem) !important;}.search-input{padding:12px 14px;font-size:15px;}.search-btn, .filter-btn{padding:12px 14px;}.author-avatar{width:28px;height:28px;font-size:11px;}.author-name{font-size:11px;}.recipe-title{font-size:14px;}.recipe-description{font-size:12px;line-height:1.35;margin-bottom:10px;}.recipe-card-footer{gap:10px;}.like-btn, .comment-btn{font-size:12px;}.recipe-rating{font-size:14px;gap:6px;}.rating-text{font-size:11px;}}
@media (max-width: 370px){.author-avatar{width:26px;height:26px;font-size:11px;}.author-name{font-size:11px;}.recipe-card-header{padding:8px;}.recipe-card-body{padding:10px;}}
@media (max-width: 360px){.form-group input, .form-group textarea{font-size:clamp(0.813rem, 1vw + 0.6rem, 0.875rem);padding:clamp(0.5rem, 0.8vw + 0.375rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 0.875rem);}.dropdown-trigger{font-size:16px;padding:clamp(0.625rem, 1vw + 0.375rem, 0.75rem) clamp(0.75rem, 1vw + 0.5rem, 0.875rem);}.dropdown-item{font-size:clamp(0.813rem, 0.9vw + 0.6rem, 0.875rem);padding:clamp(0.625rem, 0.8vw + 0.375rem, 0.75rem) clamp(0.875rem, 1vw + 0.5rem, 1rem);}.filter-modal-buttons{flex-direction:column;}.filter-apply-btn, .filter-reset-btn{width:100%;}}
@media (max-width: 340px){.author-avatar{width:24px;height:24px;font-size:11px;}.author-name{font-size:11px;}.recipe-title{font-size:14px;}.recipe-description{font-size:11px;}.recipe-time{font-size:10px;padding:4px 8px;}}
@media (max-width: 320px){.search-block{margin:0 auto 20px;}.search-input{padding:10px 12px;font-size:14px;}.search-btn, .filter-btn{padding:10px 12px;}.author-avatar{width:24px;height:24px;font-size:10px;}.author-name{font-size:10px;}.recipe-card-header{padding:8px;}.recipe-card-body{padding:10px;}.recipe-title{font-size:13px;margin-bottom:5px;}.recipe-description{font-size:11px;line-height:1.3;margin-bottom:8px;}.recipe-card-footer{gap:10px;}.like-btn, .comment-btn{font-size:11px;}.recipe-rating{font-size:13px;gap:5px;}.rating-text{font-size:10px;}.recipe-time{font-size:10px;padding:4px 8px;}.load-more-btn{padding:10px 24px;font-size:14px;}}
@media (hover: none){.dropdown-item:hover{background:#fff;}.dropdown-item:active{background:#fcf6df;}.add-btn:active, .btn-submit:active{transform:translateY(0);}}
@media (max-width:470px){.filter-modal-content{max-width:95%;padding:20px;max-height:95vh;}.filter-modal-content h3{font-size:20px;margin-bottom:20px;}.filter-grid{grid-template-columns:1fr;gap:16px;}.filter-chip{padding:6px 12px;font-size:12px;}.filter-modal-buttons{flex-direction:column-reverse;gap:10px;}.filter-apply-btn, .filter-reset-btn{width:100%;text-align:center;padding:14px;}.dropdown-menu, .ingredient-suggestions{position:fixed !important;left:15px !important;right:15px !important;width:auto !important;max-height:40vh !important;border-radius:12px !important;border-top:2px solid #f0cf5f !important;box-shadow:0 10px 40px rgba(0,0,0,0.2) !important;}.range-input{padding:10px 8px;font-size:16px;}}
.suggestion-item .highlight { background: #f0d05f; padding: 0 2px; border-radius: 2px; color: #333; }
.ingredient-suggestion-item .highlight { background: #f0d05f; padding: 0 2px; border-radius: 2px; color: #333; }
.filter-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);align-items:center;justify-content:center;z-index:2000;padding:15px;backdrop-filter:blur(4px)}
.filter-modal-content{background:#fff;padding:30px;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3);position:relative}
.filter-modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s;padding:0}
.filter-modal-close:hover{background:#e0e0e0;transform:rotate(90deg)}
.filter-modal-close svg{width:20px;height:20px;stroke:#333;stroke-width:2}
.filter-modal-content h3{margin-bottom:24px;color:#333;font-family:'Montserrat',sans-serif;font-size:24px;padding-right:40px}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.filter-section{margin-bottom:20px}
.filter-section label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}
.custom-dropdown{position:relative;width:100%}
.dropdown-trigger{width:100%;padding:12px 16px;border:2px solid #ddd0af;border-radius:8px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'Roboto',sans-serif;font-size:14px;transition:all 0.3s ease;user-select:none;box-sizing:border-box}
.dropdown-trigger:hover{border-color:#f0cf5f}
.dropdown-trigger.active{border-color:#f0cf5f;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;box-shadow:0 0 0 4px #fcf6df}
.dropdown-trigger .dropdown-value{flex:1;text-align:left;color:#333}
.dropdown-trigger .dropdown-value.placeholder{color:#999}
.dropdown-trigger .dropdown-arrow{width:20px;height:20px;transition:transform 0.3s ease;fill:#999;flex-shrink:0}
.dropdown-trigger.active .dropdown-arrow{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #f0cf5f;border-top:none;border-radius:0 0 8px 8px;max-height:250px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.1);margin-top:0}
.dropdown-search{padding:10px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:10}
.dropdown-search input{width:100%;padding:8px 12px;border:2px solid #ddd0af;border-radius:6px;font-family:'Roboto',sans-serif;font-size:14px;outline:none;box-sizing:border-box}
.dropdown-search input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df}
.dropdown-items{list-style:none;margin:0;padding:0}
.dropdown-item{padding:10px 16px;cursor:pointer;transition:background 0.3s ease;border-bottom:1px solid #f9f9f9;font-size:14px;color:#333}
.dropdown-item:hover{background:#fcf6df}
.dropdown-item.selected{background:#f0d05f;color:#333;font-weight:600}
.dropdown-item:last-child{border-bottom:none}
.filter-btn-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip{padding:8px 16px;border:2px solid #ddd0af;border-radius:50px;background:#fff;color:#333;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.3s ease;font-family:'Roboto',sans-serif}
.filter-chip:hover{border-color:#f0cf5f;background:#fcf6df}
.filter-chip.active{background:#f0d05f;border-color:#f0d05f;color:#333;font-weight:600}
.filter-chip.star-chip{display:flex;align-items:center;gap:4px}
.range-pair-container{margin-bottom:16px}
.range-pair-container .range-label{display:block;font-size:13px;color:#666;margin-bottom:6px;font-weight:500}
.range-pair{display:flex;align-items:center;gap:8px}
.range-input{flex:1;padding:8px 10px;border:2px solid #ddd0af;border-radius:6px;font-size:14px;font-family:'Roboto',sans-serif;outline:none;transition:border-color 0.3s;width:100%;box-sizing:border-box}
.range-input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df}
.range-sep{color:#999;font-weight:bold;flex-shrink:0;font-size:16px}
.ingredient-search-wrapper{position:relative;margin-bottom:12px}
.ingredient-search-input{width:100%;padding:10px 12px;border:2px solid #ddd0af;border-radius:8px;font-size:14px;font-family:'Roboto',sans-serif;outline:none;transition:border-color 0.3s;box-sizing:border-box}
.ingredient-search-input:focus{border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df}
.ingredient-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #f0cf5f;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.1);display:none}
.ingredient-suggestion-item{padding:10px 12px;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f9f9f9;transition:background 0.3s ease}
.ingredient-suggestion-item:hover{background:#fcf6df}
.selected-ingredients{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}
.ingredient-tag{display:inline-flex;align-items:center;gap:6px;background:#f0d05f;color:#333;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;animation:fadeIn 0.2s ease}
.ingredient-tag button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#333;opacity:0.7;transition:opacity 0.2s}
.ingredient-tag button:hover{opacity:1}
.ingredient-tag button svg{width:14px;height:14px}
@keyframes fadeIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}
.filter-modal-buttons{margin-top:30px;display:flex;gap:12px;justify-content:center;border-top:1px solid #f0f0f0;padding-top:20px}
.filter-apply-btn{background:#c66235;color:#fff;padding:12px 32px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:background 0.3s;font-size:15px}
.filter-apply-btn:hover{background:#a84f2a}
.filter-reset-btn{background:#f0f0f0;color:#333;padding:12px 24px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:background 0.3s;font-size:15px}
.filter-reset-btn:hover{background:#e0e0e0}
.suggestion-item .highlight{background:#f0d05f !important;padding:0 2px !important;border-radius:2px !important;color:#333 !important}
.ingredient-suggestion-item .highlight{background:#f0d05f !important;padding:0 2px !important;border-radius:2px !important;color:#333 !important}
@media (max-width:470px){.filter-modal-content{max-width:95%;padding:20px;max-height:95vh}.filter-modal-content h3{font-size:20px;margin-bottom:20px}.filter-grid{grid-template-columns:1fr;gap:16px}.filter-chip{padding:6px 12px;font-size:12px}.filter-modal-buttons{flex-direction:column-reverse;gap:10px}.filter-apply-btn,.filter-reset-btn{width:100%;text-align:center;padding:14px}.dropdown-menu,.ingredient-suggestions{position:fixed!important;left:15px!important;right:15px!important;width:auto!important;max-height:40vh!important;border-radius:12px!important;border-top:2px solid #f0cf5f!important;box-shadow:0 10px 40px rgba(0,0,0,0.2)!important}.range-input{padding:10px 8px;font-size:16px}}
.nutrition-section{margin-top:clamp(1.5rem, 3vw + 1rem, 2.5rem);padding-top:clamp(1.5rem, 3vw + 1rem, 2.5rem);border-top:2px solid #f0f0f0;}
.nutrition-section h2{font-family:'Montserrat',sans-serif;font-size:clamp(1.125rem, 1.5vw + 0.8rem, 1.5rem);color:#c66235;margin-bottom:clamp(1.25rem, 2vw + 0.75rem, 1.875rem);}
.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(0.75rem, 1.5vw + 0.5rem, 1rem);}
@media (max-width:1024px){.nutrition-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.nutrition-grid{grid-template-columns:1fr;}}
.recipe-view-container{max-width:900px;margin:0 auto;}
.recipe-view-cover{margin-bottom:30px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.1);position:relative;padding-top:56.25%;}
.recipe-view-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.recipe-view-header{margin-bottom:24px;}
.recipe-view-title{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;color:#333;margin-bottom:16px;line-height:1.2;}
.recipe-view-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
.recipe-view-meta-item{background:#fff;border:2px solid #f0cf5f;border-radius:50px;padding:8px 16px;font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:6px;}
.recipe-view-meta-item svg{width:16px;height:16px;stroke:#c66235;}
.recipe-view-author-block{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.05);margin-bottom:30px;flex-wrap:wrap;gap:16px;}
.recipe-view-author-info{display:flex;align-items:center;gap:12px;}
.recipe-view-author-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;color:#333;flex-shrink:0;}
.recipe-view-author-name{font-size:18px;font-weight:700;color:#333;}
.recipe-view-author-label{font-size:13px;color:#666;}
.recipe-view-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.recipe-rating-display{display:flex;align-items:center;gap:6px;}
.recipe-rating-display .star{color:#f0cf5f;font-size:16px;}
.recipe-rating-display .star:not(.active){color:#ddd0af;}
.recipe-rating-display .rating-value{color:#666;font-size:13px;font-weight:500;}
.recipe-view-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,0.05);}
.recipe-view-section-title{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:700;color:#c66235;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0d05f;}
.recipe-view-description{font-size:16px;line-height:1.6;color:#444;}
.recipe-view-nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.recipe-view-nutrition-item{text-align:center;padding:16px;background:#fcf6df;border-radius:12px;}
.recipe-view-nutrition-value{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:700;color:#c66235;}
.recipe-view-nutrition-label{font-size:14px;color:#666;margin-top:4px;}
.recipe-view-ingredients-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.recipe-view-ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;border-radius:8px;border-left:4px solid #f0cf5f;}
.recipe-view-ingredient-name{font-size:15px;color:#333;font-weight:500;}
.recipe-view-ingredient-amount{font-size:14px;color:#c66235;font-weight:600;white-space:nowrap;margin-left:10px;}
.recipe-view-step{display:flex;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f0f0f0;}
.recipe-view-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.recipe-view-step-number{flex-shrink:0;width:40px;height:40px;background:#c66235;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;}
.recipe-view-step-content{flex:1;}
.recipe-view-step-title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:700;color:#333;margin:0 0 12px 0;}
.recipe-view-step-image-container{position:relative;width:100%;padding-top:56.25%;margin-bottom:12px;border-radius:12px;overflow:hidden;}
.recipe-view-step-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.recipe-view-step-text{font-size:15px;line-height:1.6;color:#444;}
.recipe-view-comments-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;}
.recipe-view-comment{display:flex;gap:12px;background:#fafafa;padding:16px;border-radius:12px;}
.recipe-view-comment-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:#333;object-fit:cover;}
.recipe-view-comment-body{flex:1;}
.recipe-view-comment-header{display:flex;justify-content:space-between;margin-bottom:6px;}
.recipe-view-comment-author{font-weight:700;color:#333;font-size:15px;}
.recipe-view-comment-date{font-size:12px;color:#999;}
.recipe-view-comment-text{font-size:14px;color:#444;line-height:1.5;}
.recipe-view-comment-form{display:flex;gap:12px;margin-bottom:24px;align-items:flex-end;}
.recipe-view-comment-form textarea{flex:1;padding:12px;border:2px solid #ddd0af;border-radius:8px;font-family:'Roboto',sans-serif;font-size:14px;resize:none;min-height:50px;max-height:120px;transition:border-color 0.3s;}
.recipe-view-comment-form textarea:focus{outline:none;border-color:#f0cf5f;box-shadow:0 0 0 3px #fcf6df;}
.recipe-view-comment-form button{padding:12px 24px;background:#c66235;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background 0.3s;font-family:'Roboto',sans-serif;white-space:nowrap;}
.recipe-view-comment-form button:hover{background:#a84f2a;}
.recipe-video-wrapper{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.recipe-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
@supports not (aspect-ratio: 16/9) { .recipe-video-wrapper{height:0;padding-bottom:56.25%;} .recipe-video-wrapper iframe{position:absolute;} }
.comments-count{color:#999;font-weight:400;font-size:20px;}
.recipe-material-section{background:#fff;border:2px solid #f0d05f;border-radius:12px;padding:24px;margin-top:30px;}
.material-actions{display:flex;flex-direction:column;gap:20px;}
.material-action-group{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.material-action-group label{font-weight:600;color:#666;font-size:14px;min-width:100px;}
.material-save-btn{padding:10px 20px;border:2px solid #ddd0af;background:#fff;border-radius:50px;font-weight:600;font-size:14px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:8px;font-family:'Roboto',sans-serif;}
.material-save-btn:hover,.material-save-btn.active{border-color:#c66235;background:#fff5f3;color:#c66235;}
.material-save-btn .heart-icon{font-size:16px;}
.material-rating-stars{display:flex;gap:8px;}
.material-star{font-size:28px;color:#ddd0af;cursor:pointer;transition:color 0.2s;user-select:none;}
.material-star.active{color:#f0cf5f;}
.material-star:hover ~ .material-star{color:#ddd0af;}
.material-copy-link-btn{padding:10px 20px;border:2px solid #ddd0af;background:#fff;border-radius:50px;font-weight:600;font-size:14px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;gap:8px;font-family:'Roboto',sans-serif;color:#333;}
.material-copy-link-btn:hover,.material-copy-link-btn.copied{border-color:#75c369;background:#f0fff0;color:#155624;}
.material-copy-link-btn svg{width:18px;height:18px;}
@media (max-width:768px){.recipe-view-title{font-size:28px;}.recipe-view-nutrition{grid-template-columns:repeat(2,1fr);}.recipe-view-ingredients-list{grid-template-columns:1fr;}.recipe-view-step{flex-direction:column;gap:12px;}.recipe-view-author-block{flex-direction:column;align-items:flex-start;}.recipe-view-actions{width:100%;justify-content:space-between;}.material-actions{gap:16px;}.material-action-group{flex-direction:column;align-items:flex-start;gap:8px;}.material-action-group label{min-width:auto;}.material-save-btn,.material-copy-link-btn{width:100%;justify-content:center;}.recipe-view-comment-form{flex-direction:column;}.recipe-view-comment-form textarea{width:100%;}.recipe-view-comment-form button{width:100%;}}
@media (max-width:600px){.recipe-view-section{padding:16px;}.recipe-view-title{font-size:24px;}.recipe-view-meta-item{padding:6px 12px;font-size:13px;}.recipe-view-section-title{font-size:20px;}.recipe-material-section{padding:16px;}.material-star{font-size:24px;}.recipe-view-step-title{font-size:16px;}}
@media (max-width:480px){.recipe-view-nutrition{grid-template-columns:1fr 1fr;gap:10px;}.recipe-view-nutrition-value{font-size:20px;}.recipe-view-author-avatar{width:40px;height:40px;font-size:16px;}.recipe-rating-display .star{font-size:14px;}.recipe-rating-display .rating-value{font-size:12px;}}
@media (max-width:380px){.recipe-view-meta{gap:8px;}.recipe-view-meta-item{padding:5px 10px;font-size:12px;}.recipe-view-actions{flex-direction:column;align-items:stretch;gap:12px;}}
@media (max-width: 768px) { .recipe-video-wrapper{border-radius:8px;} }
@media (max-width: 480px) { .recipe-video-wrapper{border-radius:6px;} }
.recipe-view-author-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;transition:opacity 0.2s;}
.recipe-view-author-link:hover{opacity:0.8;}
.recipe-view-author-link:hover .recipe-view-author-name{text-decoration:underline;}
.edit-notice{background:#e3f2fd;border-left:4px solid #2196f3;padding:12px 16px;margin-bottom:24px;border-radius:4px;color:#0d47a1;font-size:14px;}
.step-photo-preview.existing-image img{opacity:0.9;}
.step-photo-delete-existing{position:absolute;top:12px;left:12px;z-index:5;background:rgba(255, 78, 33, 0.9);}
.step-photo-delete-existing:hover{background:#ff4e21;}
@media (max-width: 1100px){.main-info-grid{gap:1.5rem;}}
@media (max-width: 1050px){.nutrition-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width: 1000px){.recipe-create-form{padding:1.5rem;}}
@media (max-width: 950px){.main-info-grid{grid-template-columns:1fr;}}
@media (max-width: 900px){.form-row{grid-template-columns:1fr;}}
@media (max-width: 850px){.ingredient-block .form-row{grid-template-columns:1fr 1fr 1fr !important;}}
@media (max-width: 800px){.cover-preview-container{height:250px;}}
@media (max-width: 750px){.step-block{padding:1rem;}}
@media (max-width: 700px){.ingredient-block .form-row{grid-template-columns:1fr !important;}}
@media (max-width: 650px){.nutrition-grid{grid-template-columns:1fr 1fr;gap:0.75rem;}}
@media (max-width: 600px){.recipe-create-form{padding:1rem;}.step-photo-zone{padding:1rem;}.btn-submit{width:100%;}}
@media (max-width: 550px){.nutrition-grid{grid-template-columns:1fr;}}
@media (max-width: 500px){.cover-upload-zone{padding:1rem;}.upload-text{font-size:0.85rem;}.step-header{flex-direction:column;align-items:flex-start;gap:8px;}.step-remove-btn{align-self:flex-end;}}
@media (max-width: 450px){.form-group input,.form-group textarea{font-size:16px;padding:12px;}.dropdown-trigger{font-size:16px;padding:12px;}}
@media (max-width: 400px){.recipe-create-form{padding:0.75rem;}.step-number{font-size:1rem;}.ingredient-title{font-size:0.8rem;}}
@media (max-width: 350px){.my-recipe-action-btn span{display:none;}.filter-chip{padding:6px 10px;font-size:11px;}}
.recipe-view-comment-header,.article-view-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px;}
.comment-actions{display:flex;gap:6px;margin-left:auto;}
.btn-comment-action{background:transparent;border:1px solid #ddd0af;border-radius:6px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;color:#999;}
.btn-comment-action svg{width:14px;height:14px;stroke:currentColor;}
.btn-edit-comment:hover{background:#fcf6df;border-color:#f0cf5f;color:#c66235;}
.btn-delete-comment:hover{background:#fff5f3;border-color:#ff4e21;color:#ff4e21;}
.comment-edit-form{margin-top:12px;animation:fadeIn 0.2s ease;}
.comment-edit-textarea{width:100%;padding:10px;border:2px solid #f0cf5f;border-radius:8px;font-family:'Roboto',sans-serif;font-size:14px;resize:vertical;min-height:60px;outline:none;box-sizing:border-box;background:#fff;}
.comment-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end;}
.btn-save-edit,.btn-cancel-edit{padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;font-family:'Roboto',sans-serif;}
.btn-save-edit{background:#c66235;color:#fff;}
.btn-save-edit:hover{background:#a84f2a;}
.btn-cancel-edit{background:#f0f0f0;color:#333;}
.btn-cancel-edit:hover{background:#e0e0e0;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}
@media (max-width: 1200px) { .btn-comment-action svg { width: 14px; height: 14px; } }
@media (max-width: 1150px) { .comment-actions { gap: 5px; } }
@media (max-width: 1100px) { .btn-comment-action { padding: 3px; } }
@media (max-width: 1050px) { .btn-comment-action svg { width: 13px; height: 13px; } }
@media (max-width: 1000px) { .comment-edit-textarea { font-size: 13px; padding: 8px; } }
@media (max-width: 950px) { .btn-save-edit, .btn-cancel-edit { padding: 5px 14px; font-size: 12px; } }
@media (max-width: 900px) { .comment-actions { gap: 4px; } .btn-comment-action { padding: 3px; } }
@media (max-width: 850px) { .btn-comment-action svg { width: 12px; height: 12px; } }
@media (max-width: 800px) { .comment-edit-actions { flex-direction: row; gap: 6px; } }
@media (max-width: 750px) { .btn-save-edit, .btn-cancel-edit { padding: 6px 12px; font-size: 12px; } }
@media (max-width: 700px) { .recipe-view-comment-header { gap: 6px; } .comment-actions { margin-left: 0; margin-top: 4px; width: 100%; justify-content: flex-end; } }
@media (max-width: 650px) { .btn-comment-action { padding: 4px; border-radius: 5px; } .btn-comment-action svg { width: 13px; height: 13px; } }
@media (max-width: 600px) { .comment-edit-textarea { font-size: 14px; min-height: 50px; } .btn-save-edit, .btn-cancel-edit { flex: 1; text-align: center; padding: 8px; } }
@media (max-width: 550px) { .comment-actions { gap: 6px; } .btn-comment-action { padding: 5px; } .btn-comment-action svg { width: 14px; height: 14px; } }
@media (max-width: 500px) { .recipe-view-comment-header { flex-direction: column; align-items: flex-start; } .comment-actions { width: 100%; justify-content: flex-end; margin-top: 2px; } }
@media (max-width: 450px) { .btn-comment-action { padding: 4px; } .btn-comment-action svg { width: 13px; height: 13px; } .comment-edit-actions { flex-direction: column; } }
@media (max-width: 400px) { .btn-save-edit, .btn-cancel-edit { padding: 7px; font-size: 12px; } .comment-edit-textarea { font-size: 13px; padding: 8px; } }
@media (max-width: 350px) { .btn-comment-action { padding: 3px; } .btn-comment-action svg { width: 12px; height: 12px; } .comment-actions { gap: 4px; } }
@media (max-width: 320px) { .btn-save-edit, .btn-cancel-edit { padding: 6px; font-size: 11px; } .comment-edit-textarea { font-size: 12px; } }
.comment-actions{display:flex;gap:6px;margin-left:auto;flex-shrink:0;}
.comment-edit-btn,.comment-delete-btn{width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid #999;border-radius:4px;cursor:pointer;transition:all 0.2s ease;color:#999;}
.comment-edit-btn svg,.comment-delete-btn svg{width:11px;height:11px;}
.comment-edit-btn:hover{background:#f0d05f;border-color:#f0d05f;color:#333;}
.comment-delete-btn:hover{background:#ff4e21;border-color:#ff4e21;color:#fff;}
.comment-edit-textarea{width:100%;padding:10px;border:2px solid #f0d05f;border-radius:8px;font-family:'Roboto', sans-serif;font-size:14px;resize:vertical;min-height:60px;outline:none;box-sizing:border-box;margin-bottom:8px;}
.comment-edit-actions{display:flex;gap:8px;}
.comment-save-btn,.comment-cancel-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;font-family:'Roboto', sans-serif;}
.comment-save-btn{background:#c66235;color:#fff;}
.comment-save-btn:hover{background:#a84f2a;}
.comment-cancel-btn{background:#f0f0f0;color:#333;}
.comment-cancel-btn:hover{background:#e0e0e0;}
.comment-delete-modal{display:none;position:fixed;inset:0;background:rgba(0, 0, 0, 0.4);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);align-items:center;justify-content:center;z-index:3000;padding:20px;}
.comment-delete-modal.active{display:flex;}
.comment-delete-modal .modal-box{background:#fff;padding:24px;border-radius:12px;width:100%;max-width:380px;text-align:center;box-shadow:0 10px 30px rgba(0, 0, 0, 0.2);animation:modalSlideIn 0.3s ease;}
@keyframes modalSlideIn{from{opacity:0;transform:translateY(-20px) scale(0.95);}to{opacity:1;transform:translateY(0) scale(1);}}
.comment-delete-modal h3{margin:0 0 12px;color:#333;font-family:'Montserrat', sans-serif;font-size:20px;}
.comment-delete-modal p{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px;}
.comment-delete-modal .modal-actions{display:flex;gap:12px;justify-content:center;}
.comment-delete-modal .btn-secondary,.comment-delete-modal .btn-danger{padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;border:none;transition:background 0.3s;font-family:'Roboto', sans-serif;}
.comment-delete-modal .btn-secondary{background:#f0f0f0;color:#333;}
.comment-delete-modal .btn-secondary:hover{background:#e0e0e0;}
.comment-delete-modal .btn-danger{background:#ff4e21;color:#fff;}
.comment-delete-modal .btn-danger:hover{background:#e6421a;}
.recipe-view-comment{display:flex;gap:12px;background:#fafafa;padding:16px;border-radius:12px;}
.recipe-view-comment-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Montserrat', sans-serif;font-weight:700;font-size:16px;color:#333;object-fit:cover;}
.recipe-view-comment-body{flex:1;min-width:0;}
.recipe-view-comment-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.recipe-view-comment-author{font-weight:700;color:#333;font-size:15px;}
.recipe-view-comment-date{font-size:12px;color:#999;}
.recipe-view-comment-text{font-size:14px;color:#444;line-height:1.5;}