.checkout-trigger { cursor: pointer; border: 0; font: inherit; }
.release-cta { margin-top: 1rem; padding: .7rem 1.25rem; border: 1px solid #9b6b20; background: transparent; color: #65420f; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
.mid-cta { margin-top: 2rem; text-align: center; }
.checkout-overlay { position: fixed; inset: 0; z-index: 1000; display: none; place-items: center; padding: 1rem; }
.checkout-overlay:target, .checkout-overlay.is-open { display: grid; }
.checkout-backdrop { position: absolute; inset: 0; background: rgba(4, 7, 16, .86); backdrop-filter: blur(8px); }
.checkout-panel { position: relative; width: min(600px, 100%); max-height: calc(100vh - 2rem); overflow: auto; padding: clamp(1.5rem, 4vw, 3rem); color: #171717; background: #f7f2e8; border: 1px solid rgba(198, 151, 63, .5); box-shadow: 0 30px 100px rgba(0,0,0,.55); animation: checkout-in .35s ease both; }
.checkout-panel h2 { margin: .35rem 0 .75rem; font-size: clamp(2rem, 5vw, 3.5rem); }
.checkout-close { position: absolute; top: .75rem; right: 1rem; border: 0; background: none; color: inherit; font-size: 2rem; line-height: 1; text-decoration: none; cursor: pointer; }
.checkout-lead { font-size: 1.12rem; color: #4e4639; }
.checkout-product { display: grid; grid-template-columns: 112px 1fr; gap: 1rem; align-items: center; margin: 1.5rem 0; padding: .8rem; background: #111827; color: #fff; }
.checkout-product img { width: 112px; height: 112px; object-fit: cover; }
.checkout-product div { display: grid; gap: .35rem; }
.checkout-product strong { font-size: 2rem; color: #e0ae51; }
.checkout-product small { color: #d9d9dd; }
.checkout-help { padding: .9rem 1rem; border-left: 3px solid #b78027; background: #eee5d3; font-size: .92rem; }
.launch-highlights { display: grid; gap: .65rem; margin: 1.25rem 0; padding: 0; list-style: none; }
.launch-highlights li { position: relative; padding-left: 1.5rem; color: #4e4639; }
.launch-highlights li::before { content: '✦'; position: absolute; left: 0; color: #a66f18; }
.checkout-panel .button { width: 100%; margin-top: 1rem; }
.opening-soon-note { display: block; margin-top: .9rem; text-align: center; color: #6f675b; }
body.checkout-open { overflow: hidden; }
@keyframes checkout-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 560px) {
  .checkout-panel { padding: 2.7rem 1rem 1.25rem; }
  .checkout-product { grid-template-columns: 84px 1fr; }
  .checkout-product img { width: 84px; height: 84px; }
}

.genesis-purchase{margin-top:1rem;display:grid;gap:.7rem}.genesis-purchase label{font-weight:700}.genesis-purchase input{font:inherit;padding:.8rem;border:1px solid #a59c8e;border-radius:5px}.genesis-purchase .button{margin:0}.genesis-purchase button:disabled{opacity:.5;cursor:not-allowed}.genesis-status{color:#4e4639;font-size:.9rem;margin:0}.genesis-purchase small{color:#655b50}
/* Explorer agreement */
.genesis-purchase .genesis-agreement { display:flex; align-items:flex-start; gap:.7rem; font-weight:400; line-height:1.45; cursor:pointer; }
.genesis-purchase .genesis-agreement input { flex:none; width:1.2rem; height:1.2rem; margin:.12rem 0 0; accent-color:#a66f18; cursor:pointer; }

/* Featured Hippogryph on first Explorer checkout screen */
.checkout-product{grid-template-columns:1fr;gap:1rem;padding:1rem;text-align:center}
.checkout-product img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center}
.checkout-product div{justify-items:center}
@media(max-width:560px){.checkout-product{grid-template-columns:1fr}.checkout-product img{width:100%;height:auto;max-height:300px}}

/* Actual reserved original shown as the second Genesis screen */
.genesis-artwork-step[hidden],.checkout-panel [hidden]{display:none!important}
.genesis-artwork-step{text-align:center}
.genesis-reserved-art{margin:1.25rem auto;max-width:420px;background:#111827;padding:1rem;color:#f4e6c8}
.genesis-reserved-art img{display:block;width:100%;max-height:420px;object-fit:contain}
.genesis-reserved-art figcaption{font-size:1.2rem;font-weight:700;margin-top:.8rem}
.genesis-secondary{display:block;margin:1rem auto 0;background:transparent;border:0;text-decoration:underline;color:#51483d;cursor:pointer;font:inherit}
