@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#2c3e50;line-height:1.6;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.home-page{max-width:1400px;margin:0 auto;padding:20px;flex:1}.hero{text-align:center;padding:30px 20px;background:#fff;border-radius:15px;margin-bottom:40px;box-shadow:0 2px 8px #0000001a}.hero h1{font-size:3rem;color:#ff6b35;margin-bottom:15px}.hero p{font-size:1rem;color:#7f8c8d}.recipe-page{max-width:1400px;margin:0 auto;padding:20px;flex:1}.breadcrumb{margin-bottom:30px}.breadcrumb a{display:inline-block;padding:12px 24px;background:#fff;color:#ff6b35;text-decoration:none;border-radius:8px;font-weight:600;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.breadcrumb a:hover{background:#ff6b35;color:#fff;transform:translate(-5px)}.recipe-content{display:grid;grid-template-columns:2fr 1fr;gap:30px}@media (max-width: 1024px){.recipe-content{grid-template-columns:1fr}}.recipe-detail{background:#fff;border-radius:15px;padding:40px;box-shadow:0 2px 8px #0000001a}.recipe-detail .recipe-header-full{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:3px solid #ff6b35}.recipe-detail .recipe-header-full .recipe-emoji-large{font-size:5rem}.recipe-detail .recipe-header-full h1{font-size:2.5rem;color:#ff6b35}.recipe-detail .recipe-description-full{font-size:1.2rem;color:#7f8c8d;margin-bottom:30px;line-height:1.6}.recipe-detail .recipe-meta-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:40px}.recipe-detail .recipe-meta-full .meta-item{display:flex;align-items:center;gap:15px;padding:20px;background:#ecf0f1;border-radius:12px}.recipe-detail .recipe-meta-full .meta-item .meta-icon{font-size:2.5rem}.recipe-detail .recipe-meta-full .meta-item strong{display:block;color:#2c3e50;font-size:1rem;margin-bottom:5px}.recipe-detail .recipe-meta-full .meta-item p{color:#ff6b35;font-weight:600;font-size:1.1rem}.recipe-detail .recipe-section{margin-bottom:40px}.recipe-detail .recipe-section h2{font-size:1.8rem;color:#ff6b35;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #dfe6e9}.recipe-detail .recipe-section .ingredients-list,.recipe-detail .recipe-section .steps-list{padding-left:25px}.recipe-detail .recipe-section .ingredients-list li,.recipe-detail .recipe-section .steps-list li{margin-bottom:12px;color:#2c3e50;font-size:1.05rem;line-height:1.6}.recipe-detail .recipe-section .steps-list li{padding-left:15px;margin-bottom:20px}.reviews-sidebar{display:flex;flex-direction:column;gap:25px}.reviews-sidebar .review-form-container{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000001a}.reviews-sidebar .review-form-container h2{font-size:1.5rem;color:#2c3e50;margin-bottom:20px}.recipes-section{margin-bottom:60px}.recipes-section h2{text-align:center;font-size:2.5rem;color:#2c3e50;margin-bottom:30px}.recipes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media (max-width: 1200px){.recipes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.recipes-grid{grid-template-columns:1fr}}.recipe-card-link{text-decoration:none;color:inherit;display:block;transition:transform .3s ease}.recipe-card-link:hover{transform:translateY(-8px)}.recipe-card-preview{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000001a;height:100%;transition:box-shadow .3s ease;cursor:pointer}.recipe-card-preview:hover{box-shadow:0 4px 12px #00000026}.recipe-card-preview .recipe-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.recipe-card-preview .recipe-header .recipe-emoji{font-size:3rem}.recipe-card-preview .recipe-header h3{font-size:1.8rem;color:#ff6b35}.recipe-card-preview .recipe-description{color:#7f8c8d;margin-bottom:20px;line-height:1.5;min-height:60px}.recipe-card-preview .star-rating-display{display:flex;align-items:center;gap:5px;margin-bottom:20px;padding:12px;background:linear-gradient(135deg,#fff9e6,#ffe8b3);border-radius:10px;border:2px solid #ffc107}.recipe-card-preview .star-rating-display .star{font-size:1.3rem;line-height:1}.recipe-card-preview .star-rating-display .star.filled{color:gold}.recipe-card-preview .star-rating-display .star.half-filled{color:gold;opacity:.6}.recipe-card-preview .star-rating-display .star.empty{color:#ddd}.recipe-card-preview .star-rating-display .rating-info{margin-left:8px;font-size:.95rem;font-weight:600;color:#2c3e50}.recipe-card-preview .recipe-meta{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px;background:#ecf0f1;border-radius:10px}.recipe-card-preview .recipe-meta span{font-size:.9rem;color:#2c3e50}.recipe-card-preview .view-recipe-btn{width:100%;padding:12px;background:#f7931e;color:#fff;text-align:center;border-radius:8px;font-size:1rem;font-weight:600;transition:background .3s ease}.recipe-card-preview:hover .view-recipe-btn{background:#da7908}.review-form .form-group{margin-bottom:20px}.review-form .form-group label{display:block;font-weight:600;margin-bottom:8px;color:#2c3e50}.review-form .form-group input,.review-form .form-group textarea{width:100%;padding:12px;border:2px solid #dfe6e9;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.review-form .form-group input:focus,.review-form .form-group textarea:focus{outline:none;border-color:#ff6b35}.review-form .form-group input:disabled,.review-form .form-group textarea:disabled{background:#ecf0f1;cursor:not-allowed}.review-form .form-group textarea{resize:vertical;min-height:120px}.review-form .star-rating{display:flex;gap:5px;align-items:center;margin-top:8px}.review-form .star-rating .star{background:none;border:none;font-size:2rem;cursor:pointer;color:#ddd;transition:all .2s ease;padding:5px;line-height:1}.review-form .star-rating .star:hover,.review-form .star-rating .star.active{color:gold;transform:scale(1.2)}.review-form .star-rating .star:disabled{cursor:not-allowed;opacity:.5}.review-form .star-rating .rating-text{margin-left:10px;color:#666;font-size:.9rem;font-weight:500}.review-form .form-message{padding:12px;border-radius:8px;margin-bottom:15px;font-weight:500}.review-form .form-message.success{background:#b3eecc;color:#1e8449;border:2px solid #27ae60}.review-form .form-message.error{background:#fdf3f2;color:#d62c1a;border:2px solid #e74c3c}.review-form .submit-btn{width:100%;padding:15px;background:#ff6b35;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.review-form .submit-btn:hover:not(:disabled){background:#ff4602}.review-form .submit-btn:disabled{background:#95a5a6;cursor:not-allowed}.global-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:40px;padding:0 20px}.global-stats .stat-box{background:#fff;border-radius:15px;padding:10px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .3s ease}.global-stats .stat-box:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.global-stats .stat-box .stat-icon{font-size:3.5rem;flex-shrink:0}.global-stats .stat-box .stat-info{display:flex;flex-direction:column;align-items:center;gap:8px}.global-stats .stat-box .stat-info .stat-number{font-size:2rem;font-weight:700;color:#ff6b35;line-height:1}.global-stats .stat-box .stat-info .stat-label{font-size:1rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px;font-weight:500}.global-stats.loading,.global-stats.error{grid-column:1/-1;text-align:center;padding:20px;background:#ecf0f1;border-radius:12px;color:#2c3e50}.stats-card{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:25px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a}.stats-card h3{font-size:1.3rem;margin-bottom:15px}.stats-card .stats-content .stat-item{display:flex;flex-direction:column;align-items:center}.stats-card .stats-content .stat-item .stat-number{font-size:3rem;font-weight:700;margin-bottom:5px}.stats-card .stats-content .stat-item .stat-label{font-size:1rem;opacity:.9}.stats-card.loading,.stats-card.error{background:#ecf0f1;color:#2c3e50}.reviews-list{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000001a}.reviews-list h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px}.reviews-list .no-reviews{text-align:center;color:#7f8c8d;font-style:italic;padding:20px}.reviews-list .error-message{background:#fdf3f2;color:#d62c1a;padding:15px;border-radius:8px;border:2px solid #e74c3c}.reviews-list.loading{text-align:center;color:#7f8c8d;padding:20px}.reviews-list .reviews-container{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto;padding-right:10px}.reviews-list .reviews-container::-webkit-scrollbar{width:8px}.reviews-list .reviews-container::-webkit-scrollbar-track{background:#ecf0f1;border-radius:10px}.reviews-list .reviews-container::-webkit-scrollbar-thumb{background:#ff6b35;border-radius:10px}.reviews-list .reviews-container::-webkit-scrollbar-thumb:hover{background:#ff4602}.reviews-list .review-item{padding:20px;border-radius:10px;border:2px solid #dfe6e9;border-left:4px solid #ff6b35;transition:transform .2s ease}.reviews-list .review-item:hover{transform:translate(5px)}.reviews-list .review-item .review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:10px}.reviews-list .review-item .review-header .review-author{font-weight:600;color:#ff6b35;font-size:1.1rem}.reviews-list .review-item .review-header .review-rating{display:flex;gap:2px;margin-bottom:8px}.reviews-list .review-item .review-header .review-rating .star{color:gold;font-size:1.2rem}.reviews-list .review-item .review-header .review-rating .star.empty{color:#ddd}.reviews-list .review-item .review-header .review-date{font-size:.85rem;color:#7f8c8d}.reviews-list .review-item .review-content{color:#2c3e50;line-height:1.6}.app-footer{text-align:center;padding:30px;border:2px solid #dfe6e9;margin-top:40px;color:#2c3e50;font-size:.9rem;opacity:.8;background:#fff;box-shadow:0 -2px 8px #0000000d}@media (max-width: 768px){.hero h1{font-size:2rem}.recipes-grid,.recipe-content{grid-template-columns:1fr}}
