/* CCTP V2.0 — compact white controls throughout public content. */
.cctp-main button:not(.cctp-icon-button):not(.cctp-pillar__trigger):not(.cctp-age-library__tab):not(.cctp-pillar-article__bottom-close):not(.cctp-age-reader__close):not(.cctp-opinion-composer__cancel):not(.cctp-submit-cancel),
.cctp-main a.cctp-button,
.cctp-main .cctp-listing__tabs a{
  padding-top:7px!important;
  padding-bottom:7px!important;
}

.cctp-main button:not(.cctp-icon-button):not(.cctp-pillar__trigger):not(.cctp-age-library__tab):not(.cctp-pillar-article__bottom-close):not(.cctp-age-reader__close):not(.cctp-opinion-composer__cancel):not(.cctp-submit-cancel):not(.is-selected):not(.is-active):not([aria-pressed="true"]),
.cctp-main a.cctp-button:not(.is-selected):not(.is-active):not([aria-current="page"]),
.cctp-main .cctp-listing__tabs a:not(.is-active){
  color:#0c5fb8!important;
  background-color:#fff!important;
  background-image:none!important;
  border-color:#d9e0e5!important;
  box-shadow:-0px -0px 0px rgba(255,255,255,.95),3px 4px 8px rgba(42,55,68,.15),inset 0 1px #fff!important;
  text-shadow:none!important;
  filter:none!important;
}

.cctp-main button:not(.cctp-icon-button):not(.cctp-pillar__trigger):not(.cctp-age-library__tab):not(.cctp-pillar-article__bottom-close):not(.cctp-age-reader__close):not(.cctp-opinion-composer__cancel):not(.cctp-submit-cancel){
  min-height:38px;
}

/* Selected controls retain a clear active state. */
.cctp-main button.is-selected,
.cctp-main button.is-active,
.cctp-main button[aria-pressed="true"],
.cctp-main a.cctp-button.is-selected,
.cctp-main a.cctp-button.is-active,
.cctp-main .cctp-listing__tabs a.is-active{
  background-image:none!important;
  text-shadow:none!important;
}

