/* warsaw-native-2026-10-19: scoped native presentation, shared with editor preview. */
.sp-native{box-sizing:border-box;min-width:0;max-width:100%;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;overflow-wrap:anywhere}
.sp-native *{box-sizing:border-box}.sp-native img{max-width:100%;height:auto;object-fit:contain}.sp-native a{text-underline-offset:.2em}
.sp-native :focus-visible{outline:3px solid #215387;outline-offset:4px}.sp-native [hidden]{display:none!important}
.sp-stack{display:flex;flex-direction:column;gap:clamp(.8rem,2vw,1.5rem);margin-block:1rem}.sp-stack>*{margin-block:0;min-width:0}
.sp-boxed{width:100%;max-width:72rem;margin-inline:auto}.sp-row,.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:start;gap:clamp(1rem,3vw,2rem)}
.sp-heading{line-height:1.2;text-wrap:balance}.sp-native h1.sp-heading{font-size:clamp(2rem,4vw,3rem)}.sp-native h2.sp-heading{font-size:clamp(1.5rem,3vw,2.25rem)}.sp-native h3.sp-heading{font-size:clamp(1.2rem,2.2vw,1.65rem)}
.sp-icon-box{padding:1.25rem;border:1px solid #ddd;border-radius:1rem;background:#fff;color:#21201f}.sp-icon-box>*:first-child{margin-block-start:0}.sp-icon-box>*:last-child{margin-block-end:0}
.sp-nested-tabs,.sp-nested-carousel,.sp-nested-accordion{margin-block:1.5rem}.sp-tablist{display:flex;gap:.5rem;overflow:auto;padding:.5rem .25rem;margin-block-end:1rem}
.sp-tablist button,.sp-carousel-controls button{font:inherit;min-height:44px;padding:.6rem 1rem;cursor:pointer;border:1px solid #767676;border-radius:.5rem;background:#fff;color:#21201f;flex-shrink:0}
.sp-tablist [aria-selected=true]{background:#21201f;color:#fff}.sp-native .wp-block-details{padding:1rem;border:1px solid #ddd;border-radius:.75rem;margin-block:.75rem}.sp-native summary{cursor:pointer;font-weight:650;min-height:44px}
.sp-nested-carousel.sp-enhanced{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-block:.5rem 1rem}
.sp-nested-carousel.sp-enhanced>.wp-block-group{flex:0 0 min(85%,24rem);scroll-snap-align:start;min-width:0;margin:0}.sp-carousel-controls{display:flex;gap:.75rem;justify-content:flex-end;margin-block:.5rem}
@media(max-width:600px){.sp-row,.sp-grid{grid-template-columns:minmax(0,1fr)}.sp-native h1.sp-heading{font-size:2rem}.sp-icon-box{padding:1rem}}
@media(prefers-reduced-motion:reduce){.sp-native *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Classic Kadence has no theme.json: WP restores wrappers except for native flex.
   Explicit flex groups must stretch their editable children, not shrink to text. */
.sp-native.sp-stack,.sp-native.sp-nested-tabs{align-items:stretch}
.sp-native .wp-block-group{width:100%;min-width:0;max-width:100%}
.sp-native.sp-nested-tabs,.sp-native.sp-nested-carousel{width:100%}

/* Actual source contact SVGs stay images with native editable adjacent text. */
.sp-native-icon { flex: 0 0 auto; margin: 0; max-width: 2.5rem; }
.sp-native-icon img { width: 2rem; height: 2rem; object-fit: contain; }
.sp-native-icon-list .sp-icon-contact { display: flex; flex-direction: row; align-items: center; gap: .75rem; }
.sp-native-icon-list .sp-icon-contact p { margin: 0; overflow-wrap: anywhere; }
