/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ------------------------------
   Base / Typography / Links
--------------------------------*/
a {
  text-decoration: none;
  font-weight: 500;
  color: var(--theme-palette-color-9);
}

h1 {
  text-shadow:
    1px 1px 0 #333,
   -1px 1px 0 #333,
   -1px -1px 0 #333,
    1px -1px 0 #333;
}

/* ------------------------------
   Page / Headings ghost title
--------------------------------*/
.page-title,
.ct-advanced-heading {
  position: relative;
}

.ct-advanced-heading:after,
.blog .page-title:after,
.page .page-title:after {
  content: attr(title);
  position: absolute;
  z-index: -1;
  inset: -7% 0 0 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-weight: 800;
  line-height: 1;
  font-size: clamp(50px, 15vw, 200px);
  color: var(--theme-palette-color-7);
  text-shadow:
    -1px 0 rgba(255,255,255,.1),
     0 1px rgba(255,255,255,.1),
     1px 0 rgba(255,255,255,.1),
     0 -1px rgba(255,255,255,.1);
}

.ct-advanced-heading:after {
  left: 0;
  font-size: clamp(70px, 10vw, 140px);
}

@media (min-width: 690px) {
  .ct-advanced-heading:after { justify-content: flex-start; }
}

/* ------------------------------
   Utilities
--------------------------------*/
.center { text-align: center; }
.opa35  { opacity: .35; }

/* Mobile show/hide */
.hideOnMobile { display: block; }
.showOnMobile { display: none; }

@media (max-width: 600px) {
  .hideOnMobile { display: none; }
  .showOnMobile { display: block; }
}

/* ------------------------------
   Theme tokens (scoped to :root)
--------------------------------*/
:root {
  --background-morphed: hsl(0 0% 13%);
  --background-default: hsl(0 0% 15%);
  --background-darker:  hsl(0 0% 10%);
  --shadow-active: inset 2px 3px 5px #111;
  --shadow-inactive: -3px -3px 5px #3338, 3px 3px 10px #000;
  --border-inactive: 1px solid #333;
  --border-error: 1px solid red;
  --bg-image: linear-gradient(130deg, #222 0%, #222 100%);
}

/* ------------------------------
   Brand accents
--------------------------------*/
.ow-react-btn,
.mainGroup a { color: darkorange; fill: darkorange; }
.mainGroup     { color: gainsboro; }
.tldr          { font-style: italic; color: var(--theme-palette-color-3); }

/* ------------------------------
   Glassmorphism blocks
--------------------------------*/
.glass {
  background: rgba(0,0,0,.2);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0,0,0,.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.hero-section { padding: 20px; }

.hero-section div,
.entry-card,
.latestPostsMain > ul li,
.glassMorph {
  border: 0;
  box-shadow: 5px 5px 20px rgba(0,0,0,.41);
  padding: 16px;
  border-radius: 0;
  backdrop-filter: blur(8px);
  /*background-color: #00000066;*/
}

@media (max-width: 950px) { .glassMorph { padding: 12px; } }
@media (max-width: 600px) { .glassMorph { padding: 8px;  } }

/* ------------------------------
   “Morphed” frames (scoped)
--------------------------------*/
.morphedFrameIn {
  padding: .5em  .5em 20px;
  box-shadow: var(--shadow-active);
  border-radius: .2em;
  background-image: var(--bg-image);
  border: var(--border-inactive);
  transition: .2s;
}
.morphedFrameOut,
.ct-pagination {
  box-shadow: var(--shadow-inactive);
  border: var(--border-inactive);
  transition: .2s;
}

.entries,
.ct-pagination { padding: 0; }

/* ------------------------------
   Lists / related / TOC
--------------------------------*/
.ow-related-posts ul { padding-left: 23px; }
.ow-related-posts ul li { color: darkorange; }

.simpletoc        { padding-left: 0; margin-left: 0; }
.simpletoc ul a      { text-decoration: none; font-weight: 400;color: var(--theme-palette-color-3); }
.simpletoc,
ul.simpletoc-list,
ul.simpletoc-list li { color: darkorange; }

ul.simpletoc-list { margin: 0 0 32px 0; }
ul.simpletoc-list li { margin-left: 0; padding-left: 0; line-height: 1.32; }
.simpletoc-list li ul { padding: 10px; }

.simpletoc-title {
  letter-spacing: 4px;
  text-align: center;
}

/* ------------------------------
   Tag chips (single post)
--------------------------------*/
.taxonomy-post_tag { text-align: center; }
.taxonomy-post_tag a {
  background: darkorange;
  padding: 5px 8px 6px;
  border-radius: 14px;
  line-height: 41px;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .7em;
  letter-spacing: 1px;
}

/* ------------------------------
   Share box / news list
--------------------------------*/
.ct-share-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.newsList { text-align: left; }

/* ------------------------------
   Images / clip helpers
--------------------------------*/
.entry-card img{transform: scale(1.1);}
.clipo { clip-path: inset(5%); }
.noClipo img { clip-path: none; }


.entry-card img,
.stripo img{     clip-path: inset(4% 2% 4% 2%);
    transform: scale(1.08);
    transform-origin: center; }

.singlePostMainImage{top:-14px}

/* ------------------------------
   RCP (Restrict Content Pro)
--------------------------------*/
.rcp_form input.rcp-input.required { color: #7aff9e; }

table.rcp-table,
.rcp_registration_total_details tr { width: 100%; }

#rcp_registration_form > div.rcp_registration_total > div > table td,
table { border: 0; }

.rcp_subscription_fieldset .rcp_subscription_level label {
  width: auto;
  display: flow-root;
}

/* Radios visually hidden but accessible */
#rcp_subscription_levels input[type="radio"] {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

#rcp_subscription_levels li label {
  display: block;
  padding: 1em;
  cursor: pointer;
  transition: background-color .2s;
}

#rcp_subscription_levels li label:hover,
#rcp_subscription_levels li:focus-within label {
  background-color: var(--theme-heading-color, var(--theme-heading-3-color, var(--theme-headings-color)));
}

#rcp_subscription_levels input[type="radio"]:checked + label {
  background-color: darkorange;
}

