/* CelebWiki Core — pink + plum, Montserrat headings, Source Sans 3 text.
   Everything is scoped to body.cw and .cw-* classes so Kadence styles cannot clash. */
body.cw{
  --cw-pink:#d1105a; --cw-pink-dark:#a30c46; --cw-plum:#3b1150; --cw-plum-2:#5c2477;
  --cw-soft:#fcf2f7; --cw-soft-2:#f5eefa; --cw-text:#2b2430; --cw-muted:#6e6475; --cw-line:#efe6ee; --cw-white:#fff;
  --cw-head:"Montserrat",ui-sans-serif,system-ui,sans-serif;
  --cw-body:"Source Sans 3",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
  font-family:var(--cw-body);color:var(--cw-text);
}
body.cw h1,body.cw h2,body.cw h3,body.cw h4,body.cw h5,body.cw h6{font-family:var(--cw-head);color:var(--cw-plum);text-wrap:balance;overflow-wrap:break-word}
body.cw .entry-content p,body.cw .entry-content li{font-size:1.125rem;line-height:1.7}
body.cw .entry-content a{color:var(--cw-pink-dark)}
body.cw .entry-taxonomies a,body.cw .entry-meta a{color:var(--cw-pink)}

/* shared bits */
body.cw .cw-kicker{display:block;font:700 12px/1.2 var(--cw-head);letter-spacing:.06em;text-transform:uppercase;color:var(--cw-pink)}
body.cw .cw-title{display:block;font:700 18px/1.3 var(--cw-head);color:var(--cw-plum)}
body.cw .cw-mono{display:grid;place-items:center;background:linear-gradient(140deg,#5c2477,#d1105a);color:#fff;font:800 28px var(--cw-head);width:100%;height:100%;aspect-ratio:1}
body.cw .cw-sec{margin:48px 0 0}
body.cw .cw-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 18px}
body.cw .cw-sec-h h2{display:flex;align-items:center;gap:10px;margin:0;font-size:26px}
body.cw .cw-sec-h h2::before{content:"";flex:none;width:8px;height:26px;border-radius:4px;background:var(--cw-pink)}
body.cw .cw-sec-h a{display:inline-block;padding:12px 0;font:700 14px var(--cw-head);color:var(--cw-pink);text-decoration:none;white-space:nowrap}
body.cw a.cw-card,body.cw a.cw-row,body.cw a.cw-must,body.cw a.cw-lead,body.cw a.cw-bday-row{text-decoration:none;color:inherit}

/* hero */
body.cw .cw-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:26px}
body.cw .cw-lead{position:relative;display:block;min-height:500px;border-radius:14px;overflow:hidden;background:var(--cw-plum)}
body.cw .cw-lead img,body.cw .cw-lead .cw-mono{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}
body.cw .cw-cap{position:absolute;inset:auto 0 0 0;display:grid;gap:8px;padding:26px;background:linear-gradient(transparent,rgba(30,6,40,.94))}
body.cw .cw-pill{justify-self:start;background:var(--cw-pink);color:#fff;font:700 12px/1 var(--cw-head);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border-radius:6px}
body.cw .cw-lead-title{font:800 clamp(24px,3.2vw,36px)/1.15 var(--cw-head);color:#fff}
body.cw .cw-lead-dek{color:#f2e6f5;font-size:17px}
body.cw .cw-latest{display:grid;gap:14px;align-content:start;min-width:0}
body.cw .cw-mini-h{margin:0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--cw-pink)}
body.cw .cw-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--cw-line)}
body.cw .cw-row .cw-ph{width:104px;aspect-ratio:1;border-radius:10px;overflow:hidden;display:block}
body.cw .cw-row .cw-ph img{width:100%;height:100%;object-fit:cover;object-position:top}
body.cw .cw-row .cw-title{font-size:17px}

/* grids + rails */
body.cw .cw-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
body.cw .cw-rail{display:flex;gap:18px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
body.cw .cw-rail .cw-card{flex:0 0 190px;scroll-snap-align:start}
body.cw .cw-card{display:grid;gap:8px;align-content:start;min-width:0}
body.cw .cw-card .cw-ph{display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--cw-soft)}
body.cw .cw-card .cw-ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
body.cw .cw-card:hover .cw-ph img{transform:scale(1.04)}
body.cw .cw-card:hover .cw-title,body.cw .cw-row:hover .cw-title{text-decoration:underline;text-decoration-color:var(--cw-pink);text-underline-offset:4px}

