@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#192121;--muted:#62706e;--accent:#a14726;--bg:#fafaf8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}header{padding:24px 5%;border-bottom:1px solid #dce1df;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{font-size:25px;letter-spacing:2px}.brand b{color:var(--accent)}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:5px}nav{display:flex;align-items:center;gap:28px}nav form{margin:0}main{max-width:1320px;margin:auto;padding:48px 5% 70px;min-height:75vh}.heading{margin:5px 0 40px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--accent)}h1{font:600 clamp(36px,5vw,64px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-1px;margin:15px 0 22px}h1 em{font-weight:600;color:var(--accent)}p{line-height:1.6;color:var(--muted)}h2{font-size:23px}button,.pill{display:inline-block;border:0;background:var(--ink);color:white;padding:13px 22px;border-radius:6px;cursor:pointer;font-weight:600}.pill:hover,button:hover{background:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#e5ebe8;color:var(--ink)}.text{background:none;color:var(--ink);padding:6px}.events{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.event{background:white;border:1px solid #dde2df;border-radius:9px;overflow:hidden}.event img,.no-cover{width:100%;aspect-ratio:4/3;object-fit:cover}.no-cover{display:grid;place-items:center;background:#263c36;color:#fff;font-size:26px;letter-spacing:3px}.event-info{padding:24px}.event-info h2{font:600 28px 'Playfair Display',Georgia,serif;margin:14px 0 24px}.row{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.event-info .row{font-size:14px}.event-info strong{color:var(--accent)}.auth{max-width:500px;margin:20px auto}.auth h1{font-size:48px}label{display:block;margin:16px 0 20px;font-weight:600}input:not([type=checkbox]),select{width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #b9c5bf;background:white;border-radius:5px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:var(--accent)}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0}.photos img{width:100%;height:310px;object-fit:contain;background:#e8eeea;display:block}.photo,.photos article{margin:0;background:#fff;border:1px solid #d6dfd9;border-radius:7px;overflow:hidden}.photo:has(input:checked){outline:3px solid var(--accent)}.caption{padding:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}.cart{position:sticky;bottom:18px;padding:20px;background:var(--ink);color:white;display:flex;justify-content:space-between;gap:20px;align-items:center;border-radius:9px;box-shadow:0 10px 35px #0002}.cart button,.cart .pill{background:#d2754a}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.box{padding:25px;background:white;border:1px solid #d9e0db;border-radius:8px}.order{margin:20px 0}.order form{display:inline-block}.badge{padding:8px 12px;background:#edf0e9;border-radius:30px;font-size:14px}.notice{padding:16px;background:#f8e7dc;border-left:4px solid var(--accent);margin-bottom:24px}.empty{padding:55px 30px;text-align:center;border:1px dashed #a5b8aa;border-radius:8px}.back{font-size:14px;text-decoration:underline}footer{display:flex;gap:24px;padding:28px 5%;border-top:1px solid #ddd;color:var(--muted);font-size:14px}footer a{margin-left:auto}@media(max-width:850px){.events,.photos{grid-template-columns:repeat(2,1fr)}nav{gap:14px}.brand{font-size:20px}header{flex-wrap:wrap;gap:20px}.admin-grid{grid-template-columns:1fr}}@media(max-width:540px){main{padding-top:30px}nav{width:100%;justify-content:space-between;font-size:14px;gap:8px}.events{grid-template-columns:1fr}.photos{gap:10px}.photos img{height:210px}.caption{padding:10px}.cart{flex-wrap:wrap;bottom:6px;padding:14px}.cart button{width:100%}footer{flex-wrap:wrap}.auth h1{font-size:38px}}
