*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#fff8f3;color:#1f1f1f}body,main{min-height:100vh}header{position:relative;z-index:1000;width:100%;padding:14px 8%;background:#d71920;color:#ffffff}.header-content{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo-link{display:inline-flex;align-items:center;text-decoration:none}.site-logo{display:block;width:76px;height:auto;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:24px}.desktop-nav a{color:#ffffff;text-decoration:none;font-weight:700}.desktop-nav a:hover{color:#ffc400}.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:0;border-radius:10px;background:transparent;cursor:pointer}.menu-toggle:hover{transform:none;background:rgba(255,255,255,.1)}.menu-toggle span{display:block;width:26px;height:3px;margin:5px auto;border-radius:10px;background:#ffffff}.mobile-menu{display:none}section{width:100%;padding:70px 20px}.section-content{width:100%;max-width:1100px;margin:0 auto;text-align:center}.hero-label,.section-label{display:inline-block;margin-bottom:12px;color:#d71920;font-size:14px;font-weight:900;letter-spacing:1px}.section-content h2{max-width:700px;margin:0 auto 36px;font-size:38px;line-height:1.15}.hero{min-height:72vh;display:flex;align-items:center;justify-content:center;background:#fff8f3;text-align:center}.hero-content{width:100%;max-width:1000px;margin:0 auto}.hero h1{max-width:900px;margin:0 auto;color:#d71920;font-size:64px;line-height:1.05}.hero p{max-width:720px;margin:24px auto;font-size:20px;line-height:1.5}button{border:0;border-radius:12px;padding:16px 28px;background:#ffc400;color:#1f1f1f;font-size:17px;font-weight:800;cursor:pointer;transition:.2s ease}button:hover{transform:translateY(-2px)}button:disabled{cursor:wait;opacity:.75}.location-main-button{max-width:560px}.location-main-button span{margin-right:7px}.saved-location{margin-top:14px;color:#666666;font-size:14px;font-weight:700}.restaurants{background:#ffffff}.categories{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.categories div{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff8f3;border:1px solid #f1e2da;border-radius:18px;font-size:44px;transition:.2s ease;cursor:pointer}.categories div:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.categories strong{font-size:18px}.featured{background:#fff8f3;padding-bottom:90px}.restaurant-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.restaurant-card{overflow:hidden;background:#ffffff;border:1px solid #eeeeee;border-radius:20px;text-align:left;box-shadow:0 6px 20px rgba(0,0,0,.06);transition:.2s ease;cursor:pointer}.restaurant-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px rgba(0,0,0,.1)}.restaurant-image{height:180px;display:flex;align-items:center;justify-content:center;background:#f3e6dc;font-size:70px}.restaurant-info{padding:22px}.restaurant-info h3{margin:0 0 8px;font-size:21px}.restaurant-info p{margin:0 0 12px;color:#666666;font-size:15px}.restaurant-info span{color:#333333;font-size:14px;font-weight:700}.offers{background:#ffffff;padding-bottom:90px}.offers-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.offer-card{padding:32px;background:#fff8f3;border:1px solid #f1e2da;border-radius:20px;text-align:left}.offer-badge{display:inline-block;margin-bottom:20px;padding:8px 14px;background:#d71920;color:#ffffff;border-radius:50px;font-size:13px;font-weight:900}.offer-card h3{margin:0 0 10px;font-size:23px}.offer-card p{min-height:48px;margin:0 0 24px;color:#555555;line-height:1.5}.offer-card button{padding:12px 20px}footer{width:100%;padding:60px 8% 25px;background:#d71920;color:#ffffff}.footer-content{width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;grid-gap:70px;gap:70px}.footer-brand{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{display:block;width:180px;height:auto;margin-bottom:12px}.footer-brand p{margin:0;color:rgba(255,255,255,.85)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:40px;gap:40px}.footer-links h4{margin:0 0 18px}.footer-links a{display:block;margin-bottom:12px;color:rgba(255,255,255,.85);text-decoration:none;font-size:14px}.footer-links a:hover{color:#ffc400}.footer-bottom{width:100%;max-width:1200px;margin:45px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.25)}.footer-bottom p{margin:0;color:rgba(255,255,255,.75);font-size:13px}.location-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.58)}.location-modal{width:100%;max-width:590px;max-height:90vh;overflow-y:auto;padding:30px;background:#ffffff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.location-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.location-modal-label{display:block;margin-bottom:5px;color:#d71920;font-size:12px;font-weight:900;letter-spacing:1px}.location-modal-header h2{margin:0;font-size:30px;line-height:1.15}.location-close{flex:0 0 auto;width:42px;height:42px;padding:0;background:#f4f4f4;color:#333333;border-radius:50%;font-size:28px;line-height:1}.location-close:hover{transform:none;background:#eeeeee}.location-description{margin:16px 0 22px;color:#666666;line-height:1.5}.location-option{width:100%;display:flex;align-items:center;gap:16px;margin-bottom:14px;padding:18px;background:#ffffff;border:2px solid #eeeeee;border-radius:16px;text-align:left}.location-option:hover{transform:none;border-color:#d71920}.location-option.primary{background:#fff8f3;border-color:#f4d7ce}.location-option-icon{flex:0 0 auto;font-size:30px}.location-option strong{display:block;margin-bottom:4px;font-size:16px}.location-option small{display:block;color:#777777;font-size:13px;font-weight:500;line-height:1.4}.address-form{margin-top:18px}.address-back{margin-bottom:20px;padding:0;background:transparent;color:#d71920;font-size:14px}.address-back:hover{transform:none}.form-row{display:flex;gap:14px}.form-field{display:flex;flex:1 1;flex-direction:column;gap:7px;margin-bottom:14px;color:#333333;font-size:14px;font-weight:800;text-align:left}.form-field-large{flex:3 1}.form-field-small{flex:1 1}.form-field input{width:100%;min-width:0;padding:14px;border:1px solid #dddddd;border-radius:11px;outline:none;background:#ffffff;color:#1f1f1f;font-size:16px}.form-field input:focus{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.08)}.save-address-button{width:100%;margin-top:6px}.location-message{margin-top:18px;padding:13px 15px;background:#fff8f3;border:1px solid #f2d8ce;border-radius:12px;color:#444444;font-size:14px;font-weight:700;line-height:1.4}.auth-page{min-height:100vh;justify-content:center;padding:40px 20px;background:radial-gradient(circle at top,rgba(255,196,0,.16),transparent 34%),#fff8f3}.auth-container,.auth-page{display:flex;align-items:center}.auth-container{width:100%;max-width:520px;flex-direction:column}.auth-logo-link{display:inline-flex;margin-bottom:22px}.auth-logo{display:block;width:165px;height:auto}.auth-card{width:100%;padding:34px;background:#ffffff;border:1px solid #f0e4dd;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.08)}.auth-label{display:block;margin-bottom:8px;color:#d71920;font-size:12px;font-weight:900;letter-spacing:1px;text-align:center}.auth-card h1{margin:0;color:#1f1f1f;font-size:34px;line-height:1.15;text-align:center}.auth-description{max-width:420px;margin:14px auto 26px;color:#666666;font-size:15px;line-height:1.5;text-align:center}.auth-form{gap:15px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:7px;color:#333333;font-size:14px;font-weight:800}.auth-form input{width:100%;padding:14px 15px;border:1px solid #dddddd;border-radius:11px;outline:none;background:#ffffff;color:#1f1f1f;font-size:16px;transition:.2s ease}.auth-form input:focus{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.08)}.auth-submit{width:100%;margin-top:5px}.auth-message{margin-top:18px;padding:13px 15px;background:#fff8f3;border:1px solid #f2d8ce;border-radius:12px;color:#444444;font-weight:700;line-height:1.4}.auth-links,.auth-message{font-size:14px;text-align:center}.auth-links{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:24px;color:#666666}.auth-links a{color:#d71920;font-weight:800;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-back{margin-top:20px;color:#666666;font-size:14px;font-weight:700;text-decoration:none}.auth-back:hover{color:#d71920}@media (max-width:900px){.categories{grid-template-columns:repeat(2,1fr)}.offers-grid,.restaurant-grid{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.section-content h2{font-size:32px}.footer-content{grid-template-columns:1fr;gap:40px}}@media (max-width:768px){header{padding:6px 20px}.site-logo{width:54px}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-menu{position:absolute;top:100%;left:0;width:100%;display:flex;flex-direction:column;background:#d71920;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 12px 25px rgba(0,0,0,.18);max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .25s ease}.mobile-menu.open{max-height:320px;opacity:1;visibility:visible}.mobile-menu a{width:100%;padding:17px 22px;border-bottom:1px solid rgba(255,255,255,.12);color:#ffffff;text-decoration:none;font-weight:700;text-align:left}.hero{min-height:68vh;padding:55px 20px}.hero h1{font-size:42px}.hero p{font-size:18px}footer{padding-left:20px;padding-right:20px}.footer-links{grid-template-columns:1fr 1fr}.location-modal{padding:22px;border-radius:20px}.location-modal-header h2{font-size:25px}.auth-page{padding:28px 16px}.auth-card{padding:26px 22px;border-radius:20px}.auth-card h1{font-size:29px}.auth-logo{width:145px}}@media (max-width:520px){section{padding:55px 16px}.categories{grid-template-columns:1fr 1fr;gap:12px}.categories div{min-height:125px;font-size:36px}.categories strong{font-size:16px}.hero h1{font-size:36px}.hero p{font-size:16px}.section-content h2{font-size:28px}.footer-logo{width:150px}.footer-links{grid-template-columns:1fr}.location-overlay{align-items:flex-end;padding:0}.location-modal{max-height:92vh;border-radius:24px 24px 0 0}.form-row{flex-direction:column;gap:0}.location-main-button{width:100%;padding-left:18px;padding-right:18px}.auth-card{padding:24px 18px}}