/* search */
body.cw .cw-find{margin:44px 0 0;padding:30px 22px;border-radius:16px;background:var(--cw-soft-2);display:grid;gap:14px;justify-items:center;text-align:center}
body.cw .cw-find h2{margin:0;font-size:clamp(22px,3vw,30px)}
body.cw .cw-box{position:relative;width:min(640px,100%);margin:0}
body.cw .cw-box input.cw-q{width:100%;padding:15px 20px;border:2px solid var(--cw-plum);border-radius:999px;background:#fff;font:400 17px var(--cw-body);color:var(--cw-text)}
body.cw .cw-results{position:absolute;inset:calc(100% + 6px) 0 auto 0;z-index:20;background:#fff;border:1px solid var(--cw-line);border-radius:14px;box-shadow:0 18px 40px -18px rgba(59,17,80,.45);text-align:left;overflow:hidden}
body.cw .cw-res{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--cw-line);text-decoration:none;color:inherit}
body.cw .cw-res:hover,body.cw .cw-res:focus{background:var(--cw-soft)}
body.cw .cw-res img,body.cw .cw-res .cw-mono{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;font-size:15px}
body.cw .cw-res b{display:block;font:700 15px var(--cw-head);color:var(--cw-plum)}
body.cw .cw-res small{color:var(--cw-muted);font-size:14px}
body.cw .cw-res .cw-age{font:800 14px var(--cw-head);color:var(--cw-pink)}

/* born today */
body.cw .cw-bday{display:grid}
body.cw .cw-bday-row{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--cw-line)}
body.cw .cw-bday-row img,body.cw .cw-bday-row .cw-mono{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top;font-size:18px}
body.cw .cw-bday-row b{display:block;font:700 16px var(--cw-head);color:var(--cw-plum)}
body.cw .cw-bday-row small{color:var(--cw-muted);font-size:14px}
body.cw .cw-turns{font:800 14px var(--cw-head);color:var(--cw-pink);white-space:nowrap}

