@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap");:root{--cream:#faf7f0;--paper:#fffefa;--green:#244c3d;--green2:#35634f;--red:#b96d59;--ink:#28352e;--muted:#7d877f;--line:#e9e3d8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hero{min-height:360px;text-align:center;padding:38px 20px 28px;background:radial-gradient(ellipse at 50% 0,#446b56 0,#244c3d 58%,#1c4033 100%);color:#fff;position:relative;overflow:hidden}.hero:after,.hero:before{content:"✦  ·  ✧  ·  ✦";position:absolute;color:#d9c99e;opacity:.45;font-size:20px;top:75px}.hero:before{left:5%;transform:rotate(-20deg)}.hero:after{right:5%;transform:rotate(20deg)}.hero-stars{color:#e7d8b3;letter-spacing:10px;font-size:18px;margin:0 0 18px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700;color:#e1d3b2}.admin-header h1,.hero h1{font:600 clamp(36px,7vw,62px)/1.12 Playfair Display,serif;margin:16px 0}.hero h1 span{color:#e2cba0;font-style:italic}.hero-copy{font-size:15px;line-height:1.8;color:#e7eee8}.hero-bottom{display:flex;justify-content:center;gap:25px;margin-top:23px;font-size:25px}.content{max-width:1080px;margin:auto;padding:48px 24px 25px}.intro-row{display:flex;justify-content:space-between;align-items:end;gap:20px}.green{color:var(--green2)}h2{font:600 30px Playfair Display,serif;margin:8px 0 0}.counter{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.counter strong{font:600 28px Playfair Display,serif;color:var(--green)}.filters{display:flex;gap:8px;margin:27px 0 22px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--muted);padding:10px 17px;font-size:13px}.filter.active{background:var(--green);border-color:var(--green);color:#fff}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.gift-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #28352e08}.gift-image{height:190px;background:#f0ede4;position:relative;overflow:hidden}.gift-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{height:100%;display:grid;place-items:center;font-size:58px;background:linear-gradient(135deg,#f3eadc,#e4eadf)}.child-tag,.reserved-tag{position:absolute;top:12px;padding:6px 10px;border-radius:30px;font-size:11px;font-weight:700}.child-tag{left:12px;background:#fffefaeb;color:var(--green)}.reserved-tag{right:12px;background:#e6eee6;color:#315d43}.gift-info{padding:17px}.occasion{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--red);font-weight:700}.gift-info h3{font:600 21px Playfair Display,serif;margin:7px 0}.gift-info p{font-size:13px;line-height:1.55;color:var(--muted);min-height:20px}.gift-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px}.gift-footer strong{font-size:14px}.reserve-btn{border:0;border-radius:7px;background:var(--green);color:white;padding:11px 14px;font-size:12px;font-weight:700}.reserve-btn:hover{background:var(--green2)}.reserve-btn:disabled{opacity:.5;cursor:wait}.reserved-by{font-size:11px;color:var(--green2);font-weight:600}.product-link{display:inline-block;margin-top:13px;color:var(--green2);font-size:12px;text-decoration:none}.is-reserved{opacity:.83}.empty,.notice{text-align:center;padding:35px;color:var(--muted)}.empty{background:var(--paper);border:1px dashed var(--line);border-radius:12px}.empty div{font-size:35px}.empty h3{font:600 22px Playfair Display,serif;color:var(--ink)}.empty p{font-size:13px}.thankyou{display:flex;align-items:center;justify-content:center;gap:17px;color:var(--red);margin:55px 0 35px}.thankyou p{font:italic 19px Playfair Display,serif;color:var(--green)}footer{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;color:#9a9c94;font-size:11px}footer a{color:var(--green2);text-decoration:none}.modal-backdrop{position:fixed;inset:0;background:#17271f99;display:grid;place-items:center;padding:18px;z-index:10}.modal{position:relative;width:min(100%,430px);background:var(--paper);border-radius:16px;padding:34px;text-align:center;box-shadow:0 20px 70px #0003}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:28px;color:var(--muted)}.modal-icon{font-size:40px;margin-bottom:15px}.modal h2{font-size:27px}.modal>p{font-size:13px;line-height:1.6;color:var(--muted)}.gift-form label,.login-panel label,.modal label{display:block;text-align:left;font-size:12px;font-weight:700;margin:18px 0 7px}.gift-form input,.gift-form select,.gift-form textarea,.login-panel input,.modal input{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px;background:#fffefa;color:var(--ink);outline-color:var(--green2)}.full{width:100%;margin-top:17px}.cancel-btn{border:0;background:none;color:var(--muted);padding:12px}.form-notice,.modal-message{font-size:12px;color:var(--green2);margin:12px 0}.admin-page{min-height:100vh;padding:30px 20px 70px;background:var(--cream)}.admin-header{max-width:850px;margin:0 auto 25px;text-align:center}.admin-header>a{display:block;text-align:left;color:var(--green2);font-size:13px;text-decoration:none;margin-bottom:35px}.admin-header h1{font-size:42px;color:var(--green);margin:10px 0}.admin-header p{color:var(--muted);font-size:13px}.admin-content{max-width:850px;margin:auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;align-items:start}.admin-panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:23px}.admin-panel h2{font-size:23px;margin:0 0 15px}.login-panel{max-width:420px;margin:auto}.login-panel p,.muted{font-size:13px;color:var(--muted);line-height:1.6}.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.delete-btn,.text-btn{border:0;background:none;color:var(--green2);font-size:11px}.delete-btn{color:#ad594a}.gift-form textarea{min-height:75px;resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.admin-gift{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.admin-gift strong{display:block;font-size:13px}.admin-gift small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.admin-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}@media(max-width:760px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content{grid-template-columns:1fr}.gift-image{height:165px}.content{padding:35px 16px 20px}}@media(max-width:480px){.gift-grid{grid-template-columns:1fr}.gift-image{height:210px}.intro-row{align-items:start;flex-direction:column}.counter{align-self:flex-end}.hero{min-height:330px}.hero:after,.hero:before{display:none}.content{padding-top:30px}.gift-info{padding:16px}.admin-page{padding:20px 13px 50px}.admin-panel{padding:18px}.admin-gift{flex-direction:column}.admin-actions{justify-content:flex-end}}