:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:#840a0e;font-size:16px;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}a{color:inherit}#root{min-height:100vh}.page{max-width:720px;margin:0 auto;padding:24px 18px 48px;display:flex;flex-direction:column;gap:20px;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgb(210 210 210);border-radius:24px;box-shadow:0 18px 30px #00000014}.page.admin{max-width:960px}.card{background:#fff;border:1px solid rgb(220 220 220);border-radius:18px;padding:16px;box-shadow:none}.admin-section h3{margin-top:0}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-grid input,.form-grid select{border-radius:10px;border:1px solid rgb(210 156 66 / 45%);padding:10px 12px;background:#d29c4233;color:#710508}.checkbox{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:#840a0e}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.danger{background:transparent;border:1px solid rgb(220 60 70 / 65%);color:#840a0e;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}.upload-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-list{display:grid;gap:10px}.admin-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgb(225 225 225)}.notice{padding:10px 12px;border-radius:12px;background:#faf0f0;border:1px solid rgb(210 140 140);color:#840a0e}.error{color:#840a0e;margin:6px 0 0}.header{display:flex;flex-direction:column;gap:4px}.header-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.lang-toggle{display:inline-flex;gap:6px;border:1px solid rgb(220 60 70 / 40%);border-radius:999px;padding:4px}.lang-toggle button{background:transparent;border:none;color:#840a0e;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer}.lang-toggle button.active{background:#dc3c46;color:#fff}.header h1{font-size:28px;margin:0 0 4px}.header h2{font-size:22px;margin:0 0 4px}.user-pill{background:#fff;border:1px solid rgb(220 220 220);padding:6px 12px;border-radius:999px;font-size:13px;white-space:nowrap}.subtitle{color:#840a0e;margin:0;font-size:15px}.primary{background:#dc3c46;border:none;border-radius:10px;color:#fff;padding:12px 18px;font-weight:700;cursor:pointer;font-size:15px}.primary.wide{width:100%}.primary:disabled{opacity:.6;cursor:not-allowed}.ghost{background:transparent;border:1px solid rgb(220 60 70 / 60%);border-radius:10px;color:#840a0e;padding:12px 18px;font-weight:600;cursor:pointer;font-size:15px}.banner{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(120deg,#fff5f5,#ffe8e8);padding:26px;display:grid;grid-template-columns:1.4fr 1fr;gap:16px;min-height:200px}.banner-content h2{margin:8px 0 6px;font-size:22px}.banner-content p{color:#840a0e;margin:0 0 16px;font-size:15px}.badge{display:inline-block;background:#ffe8e8;color:#840a0e;border:1px solid rgb(220 60 70 / 50%);padding:4px 10px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.banner-actions{display:flex;gap:12px;flex-wrap:wrap}.banner-art{border-radius:18px;background-image:url(/bouquet.gif);background-size:cover;background-position:center;position:relative;overflow:hidden;animation:float 6s ease-in-out infinite;min-height:160px}.banner-art:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff0d,#0003)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.categories{display:flex;flex-direction:column;gap:20px}.category-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.category-header-row h3{margin:0;font-size:20px}.slider-controls{display:flex;gap:8px}.slider-button{background:#fff;border:1px solid rgb(220 60 70 / 50%);color:#840a0e;width:40px;height:40px;border-radius:10px;cursor:pointer}.category-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.category-slide{flex:0 0 70%;scroll-snap-align:start}.category{background:#fff;border:1px solid rgb(220 220 220);border-radius:18px;padding:16px;box-shadow:none}.category-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.category-header h3{margin:0 0 4px;font-size:18px}.category-header p{margin:0;color:#840a0e;font-size:14px}.price-chip{background:#ffe8e8;border:1px solid rgb(220 60 70 / 50%);padding:20px 15px;border-radius:15px;font-size:13px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.bouquet-card{background:#fff;border:1px solid rgb(220 220 220);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.bouquet-image{height:180px;background:linear-gradient(140deg,#f7b8c8,#f4d1e5,#f7e1c6);background-size:cover;background-position:center;opacity:.92;aspect-ratio:4 / 3;overflow:hidden;display:flex;align-items:center;justify-content:center}.bouquet-image img{width:100%;height:100%;object-fit:contain;display:block}.bouquet-info{display:flex;flex-direction:column;gap:10px;padding:12px}.bouquet-info h4{margin:0 0 4px;font-size:16px}.bouquet-info p{margin:0;color:#840a0e;font-size:14px}.bouquet-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.price{font-weight:700;color:#840a0e;font-size:15px}.order{background:#dc3c46;border:none;color:#fff;font-weight:700;border-radius:10px;padding:10px 14px;cursor:pointer;font-size:14px}.qty{display:flex;align-items:center;gap:8px;background:#ffe8e8;border:1px solid rgb(220 60 70 / 30%);border-radius:999px;padding:4px 8px}.qty button{background:transparent;border:none;color:#840a0e;font-size:18px;cursor:pointer}.cart{border:1px solid rgb(220 220 220);border-radius:18px;padding:16px;background:#fff}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cart-body{display:flex;flex-direction:column;gap:10px}.checkout-form{display:grid;gap:8px}.checkout-form input{border-radius:10px;border:1px solid rgb(220 220 220);padding:10px 12px;font-size:14px}.delivery{margin:8px 0 4px;padding:12px;border-radius:14px;border:1px solid rgb(220 220 220);background:#fff}.delivery-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.delivery-address{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px dashed rgb(220 220 220);margin-bottom:10px}.delivery-address strong{font-weight:600}.geo-panel{margin:18px 0;padding:14px 16px;border-radius:16px;border:1px solid rgb(220 220 220);background:#fff}.manual-address{margin-top:12px;display:grid;gap:8px}.manual-address input{border-radius:10px;border:1px solid rgb(220 220 220);padding:10px 12px;font-size:14px}.geo-warning{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px dashed rgb(220 60 70 / 40%);margin-bottom:10px}.geo-warning .primary{padding:8px 12px;text-decoration:none}.delivery-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.slot{border:1px solid rgb(220 60 70 / 45%);background:#fff;color:#840a0e;padding:8px 10px;border-radius:10px;font-weight:600;cursor:pointer}.slot.active{background:#dc3c46;color:#fff}.cart-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed rgb(220 220 220)}.cart-row strong{display:block}.cart-total{display:flex;justify-content:space-between;font-size:19px;font-weight:700;margin-top:6px}.muted{color:#840a0e;font-size:13px}.empty{color:#840a0e;margin:0;font-size:14px}@media(max-width:640px){.banner{grid-template-columns:1fr}.banner-art{min-height:180px}.header-top{flex-direction:column;align-items:flex-start}.grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bouquet-image{height:160px}.banner-content h2{font-size:20px}.category-slide{flex-basis:86%}}@media(max-width:480px){.page{padding:18px 12px 36px}.banner{padding:18px}.banner-art{min-height:200px}.bouquet-image{height:140px}.category-header{flex-direction:column;align-items:flex-start}.price-chip{align-self:flex-start}.category-slide{flex-basis:92%}}
