html,body{margin:0;height:100%;width:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#fff}#root{min-height:100%;width:100%;overflow-x:hidden}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header-shell{position:relative;top:0;left:0;right:0;z-index:2000;background-color:#fcfcfc;height:60px}.app-main{flex:1;min-height:0;padding-top:0}.app-footer-shell{position:relative;width:100%;background-color:#ededed;z-index:1000}.popular-session{width:100%;background-color:#fff;padding:18px 0 20px}.popular-session__inner{max-width:1140px;margin:0 auto;padding:0 60px}.popular-session__header{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.popular-session__title{margin:0;font-size:1.4rem;font-weight:600;color:#222}.popular-session__subtitle{margin:0;color:#666;font-size:.95rem}.popular-session__carousel{position:relative;margin-top:10px;overflow:visible}.popular-session__viewport{padding:14px 0;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;user-select:none}.popular-session__viewport::-webkit-scrollbar{display:none}.popular-session__viewport--dragging{cursor:grabbing}.popular-session__track{display:flex;gap:14px;align-items:stretch}.popular-session__card{position:relative;flex:0 0 auto;width:180px;padding:0;border:none;border-radius:4px;background:transparent;text-align:center;cursor:pointer;overflow:hidden;transition:transform .1s ease}.popular-session__card:hover{transform:translateY(-6px)}.popular-session__card-image{width:100%;height:200px;border-radius:4px;overflow:hidden;background:#f1f1f1}.popular-session__card-image img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.popular-session__card-title{position:absolute;left:0;bottom:0;width:100%;box-sizing:border-box;margin:0;padding:16px 15px;font-size:.95rem;font-weight:500;color:#fff;background:#361e0359;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.popular-session__arrow{position:absolute;top:50%;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #c7c7c78c;border-radius:0;background:#fff;cursor:pointer;box-shadow:0 4px 12px #0000002f;transform:translateY(-50%);transition:all .2s ease}.popular-session__arrow--prev{left:-80px}.popular-session__arrow--next{right:-80px}.popular-session__arrow:hover{background:#fcfcfc;transform:translateY(-50%) scale(1.05)}.popular-session__pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:25px}.popular-session__dot{width:8px;height:8px;border:none;border-radius:50%;background-color:#d1d5db;cursor:pointer}.popular-session__dot--active{width:24px;height:8px;border-radius:4px;background-color:#df8600}@media(max-width:1300px){.popular-session__inner{padding:0 45px}.popular-session__arrow--prev{left:-38px}.popular-session__arrow--next{right:-38px}}@media(max-width:768px){.popular-session__inner{padding:0 20px}.popular-session__arrow{display:none}}.search-result-card{background:#ffffff2e;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:4px;padding:10px;box-shadow:0 6px 18px #00000014;display:flex;flex-direction:column;width:190px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease}.search-result-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px #0000001f}.search-result-card__image-container{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;background:#ffffff59;display:flex;align-items:center;justify-content:center}.search-result-card__image-container img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}.search-result-card__image-shield{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;background:transparent;pointer-events:all}.search-result-card__title{font-size:15px;font-weight:600;margin:12px 0 6px;color:#000;line-height:1.3;overflow:hidden}.search-result-card__allergens{font-size:.9rem;color:#003877;margin:0}.search-result-card__warning{border:2px solid #971b1b;background:#ffffff46;color:#4d0005;padding:4px 10px;border-radius:4px;font-size:.85rem;margin:4px 0 10px}.search-result-card--skeleton{pointer-events:none}.search-result-card__skeleton{position:relative;background:#dfdfdf98;border-radius:10px;overflow:hidden}.search-result-card__skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.75) 50%,transparent 100%);animation:shimmer 1.1s infinite}@keyframes shimmer{to{transform:translate(100%)}}.search-result-card__skeleton-block{height:180px;width:100%}.search-result-card__skeleton-line{height:12px;margin-top:12px;width:100%}.search-result-card__skeleton-line--title{height:16px;width:75%}.search-result-card__skeleton-line--short{width:55%}.search-session{margin:0 auto 10px;max-width:1200px;padding:26px}.search-session__form{background:transparent;border-radius:0;padding:0}.search-session__query-wrap{position:relative;width:60%;margin:0 auto 20px}.search-session__query-input{width:100%;height:50px;padding:0 45px 0 20px;border:1px solid #bcbcbc;border-radius:5px;font-size:16px;text-align:left;background:#fffefd;display:block;box-sizing:border-box}.search-session__query-input::placeholder{color:#727272}.search-session__query-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.7}.search-session__allergen-panel{background:#eceae4;border-radius:6px;padding:10px}.search-session__allergen-panel p{margin:0 0 28px;font-size:16px;color:#222;text-align:center}.search-session__allergen-grid{max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:18px 22px;justify-items:start}.search-session__allergen-option{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#222;line-height:1}.search-session__allergen-option input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:17px;height:17px;min-width:17px;min-height:17px;border:1.5px solid #777;border-radius:3px;background:#fff;cursor:pointer;display:inline-grid;place-items:center;margin-top:2px}.search-session__allergen-option input[type=checkbox]:checked{background:#43a130;border-color:#458a1d}.search-session__allergen-option input[type=checkbox]:checked:after{content:"";width:9px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);margin-top:-1px}.search-session__allergen-option:hover input[type=checkbox]{border-color:#00c50a}.search-session__submit{display:block;width:min(520px,70%);height:46px;margin:26px auto 0;border-radius:10px;background:#597215;color:#ffffffe6;font-size:18px;border:none;cursor:pointer;transition:background .2s ease,transform .15s ease}.search-session__submit:hover:not(:disabled){background:#799b1c;transform:translateY(-1px)}.search-session__submit:active:not(:disabled){transform:translateY(0)}.search-session__submit:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;background:#ccc}.search-session__results{max-width:1200px;margin:0 auto;padding:0 20px 200px}.search-session__results h2{margin:18px 0 20px;font-size:1.4rem;scroll-margin-top:96px}.search-session__results-list{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start;width:100%}.search-session__results-list>div{flex:0 1 calc(20% - 16px);min-width:180px;box-sizing:border-box}.search-session__pagination{display:flex;justify-content:center;gap:10px;margin-top:22px}.search-session__page-btn{width:44px;height:44px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer}.search-session__page-btn--active{border-color:#333;font-weight:700}@media(max-width:1100px){.search-session__results-list>div{flex:0 1 calc(25% - 15px)}}@media(max-width:900px){.search-session__allergen-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.search-session__query-wrap{width:80%}.search-session__results-list>div{flex:0 1 calc(33.33% - 14px)}}@media(max-width:700px){.search-session__allergen-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.search-session__query-wrap{width:95%}.search-session__results-list>div{flex:0 1 calc(50% - 10px);min-width:150px}}@media(max-width:400px){.search-session__results-list>div{flex:0 1 100%}}.about-website{width:100%;padding:36px 16px 48px;background:transparent}.about-website__inner{position:relative;overflow:hidden;max-width:1100px;margin:0 auto;border:none;background:linear-gradient(140deg,#ffffff73,#ffffff0d),#eceae4;padding:30px 30px 32px;box-shadow:0 10px 24px #00000014}.about-website__inner:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#597215,#799b1c 55%,#b7cf6d)}.about-website__title{margin:0 0 12px;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:400;letter-spacing:.02em;color:#4f4f4f}.about-website__text{margin:0;font-size:.95rem;color:#222;line-height:2.15}.about-website__links{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px 18px}.about-website__links a{color:#0d5ea8;text-decoration:none;font-weight:600}.about-website__links a:hover{text-decoration:underline}@media(max-width:768px){.about-website{padding:28px 12px 36px}.about-website__inner{padding:22px 16px 24px}}.recent-card{width:100%;height:100%;display:flex;flex-direction:column;background:transparent;-webkit-user-select:none;user-select:none}.recent-card__image-wrap{width:100%;padding:12px 12px 0;box-sizing:border-box}.recent-card__image-frame{position:relative;width:100%;height:140px;overflow:hidden;border-radius:4px}.recent-card__image-frame img{width:100%;height:100%;display:block;object-fit:cover}.recent-card__image-shield{position:absolute;inset:0;z-index:5}.recent-card__body{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px}.recent-card__title{color:#000;font-size:14px;font-weight:600;line-height:1.2;overflow:hidden}.recent-card--landscape{width:100%;height:100%;display:flex;flex-direction:row!important;align-items:stretch!important}.recent-card--landscape .recent-card__image-wrap{width:35%;padding:12px;display:flex;flex-direction:column;flex-shrink:0}.recent-card--landscape .recent-card__image-frame{position:relative;width:100%;flex:1;min-height:100px;overflow:hidden}.recent-card--landscape .recent-card__body{width:94%;padding-left:10px;display:flex;flex-direction:column}.recent-card__warning{display:flex;align-items:center;gap:10px;padding:6px 10px;border:2px solid #971b1b;border-radius:4px;background:#ffffff46;color:#4d0005;font-size:12px;line-height:1.2}.recent-card__warning-icon{font-size:20px;font-weight:700}.recent-card__allergens{font-size:12px;color:#333}@media(max-width:1100px)and (min-width:900.1px){.slot-3 .recent-card,.slot-4 .recent-card{flex-direction:row!important}.slot-3 .recent-card__image-frame,.slot-4 .recent-card__image-frame{height:120px!important;overflow:hidden!important}.slot-3 .recent-card__image-wrap,.slot-4 .recent-card__image-wrap{width:35%!important;flex-shrink:0!important}.slot-3 .recent-card__body,.slot-4 .recent-card__body{width:65%;padding-left:10px}.slot-5 .recent-card,.slot-6 .recent-card,.slot-7 .recent-card{flex-direction:column!important}.slot-5 .recent-card__body,.slot-6 .recent-card__body,.slot-7 .recent-card__body{padding-top:0}.slot-5 .recent-card__image-wrap,.slot-6 .recent-card__image-wrap,.slot-7 .recent-card__image-wrap{width:100%!important;padding:12px!important}.slot-5 .recent-card__image-frame,.slot-6 .recent-card__image-frame,.slot-7 .recent-card__image-frame{height:140px!important;flex:none}}.recent-search{padding:40px 30px 80px;position:relative;overflow:hidden;background:#eae6dd}.recent-search__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.recent-search__overlay{position:absolute;inset:0;background:#cec7bb63;z-index:1}.recent-search__inner{position:relative;z-index:2}.recent-search__title{text-align:left;max-width:1200px;margin:0 auto 30px;padding:0 10px;font-weight:500;font-size:1.6rem;color:#2b2b2b;display:block;box-sizing:border-box}.recent-search__message{max-width:1200px;margin:0 auto 18px;padding:0 10px;color:#2b2b2b;font-weight:600}.recent-search__grid{display:grid;grid-template-columns:repeat(15,1fr);gap:40px;max-width:1200px;margin:0 auto}.recent-search__slot{background:#f6fdf76e;border-radius:4px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;height:100%}.recent-search__slot:hover{transform:scale(1.08);box-shadow:0 14px 30px #00000023;z-index:3}.recent-search__slot--0,.recent-search__slot--1,.recent-search__slot--2,.recent-search__slot--3,.recent-search__slot--4{grid-column:span 3}.recent-search__slot--5,.recent-search__slot--6,.recent-search__slot--7{grid-column:span 5}@media(max-width:1100px){.recent-search__grid{grid-template-columns:repeat(6,1fr)}.recent-search__slot--0,.recent-search__slot--1,.recent-search__slot--2{grid-column:span 2}.recent-search__slot--3,.recent-search__slot--4{grid-column:span 3;min-height:150px!important;height:auto}.recent-search__slot--5,.recent-search__slot--6,.recent-search__slot--7{grid-column:span 2}}@media(max-width:900px){.recent-search__grid{grid-template-columns:repeat(2,1fr)!important;gap:30px!important}.recent-search__slot{grid-column:span 1!important}.recent-card--landscape{flex-direction:column!important}.recent-card--landscape .recent-card__image-wrap{width:100%!important;height:160px!important}.recent-card--landscape .recent-card__body{padding-top:0}}.auth-login{min-height:calc(80vh - 20px);display:grid;place-items:start center;padding:40px;margin:0;position:relative;overflow:hidden;background:#000}.auth-login__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(0px);transform:scale(1.04);transition:filter 1s ease,transform .5s ease;will-change:filter,transform;z-index:0}.auth-login__overlay{position:absolute;inset:0;background:#00000059;z-index:1}.auth-login.auth-login--blur-in .auth-login__bg{filter:blur(5px);transform:scale(1)}.auth-login>*:not(.auth-login__bg):not(.auth-login__overlay){position:relative;z-index:2}.auth-login__card{width:min(520px,80vw)}.auth-login__title{margin:0 0 10px;text-align:center;font-weight:700;letter-spacing:.3px;color:#fffffff2;font-size:28px}.auth-login__error{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#ff4c4c24;border:1px solid rgba(255,76,76,.35);color:#ffe6e6f2;text-align:center;font-weight:600}.auth-login__form{display:grid;gap:14px}.auth-login__label{display:grid;gap:6px;color:#ffffffe6;font-size:13px}.auth-login__password-wrap{position:relative;display:flex;align-items:center}.auth-login__input{width:100%;height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#fffffff2;padding:0 45px 0 20px;outline:none;font-size:15px;box-sizing:border-box}.auth-login__input::placeholder{color:#ffffff8c}.auth-login__input:focus{border-color:#ffffff73;box-shadow:0 0 0 4px #ffffff14}.auth-login__toggle-pass{position:absolute;top:90%;left:90%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;margin:-20px 0 0;display:flex;align-items:center;justify-content:center;line-height:0;z-index:3}.auth-login__submit{margin-top:10px;height:46px;border-radius:10px;border:none;cursor:pointer;font-weight:700;letter-spacing:.8px;text-transform:uppercase;background:#ee7039f2;color:#271210e6;transition:transform .12s ease,opacity .12s ease}.auth-login__submit:hover{transform:translateY(-1px)}.auth-login__submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-login__foot{margin:18px 0 0;text-align:center;color:#ffffffe6}.auth-login__foot a{color:#fffffff2;font-weight:700;text-decoration:underline}.profile-page{max-width:1100px;margin:0 auto;padding:18px 20px 200px;font-family:Inter,sans-serif}.profile-page__title{margin:0 0 12px;font-size:1.7rem;font-weight:900}.profile-page__tabs{display:flex;gap:10px;margin-bottom:14px}.profile-page__tab-btn{border:1px solid #ddd;background:#fff;border-radius:6px;padding:10px 12px;cursor:pointer;font-weight:700;transition:all .2s ease}.profile-page__tab-btn--active{border-color:#dbdbdb;background:#ffac2e}.profile-page__panel{background:#fcfbfa;border-radius:12px;padding:14px}.profile-page__hint{margin:0 0 12px;color:#444}.profile-page__selection-box{background:#e9e9e5;padding:12px 16px;border-radius:4px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d;font-size:.95rem}.profile-page__selection-label{font-weight:700;color:#333}.profile-page__selection-list{color:#973321;font-weight:600;font-style:italic}.profile-page__selection-instruction{margin-top:16px;font-size:.8rem;color:#666;font-weight:400}.profile-page__allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px 0px}.profile-page__allergen-item{display:flex;gap:8px;align-items:flex-start;font-size:.95rem;cursor:pointer}.profile-page__allergen-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:17px;height:17px;min-width:17px;border:1.6px solid #686563;border-radius:2px;background-color:#fff;cursor:pointer;display:inline-grid;place-items:center;margin-top:2px;position:relative;transition:all .2s ease}.profile-page__allergen-item input[type=checkbox]:checked{background-color:#00b61e;border-color:#00c421}.profile-page__allergen-item input[type=checkbox]:checked:after{content:"";width:10px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg);margin-bottom:2px}.profile-page__allergen-item:hover input[type=checkbox]{border-color:#2ee600}.profile-page__save-btn{display:block;margin:20px auto 0;width:200px;height:38px;background:#597215;color:#fff;border:none;border-radius:4px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.profile-page__save-btn:hover:not(:disabled){background:#7c9e1e}.profile-page__save-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.8}.profile-page__details-panel .profile-page__details-box{background:#f3f3f3;border-radius:12px;padding:12px;margin-bottom:20px}.profile-page__details-row{display:grid;grid-template-columns:160px 1fr;padding:10px 0;border-bottom:1px solid #ddd}.profile-page__details-row:last-child{border-bottom:none}.profile-page__details-label{font-weight:900}.profile-page__password-section{margin-top:30px;border-top:1px solid #ddd;padding-top:20px;max-width:400px}.profile-page__section-title{font-size:1.2rem;font-weight:800;margin-bottom:15px}.profile-page__password-group label{display:block;font-weight:700;margin-bottom:8px;font-size:.9rem}.profile-page__password-group input{width:100%;padding:0 16px;height:46px;border-radius:10px;border:1px solid rgba(0,0,0,.267);background:#ffffff1f;color:#333;font-size:15px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s;margin-bottom:18px}.profile-page__password-group input:focus{border-color:#0000004d;box-shadow:0 0 0 4px #0000000d}.profile-page__password-wrap{position:relative;display:flex;align-items:center}.profile-page__toggle-pass{position:absolute;right:10px;background:none;border:none;cursor:pointer;margin-top:-20px}.profile-page__change-pass-btn{width:100%;height:46px;border-radius:10px;background:#597215;color:#fff;border:none;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:1px;margin-top:10px;transition:transform .12s ease}.profile-page__change-pass-btn:hover{background:#88ad21;transform:translateY(-1px)}.profile-page__modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:5000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.profile-page__modal{padding:20px;border-radius:4px;text-align:center;width:90%;max-width:350px;box-shadow:0 15px 35px #0003;animation:modalScale .25s cubic-bezier(.175,.885,.32,1.275)}.profile-page__modal--error{background:#fff;animation:modalShake .4s ease-in-out}.profile-page__modal--success{background:#fff}.profile-page__modal--error h3{color:#cf0000}.profile-page__modal--success .profile-page__modal-ok-btn,.profile-page__modal--error .profile-page__modal-ok-btn{background:#686563}.profile-page__modal-ok-btn{color:#fff;border:none;padding:8px 60px;border-radius:4px;font-weight:700;cursor:pointer;margin-top:15px;transition:opacity .2s}.profile-page__modal-ok-btn:hover{opacity:.9}@keyframes modalScale{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes modalShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-8px)}}.profile-page__saved-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start;width:100%}.profile-page__saved-grid>div{flex:0 1 calc(20% - 16px);min-width:150px;box-sizing:border-box}@media(max-width:1100px){.profile-page__saved-grid>div{flex:0 1 calc(25% - 15px)}}@media(max-width:900px){.profile-page__saved-grid>div{flex:0 1 calc(33.33% - 14px)}}@media(max-width:600px){.profile-page__saved-grid{gap:10px}.profile-page__saved-grid>div{flex:0 1 calc(50% - 5px);min-width:140px}}.popular-page-view{max-width:1200px;margin:0 auto;padding:18px 20px 200px}.popular-page-view__topbar{display:flex;align-items:center;gap:20px;margin-bottom:24px}.popular-page-view__title-wrap{flex:1}.popular-page-view__back-btn{display:flex;align-items:center;gap:8px;width:fit-content;border:1px solid rgba(0,0,0,0);background:#fff;padding:8px 20px 8px 12px;color:#333;cursor:pointer;font-weight:700;transition:transform .12s ease,background .2s ease}.popular-page-view__back-btn:hover{background:#fcfbfa;transform:translate(-2px)}.popular-page-view__back-icon{display:block;stroke:#666}.popular-page-view__title{margin:0;font-size:1.5rem;font-weight:800;color:#2b2b2b}.popular-page-view__subtitle{margin:6px 0 0;color:#000;font-size:.95rem}.popular-page-view__message{margin:10px 0 18px;color:#000;text-align:left}.popular-page-view__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}@media(max-width:1200px){.popular-page-view__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:950px){.popular-page-view__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.popular-page-view__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.recipe-details{max-width:1100px;margin:0 auto;padding:18px 18px 40px}.recipe-details__topbar{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.recipe-details__actions{display:flex;justify-content:space-between;align-items:center}.recipe-details__back-btn{display:flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.062);background:#fff;padding:8px 16px;color:#333;cursor:pointer;font-weight:700}.recipe-details__save-btn{border:none;background:#597215;color:#fff;border-radius:6px;padding:8px 16px;cursor:pointer;min-width:120px;font-weight:600}.recipe-details__save-btn:disabled{opacity:.7;cursor:not-allowed}.recipe-details__allergen-stack{display:flex;flex-direction:column;gap:8px}.recipe-details__avoiding-bar{background:#fff;padding:6px 8px;font-size:.95rem;font-weight:500;color:#333}.recipe-details__warning-banner{background:#ad1f1f;border-radius:6px;padding:10px 14px;font-size:.95rem;font-weight:700;color:#fff;width:fit-content;max-width:100%;display:flex;align-items:center;gap:8px;margin-right:auto}.recipe-details__layout{display:grid;grid-template-columns:420px 1fr;gap:34px;align-items:start}.recipe-details__left{display:flex;flex-direction:column;gap:14px}.recipe-details__title{margin:0;font-size:1.5rem;font-weight:800}.recipe-details__image{width:100%;height:230px;object-fit:cover;border-radius:4px}.recipe-details__meta-grid{background:#f5f0eb65;border-radius:6px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.recipe-details__meta-item{display:grid;grid-template-columns:80px 1fr;gap:2px;font-size:.85rem;color:#333}.recipe-details__meta-value{font-weight:600}.recipe-details__chip{font-weight:700;color:#333}.recipe-details__ingredients-box{min-height:160px}.recipe-details__list{list-style:none;padding:0;margin:0}.recipe-details__ingredient-item{display:flex;align-items:flex-start;gap:12px;padding:2px 0;cursor:pointer;border-bottom:1px solid #f0f0f0}.recipe-details__ingredient-checkbox{width:14px;height:14px;margin-top:3px;cursor:pointer;accent-color:#597215}.recipe-details__ingredient-item label{cursor:pointer;font-size:.82rem;line-height:1.4;color:#000;flex:1}.recipe-details__ingredient-checkbox:checked+label{text-decoration:line-through;color:#888}.recipe-details__right{margin-top:-20px}.recipe-details__right-title{font-size:1.4rem;font-weight:700;color:#353535}.recipe-details__right-head{margin-bottom:-20px}.recipe-details__instructions{padding-left:20px;font-size:15px;line-height:1.6}.recipe-details__instructions li{padding:10px 0}.recipe-details__allergens-card{margin-top:6px;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}.recipe-details__separator{height:1px;background-color:#e0e0e0;width:100%}.recipe-details__allergy-label{font-weight:700;font-size:1rem;color:#333;white-space:nowrap}.recipe-details__allergy-value{font-size:.95rem;color:#df0404;font-weight:600}.recipe-details__source{font-size:.85rem;color:#555;margin-top:10px;padding-top:10px}.recipe-details__source-label{font-weight:700;color:#333;margin-right:4px}.recipe-details__allergen-disclaimer{font-size:.75rem;color:#666;font-style:italic;margin-top:4px;line-height:1.3}.recipe-details__allergen-disclaimer strong{color:#ad1f1f;text-transform:uppercase;font-size:.7rem}.recipe-details__loading{max-width:1100px;margin:0 auto;padding:18px}@media(max-width:980px){.recipe-details__layout{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:2000;padding:18px}.modal-card{width:520px;max-width:95vw;background:#fff;border-radius:14px;padding:16px;box-shadow:0 18px 50px #00000040}.modal-card h3{margin:0 0 10px;font-size:1.2rem;font-weight:900}.modal-actions{margin-top:12px;display:flex;gap:10px;justify-content:flex-end}.modal-actions .btn-secondary,.modal-actions .btn-primary{border:none;border-radius:10px;padding:10px 14px;cursor:pointer}.auth-signup{min-height:calc(80vh - 20px);display:grid;place-items:start center;padding:40px;margin:0;position:relative;overflow:hidden;background:#000}.auth-signup__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(0px);transform:scale(1.04);transition:filter 1s ease,transform .5s ease;will-change:filter,transform;z-index:0}.auth-signup__overlay{position:absolute;inset:0;background:#00000059;z-index:1}.auth-signup.auth-signup--blur-in .auth-signup__bg{filter:blur(5px);transform:scale(1)}.auth-signup>*:not(.auth-signup__bg):not(.auth-signup__overlay){position:relative;z-index:2}.auth-signup__card{width:min(520px,80vw)}.auth-signup__title{margin:0 0 10px;text-align:center;font-weight:700;letter-spacing:.3px;color:#fffffff2;font-size:28px}.auth-signup__subtitle{margin:0 0 22px;text-align:center;color:#ffffffd9;font-weight:600}.auth-signup__error{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#ff4c4c24;border:1px solid rgba(255,76,76,.35);color:#ffe6e6f2;text-align:center;font-weight:600}.auth-signup__form{display:grid;gap:14px}.auth-signup__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-signup__span2{grid-column:1 / -1}.auth-signup__label{display:grid;gap:6px;color:#ffffffe6;font-size:13px}.auth-signup__password-wrap{position:relative;display:flex;align-items:center;width:100%}.auth-signup__input{width:100%;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#fffffff2;padding:0 45px 0 16px;outline:none;font-size:15px;box-sizing:border-box}.auth-signup__input::placeholder{color:#ffffff8c}.auth-signup__input:focus{border-color:#ffffff73;box-shadow:0 0 0 4px #ffffff14}.auth-signup__toggle-pass{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:3}.auth-signup__allergens{margin-top:6px;padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#ffffff14}.auth-signup__allergens-title{margin:0 0 12px;text-align:center;color:#ffffffe6;font-weight:700;font-size:14px}.auth-signup__allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.auth-signup__allergen-item{display:flex;gap:10px;align-items:center;color:#ffffffe6;font-size:13px;cursor:pointer}.auth-signup__submit{margin-top:10px;height:46px;border-radius:10px;border:none;cursor:pointer;font-weight:700;letter-spacing:.8px;text-transform:uppercase;background:#ee7039f2;color:#271210e6;transition:transform .12s ease,opacity .12s ease}.auth-signup__submit:hover{background:#c95321f2;transform:translateY(-1px)}.auth-signup__submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-signup__foot{margin:18px 0 0;text-align:center;color:#ffffffe6}.auth-signup__foot a{color:#fffffff2;font-weight:700;text-decoration:underline}@media(max-width:720px){.auth-signup{padding:20px 0}.auth-signup__grid{grid-template-columns:1fr}.auth-signup__card{transform:translateY(10px)}.auth-signup__title{font-size:24px;margin-bottom:5px}.auth-signup__subtitle{margin-bottom:15px}.auth-signup__allergen-grid{grid-template-columns:1fr 1fr;gap:8px}}.header-nav{position:fixed;top:0;left:0;right:0;z-index:2000;background-color:#fcfcfc;border-bottom:1px solid #e6e5e5}.header-nav__bar{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 60px;position:relative}.header-nav__left{display:flex;justify-content:flex-start;align-items:center}.header-nav__center{display:flex;justify-content:center;align-items:center}.header-nav__right{display:flex;justify-content:flex-end;align-items:center;gap:24px}.header-nav__desktop-only{display:flex}.header-nav__burger-btn,.header-nav__user-btn{display:none}.header-nav__logo{font-family:Playfair Display,serif;font-size:32px;color:#292f06;cursor:pointer;letter-spacing:-.06em}.header-nav__center .header-nav__main-links{display:flex;gap:60px}.header-nav__main-link,.header-nav__auth-btn{position:relative;text-decoration:none;color:#000;font-size:16px;font-weight:600;padding:6px 2px;background:none;border:none;cursor:pointer;transition:color .3s ease}.header-nav__main-link:hover,.header-nav__auth-btn:hover{color:#da7517}.header-nav__main-link:after,.header-nav__auth-btn:after{content:"";position:absolute;left:50%;bottom:-4px;width:0;height:2px;background:#da7517;transform:translate(-50%);transition:width .3s ease}.header-nav__main-link:hover:after,.header-nav__auth-btn:hover:after{width:100%}.header-nav__desktop-splitter{color:#ccc;margin:6px 6px 0}.header-nav__menu-dropdown,.header-nav__user-dropdown{position:absolute;top:60px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 12px #0000001a;min-width:160px;border-radius:6px;display:flex;flex-direction:column;padding:8px 0}.header-nav__menu-dropdown{left:0}.header-nav__user-dropdown{right:0}.header-nav__dropdown-item{padding:12px 20px;text-decoration:none;color:#333;font-weight:600;border:none;background:none;text-align:left;cursor:pointer}.header-nav__dropdown-item:hover,.header-nav__auth-link:hover{color:#da7517;background-color:#f9f9f9}.header-nav__auth-dropdown-links{display:flex;align-items:center;justify-content:center;padding:12px 15px;gap:15px}.header-nav__auth-link{text-decoration:none;color:#333;font-weight:600;transition:color .2s}.header-nav__auth-splitter{color:#ccc}@media(max-width:768px){.header-nav__bar{padding:0 20px;grid-template-columns:1fr auto 1fr}.header-nav__desktop-only{display:none!important}.header-nav__burger-btn,.header-nav__user-btn{display:flex;background:none;border:none;font-size:24px;cursor:pointer}.header-nav__burger-icon span{display:block;width:22px;height:2px;background:#000;margin:4px 0}.header-nav__logo{text-align:center;margin-left:60px}}.app-footer{background-color:#ededed;border-top:1px solid #ccc;padding:10px 60px 0;font-family:Inter,sans-serif}.app-footer__inner{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;justify-content:flex-start;gap:80px}.app-footer__brand{flex:0 0 200px;text-align:center}.app-footer__brand-link{font-size:20px;font-weight:400;line-height:1;color:#000;text-decoration:none}.app-footer__divider{width:1px;height:40px;margin:0 5px;align-self:center;background-color:#979797}.app-footer__title{display:block;margin-bottom:4px;font-size:.9rem;font-weight:600;color:#222}.app-footer__column ul{list-style:none;margin:0;padding:0}.app-footer__column li{margin-bottom:8px;white-space:nowrap}.app-footer__column li a{font-size:12px;color:#000;text-decoration:none;transition:color .2s ease}.app-footer__column li a:hover{color:#da7517;text-decoration:underline}.app-footer__column--no-title{padding-top:19px}.app-footer__bottom{width:100%;padding-top:4px;border-top:1px solid #999;font-size:11px;color:#444}@media(max-width:1100px){.app-footer{padding:10px 16px 0}.app-footer__inner{flex-wrap:wrap;justify-content:center;gap:15px 25px}.app-footer__divider{display:none}.app-footer__brand{flex:1 1 100%;margin-bottom:10px;text-align:center}.app-footer__column{flex:0 1 auto}.app-footer__column--no-title{padding-top:0}}.info-page{padding:80px 20px;min-height:70vh;max-width:900px;margin:0 auto;font-family:Inter,sans-serif}.info-page__back-link{color:#da7517;text-decoration:none;font-weight:600;display:inline-block;margin-bottom:20px}.info-page__back-link:hover{text-decoration:underline}.info-page__title{font-size:36px;font-weight:800;color:#000;margin-bottom:30px}.info-page__content{font-size:17px;line-height:1.7;color:#333}.info-page__content h2{font-size:22px;margin-top:40px;margin-bottom:15px;color:#000;border-bottom:2px solid #eee;padding-bottom:8px}.info-page__content p{margin-bottom:15px}.info-page__content ul{margin-bottom:20px;padding-left:20px}.info-page__content li{margin-bottom:12px;list-style-type:disc}.info-page__content strong{color:#000;font-weight:700}@media(max-width:768px){.info-page{padding:60px 20px}.info-page__title{font-size:28px}.info-page__content h2{font-size:20px}}.password-gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f4f4f4;font-family:sans-serif}.password-gate__card{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:min(92vw,420px)}.password-gate__title{margin-top:0}.password-gate__card form{display:flex;flex-direction:column}.password-gate__input{width:100%;margin-bottom:1rem;padding:10px;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box}.password-gate__message{margin:0 0 1rem;padding:.75rem .9rem;border-radius:6px;border:1px solid #f1aeb5;background:#f8d7da;color:#842029;font-size:.92rem}.password-gate__submit{padding:10px 20px;border:none;border-radius:4px;background:#2c3e50;color:#fff;cursor:pointer}
