/* Default page — Privacy Policy, Terms, and anything else written straight
 * into the block editor rather than built from a page's own meta fields.
 * page.php prints the shared page-hero band, then this wraps the admin's own
 * markup in the same .container width as every other page section, with
 * typography for every element the editor can actually produce (headings,
 * lists, quotes, tables, images).
 */

.page-content { padding: 60px 0 100px; }

.page-content__entry {
    font-size:   16px;
    line-height: 1.7;
    color:       var(--color-text);
}

/* ── Headings ───────────────────────────────────────────────────────────── */
/* The site-wide h1–h4 rules are sized for hero bands and card titles, not a
   run of body copy — a "1. Acceptance of Terms" line does not need to be
   64px. Scoped down to something a document actually reads well at. */
.page-content__entry h1,
.page-content__entry h2,
.page-content__entry h3,
.page-content__entry h4,
.page-content__entry h5,
.page-content__entry h6,
/* Gutenberg tags every heading block .wp-block-heading alongside its real
   hN tag — selecting both covers block-built content the same as classic. */
.page-content__entry .wp-block-heading {
    margin:      40px 0 16px;
    font-weight: 600;
    line-height: 1.3;
}
.page-content__entry > :first-child { margin-top: 0; }

.page-content__entry h1 { font-size: 34px; }
.page-content__entry h2 { font-size: 28px; }
.page-content__entry h3 { font-size: 22px; }
.page-content__entry h4 { font-size: 18px; }
.page-content__entry h5,
.page-content__entry h6 {
    font-size:      15px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* ── Text ───────────────────────────────────────────────────────────────── */
.page-content__entry p {
    margin: 0 0 20px;
}
.page-content__entry strong,
.page-content__entry b { font-weight: 700; }

.page-content__entry a {
    color:           var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.page-content__entry a:hover { color: var(--color-primary-dark); }

.page-content__entry hr {
    margin: 40px 0;
    border: none;
    border-top: 1px solid var(--color-border-light);
}

/* ── Lists ──────────────────────────────────────────────────────────────── */
.page-content__entry ul,
.page-content__entry ol {
    margin:  0 0 20px;
    padding-left: 22px;
}
.page-content__entry li { margin-bottom: 8px; }
.page-content__entry li > ul,
.page-content__entry li > ol { margin: 8px 0 0; }

.page-content__entry ul { list-style: disc; }
.page-content__entry ul ul { list-style: circle; }
.page-content__entry ul::marker,
.page-content__entry li::marker { color: var(--color-primary); }

/* ── Quotes ─────────────────────────────────────────────────────────────── */
.page-content__entry blockquote {
    margin:       24px 0;
    padding:      4px 0 4px 20px;
    border-left:  3px solid var(--color-primary);
    font-size:    18px;
    font-style:   italic;
    color:        #3b3d42;
}
.page-content__entry blockquote p:last-child { margin-bottom: 0; }

/* ── Images ─────────────────────────────────────────────────────────────── */
.page-content__entry img {
    display:       block;
    max-width:     100%;
    height:        auto;
    margin:        24px 0;
    border-radius: var(--radius-img);
}
.page-content__entry .aligncenter { margin-left: auto; margin-right: auto; }
.page-content__entry figcaption {
    margin-top:  -12px;
    margin-bottom: 24px;
    font-size:   13px;
    text-align:  center;
    color:       var(--color-muted);
}

/* ── Tables ─────────────────────────────────────────────────────────────── */
.page-content__entry table {
    width:           100%;
    margin:          0 0 24px;
    border:          1px solid var(--color-border-light);
    border-collapse: collapse;
    border-radius:   var(--radius-box);
    overflow:        hidden;
    font-size:       15px;
}
.page-content__entry th,
.page-content__entry td {
    padding:       12px 16px;
    border-bottom: 1px solid var(--color-border-light);
    text-align:    left;
}
.page-content__entry th {
    background:  var(--color-bg-alt);
    font-weight: 600;
}
.page-content__entry tr:last-child td { border-bottom: none; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.page-content__entry .wp-block-button {
    margin: 0 0 20px;
}
.page-content__entry .wp-block-buttons {
    display:  flex;
    flex-wrap: wrap;
    gap:      12px;
    margin:   0 0 20px;
}
.page-content__entry .wp-block-buttons .wp-block-button { margin-bottom: 0; }
.page-content__entry .wp-block-button__link {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    height:          50px;
    padding:         0 28px;
    border-radius:   var(--radius-pill);
    background:      linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    font-family:     var(--font-body);
    font-size:       15px;
    font-weight:     600;
    color:           #ffffff;
    text-decoration: none;
}
.page-content__entry .wp-block-button__link:hover { background: var(--color-primary-dark); }
/* An admin-picked "Outline" style keeps its own transparent look */
.page-content__entry .wp-block-button.is-style-outline .wp-block-button__link {
    background: none;
    border:     2px solid var(--color-primary);
    color:      var(--color-primary);
}

/* ── Columns / Group / Cover ────────────────────────────────────────────── */
.page-content__entry .wp-block-columns {
    display: flex;
    flex-wrap: wrap;
    gap:     32px;
    margin-bottom: 20px;
}
.page-content__entry .wp-block-column { flex: 1 1 0; min-width: 0; }
.page-content__entry .wp-block-column > :last-child { margin-bottom: 0; }

.page-content__entry .wp-block-group,
.page-content__entry .wp-block-cover {
    margin-bottom: 20px;
    padding:       32px;
    border-radius: var(--radius);
}
.page-content__entry .wp-block-group { background: var(--color-bg-alt); }
.page-content__entry .wp-block-cover {
    display:         flex;
    align-items:     center;
    justify-content: center;
    min-height:      280px;
    background-size: cover;
    background-position: center;
    color:           #ffffff;
    text-align:      center;
}
.page-content__entry .wp-block-cover > * { position: relative; }
.page-content__entry .wp-block-cover::before {
    content:    '';
    position:   absolute;
    inset:      0;
    background: rgba(0, 0, 0, 0.35);
}
.page-content__entry .wp-block-group > :last-child,
.page-content__entry .wp-block-cover > :last-child { margin-bottom: 0; }

/* alignwide/alignfull themselves are handled globally (css/reset.css) — this
   entry is now the same width as .container, so there's nothing left for
   either to break out of here. */

/* ── Gallery ────────────────────────────────────────────────────────────── */
.page-content__entry .wp-block-gallery {
    display:               grid;
    grid-template-columns: repeat(var(--wp--custom--gallery-columns, 3), minmax(0, 1fr));
    gap:                   16px;
    margin:                0 0 20px;
    padding:               0;
    list-style:            none;
}
.page-content__entry .wp-block-gallery .wp-block-image { margin: 0; }
.page-content__entry .wp-block-gallery img { margin: 0; }

/* ── Embeds (YouTube, Vimeo…) ───────────────────────────────────────────── */
.page-content__entry .wp-block-embed { margin: 0 0 20px; }
.page-content__entry .wp-block-embed__wrapper {
    position:      relative;
    aspect-ratio:  16 / 9;
    border-radius: var(--radius-img);
    overflow:      hidden;
}
.page-content__entry .wp-block-embed__wrapper iframe {
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
}
.page-content__entry .wp-block-embed figcaption { margin-top: 8px; }

/* ── Code ───────────────────────────────────────────────────────────────── */
.page-content__entry code {
    padding:       2px 6px;
    border-radius: 4px;
    background:    var(--color-bg-alt);
    font-size:     0.9em;
}
.page-content__entry .wp-block-code,
.page-content__entry pre {
    margin:        0 0 20px;
    padding:       16px 20px;
    border-radius: var(--radius-box);
    background:    var(--color-bg-alt);
    overflow-x:    auto;
}
.page-content__entry .wp-block-code code,
.page-content__entry pre code {
    padding:    0;
    background: none;
}

/* ── Separator ──────────────────────────────────────────────────────────── */
.page-content__entry .wp-block-separator {
    margin:     40px 0;
    border:     none;
    border-top: 1px solid var(--color-border-light);
}
.page-content__entry .wp-block-separator.is-style-dots {
    border-top: none;
    text-align: center;
}
.page-content__entry .wp-block-separator.is-style-dots::before {
    content:   '\00b7\00b7\00b7';
    font-size: 24px;
    letter-spacing: 8px;
    color:     var(--color-primary);
}

/* ── Pullquote ──────────────────────────────────────────────────────────── */
.page-content__entry .wp-block-pullquote {
    margin:      32px 0;
    padding:     32px 0;
    border-top:  2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    text-align:  center;
}
.page-content__entry .wp-block-pullquote p {
    font-size:   22px;
    font-style:  italic;
    line-height: 1.4;
}
.page-content__entry .wp-block-pullquote cite {
    display:     block;
    margin-top:  12px;
    font-size:   14px;
    font-style:  normal;
    color:       var(--color-muted);
}

/* wp_link_pages(), for content split across multiple pages in the editor */
.page-content__entry .page-links {
    margin-top:  32px;
    font-size:   14px;
    font-weight: 600;
}
.page-content__entry .page-links a {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       32px;
    height:          32px;
    margin-left:     8px;
    padding:         0 8px;
    border-radius:   var(--radius-box);
    background:      var(--color-bg-alt);
    text-decoration: none;
}
.page-content__entry .page-links a:hover { background: var(--color-pink-50); }

/* ── Tablet ─────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .page-content { padding: 40px 0 70px; }
    .page-content__entry h1 { font-size: 28px; }
    .page-content__entry h2 { font-size: 24px; }
    .page-content__entry h3 { font-size: 20px; }
}

/* ── Mobile ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .page-content { padding: 32px 0 50px; }
    .page-content__entry { font-size: 15px; }
    .page-content__entry h1 { font-size: 24px; }
    .page-content__entry h2 { font-size: 21px; }
    .page-content__entry h3 { font-size: 18px; }
    .page-content__entry blockquote { padding-left: 16px; font-size: 16px; }

    .page-content__entry .wp-block-columns { flex-direction: column; gap: 20px; }
    .page-content__entry .wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-content__entry .wp-block-group,
    .page-content__entry .wp-block-cover { padding: 24px; }
    .page-content__entry .wp-block-pullquote p { font-size: 19px; }
}
