:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#294b3b;background:#efe5d2;font-synthesis:none;--paper:#efe5d2;--ink:#294b3b;--cranberry:#963e36;--muted:#62644e}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(120deg,#f4ecdc 0%,var(--paper) 55%,#e9ddc7 100%)}
::selection{background:var(--cranberry);color:#fff9ed}
.product{min-height:100svh;max-width:1600px;margin:0 auto;padding:clamp(5rem,12vh,9rem) clamp(1.5rem,7vw,8rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(3rem,6vw,7rem);align-items:start}
.product-copy{padding-top:.5rem}
h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,6.1vw,6rem);font-weight:700;line-height:1;letter-spacing:-.06em}
.pricing{margin-top:2.5rem}
.price{font-size:clamp(3rem,4.5vw,4.5rem);font-weight:700;letter-spacing:-.06em;line-height:1;margin:0 0 1rem;color:var(--cranberry)}
.tax,.total{font-size:.875rem;line-height:1.6;margin:0;font-weight:400}
.tax span{color:var(--muted)}
.total{margin-top:.15rem}
.payment{display:flex;align-items:center;gap:1.5rem;margin-top:2.75rem}
.qr-link{display:block;flex-shrink:0;background:#fff;line-height:0}
.qr-link img{display:block;width:152px;height:152px}
.payment-copy p{margin:0 0 .65rem;font-size:.9375rem;line-height:1.5}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.payment-copy a{font-size:.9375rem;color:var(--cranberry)}
.payment-copy .scan-note{margin:1.05rem 0 0;font-size:.75rem;max-width:10rem;color:var(--muted)}
a:focus-visible{outline:2px solid var(--cranberry);outline-offset:6px}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:.5rem}
.photo{margin:0;display:block;min-width:0;background:#fff8ea;padding:5px;line-height:0;box-shadow:0 1px 4px #4b38231c}
.photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.photo:hover{outline:1px solid var(--cranberry);outline-offset:3px}
.gallery-note{grid-column:1/-1;margin:.15rem 0 0;font-size:.75rem;color:var(--muted)}
.viewer-open{overflow:hidden}
.image-viewer{width:calc(100% - 2rem);max-width:1200px;max-height:calc(100dvh - 2rem);padding:0;border:0;color:var(--ink);background:var(--paper);box-shadow:0 16px 80px #0006}
.image-viewer::backdrop{background:#15261ee8}
.viewer-surface{display:flex;flex-direction:column;max-height:calc(100dvh - 2rem)}
.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;font-size:.8125rem;flex-shrink:0}
.image-viewer button{font:inherit;color:var(--ink);background:transparent;border:1px solid transparent;min-width:44px;min-height:44px;padding:.5rem .75rem;cursor:pointer}
.image-viewer button:hover{background:#294b3b10}
.image-viewer button:focus-visible{outline:2px solid var(--cranberry);outline-offset:-2px}
.viewer-close{display:flex;align-items:center;gap:.75rem}
.viewer-close span{font-size:1.75rem;line-height:1}
.viewer-image{display:block;width:100%;height:auto;min-height:0;max-height:calc(100dvh - 12rem);object-fit:contain;background:#182b23;flex:1 1 auto}
.viewer-footer{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.5rem 1rem;flex-shrink:0}
.viewer-footer p{flex:1;margin:0;font-size:.8125rem;line-height:1.5;text-align:center}
.viewer-footer button{font-size:1.5rem;flex-shrink:0}
@media(max-width:700px){.image-viewer{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.viewer-header,.viewer-footer{padding:.375rem .5rem}.viewer-footer{gap:.25rem}.viewer-footer p{font-size:.75rem}.viewer-image{max-height:calc(100dvh - 14rem)}}
@media(min-width:1500px){.product{padding-top:10rem}}
@media(max-width:1000px){.product{gap:2.5rem;padding:5rem 2rem}h1{font-size:clamp(3.4rem,6.5vw,4.75rem)}.payment{gap:1rem}.qr-link img{width:128px;height:128px}.gallery{gap:.75rem}}
@media(max-width:700px){.product{grid-template-columns:1fr;padding:3.5rem 1.5rem;gap:3rem;max-width:560px}h1{font-size:clamp(3.25rem,12vw,4.75rem)}.pricing{margin-top:2rem}.payment{margin-top:2rem;gap:1.5rem}.qr-link img{width:144px;height:144px}.gallery{padding-top:0;gap:.75rem}.gallery-note{margin-top:.3rem}}
