/* Content styles for the public pages; the frame comes from app.css. */
.page .crumbs { font-size:13px; color:var(--muted); margin-bottom:14px; }
.page .crumbs a { text-underline-offset:3px; }
.page h1 { font:400 30px/1.15 Georgia, "Times New Roman", serif; margin:0 0 8px; }
.page h2 { font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); margin:38px 0 12px; }
.page .lede { font:italic 400 16px/1.5 Georgia, "Times New Roman", serif; color:var(--muted); margin:0 0 26px; }
.page .list, .page .index { list-style:none; margin:0; padding:0; }
.page .list li { padding:0 0 28px; }
.page .list .who { display:inline-block; font:400 26px/1.15 Georgia, "Times New Roman", serif; text-decoration:none; padding-bottom:5px; background:linear-gradient(var(--gold), var(--gold)) no-repeat 0 100% / 0 1px; transition:background-size .5s ease; }
.page .list .who:hover { background-size:100% 1px; }
.page .list .who b { font-weight:700; }
.page .list time { display:block; font-size:10.5px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
.page .list .detail, .page .list .from { display:block; font-size:14px; color:var(--muted); margin-top:5px; }
.page .list .from { margin-top:1px; }
.page .list .from a { text-decoration:none; }
.page .list .from a:hover { text-decoration:underline; text-underline-offset:3px; }
.page .index { columns:2; column-gap:44px; }
.page .index li { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--rule); break-inside:avoid; font-size:15px; }
.page .index a { text-decoration:none; }
.page .index a:hover { text-decoration:underline; text-underline-offset:3px; }
.page .index span { color:var(--muted); font-size:13px; }
.page .qa { border-top:1px solid var(--rule); padding:18px 0 4px; }
.page .qa h2 { font:600 19px/1.3 Georgia, "Times New Roman", serif; letter-spacing:0; text-transform:none; color:var(--ink); margin:0 0 6px; }
.page .qa p { margin:0 0 12px; color:var(--muted); }
.page .cta { margin:38px 0 10px; padding-top:22px; border-top:1px solid var(--ink); }
.page .cta .btn { display:inline-block; background:var(--ink); color:var(--bg); text-decoration:none; border-radius:10px; padding:12px 18px; font-weight:600; }
.page .cta span { display:block; margin-top:10px; font:italic 400 14px/1.4 Georgia, "Times New Roman", serif; color:var(--muted); }
.page .also { margin:0 0 10px; font:italic 400 14px/1.4 Georgia, "Times New Roman", serif; color:var(--muted); }
.page .also a { text-underline-offset:3px; }
.page .short { border:1px solid var(--rule); border-radius:10px; padding:4px 18px 10px; margin:0 0 26px; }
.page .short h2 { margin:16px 0 8px; }
.page .short ul, .page .terms ul { margin:0 0 12px; padding-left:20px; }
.page .short li { font:400 17px/1.45 Georgia, "Times New Roman", serif; margin:0 0 7px; }
.page .terms li { color:var(--muted); margin:0 0 8px; }
.page .terms li strong, .page .terms p strong { color:var(--ink); }
.page { font-size:16px; line-height:1.5; }
.page a { color:inherit; }
.page .foot { margin-top:40px; padding-top:16px; border-top:1px solid var(--rule); font-size:13px; color:var(--muted); }
.page .foot p { margin:0 0 8px; }
@media (max-width:600px) { .page .index { columns:1; } .page h1 { font-size:26px; } }
.page .headrow { display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; margin:0 0 8px; }
.page .headrow h1 { margin:0; }
.page .btn-sm { flex:none; border:1px solid var(--ink); color:var(--ink); text-decoration:none; border-radius:8px; padding:5px 10px; font-size:13px; font-weight:600; white-space:nowrap; }
.page .btn-sm:hover { background:var(--ink); color:var(--bg); }
/* For Funeral Homes: find your listing and copy the banner code. */
.page .findfh { display:flex; gap:8px; margin:12px 0; }
.page .findfh input { flex:1; min-width:0; font-size:16px; padding:8px 10px; border:1px solid var(--rule); border-radius:8px; }
.page .found { padding-left:18px; }
.page .found li { margin:6px 0; }
.page .kit { border:1px solid var(--rule); border-radius:12px; padding:14px 16px; margin:14px 0; background:var(--card); }
.page .kit h3 { margin:0; }
.page .kitrow { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:8px 0; }
.page .kitrow select { font-size:16px; padding:5px 8px; }
.page .kit textarea { width:100%; box-sizing:border-box; font:13px/1.4 ui-monospace, Menlo, Consolas, monospace; padding:8px; border:1px solid var(--rule); border-radius:8px; }
.page #kit-preview img { max-width:100%; height:auto; }