@media(max-width:430px){
  .cctp-main button:not(.cctp-icon-button):not(.cctp-pillar__trigger):not(.cctp-age-library__tab):not(.cctp-pillar-article__bottom-close):not(.cctp-age-reader__close):not(.cctp-opinion-composer__cancel):not(.cctp-submit-cancel),
  .cctp-main a.cctp-button,
  .cctp-main .cctp-listing__tabs a{
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
}

/* Exact legacy controls that use links/selects or metal pseudo-elements. */
.cctp-main .cctp-account-tabs a,
.cctp-main .cctp-listing__tabs a,
.cctp-main .cctp-auth__switch a,
.cctp-main .cctp-post__save-top--reading,
.cctp-main .cctp-post__save-top--reading.is-active,
.cctp-main .cctp-post__font-size select,
.cctp-main .cctp-pillar-reading-size select,
.cctp-main .cctp-pillar-article__reading-size select,
.cctp-main .cctp-age-reader__reading-size select,
.cctp-main .cctp-submit__photo-step select{
  color:var(--cctp-navy,#071a35)!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1px solid #d9e0e5!important;
  border-top-color:#eef2f4!important;
  box-shadow:-2px -2px 5px rgba(255,255,255,.96),3px 4px 8px rgba(42,55,68,.14),inset 0 1px #fff!important;
  text-shadow:none!important;
  filter:none!important;
}

.cctp-main .cctp-account-tabs a,
.cctp-main .cctp-listing__tabs a,
.cctp-main .cctp-auth__switch a,
.cctp-main .cctp-post__save-top--reading{
  min-height:38px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}

.cctp-main .cctp-account-tabs a::before,
.cctp-main .cctp-account-tabs a::after,
.cctp-main .cctp-listing__tabs a::before,
.cctp-main .cctp-listing__tabs a::after,
.cctp-main .cctp-auth__switch a::before,
.cctp-main .cctp-auth__switch a::after,
.cctp-main .cctp-post__save-top--reading::before,
.cctp-main .cctp-post__save-top--reading::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

.cctp-main .cctp-account-tabs a.is-active,
.cctp-main .cctp-listing__tabs a.is-active,
.cctp-main .cctp-post__save-top--reading.is-active{
  color:#0c50a7!important;
  background:#fff!important;
  background-image:none!important;
  transform:none!important;
  box-shadow:inset 3px 3px 7px rgba(60,77,92,.13),inset -3px -3px 7px #fff!important;
}

/* Reaction rail: the container behind all three buttons must also be white. */
.cctp-main .cctp-post__actions{
  gap:7px!important;
  padding:7px!important;
  background-color:#fff!important;
  background-image:none!important;
  border-top:1px solid #e1e6ea!important;
  border-bottom:1px solid #e1e6ea!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}
.cctp-main .cctp-post-action,
.cctp-main .cctp-post-action.is-active{
  min-height:38px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  color:var(--cctp-navy,#071a35)!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1px solid #dce2e6!important;
  border-top-color:#eef2f4!important;
  box-shadow:0 3px 7px rgba(42,55,68,.13),inset 0 1px #fff!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
}
.cctp-main .cctp-post-action.is-active{
  color:#0c50a7!important;
  box-shadow:inset 3px 3px 7px rgba(60,77,92,.12),inset -3px -3px 7px #fff!important;
}
.cctp-main .cctp-post-action::before,
.cctp-main .cctp-post-action::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Listing heading/filter container: no metal behind the white buttons. */
.cctp-main .cctp-listing__header{
  background-color:#fff!important;
  background-image:none!important;
  border-bottom:1px solid #e1e6ea!important;
  box-shadow:none!important;
}
.cctp-main .cctp-listing__tabs{
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Continuous steel side rails on every public page. */
body .cctp-main{
  position:relative!important;
  isolation:isolate;
}
body .cctp-main::before,
body .cctp-main::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:10px!important;
  z-index:8!important;
  pointer-events:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  background:linear-gradient(90deg,#242d33 0%,#eef1f1 20%,#727c81 48%,#fff 68%,#546068 100%)!important;
  background-image:linear-gradient(90deg,#242d33 0%,#eef1f1 20%,#727c81 48%,#fff 68%,#546068 100%)!important;
}
body .cctp-main::before{
  left:0!important;
  right:auto!important;
  box-shadow:4px 0 4px rgba(6,13,18,.58),9px 0 18px rgba(6,13,18,.38)!important;
}
body .cctp-main::after{
  right:0!important;
  left:auto!important;
  transform:scaleX(-1)!important;
  box-shadow:4px 0 4px rgba(6,13,18,.58),9px 0 18px rgba(6,13,18,.38)!important;
}
body .cctp-main > *{
  position:relative;
  z-index:1;
}
@media(max-width:720px){
  body .cctp-main::before,
  body .cctp-main::after{width:9px!important}
}

/* Defeat the old submit-only rule that explicitly hid the left rail. */
html body.cctp-submit-page .cctp-main::before{
  content:""!important;
  display:block!important;
  left:0!important;
  right:auto!important;
}

/* Login/register interior: white between the two steel rails. */
html body.cctp-auth-page,
html body.cctp-auth-page .cctp-main,
html body.cctp-auth-page .cctp-auth,
html body.cctp-auth-page .cctp-auth-form,
html body.cctp-auth-page .cctp-fieldset{
  background-color:#f8fafb!important;
  background-image:none!important;
}
html body.cctp-auth-page .cctp-main,
html body.cctp-auth-page .cctp-auth{
  border-color:transparent!important;
  box-shadow:none!important;
}
html body.cctp-auth-page .cctp-auth__heading,
html body.cctp-auth-page .cctp-auth__switch{
  background:#f8fafb!important;
  background-image:none!important;
}

/* Interactive text is dark blue so white buttons never read like plain labels. */
body .cctp-main button:not(:disabled):not(.cctp-icon-button),
body .cctp-main button:not(:disabled):not(.cctp-icon-button) strong,
body .cctp-main button:not(:disabled):not(.cctp-icon-button) span,
body .cctp-main a.cctp-button,
body .cctp-main a.cctp-button strong,
body .cctp-main a.cctp-button span,
body .cctp-main .cctp-account-tabs a,
body .cctp-main .cctp-listing__tabs a,
body .cctp-main .cctp-auth__switch a,
body .cctp-main .cctp-post__save-top--reading,
body .cctp-main .cctp-post-action,
body .cctp-main .cctp-post-action b{
  color:#0b4f9f!important;
}

/* Preserve semantic pillar names/icons while the card remains obviously clickable. */
body.cctp-home-shell .cctp-pillar__trigger .cctp-pillar__label,
body.cctp-home-shell .cctp-pillar__trigger .cctp-pillar__badge{
  color:var(--pillar-accent)!important;
}

/* Final global action-color pass, including temporarily disabled controls. */
html body .cctp-main button:not(.cctp-icon-button),
html body .cctp-main a.cctp-button,
html body .cctp-main .cctp-account-tabs a,
html body .cctp-main .cctp-listing__tabs a,
html body .cctp-main .cctp-auth__switch a,
html body .cctp-main .cctp-post__save-top--reading,
html body .cctp-main .cctp-post-action,
html body .cctp-main .cctp-post-action *{
  color:#0b4f9f!important;
}

/* Button labels are often wrapped in spans/strong tags. Limit the rule to
 * real buttons and styled button-links so clickable article bodies stay dark. */
html body .cctp-main button:not(.cctp-icon-button) > span,
html body .cctp-main button:not(.cctp-icon-button) > strong,
html body .cctp-main button:not(.cctp-icon-button) > b,
html body .cctp-main a.cctp-button > span,
html body .cctp-main a.cctp-button > strong,
html body .cctp-main .cctp-account-tabs a > span,
html body .cctp-main .cctp-listing__tabs a > span,
html body .cctp-main .cctp-auth__switch a > span,
html body .cctp-main .cctp-age-library__tab > strong{
  color:#0b4f9f!important;
}

html body .cctp-main button:not(.cctp-icon-button):not(.cctp-pillar-article__bottom-close):not(.cctp-age-reader__close):not(.cctp-opinion-composer__cancel):not(.cctp-submit-cancel),
html body .cctp-main a.cctp-button,
html body .cctp-main .cctp-account-tabs a,
html body .cctp-main .cctp-listing__tabs a,
html body .cctp-main .cctp-auth__switch a,
html body .cctp-main .cctp-post__save-top--reading,
html body .cctp-main .cctp-post-action{
  background-color:#fff!important;
  background-image:none!important;
}

html body.cctp-home-shell .cctp-pillar__trigger .cctp-pillar__label,
html body.cctp-home-shell .cctp-pillar__trigger .cctp-pillar__badge,
html body.cctp-home-shell .cctp-pillar__trigger .cctp-pillar__badge *{
  color:var(--pillar-accent)!important;
}

/* A post body is clickable for expand/collapse, but it is content—not a button. */
html body .cctp-main .cctp-post__content-wrap,
html body .cctp-main .cctp-post__content{
  color:var(--cctp-text,#111b29)!important;
  background:transparent!important;
  background-image:none!important;
}
html body .cctp-main .cctp-post__more{
  color:#0b4f9f!important;
}

/* Absolute global rule requested: every real link and every real button in
 * page content is blue. WebKit text fill prevents legacy metal rules winning. */
html body .cctp-main a,
html body .cctp-main button,
html body .cctp-main button span,
html body .cctp-main button strong,
html body .cctp-main button b{
  color:#0c5fb8!important;
  -webkit-text-fill-color:#052F81!important;
}
