*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#3d3832;background-color:#f2efe9;--bg-page: #f2efe9;--bg-surface: #faf7f2;--bg-card: #fdfbf8;--bg-nav: #f8f5f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-page)}a{font-weight:500;text-decoration:inherit}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:600}.redazione-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8b7355;background:#8b73551f;border:1px solid rgba(139,115,85,.25);border-radius:999px}.redazione-badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.footer-heading-link{color:inherit;text-decoration:none;font-weight:inherit}.footer-heading-link:hover{text-decoration:underline;color:inherit}.navbar{background:var(--bg-nav, #f8f5f0);box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{max-width:1400px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative}.logo-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.logo{display:flex;gap:.5rem;font-size:1.35rem;font-weight:700;color:#8b4513;font-family:Georgia,serif;text-decoration:none;min-height:44px;align-items:center}.logo:hover{color:#6d3410}.logo-icon{font-size:1.5rem}.logo-subtitle{font-size:.7em;font-weight:400;opacity:.85}.user-greeting{color:#666;font-size:.9rem;white-space:nowrap}.nav-toggle{display:none;width:36px;height:36px;padding:0;border:2px solid #d2691e;border-radius:6px;background:var(--bg-card, #fdfbf8);color:#5a4a3a;font-size:1.2rem;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.nav-toggle:hover{background:#d2691e1a}.nav-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}@media(min-width:769px){.nav-links{display:flex!important;position:static}.nav-toggle{display:none!important}}.nav-link{color:#5a4a3a;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s;padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center}.auth-buttons{display:flex;align-items:center;gap:.75rem}.btn-login,.btn-publish,.btn-subscribe{padding:.65rem 1.25rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #d2691e;border-radius:6px;font-weight:600;font-size:.9rem;line-height:1.2;cursor:pointer;text-decoration:none;transition:all .3s;box-sizing:border-box;text-align:center;width:auto}.btn-login{background:transparent;color:#d2691e}.btn-login:hover{background:#d2691e;color:#fff}.btn-publish{background:#5a4a3a;color:#fff;border-color:#5a4a3a}.btn-publish-text-mobile{display:none}.btn-publish-text-full{display:inline}.btn-publish:hover{background:#4a3a2a}.btn-subscribe{background:#d2691e;color:#fff;border:none}.btn-subscribe:hover{background:#b85a1a}@media(max-width:768px){.nav-container{padding:.5rem .75rem;flex-wrap:nowrap;gap:.5rem}.logo-section{gap:.5rem;flex-shrink:0;flex:1;min-width:0}.logo{font-size:.95rem;flex-shrink:0;min-height:auto}.logo-icon{font-size:1.1rem}.logo-text{font-size:.95rem}.logo-subtitle{font-size:.65em}.user-greeting{font-size:.75rem;white-space:nowrap;flex-shrink:0;display:none}.nav-toggle{display:flex!important;flex-shrink:0}.nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;background:var(--bg-nav, #f8f5f0);flex-direction:column;align-items:stretch;padding:.75rem;gap:0;box-shadow:0 8px 24px #0000001f;border-top:1px solid #e8e8e8;max-height:calc(100vh - 70px);overflow-y:auto;z-index:999}.nav-links--open{display:flex!important}.nav-links .nav-link,.nav-links .user-greeting,.nav-links .auth-buttons{padding:.75rem 1rem;min-height:44px;border-bottom:1px solid rgba(0,0,0,.06);justify-content:flex-start;width:100%}.nav-links .user-greeting{display:block;font-size:.85rem;color:#666}.nav-links .auth-buttons{flex-direction:column;border-bottom:none;gap:.5rem;padding:.75rem 1rem}.nav-links .btn-login,.nav-links .btn-publish,.nav-links .btn-subscribe{width:100%;justify-content:center;align-items:center;text-align:center;min-height:44px;font-size:.9rem;padding:.65rem 1.25rem}.btn-publish-text-full{display:inline}.btn-publish-text-mobile{display:none}}@media(max-width:480px){.nav-container{padding:.4rem .5rem}.logo,.logo-text{font-size:.85rem}.logo-subtitle{font-size:.6em}.logo-icon{font-size:1rem}.nav-toggle{width:32px;height:32px;font-size:1rem}.nav-links{padding:.5rem}.nav-links .nav-link,.nav-links .user-greeting,.nav-links .auth-buttons{padding:.65rem .75rem;min-height:40px;font-size:.85rem}.nav-links .btn-login,.nav-links .btn-publish,.nav-links .btn-subscribe{min-height:40px;font-size:.85rem;padding:.6rem 1rem;justify-content:center;align-items:center;text-align:center}}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.hero-section{position:relative;min-height:600px;background:linear-gradient(#0006,#0006),url(https://images.unsplash.com/photo-1556911220-bff31c812dba?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:flex-start;padding:4rem 2rem}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#8b45134d,#d2691e4d)}.hero-content{position:relative;z-index:1;max-width:1400px;width:100%;margin:0 auto;max-width:700px}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;color:#fff;font-family:Georgia,serif;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-description{font-size:1.2rem;color:#fff;line-height:1.7;margin-bottom:2.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.hero-email-form{display:flex;gap:.75rem;max-width:500px}.email-input{flex:1;padding:1rem 1.25rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#fffffff2;font-size:1rem;outline:none;transition:border-color .3s}.email-input:focus{border-color:#d2691e}.btn-hero{padding:1rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s;white-space:nowrap}.btn-hero:hover{background:#b85a1a}.featured-recipe-section{padding:3rem 0;background:var(--bg-card, #fdfbf8)}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem}.section-title{font-size:2rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin:0}.editor-choice{display:flex;align-items:center;gap:.5rem;color:#d2691e;font-weight:600}.star-icon{font-size:1.25rem}.featured-recipe-card{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--bg-card, #fdfbf8);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;max-width:900px;margin:0 auto}.featured-recipe-card--redazione{border-left:4px solid #b8956b;background:linear-gradient(to right,rgba(184,149,107,.06),var(--bg-card, #fdfbf8))}.featured-recipe-card .recipe-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.featured-recipe-image{position:relative;min-height:260px;overflow:hidden}.featured-recipe-image img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center;transform:scale(1.35)}.recipe-image-placeholder{width:100%;height:100%;min-height:260px;background-size:cover;background-position:center}.recipe-image-placeholder.lasagna:after{content:"🍝";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3.5rem}.featured-recipe-content{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.recipe-tags{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tag{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.tag-main,.tag-pasta,.tag-soup,.tag-dessert{background:#d2691e;color:#fff}.tag-time{background:#f0ede8;color:#5a4a3a}.tag-likes{background:#ffebee;color:#e91e63}.recipe-title{font-size:1.6rem;font-weight:700;color:#5a4a3a;margin-bottom:.75rem;font-family:Georgia,serif;line-height:1.3}.featured-recipe-card .recipe-description{font-size:1rem;color:#666;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.recipe-author{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.author-avatar{width:40px;height:40px;border-radius:50%;background:#d2691e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.author-avatar--redazione{background:linear-gradient(145deg,#2c3e50,#1a252f);border:2px solid #c9a227;box-shadow:0 2px 12px #c9a22759}.author-avatar--redazione .author-avatar-redazione-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.author-info{display:flex;flex-direction:column;gap:.25rem}.author-name{font-weight:600;color:#5a4a3a}.recipe-date{font-size:.875rem;color:#999}.btn-view-recipe{padding:1rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s;align-self:flex-start}.btn-view-recipe:hover{background:#b85a1a}.featured-recipe-card .btn-view-recipe{padding:.65rem 1.25rem;font-size:.9rem}.latest-recipes-section{padding:5rem 0;background:var(--bg-page, #f2efe9)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.recipes-cta-section{display:flex;justify-content:center;align-items:center;padding:2rem 0;margin-top:2rem}.btn-view-all-recipes{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;background:#d2691e;color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1.1rem;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px #d2691e4d;font-family:Georgia,serif}.btn-view-all-recipes:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 6px 16px #d2691e66}.btn-view-all-recipes .btn-icon{font-size:1.5rem}.btn-view-all-recipes .btn-text{font-size:1.1rem}.btn-view-all-recipes .btn-arrow{font-size:1.3rem;transition:transform .3s ease}.btn-view-all-recipes:hover .btn-arrow{transform:translate(4px)}.recipe-card{background:var(--bg-card, #fdfbf8);border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;text-decoration:none;color:inherit}.recipe-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.recipe-card--redazione{border-left:3px solid #b8956b;background:linear-gradient(to right,rgba(184,149,107,.05),var(--bg-card, #fdfbf8))}.recipe-card--redazione .recipe-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.recipe-card-image{width:100%;height:250px;background-size:cover;background-position:center;position:relative;overflow:hidden}.recipe-card-image img{width:100%;height:100%;object-fit:cover}.recipe-card-image.gnocchi{background:linear-gradient(135deg,#ffd89b,#ffb347);position:relative}.recipe-card-image.gnocchi:after{content:"🥟";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-card-image.ribollita{background:linear-gradient(135deg,#f4a460,#daa520);position:relative}.recipe-card-image.ribollita:after{content:"🍲";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-card-image.tiramisu{background:linear-gradient(135deg,#deb887,peru);position:relative}.recipe-card-image.tiramisu:after{content:"🍰";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.recipe-card-content h4{font-size:1.5rem;font-weight:700;color:#5a4a3a;margin:1rem 0 .75rem;font-family:Georgia,serif}.recipe-card-content p{color:#666;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;flex:1}.recipe-card-author{font-size:.875rem;color:#999;margin-bottom:1rem}.btn-recipe-card{display:inline-block;padding:.75rem 1.5rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;text-align:center;transition:all .3s ease;margin-top:auto;width:100%;box-sizing:border-box}.btn-recipe-card:hover{background:#b85a1a;transform:translateY(-1px);box-shadow:0 2px 8px #d2691e4d}.categories-section{padding:5rem 0;background:var(--bg-card, #fdfbf8)}.categories-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}.category-card{background:var(--bg-page, #f2efe9);padding:2.5rem 2rem;border-radius:12px;text-align:center;transition:transform .3s,box-shadow .3s;cursor:pointer}.category-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.category-icon{font-size:3.5rem;margin-bottom:1rem}.category-card h3{font-size:1.5rem;font-weight:700;color:#5a4a3a;margin-bottom:.5rem;font-family:Georgia,serif}.category-card p{color:#999;font-size:.95rem}.story-section{padding:5rem 0;background:var(--bg-page, #f2efe9)}.story-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.story-image{position:relative}.story-image-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#d4a574,#8b4513);border-radius:12px;position:relative}.story-image-placeholder:after{content:"👵";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem}.story-label{display:block;font-size:.875rem;font-weight:700;color:#d2691e;text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem}.story-text h2{font-size:2.5rem;font-weight:700;color:#5a4a3a;margin-bottom:1.5rem;font-family:Georgia,serif;line-height:1.3}.story-text p{font-size:1.1rem;color:#666;line-height:1.8;margin-bottom:2rem}.story-link{color:#d2691e;text-decoration:none;font-weight:600;font-size:1.1rem;transition:color .3s}.story-link:hover{color:#b85a1a}.subscription-section{padding:5rem 0;background:#d2691e;color:#fff}.subscription-content{max-width:700px;margin:0 auto;text-align:center}.subscription-icon{font-size:3rem;margin-bottom:1.5rem}.subscription-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;font-family:Georgia,serif}.subscription-content>p{font-size:1.1rem;line-height:1.7;margin-bottom:2rem;opacity:.95}.subscription-form{display:flex;gap:.75rem;max-width:500px;margin:0 auto 1.5rem}.subscription-input{flex:1;padding:1rem 1.25rem;border:none;border-radius:8px;font-size:1rem;outline:none}.subscription-input:focus{box-shadow:0 0 0 3px #ffffff4d}.btn-subscribe-form{padding:1rem 2rem;background:#5a4a3a;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s;white-space:nowrap}.btn-subscribe-form:hover{background:#4a3a2a}.subscription-proof{font-size:.9rem;opacity:.9;margin-top:1rem}.footer{background:#5a4a3a;color:#fff;padding:4rem 0 2rem}@media(max-width:1024px){.hero-title{font-size:2.75rem}.featured-recipe-card,.story-content{grid-template-columns:1fr}}@media(max-width:768px){.container{padding:0 1rem}.featured-recipe-section{padding:3rem 0}.featured-recipe-card{grid-template-columns:1fr}.featured-recipe-content{padding:1.5rem 1rem}.featured-recipe-image,.featured-recipe-image img,.recipe-image-placeholder{min-height:220px}.latest-recipes-section .container{padding:0 1rem}.recipes-grid{grid-template-columns:1fr;gap:1.25rem}.hero-title{font-size:2.25rem}.hero-description{font-size:1rem}.hero-email-form{flex-direction:column}.btn-hero{width:100%}.section-title{font-size:2rem}.recipe-title{font-size:1.5rem}.recipes-grid{grid-template-columns:1fr}.btn-view-all-recipes{padding:1rem 2rem;font-size:1rem}.categories-grid{grid-template-columns:repeat(5,1fr);gap:1rem}.footer-content,.footer-links{grid-template-columns:1fr}.subscription-form{flex-direction:column}.btn-subscribe-form{width:100%}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.container{padding:0 .75rem}.hero-section{min-height:480px;padding:2rem .75rem}.hero-title{font-size:1.75rem}.hero-description{font-size:1rem}.featured-recipe-content{padding:1.25rem .75rem}.recipe-title{font-size:1.25rem}.btn-view-all-recipes{padding:.9rem 1.5rem;font-size:.95rem;width:100%;max-width:100%}.btn-view-all-recipes .btn-icon{font-size:1.3rem}.btn-view-all-recipes .btn-arrow{font-size:1.1rem}.btn-view-recipe{width:100%;text-align:center}.categories-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.category-card{padding:1.5rem 1rem}.category-icon{font-size:2.5rem}.category-card h3{font-size:1.1rem}.category-card p{font-size:.85rem}}.blog-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.blog-main{flex:1;padding:4rem 0}.blog-container{max-width:1200px;margin:0 auto;padding:0 2rem}.blog-header{text-align:center;margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid #e8e8e8}.blog-header h1{font-size:3rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem}.blog-header p{font-size:1.2rem;color:#666;font-weight:400}.blog-categories-section{margin-bottom:3rem}.blog-categories-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}.blog-category-card{background:var(--bg-surface, #faf7f2);padding:1.75rem 1.25rem;border-radius:10px;text-align:center;transition:all .3s ease;cursor:pointer;border:2px solid transparent;-webkit-user-select:none;user-select:none}.blog-category-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001a;border-color:#d2691e;background:var(--bg-card, #fdfbf8)}.blog-category-card.active{background:var(--bg-card, #fdfbf8);border-color:#d2691e;box-shadow:0 4px 12px #d2691e33;transform:translateY(-2px)}.blog-category-card.active:hover{transform:translateY(-3px);box-shadow:0 6px 16px #d2691e4d}.category-filter-info{margin-top:1.5rem;padding:1rem;background:#fff3e0;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.category-filter-info span{color:#5a4a3a;font-size:.95rem}.category-filter-info strong{color:#d2691e;font-weight:600}.btn-clear-filter{padding:.5rem 1rem;background:transparent;color:#d2691e;border:1px solid #d2691e;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s}.btn-clear-filter:hover{background:#d2691e;color:#fff}.blog-category-icon{font-size:2.5rem;margin-bottom:.75rem}.blog-category-card h3{font-size:1.1rem;font-weight:700;color:#5a4a3a;margin-bottom:.5rem;font-family:Georgia,serif}.blog-category-card p{color:#999;font-size:.85rem;margin:0}.search-section{margin-bottom:3rem}.search-container{position:relative;display:flex;align-items:center;max-width:700px;margin:0 auto;background:var(--bg-card, #fdfbf8);border:2px solid #e8e8e8;border-radius:12px;padding:.75rem 1.25rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.search-container:focus-within{border-color:#d2691e;box-shadow:0 4px 16px #d2691e26}.search-container--searching{border-color:#d2691e66}.searching-indicator{font-size:.85rem;color:#8b7355;margin-left:auto;padding-left:.75rem;animation:searchPulse 1.2s ease-in-out infinite}@keyframes searchPulse{0%,to{opacity:.7}50%{opacity:1}}.blog-posts--searching{opacity:.88;transition:opacity .2s ease}.search-icon{font-size:1.25rem;color:#999;margin-right:.75rem;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:1rem;color:#333;background:transparent;font-family:inherit}.search-input::placeholder{color:#999}.search-clear{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0 .5rem;line-height:1;transition:color .3s;flex-shrink:0}.search-clear:hover{color:#d2691e}.search-diet-filters{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.search-diet-checkbox{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#5a4a3a;-webkit-user-select:none;user-select:none}.search-diet-input{width:1.1rem;height:1.1rem;accent-color:#b8956b;cursor:pointer}.search-diet-label{white-space:nowrap}.search-order-by{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.search-order-label{font-size:.9rem;color:#5a4a3a;font-weight:500}.search-order-btn{padding:.4rem 1rem;font-size:.9rem;border:1px solid #d4c4b0;border-radius:8px;background:var(--bg-card, #fdfbf8);color:#5a4a3a;cursor:pointer;transition:all .2s}.search-order-btn:hover{border-color:#b8956b;background:#b8956b14}.search-order-btn.active{background:#b8956b;border-color:#b8956b;color:#fff}.search-results-info{text-align:center;margin-top:1rem;color:#666;font-size:.95rem}.loading-container,.error-container{text-align:center;padding:4rem 2rem;background:var(--bg-card, #fdfbf8);border-radius:12px;box-shadow:0 2px 12px #00000014}.loading-spinner{font-size:1.1rem;color:#666}.btn-retry{margin-top:1rem;padding:.75rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-retry:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.error-container p{color:#c33;margin-bottom:1rem}.no-results{text-align:center;padding:4rem 2rem;background:var(--bg-card, #fdfbf8);border-radius:12px;box-shadow:0 2px 12px #00000014}.no-results-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-results h3{font-size:1.75rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:.75rem}.no-results p{color:#666;font-size:1.1rem;margin-bottom:2rem}.no-results-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-clear-search{background:#d2691e;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s}.btn-clear-search:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.blog-posts{display:flex;flex-direction:column;gap:3rem}.blog-post-card{background:var(--bg-card, #fdfbf8);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s ease;display:grid;grid-template-columns:400px 1fr;gap:0}.blog-post-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.blog-post-card--redazione{border-left:3px solid #b8956b;background:linear-gradient(to right,rgba(184,149,107,.04),var(--bg-card, #fdfbf8))}.blog-post-card--redazione .post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.post-image{position:relative;overflow:hidden}.post-image-placeholder{width:100%;height:100%;min-height:300px;background-size:cover;background-position:center;transition:transform .3s ease}.post-image-img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .3s ease}.blog-post-card:hover .post-image-placeholder,.blog-post-card:hover .post-image-img{transform:scale(1.05)}.post-image-placeholder.lasagna{background:linear-gradient(135deg,#d2691e,#8b4513);position:relative}.post-image-placeholder.lasagna:after{content:"🍝";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem}.post-image-placeholder.gnocchi{background:linear-gradient(135deg,#ffd89b,#ffb347);position:relative}.post-image-placeholder.gnocchi:after{content:"🥟";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem}.post-image-placeholder.ribollita{background:linear-gradient(135deg,#f4a460,#daa520);position:relative}.post-image-placeholder.ribollita:after{content:"🍲";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem}.post-image-placeholder.tiramisu{background:linear-gradient(135deg,#deb887,peru);position:relative}.post-image-placeholder.tiramisu:after{content:"🍰";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem}.post-content{padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between}.post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.post-category{background:#d2691e;color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.post-date{color:#999;font-size:.9rem}.dietary-badges-card{display:flex;gap:.4rem;align-items:center}.dietary-badge-card{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;width:28px;height:28px;border-radius:50%;background:#d2691e1a;border:1px solid rgba(210,105,30,.2);transition:all .2s}.dietary-badge-card:hover{background:#d2691e26;border-color:#d2691e4d;transform:scale(1.1)}.post-title{font-size:2rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem;line-height:1.3}.post-excerpt{font-size:1.1rem;color:#666;line-height:1.7;margin-bottom:1.5rem;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.post-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid #f0f0f0}.post-actions{display:flex;align-items:center;gap:1rem}.post-author{display:flex;flex-direction:column;gap:.25rem}.author-name{font-weight:600;color:#5a4a3a;font-size:.95rem}.read-time{font-size:.85rem;color:#999}.read-more{color:#d2691e;text-decoration:none;font-weight:600;font-size:1rem;transition:color .3s}.read-more:hover{color:#b85a1a}.btn-like-small{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card, #fdfbf8);border:1px solid #e8e8e8;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s;color:#5a4a3a}.btn-like-small:hover:not(:disabled){background:#fff3e0;border-color:#d2691e;transform:translateY(-1px)}.btn-like-small.liked{background:#ffebee;border-color:#e91e63;color:#e91e63}.btn-like-small.liked:hover:not(:disabled){background:#fce4ec}.btn-like-small:disabled{opacity:.6;cursor:not-allowed}.like-icon-small{font-size:1rem}.like-count-small{font-weight:600;font-size:.85rem}.like-info-small{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;color:#999;font-size:.9rem}.load-more-container{text-align:center;margin-top:4rem;padding-top:3rem;border-top:1px solid #e8e8e8}.btn-load-more{background:transparent;color:#d2691e;border:2px solid #d2691e;padding:1rem 2.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s}.btn-load-more:hover{background:#d2691e;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.footer{background:#5a4a3a;color:#fff;padding:4rem 0 2rem;margin-top:4rem}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-column h4{font-weight:700;margin-bottom:1rem;font-size:1.1rem}.footer-column a{display:block;color:#ffffffb3;text-decoration:none;margin-bottom:.75rem;transition:color .3s}.footer-column a:hover{color:#fff}.social-icons{display:flex;gap:1rem;margin-top:.5rem}.social-icons a{width:40px;height:40px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:background .3s}.social-icons a:hover{background:#fff3}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#ffffffb3;margin:0}.footer-legal a{color:#ffffffb3;text-decoration:none;transition:color .3s}@media(max-width:1024px){.blog-post-card{grid-template-columns:1fr}.post-image{min-height:250px}}@media(max-width:768px){.blog-main{padding:2rem 0}.blog-container{padding:0 1rem}.blog-header{margin-bottom:2.5rem;padding-bottom:1.5rem}.blog-header h1{font-size:2.25rem}.blog-header p{font-size:1.1rem}.blog-categories-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.blog-category-card{padding:1.5rem 1rem}.blog-category-icon{font-size:2rem}.blog-category-card h3{font-size:1rem}.blog-category-card p{font-size:.8rem}.search-section{margin-bottom:2rem}.search-container{padding:.75rem 1rem;margin:0 .5rem;max-width:none}.search-input{font-size:1rem;min-height:44px}.search-diet-filters{gap:1rem;margin-top:.75rem}.search-diet-checkbox{min-height:44px;padding:.25rem 0}.search-order-by{gap:.5rem;margin-top:.75rem}.search-order-btn{min-height:44px;padding:.5rem 1rem}.search-results-info{font-size:.9rem}.post-content{padding:2rem}.post-title{font-size:1.75rem}.post-footer{flex-direction:column;align-items:flex-start;gap:1rem}.footer-content,.footer-links{grid-template-columns:1fr}}@media(max-width:480px){.blog-main{padding:1.5rem 0}.blog-container{padding:0 .75rem}.blog-header{margin-bottom:2rem}.blog-header h1{font-size:1.75rem}.search-section{margin-bottom:1.5rem}.search-container{padding:.65rem .75rem;margin:0 .25rem}.search-input::placeholder{font-size:.9rem}.no-results{padding:3rem 1.5rem}.no-results-icon{font-size:3rem}.no-results h3{font-size:1.5rem}.post-content{padding:1.5rem}.post-title{font-size:1.5rem}.post-excerpt{font-size:1rem}.blog-categories-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.blog-category-card{padding:1rem .5rem;min-height:80px}.blog-category-icon{font-size:1.75rem}.blog-category-card h3{font-size:.95rem}}.share-button-container{position:relative}.btn-share{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--bg-card, #fdfbf8);border:2px solid #d2691e;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;color:#5a4a3a}.btn-share:hover{background:#fff3e0;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e33}.share-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.share-icon svg{width:100%;height:100%}.share-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card, #fdfbf8);border-radius:16px;box-shadow:0 8px 32px #0003;z-index:1001;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.share-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #f0f0f0}.share-menu-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif}.share-menu-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.share-menu-close:hover{color:#5a4a3a}.share-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1.5rem}.share-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:#fff;border:2px solid #f0f0f0;border-radius:12px;cursor:pointer;transition:all .3s;text-decoration:none;color:#5a4a3a}.share-option:hover{border-color:var(--option-color, #d2691e);background:rgba(var(--option-color-rgb, 210, 105, 30),.05);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.share-option-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.share-option-icon svg{width:100%;height:100%}.share-option-name{font-weight:600;font-size:.95rem;color:#5a4a3a}.share-option-copied{background:#e8f5e9!important;border-color:#4caf50!important;color:#2e7d32!important}.share-option-copied .share-option-name{color:#2e7d32!important;font-weight:700}@media(max-width:768px){.share-menu{width:95%;max-width:none}.share-options{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem}.share-option{padding:1rem .75rem}.share-option-icon{width:28px;height:28px}.share-option-name{font-size:.85rem}}@media(max-width:480px){.share-options{grid-template-columns:1fr}.share-option{flex-direction:row;justify-content:flex-start;padding:1rem}.share-option-icon{width:24px;height:24px}}.recipe-detail-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.recipe-detail-main{flex:1;padding:3rem 0}.recipe-detail-container{max-width:1000px;margin:0 auto;padding:0 2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#5a4a3a;text-decoration:none;font-weight:500;margin-bottom:2rem;transition:color .3s}.recipe-detail-header{margin-bottom:3rem}.recipe-detail-header--redazione{border-left:4px solid #b8956b;padding-left:1.25rem;background:linear-gradient(to right,rgba(184,149,107,.06),transparent 12rem);border-radius:0 8px 8px 0}.recipe-detail-header--redazione .recipe-meta-top{flex-wrap:wrap}.recipe-meta-top{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.recipe-category{background:#fff3e0;color:#d2691e;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem}.recipe-date{color:#999;font-size:.9rem}.recipe-title{font-size:3rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem;line-height:1.2}.recipe-description{font-size:1.2rem;color:#666;line-height:1.8;margin-bottom:2rem;display:block;overflow:visible}.recipe-meta-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.recipe-author-info{display:flex;align-items:center;gap:1rem}.author-avatar-small{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#d2691e,#8b4513);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;font-family:Georgia,serif}.author-avatar-small--redazione{background:linear-gradient(145deg,#2c3e50,#1a252f);border:2px solid #c9a227;box-shadow:0 2px 12px #c9a22759}.author-avatar-redazione-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.recipe-author-info>div{display:flex;flex-direction:column;gap:.25rem}.author-name{font-weight:600;color:#5a4a3a;font-size:1rem}.prep-time{color:#999;font-size:.9rem}.dietary-badges{display:flex;gap:.75rem;flex-wrap:wrap}.dietary-badge{background:#e8f5e9;color:#2e7d32;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500}.recipe-actions-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #f0f0f0;display:flex;gap:1rem;flex-wrap:wrap}.btn-like{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--bg-card, #fdfbf8);border:2px solid #d2691e;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;color:#5a4a3a}.btn-like:hover:not(:disabled){background:#fff3e0;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e33}.btn-like.liked{background:#ffebee;border-color:#e91e63;color:#e91e63}.btn-like.liked:hover:not(:disabled){background:#fce4ec}.btn-like:disabled{opacity:.6;cursor:not-allowed}.like-icon{font-size:1.25rem}.like-count{font-weight:700}.btn-report{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-card, #fdfbf8);border:2px solid #999;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;color:#666}.btn-report:hover{background:#f0ede8;border-color:#d2691e;color:#d2691e;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.modal-content{background:var(--bg-card, #fdfbf8);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #f0f0f0}.modal-header h2{font-size:1.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .3s}.modal-close:hover{color:#5a4a3a}.modal-body{padding:2rem}.modal-body p{color:#666;margin-bottom:1.5rem;line-height:1.6}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#5a4a3a;font-size:.95rem}.form-select{width:100%;padding:.75rem;border:2px solid #e8e8e8;border-radius:8px;font-size:1rem;font-family:inherit;color:#5a4a3a;background:var(--bg-card, #fdfbf8);cursor:pointer;transition:border-color .3s}.form-select:focus{outline:none;border-color:#d2691e}.form-textarea{width:100%;padding:.75rem;border:2px solid #e8e8e8;border-radius:8px;font-size:1rem;font-family:inherit;color:#5a4a3a;resize:vertical;transition:border-color .3s}.form-textarea:focus{outline:none;border-color:#d2691e}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #f0f0f0}.btn-cancel-modal{padding:.75rem 1.5rem;background:transparent;color:#666;border:2px solid #e8e8e8;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel-modal:hover{border-color:#999;color:#333}.btn-submit-modal{padding:.75rem 1.5rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.btn-submit-modal:hover:not(:disabled){background:#b85a1a;transform:translateY(-1px);box-shadow:0 2px 8px #d2691e4d}.btn-submit-modal:disabled{opacity:.6;cursor:not-allowed}.recipe-image-section{margin-bottom:4rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.recipe-main-image{width:100%;height:500px;object-fit:cover;display:block}.recipe-image-placeholder{width:100%;height:500px;background-size:cover;background-position:center}.recipe-image-placeholder.lasagna:after{content:"🍝";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem}.recipe-image-placeholder.gnocchi:after{content:"🥟";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem}.recipe-image-placeholder.ribollita:after{content:"🍲";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem}.recipe-image-placeholder.tiramisu:after{content:"🍰";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem}.recipe-content-grid{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem}.ingredients-section{background:var(--bg-card, #fdfbf8);padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(210,105,30,.08)}.section-title{font-size:1.75rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(210,105,30,.15)}.ingredients-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ingredient-item{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#faf8f5,#fff);border-radius:10px;color:#5a4a3a;line-height:1.6;border:1px solid rgba(210,105,30,.1);transition:all .3s ease;font-size:.95rem}.ingredient-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d2691e1f;border-color:#d2691e33}.ingredient-bullet{color:#d2691e;font-weight:700;font-size:1rem;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#d2691e1a;border-radius:50%}.instructions-section{background:var(--bg-card, #fdfbf8);padding:2rem;border-radius:12px;box-shadow:0 2px 12px #00000014}.instructions-list{list-style:none;padding:0;margin:0;counter-reset:step-counter}.instruction-item{display:flex;gap:1.5rem;padding:2rem 0;position:relative;counter-increment:step-counter}.instruction-item:not(:last-child):after{content:"";position:absolute;left:20px;top:60px;bottom:-1rem;width:1px;background:linear-gradient(to bottom,rgba(210,105,30,.2) 0%,rgba(210,105,30,.1) 50%,transparent 100%);z-index:0}.instruction-item:not(:last-child){margin-bottom:.5rem}.instruction-number{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#d2691e,#b85a1a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;position:relative;z-index:1;box-shadow:0 2px 8px #d2691e33}.instruction-item p{margin:0;color:#5a4a3a;line-height:1.9;font-size:1.05rem;flex:1;padding-top:.25rem}.loading-container{display:flex;justify-content:center;align-items:center;padding:4rem 0;min-height:50vh}.error-container{text-align:center;padding:4rem 2rem;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:968px){.ingredients-list{grid-template-columns:repeat(2,1fr)}.recipe-title{font-size:2.5rem}}@media(max-width:768px){.recipe-detail-main{padding:2rem 0}.recipe-detail-container{padding:0 1rem}.recipe-title{font-size:2rem}.recipe-description{font-size:1.1rem;display:block;overflow:visible}.recipe-meta-bottom{flex-direction:column;align-items:flex-start}.recipe-main-image,.recipe-image-placeholder{height:300px}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-links{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.recipe-detail-container{padding:0 .75rem}.recipe-title{font-size:1.75rem}.recipe-detail-header--redazione{padding-left:1rem}.ingredients-list{grid-template-columns:1fr}.ingredients-section,.instructions-section{padding:1rem}.recipe-actions-section{flex-wrap:wrap;gap:.5rem}.btn-like,.btn-report{min-height:44px;padding:.5rem 1rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-page{background:linear-gradient(#0006,#00000080),url(https://images.unsplash.com/photo-1556910103-1c02745aae4d?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80) center/cover no-repeat}.auth-background-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#8b45134d,#d2691e4d);z-index:0}.auth-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;width:100%;max-width:480px;padding:3.5rem;animation:slideUp .6s ease-out;position:relative;z-index:1}.login-card{background:#fffffff2}.auth-header{text-align:center;margin-bottom:2.5rem}.logo-small{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:700;color:#8b4513;font-family:Georgia,serif}.logo-small .logo-icon{font-size:1.5rem}.auth-header h1{color:#5a4a3a;font-size:2.25rem;font-weight:700;margin-bottom:.75rem;font-family:Georgia,serif}.auth-header p{color:#666;font-size:1rem;font-weight:400}.error-message{background:#fee;color:#c33;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;border-left:4px solid #c33;font-size:.9rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.75rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{color:#5a4a3a;font-weight:600;font-size:.95rem;letter-spacing:.3px}.form-group input{padding:1rem 1.25rem;border:2px solid #e8e8e8;border-radius:10px;font-size:1rem;transition:all .3s;background:var(--bg-card, #fdfbf8);color:#333;font-family:inherit}.form-group input:focus{outline:none;border-color:#d2691e;box-shadow:0 0 0 3px #d2691e1a}.form-group input::placeholder{color:#999}.btn-full{width:100%;padding:1rem;margin-top:.5rem;font-size:1.05rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .3s}.btn-primary{background:#d2691e;color:#fff}.btn-primary:hover:not(:disabled){background:#b85a1a;transform:translateY(-2px);box-shadow:0 6px 20px #d2691e66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary:disabled:hover{background:#ccc;transform:none;box-shadow:none}.auth-footer{margin-top:2.5rem;text-align:center;color:#666;font-size:.95rem}.auth-footer p{margin-bottom:1rem}.auth-footer a{color:#d2691e;text-decoration:none;font-weight:600;transition:color .3s}.auth-footer a:hover{color:#b85a1a;text-decoration:underline}.back-link{display:inline-block;margin-top:.5rem;color:#999;text-decoration:none;font-size:.9rem;transition:color .3s}.back-link:hover{color:#d2691e}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.auth-container{padding:1rem}.auth-card{padding:2.5rem 2rem;max-width:100%}.auth-header h1{font-size:2rem}.logo-small{font-size:1.1rem}}@media(max-width:480px){.auth-card{padding:2rem 1.5rem;border-radius:16px}.auth-header h1{font-size:1.75rem}.auth-header p{font-size:.9rem}.form-group input{padding:.875rem 1rem}}.login-page:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#d4a574,#8b4513);z-index:-1}.dashboard-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#8b4513;font-family:Georgia,serif;text-decoration:none}.logo-icon{font-size:1.75rem}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{color:#5a4a3a;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s}.nav-link:hover,.nav-link.active{color:#d2691e}.user-greeting{color:#666;font-size:.9rem}.btn-publish,.btn-subscribe{padding:.75rem 1.5rem;border:2px solid #d2691e;border-radius:6px;font-weight:600;font-size:.95rem;line-height:1.2;cursor:pointer;text-decoration:none;display:inline-block;transition:all .3s;box-sizing:border-box}.btn-publish{background:#5a4a3a;color:#fff;border:none}.btn-publish:hover{background:#4a3a2a;transform:translateY(-1px);box-shadow:0 2px 8px #5a4a3a4d}.btn-subscribe{background:#d2691e;color:#fff}.dashboard-main{flex:1;padding:3rem 0}.dashboard-container{max-width:1400px;margin:0 auto;padding:0 2rem}.dashboard-header{margin-bottom:3rem}.dashboard-header h1{font-size:2.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:.5rem}.dashboard-subtitle{color:#666;font-size:1.1rem;margin-bottom:2rem}.btn-add-recipe{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s;cursor:pointer}.btn-add-recipe:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--bg-card, #fdfbf8);padding:2rem;border-radius:12px;box-shadow:0 2px 12px #00000014;border:1px solid rgba(210,105,30,.1);text-align:center;transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.stat-number{font-size:2.5rem;font-weight:700;color:#d2691e;margin-bottom:.5rem;font-family:Georgia,serif}.stat-label{color:#666;font-size:1rem;font-weight:500}.loading-container,.error-container{text-align:center;padding:4rem 2rem;min-height:30vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.no-recipes{text-align:center;padding:5rem 2rem;background:var(--bg-card, #fdfbf8);border-radius:16px;box-shadow:0 2px 12px #00000014}.no-recipes-icon{font-size:5rem;margin-bottom:1.5rem}.no-recipes h2{font-size:2rem;color:#5a4a3a;margin-bottom:1rem;font-family:Georgia,serif}.no-recipes p{color:#666;font-size:1.1rem;margin-bottom:2rem}.btn-add-recipe-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s}.btn-add-recipe-primary:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.recipe-card-dashboard{background:var(--bg-card, #fdfbf8);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid rgba(210,105,30,.1);transition:all .3s}.recipe-card-dashboard:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.recipe-card-image-wrapper{position:relative;width:100%;height:250px;overflow:hidden}.recipe-card-img{width:100%;height:100%;object-fit:cover}.recipe-image-placeholder{width:100%;height:100%;background-size:cover;background-position:center}.recipe-image-placeholder.lasagna{background:linear-gradient(135deg,#d2691e,#8b4513);position:relative}.recipe-image-placeholder.lasagna:after{content:"🍝";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-image-placeholder.gnocchi{background:linear-gradient(135deg,#ffd89b,#ffb347);position:relative}.recipe-image-placeholder.gnocchi:after{content:"🥟";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-image-placeholder.ribollita{background:linear-gradient(135deg,#f4a460,#daa520);position:relative}.recipe-image-placeholder.ribollita:after{content:"🍲";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.recipe-image-placeholder.tiramisu{background:linear-gradient(135deg,#deb887,peru);position:relative}.recipe-image-placeholder.tiramisu:after{content:"🍰";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.draft-badge{position:absolute;top:1rem;right:1rem;background:#ffc107f2;color:#5a4a3a;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.85rem;box-shadow:0 2px 8px #0003}.recipe-card-content{padding:1.5rem}.recipe-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.recipe-category-badge{background:#fff3e0;color:#d2691e;padding:.4rem .8rem;border-radius:6px;font-weight:600;font-size:.85rem}.recipe-date-small{color:#999;font-size:.85rem}.recipe-card-title{font-size:1.5rem;font-weight:700;color:#5a4a3a;margin-bottom:.75rem;font-family:Georgia,serif;line-height:1.3}.recipe-card-description{color:#666;line-height:1.6;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.recipe-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.prep-time-small{color:#999;font-size:.9rem}.dietary-badges-small{display:flex;gap:.5rem}.dietary-badge-small{font-size:1.2rem}.recipe-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-view,.btn-edit,.btn-delete{padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;text-decoration:none;border:none;cursor:pointer;transition:all .3s;display:inline-block}.btn-view{background:#e8f5e9;color:#2e7d32;border:1px solid rgba(46,125,50,.2)}.btn-view:hover{background:#c8e6c9;transform:translateY(-1px)}.btn-edit{background:#fff3e0;color:#d2691e;border:1px solid rgba(210,105,30,.2)}.btn-edit:hover{background:#ffe0b2;transform:translateY(-1px)}.btn-delete{background:#ffebee;color:#c62828;border:1px solid rgba(198,40,40,.2)}.btn-delete:hover:not(:disabled){background:#ffcdd2;transform:translateY(-1px)}.btn-delete:disabled{opacity:.6;cursor:not-allowed}.delete-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.delete-modal-content{background:var(--bg-card, #fdfbf8);border-radius:16px;max-width:440px;width:100%;box-shadow:0 8px 32px #0000004d}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #f0f0f0}.delete-modal-header h2{font-size:1.35rem;font-weight:700;color:#5a4a3a;margin:0;font-family:Georgia,serif}.delete-modal-close{background:none;border:none;font-size:1.75rem;line-height:1;color:#999;cursor:pointer;padding:.25rem;transition:color .3s}.delete-modal-close:hover{color:#5a4a3a}.delete-modal-body{padding:1.5rem 2rem}.delete-modal-body p{margin:0 0 .75rem;color:#666;font-size:1rem;line-height:1.5}.delete-modal-recipe-title{font-weight:600;color:#5a4a3a!important}.delete-modal-warning{font-size:.9rem!important;color:#999!important}.delete-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;border-top:1px solid #f0f0f0}.btn-delete-cancel{padding:.75rem 1.5rem;border:2px solid #ddd;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;background:var(--bg-card, #fdfbf8);color:#666;transition:all .3s}.btn-delete-cancel:hover{border-color:#5a4a3a;color:#5a4a3a}.btn-delete-confirm{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;background:#c62828;color:#fff;transition:all .3s}.btn-delete-confirm:hover{background:#b71c1c;transform:translateY(-1px);box-shadow:0 4px 12px #c628284d}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;margin-bottom:3rem}.footer-brand h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;font-family:Georgia,serif}@media(max-width:968px){.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}@media(max-width:768px){.nav-container{padding:1rem;flex-wrap:wrap}.nav-links{gap:1rem;flex-wrap:wrap}.dashboard-container{padding:0 1rem}.dashboard-header h1{font-size:2rem}.recipes-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-links{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.dashboard-header h1{font-size:1.75rem}.recipe-actions{flex-direction:column;width:100%}.btn-view,.btn-edit,.btn-delete{width:100%;text-align:center}}.privacy-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.privacy-hero{background:linear-gradient(135deg,#8b45131a,#d2691e1a);padding:6rem 0 4rem;text-align:center}.privacy-page .container{max-width:800px;margin:0 auto;padding:0 2rem}.privacy-title{font-size:2.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:.5rem}.privacy-subtitle{font-size:1.1rem;color:#666}.privacy-content{flex:1;padding:3rem 0 5rem}.privacy-body{background:var(--bg-card, #fdfbf8);border-radius:12px;padding:2.5rem 3rem;box-shadow:0 2px 12px #0000000f}.privacy-section{margin-bottom:2.5rem}.privacy-section:last-child{margin-bottom:0}.privacy-section h2{font-size:1.35rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem;padding-bottom:.35rem;border-bottom:2px solid rgba(210,105,30,.25)}.privacy-section h3{font-size:1.05rem;font-weight:600;color:#5a4a3a;margin:1.25rem 0 .5rem}.privacy-section p{font-size:1rem;color:#555;line-height:1.7;margin-bottom:.75rem}.privacy-section ul{margin:.5rem 0 1rem 1.5rem;padding:0;list-style:disc}.privacy-section li{font-size:1rem;color:#555;line-height:1.7;margin-bottom:.35rem}.privacy-section a{color:#d2691e;text-decoration:none;font-weight:500}.privacy-section a:hover{text-decoration:underline}@media(max-width:768px){.privacy-page .container{padding:0 1rem}.privacy-title{font-size:2rem}.privacy-body{padding:1.5rem 1.25rem}.privacy-section h2{font-size:1.2rem}}@media(max-width:480px){.privacy-hero{padding:4rem 0 3rem}.privacy-title{font-size:1.65rem}.privacy-body{padding:1.25rem 1rem}}.terms-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.terms-hero{background:linear-gradient(135deg,#8b45131a,#d2691e1a);padding:6rem 0 4rem;text-align:center}.terms-page .container{max-width:800px;margin:0 auto;padding:0 2rem}.terms-title{font-size:2.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:.5rem}.terms-subtitle{font-size:1.1rem;color:#666}.terms-content{flex:1;padding:3rem 0 5rem}.terms-body{background:var(--bg-card, #fdfbf8);border-radius:12px;padding:2.5rem 3rem;box-shadow:0 2px 12px #0000000f}.terms-section{margin-bottom:2.5rem}.terms-section:last-child{margin-bottom:0}.terms-section h2{font-size:1.35rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem;padding-bottom:.35rem;border-bottom:2px solid rgba(210,105,30,.25)}.terms-section h3{font-size:1.05rem;font-weight:600;color:#5a4a3a;margin:1.25rem 0 .5rem}.terms-section p{font-size:1rem;color:#555;line-height:1.7;margin-bottom:.75rem}.terms-section ul{margin:.5rem 0 1rem 1.5rem;padding:0;list-style:disc}.terms-section li{font-size:1rem;color:#555;line-height:1.7;margin-bottom:.35rem}.terms-section a{color:#d2691e;text-decoration:none;font-weight:500}.terms-section a:hover{text-decoration:underline}@media(max-width:768px){.terms-page .container{padding:0 1rem}.terms-title{font-size:2rem}.terms-body{padding:1.5rem 1.25rem}.terms-section h2{font-size:1.2rem}}@media(max-width:480px){.terms-hero{padding:4rem 0 3rem}.terms-title{font-size:1.65rem}.terms-body{padding:1.25rem 1rem}}.storie-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.storie-hero{background:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1556911220-bff31c812dba?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80);background-size:cover;background-position:center;background-attachment:fixed;color:#fff;padding:6rem 0;text-align:center;position:relative}.storie-hero .container{max-width:1200px;margin:0 auto;padding:0 2rem}.storie-hero .hero-title{font-size:3.5rem;font-weight:700;font-family:Georgia,serif;margin-bottom:1rem;color:#fff}.storie-hero .hero-description{font-size:1.3rem;max-width:700px;margin:0 auto;opacity:.95;line-height:1.6}.storie-main{flex:1;padding:4rem 0}.storie-main .container{max-width:1200px;margin:0 auto;padding:0 2rem}.stories-grid{display:flex;flex-direction:column;gap:3rem}.story-card{background:var(--bg-card, #fdfbf8);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014;transition:all .3s ease;border:1px solid rgba(210,105,30,.1);position:relative}.story-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#d2691e,#8b4513)}.story-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #0000001f;border-color:#d2691e33}.story-content{padding:3rem;display:flex;flex-direction:column;gap:2rem}.story-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.story-author-info{display:flex;gap:1rem;flex:1}.story-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#d2691e,#8b4513);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;font-family:Georgia,serif;flex-shrink:0;box-shadow:0 4px 12px #d2691e4d}.story-author-details{flex:1}.story-title{font-size:2rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin:0 0 .75rem;line-height:1.3;letter-spacing:-.02em}.story-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.story-author-name{font-weight:600;color:#5a4a3a;font-size:.95rem}.story-separator{color:#999}.story-role{color:#d2691e;font-weight:500;font-size:.9rem;font-style:italic}.story-date{color:#999;font-size:.9rem;white-space:nowrap}.story-text{color:#555;line-height:1.9;font-size:1.05rem;max-width:none}.story-text p{margin:0 0 1.2rem}.story-text p:last-child{margin-bottom:0}.story-text strong{color:#5a4a3a;font-weight:700}.story-bullet-point{margin:.8rem 0;padding-left:1.5rem;position:relative;line-height:1.8}.story-bullet-point:before{content:"•";position:absolute;left:0;color:#d2691e;font-weight:700;font-size:1.2rem}.loading-container{display:flex;justify-content:center;align-items:center;padding:4rem 0}.loading-spinner{font-size:1.2rem;color:#5a4a3a}.error-container{text-align:center;padding:4rem 0}.error-container p{color:#d2691e;font-size:1.1rem;margin-bottom:1.5rem}.btn-retry{padding:.75rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s}.btn-retry:hover{background:#b85a1a;transform:translateY(-1px);box-shadow:0 2px 8px #d2691e4d}.footer{background:#5a4a3a;color:#fff;padding:4rem 0 2rem;margin-top:5rem}.footer .container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:4rem;margin-bottom:3rem}.footer-brand h3{font-size:1.5rem;font-family:Georgia,serif;margin-bottom:1rem}.footer-brand p{color:#fffc;line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{font-size:1.1rem;margin-bottom:1rem;font-family:Georgia,serif}.footer-column a{display:block;color:#fffc;text-decoration:none;margin-bottom:.75rem;transition:color .3s}.footer-column a:hover{color:#d2691e}.social-icons{display:flex;gap:1rem}.social-icons a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;transition:all .3s}.social-icons a:hover{background:#d2691e;transform:translateY(-2px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#fffc;margin:0}.footer-legal{display:flex;gap:2rem}.footer-legal a{color:#fffc;text-decoration:none;transition:color .3s}.footer-legal a:hover{color:#d2691e}@media(max-width:968px){.story-content{padding:2.5rem}.storie-hero .hero-title{font-size:2.5rem}.storie-hero .hero-description{font-size:1.1rem}}@media(max-width:768px){.nav-container{padding:1rem;flex-wrap:wrap}.nav-links{gap:1rem;flex-wrap:wrap}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-links{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.story-header{flex-direction:column}.story-date{align-self:flex-start}}@media(max-width:480px){.storie-hero{padding:3rem 0}.storie-hero .hero-title{font-size:2rem}.story-content{padding:2rem;gap:1.5rem}.story-title{font-size:1.75rem}.story-avatar{width:50px;height:50px;font-size:1.2rem}.story-text{font-size:1rem}}.publish-recipe-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.publish-main{flex:1;padding:3rem 0}.publish-container{max-width:900px;margin:0 auto;padding:0 2rem}.publish-header{text-align:center;margin-bottom:3rem}.publish-header h1{font-size:2.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:.75rem}.publish-header p{font-size:1.1rem;color:#666}.error-message{background:#fee;color:#c33;padding:1rem 1.25rem;border-radius:10px;margin-bottom:2rem;border-left:4px solid #c33;font-size:.9rem}.publish-form{background:var(--bg-card, #fdfbf8);border-radius:12px;padding:3rem;box-shadow:0 2px 12px #00000014}.form-section{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid #e8e8e8}.form-section:last-of-type{border-bottom:none;margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1.5rem}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#5a4a3a;font-weight:600;font-size:.95rem;margin-bottom:.5rem;letter-spacing:.3px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e8e8e8;border-radius:8px;font-size:1rem;font-family:inherit;color:#333;transition:all .3s;background:var(--bg-card, #fdfbf8)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#d2691e;box-shadow:0 0 0 3px #d2691e1a}.form-group textarea{resize:vertical;min-height:100px}.form-group select{cursor:pointer}.dietary-options{display:flex;gap:1.5rem;flex-wrap:nowrap;margin-top:.5rem;align-items:stretch}.checkbox-label{display:inline-flex;align-items:center;justify-content:flex-start;gap:.75rem;cursor:pointer;font-weight:500;color:#5a4a3a;padding:.875rem 1.25rem;border:2px solid #e8e8e8;border-radius:8px;transition:all .3s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:0 0 auto;vertical-align:middle}.checkbox-label:hover{border-color:#d2691e;background:#fff8f0}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;cursor:pointer;accent-color:#d2691e;margin:0;padding:0;flex-shrink:0;vertical-align:middle;display:inline-block}.checkbox-label span{display:inline-flex;align-items:center;line-height:1;font-size:.95rem;vertical-align:middle;white-space:nowrap}.checkbox-label input[type=checkbox]:checked+span{color:#d2691e;font-weight:600}.checkbox-label:has(input[type=checkbox]:checked){border-color:#d2691e;background:#fff8f0}.category-cards-container,.category-cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:.5rem}.category-card{background:var(--bg-surface, #faf7f2);padding:1.25rem .75rem;border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.category-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a;border-color:#d2691e;background:var(--bg-card, #fdfbf8)}.category-card.selected{background:var(--bg-card, #fdfbf8);border-color:#d2691e;box-shadow:0 4px 12px #d2691e33}.category-icon{font-size:2rem;margin-bottom:.5rem}.category-label{font-size:.9rem;font-weight:700;color:#5a4a3a;margin:0;font-family:Georgia,serif}.category-select-card{background:var(--bg-surface, #faf7f2);padding:1.25rem .75rem;border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.category-select-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a;border-color:#d2691e;background:var(--bg-card, #fdfbf8)}.category-select-card.selected{background:var(--bg-card, #fdfbf8);border-color:#d2691e;box-shadow:0 4px 12px #d2691e33}.category-select-icon{font-size:2rem;margin-bottom:.5rem}.category-select-card h3{font-size:.9rem;font-weight:700;color:#5a4a3a;margin:0;font-family:Georgia,serif}.category-error{display:block;color:#c33;font-size:.85rem;margin-top:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.ingredient-row,.instruction-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.ingredient-input{flex:1;padding:.875rem 1rem;border:2px solid #e8e8e8;border-radius:8px;font-size:1rem;transition:all .3s}.ingredient-input:focus{outline:none;border-color:#d2691e;box-shadow:0 0 0 3px #d2691e1a}.instruction-row{align-items:flex-start}.step-number{flex-shrink:0;width:32px;height:32px;background:#d2691e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin-top:.5rem}.instruction-input{flex:1;padding:.875rem 1rem;border:2px solid #e8e8e8;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:80px;transition:all .3s}.instruction-input:focus{outline:none;border-color:#d2691e;box-shadow:0 0 0 3px #d2691e1a}.btn-add{background:transparent;color:#d2691e;border:2px solid #d2691e;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s}.btn-add:hover{background:#d2691e;color:#fff}.btn-remove{flex-shrink:0;width:32px;height:32px;background:#fee;color:#c33;border:none;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .3s;margin-top:.5rem}.btn-remove:hover{background:#fcc}.image-upload-container{margin-top:1rem}.image-input{display:none}.image-upload-label{display:block;cursor:pointer}.image-upload-box{border:2px dashed #d2691e;border-radius:12px;padding:3rem 2rem;text-align:center;background:var(--bg-surface, #faf7f2);transition:all .3s;overflow:hidden;max-height:420px;display:flex;align-items:center;justify-content:center}.image-upload-box:hover{background:var(--bg-card, #fdfbf8);border-color:#b85a1a}.upload-icon{font-size:3rem;display:block;margin-bottom:1rem}.image-upload-box span{display:block;color:#666;margin-bottom:.5rem}.upload-hint{font-size:.85rem;color:#999}.image-upload-box img.image-preview{max-width:100%;max-height:360px;width:auto;height:auto;object-fit:contain;display:block;border-radius:8px}.image-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem}.image-preview span:first-child{font-size:3rem}.image-preview span:last-child{color:#5a4a3a;font-weight:600}.image-error-message{margin-top:1rem;padding:.875rem 1rem;background:#fee;color:#c33;border:2px solid #fcc;border-radius:8px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.image-preview .file-size{color:#999;font-size:.85rem;margin-left:.5rem}.current-image-preview{margin-bottom:1.5rem;text-align:center}.current-image{max-width:100%;max-height:300px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:.5rem}.current-image-label{color:#666;font-size:.9rem;font-style:italic}.btn-remove-image{margin-top:1rem;background:transparent;color:#c33;border:2px solid #c33;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s}.btn-remove-image:hover{background:#c33;color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:2rem;border-top:1px solid #e8e8e8}.btn-cancel{padding:.875rem 2rem;background:transparent;color:#666;border:2px solid #e8e8e8;border-radius:8px;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s}.btn-cancel:hover{border-color:#999;color:#333}.btn-submit{padding:.875rem 2rem;background:#d2691e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s}.btn-submit:hover:not(:disabled){background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none}.success-message-container{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.success-message{background:var(--bg-card, #fdfbf8);border-radius:12px;padding:3rem;text-align:center;box-shadow:0 4px 20px #0000001a;max-width:500px}.success-icon{width:80px;height:80px;background:#d2691e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 1.5rem}.success-message h2{font-size:2rem;font-weight:700;color:#5a4a3a;font-family:Georgia,serif;margin-bottom:1rem}.success-message p{color:#666;font-size:1.1rem;margin-bottom:2rem}.btn-back-home{display:inline-block;padding:.875rem 2rem;background:#d2691e;color:#fff;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s}.btn-back-home:hover{background:#b85a1a;transform:translateY(-2px);box-shadow:0 4px 12px #d2691e4d}@media(max-width:768px){.publish-container{padding:0 1rem}.publish-header h1{font-size:2rem}.publish-form{padding:2rem 1.5rem}.category-cards-container,.category-cards-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.category-card{padding:1rem .5rem}.category-icon{font-size:1.75rem}.category-label{font-size:.85rem}.category-select-card{padding:1rem .5rem}.category-select-icon{font-size:1.75rem}.category-select-card h3{font-size:.85rem}.form-row{grid-template-columns:1fr}.section-header-row{flex-direction:column;align-items:flex-start;gap:1rem}.dietary-options{flex-wrap:wrap;gap:1rem}.checkbox-label{flex:1 1 100%;min-width:0;max-width:100%;box-sizing:border-box}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%;text-align:center}}@media(max-width:480px){.publish-header h1{font-size:1.75rem}.publish-form{padding:1.5rem 1rem}.dietary-options{gap:.75rem}.checkbox-label{padding:.75rem 1rem}.section-title{font-size:1.25rem}.category-cards-container,.category-cards-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.category-card{padding:.875rem .5rem}.category-icon{font-size:1.5rem}.category-label{font-size:.8rem}.category-select-card{padding:.875rem .5rem}.category-select-icon{font-size:1.5rem}.category-select-card h3{font-size:.8rem}}.coupons-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page, #f2efe9)}.coupons-main{flex:1;padding:2.5rem 1.5rem 4rem}.coupons-container{max-width:1000px;margin:0 auto}.coupons-header{text-align:center;margin-bottom:2.5rem}.coupons-header h1{font-size:1.75rem;font-weight:600;color:#4a4038;font-family:Georgia,serif;margin-bottom:.5rem}.coupons-subtitle{font-size:.95rem;color:#6b5b4f;font-weight:400;margin:0}.coupons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.coupon-card{background:var(--bg-card, #fdfbf8);border:1px solid rgba(180,165,140,.25);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.coupon-card:hover{border-color:#b85a1a59;box-shadow:0 4px 12px #0000000a}.coupon-card-inner{padding:1.35rem 1.25rem}.coupon-store{display:block;font-size:.8rem;font-weight:600;color:#b85a1a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.coupon-discount{font-size:1.1rem;font-weight:600;color:#4a4038;margin:0 0 .85rem;line-height:1.35}.coupon-code-wrap{margin-bottom:.6rem}.coupon-code-label{display:block;font-size:.7rem;color:#8a7a6a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.coupon-code{display:inline-block;padding:.35rem .65rem;background:#b85a1a14;border:1px dashed rgba(184,90,26,.35);border-radius:5px;font-size:.9rem;font-weight:600;color:#8a4a1a;font-family:ui-monospace,monospace}.coupon-desc{font-size:.85rem;color:#6b5b4f;margin:0;line-height:1.4}.footer{background:#5a4a3a;color:#fff;padding:3rem 0 1.5rem;margin-top:auto}.footer .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:3rem;margin-bottom:2rem}.footer-brand h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;font-family:Georgia,serif}.footer-brand p{color:#ffffffc7;font-size:.9rem;line-height:1.5;margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.footer-column h4{font-size:.95rem;margin-bottom:.75rem;font-family:Georgia,serif}.footer-column a{display:block;color:#ffffffc7;text-decoration:none;font-size:.9rem;margin-bottom:.5rem;transition:color .2s}.footer-column a:hover{color:#f0e6d8}.social-icons{display:flex;gap:.75rem}.social-icons a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;margin-bottom:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#ffffffb3;margin:0;font-size:.85rem}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:#ffffffb3;text-decoration:none;font-size:.85rem}.footer-legal a:hover{color:#fff}@media(max-width:768px){.coupons-grid,.footer-content,.footer-links{grid-template-columns:1fr}}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;min-width:0}
