.request-page{background:#eeeade;color:#173e40}.request-page *{box-sizing:border-box}.request-hero{position:relative;overflow:hidden;background:#143d41;color:#f5f0e5;padding:65px max(7%,calc((100% - 1080px)/2));border-bottom:1px solid #a58b58}.request-hero:before{content:'';position:absolute;pointer-events:none;width:600px;height:600px;right:-250px;top:-280px;background:url('assets/floral-line-fill.webp') center/contain no-repeat;filter:invert(1);opacity:.045}.request-hero h1{font-size:clamp(30px,4vw,50px);font-weight:400;letter-spacing:.07em;line-height:1.6;margin:20px 0}.request-hero p{font-size:14px;line-height:1.9}.preview-banner{font:13px/1.8 sans-serif;border-left:3px solid #bba16d;padding:13px 18px;background:#ffffff0b;max-width:700px;margin-top:26px}.request-wrap{max-width:1080px;margin:auto;padding:0 7% 70px}.request-tabs{display:flex;border-bottom:1px solid #b3a783;margin:30px 0}.request-tabs a{flex:1;text-align:center;padding:17px 8px;text-decoration:none;color:inherit}.request-tabs [aria-current]{border-bottom:3px solid #735a32;font-weight:600}.request-notice{padding:23px 0 26px;font-size:14px;line-height:1.9}.request-notice p{margin:8px 0 0}.form-chapter{padding:35px 0;border-top:1px solid #b3a783}.chapter-label{font:11px/1.5 sans-serif;letter-spacing:.2em;color:#795f35}.form-chapter h2,.review-panel h2{font-size:25px;line-height:1.7;font-weight:500;margin:8px 0 20px}.form-chapter p{font-size:14px;line-height:1.85}.request-page label{display:block;font-size:14px;line-height:1.8;margin:15px 0}.request-page label small,.request-page label span{font:11px/1.5 sans-serif;color:#5e685f}.required{display:inline-block;font:10px/1.4 sans-serif!important;padding:3px 7px;margin-left:7px;color:white!important;background:#735a32;border-radius:4px;vertical-align:middle}.request-page input:not([type=radio]):not([type=checkbox]),.request-page select,.request-page textarea{display:block;width:100%;min-width:0;border:1px solid #9d9e8d;border-radius:3px;padding:12px;background:#faf8f1;color:#193c3e;font:16px/1.5 sans-serif;margin-top:7px}.request-page input[type=radio],.request-page input[type=checkbox]{width:19px;height:19px;vertical-align:middle;accent-color:#305c59;margin-right:7px}.field-pair,.preference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.request-page fieldset{min-width:0;border:1px solid #c7bda2;padding:12px 20px;margin:20px 0}.request-page legend{padding:0 7px;font-size:15px}.reply-choice label{display:inline-block;margin-right:26px}.hint{font:12px/1.8 sans-serif!important;color:#5e685f}.toba-table{width:100%;border-collapse:collapse;table-layout:fixed}.toba-table th{text-align:left;font-size:13px;font-weight:500}.toba-table th:last-child{width:64px}.toba-table td{vertical-align:top;padding:5px 8px 5px 0}.toba-table td:last-child{padding-right:0}.toba-table button{margin-top:7px;padding:12px 6px}.subtotal{text-align:right;border-top:1px solid #b6aa8e;padding-top:14px}.subtotal output{font-size:24px;margin-left:20px}.request-page main button{cursor:pointer;border:1px solid #9d8b63;background:transparent;color:inherit;border-radius:3px;font:14px/1.6 sans-serif;padding:12px 18px;min-height:44px}.request-page main button.request-primary{background:#173f43;color:#fff;border-color:#173f43;padding:16px 26px}.submit-area{border-top:1px solid #b3a783;padding:28px 0;text-align:center}.submit-area p{font:12px/1.8 sans-serif}.review-panel{padding:30px 0}.review-panel dl{margin:0}.review-panel dt{font-size:13px;color:#6a604b;margin-top:20px}.review-panel dd{margin:6px 0 15px;overflow-wrap:anywhere}.review-actions{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}.calendar-demo{border:1px solid #b9ae92;padding:20px;margin-top:30px;font:13px/1.9 sans-serif}.calendar-demo summary{cursor:pointer;font-size:14px}.calendar-demo li{margin:12px 0}.calendar-demo li button{margin-left:15px}.request-footer{padding:35px 7%;background:#153d41;color:#eee8dc;display:flex;gap:25px;flex-wrap:wrap;font-size:13px}.request-footer a{color:inherit}.request-footer p{width:100%;letter-spacing:.15em}.request-page :focus-visible{outline:3px solid #a27c32;outline-offset:3px}.request-page [hidden]{display:none!important}#form-status{font:14px/1.8 sans-serif;white-space:pre-line}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.request-hero{padding:36px 7%}.request-hero h1{font-size:29px}.request-wrap{padding-inline:6%}.field-pair,.preference{grid-template-columns:1fr}.request-page fieldset{padding:10px 14px}.form-chapter{padding:27px 0}.form-chapter h2{font-size:23px}.toba-table td{padding-right:5px}.toba-table th:last-child{width:49px}.toba-table input{padding:10px 7px!important}.toba-table button{font-size:12px;padding:11px 4px}.preview-banner{font-size:12px;padding:12px}.review-actions>button{flex:1}.request-tabs a{font-size:14px}}
/* Independent deceased cards. IDs remain stable when the visible order changes. */
.deceased-card{margin:22px 0;border:1px solid #a9a188;border-radius:4px;background:#f5f1e7;min-width:0;overflow:hidden}.deceased-card>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:20px;background:#e5e2d4;line-height:1.7}.deceased-card>summary::-webkit-details-marker{display:none}.deceased-card>summary::after{content:'＋';font:20px/1 sans-serif;justify-self:end}.deceased-card[open]>summary::after{content:'−'}.deceased-number{font:12px/1.5 sans-serif;white-space:nowrap;border:1px solid #9e906e;padding:4px 8px;border-radius:3px}.deceased-summary-name{font-size:17px;overflow-wrap:anywhere;min-width:0}.deceased-summary-kind{font:12px/1.5 sans-serif;white-space:nowrap;color:#665638}.deceased-summary-kind:empty{display:none}.deceased-body{padding:9px 23px 23px}.memorial-options label{display:inline-block;margin-right:24px}.memorial-options legend small{font:11px/1.5 sans-serif;color:#5e685f}.person-toba{border-top:1px solid #c5bca6;padding-top:14px;margin-top:26px}.person-toba h3{font-size:19px;font-weight:500;line-height:1.8;margin:8px 0}.person-toba .subtotal{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:5px 15px}.person-toba .subtotal output{margin:0;font-size:19px}.deceased-actions{margin-top:24px}.request-page .remove-deceased{font-size:12px;padding:8px 13px}.request-page main button:disabled{opacity:.45;cursor:not-allowed}.delete-deceased-confirm{border-left:3px solid #8f543c;background:#eee4d6;padding:3px 14px 14px;margin-top:14px}.delete-deceased-confirm button{margin:0 8px 4px 0}.request-page .confirm-remove-deceased{background:#714a38;color:#fff}.request-page .add-deceased{display:block;width:100%;border-style:dashed;margin:24px 0 30px;background:#f7f3e8}.review-deceased{margin:28px 0;border:1px solid #b3a783;padding:20px 24px;border-radius:4px}.review-deceased h3{font-size:20px;font-weight:500;line-height:1.7;overflow-wrap:anywhere;margin:0 0 15px}.review-common{border-top:1px solid #b3a783;padding-top:5px}.request-page [aria-invalid=true]{border-color:#9a4634!important;box-shadow:0 0 0 1px #9a4634}
@media(max-width:600px){.deceased-card>summary{padding:16px 13px;gap:8px;grid-template-columns:auto minmax(0,1fr) 18px}.deceased-summary-name{font-size:15px}.deceased-summary-kind{grid-column:2;grid-row:2}.deceased-card>summary::after{grid-column:3;grid-row:1 / span 2}.deceased-body{padding:5px 13px 20px}.deceased-number{font-size:11px;padding:3px 6px}.memorial-options label{margin-right:15px}.person-toba .subtotal output{font-size:17px}.review-deceased{padding:16px}.review-deceased h3{font-size:18px}}
@media(max-width:480px){.person-toba .toba-table,.person-toba .toba-table tbody{display:block;width:100%}.person-toba .toba-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.person-toba .toba-table tr{display:grid;grid-template-columns:minmax(0,1fr) 47px;gap:0 7px;padding:9px 0;border-bottom:1px solid #d0c8b4}.person-toba .toba-table td{display:block;padding:0;min-width:0}.person-toba .toba-table td:first-child{grid-column:1;grid-row:1}.person-toba .toba-table td:nth-child(2){grid-column:1;grid-row:2}.person-toba .toba-table td:last-child{grid-column:2;grid-row:1 / span 2;align-self:center}.person-toba .toba-table button{width:100%;margin:0}.person-toba .toba-table input{margin-top:5px}}
/* Three in-memory calendars share the same JST deadline and unavailable slots. */
.date-choice,.time-choice{min-width:0}.date-choice>label,.time-choice>label{margin-bottom:7px}.request-page .date-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;background:#faf8f1;border-color:#9d9e8d;text-align:left;font-size:16px;padding:12px}.date-toggle .date-display{min-width:0;overflow-wrap:anywhere}.date-status,.time-status{font:12px/1.8 sans-serif!important;margin:7px 0 0!important;color:#714a38}.date-status:empty,.time-status:empty{display:none}.date-calendar{border:1px solid #b3a783;border-radius:4px;background:#faf8f1;margin:12px 0 8px;padding:12px;min-width:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.calendar-heading .calendar-month{margin:0;font:500 17px/1.6 sans-serif;text-align:center}.request-page .calendar-heading button{width:44px;flex-shrink:0;padding:4px;font-size:24px;line-height:1.2}.calendar-help{font:11px/1.7 sans-serif!important;color:#62675d;margin:12px 0!important}.calendar-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px;font-family:sans-serif}.calendar-grid th{padding:6px 0;text-align:center;font-size:12px;font-weight:500;color:#59635d}.calendar-grid td{padding:0;text-align:center;vertical-align:middle}.request-page .calendar-day{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:5px 0;border-color:transparent;border-radius:3px;background:#ece9dc;font-size:14px;line-height:1.5}.request-page .calendar-day:hover:not(:disabled){background:#dce4db;border-color:#53736a}.request-page .calendar-day.is-selected{background:#1f514e;border:2px solid #1f514e;color:white;font-weight:700}.request-page .calendar-day:disabled{opacity:1;background:#e3e2dd;color:#858780;border-color:#deded7;text-decoration:line-through;cursor:not-allowed}.request-page .calendar-day.is-selected:disabled{border:2px solid #777c76;color:#6b706a;background:#d6d8d2}.request-page .calendar-day[aria-current=date]{text-decoration:underline}.calendar-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.request-page .calendar-actions button{padding:8px;font-size:12px}.request-page .date-toggle.is-unavailable,.request-page select.is-unavailable{background:#e3e2dd;color:#686e68}.request-page option:disabled{color:#858780;background:#e3e2dd}.request-page .date-toggle:focus-visible,.request-page .calendar-day:focus-visible{position:relative;z-index:1;outline:3px solid #8c6826;outline-offset:1px}.time-choice select{margin-top:7px}@media(max-width:900px){.preference{grid-template-columns:1fr}.date-calendar{max-width:430px}}@media(max-width:480px){.date-calendar{padding:8px}.calendar-grid{border-spacing:1px}.request-page .calendar-day{font-size:13px}.calendar-heading .calendar-month{font-size:16px}.request-page .date-toggle{font-size:15px}.calendar-actions{gap:5px}}
