/* Distinct device workflows. Layout follows viewport; capabilities never rely on width. */
.page-share { margin-block:2rem; border:2px solid var(--navy); background:var(--paper); color:var(--ink); }
.page-share > summary { padding:1.1rem 1.4rem; cursor:pointer; min-height:56px; }
.page-share > summary strong { font-size:1.1rem; }
.page-share > summary span { font-size:.94rem; margin-left:1.3rem; color:#475569; }
.page-share[open] > summary { border-bottom:1px solid var(--line); }
#share-panel, #share-this-page { scroll-margin-top:100px; }
.share-kit { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:1.6rem; row-gap:1rem; padding:1.3rem; text-align:left; background:var(--paper); color:var(--ink); font-family:var(--font-body); }
.share-kit *, .share-dialog__heading > * { min-width:0; }
.share-kit [hidden] { display:none !important; }
.share-kit p { font-family:var(--font-body); line-height:1.5; }
.share-kit__toolbar { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid #c9b995; }
.share-kit__toolbar strong { font:800 1.15rem/1.3 var(--font-body); }
.share-kit__eyebrow { display:block; color:#435368; font:800 .7rem/1.4 var(--font-body); letter-spacing:.08em; margin-bottom:.4rem; }
.share-kit__view { display:flex; gap:.5rem; align-items:center; font:700 .75rem/1.4 var(--font-body); }
.share-kit select { appearance:auto; min-height:44px; background:#fff; color:#10243c; border:1px solid #778394; border-radius:4px; padding:.45rem .65rem; font:600 .85rem/1.4 var(--font-body); }
.share-kit__preview { align-self:start; }
.share-kit__art { background:#0c1b2e; border:1px solid var(--navy); padding:.7rem; }
.share-kit__art img { display:block; width:100%; height:clamp(240px,43vh,410px); object-fit:contain; }
.share-kit[data-format=link] .share-kit__art { padding:0; }
.share-kit[data-format=link] .share-kit__art img { height:auto; aspect-ratio:1200/630; }
.share-kit__preview-copy { background:#fff; border:1px solid #c9b995; border-top:0; padding:.8rem 1rem; }
.share-kit__preview-copy > span { display:block; font:700 .65rem/1.5 var(--font-body); letter-spacing:.09em; color:#526271; }
.share-kit__preview-copy > strong { display:block; font:800 1.05rem/1.3 var(--font-body); margin:.3rem 0; }
.share-kit__preview-copy > p { font-size:.8rem; margin:.35rem 0 0; color:#475569; }
.share-kit details { border:1px solid #c9b995; border-radius:4px; background:#fff8e9; }
.share-kit details > summary { cursor:pointer; min-height:44px; padding:.65rem .75rem; font:800 .85rem/1.5 var(--font-body); color:#172d48; }
.share-kit details[open] > summary { border-bottom:1px solid #dccdb1; }
.share-kit__handoff { margin-top:.8rem; }
.share-kit__qr-row { display:flex; gap:.9rem; padding:1rem; align-items:center; }
.share-kit__qr-row img { width:140px; height:140px; flex-shrink:0; background:#fff; }
.share-kit__qr-row p { font-size:.8rem; margin:0; }
.share-kit__handoff > a { display:block; padding:.6rem 1rem; min-height:44px; font-size:.85rem; }
.share-kit__format { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-bottom:.8rem; }
.share-kit button { font:800 .83rem/1.3 var(--font-body); min-height:44px; padding:.7rem .8rem; border:1px solid var(--navy); border-radius:4px; cursor:pointer; color:var(--navy); background:#fff; }
.share-kit button span { display:block; font:400 .73rem/1.4 var(--font-body); margin-top:.25rem; }
.share-kit__format button[aria-pressed=true] { background:var(--navy); color:var(--cream); box-shadow:inset 0 -4px 0 var(--yellow); }
.share-kit button:disabled { cursor:wait; background:#e0e3e7; border-color:#a3adba; color:#384357; }
.share-kit__native-tools { margin-bottom:.9rem; }
.share-kit__native-tools > .share-kit__hint { padding:.7rem .8rem 0; margin:0; }
.share-kit__native { display:flex; flex-wrap:wrap; gap:.5rem; padding:.7rem; }
.share-kit__native > button { flex:1 1 auto; }
.share-kit__native button[data-share-native=photo], .share-kit__native button[data-share-native=link] { flex-basis:100%; background:var(--yellow); color:var(--navy); }
.share-kit__native button:disabled { background:#e0e3e7; color:#384357; }
.share-kit__label { display:block; font:800 .75rem/1.4 var(--font-body); letter-spacing:.06em; margin:.75rem 0 .5rem; color:var(--ink); }
.share-kit__label span { font-weight:400; letter-spacing:0; margin-left:.3rem; color:#475569; }
.share-kit textarea, .share-kit input { font:400 1rem/1.5 var(--font-body); background:#fff; color:#101b2a; border:1.5px solid #778394; border-radius:4px; width:100%; padding:.7rem; display:block; }
.share-kit textarea { min-height:130px; resize:vertical; }
.share-kit input { min-height:46px; font-size:.82rem; }
.share-kit__length { margin:.4rem 0 .75rem; color:#475569; font-size:.74rem; }
.share-kit__status { font-size:.8rem; color:#26384f; border-left:3px solid #ba8100; padding:.4rem .65rem; margin:.65rem 0; background:#fff3cf; min-height:42px; }
.share-kit__steps { padding:.15rem .7rem; }
.share-kit__step { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.7rem 0; }
.share-kit__step + .share-kit__step { border-top:1px solid #e2d7c3; }
.share-kit__number { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#15283f; color:#fff; font:800 .75rem/1 var(--font-body); }
.share-kit__step strong { font-size:.85rem; line-height:1.3; display:block; }
.share-kit__step small { font-size:.72rem; color:#475569; display:block; line-height:1.4; margin-top:.25rem; }
.share-kit__step select { margin-top:.3rem; width:100%; }
.share-kit__step > :is(a,button) { font:800 .8rem/1.35 var(--font-body); padding:.7rem .8rem; min-height:44px; max-width:158px; display:inline-flex; align-items:center; justify-content:center; text-align:center; text-decoration:none; border:1px solid var(--navy); border-radius:4px; }
.share-kit__download { background:var(--navy); color:var(--cream) !important; }
.share-kit button[data-share-copy=post] { background:var(--yellow); color:var(--navy); }
.share-kit__open { background:#145bc4; color:#fff !important; }
.share-kit__destination-help { font-size:.77rem; padding:.65rem .8rem; border-top:1px solid #dccdb1; margin:0; background:#e9eef7; color:#1f3455; }
.share-kit__extras { margin-top:.65rem; }
.share-kit__extras > :not(summary) { margin:.75rem; }
.share-kit__extras .share-kit__actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.share-kit__extras input { width:calc(100% - 1.5rem); }
.share-kit__image-copy { border-top:1px solid #dccdb1; padding-top:.7rem; }
.share-kit .share-kit__hint { font-size:.77rem; color:#475569; margin:.6rem 0 0; }
.share-kit__manual { display:block; font:700 .85rem/1.4 var(--font-body); padding:.8rem; background:#fff3cf; }
.share-kit__manual textarea { margin-top:.5rem; }
.share-kit__noscript { margin-top:1rem; border:1px solid #c9b995; padding:1rem; font-size:.9rem; }
.share-kit__noscript nav { display:flex; flex-wrap:wrap; gap:.5rem; }
.share-kit__noscript a { min-height:44px; padding:.7rem; display:inline-flex; align-items:center; }
.share-kit :is(button,a,input,textarea,select,summary):focus-visible, .page-share > summary:focus-visible, .share-dialog [data-share-close]:focus-visible { outline:3px solid #b21e27; outline-offset:3px; }
.share-dialog { padding:0; width:min(1150px, calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; border:2px solid var(--navy); border-radius:8px; box-shadow:0 24px 70px #0008; background:var(--paper); color:var(--ink); }
.share-dialog::backdrop { background:#041020d9; }
.share-dialog__heading { padding:.85rem 1.3rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; border-top:6px solid var(--red); border-bottom:1px solid #c9b995; position:sticky; top:0; z-index:2; background:var(--paper); }
.share-dialog__heading .campaign-stamp { font-size:.65rem; margin:0 0 .3rem; }
.share-dialog__heading h2 { font-family:var(--font-body); font-size:clamp(1.05rem,2.1vw,1.65rem); line-height:1.2; margin:0; text-transform:none; letter-spacing:-.025em; }
.share-dialog [data-share-close] { flex:0 0 44px; width:44px; height:44px; border:1px solid var(--navy); border-radius:50%; background:var(--navy); color:#fff; font:400 1.7rem/1 var(--font-body); cursor:pointer; }
.share-dialog .share-kit :is(button,a,input,textarea,summary,select) { scroll-margin-top:105px; scroll-margin-bottom:16px; }
@media(max-width:760px) {
    .share-kit { grid-template-columns:1fr; gap:1rem; padding:1rem; }
    .share-kit__toolbar { align-items:flex-start; gap:.5rem; }
    .share-kit__toolbar strong { font-size:.97rem; }
    .share-kit__view { flex-direction:column; align-items:flex-start; font-size:.7rem; }
    .share-kit__view select { max-width:155px; font-size:.78rem; }
    .share-kit__art img { height:200px; }
    .share-kit__preview-copy { padding:.55rem .7rem; }
    .share-kit__preview-copy > p { font-size:.73rem; }
    .share-kit__eyebrow { font-size:.64rem; }
    .share-kit__step { grid-template-columns:22px minmax(0,1fr); gap:.5rem; }
    .share-kit__step > :is(a,button) { grid-column:2; max-width:none; width:100%; }
    .share-kit__number { width:22px; height:22px; }
    .share-kit__qr-row { flex-direction:column; align-items:flex-start; }
    .share-dialog { width:calc(100vw - 12px); max-height:calc(100dvh - 12px); }
    .share-dialog__heading { padding:.65rem .9rem; }
    .share-kit__extras .share-kit__actions button { flex:1 1 100%; }
    .page-share > summary span { display:block; margin:.35rem 0 0 1.1rem; }
    .poster-detail__hero { grid-template-columns:1fr !important; gap:1.5rem !important; }
    .poster-detail__art { max-width:460px; margin:auto; }
    .poster-detail__intro h1 { font-size:2.5rem; }
}
@media(min-width:761px) { .share-kit[data-device=mobile] .share-kit__art img { max-height:350px; } }
@media(prefers-reduced-motion:reduce) { .share-kit *, .share-dialog { scroll-behavior:auto; transition:none; } }
@media(forced-colors:active) { .share-kit button,.share-kit a,.share-kit details,.share-dialog { border:1px solid ButtonText; } .share-kit button[aria-pressed=true] { outline:2px solid Highlight; } }
@media print { .page-share,.share-dialog,.poster-share-section,.poster-detail__back { display:none !important; } }
.poster-detail { background:var(--paper); }
.poster-detail .breadcrumbs { margin-top:0; padding-block:1.5rem; }
.poster-detail__hero { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding-block:1rem 3rem; }
.poster-detail__art { padding:1rem; background:var(--navy); }
.poster-detail__art img { display:block; width:100%; max-height:720px; height:auto; object-fit:contain; }
.poster-detail__intro h1 { font-size:clamp(2.2rem,4.4vw,4.5rem); line-height:1.04; margin:1rem 0; overflow-wrap:normal; }
.poster-detail__lead { font-size:1.23rem; line-height:1.6; }
.poster-detail__spec { font-size:.85rem; color:#475569; }
.poster-share-section { border-top:2px solid var(--navy); padding-top:2rem; }
.poster-share-section > header h2 { font-size:clamp(1.8rem,3vw,2.8rem); margin:.6rem 0 1.5rem; }
.poster-share-section .share-kit { padding:0; }
.poster-detail__back { padding-block:2rem 3rem; }
.campaign-poster-card h3 a { color:inherit; text-decoration:none; }

/* A phone gets a compact, complete thumbnail and the editable words before Share. */
@media(max-width:760px) {
 .share-kit[data-device=mobile] .share-kit__preview { display:grid; grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr); }
 .share-kit[data-device=mobile] .share-kit__preview > .share-kit__eyebrow { grid-column:1/-1; }
 .share-kit[data-device=mobile] .share-kit__art { padding:.4rem; }
 .share-kit[data-device=mobile] .share-kit__art img { height:155px; }
 .share-kit[data-device=mobile] .share-kit__preview-copy { border-top:1px solid #c9b995; border-left:0; display:flex; flex-direction:column; justify-content:center; }
 .share-kit[data-device=mobile][data-format=link] .share-kit__preview { display:block; }
 .share-kit[data-device=mobile][data-format=link] .share-kit__art img { height:auto; }
 .share-kit[data-device=mobile][data-format=link] .share-kit__preview-copy { border:1px solid #c9b995; }
 .share-kit__view { flex:0 0 auto; }
 .share-kit__view select { max-width:140px; }
}

.share-kit__qr-row img { image-rendering:pixelated; }
@media(max-width:760px) { .share-kit[data-device=mobile] .share-kit__toolbar strong { display:none; } }

/* Prevent focus zoom in phone form controls without shrinking desktop typography. */
@media(pointer:coarse) and (max-width:760px) {
 .share-kit :is(input, select) { font-size:1rem; }
 .share-kit__view select { max-width:150px; }
}

/* Fuller, poster-specific copy. Explicit alternatives never overwrite one another. */
.share-kit__copy-size { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin:.65rem 0 .45rem; }
.share-kit__copy-size button { text-align:left; padding:.65rem .8rem; }
.share-kit__copy-size button[aria-pressed=true] { background:#fff0b8; color:var(--navy); border-color:#8b650b; box-shadow:inset 0 -3px 0 var(--yellow); }
.share-kit__tag-note { font-size:.76rem; margin:.4rem 0; color:#435368; }
.share-kit [data-share-caption] { min-height:17rem; max-height:32rem; }
.share-kit[data-copy-size=short] [data-share-caption] { min-height:9rem; }
.share-kit__shorten { margin:0 0 .7rem; }
.share-kit__short-original { white-space:pre-wrap; overflow-wrap:anywhere; padding:.75rem; }
.poster-detail__story { max-width:65ch; }
.poster-detail__story p { line-height:1.65; }
@media(max-width:760px) {
 .share-kit [data-share-caption] { min-height:15rem; max-height:26rem; }
 .share-kit[data-copy-size=short] [data-share-caption] { min-height:10rem; }
 .share-kit__copy-size button { padding:.6rem; font-size:.8rem; }
 .share-kit__copy-size button span { font-size:.7rem; }
 .poster-detail__story .poster-detail__lead { font-size:1.1rem; }
}
@media(forced-colors:active) { .share-kit__copy-size button[aria-pressed=true] { outline:2px solid Highlight; } }
