/* 1.16.1 — bounded partner identity and consistent responsive layouts. Presentation only. */
:root{--jw-space-page:clamp(18px,3vw,36px);--jw-space-panel:clamp(20px,2.5vw,32px)}
/* Partner identity belongs to the campaign header, with no nested cards. */
.jw-campaign-byline{margin:18px 0 12px;gap:10px;font-size:.8rem}
.jw-campaign-byline>.jw-organiser-mark{width:28px;height:28px;flex:0 0 28px;object-fit:contain;border-radius:0;background:none;padding:0}
.jw-partner-credit{display:flex;align-items:center;gap:28px;min-width:0;max-width:100%;padding:22px 0 0;margin:22px 0 26px;background:transparent;border:0;border-top:1px solid var(--line,#dce5de);border-radius:0}
.jw-partner-credit-logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 200px;min-width:0;width:200px;max-width:100%;height:80px;border:0;border-radius:0;background:transparent;padding:0;box-sizing:border-box}
.jw-partner-credit-logo>img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:left center;border:0;border-radius:0;padding:0;aspect-ratio:auto}
.jw-partner-credit-copy{min-width:0;display:grid;gap:6px;flex:1}
.jw-partner-credit-label{font-size:.7rem;line-height:1.5;color:var(--muted,#5d7368);letter-spacing:.015em}
.jw-partner-credit-name{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.5;font-weight:600;color:var(--deep,#083f3b);overflow-wrap:anywhere;text-decoration:none;text-wrap:pretty}
a.jw-partner-credit-name:hover{text-decoration:underline;text-underline-offset:4px}
.jw-partner-credit-copy>small{font-size:.72rem;line-height:1.6;color:var(--muted,#5d7368)}
/* Compact cards give the name the full line instead of a narrow side column. */
.jw-card-partner{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;margin:4px 0 0;padding-top:16px;border-top:1px solid var(--line,#dce5de)}
.jw-card-partner .jw-partner-credit-logo{flex:0 0 auto;width:170px;max-width:100%;height:56px;padding:0}
.jw-card-partner .jw-partner-credit-copy{flex:initial;width:100%;gap:5px}
.jw-card-partner .jw-partner-credit-name{font-size:.875rem;line-height:1.5}.jw-card-partner .jw-partner-credit-label{font-size:.65rem;letter-spacing:0}
.pub-cards .jw-campaign-card .pub-card-title{display:block;min-height:0;overflow:visible;margin-bottom:12px}
.pub-cards .jw-campaign-card .jw-card-partner{margin-top:0}
.pub-cards .jw-campaign-card .pub-progress{margin-top:auto;padding-top:20px}
.pub .jw-partner-intro{align-items:center;gap:28px}.pub .jw-partner-intro>img,.pub .jw-partner-hero>img{width:200px;height:80px;max-width:100%;object-fit:contain;object-position:left center;border:0;border-radius:0;padding:0;box-sizing:border-box;flex-shrink:0}
.pub .jw-partner-intro h3{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.45;margin:0 0 12px}.jw-partner-intro p{margin:0 0 14px}
/* Shared sign-in/create/recover frame: retain the native donor form and error nodes. */
.jw-access-content{min-width:0}.jw-access-panel [hidden]{display:none!important}
.jw-access-page .dn-head{display:block;margin:0 0 18px}.jw-access-page .dn-head h1{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.2;letter-spacing:-.045em;margin:12px 0 16px}
.jw-access-page .dn-lead{font-size:.88rem;line-height:1.8;color:#5d7268;margin:0 0 24px}
.jw-access-page form.dn-panel{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;margin:0}
.jw-access-page .dn-field{margin-bottom:20px;min-width:0}.jw-access-page .dn-field label{font-size:.8rem;font-weight:600;line-height:1.6;margin-bottom:8px}
.jw-access-page .dn-field input{width:100%;max-width:none;min-width:0;min-height:50px;padding:12px 14px;font-size:.9rem;line-height:1.5;border:1px solid #c9d8d0;border-radius:10px;box-sizing:border-box}
.jw-access-page .dn-field .jw-access-password input{padding-right:70px}
.jw-access-page .dn-hint{font-size:.72rem;line-height:1.7;margin:0 0 8px;color:#5d7268}
.jw-access-page .dn-actions{margin:8px 0 0;display:flex}.jw-access-page .dn-actions>.dn-btn{flex:1;min-height:52px;border-radius:10px;font-size:.87rem;padding:14px 20px;border:1px solid #0b5251;background:#0b5251;color:#fff}
.jw-access-page .dn-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;margin:0 0 24px;border:1px solid var(--line);border-radius:10px;background:#f5f7f1}
.jw-access-page .dn-tabs a{flex:1 1 110px;display:flex;align-items:center;justify-content:center;min-height:42px;text-align:center;border:0;border-radius:7px;margin:0;padding:8px 10px;font-size:.71rem;line-height:1.5;color:#536d62}
.jw-access-page .dn-tabs a.active{background:#fff;color:#0b5251;box-shadow:0 1px 4px #073e3b0d}
.jw-access-guest{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;line-height:1.8;color:#5d7268}.jw-access-guest a{display:inline-flex;margin-top:8px;min-height:32px;align-items:center;font-weight:600}
.jw-access-page .dn-flash,.jw-access-page .dn-notice,.jw-access-page .dn-error-summary{font-size:.78rem;line-height:1.7;margin:0 0 20px}
.jw-access-page .dn-field-error{font-size:.75rem;line-height:1.65;margin:8px 0 0}.jw-access-page .dn-error-summary a{color:inherit;text-decoration:underline}
/* Wrapping and rhythm across public, staff, donor, partner and review-room surfaces. */
.pub :is(.pub-wrap,.pub-card-body,.co-card,.co-partner,.dn-wrap,.pt-wrap,.rm-wrap,.ex-field,.dn-field,.pt-field,.rm-field),.srv :is(.srv-card,.sw-card,.ex-field,.ui-field){min-width:0;box-sizing:border-box}
.pub :is(.pub-actions,.dn-actions,.pt-actions,.co-actions,.jw-tabs),.srv :is(.srv-actions,.ex-editor-actions,.sw-actions){row-gap:12px;align-items:center}
.pub :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),.srv :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
.pub :is(.pub-card-title,.dn-head>div,.pt-head>div,.co-profile-hero>div),.srv :is(.ui-page-header>div,.ex-page-header>div){min-width:0;overflow-wrap:anywhere}
.pub :is(.dn-table-wrap,.pt-table-wrap,.rm-table-wrap,.pub-table-wrap),.srv :is(.ui-table-scroll,.sw-table-wrap,.sw-table-scroll){max-width:100%;overscroll-behavior-x:contain}
.pub :is(.dn-table,.pt-table,.rm-table,.pub-table) td,.srv .srv-table td{overflow-wrap:anywhere}
.pub :is(.dn-panel,.pt-panel,.rm-panel){padding:var(--jw-space-panel)}
.pub :is(.dn-main,.pt-main,.rm-main){min-width:0}.pub :is(.dn-facts,.pt-facts){grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr)}
.pub :is(.dn-facts dd,.pt-facts dd){min-width:0;overflow-wrap:anywhere}
.pub :is(.jw-hub-grid,.jw-partner-grid,.ex-grid),.srv :is(.sw-hub,.ex-grid){min-width:0}
.pub :is(.dn-head,.pt-head),.srv :is(.ex-page-head,.ex-page-header){gap:16px}
/* Keep controls reachable instead of hiding overflow at the document level. */
@media(max-width:1100px){.pub .dn-layout,.pub .pt-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.jw-access-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.jw-access-story{min-height:0}.jw-access-panel{padding:clamp(24px,3.5vw,46px)}}
@media(max-width:900px){.pub .dn-layout,.pub .pt-layout{grid-template-columns:minmax(0,1fr)}.pub :is(.dn-nav,.pt-nav){position:static}.srv .sw-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.jw-access-grid{display:flex;flex-direction:column}.jw-access-story{padding:28px;min-height:0}.jw-access-art{display:none}.jw-access-wordmark{margin-bottom:12px}.jw-access-story h2{font-size:1.75rem;white-space:normal;max-width:390px}.jw-access-story>p:not(.jw-access-wordmark){font-size:.8rem;margin-bottom:14px;max-width:440px}.jw-access-story>a{font-size:.75rem}.jw-access-panel{padding:28px}.pub .jw-partner-intro{align-items:flex-start}.jw-partner-intro>div{min-width:0}}
@media(max-width:600px){
 .jw-partner-credit{flex-direction:column;align-items:flex-start;padding-top:18px;gap:12px;margin:20px 0 24px}.jw-partner-credit-logo{flex:0 0 auto;width:200px;height:72px}.jw-partner-credit-copy{width:100%;flex:initial}.jw-partner-credit-name{font-size:1rem;line-height:1.5}
 .jw-card-partner{gap:10px}.pub .jw-partner-intro{flex-direction:column;gap:16px}.pub .jw-partner-intro>img,.pub .jw-partner-hero>img{width:200px;height:72px}
 .pub :is(.dn-wrap,.pt-wrap,.rm-wrap){padding:28px 18px 40px}.pub :is(.dn-head h1,.pt-head h1){font-size:clamp(1.65rem,6vw,2rem);letter-spacing:-.035em;line-height:1.25}
 .pub :is(.dn-facts,.pt-facts){grid-template-columns:minmax(0,1fr);gap:5px}.pub :is(.dn-facts dd,.pt-facts dd){margin-bottom:14px}
 .pub :is(.dn-action,.pt-action){max-width:100%;min-width:0}.pub :is(.dn-actions,.pt-actions)>.dn-action,.pub .pt-actions>.pt-action{flex:1 1 140px}
 .pub :is(.dn-action,.pt-action)>button{width:100%}.pub :is(.dn-filters,.pt-filters){align-items:stretch}.pub :is(.dn-filters,.pt-filters)>.dn-field,.pub .pt-filters>.pt-field{min-width:0;flex-basis:auto}
 .pub :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),.srv :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px}
 .pub :is(.dn-btn,.pt-btn,.rm-btn,.co-button),.srv :is(.srv-btn,.icon-button){min-height:44px}
 .pub :is(.dn-two,.pt-two,.pt-item-grid),.srv :is(.ex-form-grid,.sw-grid-2){grid-template-columns:minmax(0,1fr)}
 .pub :is(.dn-field-row,.pt-field-row),.srv .srv-form{min-width:0}.srv :is(.sw-hub,.ex-grid){grid-template-columns:minmax(0,1fr)}
 .srv .ex-editor-actions{position:static!important}.srv :is(.srv-card,.sw-card){padding:20px}.srv .srv-form .srv-actions>.srv-btn{flex:1 1 130px}
 .pub :is(.dn-statement header,.pt-statement header,.dn-ack header){gap:16px}.pub :is(.dn-who,.pt-who){overflow-wrap:anywhere;min-width:0}.pub .pub-foot-bottom{align-items:flex-start;line-height:1.8}
 .jw-access-page{padding:24px 16px}.jw-access-panel{padding:26px 22px}.jw-access-page .dn-field input{font-size:16px}.jw-access-page .dn-tabs a{flex-basis:100px}
 .srv-toast{max-width:calc(100% - 32px);right:16px;bottom:16px;box-sizing:border-box}
}
@media(max-width:360px){.jw-partner-credit{gap:10px}.jw-partner-credit-name{font-size:.94rem}.jw-access-panel{padding:24px 18px}.jw-access-story{padding:24px}.jw-access-page .dn-tabs a{flex-basis:100%;min-height:40px}.pub .pub-wrap{padding-left:16px;padding-right:16px}.pub .jw-access-page{padding:20px 12px}}
@media print{.jw-partner-credit{break-inside:avoid}.jw-access-story,.jw-access-portals{display:none}.jw-access-grid{display:block;border:0;box-shadow:none}}
