/* SweetMeet Journal — SMP content styles (clean production integration).
   Replaces legacy standalone-preview CSS.
   No .smp-header, .smp-footer, admin-banner or global element overrides.
*/

.smj-wrap {
    max-width: 1230px;
    margin: auto;
    padding-left: 26px;
    padding-right: 26px;
}

.smj-hero {
    background: linear-gradient(115deg,#0a0a0a,#25211a);
    color: #fff;
    padding: 83px 0 90px;
}

.smj-kicker {
    font-size: 11px;
    letter-spacing: .19em;
    text-transform: uppercase;
    font-weight: 750;
    color: #816530 !important;
    margin: 0 0 14px;
}

.smj-kicker-light {
    font-size: 11px;
    letter-spacing: .19em;
    text-transform: uppercase;
    font-weight: 750;
    color: #c39f5b !important;
    margin: 0 0 14px;
}


.smj-hero h1 {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
    letter-spacing: -.04em;
    font-size: clamp(42px,6vw,70px);
    line-height: 1.1;
    margin: 0 0 14px;
}

.smj-hero .smj-wrap>p:nth-of-type(2) {
    font-size: 22px;
    color: #e3d6bc;
    margin: 0;
}

.smj-hero .smj-lead {
    font-size: 16px;
    max-width: 700px;
    color: #c7c7c7;
    margin: 24px 0 0;
}

.smj-main {
    padding-top: 67px;
    padding-bottom: 75px;
}

.smj-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.smj-section-heading h2 {
    font-family: Georgia,"Times New Roman",serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.15;
    margin: 0;
}

.smj-section-heading>span,
.smj-section-heading>p {
    color: var(--smj-muted);
    font-size: 13px;
}

.smj-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 35px;
}

.smj-filters a {
    padding: 8px 15px;
    border: 1px solid var(--smj-line);
    border-radius: 30px;
    font-size: 12px;
    color: #555;
}

.smj-filters a.active,
.smj-filters a:hover {
    background: #121212;
    border-color: #121212;
    color: #fff;
}

.smj-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 28px;
}

.smj-card {
    border: 1px solid var(--smj-line);
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
}

.smj-card-image {
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #e7e1d5;
}

.smj-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.smj-card-image .smj-photo {
    transition: transform .25s;
}

.smj-card-image:hover .smj-photo {
    transform: scale(1.03);
}

.smj-image-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg,#29251e,#7a694b);
    color: #f8edd6;
    font-family: Georgia,serif;
    font-size: 20px;
}

