
.fivec-companion-card { display:flex; align-items:center; gap:24px; justify-content:space-between; margin:32px auto; padding:28px; max-width:1160px; background:#f7f3e9; border-left:4px solid var(--gold); }
.fivec-companion-card h2 { font-size:clamp(1.5rem,3vw,2rem); }
.fivec-companion-card p { max-width:65ch; }
.fivec-companion-card .button { flex-shrink:0; }
.fivec-companion > section:not(.inner-hero), .companion-access { max-width:1160px; margin:40px auto; padding:24px; }
.companion-story-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.companion-story-grid figure { margin:0; min-width:0; }
.companion-cover { width:100%; aspect-ratio:429.2/733; background-image:url('five-c-story-shelf-v1.webp'); background-size:500% 100%; background-repeat:no-repeat; }
.companion-story-grid img { display:block; width:100%; height:auto; aspect-ratio:429/733; }
.companion-story-grid figcaption { padding:12px 0; font-weight:700; text-align:center; }
.companion-adults { background:#f7f3e9; }
.companion-adults p, .companion-access p { max-width:75ch; }
.companion-note { font-size:.875rem; margin-top:12px; }
@media(max-width:900px) { .companion-story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .fivec-companion-card { flex-direction:column; align-items:flex-start; } }
@media(max-width:480px) { .companion-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .fivec-companion-card { margin:24px 16px; padding:20px; } }

/* Preserve hidden/dismiss controls; move the live notice into document flow. */
body .fivec-pwa-availability { position:relative !important; inset:auto !important; transform:none !important; margin:24px auto !important; width:min(680px,calc(100% - 32px)) !important; z-index:auto !important; }

.companion-cover.companion-cycle-cover { background-image:url("breaking-the-cycle-cover-v2.webp"); background-size:contain; background-position:center; }

.fivec-family-notice { background:#183f32; color:#fff; font-family:var(--wp--preset--font-family--sans, sans-serif); font-size:14px; }
.fivec-family-notice > div { max-width:1160px; margin:auto; padding:10px 24px; display:flex; align-items:center; justify-content:space-between; gap:8px 24px; }
.fivec-family-notice a { color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.fivec-family-notice a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:600px) { .fivec-family-notice > div { flex-direction:column; align-items:flex-start; padding:10px 16px; font-size:13px; } }