/* Account overview button */
.rcp-table a button {
  white-space: nowrap;
  cursor: pointer;
  color: darkorange;
  box-shadow: -3px -3px 5px #3338, 3px 3px 10px #000;
  font-size: 1em;
  padding: 3px 10px 7px;
  margin-top: 10px;
  border-radius: 5px;
  background-image: linear-gradient(180deg, #333 0%, #000 100%);
}

/* Sandbox test cards block (explicitly targeted) */
#rcp-sandbox-gateway-test-cards {
  background: #000;
  margin: 0 0 1.5em;
  padding: 1em;
  border: 10px solid red;
}

/* ------------------------------
   Interrogation Room badges
--------------------------------*/
.scoreGroup div {
  color: var(--theme-palette-color-9);
  margin: 0;
}

.badgeGroup { height: 250px; }

.badgeGroup div {
  font-size: 5rem;
  font-weight: 700;
  background: linear-gradient(
    to bottom,
    #fff8d1 0%,
    #ffd700 20%,
    #ffb300 50%,
    #ffd700 70%,
    #fff3b0 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow:
    0 1px 1px rgba(0,0,0,.3),
    0 2px 2px rgba(0,0,0,.2),
    0 3px 3px rgba(0,0,0,.15);
}

/* ------------------------------
   Company directory
--------------------------------*/
.company-directory.newspaper-columns {
  column-count: 4;
  column-gap: 1rem;
}
@media (max-width: 600px) {
  .company-directory.newspaper-columns { column-count: 2; }
}

.company-directory .letter-block {
  break-inside: avoid-column;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 1rem;
}

.company-directory .letter-heading {
  font-weight: 700;
  font-size: 2rem;
  color: darkorange;
  margin: 0 0 .5rem;
}

.company-directory .company-list {
  padding: 0;
  margin: 0 0 .5rem 20px;
  color: darkorange;
}

.company-directory .company-item { margin: .15rem 0; line-height: 1.35; }
.company-directory .company-item a { text-decoration: none; }

/* ------------------------------
   Stackable / icons
--------------------------------*/
.ct-special-features .stk-block-column:hover {
  transform: scale3d(1.05, 1.05, 1);
}
.stk-block-column:hover .stk--svg-wrapper > .stk--inner-svg > svg:last-child {
  fill: #000;
}

/* ------------------------------
   Content flow spacing override
--------------------------------*/
:is(.is-layout-flow, .is-layout-constrained)
  > *:where(:not(p, h1, h2, h3, h4, h5, h6)) {
  margin-block-start: 0;
  margin-block-end: var(--theme-content-spacing);
}

/* ------------------------------
   Minor fixes
--------------------------------*/
/* Success message (selector corrected) */
.es_subscription_message.success { color: darkorange; }

/* Latest posts tweaks (fixed typo in padding) */
.latestPostsMain ul li { text-align: center; }
.latestPostsMain div div div article.entry-card {
  padding-bottom: 10px;
  color: red; /* consider removing in prod */
}
