/*
Theme Name: Blossom Pin Child
Template: blossom-pin
Description: The Cozy Edit — Pro-parity 3-column layout on Blossom Pin
Version: 2.0
*/

/* ---- Layout: wide container, multi-column, no sidebar ---- */
body.home, body.blog, body.archive, body.category, body.search { background: #fbf8f9; }
.container { max-width: 1440px; }

.blog #secondary, .home #secondary, .archive #secondary, .category #secondary, .search #secondary { display: none; }
/* Full-width main column: also match the theme's own body:not(.full-width) #primary
   rule (specificity 1,1,1) that squeezes #primary to 67.59% on wide screens. */
body:not(.full-width) #primary,
.blog #primary, .home #primary, .archive #primary, .category #primary, .search #primary {
    width: 100% !important;
    float: none;
}

/* Masonry — 4 columns on wide screens with wider gutters */
.blog #primary .site-main,
.archive #primary .site-main,
.category #primary .site-main,
.search #primary .site-main { margin: 0 -18px; }

.blog #primary .site-main > article,
.archive #primary .site-main > article,
.category #primary .site-main > article,
.search #primary .site-main > article {
    width: 25% !important;
    padding: 0 18px;
    margin: 0 0 44px;
}

/* Mid screens: 3 columns */
@media (max-width: 1300px) {
    .blog #primary .site-main > article,
    .archive #primary .site-main > article,
    .category #primary .site-main > article,
    .search #primary .site-main > article {
        width: 33.333% !important;
        padding: 0 14px;
        margin: 0 0 32px;
    }
    .blog #primary .site-main,
    .archive #primary .site-main,
    .category #primary .site-main,
    .search #primary .site-main { margin: 0 -14px; }
}

/* Card shell */
.blog #primary .site-main > article .holder,
.archive #primary .site-main > article .holder,
.category #primary .site-main > article .holder {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(120, 90, 105, .06);
    transition: box-shadow .28s ease, transform .28s ease;
}
.blog #primary .site-main > article .holder img,
.archive #primary .site-main > article .holder img {
    transition: transform .45s ease;
}
.blog #primary .site-main > article:hover .holder img,
.archive #primary .site-main > article:hover .holder img { transform: scale(1.04); }
.blog #primary .site-main > article:hover .holder,
.archive #primary .site-main > article:hover .holder,
.category #primary .site-main > article:hover .holder {
    box-shadow: 0 14px 34px rgba(255, 122, 156, .20);
    transform: translateY(-4px);
}

