/* ShareHome v111 – pledge studio and section-by-section owner experience. */
.hm-pledge-v111,.hm-pledge-v111-user{--hm-accent:#11776d;--hm-ink:var(--text,#1d3147);--hm-muted:var(--text-muted,#718096);--hm-line:var(--border,#dde5eb);--hm-paper:var(--surface,#fff);--hm-soft:var(--surface-soft,#f5f8fa);--hm-shadow:0 8px 32px rgba(26,60,79,.065);color:var(--hm-ink);min-width:0}
.hm-pledge-v111 button,.hm-pledge-v111-user button{touch-action:manipulation;transition:background .16s,border-color .16s,transform .16s}
.hm-pledge-v111 button:focus-visible,.hm-pledge-v111-user button:focus-visible{outline:3px solid #43a69d;outline-offset:3px}
.hm-pledge-v111 button:hover:not(:disabled),.hm-pledge-v111-user button:hover:not(:disabled){filter:brightness(.98)}
.hm-pledge-v111 .hm-pledge-hero{border-radius:24px;padding:clamp(17px,3vw,28px);background:linear-gradient(125deg,rgba(20,112,103,.095),rgba(72,145,183,.04)),var(--hm-paper);border:1px solid var(--hm-line);margin-bottom:14px;box-shadow:var(--hm-shadow)}
.hm-pledge-v111 .hm-pledge-hero h1{font-size:clamp(23px,3vw,32px);font-weight:850;letter-spacing:-.5px}
.hm-pledge-v111 .hm-pledge-hero p{max-width:560px}
.hm-pledge-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.hm-pledge-head-actions>a{text-decoration:none;font-size:13px}
.hm-pledge-v111 .hm-pledge-edition{background:rgba(20,123,112,.07);border-color:rgba(20,123,112,.15);color:var(--hm-ink)}
.hm-pledge-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.hm-pledge-summary>div{padding:13px 18px;border-radius:17px;background:var(--hm-paper);border:1px solid var(--hm-line);min-width:0;display:grid;gap:0;box-shadow:var(--hm-shadow)}
.hm-pledge-summary small{font-size:12px;color:var(--hm-muted)}.hm-pledge-summary strong{font-size:23px;font-weight:850;color:var(--hm-ink)}
.hm-pledge-summary .hm-pledge-draft-state{font-size:14px;color:var(--hm-accent);line-height:2.5}
.hm-pledge-v111 .hm-pledge-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}
.hm-pledge-v111 .hm-pledge-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;min-height:49px;background:var(--hm-paper);font-size:14px;border:1px solid var(--hm-line)}
.hm-pledge-v111 .hm-pledge-tabs button span{font:600 11px/1.5 inherit;opacity:.58}
.hm-pledge-v111 .hm-pledge-tabs button.is-current{background:var(--hm-accent);border-color:var(--hm-accent);box-shadow:0 8px 18px rgba(17,119,109,.15);color:#fff}
.hm-pledge-v111 .hm-pledge-pane{border-radius:22px;padding:clamp(16px,3.2vw,28px);box-shadow:var(--hm-shadow)}
.hm-pledge-v111 .hm-pledge-pane-head{margin-bottom:20px;align-items:flex-start}
.hm-pledge-v111 .hm-pledge-pane-head h2{font-size:clamp(18px,2.5vw,23px);font-weight:800}
.hm-pledge-v111 .hm-pledge-pane-head p{font-size:13px;line-height:1.95;margin-bottom:0}
.hm-pledge-tip{display:inline-block;background:#e9f4f2;color:#156e62;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.hm-pledge-rule-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}
.hm-pledge-rule-editor,.hm-pledge-rule-preview{min-width:0}
.hm-pledge-field-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.hm-pledge-field-title small,.hm-pledge-rule-editor>small{color:var(--hm-muted);font-size:12px}
.hm-pledge-editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.hm-pledge-v111 textarea#hmPledgeRules{font-size:14px;line-height:2.15;resize:vertical;min-height:320px;border-radius:15px;background:var(--hm-soft);padding:16px}
.hm-pledge-preview-paper{height:100%;border-radius:17px;border:1px solid var(--hm-line);padding:20px;background:var(--hm-soft)}
.hm-pledge-preview-paper>small{font-size:11px;color:var(--hm-muted)}.hm-pledge-preview-paper h3{margin:4px 0 16px;font-size:18px}
.hm-pledge-rule-content{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:2.2;max-height:360px;overflow:auto}
.hm-pledge-fake-confirm{margin-top:22px;text-align:center;background:#dcefe9;color:#17695c;border-radius:10px;padding:10px;font-weight:750}
.hm-pledge-filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.hm-pledge-v111 .hm-pledge-search{position:relative;min-width:min(100%,275px);flex:1;display:block}
.hm-pledge-search span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-search input{padding-right:40px;min-height:48px;border-radius:14px;background:var(--hm-soft)}
.hm-pledge-v111 .hm-pledge-bank-section{background:var(--hm-soft);padding:13px;border-radius:17px;margin:12px 0}
.hm-pledge-v111 .hm-pledge-bank-head{margin-bottom:4px}.hm-pledge-v111 .hm-pledge-bank-head input{background:transparent;border:1px solid transparent;width:auto;max-width:100%;flex:1;font-size:16px}
.hm-pledge-v111 .hm-pledge-bank-head input:focus{border-color:var(--hm-line);background:var(--hm-paper)}
.hm-pledge-v111 .hm-pledge-bank-question{border-radius:13px;box-shadow:0 2px 6px rgba(25,55,80,.025);padding:12px 14px;min-width:0}
.hm-pledge-bank-main{flex:1;min-width:0}.hm-pledge-bank-main b{display:block;font-weight:700!important;line-height:1.8;white-space:normal;overflow-wrap:anywhere}.hm-pledge-bank-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.hm-pledge-bank-meta span{font-size:11px;border-radius:999px;background:var(--hm-soft);padding:2px 9px;color:var(--hm-muted)}.hm-pledge-bank-meta .is-entry{background:#e8f1ff;color:#2f679a}.hm-pledge-bank-meta .is-exit{background:#e4f5ed;color:#177057}
.hm-pledge-v111 .hm-small-btn,.hm-pledge-v111 .hm-mini{border-radius:10px;min-height:33px;font-size:12px;font-weight:650}
.hm-pledge-v111 .hm-small-primary{color:var(--hm-accent);border-color:#83c4b8;background:#ecf9f6}.hm-pledge-v111 .hm-text-danger{color:#a6323b}
.hm-pledge-v111 .hm-pledge-board{gap:15px}.hm-pledge-v111 .hm-pledge-lane{padding:17px;min-height:260px;background:var(--hm-soft);border-radius:20px;border:1px dashed #aebec7;min-width:0}
.hm-pledge-lane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.hm-pledge-v111 .hm-pledge-lane h3{font-size:16px;margin:0}.hm-pledge-lane-head span{font-size:12px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-lane-question{padding:10px;box-shadow:0 2px 7px rgba(26,56,75,.035);min-width:0;border-radius:13px}
.hm-pledge-lane-info{flex:1;min-width:0;display:grid;gap:1px}.hm-pledge-lane-info small{font-size:11px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-lane-text{font-size:13px;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-v111 .hm-pledge-lane.is-over{background:#e5f5ef;border-color:#37a797}
.hm-pledge-v111 .hm-pledge-bottom-toolbar{position:sticky;bottom:12px;z-index:18;margin:18px 0 10px;padding:12px 16px;border:1px solid var(--hm-line);border-radius:17px;background:var(--hm-paper);box-shadow:0 14px 45px rgba(21,49,62,.12);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hm-pledge-bottom-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hm-pledge-bottom-actions form{margin:0;display:inline-flex}.hm-pledge-save-feedback{font-size:12px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-preview-stage{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.hm-pledge-v111 [data-preview].is-selected{background:#11776d;color:#fff;border-color:#11776d}
.hm-pledge-preview-live{max-width:780px;margin-inline:auto}.hm-pledge-preview-heading{font-weight:850;font-size:17px;margin:21px 0 11px}.hm-pledge-preview-card{border:1px solid var(--hm-line);background:var(--hm-soft);border-radius:17px;padding:15px;margin:9px 0}
.hm-pledge-preview-card[hidden]{display:none}.hm-pledge-preview-card>small{color:var(--hm-accent)}.hm-pledge-preview-card h3{font-size:15px;margin:3px 0 15px}
.hm-pledge-preview-options{display:flex;gap:8px;flex-wrap:wrap}.hm-pledge-preview-choice{display:inline-flex!important;align-items:center;gap:7px;padding:9px 12px;background:var(--hm-paper);border:1px solid var(--hm-line);border-radius:11px;min-height:45px;font-size:13px;cursor:pointer}
.hm-pledge-preview-choice:has(input:checked){background:#def2ec;border-color:#5bbaa3}.hm-pledge-preview-choice input{width:auto!important;accent-color:#168c79}
.hm-pledge-preview-input{width:100%;padding:10px 13px;border-radius:11px;min-height:46px;background:var(--hm-paper);border:1px solid var(--hm-line)}
.hm-pledge-preview-matrix-row{border:1px solid var(--hm-line);padding:10px;border-radius:12px;width:100%}.hm-pledge-preview-matrix-row>b{display:block;font-size:13px;margin-bottom:7px}
.hm-pledge-v111 .hm-pledge-detail{position:fixed;top:0;bottom:0;left:0;right:auto;max-height:none;width:min(500px,100vw);z-index:1003;display:flex;flex-direction:column;border-radius:23px 0 0 23px;box-shadow:0 0 50px rgba(13,40,58,.22);overflow:hidden;background:var(--hm-paper);padding:0}
.hm-pledge-v111 .hm-pledge-detail[hidden],.hm-pledge-v111 .hm-pledge-shade[hidden],.hm-pledge-v111 [hidden]{display:none!important}
.hm-pledge-shade{position:fixed;inset:0;background:rgba(14,32,48,.45);z-index:1002}
.hm-pledge-detail-head{padding:19px 22px;border-bottom:1px solid var(--hm-line);display:flex;justify-content:space-between;align-items:center;gap:8px}.hm-pledge-detail-head h2{font-size:20px;margin:0}.hm-pledge-detail-head small{color:var(--hm-muted)}
.hm-pledge-detail-head button{font:inherit;font-size:25px;background:var(--hm-soft);border:0;border-radius:11px;width:40px;height:40px;cursor:pointer}
.hm-pledge-detail-scroll{overflow-y:auto;padding:22px;display:grid;gap:15px;flex:1;min-height:0}.hm-pledge-detail-scroll label{font-size:13px;gap:6px}
.hm-pledge-detail-separator{padding-top:10px;border-top:1px solid var(--hm-line);font-weight:850}.hm-pledge-detail-scroll small,.hm-pledge-detail-help{font-size:12px;color:var(--hm-muted);margin:0}
.hm-pledge-detail-footer{padding:14px 20px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--hm-line)}
.hm-pledge-danger{font:inherit;border:0;background:transparent;color:#b12d39;cursor:pointer;font-size:13px;padding:8px}.hm-pledge-detail-open{overflow:hidden}
/* Owner – one section at a time, accessible navigation, no horizontal overflow */
.hm-pledge-v111-user{max-width:870px;margin:0 auto;padding-bottom:18px}
.hm-pledge-v111-user>header{padding:19px 24px;border:1px solid var(--hm-line);border-radius:22px;background:linear-gradient(115deg,rgba(16,124,109,.08),transparent),var(--hm-paper);margin-bottom:14px}
.hm-pledge-v111-user>header h1{font-size:clamp(21px,4vw,28px)}
.hm-pledge-stepper{border:1px solid var(--hm-line);border-radius:18px;background:var(--hm-paper);padding:14px 17px;margin:0 0 14px;box-shadow:var(--hm-shadow);scroll-margin-top:90px}
.hm-pledge-stepper-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;flex-wrap:wrap}.hm-pledge-stepper-top>span:last-child{color:var(--hm-accent)}
.hm-pledge-progress-track{margin-top:9px;border-radius:100px;background:var(--hm-soft);height:8px;overflow:hidden}.hm-pledge-progress-track>span{display:block;background:linear-gradient(90deg,#21ab94,#178476);height:100%;width:0;border-radius:100px;transition:width .22s}
.hm-pledge-steps-nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;max-width:100%}.hm-pledge-stepdot{font:700 12px inherit;min-height:32px;min-width:32px;border-radius:10px;border:1px solid var(--hm-line);background:var(--hm-soft);color:var(--hm-ink);cursor:pointer}
.hm-pledge-stepdot.is-current{background:var(--hm-accent);color:#fff;border-color:var(--hm-accent)}.hm-pledge-stepdot.is-passed{background:#e4f3ee;color:#156e62}
.hm-pledge-v111-user .hm-pledge-section{min-width:0;margin:0 0 12px;padding:clamp(14px,4vw,26px);border-radius:19px;box-shadow:var(--hm-shadow)}
.hm-pledge-v111-user .hm-pledge-section[hidden]{display:none!important}.hm-pledge-v111-user .hm-pledge-section legend{font-size:18px;font-weight:850;padding:0 10px;white-space:normal;max-width:90%}
.hm-pledge-v111-user .hm-pledge-q{background:var(--hm-paper);border:1px solid var(--hm-line);border-radius:15px;padding:clamp(12px,3vw,20px);margin:9px 0;max-width:100%;min-width:0}
.hm-pledge-v111-user .hm-pledge-prompt{margin-bottom:13px;gap:10px}.hm-pledge-v111-user .hm-pledge-prompt b{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.hm-pledge-v111-user .hm-pledge-prompt span{font-size:11px;background:#fbf0e4;color:#975e31;border-radius:999px;padding:1px 9px;white-space:nowrap}
.hm-pledge-v111-user .hm-pledge-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr));gap:9px;min-width:0}
.hm-pledge-v111-user .hm-pledge-choice{min-width:0;min-height:50px;display:flex;gap:10px;padding:11px 13px;border:1px solid var(--hm-line);border-radius:13px;background:var(--hm-soft);font-size:14px;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-v111-user .hm-pledge-choice:has(input:checked){background:#e0f5eb;border-color:#56b49a;color:#116854;box-shadow:inset 0 0 0 1px #8ecfba}
.hm-pledge-v111-user .hm-pledge-choice input{flex:0 0 auto}
.hm-pledge-v111-user .hm-pledge-q :is(textarea,input:not([type=checkbox]):not([type=radio]),select){min-height:48px;background:var(--hm-soft)}
.hm-pledge-v111-user .hm-pledge-matrix-wrap{max-width:100%}.hm-pledge-v111-user .hm-pledge-matrix{max-width:100%}
.hm-pledge-wizard-actions{position:sticky;bottom:84px;z-index:12;border:1px solid var(--hm-line);box-shadow:0 12px 30px rgba(14,52,61,.12);border-radius:17px;padding:12px;background:var(--hm-paper);display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;margin-top:15px}
.hm-pledge-wizard-hint{color:var(--hm-muted);font-size:11px;flex:1;text-align:center;min-width:95px}.hm-pledge-wizard-actions button{min-height:44px}
.hm-pledge-v111-user .hm-pledge-q.has-error{border-color:#d46573;background:rgba(213,86,98,.045)}
@media(max-width:850px){.hm-pledge-v111 .hm-pledge-rule-layout{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-rule-preview{display:none}}
@media(max-width:700px){.hm-pledge-v111 .hm-pledge-head-actions{width:100%;align-items:flex-start;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.hm-pledge-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hm-pledge-v111 .hm-pledge-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hm-pledge-v111 .hm-pledge-tabs button{min-height:44px;padding:7px 9px;font-size:12px}.hm-pledge-v111 .hm-pledge-board{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-bank-question{align-items:stretch;flex-direction:column}.hm-pledge-v111 .hm-pledge-bottom-toolbar{bottom:78px;padding:10px}.hm-pledge-bottom-actions{width:100%;justify-content:space-between}.hm-pledge-bottom-actions .button{padding:8px 12px;font-size:12px}.hm-pledge-v111 .hm-pledge-detail{border-radius:18px 18px 0 0;width:100%;max-height:92dvh;top:auto;bottom:0;left:0;right:0}.hm-pledge-v111 .hm-pledge-detail-scroll{padding:16px}.hm-pledge-v111-user>header{padding:16px}.hm-pledge-v111-user .hm-pledge-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-pledge-v111-user .hm-pledge-choice{padding:9px;min-height:50px;align-items:center}.hm-pledge-wizard-actions{bottom:76px}.hm-pledge-wizard-actions button{flex:1}.hm-pledge-wizard-hint{order:3;flex-basis:100%}}
@media(max-width:375px){.hm-pledge-v111-user .hm-pledge-choices{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-bank-head input{min-width:120px}.hm-pledge-v111 .hm-pledge-question-actions{width:100%;flex-wrap:wrap}.hm-pledge-v111 .hm-pledge-lane-question{flex-wrap:wrap}.hm-pledge-wizard-actions{padding:9px}}
@media print{.hm-pledge-v111 .hm-pledge-bottom-toolbar,.hm-pledge-stepper,.hm-pledge-wizard-actions,.hm-pledge-shade{display:none!important}.hm-pledge-v111-user .hm-pledge-section[hidden]{display:block!important}}

/* Native hidden has priority over legacy .button display rules. */
.hm-pledge-v111-user [hidden]{display:none!important}
.hm-pledge-v111-user .hm-pledge-steps-nav{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}
.hm-pledge-v111-user .hm-pledge-stepdot{width:100%;min-width:0;padding:0}
@media(max-width:570px){.hm-pledge-v111-user .hm-pledge-steps-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* v112 – true configurable star ratings, accessible native radio semantics. */
.hm-star-rating{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-width:0;max-width:100%}
.hm-star-rating-stars{display:flex;flex-wrap:wrap;gap:2px;align-items:center;direction:rtl;max-width:100%;min-width:0}
.hm-star-choice{position:relative;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;min-width:36px;min-height:46px;margin:0;touch-action:manipulation}
.hm-star-choice input{position:absolute!important;width:100%!important;height:100%!important;inset:0!important;opacity:0!important;cursor:pointer;margin:0!important;z-index:1}
.hm-star-glyph{font-family:Arial,sans-serif;font-size:clamp(29px,5vw,39px);line-height:1;color:#c5cdd7;transition:color .16s,transform .16s;pointer-events:none;user-select:none;-webkit-user-select:none}
.hm-star-choice.is-filled .hm-star-glyph{color:#e5a62e;filter:drop-shadow(0 1px 1px rgba(126,78,4,.2))}
.hm-star-choice:focus-within{outline:2px solid var(--hm-accent,#11776d);outline-offset:1px;border-radius:9px}
@media(hover:hover){.hm-star-choice:hover .hm-star-glyph{transform:scale(1.14);color:#dca23c}}
.hm-star-rating-caption{font-size:12px;font-weight:700;color:var(--hm-muted,#718096);line-height:1.6}
.hm-star-admin-config{padding:14px;border:1px solid var(--hm-line,#dde5eb);border-radius:14px;background:var(--hm-soft,#f5f8fa);display:grid;gap:9px}
.hm-star-admin-controls{display:flex;align-items:center;gap:9px;max-width:235px}
.hm-star-admin-controls button{width:43px;min-width:43px;height:43px;border:1px solid var(--hm-line,#dde5eb);border-radius:12px;background:var(--hm-paper,#fff);color:var(--hm-ink,#1d3147);font-size:22px;cursor:pointer}
.hm-star-admin-controls input{height:43px;width:78px;min-width:0;text-align:center;border-radius:12px;border:1px solid var(--hm-line,#dde5eb);background:var(--hm-paper,#fff);font-size:18px;font-weight:750}
.hm-star-admin-sample{font-family:Arial,sans-serif;letter-spacing:3px;color:#e4a532;font-size:25px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-preview-options .hm-star-rating{width:100%}
.hm-star-report{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:750;color:#c18a21!important}.hm-star-report span{color:var(--text,#1d3147);font-size:13px}
@media(max-width:375px){.hm-star-choice{min-width:32px;min-height:43px}.hm-star-glyph{font-size:29px}}
@media(prefers-reduced-motion:reduce){.hm-star-glyph{transition:none}}
