:root {
    --jr-alp-ink: #2d2926;
    --jr-alp-muted: #6e665f;
    --jr-alp-accent: #c88f39;
    --jr-alp-accent-deep: #a86f24;
    --jr-alp-line: rgba(174, 126, 55, .30);
    --jr-alp-cream: #fffdfa;
    --jr-alp-soft: #fbf4e8;
}

/* -------------------------------------------------------------------------
   Shared JustReminisce redesign shell
   Dimensional master: Invited Memories Redesign v1.0.5.
   Keep Kadence's native constraint on #primary/.content-container; the shared
   width is established at #main and the inner entry-content-wrap.
   ------------------------------------------------------------------------- */

body.jr-alp-page .content-bg,
body.jr-alp-page article.page,
body.jr-alp-page .site-main > article {
    background: transparent !important;
    box-shadow: none !important;
}

body.jr-alp-page #primary.content-area,
body.jr-alp-page .content-container.site-container {
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.jr-alp-page #main.site-main {
    box-sizing: border-box !important;
    width: calc(100% - 48px) !important;
    max-width: none !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.jr-alp-page #main.site-main > .content-wrap,
body.jr-alp-page #main.site-main .content-wrap > article,
body.jr-alp-page article.single-entry,
body.jr-alp-page .entry-content-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

body.jr-alp-page .entry-content-wrap {
    margin: 76px auto 92px !important;
    padding: 40px 32px 46px !important;
    background:
        linear-gradient(rgba(255,253,249,.968), rgba(255,253,249,.968)),
        repeating-linear-gradient(
            0deg,
            rgba(112,83,56,.018) 0,
            rgba(112,83,56,.018) 1px,
            transparent 1px,
            transparent 4px
        ) !important;
    border: 1px solid rgba(221,208,190,.76) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 48px rgba(55,39,24,.10) !important;
}

body.jr-alp-page .entry-content.single-content,
body.jr-alp-page .jr-alp-redesign-root {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.jr-alp-page .entry-content.single-content > *,
body.jr-alp-page .jr-alp-redesign-root > * {
    box-sizing: border-box;
}

/* Remove the old Kadence/theme page-title hero. The replacement header below
   lives inside the confirmed shared inner content area. */
body.jr-alp-page .entry-hero.page-hero-section,
body.jr-alp-page .page-hero-section.entry-hero,
body.jr-alp-page .entry-content-wrap > .entry-header {
    display: none !important;
}

/* Confirmed shared title/header card. */
.jr-alp-page-hero {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0 0 22px;
    padding: 46px 28px 34px;
    text-align: center;
    background: var(--jr-card, #fffdfa);
    border: 1px solid rgba(118,90,65,.15);
    border-radius: var(--jr-radius-card, 24px);
    box-shadow: 0 9px 24px rgba(58,42,30,.055);
}

.jr-alp-page-hero-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(42px, 4.4vw, 58px) !important;
    font-weight: 700 !important;
    line-height: 1.04 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
    color: var(--jr-heading, #513b2f) !important;
    text-align: center !important;
}

.jr-alp-page-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    width: min(250px, 56%);
    margin: 22px auto 18px;
    color: rgba(201,125,83,.68);
}

.jr-alp-page-divider::before,
.jr-alp-page-divider::after {
    content: "";
    display: block;
    flex: 1 1 auto;
    height: 1px;
    background: currentColor;
}

.jr-alp-page-divider span {
    display: block;
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1;
    color: #c6a054;
}

.jr-alp-page-subtitle {
    width: min(720px, 100%);
    max-width: none;
    margin: 0 auto !important;
    color: #67615c !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

/* Existing page-specific cards remain their own designs. Their external
   top/bottom margins are removed only because the shared shell now supplies
   the page spacing and the header's 22px separation. */
.jr-alp-redesign-root > .jr-about-card,
.jr-alp-redesign-root > .jr-legal-card {
    margin-top: 0;
    margin-bottom: 0;
}

body.jr-alp-page .jr-report-button,
body.jr-alp-page #jr-report-button,
body.jr-alp-page .jr-report-page-button,
body.jr-alp-page .report-page-button,
body.jr-alp-page [class*="report-this-page"] {
    display: none !important;
}

.jr-about-card,
.jr-legal-card {
    width: min(100%, 1080px);
    margin: 34px auto 54px;
    padding: clamp(30px, 5vw, 66px);
    background: rgba(255, 253, 250, .97);
    border: 1px solid rgba(150, 112, 59, .16);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(84, 60, 33, .08);
    color: var(--jr-alp-ink);
    box-sizing: border-box;
}

.jr-about-card h2,
.jr-about-card h3,
.jr-legal-card h2,
.jr-legal-card h3,
.jr-legal-card h4 {
    color: var(--jr-alp-ink);
    letter-spacing: -.015em;
}

.jr-about-card p,
.jr-legal-card p,
.jr-legal-card li {
    color: #4d4741;
    line-height: 1.72;
}

.jr-icon,
.jr-icon svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.jr-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.jr-about-intro {
    padding-bottom: 34px;
    border-bottom: 1px solid var(--jr-alp-line);
}

.jr-about-book-icon {
    width: 92px;
    height: 92px;
    color: var(--jr-alp-accent);
    margin-bottom: 16px;
}

.jr-about-intro h2 {
    margin: 0 0 15px;
    font-size: clamp(31px, 4.3vw, 52px);
    line-height: 1.13;
}

.jr-about-lead p {
    max-width: 820px;
    margin: 0;
    font-size: clamp(17px, 1.65vw, 21px);
}

.jr-about-sections {
    margin-top: 8px;
}

.jr-about-section {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    padding: 35px 0;
    border-bottom: 1px solid var(--jr-alp-line);
}

.jr-about-section:last-child {
    border-bottom: 0;
}

.jr-about-section-icon {
    width: 116px;
    height: 116px;
    padding: 29px;
    border-radius: 999px;
    color: var(--jr-alp-accent);
    background: var(--jr-alp-soft);
    box-sizing: border-box;
}

.jr-about-section-copy h3 {
    margin: 0 0 8px;
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.2;
}

.jr-about-section-copy p {
    margin: 0;
    font-size: clamp(16px, 1.4vw, 19px);
}

.jr-about-closing {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-top: 28px;
    padding: 22px 26px;
    border: 1px solid var(--jr-alp-line);
    border-radius: 15px;
    background: linear-gradient(135deg, #fffaf1, #fffdf9);
}

.jr-about-closing-icon {
    width: 50px;
    height: 50px;
    color: var(--jr-alp-accent);
}

.jr-about-closing strong {
    display: block;
    margin-bottom: 3px;
    font-size: 20px;
}

.jr-about-closing p {
    margin: 0;
}

.jr-about-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.jr-about-links a {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    border: 2px solid var(--jr-alp-accent);
    border-radius: 999px;
    color: var(--jr-alp-ink);
    background: #fffdfa;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.jr-about-links a:hover,
.jr-about-links a:focus-visible {
    transform: translateY(-2px);
    background: var(--jr-alp-accent);
    color: #fff;
}

.jr-about-links .jr-icon {
    width: 25px;
    height: 25px;
    color: var(--jr-alp-accent);
}

.jr-about-links a:hover .jr-icon,
.jr-about-links a:focus-visible .jr-icon {
    color: #fff;
}

.jr-legal-card {
    width: min(100%, 980px);
}

.jr-legal-header {
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(45, 41, 38, .13);
}

.jr-legal-header h2 {
    margin: 0 0 10px;
    font-size: clamp(29px, 3.6vw, 44px);
    line-height: 1.18;
}

.jr-legal-updated {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 19px;
    color: var(--jr-alp-muted);
    font-size: 15px;
}

.jr-legal-updated .jr-icon {
    width: 21px;
    height: 21px;
}

.jr-legal-intro {
    max-width: 760px;
    margin: 0 0 22px;
    font-size: 17px;
}

.jr-legal-toc {
    border: 1px solid rgba(45, 41, 38, .16);
    border-radius: 12px;
    background: #fffefa;
}

.jr-legal-toc summary {
    position: relative;
    padding: 16px 48px 16px 20px;
    cursor: pointer;
    color: var(--jr-alp-ink);
    font-size: 17px;
    font-weight: 700;
    list-style: none;
}

.jr-legal-toc summary::-webkit-details-marker {
    display: none;
}

.jr-legal-toc summary::after {
    content: '⌄';
    position: absolute;
    top: 12px;
    right: 20px;
    font-size: 24px;
    transition: transform .2s ease;
}

.jr-legal-toc[open] summary::after {
    transform: rotate(180deg);
}

.jr-legal-toc ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 30px;
    margin: 0;
    padding: 0 20px 20px;
    list-style: none;
}

.jr-legal-toc li {
    min-width: 0;
    margin: 0;
    color: var(--jr-alp-accent-deep);
}

.jr-legal-toc a {
    display: block;
    color: var(--jr-alp-accent-deep);
    line-height: 1.42;
    text-decoration: none;
    text-wrap: pretty;
}

.jr-legal-toc a:hover,
.jr-legal-toc a:focus-visible {
    text-decoration: underline;
}

.jr-legal-content {
    padding-top: 8px;
}

.jr-legal-content h2 {
    scroll-margin-top: 120px;
    margin: 30px 0 8px;
    padding-top: 22px;
    border-top: 1px solid rgba(45, 41, 38, .13);
    font-size: clamp(24px, 2.8vw, 32px);
    line-height: 1.25;
}

.jr-legal-content > h2:first-child {
    border-top: 0;
    padding-top: 0;
}

.jr-legal-content h3 {
    margin: 22px 0 6px;
    font-size: clamp(19px, 2vw, 24px);
}

.jr-legal-content h4 {
    margin: 18px 0 5px;
    font-size: 18px;
}

.jr-legal-content p,
.jr-legal-content li {
    font-size: clamp(15.5px, 1.35vw, 17px);
}

.jr-legal-content ul,
.jr-legal-content ol {
    margin-top: 8px;
    margin-bottom: 18px;
    padding-left: 1.45em;
}

.jr-legal-content a {
    color: var(--jr-alp-accent-deep);
    text-underline-offset: 3px;
}

.jr-legal-content blockquote {
    margin: 22px 0;
    padding: 18px 20px;
    border-left: 4px solid var(--jr-alp-accent);
    border-radius: 0 10px 10px 0;
    background: var(--jr-alp-soft);
}

.jr-legal-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.jr-legal-content th,
.jr-legal-content td {
    padding: 12px;
    border: 1px solid rgba(45, 41, 38, .16);
    text-align: left;
}


/* Compact desktop scale: retains the original mobile layout while making the
   About page feel less oversized on laptops and desktop displays. */
@media (min-width: 900px) {
    .jr-about-card {
        width: min(100%, 980px);
        padding: 48px;
    }

    .jr-about-intro {
        padding-bottom: 27px;
    }

    .jr-about-book-icon {
        width: 76px;
        height: 76px;
        margin-bottom: 12px;
    }

    .jr-about-intro h2 {
        margin-bottom: 12px;
        font-size: clamp(31px, 3.25vw, 44px);
    }

    .jr-about-lead p {
        max-width: 780px;
        font-size: clamp(17px, 1.3vw, 19px);
        line-height: 1.65;
    }

    .jr-about-section {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 26px;
        padding: 27px 0;
    }

    .jr-about-section-icon {
        width: 92px;
        height: 92px;
        padding: 23px;
    }

    .jr-about-section-copy h3 {
        margin-bottom: 7px;
        font-size: clamp(26px, 2.25vw, 32px);
    }

    .jr-about-section-copy p {
        font-size: clamp(16px, 1.15vw, 18px);
        line-height: 1.65;
    }

    .jr-about-closing {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 16px;
        margin-top: 22px;
        padding: 18px 22px;
    }

    .jr-about-closing-icon {
        width: 42px;
        height: 42px;
    }

    .jr-about-closing strong {
        font-size: 18px;
    }

    .jr-about-closing p {
        line-height: 1.55;
    }

    .jr-about-links {
        gap: 14px;
        margin-top: 22px;
    }

    .jr-about-links a {
        min-height: 52px;
        padding: 10px 15px;
    }

    .jr-about-links .jr-icon {
        width: 22px;
        height: 22px;
    }
}


@media (max-width: 1024px) {
    body.jr-alp-page #main.site-main {
        width: calc(100% - 32px) !important;
    }

    body.jr-alp-page .entry-content-wrap {
        margin: 48px auto 64px !important;
        padding: 28px 20px 34px !important;
    }

    .jr-alp-page-hero {
        padding: 40px 24px 32px;
    }

    .jr-alp-page-hero-title {
        font-size: clamp(40px, 6vw, 52px) !important;
    }
}

@media (max-width: 760px) {
    body.jr-alp-page #main.site-main {
        width: calc(100% - 24px) !important;
    }

    body.jr-alp-page .entry-content-wrap {
        margin: 28px auto 44px !important;
        padding: 18px 14px 24px !important;
        border-radius: 18px !important;
    }

    .jr-alp-page-hero {
        margin-bottom: 18px;
        padding: 30px 18px 26px;
        border-radius: 18px;
    }

    .jr-alp-page-hero-title {
        font-size: clamp(34px, 10vw, 44px) !important;
        line-height: 1.06 !important;
    }

    .jr-alp-page-divider {
        width: min(220px, 68%);
        margin: 17px auto 14px;
    }

    .jr-alp-page-subtitle {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .jr-about-card,
    .jr-legal-card {
        width: calc(100% - 28px);
        margin: 0 auto;
        padding: 28px 22px;
        border-radius: 16px;
    }

    .jr-about-book-icon {
        width: 72px;
        height: 72px;
    }

    .jr-about-section {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 18px;
        padding: 28px 0;
        align-items: start;
    }

    .jr-about-section-icon {
        width: 72px;
        height: 72px;
        padding: 18px;
    }

    .jr-about-closing {
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 18px;
    }

    .jr-about-closing-icon {
        width: 38px;
        height: 38px;
    }

    .jr-about-links {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .jr-about-links a {
        min-height: 54px;
    }

    .jr-legal-toc ul {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .jr-about-card,
    .jr-legal-card {
        width: calc(100% - 24px);
        padding: 25px 18px;
    }

    .jr-about-section {
        grid-template-columns: 1fr;
    }

    .jr-about-section-icon {
        width: 66px;
        height: 66px;
    }

    .jr-legal-header h2 span[aria-hidden="true"] {
        display: none;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.1 compatibility cleanup
   The five legacy responsive/layout helpers previously consolidated into the
   Unified plugin contained outer-wrapper width rules that conflict with the
   confirmed Invited Memories v1.0.5 shell. Those outer rules are intentionally
   not carried forward. Only safe, page-content overflow guards remain here.
   ------------------------------------------------------------------------- */

/* Remove Kadence's native page-title/hero layer on all four assigned pages,
   including alternate Kadence wrapper variants. */
body.jr-alp-page .entry-hero,
body.jr-alp-page .entry-hero-container,
body.jr-alp-page .entry-hero-container-inner,
body.jr-alp-page .page-hero-section,
body.jr-alp-page .page-title,
body.jr-alp-page .entry-header.entry-hero-container-inner {
    display: none !important;
}

/* Preserve the legacy helpers' useful intent without changing the shared
   shell: Kadence blocks inside legal content may shrink, but may not pull
   outside the legal card. */
body.jr-alp-legal-page .jr-legal-content,
body.jr-alp-legal-page .jr-legal-content * {
    box-sizing: border-box;
}

body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-rowlayout.alignwide,
body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-rowlayout.alignfull,
body.jr-alp-legal-page .jr-legal-content .kt-row-column-wrap,
body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-column,
body.jr-alp-legal-page .jr-legal-content .kt-inside-inner-col {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-rowlayout.alignwide,
body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-rowlayout.alignfull {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 1024px) {
    body.jr-alp-legal-page .jr-legal-content .kt-row-column-wrap,
    body.jr-alp-legal-page .jr-legal-content .wp-block-kadence-column,
    body.jr-alp-legal-page .jr-legal-content .kt-inside-inner-col {
        width: 100% !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.2 — About page mobile shell centring
   Keep the existing card design, but remove Kadence/container offsets that
   can leave a visibly wider strip on one side of the mobile page.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-alp-about-page {
        overflow-x: clip !important;
    }

    body.jr-alp-about-page .content-container.site-container,
    body.jr-alp-about-page #primary.content-area {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-about-page #main.site-main {
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-about-page #main.site-main > .content-wrap,
    body.jr-alp-about-page #main.site-main .content-wrap > article,
    body.jr-alp-about-page article.single-entry,
    body.jr-alp-about-page .entry-content-wrap,
    body.jr-alp-about-page .entry-content.single-content,
    body.jr-alp-about-page .jr-alp-redesign-root {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-about-page .jr-about-card {
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.3 — exact About-page mobile wrapper fix
   DevTools confirmed the uneven layer is Kadence's .content-wrap /
   .entry-content-wrap shell. On mobile, remove the nested theme width
   constraint and rebuild one centred shell with equal left/right spacing.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {

    body.jr-alp-about-page #primary.content-area,
    body.jr-alp-about-page .content-container.site-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-about-page #main.site-main {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 18px !important;
    }

    body.jr-alp-about-page #main.site-main > .content-wrap {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    body.jr-alp-about-page #main.site-main > .content-wrap > article,
    body.jr-alp-about-page article.single-entry {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-about-page .entry-content-wrap {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 28px 0 44px !important;
        padding: 18px 14px 24px !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-about-page .entry-content.single-content,
    body.jr-alp-about-page .jr-alp-redesign-root {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Keep the designed About card centred inside the corrected shell. */
    body.jr-alp-about-page .jr-about-card {
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.4 — About page mobile alignment
   Centre the About-page intro and section content/icons on mobile only.
   This affects "A place to remember, log and relive", "Our Mission",
   "Our Vision" and the other matching About-page content sections.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {

    body.jr-alp-about-page .jr-about-intro {
        text-align: center !important;
    }

    body.jr-alp-about-page .jr-about-book-icon {
        display: flex !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.jr-alp-about-page .jr-about-intro h2,
    body.jr-alp-about-page .jr-about-lead,
    body.jr-alp-about-page .jr-about-lead p {
        text-align: center !important;
    }

    body.jr-alp-about-page .jr-about-lead p {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.jr-alp-about-page .jr-about-section {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        justify-items: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    body.jr-alp-about-page .jr-about-section-icon {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.jr-alp-about-page .jr-about-section-copy,
    body.jr-alp-about-page .jr-about-section-copy h3,
    body.jr-alp-about-page .jr-about-section-copy p {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.5 — legal-page mobile wrapper alignment
   Apply the same confirmed Kadence shell correction used on the About page
   to Privacy Policy, Terms & Conditions, Community Rules and the other
   unified legal pages.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {

    body.jr-alp-legal-page #primary.content-area,
    body.jr-alp-legal-page .content-container.site-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-legal-page #main.site-main {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 18px !important;
    }

    body.jr-alp-legal-page #main.site-main > .content-wrap {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    body.jr-alp-legal-page #main.site-main > .content-wrap > article,
    body.jr-alp-legal-page article.single-entry {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-legal-page .entry-content-wrap {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 28px 0 44px !important;
        padding: 18px 14px 24px !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-legal-page .entry-content.single-content,
    body.jr-alp-legal-page .jr-alp-redesign-root {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-legal-page .jr-legal-card {
        box-sizing: border-box !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.6 — Contact Us mobile hero removal
   Keep the redesigned Contact page itself intact, but remove Kadence's
   large theme hero/banner on phones so the Contact card starts beneath the
   normal JustReminisce header.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-alp-contact-page .entry-hero.page-hero-section,
    body.jr-alp-contact-page .page-hero-section.entry-hero,
    body.jr-alp-contact-page section.entry-hero {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.7 — Contact Us mobile spacing after hero removal
   Add a deliberate breathing gap between the site header and the redesigned
   Contact page container now that the old theme hero has been removed.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-alp-contact-page #main.site-main {
        padding-top: 22px !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.8 — Contact Us mobile gap, exact Kadence wrapper
   v1.0.7 used padding on #main, but the visible Contact shell is the nested
   Kadence .content-wrap / .entry-content-wrap. Move that shell itself down.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {

    body.jr-alp-contact-page #main.site-main {
        padding-top: 0 !important;
    }

    body.jr-alp-contact-page #main.site-main > .content-wrap {
        box-sizing: border-box !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
    }

    body.jr-alp-contact-page #main.site-main > .content-wrap > article,
    body.jr-alp-contact-page article.single-entry {
        margin-top: 0 !important;
    }

    body.jr-alp-contact-page .entry-content-wrap {
        margin-top: 0 !important;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.9 — legal-page mobile edge alignment
   Match the confirmed mobile shell used by the other redesigned pages.
   Remove redundant Kadence backing widths and let the legal content card use
   the full inner paper width so the left/right edges stay visually even.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {

    body.jr-alp-legal-page #primary.content-area,
    body.jr-alp-legal-page .content-container.site-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.jr-alp-legal-page #main.site-main {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 18px !important;
    }

    body.jr-alp-legal-page #main.site-main > .content-wrap,
    body.jr-alp-legal-page #main.site-main > .content-wrap > article,
    body.jr-alp-legal-page #main.site-main .content-wrap > article,
    body.jr-alp-legal-page article.single-entry,
    body.jr-alp-legal-page article.entry {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        filter: none !important;
    }

    body.jr-alp-legal-page #main.site-main > .content-wrap::before,
    body.jr-alp-legal-page #main.site-main > .content-wrap::after,
    body.jr-alp-legal-page article.single-entry::before,
    body.jr-alp-legal-page article.single-entry::after {
        content: none !important;
        display: none !important;
    }

    body.jr-alp-legal-page .entry-content-wrap {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 26px 0 44px !important;
        padding: 16px 12px 24px !important;
        border-radius: 16px !important;
        overflow: visible !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.jr-alp-legal-page .entry-content.single-content,
    body.jr-alp-legal-page .jr-alp-redesign-root {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* The previous mobile rule reduced only the legal document card by an
       additional 24px. That is what made it look narrower than the title card. */
    body.jr-alp-legal-page .jr-legal-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.10 — Contact Us mobile outer-edge alignment
   Match the confirmed mobile gutter used across the other redesigned pages.
   The Contact shell was still inheriting Kadence's near-full-width mobile
   layout, leaving only a very small outside margin. Apply the standard 18px
   page gutter at #main while keeping all inner Contact cards unchanged.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-alp-contact-page #main.site-main {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.jr-alp-contact-page #main.site-main > .content-wrap {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.11 — Contact Us mobile inner-card width
   Keep the v1.0.10 outer/background shell exactly as confirmed, but allow
   the page-content blocks inside it to use more of that available width.
   This removes the overly narrow "card within a card" appearance without
   changing the outer page gutter, background container, or top spacing.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-alp-contact-page .entry-content.single-content > * {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Common Gutenberg/Kadence wrappers used by the Contact page. Widen only
       the content layer; do not touch .entry-content-wrap (the confirmed
       outer/background container from v1.0.10). */
    body.jr-alp-contact-page .entry-content.single-content > .wp-block-group,
    body.jr-alp-contact-page .entry-content.single-content > .wp-block-kadence-rowlayout,
    body.jr-alp-contact-page .entry-content.single-content > .kt-row-layout-inner,
    body.jr-alp-contact-page .entry-content.single-content > [class*="contact"],
    body.jr-alp-contact-page .entry-content.single-content > [class*="form"] {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.jr-alp-contact-page .entry-content.single-content > .wp-block-group > .wp-block-group__inner-container,
    body.jr-alp-contact-page .entry-content.single-content > .wp-block-kadence-rowlayout > .kt-row-column-wrap,
    body.jr-alp-contact-page .entry-content.single-content > .kt-row-layout-inner > .kt-row-column-wrap {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.12 — Contact Us mobile exact inner-card widening
   The live Contact markup uses .jr-contact-hero-card, .jr-contact-form-shell
   and .jr-contact-help-card. Widen ONLY those three content cards by 24px
   (12px per side), leaving the confirmed outer/background container and its
   page gutters completely untouched.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    body.jr-contact-page-active .jr-contact-hero-card,
    body.jr-contact-page-active .jr-contact-form-shell,
    body.jr-contact-page-active .jr-contact-help-card,
    body.jr-alp-contact-page .jr-contact-hero-card,
    body.jr-alp-contact-page .jr-contact-form-shell,
    body.jr-alp-contact-page .jr-contact-help-card {
        box-sizing: border-box !important;
        width: calc(100% + 24px) !important;
        max-width: calc(100% + 24px) !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.13 — Contact Us mobile content width matched to legal pages
   The confirmed Contact outer/background container remains unchanged.
   The actual narrow element is the nested .jr-contact-page section, which is
   constrained by the Contact form plugin's own later !important rule.
   Widen that nested content section by 64px (32px per side), then keep the
   hero, form and help cards at 100% of the newly widened content area.
   Extra selector specificity intentionally beats jr-wpforms-inline-css.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    html body.jr-contact-page-active section.jr-contact-page-wrap > section.jr-contact-page,
    html body.jr-alp-contact-page section.jr-contact-page-wrap > section.jr-contact-page {
        box-sizing: border-box !important;
        width: calc(100% + 64px) !important;
        max-width: calc(100% + 64px) !important;
        margin-left: -32px !important;
        margin-right: -32px !important;
    }

    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-hero-card,
    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-form-shell,
    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-help-card,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-hero-card,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-form-shell,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-help-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.14 — Contact Us mobile equal inner edges
   Keep the confirmed outer/background container untouched. Reset the nested
   contact section to the natural shell width, then widen the three visible
   content cards evenly by 24px total (12px per side) so they sit closer to
   the Privacy Policy page width while keeping equal margins all around.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    html body.jr-contact-page-active section.jr-contact-page-wrap > section.jr-contact-page,
    html body.jr-alp-contact-page section.jr-contact-page-wrap > section.jr-contact-page {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-hero-card,
    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-form-shell,
    html body.jr-contact-page-active section.jr-contact-page > .jr-contact-help-card,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-hero-card,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-form-shell,
    html body.jr-alp-contact-page section.jr-contact-page > .jr-contact-help-card {
        box-sizing: border-box !important;
        width: calc(100% + 24px) !important;
        max-width: calc(100% + 24px) !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.15 — Contact Us mobile reCAPTCHA containment
   Keep the widened Contact layout from v1.0.14 intact. The Google checkbox
   widget has a fixed native width, so its immediate WPForms containers must
   not crop it while the small JS helper scales it to the real available width.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    html body.jr-contact-page-active .jr-contact-form-shell,
    html body.jr-alp-contact-page .jr-contact-form-shell,
    html body.jr-contact-page-active .jr-contact-form-shell .wpforms-field,
    html body.jr-alp-contact-page .jr-contact-form-shell .wpforms-field,
    html body.jr-contact-page-active .jr-contact-form-shell .wpforms-recaptcha-container,
    html body.jr-alp-contact-page .jr-contact-form-shell .wpforms-recaptcha-container,
    html body.jr-contact-page-active .jr-contact-form-shell .g-recaptcha,
    html body.jr-alp-contact-page .jr-contact-form-shell .g-recaptcha {
        overflow: visible !important;
    }

    html body.jr-contact-page-active .jr-contact-form-shell .wpforms-recaptcha-container,
    html body.jr-alp-contact-page .jr-contact-form-shell .wpforms-recaptcha-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* -------------------------------------------------------------------------
   Unified v1.0.16 — Contact Us mobile form horizontal padding
   User-confirmed fix: remove WPForms' own left/right padding so the fields
   and option cards use the full width of the existing Contact form card.
   The outer/background Contact container is intentionally untouched.
   ------------------------------------------------------------------------- */
@media (max-width: 760px) {
    html body.jr-contact-page-active #wpforms-67,
    html body.jr-alp-contact-page #wpforms-67 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* -------------------------------------------------------------------------
   Unified v1.0.17 — Complianz Cookie Policy integration
   Keep the policy generated by Complianz, including its live disclosure
   tables and consent controls, while making it visually consistent with the
   existing JustReminisce legal-document card.
   ------------------------------------------------------------------------- */
body.jr-alp-cookie-page .jr-legal-content .cmplz-document,
body.jr-alp-cookie-page .jr-legal-content .cmplz-cookiepolicy {
    max-width: 100%;
    color: inherit;
}

body.jr-alp-cookie-page .jr-legal-content .cmplz-dropdown,
body.jr-alp-cookie-page .jr-legal-content .cmplz-service-header {
    margin: 10px 0;
    border: 1px solid rgba(174, 126, 55, .24);
    border-radius: 12px;
    background: #fffefa;
    overflow: hidden;
}

body.jr-alp-cookie-page .jr-legal-content .cmplz-dropdown summary,
body.jr-alp-cookie-page .jr-legal-content .cmplz-service-header {
    color: var(--jr-alp-ink);
    font-weight: 700;
}

body.jr-alp-cookie-page .jr-legal-content .cmplz-dropdown summary {
    padding: 14px 18px;
    cursor: pointer;
}

body.jr-alp-cookie-page .jr-legal-content .cmplz-dropdown summary + * {
    padding-left: 18px;
    padding-right: 18px;
}

/* -------------------------------------------------------------------------
   Unified v1.0.18 — About Us: single clean outer rounded paper container.
   The cream .entry-content-wrap is the ONLY visible shell. Kadence's parent
   article/content-wrap backgrounds, borders, radii and generated decoration
   can otherwise show as a second curved line at the shell's top corners.
   Applies to About Us at ALL viewport sizes; leaves legal/contact shells,
   the actual 22px/18px main paper radius and inner cards untouched.
   ------------------------------------------------------------------------- */
body.jr-alp-about-page #main.site-main > .content-wrap,
body.jr-alp-about-page #main.site-main > .content-wrap > article,
body.jr-alp-about-page #main.site-main .content-wrap > article,
body.jr-alp-about-page article.single-entry,
body.jr-alp-about-page .content-bg:not(.entry-content-wrap) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body.jr-alp-about-page #main.site-main > .content-wrap::before,
body.jr-alp-about-page #main.site-main > .content-wrap::after,
body.jr-alp-about-page #main.site-main > .content-wrap > article::before,
body.jr-alp-about-page #main.site-main > .content-wrap > article::after,
body.jr-alp-about-page article.single-entry::before,
body.jr-alp-about-page article.single-entry::after {
    content: none !important;
    display: none !important;
}

/* -------------------------------------------------------------------------
   Unified v1.0.19 — Terms, Privacy, Cookies & Community Rules DESKTOP.
   Prevent Kadence's intermediary .content-wrap/article shells from painting
   a second curved border behind the main .entry-content-wrap paper panel.
   This uses the same cleanup approach as the About page (v1.0.18), but
   targets ONLY the four assigned legal/community pages and ONLY desktop.
   Main paper panel, inner cards, legal content and mobile/tablet preserved.
   ------------------------------------------------------------------------- */
@media (min-width: 1025px) {
    body.jr-alp-legal-page #main.site-main > .content-wrap,
    body.jr-alp-legal-page #main.site-main > .content-wrap > article,
    body.jr-alp-legal-page #main.site-main .content-wrap > article,
    body.jr-alp-legal-page article.single-entry,
    body.jr-alp-legal-page .content-bg:not(.entry-content-wrap) {
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    body.jr-alp-legal-page #main.site-main > .content-wrap::before,
    body.jr-alp-legal-page #main.site-main > .content-wrap::after,
    body.jr-alp-legal-page #main.site-main > .content-wrap > article::before,
    body.jr-alp-legal-page #main.site-main > .content-wrap > article::after,
    body.jr-alp-legal-page article.single-entry::before,
    body.jr-alp-legal-page article.single-entry::after {
        content: none !important;
        display: none !important;
    }
}
