@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Caveat:wght@500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#f8e9d1;background:#122e30;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffcb7d;outline-offset:3px}
.experience{width:min(100%,720px);margin:0 auto}.artboard{position:relative;width:100%;isolation:isolate}.scene-art{display:block;width:100%;height:auto}.mood{position:absolute;top:36.9%;left:2%;width:96%;margin:0;color:#fff5df;text-align:center;font:600 clamp(20px,5.4vw,42px)/1 'Caveat',cursive;text-shadow:0 2px 5px #301a0c,0 3px 15px #1b1b1b;pointer-events:none;transform:rotate(-1deg)}
.art-hotspot{position:absolute;display:block;border:2px solid transparent;border-radius:5%;background:transparent;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s}.art-hotspot:hover{background:#fff5df14;border-color:#fff5df77}.art-hotspot:active{background:#fff5df2e}.chocolate-hotspot{left:6.7%;top:40.7%;width:42%;height:35.6%}.gummies-hotspot{left:51%;top:40.7%;width:42%;height:35.6%}.email-hotspot{left:42%;top:87%;width:24%;height:4.4%;border-radius:999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.prototype-note{font-size:.78rem;line-height:1.6;text-align:center;color:#f4e1c7;padding:12px 20px 24px;margin:0;background:#122e30}
.request-tab{position:fixed;right:20px;bottom:20px;z-index:5;border:1px solid #f8dca9;background:#173f3e;color:#fff0d9;border-radius:50px;padding:14px 20px;box-shadow:0 5px 25px #0008}.request-tab span{background:#e4b875;color:#153f40;border-radius:50%;padding:3px 8px;margin-left:8px}dialog{width:min(94vw,630px);max-height:88vh;overflow:auto;border:1px solid #dbbf92;border-radius:22px;background:#f7ecda;color:#183f3d;padding:26px;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#071d1bc7;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{letter-spacing:.2em;font-size:.7rem;font-weight:700}.close{border:0;background:transparent;font-size:2rem;color:#173f3d}dialog h2{font-family:Georgia,serif;font-size:2.1rem;margin:8px 0}.dialog-note,.fineprint{font-size:.87rem;line-height:1.5;color:#5d6962}.product{border-top:1px solid #d6c7af;padding:18px 0;display:flex;align-items:center;gap:15px;justify-content:space-between}.product-name{font-weight:700}.product small{display:block;color:#61716b;margin-top:5px}.quantity{display:flex;align-items:center;gap:12px;flex-shrink:0}.quantity button{border:1px solid #8a9b8e;border-radius:50%;width:35px;height:35px;background:#fff9ed;color:#173f3d;font-size:1.2rem}.quantity output{min-width:15px;text-align:center;font-weight:700}.review-button{width:100%;margin-top:14px}#request-lines{border-top:1px solid #d6c7af;margin:20px 0}.request-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6c7af;padding:12px 0;gap:10px}.request-line button{border:0;background:transparent;text-decoration:underline;color:#173f3d}form{display:grid;gap:15px}form label{display:grid;gap:7px;font-size:.85rem;font-weight:700}form label span{color:#a64a2b}form small{font-weight:400}input,textarea{width:100%;border:1px solid #c9bda8;background:#fffaf1;border-radius:9px;padding:12px;color:#183f3d}form .button{margin-top:6px}@media(max-width:600px){.product{align-items:flex-start}.quantity{gap:7px}.quantity button{width:31px;height:31px}dialog{padding:20px}}
/* Product photography: independent of the approved homepage artwork. */
.product{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center}
.product-photo{display:block;width:82px;height:82px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}
.product-info{min-width:0}.product-name{line-height:1.3;overflow-wrap:anywhere}
@media(max-width:600px){.product{grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}.product-photo{width:72px;height:72px}.quantity{grid-column:2;justify-self:start;margin-top:-2px}.quantity button{width:38px;height:38px}}

/* Keep each complete product photograph in frame; never crop the packaging. */
.product-photo{object-fit:contain;object-position:center;background:#fff;padding:3px}
.thank-you-van{display:block;width:min(100%,340px);max-height:400px;object-fit:contain;margin:12px auto 18px;border-radius:12px}
#thanks{text-align:center}#thanks .dialog-top{text-align:left}#thanks h2{font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.2}#thanks .button{width:100%}
.button{border:0;border-radius:999px;background:#173f3e;color:#fff7e9;padding:14px 20px;font-weight:700;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}