.smj-card-body {
    padding: 23px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.smj-eyebrow {
    color: #775e2e;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.smj-eyebrow span {
    color: #aaa;
    padding: 0 3px;
}

.smj-card h3 {
    font-family: Georgia,"Times New Roman",serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 400;
    margin: 0 0 15px;
}

.smj-card-body>p:not(.smj-eyebrow) {
    font-size: 14px;
    color: #666;
    line-height: 1.65;
    margin: 0 0 22px;
}

.smj-card-footer {
    border-top: 1px solid var(--smj-line);
    padding-top: 13px;
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
}

.smj-card-footer>span {
    color: #151515;
}

.smj-card-footer a {
    font-weight: 700;
    color: #8e713c;
}

.smj-pages {
    display: flex;
    justify-content: center;
    gap: 30px;
    align-items: center;
    padding: 32px;
}

.smj-pages a {
    font-weight: 700;
}

.smj-feature {
    margin-top: 70px;
    padding: 45px 50px;
    background: var(--smj-paper);
    display: flex;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
}

.smj-feature h2 {
    font-family: Georgia,serif;
    font-weight: 400;
    font-size: 34px;
    margin: 0 0 10px;
}

.smj-feature p:not(.smj-kicker) {
    color: #666;
    max-width: 680px;
    margin: 0;
}

.smj-feature>a {
    white-space: nowrap;
    background: #111;
    color: #fff;
    padding: 13px 19px;
    font-size: 13px;
}

.smj-empty {
    text-align: center;
    padding: 70px;
    border: 1px solid var(--smj-line);
}

.smj-empty h3 {
    font-family: Georgia,serif;
    font-size: 28px;
    font-weight: 400;
}

.smj-article-wrap {
    padding-top: 30px;
    padding-bottom: 80px;
}

.smj-breadcrumb {
    display: flex;
    gap: 10px;
    font-size: 12px;
    color: #424242;
    margin: 0 0 38px;
}

.smj-article-intro {
    max-width: 900px;
    margin: 0 auto 30px;
    text-align: center;
}

.smj-article-intro h1 {
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(39px,5.3vw,62px);
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 400;
    margin: 0 0 23px;
}

.smj-article-excerpt {
    color: #666;
    font-size: 19px;
    line-height: 1.55;
    margin: 0 auto 20px;
    max-width: 780px;
}

.smj-byline {
    font-size: 12px;
    color: #424242;
}

.smj-byline span {
    padding: 0 6px;
    color: #bc9954;
}

.smj-article-hero {
    margin: 35px 0 48px;
    height: min(55vw,550px);
    overflow: hidden;
    background: #e9e7e2;
}

.smj-reading-layout {
    display: grid;
    grid-template-columns: minmax(0,790px) minmax(220px,300px);
    gap: 60px;
    align-items: start;
}

.smj-prose {
    font-size: 17px;
    line-height: 1.9;
    min-width: 0;
}

.smj-prose h2,
.smj-prose h3 {
    font-family: Georgia,"Times New Roman",serif;
    line-height: 1.25;
    font-weight: 400;
    margin: 42px 0 17px;
}

.smj-prose h2 {
    font-size: 32px;
}

.smj-prose h3 {
    font-size: 25px;
}

.smj-prose p {
    margin: 0 0 22px;
}

.smj-prose a {
    color: #775e2e;
    text-decoration: underline;
}

.smj-prose img {
    max-width: 100%;
    height: auto;
}

.smj-prose blockquote {
    border-left: 3px solid var(--smj-gold);
    padding-left: 22px;
    color: #555;
}

.smj-prose ul,
.smj-prose ol {
    padding-left: 22px;
}

.smj-preview-note {
    border: 1px solid #e7d2a3;
    background: #fffaf0;
    padding: 16px;
    font-size: 13px;
}

.smj-side-panel {
    background: var(--smj-paper);
    padding: 28px;
    margin-bottom: 25px;
}

.smj-side-panel h3 {
    font-family: Georgia,serif;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 400;
    margin: 0 0 12px;
}

.smj-side-panel p:not(.smj-kicker) {
    color: #676767;
    font-size: 14px;
}

.smj-side-panel a {
    font-size: 13px;
    color: #775e2e;
    font-weight: 700;
}

.smj-places ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.smj-places li {
    padding: 12px 0;
    border-bottom: 1px solid #ddd;
}

.smj-places li strong,
.smj-places li small {
    display: block;
}

.smj-places li small {
    color: #424242;
    font-size: 12px;
}

.smj-fineprint {
    font-size: 11px !important;
}

.smj-related {
    margin-top: 80px;
}

@media (max-width:940px) {
    .smj-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .smj-reading-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .smj-sidebar {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 18px;
    }

    .smj-side-panel {
        margin: 0;
    }

}

@media (max-width:650px) {
    .smj-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .smj-hero {
        padding: 55px 0;
    }

    .smj-grid {
        grid-template-columns: 1fr;
    }

    .smj-section-heading {
        display: block;
    }

    .smj-section-heading h2 {
        font-size: 31px;
    }

    .smj-feature {
        padding: 25px;
        display: block;
    }

    .smj-feature>a {
        display: inline-block;
        margin-top: 20px;
    }

    .smj-article-wrap {
        padding-top: 22px;
    }

    .smj-article-hero {
        margin: 25px -18px;
        height: 56vw;
    }

    .smj-sidebar {
        display: block;
    }

    .smj-side-panel {
        margin-bottom: 18px;
    }

}

.smj-article-hero {
    height: auto;
    aspect-ratio: 16/9;
    max-height: 570px;
}

.smj-article-hero .smj-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smj-reading-layout {
    grid-template-columns: minmax(0,790px) minmax(220px,280px);
    gap: 42px;
}

.smj-places-page h1 {
    font: 400 clamp(38px,5vw,60px)/1.2 Georgia,serif;
    margin: 0 0 15px;
}

.smj-places-lead {
    font-size: 18px;
    color: #666;
    max-width: 730px;
}

.smj-places-filters {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 14px;
    padding: 20px;
    background: var(--smj-paper);
    margin: 28px 0 14px;
}

.smj-places-filters label {
    flex: 1;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 13px;
}

.smj-places-filters select {
    width: 100%;
    background: white;
    border: 1px solid #d8d3c9;
    padding: 11px;
    font-size: 14px;
}

.smj-places-filters button {
    border: 0;
    padding: 12px 24px;
    background: #111;
    color: white;
    cursor: pointer;
}

.smj-places-filters a {
    font-size: 13px;
    padding: 12px;
}

.smj-places-count {
    font-size: 13px;
    color: #424242;
    margin-bottom: 20px;
}

@media (max-width:940px) {
    .smj-reading-layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width:650px) {
    .smj-places-filters {
        display: block;
    }

    .smj-places-filters label {
        margin: 12px 0;
    }

}

.smj-hero {
    background: #080808;
}

.smj-hero {
    background: #080808;
    padding-top: 72px;
    padding-bottom: 76px;
}

@media (max-width: 650px) {
    .smj-hero {
        padding-top: 52px;
        padding-bottom: 55px;
    }

}

/* --------------------------------------------------------------------------
   Production SMP integration: Journal content only, never stock site chrome.
   -------------------------------------------------------------------------- */

/* SMP's global font, links, header and footer are the source of truth. */
body.smp-public-page {
    --smj-gold: #c8a96a;
    --smj-ink: #151515;
    --smj-muted: #666;
    --smj-line: #e9e5df;
    --smj-paper: #f7f6f3;
}

/* Keep existing full-width home hero; content remains centred. */
body.smp-public-page .smj-hero {
    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 75px 0 80px;
    background: #080808;
}
body.smp-public-page .smj-hero .smj-wrap {
    max-width: 1230px;
    width: 100%;
    margin-inline: auto;
    padding-inline: 26px;
}

/* IMPORTANT: A fixed aspect ratio with max-height clipped the FIGURE's box,
   while the full-size IMG extended outside it. The article sidebar then
   appeared to overlap the photo. Let the image determine the figure's height. */
body.smp-public-page .smj-article-hero {
    display: block;
    position: relative;
    clear: both;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    overflow: visible;
    margin: 35px 0 48px;
}
body.smp-public-page .smj-article-hero img,
body.smp-public-page .smj-article-hero .smj-photo {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}
body.smp-public-page .smj-reading-layout {
    position: relative;
    clear: both;
    display: grid;
    grid-template-columns: minmax(0, 790px) minmax(220px, 280px);
    gap: 42px;
    align-items: start;
    margin-top: 0;
}
body.smp-public-page .smj-sidebar {
    position: static;
    float: none;
    margin: 0;
    transform: none;
}

@media (max-width: 940px) {
    body.smp-public-page .smj-reading-layout { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
    body.smp-public-page .smj-hero { padding: 50px 0 55px; }
    body.smp-public-page .smj-hero .smj-wrap { padding-inline: 18px; }
    body.smp-public-page .smj-article-hero { margin: 25px 0 35px; }
}

/*
|--------------------------------------------------------------------------
| SweetMeet Journal — Article Sidebar Panels
|--------------------------------------------------------------------------
*/

.smj-side-panel {
    background: #edebe5;
    padding: 28px;
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

/*
|--------------------------------------------------------------------------
| SweetMeet Journal — Explore Places Feature Panel
|--------------------------------------------------------------------------
*/

.smj-feature {
    background: #edebe5;
    padding: 45px 50px;
    margin-top: 70px;
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 650px) {

    .smj-feature {
        padding: 25px;
        margin-top: 45px;
    }

}

/*
|--------------------------------------------------------------------------
| SweetMeet Journal — Article Navigation
|--------------------------------------------------------------------------
*/

.smj-article-navigation {
    margin: 65px 0 20px;
    padding-top: 30px;
    border-top: 1px solid #e9e5df;
    text-align: center;
}

.smj-article-navigation__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    text-align: left;
    margin-bottom: 35px;
}

.smj-article-navigation__links > div:last-child {
    text-align: right;
}

.smj-article-navigation__links span {
    display: block;
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #775e2e;
    margin-bottom: 10px;
}

.smj-article-navigation__links a {
    color: #151515;
    font-family: Georgia, serif;
    font-size: 19px;
    line-height: 1.4;
    text-decoration: none;
}

.smj-article-navigation__links a:hover {
    color: #9a793d;
}

.smj-article-navigation__back {
    display: inline-block;
    padding: 13px 28px;
    background: #101010;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
}

.smj-article-navigation__back:hover {
    background: #c8a96a;
    color: #080808;
}

@media (max-width: 650px) {
    .smj-article-navigation__links {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .smj-article-navigation__links > div:last-child {
        text-align: left;
    }
}

/*
|--------------------------------------------------------------------------
| SweetMeet Journal — Explore Places hero and return feature
|--------------------------------------------------------------------------
| Add to the END of /smp/journal/journal-preview.css
| No SMP header/footer overrides. Uses the existing Journal hero + panel styles.
*/

body.smp-public-page .smj-places-hero {
    background: #080808;
}

.smj-places-hero .smj-lead {
    max-width: 700px;
}

.smj-places-return {
    background: #f7f6f3;
    margin-top: 70px;
    padding: 45px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.smj-places-return h2 {
    margin: 0 0 10px;
}

.smj-places-return p:not(.smj-kicker) {
    max-width: 680px;
}

.smj-places-return > a {
    display: inline-block;
    background: #111;
    color: #fff;
    padding: 13px 19px;
    white-space: nowrap;
    text-decoration: none;
}

.smj-places-return > a:hover,
.smj-places-return > a:focus-visible {
    background: #c8a96a;
    color: #080808;
}

@media (max-width: 650px) {
    .smj-places-return {
        display: block;
        padding: 25px;
        margin-top: 45px;
    }

    .smj-places-return > a {
        margin-top: 20px;
    }
}

/* SweetMeet Journal — public SMP presentation additions.
   Keep production SMP header/footer styling in their existing stylesheet. */
.smp-public-page .smj-hero {
    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #080808;
}
.smp-public-page .smj-hero .smj-wrap {max-width: 1230px;margin-inline:auto;padding-inline:26px;}
.smp-public-page .smj-filters a {color:#555;text-decoration:none;}
.smp-public-page .smj-filters a.active,
.smp-public-page .smj-filters a:hover {color:#fff;text-decoration:none;}
.smp-public-page .smj-card h3 a {color:#151515;text-decoration:none;}
.smp-public-page .smj-card h3 a:hover {color:#987039;}
.smp-public-page .smj-feature,
.smp-public-page .smj-side-panel,
.smp-public-page .smj-places-return {background:#f7f6f3;}
.smp-public-page .smj-feature > a,
.smp-public-page .smj-places-return > a {color:#fff;text-decoration:none;}
.smp-public-page .smj-article-hero {margin:35px 0 48px;max-height:none;height:auto;aspect-ratio:auto;}
.smp-public-page .smj-article-hero img {width:100%;height:auto;display:block;object-fit:contain;}
.smp-public-page .smj-article-hero .smj-image-placeholder {aspect-ratio:16/9;}
.smp-public-page .smj-reading-layout {display:grid;grid-template-columns:minmax(0, 790px) minmax(220px, 280px);gap:42px;align-items:start;}
.smp-public-page .smj-article-navigation {margin:65px 0 20px;padding-top:30px;border-top:1px solid #e9e5df;text-align:center;}
.smp-public-page .smj-article-navigation__links {display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:35px;text-align:left;}
.smp-public-page .smj-article-navigation__links > div:last-child {text-align:right;}
.smp-public-page .smj-article-navigation__links span {display:block;color:#9a793d;font-size:11px;letter-spacing:1.5px;margin-bottom:10px;}
.smp-public-page .smj-article-navigation__links a {color:#151515;font:400 19px/1.4 Georgia,serif;text-decoration:none;}
.smp-public-page .smj-article-navigation__back {display:inline-block;background:#101010;color:#fff;padding:13px 28px;text-decoration:none;}
.smp-public-page .smj-article-navigation__back:hover {background:#c8a96a;color:#080808;}
.smp-public-page .smj-places-return {margin-top:70px;padding:45px 50px;display:flex;gap:25px;align-items:center;justify-content:space-between;}
.smp-public-page .smj-places-return > a {white-space:nowrap;background:#101010;padding:13px 19px;}
@media(max-width:940px) {.smp-public-page .smj-reading-layout {grid-template-columns:1fr;}}
@media(max-width:650px) {
    .smp-public-page .smj-hero .smj-wrap {padding-inline:18px;}
    .smp-public-page .smj-article-navigation__links {grid-template-columns:1fr;}
    .smp-public-page .smj-article-navigation__links > div:last-child {text-align:left;}
    .smp-public-page .smj-places-return {display:block;padding:25px;margin-top:45px;}
    .smp-public-page .smj-places-return > a {display:inline-block;margin-top:20px;}
}




