.shop{padding-block:36px 80px}.shop>.eyebrow{margin-top:42px}.shop h1{font-size:clamp(36px,6vw,72px);line-height:1.05;letter-spacing:-.04em;margin:20px 0}.lead{max-width:750px;font-size:20px;line-height:1.65;color:#bcc8d8}.checkout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:32px;margin-top:40px;align-items:start}.panel{background:#162435;border:1px solid #314054;border-radius:20px;padding:32px;min-width:0}.panel h2{font-size:24px;margin:32px 0 18px}.panel h2:first-child{margin-top:0}.panel p{line-height:1.7;color:#c4cfdd}.shop label{display:block;margin:18px 0 8px;font-weight:600}.shop input:not([type=radio]):not([type=checkbox]):not([type=hidden]){width:100%;box-sizing:border-box;padding:14px;background:#0e1a2a;border:1px solid #506079;border-radius:8px;color:white;font:inherit}.shop input:focus{outline:2px solid #f47b20;outline-offset:2px}.shop .choice{display:flex;align-items:flex-start;gap:12px;line-height:1.5;padding:14px;border:1px solid #3b4a5f;border-radius:8px}.choice input{margin-top:5px;accent-color:#f47b20;flex-shrink:0;width:18px;height:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shop fieldset{border:0;padding:16px 0;margin:0}.shop [hidden]{display:none!important}.shop button{font:inherit;cursor:pointer;border:0}.shop button:disabled{opacity:.6;cursor:wait}.shop .primary-button{display:inline-block;max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}.shop #pay{width:100%;margin-top:20px}.small{font-size:14px}.summary img{width:100%;height:230px;object-fit:contain;background:#dadade;border-radius:12px;margin-bottom:28px}.summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #344257}.summary dd{margin:0;white-space:nowrap}.summary .total{font-size:24px;font-weight:800;color:#ff994f}.result{max-width:800px;margin:36px auto}.result #reference{overflow-wrap:anywhere}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}footer p{max-width:850px;line-height:1.6}@media(max-width:760px){.checkout{grid-template-columns:1fr}.summary{grid-row:1}.summary img{height:180px}.panel{padding:22px}.two{grid-template-columns:1fr}.shop h1{font-size:42px}}
/* Match the catalogue framing; avoid shrinking a story-format photo into a banner. */
.summary img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 55%;max-width:360px;margin:0 auto 28px}

.communion-summary img{aspect-ratio:9/16;object-fit:contain;max-width:260px}
