/* ==========================================================================
   POLICY.CSS — Cultura Golf
   Shared styling for ALL legal / policy pages:
   Privacy Policy · Terms of Use · Cookies Policy · Accessibility Policy ·
   California Privacy Act (CCPA / CPRA) Privacy Policy.
   Enqueued for each policy page (all their Page IDs map to 'policy').
   ========================================================================== */

/* ------------------------------- Header -------------------------------- */
.cg-policy-hero {
  background: radial-gradient(
    125% 130% at 50% 0%,
    var(--cg-forest-light) 0%,
    var(--cg-forest-dark) 58%,
    var(--cg-midnight) 100%
  );
  color: var(--cg-on-dark);
  text-align: center;
  padding-block: clamp(60px, 9vw, 108px);
}
.cg-policy-hero .cg-eyebrow {
  color: var(--cg-gold-light);
}
.cg-policy-hero__title {
  color: var(--cg-on-dark);
  font-size: clamp(36px, 5.5vw, 58px);
  line-height: 1.08;
  margin-bottom: 14px;
}
.cg-policy-hero__date {
  font-family: var(--cg-font-mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--cg-gold-light);
}

/* ------------------------------ Document ------------------------------- */
.cg-policy {
  background: var(--cg-parchment);
}
.cg-policy__inner {
  max-width: 900px;
  margin: 0 auto;
}
.cg-policy__body {
  background: var(--cg-surface);
  border: 1px solid var(--cg-edge);
  border-top: 3px solid var(--cg-gold);
  border-radius: var(--cg-radius);
  padding: clamp(28px, 5vw, 60px);
  box-shadow: 0 16px 44px rgba(27, 46, 29, 0.1);
}

/* First element flush to the top of the card */
.cg-policy__body > *:first-child {
  margin-top: 0;
}

.cg-policy__body h2 {
  font-family: var(--cg-font-display);
  font-size: clamp(23px, 3vw, 30px);
  font-weight: 600;
  color: var(--cg-forest);
  line-height: 1.2;
  margin-top: 42px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--cg-edge);
}
.cg-policy__body h3 {
  font-family: var(--cg-font-display);
  font-size: clamp(18px, 2.2vw, 21px);
  font-weight: 600;
  color: var(--cg-ink);
  margin-top: 28px;
  margin-bottom: 10px;
}
.cg-policy__body p {
  font-size: 15.5px;
  line-height: 1.85;
  color: var(--cg-stone);
  margin-bottom: 16px;
}
.cg-policy__body ul {
  margin: 0 0 20px;
  padding: 0;
}
.cg-policy__body li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 9px;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--cg-stone);
}
.cg-policy__body li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 10px;
  width: 6px;
  height: 6px;
  background: var(--cg-gold);
  border-radius: 50%;
}
.cg-policy__body a {
  color: var(--cg-blue-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
}
.cg-policy__body a:hover {
  color: var(--cg-blue);
}
.cg-policy__body strong {
  color: var(--cg-ink);
  font-weight: 600;
}

/* Tables (e.g. Cookies Policy tools list) */
.cg-policy__table-wrap {
  overflow-x: auto;
  margin: 0 0 22px;
}
.cg-policy__body table {
  width: 100%;
  min-width: 460px;
  border-collapse: collapse;
  font-size: 14.5px;
}
.cg-policy__body th,
.cg-policy__body td {
  text-align: left;
  padding: 12px 16px;
  border: 1px solid var(--cg-edge);
  line-height: 1.6;
  color: var(--cg-stone);
  vertical-align: top;
}
.cg-policy__body thead th {
  background: var(--cg-ivory);
  font-family: var(--cg-font-mono);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--cg-gold-deep);
}
.cg-policy__body tbody tr:nth-child(even) {
  background: var(--cg-parchment);
}

/* Embed slot inside a policy (e.g. cookie-settings shortcode) */
.cg-policy__body .cg-form-embed {
  min-height: 120px;
  margin-bottom: 22px;
}

/* Contact / address block at the foot of each policy */
.cg-policy__contact {
  margin-top: 6px;
  padding: 22px 26px;
  background: var(--cg-surface-warm, var(--cg-ivory));
  border: 1px solid var(--cg-edge);
  border-left: 3px solid var(--cg-gold);
  border-radius: var(--cg-radius);
  font-size: 15px;
  line-height: 1.85;
  color: var(--cg-stone);
}
.cg-policy__contact strong {
  display: inline-block;
}
/* Email / phone links in the contact block read black, not the blue link color */
.cg-policy__contact a {
  color: var(--cg-ink);
}
.cg-policy__contact a:hover {
  color: var(--cg-gold-deep);
}
