/* Phase 5 opt-in patterns. Saved legacy journeys keep their previous presentation. */
.bwp-journey-v2.bwp-pattern { scroll-margin-top: 180px; }
.bwp-journey-v2.bwp-pattern .bwp-journey-grid { gap:24px; align-items:stretch; }
.bwp-journey-v2.bwp-pattern .bwp-journey-step { display:flex; flex-direction:column; min-width:0; }
.bwp-journey-v2.bwp-pattern .bwp-journey-media { width:min(176px,86%); margin:0 auto -3px; flex-shrink:0; }
.bwp-journey-v2.bwp-pattern .bwp-journey-copy { flex:1; min-height:0; padding:32px 20px 24px; box-shadow:0 4px 14px #30204406; }
.bwp-journey-v2.bwp-pattern .bwp-journey-copy h3 { line-height:1.35; }
.bwp-journey-v2.bwp-pattern .bwp-journey-step:not(:last-child)::after { left:calc(100% - 4px); top:68px; width:32px; height:26px; background:var(--bwp-link,#6922b4); mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 26' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 23Q12 3 36 12M29 3l8 10-13 3'/%3E%3C/svg%3E") center/contain no-repeat; pointer-events:none; }
/* Small native reassurance panels use their own wrapper, without full-section padding. */
.bwp-pattern-piece.bwp-reassurance-panel { --bwp-ink:var(--wp--preset--color--bwp-ink,#302044); --bwp-panel-surface:#f0e9ff; --bwp-panel-border:#dfcff7; --bwp-panel-accent:#6922b4; box-sizing:border-box; display:grid; grid-template-columns:60px minmax(0,1fr); gap:24px; align-items:center; width:calc(100% - 48px); max-width:1144px; margin:32px auto; padding:26px; border:1px solid var(--bwp-panel-border); border-radius:20px; background:var(--bwp-panel-surface); color:var(--bwp-ink); }
.bwp-pattern-piece.bwp-reassurance-panel.is-style-bwp-panel-teal { --bwp-panel-surface:#e0f3f6; --bwp-panel-border:#abd5dc; --bwp-panel-accent:#00697f; }
.bwp-pattern-piece.bwp-reassurance-panel * { box-sizing:border-box; }
.bwp-pattern-piece.bwp-reassurance-panel .bwp-pattern-icon { display:block; width:60px; height:60px; margin:0; padding:14px; border:2px solid #ffffffc0; border-radius:50%; background:var(--bwp-panel-accent); }
.bwp-pattern-piece.bwp-reassurance-panel .bwp-pattern-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.bwp-pattern-piece.bwp-reassurance-panel .bwp-reassurance-copy { min-width:0; padding:0 0 0 24px; border-left:1px solid var(--bwp-panel-border); }
.bwp-pattern-piece.bwp-reassurance-panel h3 { font-size:21px; font-weight:800; line-height:1.35; color:var(--bwp-ink); margin:0 0 8px; }
.bwp-pattern-piece.bwp-reassurance-panel p { margin:0; font-size:15px; line-height:1.7; color:#51465d; }
.bwp-pattern-piece.bwp-reassurance-panel .bwp-panel-actions { margin:14px 0 0; }
.bwp-pattern-piece.bwp-reassurance-panel .wp-block-button__link { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:10px 18px; border-radius:10px; background:var(--bwp-panel-accent); color:#fff; font:inherit; font-size:15px; font-weight:750; text-decoration:none; box-shadow:none; }
.bwp-pattern-piece.bwp-reassurance-panel .wp-block-button__link::after { content:'→'; }
.bwp-pattern-piece.bwp-reassurance-panel .wp-block-button__link:hover { text-decoration:underline; text-underline-offset:4px; }
.bwp-pattern-piece.bwp-reassurance-panel .wp-block-button__link:focus-visible { outline:3px solid var(--bwp-ink); outline-offset:4px; }
.bwp-journey-v2.bwp-pattern .bwp-reassurance-panel { width:100%; max-width:none; margin:32px 0 0; }
/* Proven Services confidence layout, without its fixed section ID or inline page styles. */
.bwp-pattern-highlights { background:#fffafd; }
.bwp-pattern-highlights.bwp-pattern .bwp-support-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:start; }
.bwp-pattern-highlights.bwp-pattern .bwp-pattern-heading { display:block; margin:0; }
.bwp-pattern-highlights.bwp-pattern .bwp-support-highlights { display:grid; gap:14px; }
.bwp-pattern-highlights.bwp-pattern .bwp-support-highlight { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; align-items:start; padding:22px; border:1px solid #e5d6ed; border-radius:18px; background:var(--bwp-surface); }
.bwp-pattern-highlights.bwp-pattern .bwp-support-highlight .bwp-pattern-icon { width:44px; height:44px; padding:10px; }
.bwp-pattern-highlights.bwp-pattern .bwp-support-highlight h3 { margin:0 0 8px; font-size:19px; line-height:1.35; font-weight:800; color:var(--bwp-ink); }
.bwp-pattern-highlights.bwp-pattern .bwp-support-highlight p { color:#51465d; }
@media(max-width:1000px) {
 .bwp-journey-v2.bwp-pattern .bwp-journey-grid { grid-template-columns:1fr; gap:32px; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-step { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; align-items:center; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-media { width:140px; margin:0; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-copy { padding:24px; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-step:not(:last-child)::after { top:calc(100% + 4px); left:58px; width:24px; height:24px; transform:rotate(90deg); }
}
@media(max-width:760px) {
 .bwp-pattern-highlights.bwp-pattern .bwp-support-layout { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:600px) {
 .bwp-journey-v2.bwp-pattern .bwp-journey-step { display:flex; gap:0; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-media { width:112px; margin:0 auto -3px; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-copy { width:100%; min-height:0; padding:26px 22px 22px; }
 .bwp-journey-v2.bwp-pattern .bwp-journey-step:not(:last-child)::after { left:calc(50% - 12px); top:calc(100% + 4px); bottom:auto; height:24px; }
 .bwp-pattern-piece.bwp-reassurance-panel { width:calc(100% - 40px); grid-template-columns:1fr; gap:16px; padding:22px; }
 .bwp-pattern-piece.bwp-reassurance-panel .bwp-reassurance-copy { padding:0; border:0; }
 .bwp-pattern-piece.bwp-reassurance-panel h3 { font-size:20px; }
 .bwp-journey-v2.bwp-pattern .bwp-reassurance-panel { width:100%; }
 .bwp-pattern-highlights.bwp-pattern .bwp-support-highlight { grid-template-columns:36px minmax(0,1fr); padding:20px; gap:12px; }
 .bwp-pattern-highlights.bwp-pattern .bwp-support-highlight .bwp-pattern-icon { width:36px; height:36px; padding:8px; }
}
