:root {
	--qrh-ink: #2e2928;
	--qrh-muted: #756c68;
	--qrh-cream: #fbf8f3;
	--qrh-accent: #8a5d58;
	--qrh-border: #e9dfd6;
}

.qrh-memorial-page, .qrh-dashboard, .qrh-form { color: var(--qrh-ink); }
.qrh-memorial-page { background: var(--qrh-cream); padding: clamp(1rem, 3vw, 3rem); }
.qrh-public-memorial { max-width: 1100px; margin: 0 auto; }
.qrh-hero { position: relative; overflow: hidden; min-height: 460px; border-radius: 24px; background: #3e3533; display: grid; align-items: end; }
.qrh-cover, .qrh-cover::after { position: absolute; inset: 0; }
.qrh-cover::after { content: ""; background: linear-gradient(180deg, transparent 20%, rgba(30, 23, 22, .82)); }
.qrh-cover img { width: 100%; height: 100%; object-fit: cover; }
.qrh-hero-content { position: relative; z-index: 1; color: #fff; padding: clamp(2rem, 7vw, 5rem); max-width: 760px; }
.qrh-hero h1 { color: inherit; font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: 1; margin: .25rem 0 1rem; }
.qrh-kicker { letter-spacing: .16em; text-transform: uppercase; font-size: .78rem; }
.qrh-lifespan { font-size: 1.15rem; }
.qrh-lead { font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.6; }
.qrh-section { margin: clamp(2.5rem, 7vw, 5rem) 0; }
.qrh-section > h2, .qrh-memorial-footer h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
.qrh-prose { max-width: 760px; font-size: 1.08rem; line-height: 1.8; }
.qrh-photo-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.qrh-photo-grid figure { grid-column: span 6; margin: 0; overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 3; }
.qrh-photo-grid figure:nth-child(3n) { grid-column: span 12; aspect-ratio: 2 / 1; }
.qrh-photo-grid img { width: 100%; height: 100%; object-fit: cover; }
.qrh-video-grid, .qrh-details-grid, .qrh-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.qrh-video iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; }
.qrh-detail { margin: 0; background: #fff; padding: 2rem; border: 1px solid var(--qrh-border); border-radius: 16px; }
.qrh-memorial-footer { margin-top: 4rem; padding: 2rem; border-radius: 18px; background: #efe6dc; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.qrh-qr { display: grid; justify-items: center; gap: .4rem; }
.qrh-qr img { width: 150px; height: 150px; background: white; padding: 8px; border-radius: 8px; }
.qrh-button { display: inline-block; appearance: none; border: 1px solid var(--qrh-accent); border-radius: 999px; background: var(--qrh-accent); color: #fff !important; padding: .72rem 1.15rem; line-height: 1.2; text-decoration: none; cursor: pointer; font-weight: 600; }
.qrh-button:hover, .qrh-button:focus { filter: brightness(.9); }
.qrh-button-secondary { color: var(--qrh-accent) !important; background: transparent; }
.qrh-share-status { margin-inline-start: .6rem; color: var(--qrh-muted); }
.qrh-dashboard-heading, .qrh-memorial-card, .qrh-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.qrh-memorial-list { display: grid; gap: 1rem; margin-top: 1.5rem; }
.qrh-memorial-card { padding: 1rem; border: 1px solid var(--qrh-border); border-radius: 14px; background: #fff; }
.qrh-memorial-card > div:first-child { display: flex; align-items: center; gap: 1rem; }
.qrh-memorial-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.qrh-memorial-card h3 { margin: 0; }
.qrh-status { color: var(--qrh-muted); font-size: .85rem; }
.qrh-form { max-width: 900px; }
.qrh-field { display: grid; gap: .4rem; margin: 0 0 1.15rem; }
.qrh-field label { font-weight: 650; }
.qrh-field input:not([type="checkbox"]):not([type="file"]), .qrh-field textarea, .qrh-field select { width: 100%; box-sizing: border-box; border: 1px solid #cfc5bf; border-radius: 8px; padding: .75rem; background: #fff; color: var(--qrh-ink); }
.qrh-current-image img, .qrh-media-preview img { display: block; max-width: 110px; height: auto; margin-bottom: .5rem; border-radius: 8px; }
.qrh-notice { padding: 1rem; margin: 0 0 1rem; border-left: 4px solid #47739a; background: #eef6fc; }
.qrh-notice-error { border-color: #b13b37; background: #fff0f0; }
.qrh-notice-success { border-color: #397a4a; background: #effaf2; }
.qrh-media-field { padding: 10px 0; }
.qrh-media-clear { margin-left: 8px; }

@media (max-width: 720px) {
	.qrh-hero { min-height: 400px; }
	.qrh-video-grid, .qrh-details-grid, .qrh-form-grid { grid-template-columns: 1fr; }
	.qrh-photo-grid figure, .qrh-photo-grid figure:nth-child(3n) { grid-column: span 12; aspect-ratio: 4 / 3; }
	.qrh-memorial-footer, .qrh-dashboard-heading, .qrh-memorial-card { align-items: flex-start; flex-direction: column; }
	.qrh-card-actions { flex-wrap: wrap; }
}

