.a2-letter.dg-story-letter{max-width:720px;padding:34px 38px}
.dg-story-form label{display:block;font:600 16px 'Source Sans 3',sans-serif;margin:0 0 6px}
.dg-story-form label .opt{color:#8a7580;font-weight:400}
.dg-story-form .field{margin:16px 0}
.dg-story-form input[type=text],.dg-story-form input[type=email],.dg-story-form textarea{width:100%;font:400 19px 'Source Sans 3',sans-serif;color:var(--a2-ink,#2B161B);background:var(--a2-paper,#FDF8F0);border:1px solid var(--a2-border,#E8D9C5);border-radius:6px;padding:13px 14px;min-height:52px}
.dg-story-form textarea{min-height:170px;line-height:1.55;resize:vertical}
.dg-story-form input:focus,.dg-story-form textarea:focus{outline:2px solid var(--a2-rose,#C21675);outline-offset:1px;background:#fff}
.dg-story-form .row{display:flex;gap:14px;flex-wrap:wrap}
.dg-story-form .row .field{flex:1 1 240px}
.dg-story-form .btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 30px;background:var(--a2-rose,#C21675);color:#fff;border:0;border-radius:6px;font:700 19px 'Source Sans 3',sans-serif;cursor:pointer;transition:background .2s}
.dg-story-form .btn:hover{background:var(--a2-rose-deep,#8E0F57)}
.dg-story-form .btn[disabled]{opacity:.92;cursor:default}
.dg-spin{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-4px;margin-right:9px}
@media (prefers-reduced-motion:no-preference){.dg-spin{animation:dg-spin .7s linear infinite}}
@media (prefers-reduced-motion:reduce){.dg-spin{display:none}}
@keyframes dg-spin{to{transform:rotate(360deg)}}
.dg-story-form .btnwrap{text-align:center;margin-top:20px}
.dg-story-form .finelegal{max-width:580px;margin:18px auto 0;padding-top:14px;border-top:1px dashed var(--a2-border,#E8D9C5);font-size:15px;line-height:1.55;color:#8a7580;text-align:center}
.dg-story-form .finelegal a{color:var(--a2-rose,#C21675);font-weight:600}
.dg-story-letter .dg-rulesub{font:600 22px 'Caveat',cursive;color:var(--a2-rose,#C21675);text-align:center;margin:26px 0 10px}
.dg-story-letter .dg-strip{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:18px 0 0}
.dg-story-letter .dg-mini{flex:1 1 200px;max-width:250px;background:var(--a2-paper,#FDF8F0);border:1px solid var(--a2-border,#E8D9C5);border-radius:4px;box-shadow:0 2px 0 var(--a2-border,#E8D9C5);padding:14px}
.dg-story-letter .dg-mini .q{font:400 italic 18px 'Literata',serif;color:var(--a2-ink,#2B161B)}
.dg-story-letter .dg-mini .by{font:600 16px 'Caveat',cursive;color:var(--a2-rose,#C21675);margin-top:8px}
.dg-reasons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:10px 0}
/* horizontal padding (40px) reserves a gutter clear of the absolute radio (left:14px + 20px wide = 34px), symmetric so centered text stays centered and can never slide under the dot */
.dg-reasons .reason{flex:1 1 200px;text-align:center;border:1px solid var(--a2-border,#E8D9C5);border-radius:8px;background:#fff;padding:14px 40px;cursor:pointer;font:600 17px 'Source Sans 3',sans-serif;position:relative}
.dg-reasons .reason small{display:block;color:#8a7580;font-weight:400;font-size:15px;margin-top:4px}
.dg-reasons .reason.on{border-color:var(--a2-rose,#C21675);background:var(--a2-blush,#F9E7F1)}
/* radios: keep the native dot for selection, but kill the rose focus SQUARE
   the generic .dg-story-form input:focus rule was drawing on click. Keyboard
   focus still shows a round ring via :focus-visible (a11y preserved). */
.dg-reasons input[type=radio]{position:absolute;top:14px;left:14px;width:20px;height:20px;accent-color:var(--a2-rose,#C21675)}
.dg-reasons input[type=radio]:focus{outline:none;box-shadow:none}
.dg-reasons input[type=radio]:focus-visible{outline:2px solid var(--a2-rose,#C21675);outline-offset:3px;border-radius:50%}
.dg-reasons .reason:has(input:checked){border-color:var(--a2-rose,#C21675);background:var(--a2-blush,#F9E7F1)}
.dg-reasons label.reason{margin:0}
.dg-visually-hidden{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.dg-prayer-form fieldset{border:1px solid var(--a2-border,#E8D9C5);border-radius:6px;padding:16px;margin:20px 0}
.dg-prayer-form legend{font-size:19px;font-weight:600;line-height:1.4;padding:0 6px;margin:0}
.dg-prayer-form label.dg-choice{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-weight:400;line-height:1.5}
.dg-prayer-form fieldset > .dg-choice:first-of-type{margin-top:0}
.dg-prayer-form fieldset > .dg-choice:last-of-type{margin-bottom:0}
.dg-prayer-form .dg-choice input{flex:0 0 auto;width:22px;height:22px;margin-top:2px;accent-color:var(--a2-rose,#C21675)}
.dg-prayer-form .dg-choice input:focus-visible{outline:2px solid var(--a2-rose,#C21675);outline-offset:3px}
.a2-letter p.dg-hint{font-size:16px;line-height:1.5;color:#634b57}
.dg-errors{border:2px solid #923354;background:#fff5f7;padding:16px;margin-bottom:24px}
.dg-errors h2{font-size:22px}.dg-field-error{color:#923354!important;font-size:16px!important}
.dg-story-form [aria-invalid=true]{border-color:#923354}
.dg-public-credit[hidden]{display:none!important}
.entry-content .a2-letter.dg-community-card{max-width:720px;margin:30px auto;padding:28px}.dg-community-card h2{font-size:24px}
.dg-preview-note{padding:14px;background:var(--a2-blush,#F9E7F1);border:1px dashed var(--a2-rose,#C21675)}
.dg-pray-preview{display:inline-block;border:1px solid var(--a2-rose,#C21675);border-radius:6px;padding:12px 18px;color:#634b57;background:#fff}
@media(max-width:600px){.a2-letter.dg-story-letter{padding:26px 20px;margin:24px 12px}.dg-story-form .btn{width:100%;padding:14px 16px}.dg-prayer-form fieldset{padding:12px}.dg-community-card{padding:22px 20px}}

.dg-prayer-form .btn{text-transform:none}
.dg-prayer-form .dg-form-question{font:600 clamp(20px,2vw,22px)/1.4 'Source Sans 3',sans-serif;color:var(--a2-ink,#2B161B);margin:28px 0 8px;padding:0}
.dg-prayer-form .dg-form-question::before{content:"";display:block;width:64px;height:2px;background:var(--a2-rose,#C21675);opacity:.35;margin-bottom:18px}
.dg-prayer-form .dg-form-question label{font:inherit;color:inherit;margin:0}
.dg-prayer-form textarea::placeholder{font-size:16px;line-height:1.55;color:#7a6a71;opacity:1}
.dg-prayer-form .dg-permission-note{text-align:left;color:#634b57}

.dg-prayer-form p.dg-small-note{font-size:14px;line-height:1.5;margin:8px 0 0}
.dg-prayer-form fieldset .dg-small-note{margin-top:14px}
