/* Shared legal/info page system for tc/ad/pp prefixed policy pages. */

/* ===== NUCLEAR INTER - EVERY ELEMENT ===== */
*,
*::before,
*::after {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
div,
section,
article,
nav,
footer,
header,
main,
aside,
button,
input,
select,
textarea,
option,
optgroup,
label,
legend,
fieldset,
form,
li,
ul,
ol,
dl,
dt,
dd,
table,
th,
td,
tr,
thead,
tbody,
tfoot,
caption,
blockquote,
pre,
code,
samp,
kbd,
var,
details,
summary,
figcaption,
figure,
strong,
em,
b,
i,
u,
s,
small,
sub,
sup,
mark,
abbr,
cite,
q,
dfn,
time,
address {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
}
html body,
body #page,
body #content,
body #primary,
body #main,
body .site,
body .site-content,
body .entry-content,
body .page-content,
body .post-content,
body .wp-site-blocks,
body .is-layout-constrained,
body .is-layout-flow,
body .wp-block-group,
body .wp-block-post-content,
body .ast-container,
body .site-main,
body .content-area,
body .elementor,
body .elementor-section-wrap,
body .e-con,
body .e-con-inner {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
}
:is(.tc-wrapper, .ad-wrapper, .pp-wrapper) {
  background: #000;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0 30px 80px;
}
:is(.tc-inner, .ad-inner, .pp-inner) {
  max-width: 1000px;
  margin: 0 auto;
}
/* ===== HEADER ===== */
:is(.tc-header, .ad-header, .pp-header) {
  text-align: center;
  padding: 60px 0 48px;
  border-bottom: 1px solid #1a1a1a;
  margin-bottom: 48px;
}
:is(.tc-badge, .ad-badge, .pp-badge) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(89, 204, 128, 0.08);
  border: 1px solid rgba(89, 204, 128, 0.2);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #59CC80;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 20px;
}
:is(.tc-badge, .ad-badge, .pp-badge)::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #59CC80;
  border-radius: 50%;
  flex-shrink: 0;
}
:is(.tc-title, .ad-title, .pp-title) {
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 12px 0;
}
:is(.tc-title, .ad-title, .pp-title) .green {
  color: #59CC80;
}
:is(.tc-effective, .ad-effective, .pp-effective) {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.35);
  margin: 0 0 24px 0;
}
:is(.tc-intro, .ad-intro, .pp-intro) {
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.8;
  margin: 0 auto 14px;
  max-width: 1000px;
}
:is(.tc-intro, .ad-intro, .pp-intro):last-child {
  margin-bottom: 0;
}
:is(.tc-intro, .ad-intro, .pp-intro) a {
  color: #59CC80;
  text-decoration: none;
  font-weight: 500;
}
:is(.tc-intro, .ad-intro, .pp-intro) a:hover {
  opacity: 0.8;
}
/* ===== SECTIONS ===== */
:is(.tc-section, .ad-section, .pp-section) {
  margin-bottom: 56px;
}
:is(.tc-section-head, .ad-section-head, .pp-section-head) {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
  border-bottom: 1px solid #1a1a1a;
  margin-bottom: 28px;
}
:is(.tc-section-icon, .ad-section-icon, .pp-section-icon) {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(89, 204, 128, 0.08);
  border: 1px solid rgba(89, 204, 128, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
:is(.tc-section-icon, .ad-section-icon, .pp-section-icon) svg {
  width: 18px;
  height: 18px;
  stroke: #59CC80;
}
:is(.tc-section-title, .ad-section-title, .pp-section-title) {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0;
}
/* ===== GROUPS ===== */
:is(.tc-group, .ad-group, .pp-group) {
  margin-bottom: 32px;
}
:is(.tc-group-title, .ad-group-title, .pp-group-title) {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
:is(.tc-num, .ad-num, .pp-num) {
  color: #59CC80;
  font-weight: 700;
}
/* ===== CARDS ===== */
:is(.tc-card, .ad-card, .pp-card) {
  background: #0c0c0c;
  border: 1px solid #1a1a1a;
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 12px;
  transition: border-color 0.2s;
}
:is(.tc-card, .ad-card, .pp-card):hover {
  border-color: #2a2a2a;
}
:is(.tc-card, .ad-card, .pp-card):last-child {
  margin-bottom: 0;
}
:is(.tc-card-label, .ad-card-label, .pp-card-label) {
  font-size: 12px;
  font-weight: 700;
  color: #59CC80;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 6px 0;
}
:is(.tc-card-title, .ad-card-title, .pp-card-title) {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px 0;
}
:is(.tc-card-text, .ad-card-text, .pp-card-text) {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin: 0;
}
:is(.tc-card-text, .ad-card-text, .pp-card-text) a {
  color: #59CC80;
  text-decoration: none;
  font-weight: 500;
}
:is(.tc-card-text, .ad-card-text, .pp-card-text) a:hover {
  opacity: 0.8;
}
/* ===== PLAIN TEXT BLOCK ===== */
:is(.tc-text, .ad-text, .pp-text) {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin: 0 0 16px 0;
}
:is(.tc-text, .ad-text, .pp-text) a {
  color: #59CC80;
  text-decoration: none;
  font-weight: 500;
}
:is(.tc-text, .ad-text, .pp-text) a:hover {
  opacity: 0.8;
}
/* ===== NOTICE / CONSENT ===== */
:is(.tc-notice, .ad-notice, .pp-consent) {
  background: rgba(89, 204, 128, 0.04);
  border: 1px solid rgba(89, 204, 128, 0.12);
  border-radius: 12px;
  padding: 18px 22px;
  margin-top: 20px;
}
:is(.tc-notice-text, .ad-notice-text, .pp-consent-text) {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.7;
  margin: 0;
}
/* ===== WARNING / IMPORTANT ===== */
.tc-warning {
  background: rgba(245, 166, 35, 0.05);
  border: 1px solid rgba(245, 166, 35, 0.15);
  border-radius: 12px;
  padding: 18px 22px;
  margin-top: 16px;
  margin-bottom: 16px;
}
.tc-warning-text {
  font-size: 13px;
  font-weight: 400;
  color: rgba(245, 166, 35, 0.7);
  line-height: 1.7;
  margin: 0;
}
/* ===== CONTACT CARD ===== */
:is(.tc-contact, .ad-contact, .pp-contact) {
  background: #0c0c0c;
  border: 1px solid #1a1a1a;
  border-radius: 20px;
  padding: 40px 32px;
  text-align: center;
  margin-top: 56px;
}
:is(.tc-contact-icon, .ad-contact-icon, .pp-contact-icon) {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(89, 204, 128, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
:is(.tc-contact-icon, .ad-contact-icon, .pp-contact-icon) svg {
  width: 22px;
  height: 22px;
  stroke: #59CC80;
}
:is(.tc-contact-title, .ad-contact-title, .pp-contact-title) {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px 0;
}
:is(.tc-contact-text, .ad-contact-text, .pp-contact-text) {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.45);
  margin: 0 auto 24px;
  line-height: 1.6;
  max-width: 525px;
}
:is(.tc-contact-btn, .ad-contact-btn, .pp-contact-btn) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  border-radius: 999px;
  background: #59CC80;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}
:is(.tc-contact-btn, .ad-contact-btn, .pp-contact-btn):hover {
  background: #4BBD72;
  transform: translateY(-1px);
}
:is(.tc-contact-btn, .ad-contact-btn, .pp-contact-btn) .arrow {
  transition: transform 0.2s;
}
:is(.tc-contact-btn, .ad-contact-btn, .pp-contact-btn):hover .arrow {
  transform: translateX(3px);
}
:is(.tc-footer-note, .ad-footer-note, .pp-footer-note) {
  text-align: center;
  margin-top: 32px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.25);
  line-height: 1.6;
}
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  :is(.tc-wrapper, .ad-wrapper, .pp-wrapper) {
    padding: 0 20px 60px;
  }
  :is(.tc-header, .ad-header, .pp-header) {
    padding: 40px 0 36px;
    margin-bottom: 36px;
  }
  :is(.tc-section, .ad-section, .pp-section) {
    margin-bottom: 40px;
  }
  :is(.tc-card, .ad-card, .pp-card) {
    padding: 18px 20px;
  }
  :is(.tc-contact, .ad-contact, .pp-contact) {
    padding: 28px 20px;
  }
  :is(.tc-section-title, .ad-section-title, .pp-section-title) {
    font-size: 20px;
  }
}
@media (max-width: 480px) {
  :is(.tc-wrapper, .ad-wrapper, .pp-wrapper) {
    padding: 0 15px 40px;
  }
  :is(.tc-header, .ad-header, .pp-header) {
    padding: 30px 0 28px;
    margin-bottom: 28px;
  }
  :is(.tc-section-head, .ad-section-head, .pp-section-head) {
    gap: 10px;
  }
  :is(.tc-section-icon, .ad-section-icon, .pp-section-icon) {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  :is(.tc-section-icon, .ad-section-icon, .pp-section-icon) svg {
    width: 15px;
    height: 15px;
  }
  :is(.tc-section-title, .ad-section-title, .pp-section-title) {
    font-size: 18px;
  }
}

/* ===== DISCLAIMER BOX ===== */
.ad-disclaimer {
  background: rgba(245, 166, 35, 0.05);
  border: 1px solid rgba(245, 166, 35, 0.15);
  border-radius: 12px;
  padding: 22px 24px;
  margin-top: 16px;
  margin-bottom: 16px;
}
.ad-disclaimer-label {
  font-size: 11px;
  font-weight: 700;
  color: rgba(245, 166, 35, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px 0;
}
.ad-disclaimer-text {
  font-size: 14px;
  font-weight: 400;
  color: rgba(245, 166, 35, 0.65);
  line-height: 1.7;
  margin: 0;
  font-style: italic;
}