/* tools (plum cards, white text) */
body.cw .cw-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.cw .cw-tool{min-width:0;display:grid;gap:12px;align-content:start;margin:24px 0;padding:22px;border-radius:16px;background:linear-gradient(150deg,#3b1150,#5c2477);color:#fff}
body.cw .cw-tools .cw-tool{margin:0}
body.cw .cw-tool h3{margin:0;color:#fff;font-size:22px}
body.cw .cw-tool p{margin:0;color:#eadcf3;font-size:16px}
body.cw .cw-tool .cw-kicker{color:#ff9cc3}
body.cw .cw-tool .cw-in{display:flex;flex-wrap:wrap;gap:8px}
body.cw .cw-tool select{flex:1 1 140px;min-width:0;max-width:100%;width:100%;padding:11px 12px;border:0;border-radius:10px;background:#fff;color:#2b2430;font:400 16px var(--cw-body)}
body.cw .cw-tool .cw-in select{width:auto}
body.cw .cw-tool button.cw-go{padding:11px 16px;border:0;border-radius:10px;background:var(--cw-pink);color:#fff;font:700 15px var(--cw-head);cursor:pointer;box-shadow:none}
body.cw .cw-tool button.cw-go:hover,body.cw .cw-tool button.cw-go:focus{background:var(--cw-pink-dark);color:#fff}
body.cw .cw-out{min-height:28px;font:700 17px/1.4 var(--cw-head);color:#ffd2e4}
body.cw .cw-out a{color:#fff}

/* post components */
body.cw .cw-facts{margin:24px 0;border:1px solid var(--cw-line);border-radius:14px;overflow:hidden;background:#fff}
body.cw .cw-facts .cw-facts-h{margin:0;padding:12px 14px;background:var(--cw-plum);color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
body.cw .cw-facts table{width:100%;margin:0;border-collapse:collapse;font-size:16px}
body.cw .cw-facts th,body.cw .cw-facts td{padding:10px 14px;border:0;border-bottom:1px solid var(--cw-line);text-align:left;vertical-align:top}
body.cw .cw-facts th{width:38%;font:600 14px var(--cw-body);color:var(--cw-muted)}
body.cw .cw-why{margin:26px 0;padding:18px 20px;border-radius:14px;background:var(--cw-soft)}
body.cw .cw-why h2{margin:6px 0 8px;font-size:21px}
body.cw .cw-why p{margin:0}
body.cw .cw-live::before{content:"● ";animation:cw-blink 1.6s infinite}
@keyframes cw-blink{50%{opacity:.25}}
body.cw .cw-quote{margin:34px 0;padding:22px 24px;border:0;border-radius:14px;background:var(--cw-soft-2)}
body.cw .cw-quote p{margin:0;font:700 23px/1.4 var(--cw-head);color:var(--cw-plum)}
body.cw .cw-quote cite{display:block;margin-top:10px;font-style:normal;font-size:15px;color:var(--cw-muted)}
body.cw .cw-verdict{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start;margin:0 0 10px;padding:14px;border-radius:12px;background:var(--cw-soft-2)}
body.cw .cw-v{padding:9px 4px;border-radius:8px;text-align:center;font:800 12px/1 var(--cw-head);letter-spacing:.05em;color:#fff}
body.cw .cw-v-false{background:var(--cw-pink)}
body.cw .cw-v-true{background:var(--cw-plum)}
body.cw .cw-v-unclear{background:var(--cw-muted)}
body.cw .cw-verdict p{margin:0;font-size:17px}
body.cw .cw-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
body.cw .cw-role{display:grid;gap:4px;padding:16px;border-radius:12px;background:var(--cw-soft)}
body.cw .cw-role b{font:800 20px var(--cw-head);color:var(--cw-plum)}
body.cw .cw-role small{font-size:15px;color:var(--cw-muted)}
body.cw .cw-must{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;margin:28px 0;padding:12px;border:1px solid var(--cw-line);border-left:5px solid var(--cw-pink);border-radius:12px;background:#fff}
body.cw .cw-must img,body.cw .cw-must .cw-mono{width:110px;height:110px;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:8px}
body.cw .cw-must .cw-kicker{margin-bottom:6px}
body.cw .cw-tvn{margin:24px 0}
body.cw .cw-slider{position:relative;max-width:520px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--cw-plum);user-select:none}
body.cw .cw-slider img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 20%}
body.cw .cw-slider .cw-now{clip-path:inset(0 0 0 var(--cut,50%))}
body.cw .cw-line{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}
body.cw .cw-lbl{position:absolute;top:12px;padding:6px 10px;border-radius:999px;background:rgba(30,6,40,.7);color:#fff;font:800 12px var(--cw-head)}
body.cw .cw-l{left:12px}body.cw .cw-r{right:12px}
body.cw .cw-slider input[type=range]{position:absolute;inset:auto 12px 12px 12px;width:calc(100% - 24px);height:32px;margin:0;accent-color:#d1105a;background:transparent;border:0;box-shadow:none}
body.cw .cw-tvn figcaption{margin-top:8px;font-size:14px;color:var(--cw-muted)}
body.cw .cw-more{margin-top:56px}

/* article photos: always centred, one style, tall portraits capped so they never dominate */
body.cw .entry-content .wp-block-image{margin:28px 0;text-align:center}
body.cw .entry-content .wp-block-image img{display:block;margin:0 auto;width:auto;max-width:100%;height:auto;max-height:560px;border-radius:12px}
body.cw .entry-content .wp-block-image figcaption{margin:8px auto 0;max-width:620px;text-align:center;font-size:14px;line-height:1.45;color:var(--cw-muted)}
body.cw .entry-content .cw-hero-img{margin:0 0 24px}
body.cw .entry-content .cw-hero-img img{max-height:640px}
@media (max-width:640px){body.cw .entry-content .wp-block-image img{max-height:480px}body.cw .entry-content .cw-hero-img img{max-height:520px}}

/* progress + read next */
body.cw .cw-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:99;pointer-events:none}
body.cw .cw-progress i{display:block;height:100%;width:0;background:var(--cw-pink)}
body.cw .cw-readnext{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:98;width:min(340px,calc(100vw - 32px));display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--cw-line);border-radius:14px;background:#fff;box-shadow:0 20px 50px -20px rgba(59,17,80,.55);transform:translateY(160%);transition:transform .35s}
body.cw .cw-readnext.show{transform:none}
body.cw .cw-readnext img,body.cw .cw-readnext .cw-mono{width:72px;height:72px;border-radius:10px;object-fit:cover;object-position:top;font-size:20px}
body.cw .cw-readnext a{text-decoration:none}
body.cw .cw-readnext .cw-title{font-size:15px}
body.cw .cw-readnext button.cw-rn-x{align-self:start;padding:4px 8px;border:0;background:none;box-shadow:none;color:var(--cw-muted);font-size:22px;line-height:1;cursor:pointer}

@media (prefers-reduced-motion:reduce){body.cw .cw-readnext{transition:none}body.cw .cw-live::before{animation:none}body.cw .cw-card .cw-ph img{transition:none}}
@media (max-width:980px){
  body.cw .cw-hero{grid-template-columns:minmax(0,1fr)}
  body.cw .cw-lead{min-height:400px}
  body.cw .cw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body.cw .cw-tools,body.cw .cw-roles{grid-template-columns:minmax(0,1fr)}
  body.cw .cw-row{grid-template-columns:88px minmax(0,1fr)}
  body.cw .cw-row .cw-ph{width:88px}
  body.cw .cw-must{grid-template-columns:84px minmax(0,1fr)}
  body.cw .cw-must img,body.cw .cw-must .cw-mono{width:84px;height:84px}
  body.cw .cw-verdict{grid-template-columns:1fr}
  body.cw .cw-v{justify-self:start;padding:8px 10px}
  body.cw .cw-lead{min-height:360px}
  body.cw .cw-sec-h h2{font-size:22px}
}
@media (max-width:400px){
  body.cw .cw-grid{gap:12px}
  body.cw .cw-card .cw-title{font-size:16px}
  body.cw .cw-tool .cw-in{flex-direction:column}
  body.cw .cw-tool .cw-in select,body.cw .cw-tool button.cw-go{flex:none;width:100%}
}

/* ============ HEADER (Kadence markup, CelebWiki colours) ============ */
body.cw #masthead,body.cw #masthead .site-main-header-wrap .site-header-row-container-inner{background:#fff}
body.cw #masthead{border-bottom:1px solid var(--cw-line)}
body.cw .main-navigation .primary-menu-container>ul>li.menu-item>a{color:var(--cw-plum);font:700 15px var(--cw-head);padding-top:.9em;padding-bottom:.9em}
body.cw .main-navigation .primary-menu-container>ul>li.menu-item>a:hover,
body.cw .main-navigation .primary-menu-container>ul>li.menu-item>a:focus{color:var(--cw-pink)}
body.cw .main-navigation .primary-menu-container>ul>li.current-menu-item>a,
body.cw .main-navigation .primary-menu-container>ul>li.current-menu-ancestor>a{color:var(--cw-pink);box-shadow:inset 0 -3px 0 var(--cw-pink)}
body.cw .header-navigation .header-menu-container ul ul.sub-menu{background:#fff;border-top:3px solid var(--cw-pink);border-radius:0 0 10px 10px;box-shadow:0 18px 30px -18px rgba(59,17,80,.45);min-width:220px}
body.cw .header-navigation .header-menu-container ul ul li.menu-item>a{color:var(--cw-plum);font:600 15px var(--cw-body);border-bottom:1px solid var(--cw-line)}
body.cw .header-navigation .header-menu-container ul ul li.menu-item>a:hover{background:var(--cw-soft);color:var(--cw-pink)}
body.cw .menu-toggle-open,body.cw .menu-toggle-open:hover{color:var(--cw-plum)}
body.cw #mobile-drawer .drawer-inner{background:var(--cw-plum);color:#fff}
body.cw #mobile-drawer .drawer-header .drawer-toggle,body.cw #mobile-drawer .drawer-header .drawer-toggle:hover{color:#fff}
body.cw #mobile-drawer .mobile-navigation ul li>a,body.cw #mobile-drawer .mobile-navigation ul li>.drawer-nav-drop-wrap{color:#fff;font:700 17px var(--cw-head);border-bottom-color:rgba(255,255,255,.15)}
body.cw #mobile-drawer .mobile-navigation ul li>a:hover,body.cw #mobile-drawer .mobile-navigation ul li.current-menu-item>a{color:#ff9cc3}
body.cw #mobile-drawer .mobile-navigation ul ul li>a{font:600 16px var(--cw-body)}
body.cw #mobile-drawer .drawer-sub-toggle{color:#fff}

/* ============ FOOTER ============ */
body.cw .cw-footer{background:var(--cw-plum);color:#eadcf3;margin-top:48px}
body.cw .cw-footer-in{max-width:1200px;margin:0 auto;padding-block:44px 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
body.cw .cw-footer img{width:220px;height:auto;margin-bottom:14px}
body.cw .cw-footer p{margin:0 0 12px;font-size:16px;line-height:1.6;color:#eadcf3}
body.cw .cw-footer .cw-fnote{font-size:14px;color:#cdb8da}
body.cw .cw-footer h2{margin:4px 0 12px;font:700 14px var(--cw-head);letter-spacing:.08em;text-transform:uppercase;color:#ff9cc3}
body.cw .cw-footer ul{list-style:none;margin:0;padding:0}
body.cw .cw-footer li a{display:inline-block;padding:7px 0;color:#fff;text-decoration:none;font-size:16px}
body.cw .cw-footer li a:hover,body.cw .cw-footer li a:focus{color:#ff9cc3;text-decoration:underline}
body.cw .cw-fbar{border-top:1px solid rgba(255,255,255,.14);padding-block:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));text-align:center;font-size:14px;color:#cdb8da;background:#2f0d40}
@media (max-width:820px){body.cw .cw-footer-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.cw .cw-fabout{grid-column:1/-1}}
@media (max-width:480px){body.cw .cw-footer-in{grid-template-columns:minmax(0,1fr)}}

/* Tables (v1.0.3): clean on desktop, stacked cards on phones */
body.cw .entry-content .wp-block-table{margin:24px 0;overflow-x:auto}
body.cw .entry-content .wp-block-table table{width:100%;border-collapse:collapse;font-size:16px;border:0}
body.cw .entry-content .wp-block-table th,body.cw .entry-content .wp-block-table td{border:0;border-bottom:1px solid var(--cw-line);padding:10px 12px;text-align:left;vertical-align:top}
body.cw .entry-content .wp-block-table th{font:700 12px var(--cw-head);letter-spacing:.05em;text-transform:uppercase;color:var(--cw-pink)}
body.cw .entry-content .wp-block-table tbody tr:nth-child(even){background:var(--cw-soft)}
@media (max-width:600px){
body.cw .entry-content .cw-stack table,body.cw .entry-content .cw-stack tbody,body.cw .entry-content .cw-stack tr,body.cw .entry-content .cw-stack td{display:block;width:100%;box-sizing:border-box}
body.cw .entry-content .cw-stack thead{display:none}
body.cw .entry-content .cw-stack tbody tr,body.cw .entry-content .cw-stack tbody tr:nth-child(even){background:#fff;border:1px solid var(--cw-line);border-radius:12px;padding:8px 14px;margin:0 0 10px;box-shadow:0 1px 3px rgba(59,17,80,.06)}
body.cw .entry-content .cw-stack td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border:0;padding:5px 0;text-align:right;overflow-wrap:anywhere;min-width:0}
body.cw .entry-content .cw-stack td+td{border-top:1px dashed var(--cw-line)}
body.cw .entry-content .cw-stack td::before{content:attr(data-label);flex:0 0 auto;text-align:left;font:700 11px var(--cw-head);letter-spacing:.05em;text-transform:uppercase;color:var(--cw-pink)}
body.cw .entry-content .cw-stack td:first-child{font:700 15px var(--cw-head);color:var(--cw-plum)}
}

/* More like this (v1.0.4): 4-up grid on desktop and tablet, tappable rows on phones */
body.cw .cw-more .cw-grid-more{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.cw .cw-more .cw-card .cw-title{font:700 16px/1.3 var(--cw-head);color:var(--cw-plum)}
body.cw .cw-more .cw-card .cw-kicker{font-size:11px}
body.cw .entry-content .cw-must-auto{margin:32px 0}
@media (max-width:640px){
  body.cw .cw-more .cw-grid-more{grid-template-columns:minmax(0,1fr);gap:12px}
  body.cw .cw-more .cw-card{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px;padding:10px;border:1px solid var(--cw-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(59,17,80,.06)}
  body.cw .cw-more .cw-card .cw-ph{width:92px;border-radius:8px}
  body.cw .cw-more .cw-card .cw-txt{display:grid;gap:4px}
}

/* Then vs now (v1.0.5): centred like every other image, caption underneath */
body.cw .cw-tvn{margin:28px 0;text-align:center}
body.cw .cw-tvn .cw-slider{margin:0 auto}
body.cw .cw-tvn figcaption{margin:8px auto 0;max-width:620px;text-align:center;font-size:14px;line-height:1.45;color:var(--cw-muted)}
body.cw .entry-content .wp-block-table td{overflow-wrap:anywhere}
