/* Memorial descritivo — ferramenta local, sem backend. */
.memorial-page .main-nav { gap: 21px; font-size: 11px; }
.memorial-page .main-nav .active-nav { color: var(--green); }
.memorial-hero { background: var(--navy); color: #fff; }
.memorial-hero-inner { min-height: 390px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(230px,.45fr); gap: 65px; align-items: center; padding: 75px 0; }
.memorial-hero h1 { font-size: clamp(3rem,6vw,5.6rem); }
.memorial-hero h1 em { color: var(--green-bright); }
.memorial-hero .hero-lead { max-width: 680px; margin-bottom: 0; }
.memorial-hero-note { padding: 26px 0 26px 23px; border-left: 2px solid var(--gold); }
.memorial-hero-note span, .memorial-hero-note small { display: block; color: #b4c9ce; }
.memorial-hero-note span { font-size: 9px; }
.memorial-hero-note strong { display: block; font: 600 26px var(--serif); margin: 8px 0; }
.memorial-hero-note small { font-size: 11px; }
.memorial-workspace { padding: 94px 0 105px; background: var(--paper); }
.memorial-heading h2, .memorial-output-section h2 { color: var(--ink); }
.memorial-heading .heading-aside, .memorial-output-section .heading-aside { color: #647477; }
.memorial-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(250px,.65fr); gap: 22px; align-items: start; }
.memorial-form { background: #fff; border: 1px solid var(--line); padding: 29px; }
.form-block { padding-bottom: 28px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.form-kicker { display: block; color: var(--green); font-size: 10px; letter-spacing: .07em; margin-bottom: 18px; }
.form-fields { display: grid; grid-template-columns: 1fr; gap: 15px; margin-top: 15px; }
.form-fields-three { grid-template-columns: 1.4fr 1fr .5fr; }
.form-fields-three:nth-of-type(2) { grid-template-columns: 1.4fr 1fr .5fr; }
.memorial-form label:not(.memorial-confirm) { display: flex; flex-direction: column; gap: 8px; font-size: 11px; font-weight: 700; color: #4d636b; }
.memorial-form input:not([type=checkbox]), .memorial-form textarea { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #cad5d0; border-radius: 2px; background: #fff; color: var(--ink); font: 13px var(--sans); }
.memorial-form input[readonly] { background: #f1f5f1; }
.memorial-form :is(input,textarea,button):focus-visible, .output-actions button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.form-block-head { display: flex; justify-content: space-between; align-items: start; gap: 15px; }
.form-block-head p { max-width: 640px; font-size: 12px; color: #637677; margin-bottom: 20px; line-height: 1.6; }
.form-block-head code { color: var(--green); }
.button-quiet { background: #eef3ef; color: var(--ink); border: 1px solid #cad5d0; cursor: pointer; box-shadow: none; white-space: nowrap; }
.memorial-form .button-primary, .output-actions .button-primary { border: 0; cursor: pointer; }
.coordinates-label textarea { min-height: 225px; resize: vertical; font: 12px/1.7 var(--mono); }
.form-help { display: flex; gap: 15px; color: #708481; font-size: 10px; margin-top: 13px; }
.form-help .mono { color: var(--green); flex: 0 0 auto; font-size: 9px; }
.memorial-confirm { display: flex; gap: 10px; font-size: 12px; line-height: 1.55; color: #405954; align-items: flex-start; }
.memorial-confirm input { accent-color: var(--green); margin-top: 4px; }
.memorial-form-actions { display: flex; align-items: center; gap: 18px; margin-top: 24px; }
.form-status { color: #8d641e; font-size: 11px; line-height: 1.5; }
.memorial-side { background: var(--navy); color: #fff; padding: 26px; }
.memorial-side-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-bottom: 26px; border-bottom: 1px solid #3a5661; }
.memorial-side-top .mono { color: #a4cbb8; font-size: 9px; }
.draft-stat { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 22px 0; border-bottom: 1px solid #3a5661; }
.draft-stat small { font: 9px var(--mono); color: #a4cbb8; }
.draft-stat strong { font: 600 20px var(--serif); grid-row: span 2; }
.draft-stat span { color: #9cafb3; font-size: 10px; margin-top: 3px; }
.memorial-side-warning { display: flex; gap: 11px; color: #dbba79; font-size: 11px; line-height: 1.6; margin-top: 26px; }
.memorial-side-warning>span { border: 1px solid currentColor; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.memorial-output-section { background: #e8eeea; padding: 100px 0 115px; }
.memorial-output-section[hidden] { display: none; }
.output-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.output-actions>div { display: flex; flex-wrap: wrap; gap: 10px; }
.output-actions .button { font-size: 11px; padding: 11px 15px; }
.output-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.65fr); align-items: start; gap: 18px; }
.memorial-document { background: #fff; padding: 36px; border: 1px solid var(--line); }
.document-head { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 19px; border-bottom: 1px solid var(--line); font-size: 9px; color: #6a8082; }
.memorial-document h3 { font: 600 32px var(--serif); margin: 30px 0 12px; overflow-wrap: anywhere; }
.document-lead { font-size: 13px; color: #657b7e; line-height: 1.6; margin-bottom: 26px; }
.document-body { font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.document-body p { margin: 0 0 18px; }
.document-signoff { border-top: 1px solid var(--line); margin-top: 15px; padding-top: 21px; }
.document-signoff p { color: #8c672d; font-size: 12px; line-height: 1.65; }
.document-signoff .mono { display: block; color: var(--green); font-size: 9px; margin-top: 16px; }
.segments-panel { background: #fff; border: 1px solid var(--line); padding: 22px; }
.segments-head { display: flex; justify-content: space-between; gap: 10px; color: var(--green); font-size: 10px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.segment-table-wrap { max-height: 650px; overflow: auto; }
.segments-panel table { width: 100%; border-collapse: collapse; font-size: 10px; }
.segments-panel th, .segments-panel td { padding: 11px 3px; text-align: left; border-bottom: 1px solid var(--line); }
.segments-panel th { font: 9px var(--mono); color: #6b8082; }
.segments-panel td { font-family: var(--mono); }
.segments-note { color: #805f27; font-size: 10px; line-height: 1.55; margin-top: 19px; }
.memorial-disclaimer { background: #dfe9e1; }
.memorial-disclaimer .disclaimer-inner { padding: 25px 0; }
@media(max-width:1000px) { .memorial-grid,.output-grid { grid-template-columns: 1fr; } .memorial-side { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 20px; } .memorial-side-top,.memorial-side-warning { grid-column: 1/-1; } .memorial-hero-inner { grid-template-columns: 1fr; gap: 22px; } }
@media(max-width:600px) { .memorial-workspace,.memorial-output-section { padding: 72px 0; } .memorial-hero-inner { padding: 65px 0; } .memorial-form,.memorial-document { padding: 20px; } .form-fields-three,.form-fields-three:nth-of-type(2) { grid-template-columns: 1fr; } .form-block-head,.output-actions,.memorial-form-actions { flex-direction: column; align-items: flex-start; } .memorial-side { grid-template-columns: 1fr; } .memorial-side-top,.memorial-side-warning { grid-column: auto; } .form-help { flex-direction: column; gap: 4px; } .document-head { flex-direction: column; } }
@media print { .site-header,.memorial-hero,.memorial-workspace,.memorial-disclaimer,.segments-panel,.output-actions,.section-heading { display: none!important; } body,.memorial-output-section { background: white!important; } .memorial-output-section { padding: 0!important; } .output-grid { display: block; } .memorial-document { border: 0; padding: 0; } .document-body p { break-inside: avoid; } }

.export-format-note { margin: -6px 0 22px; max-width: 900px; color: #596e70; font-size: 11px; line-height: 1.65; }
@media print { .export-format-note { display: none!important; } }
