:root{--bg-paper: #FCFAF6;--bg-card: #FFFFFF;--color-primary: #5C1D24;--color-primary-hover: #451318;--color-accent: #C5A880;--color-accent-dark: #A98E65;--color-text-dark: #2C2B29;--color-text-muted: #66635F;--color-border: #E8E5DF;--color-border-focus: #C5A880;--color-olive: #6B7A65;--color-success: #3A6046;--color-info: #3D5A80;--font-serif: "Lora", Georgia, serif;--font-display: "Playfair Display", "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-handwritten: "Caveat", cursive;--shadow-sm: 0 2px 4px rgba(92, 29, 36, .04);--shadow-md: 0 8px 16px rgba(92, 29, 36, .06);--shadow-lg: 0 16px 32px rgba(92, 29, 36, .08);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .05);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1);--transition-bounce: all .5s cubic-bezier(.175, .885, .32, 1.275)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100%;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--color-text-dark);background-color:var(--bg-paper);background-image:radial-gradient(var(--color-border) 1px,transparent 0);background-size:24px 24px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--color-primary)}p{font-family:var(--font-sans);font-size:1rem}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--color-accent-dark)}button{cursor:pointer;border:none;outline:none;font-family:var(--font-sans);transition:var(--transition-smooth)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--color-border);background-color:#fcfaf6d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;padding:16px 0;transition:var(--transition-smooth)}.site-header-inner{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-primary)}.brand span{font-family:var(--font-handwritten);font-size:1.8rem;color:var(--color-accent-dark);font-weight:400;margin-left:4px}.nav-links{display:flex;gap:24px}.nav-link{font-size:.95rem;font-weight:500;color:var(--color-text-muted);position:relative;padding:6px 0}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent);transition:var(--transition-smooth)}.nav-link:hover:after,.nav-link.active:after{width:100%}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;margin-top:32px}.recipe-card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:480px;transition:var(--transition-bounce);position:relative}.recipe-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.recipe-card-img-wrapper{height:200px;width:100%;overflow:hidden;background-color:#e8e5df;position:relative;display:flex;align-items:center;justify-content:center}.recipe-card-img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth);transform:var(--image-transform, scale(1))}.recipe-card:hover .recipe-card-img{transform:var(--image-transform-hover, scale(1.08));filter:brightness(.95)}.recipe-card-category-badge{position:absolute;top:16px;left:16px;background-color:#5c1d24e6;color:#fff;padding:4px 12px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.recipe-card-favorite-btn{position:absolute;top:16px;right:16px;background:#ffffffe6;border-radius:50%;padding:8px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.recipe-card-content{padding:24px;display:flex;flex-direction:column;flex-grow:1}.recipe-card-code{font-family:var(--font-handwritten);font-size:1.4rem;color:var(--color-accent-dark);margin-bottom:4px}.recipe-card-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin-bottom:12px;color:var(--color-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:3.2rem}.recipe-card-ingredients-preview{font-size:.88rem;color:var(--color-text-muted);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:4rem}.recipe-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-border)}.recipe-card-memories-count{font-size:.8rem;color:var(--color-olive);display:flex;align-items:center;gap:4px;font-weight:500}.recipe-card-action-link{font-size:.9rem;font-weight:600;color:var(--color-primary);display:flex;align-items:center;gap:4px}.recipe-card:hover .recipe-card-action-link{color:var(--color-accent-dark)}@media print{body{background-color:#fff;background-image:none;color:#000}.site-header,.search-and-filter,.recipe-card-favorite-btn,.memory-form-container,.print-btn-wrapper,.cms-fab{display:none!important}.recipe-print-container{display:block!important;max-width:100%;margin:0;padding:2cm}.print-page-break{page-break-before:always}}.polaroid-card{position:relative;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,z-index 0s!important}.polaroid-card:hover{transform:scale(1.04) translateY(-6px) rotate(0)!important;box-shadow:0 16px 32px #5c1d2424!important;z-index:20!important}.notification-item{transition:var(--transition-smooth)}.notification-item:hover{background-color:#f5efe6!important}.notifications-trigger:hover{background-color:var(--color-border)!important}.notifications-dropdown-menu::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}@media (max-width: 991px){.home-hero{gap:32px!important}}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--color-primary);padding:8px;cursor:pointer;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-smooth)}.mobile-menu-toggle:hover{background-color:var(--color-border)}@media (max-width: 768px){.site-header-inner{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:4px 0!important;position:relative}.brand{font-size:1.25rem!important;text-align:left!important;width:auto!important}.brand span{display:none!important}.mobile-menu-toggle{display:flex!important}.nav-links{display:none!important}.nav-links-mobile{display:flex;flex-direction:column;position:absolute;top:calc(100% + 12px);left:-24px;right:-24px;background-color:#fcfaf6fa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:16px 32px 24px;gap:16px!important;z-index:1000;animation:mobileMenuSlideDown .3s cubic-bezier(.25,.8,.25,1) forwards}.nav-links-mobile .nav-link{font-size:1.05rem!important;padding:8px 0!important;border-bottom:1px solid rgba(92,29,36,.05);text-align:left!important;width:100%!important}.nav-links-mobile .nav-link:after{display:none!important}.nav-links-mobile .notifications-menu{justify-content:flex-start!important;width:100%!important;margin:8px 0!important}.nav-links-mobile .user-profile-menu{width:100%!important;margin-top:8px!important}.nav-links-mobile .user-profile-trigger{width:100%!important;justify-content:space-between!important}}@keyframes mobileMenuSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.home-hero{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:24px!important;margin-bottom:40px!important}.home-hero h1{font-size:2.2rem!important;text-align:center!important;line-height:1.2!important}.home-hero p,.home-hero div{text-align:center!important;font-size:1.05rem!important}.recipe-day-hero{flex-direction:column!important;gap:24px!important;padding:24px!important;margin-bottom:40px!important}.recipe-day-hero>div{flex:1 1 100%!important;width:100%!important;max-width:100%!important}.recipe-day-hero>div:first-child{height:220px!important}.recipe-day-hero h2{font-size:1.6rem!important}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:20px!important}.recipe-detail-nav{flex-direction:column!important;gap:16px!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin-bottom:24px!important}.recipe-detail-nav>div{justify-content:center!important;width:100%!important;flex-wrap:wrap!important;gap:8px!important}.recipe-detail-nav button{flex:1 1 auto!important;justify-content:center!important;font-size:.85rem!important;padding:10px 14px!important}.recipe-detail-main{flex-direction:column!important;gap:32px!important;margin-bottom:40px!important}.recipe-detail-col-left,.recipe-detail-col-right{flex:1 1 100%!important;max-width:100%!important;width:100%!important}.recipe-detail-col-right h1{font-size:2.2rem!important;text-align:center!important;line-height:1.2!important}.recipe-detail-col-right span{display:block!important;margin:0 auto!important;text-align:center!important;width:fit-content!important}.whiteboard-grid{grid-template-columns:1fr!important;gap:20px!important;padding:20px 12px!important}.polaroid-card{transform:none!important;box-shadow:0 4px 12px #2b21180f!important}.polaroid-card:hover{transform:translateY(-4px)!important}.cms-grid{flex-direction:column!important;gap:24px!important}.cms-col-left,.cms-col-right{flex:1 1 100%!important;width:100%!important}.cms-col-left h2,.cms-col-right h2{font-size:1.3rem!important}}@media (max-width: 480px){.container{padding:0 16px!important}.recipe-grid{grid-template-columns:1fr!important;gap:16px!important}.recipe-card{height:auto!important;min-height:450px!important}.recipe-card-content{padding:16px!important}.recipe-card-title{font-size:1.2rem!important;height:auto!important;-webkit-line-clamp:none!important}.recipe-card-ingredients-preview{height:auto!important;-webkit-line-clamp:none!important;margin-bottom:20px!important}.recipe-detail-col-right h1{font-size:1.8rem!important}}.recipe-card-quote-placeholder{height:200px;width:100%;background:linear-gradient(135deg,#fffdf9,#f3ece0);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--color-border);overflow:hidden;transition:var(--transition-smooth)}.recipe-card-quote-placeholder .quote-icon{color:#5c1d241f;transition:var(--transition-bounce)}.recipe-card:hover .recipe-card-quote-placeholder .quote-icon{transform:scale(1.18) rotate(-6deg);color:#5c1d2438}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes branchFadeIn{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-10px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.family-branch-fade-in{animation:branchFadeIn .4s cubic-bezier(.25,.8,.25,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.family-spouse-fade-in{animation:fadeIn .4s cubic-bezier(.25,.8,.25,1) forwards}.details-modal-container{width:95%;max-width:680px!important;background-color:#fff;border:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:24px!important;box-shadow:0 20px 50px #5c1d2440;display:flex;flex-direction:row;gap:24px;max-height:85vh;overflow-y:auto;background-image:radial-gradient(rgba(197,168,128,.08) 1px,transparent 1px);background-size:16px 16px;animation:fadeIn .3s cubic-bezier(.25,.8,.25,1);position:relative}.details-modal-left{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.details-modal-right{flex-grow:1;display:flex;flex-direction:column;gap:12px}@media (max-width: 640px){.details-modal-container{flex-direction:column!important;max-width:380px!important;gap:16px;padding:20px!important}.details-modal-left{width:100%!important}}