/* ---------- Pro-style card typography ---------- */
.blog .entry-title, .home .entry-title, .archive .entry-title, .category .entry-title, .search .entry-title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.34;
}
.blog .entry-title a, .home .entry-title a, .archive .entry-title a,
.category .entry-title a, .search .entry-title a { color: #1a1a1a; text-decoration: none; }
.blog .entry-title a:hover, .home .entry-title a:hover, .archive .entry-title a:hover,
.category .entry-title a:hover, .search .entry-title a:hover { color: #ff91a4; }

/* Category pill */
.blog .entry-header .category a,
.home .entry-header .category a,
.archive .entry-header .category a,
.category .entry-header .category a,
.search .entry-header .category a {
    display: inline-block;
    background: #ff91a4;
    color: #fff;
    font-family: "Nunito", sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    padding: 5px 13px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .15s ease;
}
.blog .entry-header .category a:hover,
.home .entry-header .category a:hover,
.archive .entry-header .category a:hover,
.category .entry-header .category a:hover { background: #ff6f91; }

/* Excerpt */
.blog .site-main .entry-content,
.home .site-main .entry-content,
.archive .site-main .entry-content,
.category .site-main .entry-content,
.search .site-main .entry-content {
    font-family: "Nunito", sans-serif;
    font-size: 14.5px;
    line-height: 1.82;
    color: #7d7d8a;
}
.blog .site-main .entry-content p:last-child,
.home .site-main .entry-content p:last-child,
.archive .site-main .entry-content p:last-child { margin-bottom: 0; }

/* Read more */
.blog .site-main .read-more,
.home .site-main .read-more,
.archive .site-main .read-more,
.category .site-main .read-more,
.search .site-main .read-more {
    display: inline-block;
    font-family: "Nunito", sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #ff7a9c;
    text-decoration: none;
    border-bottom: 0;
}
.blog .site-main .read-more:hover,
.home .site-main .read-more:hover,
.archive .site-main .read-more:hover { color: #ff5c86; }

/* Date row + kill duplicate modified date */
.bottom { padding: 0 20px 18px; }
.bottom .posted-on,
.entry-footer .posted-on {
    font-family: "Nunito", sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: #b4b4c0;
}
.bottom .posted-on a { color: #b4b4c0; text-decoration: none; }
.bottom .updated, .entry-footer .updated { display: none; }

/* ---------- Category tiles row (Pro-demo signature) ---------- */
.ce-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    max-width: 1440px;
    margin: 34px auto 18px;
    padding: 0 15px;
    box-sizing: border-box;
    width: 100%;
}

.ce-cat {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    background: #f2eef0;
    box-shadow: 0 2px 12px rgba(120, 90, 105, .06);
}

.ce-cat img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center 62%;
    display: block;
    transition: transform .35s ease;
}
.ce-cat:hover img { transform: scale(1.03); }

/* Mask the material's baked-in hashtag strip; label sits on the clean band */
.ce-cat::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 48%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(20, 12, 16, .42));
    pointer-events: none;
}

.ce-cat-pill {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 2;
    background: rgba(255, 255, 255, .92);
    color: #ff91a4;
    font-family: "Nunito", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    padding: 9px 22px;
    border-radius: 999px;
    white-space: nowrap;
    transition: background .2s ease;
}
.ce-cat:hover .ce-cat-pill { background: #ff91a4; color: #fff; }

/* ---------- Mobile ---------- */
@media (max-width: 860px) {
    .blog #primary .site-main > article,
    .archive #primary .site-main > article,
    .category #primary .site-main > article,
    .search #primary .site-main > article {
        width: 50% !important;
        padding: 0 11px;
        margin: 0 0 24px;
    }
    .blog #primary .site-main,
    .archive #primary .site-main,
    .category #primary .site-main,
    .search #primary .site-main { margin: 0 -11px; }

    .ce-cats { grid-template-columns: 1fr; gap: 12px; margin: 16px auto 8px; }
    .ce-cat img { aspect-ratio: 2.4 / 1; }
    .ce-cat-pill { font-size: 10px; padding: 8px 18px; }

    .blog .entry-title, .home .entry-title, .archive .entry-title,
    .category .entry-title, .search .entry-title { font-size: 19px; }
    .home .site-main .entry-content,
    .blog .site-main .entry-content,
    .archive .site-main .entry-content,
    .category .site-main .entry-content { font-size: 13.5px; }
}

/* ---------- Specificity fix ----------
   The theme's layout rules (.X #primary .post .entry-header … = 1,4,1) outrank the
   base selectors above, so the lighter/younger values are restated here at matching
   specificity (with !important where the theme competes on equal footing). */
.blog #primary .post .entry-header .entry-title,
.home #primary .post .entry-header .entry-title,
.archive #primary .post .entry-header .entry-title,
.category #primary .post .entry-header .entry-title,
.search #primary .post .entry-header .entry-title {
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.34;
}

.blog #primary .post .entry-header .category a,
.home #primary .post .entry-header .category a,
.archive #primary .post .entry-header .category a,
.category #primary .post .entry-header .category a,
.search #primary .post .entry-header .category a {
    padding: 5px 13px !important;
    border-radius: 999px !important;
    letter-spacing: .10em !important;
    font-size: 10px !important;
    background: #ff91a4;
    color: #fff;
}

.blog #primary .post .entry-content,
.home #primary .post .entry-content,
.archive #primary .post .entry-content,
.category #primary .post .entry-content,
.search #primary .post .entry-content {
    font-size: 14.5px !important;
    line-height: 1.82 !important;
    color: #7d7d8a;
}

.blog #primary .post .read-more,
.home #primary .post .read-more,
.archive #primary .post .read-more,
.category #primary .post .read-more,
.search #primary .post .read-more {
    font-size: 10.5px !important;
    letter-spacing: .12em !important;
    color: #ff7a9c !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
}
.blog #primary .post .read-more:hover,
.home #primary .post .read-more:hover,
.archive #primary .post .read-more:hover { color: #ff5c86 !important; }

.blog #primary .post .bottom .posted-on,
.home #primary .post .bottom .posted-on,
.archive #primary .post .bottom .posted-on,
.category #primary .post .bottom .posted-on {
    font-size: 10.5px !important;
    letter-spacing: .10em !important;
    color: #b4b4c0 !important;
}
.blog #primary .post .bottom .posted-on a,
.home #primary .post .bottom .posted-on a { color: #b4b4c0 !important; }
