*{margin:0;padding:0;box-sizing:border-box}body,input,textarea,select,button{font-family: 'Montserrat',sans-serif;line-height:1.6;color:var(--color-text)}a{color:inherit;text-decoration:none;transition:color 0.2s}a:hover:not(.btn),a:hover:not(.btn) .teaser-overlay span{color:var(--color-accent)}.card-badge{text-shadow:none}.icon{width:1em;height:1em;fill:currentColor;vertical-align:-0.125em}body{background-color:var(--color-bg)}[hidden]{display:none !important}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:white;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;margin-bottom:20px}.btn{display:inline-block;padding:10px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;transition:background-color 0.3s}.btn-primary{background-color:var(--color-primary);color:white}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:white}.btn-secondary:hover{background-color:var(--color-secondary-hover)}.btn-neutral{background-color:var(--color-neutral);color:white}.btn-neutral:hover{background-color:var(--color-neutral-hover)}.btn-success{background-color:var(--color-success);color:white}.btn-success:hover{background-color:var(--color-success-hover)}.btn-danger{background-color:var(--color-danger);color:white}.btn-danger:hover{background-color:var(--color-danger-hover)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:bold}.form-control{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:16px}.form-control:focus{outline:none;border-color:var(--color-accent)}.img-zoom-wrapper{overflow:hidden;display:block}.img-zoom-wrapper img{transition:transform 0.5s ease;display:block}.img-zoom-wrapper:hover img{transform:scale(1.1)}.active-link{color:var(--color-accent) !important;border-bottom:2px solid var(--color-accent)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.recipe-card{background:white;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;cursor:pointer;transition:transform 0.2s;display:block}.recipe-card:hover{transform:translateY(-5px)}.recipe-card-link{text-decoration:none;color:inherit;display:block}.recipe-card-link:hover{text-decoration:none;color:inherit}.recipe-card:hover .recipe-name,.recipe-card-link:hover .recipe-name{color:var(--color-accent)}.recipe-card .recipe-name{transition:color 0.2s}.recipe-card-rating{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:0.9rem;color:var(--color-text-muted)}.loading{text-align:center;padding:40px;font-size:18px}.no-results{text-align:center;margin-top:50px;color:var(--color-text-muted)}.recipe-card-title{margin-bottom:10px}button[disabled]{opacity:0.5;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.social-links{display:flex;gap:15px}.social-icon{color:var(--color-icon);text-decoration:none;font-size:18px;transition:color 0.2s}.social-icon:hover{color:var(--color-accent)}.recipes-toolbar{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.search-wrapper{position:relative;flex:1;min-width:200px}.search-wrapper input{width:100%;padding-right:35px}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:var(--color-text-light);font-size:18px;padding:0;line-height:1}.card-actions{display:flex;justify-content:space-between;align-items:stretch;gap:10px}.card-actions [data-details]{width:100%;text-align:center}.recipe-category-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem}.recipe-category-tag{padding:4px 12px;background:var(--color-accent-bg);border:1px solid var(--color-accent);border-radius:16px;color:var(--color-accent);font-size:0.85rem;font-weight:500}.site-header{background:white;box-shadow:0 2px 10px rgba(0,0,0,0.05);z-index:1000}.sticky-nav{position:fixed;top:0;left:0;right:0;background:white;box-shadow:0 2px 10px rgba(0,0,0,0.1);z-index:1100;transform:translateY(-100%);transition:transform 0.3s ease-in-out;padding:10px 0}.sticky-nav.visible{transform:translateY(0)}.sticky-nav-content{display:flex;justify-content:space-between;align-items:center}.logo-small{font-family: 'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--color-text);margin:0;cursor:pointer;text-decoration:none}.logo-small span{font-family: 'Dancing Script',cursive;color:var(--color-accent);font-size:20px}.nav-links-small{display:flex;list-style:none;margin:0;padding:0;gap:30px}.menu-toggle-sticky{display:none;background:none;border:none;cursor:pointer;padding:5px}.nav-links-small li a{color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:14px;text-transform:uppercase;transition:color 0.2s}.nav-links-small li a:hover,.nav-links-small li a.active-link{color:var(--color-accent)}.top-bar{background:#fdfdfd;border-bottom:1px solid var(--color-border-light);padding:8px 0;font-size:13px}.top-bar-content{display:flex;justify-content:space-between;align-items:center}.utility-links{display:flex;align-items:center;gap:20px}.utility-links a{color:#555;text-decoration:none;transition:color 0.2s}.utility-links a:hover{color:var(--color-accent)}.logo-section{padding:30px 0;text-align:center}.logo{font-family: 'Playfair Display',serif;font-size:42px;font-weight:700;letter-spacing:2px;color:var(--color-text);margin:0;cursor:pointer}.logo span{font-family: 'Dancing Script',cursive;color:var(--color-accent);font-weight:400;font-size:36px;margin-left:-5px;text-transform:none;letter-spacing:0}.main-nav{border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);background:white}.main-nav .container{display:flex;justify-content:center;position:relative}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:40px}.nav-links li a{display:block;padding:15px 0;color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:15px;letter-spacing:1px;text-transform:uppercase;transition:color 0.2s;border-bottom:2px solid transparent}.nav-links li a:hover,.nav-links li a.active-link{color:var(--color-accent);border-bottom-color:var(--color-accent)}.menu-toggle,.menu-close,.mobile-only{display:none}.main-content{min-height:calc(100vh - 400px)}.site-footer{background:#2c2c2c;color:var(--color-border-light);padding:60px 0 20px;margin-top:60px}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}.footer-logo{font-family: 'Playfair Display',serif;font-size:28px;margin-bottom:15px}.footer-logo span{font-family: 'Dancing Script',cursive;color:var(--color-accent)}.footer-section h4{text-transform:uppercase;font-size:14px;letter-spacing:1px;margin-bottom:20px;color:var(--color-accent)}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:10px}.footer-section ul li a{color:var(--color-text-lighter);text-decoration:none;transition:color 0.2s}.footer-section ul li a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-text-secondary);padding-top:20px;text-align:center;font-size:13px;color:var(--color-icon)}.footer-social{margin-top:20px;justify-content:flex-start}.footer-social .social-icon{font-size:20px;color:var(--color-text-lighter)}.footer-social .social-icon:hover{color:var(--color-accent)}.dashboard-container{background-color:#fff}.dashboard-container .container{padding:40px 20px}.teaser-section{padding-top:20px;padding-bottom:0}.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.teaser-box{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:2/3}.teaser-image-wrap{width:100%;height:100%;position:relative}.teaser-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.teaser-box:hover img{transform:scale(1.1)}.teaser-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));padding:20px 10px 10px;color:white;text-align:center;font-weight:bold}.search-section{background-color:#f9f9f9;text-align:center;padding:60px 0}.search-title{margin-bottom:30px}.main-title{display:block;font-size:2.5rem;color:var(--color-text)}.script-title{display:block;font-family: 'Dancing Script',cursive;font-size:3rem;color:var(--color-accent);margin-top:-10px}.search-bar{max-width:600px;margin:0 auto 40px;display:flex;position:relative}.search-bar input{width:100%;padding:15px 25px;border:1px solid var(--color-border);border-radius:30px;font-size:1.1rem;box-shadow:0 4px 6px rgba(0,0,0,0.05)}.search-bar button{position:absolute;right:5px;top:5px;bottom:5px;width:50px;border-radius:50%;background:var(--color-accent);color:white;border:none;cursor:pointer}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;background:white;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:left;max-height:60vh;overflow-y:auto;padding:8px 0}.search-results-section + .search-results-section{border-top:1px solid var(--color-border-light);margin-top:4px;padding-top:4px}.search-results-heading{margin:0;padding:6px 20px;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}.search-result-item{display:block;padding:8px 20px;color:var(--color-text);font-size:0.95rem;text-decoration:none}.search-result-item:hover,.search-result-item:focus{background:var(--color-accent-bg);color:var(--color-accent)}.search-result-item mark{background:var(--color-accent-bg);color:var(--color-accent);font-weight:600;border-radius:3px;padding:0 1px}.search-results-empty{margin:0;padding:10px 20px;color:var(--color-text-muted);font-size:0.95rem}.category-tags{margin-top:20px}.categories-section{padding:20px 0 60px;text-align:center}.categories-section .category-tags{margin-top:0}.tags-label{display:block;margin-bottom:15px;font-weight:bold;color:var(--color-text-muted)}.tags-container{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.category-tag{padding:8px 20px;background:white;border:1px solid var(--color-accent);border-radius:20px;color:var(--color-accent);text-decoration:none;transition:all 0.2s}.category-tag:hover{background:var(--color-accent);color:white}.announcement-section{padding:50px 0}.announcement-container{display:flex;align-items:center;gap:40px;border-radius:var(--radius-md)}.announcement-image{flex:0 0;height:300px;object-fit:cover;border-radius:var(--radius-md)}.announcement-body{flex:1;min-width:0}.announcement-body h2{margin-bottom:10px}.announcement-content{margin-top:0}@media (max-width:768px){.announcement-container{flex-direction:column;text-align:center}.announcement-image{width:100%;height:auto;max-height:220px}}.custom-html-section{padding:20px 0}.popular-section{background:var(--color-accent-bg);padding:60px 0;margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.section-header h2{font-size:2rem;color:var(--color-text)}.view-all{color:var(--color-accent);text-decoration:none;font-weight:bold}.recipe-slider{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.recipe-card-mini{background:white;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,0.05)}.mini-image{aspect-ratio:1;overflow:hidden}.mini-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.recipe-card-mini:hover img{transform:scale(1.1)}.mini-title{padding:15px;text-align:center;font-weight:bold}.mini-title a{color:var(--color-text);text-decoration:none}@media (max-width:840px){.container{padding:10px}.recipe-grid{grid-template-columns:1fr;gap:15px}.grid{grid-template-columns:1fr;gap:10px}.nav-links-small{display:none}.sticky-nav-content{justify-content:space-between;padding:0 20px}.logo-small{font-size:20px}.menu-toggle-sticky{display:block}.top-bar{display:none}.logo{font-size:32px}.logo span{font-size:28px}.menu-toggle{display:flex;align-items:center;gap:10px;background:none;border:none;padding:15px;width:100%;justify-content:center;color:var(--color-text-secondary);font-weight:600;cursor:pointer}.hamburger{width:20px;height:2px;background:var(--color-text-secondary);position:relative}.hamburger::before,.hamburger::after{content: '';position:absolute;width:20px;height:2px;background:var(--color-text-secondary);left:0}.hamburger::before{top:-6px}.hamburger::after{bottom:-6px}.nav-links{display:none;flex-direction:column;gap:0;width:100%}.nav-links.open{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:white;z-index:2000;flex-direction:column;justify-content:center;align-items:center}.nav-links.open li{width:100%;text-align:center;border:none}.nav-links.open li a{font-size:24px;padding:20px}.mobile-only{display:block}.nav-links.open .menu-close{display:block;position:absolute;top:20px;right:30px;background:none;border:none;font-size:40px;color:var(--color-text-secondary);cursor:pointer}.nav-links li a{padding:15px}.footer-content{grid-template-columns:1fr}}@media (max-width:768px){.teaser-grid{grid-template-columns:repeat(2,1fr)}.recipe-slider{grid-template-columns:repeat(2,1fr)}}.blog-list{display:grid;gap:25px}.blog-teaser{background:white;border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;display:grid;grid-template-columns:280px 1fr}.blog-teaser:only-child,.blog-teaser:not(:has(.blog-teaser-image)){grid-template-columns:1fr}.blog-teaser-image{display:block;overflow:hidden}.blog-teaser-image img{width:100%;height:100%;min-height:200px;object-fit:cover;transition:transform 0.5s ease}.blog-teaser:hover .blog-teaser-image img{transform:scale(1.1)}.blog-teaser-body{padding:20px 25px}.blog-teaser-body h3{margin:5px 0 10px;transition:color 0.2s}.blog-teaser-body p{color:var(--color-text-muted)}.blog-date{display:block;font-size:0.85rem;color:var(--color-text-light);letter-spacing:1px;text-transform:uppercase}.blog-more{display:inline-block;margin-top:15px;color:var(--color-accent);font-weight:bold}.blog-article .blog-date{margin-bottom:5px}.blog-content{margin-top:20px;line-height:1.8}.blog-content>* + *{margin-top:1em}.blog-content h1,.blog-content h2,.blog-content h3{font-family: 'Playfair Display',serif;line-height:1.3}.blog-content ul,.blog-content ol{padding-left:1.5em}.blog-content a{color:var(--color-accent);text-decoration:underline}.blog-content blockquote{border-left:3px solid var(--color-accent);padding-left:15px;color:var(--color-text-muted);font-style:italic}.blog-content img{max-width:100%;height:auto;border-radius:var(--radius-md)}.blog-content pre{background:var(--color-bg);padding:15px;border-radius:var(--radius-md);overflow-x:auto}.blog-content code{font-family:monospace}.blog-content table{border-collapse:collapse;width:100%;margin:1em 0;display:block;overflow-x:auto}.blog-content th,.blog-content td{border:1px solid var(--tbl-border,transparent);padding:8px 12px;vertical-align:top}.blog-content th{background:inherit;text-align:left}@media (max-width:768px){.blog-teaser{grid-template-columns:1fr}}.recipe-rating-section{margin-top:2rem;padding:1.5rem;background:white;border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.rating-widget{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.star-rating{display:inline-flex;gap:2px;font-size:1.5rem;cursor:pointer}.star-rating .star{color:#ccc;transition:color 0.15s;user-select:none}.star-rating .star:hover{color:#f4a261 !important}.rating-summary{display:flex;align-items:center;gap:8px;font-size:0.9rem;color:var(--color-text-muted)}.rating-number{font-size:1.2rem;font-weight:bold;color:var(--color-accent)}.rating-stars{font-size:1.1rem;color:#f4a261}.rating-count{font-size:0.85rem}.rating-collapse-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px 8px;font-size:0.9rem;transition:color 0.2s}.rating-collapse-btn:hover{color:var(--color-accent)}.submitted-rating{margin-top:1rem;padding:1rem;background:var(--color-bg-alt);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent)}.submitted-rating-header{display:flex;align-items:center;gap:8px;margin-bottom:0.5rem}.submitted-rating-name{font-weight:600;color:var(--color-text)}.submitted-rating-value{font-size:1.3rem;color:#f4a261}.submitted-review{margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid var(--color-border-light);font-style:italic;color:var(--color-text-muted)}.rating-form{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.rating-form .form-control{margin-top:0.5rem}.rating-form textarea.form-control{resize:vertical;min-height:60px}.rating-form .btn-primary{margin-top:0.5rem}@media (max-width:768px){.recipe-rating-section{padding:1rem}.rating-widget{flex-direction:column;align-items:flex-start}.star-rating{font-size:1.3rem}}:root{--color-accent:#e9967a;--color-accent-bg:#fdf2f3;--color-text:#333;--color-text-secondary:#444;--color-text-muted:#666;--color-text-light:#999;--color-text-lighter:#bbb;--color-icon:#888;--color-border:#ddd;--color-border-light:#eee;--color-bg:#f4f4f4;--color-bg-alt:#fafafa;--color-primary:#007bff;--color-primary-hover:#0056b3;--color-secondary:#6c757d;--color-secondary-hover:#545b62;--color-neutral:#999999;--color-neutral-hover:#777777;--color-success:#28a745;--color-success-hover:#218838;--color-danger:#dc3545;--color-danger-hover:#c82333;--radius-sm:4px;--radius-md:8px;--shadow-card:0 2px 5px rgba(0,0,0,0.33)}