*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background:#000;font-family:Arial,sans-serif;overflow-x:hidden}.scroll-container{height:400vh;position:relative}.fixed-layer{pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.black-base{z-index:0;background:#000}.hero-bg{z-index:1;background:url(/images/bg-main.png) 50%/cover no-repeat}.cafe-bg{z-index:2;background:url(/images/cafe-bg.png) 50%/cover no-repeat;transition:opacity 80ms linear}.end-bg{z-index:3;background:url(/images/bg-end.png) 50%/cover no-repeat;transition:opacity 80ms linear}.hero-content-layer{z-index:10;flex-direction:column;justify-content:center;align-items:center;display:flex}.cafe-content-layer{z-index:11;transition:opacity 80ms linear}.stalls-content-layer{z-index:12;transition:opacity 80ms linear;overflow-y:auto}.end-content-layer{z-index:13;justify-content:center;align-items:flex-end;padding-bottom:8vh;transition:opacity 80ms linear;display:flex}.content-hidden{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.content-rise{animation:.8s forwards riseIn}.content-rise-delay{opacity:0;animation:.8s .25s forwards riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-content{flex-direction:column;align-items:center;gap:20px;display:flex}.logo{width:500px;max-width:90vw;margin-bottom:30px}.cta-btn{color:#000;cursor:pointer;z-index:20;background:#e6e6e6;border:none;border-radius:30px;padding:15px 40px;font-size:16px;font-weight:700;transition:background .3s;position:relative}.cta-btn:hover{background:#ddd}.bottom-link{z-index:20;position:fixed;bottom:30px;right:40px}.bottom-link a{color:#fff;letter-spacing:1px;cursor:pointer;font-size:14px;text-decoration:none}.bottom-link a:hover{opacity:.7}.cafe-overlay{color:#e3cfcf;width:100%;height:100%;position:relative}.cafe-top-text{text-align:center;justify-content:center;gap:480px;display:flex;position:absolute;top:105px;left:0;right:0}.cafe-top-text span{letter-spacing:4px;font-family:Montserrat,sans-serif;font-size:18.3px}.cafe-title{text-align:center;letter-spacing:2px;text-shadow:0 4px 15px #000000b3;font-family:Oswald,sans-serif;font-size:100px;font-weight:600;position:absolute;top:13%;left:0;right:0;transform:translateY(-50%)}.cafe-subtitle{text-align:center;text-shadow:0 2px 10px #0009;font-family:Lora,serif;font-size:34px;font-style:italic;position:absolute;top:30%;left:0;right:0}.stalls-section{background:0 0;justify-content:flex-end;align-items:center;width:100%;height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.stalls-bg-img{object-fit:cover;object-position:center;z-index:0;opacity:0;pointer-events:none;width:931px;height:1157px;transition:opacity 1s;position:absolute;top:50%;right:-10%;transform:translateY(-50%)}.stalls-bg-img.img-visible{opacity:.3}.stalls-title{color:#ffbd59;letter-spacing:2px;text-align:center;text-transform:none;z-index:2;pointer-events:none;font-size:85px;line-height:1.2;position:absolute;top:35%;left:10%;transform:translateY(-50%)}.stall-grid-wrapper{z-index:2;flex-shrink:0;width:78%;margin-right:10%;position:relative}.stall-grid{grid-template-columns:repeat(3,260px);gap:40px;width:fit-content;margin-left:auto;display:grid}.stall-card{cursor:pointer;border:2px solid #fff;flex-direction:column;flex-shrink:0;gap:10px;width:260px;height:370px;display:flex;overflow:hidden}.stall-card:hover{z-index:100;transition:transform .3s,box-shadow .3s;transform:scale(1.05);box-shadow:0 0 24px #fff3}.stall-logo{flex:1;justify-content:center;align-items:center;max-height:240px;padding:15px;display:flex}.stall-logo img{object-fit:contain;max-width:110%;max-height:300px}.stall-description{color:#fff;text-align:center;border-top:1px solid #fff;padding:12px 16px;font-size:14px;line-height:1.7}.end-content{text-align:center;color:#fff;width:85%}.end-line{background-color:#fff;width:100vw;height:3px;margin-bottom:50px;position:relative;left:50%;transform:translate(-50%)}.end-columns{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.end-column{text-align:center;flex-direction:column;flex:1;align-items:center;gap:12px;display:flex}.end-column h3{letter-spacing:1px;margin-bottom:5px;font-size:20px}.end-column p{font-size:15px;line-height:1.8}.social-img{width:130px;height:auto;margin:0 auto;display:block}.modal-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal{text-align:center;color:#fff;z-index:10000;background:#1e1e1e;border-radius:12px;width:320px;padding:30px;animation:.2s ease-in-out fadeIn;position:relative;box-shadow:0 10px 30px #00000080}.modal h2{margin-bottom:10px}.modal p{opacity:.8;margin-bottom:20px;font-size:14px}.modal input{border:none;border-radius:6px;outline:none;width:100%;margin:10px 0;padding:10px}.modal button{cursor:pointer;border:none;border-radius:6px;margin:5px;padding:10px 15px;transition:all .2s}.modal button[type=submit],.modal .btn-primary{color:#fff;background:#4caf50}.modal button[type=submit]:hover,.modal .btn-primary:hover{background:#43a047}.modal .btn-cancel{color:#fff;background:#555}.modal .btn-cancel:hover{background:#444}.modal .btn-delete{color:#fff;background:#e53935}.modal .btn-delete:hover{background:#c62828}.modal-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.admin-page{color:#fff;background:#111;min-height:100vh;padding:0}.admin-header{background:#1a1a1a;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:25px 50px;display:flex}.admin-header h1{letter-spacing:1px;font-size:24px}.admin-back-btn{color:#aaa;font-size:14px;text-decoration:none;transition:color .2s}.admin-back-btn:hover{color:#fff}.admin-content{padding:40px 50px}.admin-content h2{letter-spacing:1px;margin-bottom:8px;font-size:20px}.admin-count{color:#888;margin-bottom:30px;font-size:13px}.admin-empty{color:#666;margin-top:20px;font-size:15px}.admin-table{border-collapse:collapse;width:100%;font-size:15px}.admin-table thead tr{background:#222;border-bottom:2px solid #444}.admin-table th{text-align:left;letter-spacing:.5px;color:#ccc;padding:14px 20px;font-weight:600}.admin-table tbody tr{border-bottom:1px solid #2a2a2a;transition:background .2s}.admin-table tbody tr:hover{background:#1c1c1c}.admin-table td{color:#ddd;padding:14px 20px}.admin-btn-edit{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:5px;margin-right:8px;padding:6px 14px;font-size:13px;transition:background .2s}.admin-btn-edit:hover{background:#1565c0}.admin-btn-delete{color:#fff;cursor:pointer;background:#e53935;border:none;border-radius:5px;padding:6px 14px;font-size:13px;transition:background .2s}.admin-btn-delete:hover{background:#c62828}@media (width<=1024px){.logo{width:380px}.cafe-top-text{gap:40px}.cafe-title{font-size:60px}.cafe-subtitle{font-size:22px}.stalls-bg-img{width:600px;height:800px;left:-8%}.stalls-title{font-size:38px;left:3%}.stall-grid-wrapper{width:auto;margin-right:2%}.stall-grid{grid-template-columns:repeat(3,200px)}.stall-card{width:200px;height:280px}.admin-header{padding:20px 30px}.admin-content{padding:30px}}@media (width<=768px){.logo{width:260px;margin-bottom:20px}.cta-btn{padding:12px 30px;font-size:14px}.bottom-link{bottom:20px;right:20px}.bottom-link a{font-size:12px}.cafe-top-text{flex-direction:column;align-items:center;gap:20px;top:10%}.cafe-top-text span{letter-spacing:2px;font-size:12px}.cafe-title{white-space:normal;text-align:center;width:100%;padding:0 10px;font-size:8vw;top:22%}.cafe-subtitle{white-space:normal;text-align:center;width:100%;padding:0 10px;font-size:4.5vw;top:30%}.stalls-section{flex-direction:column;justify-content:flex-start;align-items:center;padding:20px 15px;overflow-y:auto}.stalls-bg-img{width:300px;height:400px;display:none;top:0;left:50%;transform:translate(-50%);opacity:0!important}.stalls-title{text-align:center;z-index:2;margin-top:20px;margin-bottom:15px;font-size:26px;position:relative;top:auto;left:auto;transform:none}.stall-grid-wrapper{width:100%;margin-right:0}.stall-grid{grid-template-columns:1fr;width:100%}.stall-card{width:100%;height:auto;min-height:200px}.stall-logo{max-height:160px}.stall-logo img{max-height:130px}.end-columns{flex-direction:column;align-items:center;gap:30px}.end-column h3{font-size:16px}.end-column p{font-size:13px}.social-img{width:100px}.modal{width:90vw}.admin-header{text-align:center;flex-direction:column;gap:10px;padding:20px}.admin-content{padding:20px}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:10px 12px}.admin-btn-edit,.admin-btn-delete{padding:5px 10px;font-size:12px}}@media (width<=480px){.cafe-title{font-size:8vw}.cafe-subtitle{font-size:4vw}.stalls-title{font-size:18px}.admin-table th:first-child,.admin-table td:first-child{display:none}}.admin-page{z-index:99999;background:#111;min-height:100vh;position:relative}.fixed-layer{pointer-events:none}.admin-page~.fixed-layer{display:none}.admin-pin-screen{background:#111;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-pin-box{text-align:center;color:#fff;background:#1e1e1e;border-radius:12px;width:320px;padding:40px;box-shadow:0 10px 30px #00000080}.admin-pin-box h2{letter-spacing:1px;margin-bottom:8px;font-size:22px}.admin-pin-box p{color:#888;margin-bottom:24px;font-size:13px}.admin-pin-box input{text-align:center;letter-spacing:4px;color:#fff;background:#2a2a2a;border:none;border-radius:6px;outline:none;width:100%;margin-bottom:12px;padding:12px;font-size:18px}.pin-error{color:#e53935;margin-bottom:10px;font-size:13px}.admin-pin-btn{color:#000;cursor:pointer;background:#ffbd59;border:none;border-radius:6px;width:100%;padding:12px;font-size:15px;font-weight:700;transition:background .2s}.admin-pin-btn:hover{background:#f0a500}.admin-logout-btn{color:#aaa;cursor:pointer;background:#333;border:none;border-radius:5px;padding:6px 14px;font-size:13px;transition:background .2s,color .2s}.admin-logout-btn:hover{color:#fff;background:#444}.admin-login-btn{color:#000;cursor:pointer;background:#ffbd59;border:none;border-radius:5px;padding:8px 16px;font-size:13px;font-weight:700;transition:background .2s}.admin-login-btn:hover{background:#f0a500}.admin-view-only{color:#888;margin-left:6px;font-style:italic}
