/* ══════════════════════════════════════════════════════════════════
   05-pages.css — Page-specific treatment
   ══════════════════════════════════════════════════════════════════ */

body main,
body .guff-fn-wrapper { position: relative; z-index: 1; }

/* ════════════════════════════════════════════════════════════════
   HOME
   ════════════════════════════════════════════════════════════════ */

/* Featured slider polish */
#featured_slider {
    padding: clamp(40px, 6vw, 100px) clamp(16px, 4vw, 40px) !important;
}
#featured_slider .fn_cs_posts_layout_slider .item_wrapper { padding: 0 var(--sp-3); }
#featured_slider .fn_cs_posts_layout_slider .item .img_holder {
    border-radius: var(--r-xl) !important;
    overflow: hidden;
}
#featured_slider .title_holder {
    padding: var(--sp-6) 0 !important;
    max-width: 520px;
}
#featured_slider .fn_title,
#featured_slider .fn_bg_title {
    font-size: clamp(1.5rem, 2.8vw, 2.2rem) !important;
    line-height: 1.2 !important;
    margin-bottom: var(--sp-4) !important;
    padding: 0 !important;
    background: transparent !important;
    display: block !important;
    text-align: left;
}
#featured_slider .fn_title a,
#featured_slider .fn_bg_title a {
    display: inline !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
#featured_slider .fn_title a span,
#featured_slider .fn_bg_title a span {
    padding: 0 !important;
    background: transparent !important;
    display: inline !important;
    line-height: 1.2 !important;
    color: var(--xp-text-1) !important;
    -webkit-text-fill-color: var(--xp-text-1) !important;
}

/* Slider owl dots */
.fn_cs_posts_layout_slider .owl-dots,
#featured_slider .owl-dots {
    text-align: center;
    margin-top: var(--sp-5);
}
.fn_cs_posts_layout_slider .owl-dot,
#featured_slider .owl-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: var(--r-pill) !important;
    background: rgba(255,255,255,0.25) !important;
    margin: 0 4px !important;
    transition: all var(--t-base) var(--ease-out);
}
.fn_cs_posts_layout_slider .owl-dot.active,
#featured_slider .owl-dot.active {
    width: 24px !important;
    background: var(--xp-purple) !important;
    box-shadow: 0 0 12px rgba(123,77,255,0.6);
}

/* Section title — guff renders a decorated "linetitle" with a thin line
   and an icon; repaint to our on-brand section header. */
.fn__linetitle,
.main_title {
    text-align: center;
    margin: var(--sp-11) 0 var(--sp-8) !important;
    padding: 0;
    background: transparent !important;
}
.fn__linetitle h3,
.main_title h3,
.main_title h2 {
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    color: var(--xp-text-1) !important;
    background: var(--g-hero) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
}
.fn__linetitle .fn__svg,
.main_title .fn__svg { display: inline-block; vertical-align: middle; margin-right: var(--sp-2); }
.fn__linetitle .fn__svg path,
.main_title .fn__svg path { fill: var(--xp-orange) !important; }

/* Beta title block (section-1 right column) */
.fn_cs_posts_layout_beta .beta__title,
.beta__title {
    text-align: center;
    padding: var(--sp-5) 0 !important;
    background: transparent !important;
    margin-bottom: var(--sp-7) !important;
}
.fn_cs_posts_layout_beta .beta__title .text,
.beta__title .text {
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    font-size: clamp(1.25rem, 2.2vw, 1.6rem) !important;
    background: var(--g-hero) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
}
.fn_cs_posts_layout_beta .beta__title .text:after {
    background: linear-gradient(90deg, var(--xp-purple), var(--xp-orange)) !important;
    height: 2px !important;
    border-radius: var(--r-pill);
}
.fn_cs_posts_layout_beta .beta__title .text span {
    color: var(--xp-orange) !important;
    -webkit-text-fill-color: var(--xp-orange) !important;
    background: transparent !important;
}

/* Section dividers — thin purple hairline with centered glyph */
.section_divider,
.fn__separator,
.fn__section_divider {
    position: relative;
    height: 1px;
    background: var(--g-divider) !important;
    margin: var(--sp-11) auto !important;
    max-width: 1200px;
    border: none !important;
}

/* Section-1 two-column grid polish */
.fn_cs_posts_layout_alpha {
    gap: var(--sp-6);
}
.fn_cs_posts_layout_alpha .post_wrapper {
    border-radius: var(--r-lg) !important;
    overflow: hidden;
    transition: transform var(--t-base) var(--ease-out),
                box-shadow var(--t-base) var(--ease-out);
}
.fn_cs_posts_layout_alpha .post_wrapper:hover {
    transform: translateY(-4px);
    box-shadow: var(--sh-card-hover);
}

/* Section-1 beta (right rail) — numbered list with purple circles */
.fn_cs_posts_layout_beta .top_icon,
.fn_cs_posts_layout_beta .btm_icon {
    border-radius: 50% !important;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--xp-font-h);
    font-weight: 900;
    font-size: 1.1rem;
}
.fn_cs_posts_layout_beta .top_icon {
    background: var(--g-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(123,77,255,0.32);
}
.fn_cs_posts_layout_beta .post_wrapper {
    padding: var(--sp-4) !important;
    margin-bottom: var(--sp-3);
    display: flex;
    gap: var(--sp-4);
    align-items: flex-start;
    border-radius: var(--r-md) !important;
}
.fn_cs_posts_layout_beta .item_img {
    border-radius: var(--r-md) !important;
    overflow: hidden;
    width: 88px;
    height: 88px;
    flex-shrink: 0;
}
.fn_cs_posts_layout_beta .item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fn_cs_posts_layout_beta .post_content_holder { flex: 1; }
.fn_cs_posts_layout_beta .fn_title {
    font-size: 1rem !important;
    line-height: 1.35 !important;
    margin-bottom: var(--sp-1);
}

/* Section-2 chosen-post + tag list */
.fn_cs_catlist_alpha {
    gap: var(--sp-7);
}
.fn_cs_catlist_alpha .alpha_right {
    padding: var(--sp-7) !important;
}
.fn_cs_catlist_alpha .alpha_right .fn_bg_subtitle,
.fn_cs_catlist_alpha .alpha_right .fn_bg_subtitle span {
    background: rgba(245,166,35,0.15) !important;
    color: var(--xp-orange) !important;
    -webkit-text-fill-color: var(--xp-orange) !important;
    border: 1px solid rgba(245,166,35,0.32);
    border-radius: var(--r-pill) !important;
    padding: 6px 14px !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: inline-block;
}
.fn_cs_catlist_alpha .alpha_right .fn_title,
.fn_cs_catlist_alpha .alpha_right .fn_title a {
    color: var(--xp-text-1) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    line-height: 1.2;
}

/* Section-8 eta chosen-post "CHOSEN POST" label */
.fn_cs_posts_layout_eta .eta__title {
    margin-bottom: var(--sp-5);
}
.fn_cs_posts_layout_eta .eta__title .text {
    text-align: center;
}

/* Hot-Trends section title icon */
.fn_cs_catlist_beta .title_holder,
.fn_cs_catlist_beta .main_title {
    text-align: center;
    margin-bottom: var(--sp-7);
}

/* Masonry "SEE THEM ALL" — refined button */
.fn_cs_posts_layout_masonry .more_posts {
    text-align: center;
    margin-top: var(--sp-8);
}
.fn_cs_posts_layout_masonry .more_posts a {
    padding: 14px 32px !important;
    display: inline-block;
}

/* ════════════════════════════════════════════════════════════════
   POST DETAIL (Phase 6 will expand)
   ════════════════════════════════════════════════════════════════ */

body.post-template .guff_fn_singlepost .single__content {
    margin-top: var(--sp-7);
    padding: clamp(16px, 3vw, 40px);
}
body.post-template .guff_fn_singlepost .content_holder {
    max-width: 820px;
    margin: 0 auto;
}

/* Post header: eyebrow tag chips, title, short meta */
body.post-template .guff_fn_singlepost .post__header {
    padding: var(--sp-5) 0 var(--sp-7);
}
body.post-template .guff_fn_singlepost .fn__maintitle {
    font-size: clamp(1.8rem, 3.4vw, 2.6rem) !important;
    line-height: 1.14 !important;
    margin: var(--sp-5) 0 var(--sp-4) !important;
}
body.post-template .guff_fn_singlepost .fn__short_meta {
    gap: var(--sp-4);
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
body.post-template .guff_fn_singlepost .fn__short_meta .meta_category a {
    display: inline-block;
    background: rgba(245,166,35,0.14);
    border: 1px solid rgba(245,166,35,0.32);
    border-radius: var(--r-pill);
    padding: 4px 12px;
    margin-right: 6px;
}

/* Author chip (dark glass pill) */
body.post-template .guff_fn_singlepost .fn__full_meta .full_meta {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-3);
    background: var(--xp-card);
    border: 1px solid var(--xp-card-border);
    border-radius: var(--r-pill);
    padding: 6px 14px;
    backdrop-filter: blur(8px);
}
body.post-template .guff_fn_singlepost .full_meta .meta__author .imgs img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--xp-purple);
    object-fit: cover;
}
body.post-template .guff_fn_singlepost .full_meta .meta__author .text a {
    color: var(--xp-text-1) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 800;
    font-size: 0.92rem;
    box-shadow: none !important;
}
body.post-template .guff_fn_singlepost .meta__time {
    color: var(--xp-text-3) !important;
    font-size: 0.85rem;
}
body.post-template .guff_fn_singlepost .meta__time .fn__svg path {
    fill: var(--xp-purple-lt) !important;
}

/* Feature image: rounded corners + glow */
body.post-template .guff_fn_singlepost .fn__image_format {
    margin: var(--sp-7) auto;
    filter: drop-shadow(0 22px 48px rgba(123,77,255,0.28));
}
body.post-template .guff_fn_singlepost .fn__image_format .obj_content img {
    border-radius: var(--r-xl);
}

/* Post body — bind to .xp-prose rhythm via class chain */
body.post-template .guff_fn_singlepost .post_c_in {
    font-family: var(--xp-font-b);
    font-size: var(--fs-body-lg);
    line-height: var(--lh-body-lg);
}
body.post-template .guff_fn_singlepost .post_c_in > p:first-of-type::first-letter {
    float: left;
    font-family: var(--xp-font-h);
    font-weight: 900;
    font-size: 3.6rem;
    line-height: 0.9;
    padding: 0.08em 0.14em 0 0;
    margin-right: 6px;
    color: var(--xp-purple-lt);
}

/* Prev/Next post navigation — two-column glass cards */
.guff_fn_pnb {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: var(--sp-4) !important;
    margin: var(--sp-9) 0 var(--sp-7) !important;
    background: transparent !important;
    border: none !important;
}
.guff_fn_pnb .pnb__item {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}
.guff_fn_pnb .item {
    padding: var(--sp-5) var(--sp-6) !important;
    position: relative;
    transition: transform var(--t-fast) var(--ease-out),
                box-shadow var(--t-fast) var(--ease-out),
                border-color var(--t-fast) var(--ease-out);
}
.guff_fn_pnb .item:hover {
    transform: translateY(-3px);
    border-color: var(--xp-card-border-accent) !important;
    box-shadow: var(--sh-card-hover) !important;
}
.guff_fn_pnb .fn_desc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--fs-micro);
    margin-bottom: var(--sp-2);
}
.guff_fn_pnb .fn_title {
    font-family: var(--xp-font-h) !important;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    line-height: 1.35;
}
.guff_fn_pnb .next__item { text-align: right; }
@media (max-width: 640px) {
    .guff_fn_pnb { grid-template-columns: 1fr !important; }
    .guff_fn_pnb .next__item { text-align: left; }
}

/* Author bio card (bottom of post) */
.guff_fn_singlepost .single__author,
.guff_fn_singlepost .author_container,
.guff_fn_author_box {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-xl) !important;
    padding: var(--sp-6) var(--sp-7) !important;
    backdrop-filter: blur(10px);
    margin: var(--sp-8) 0 !important;
    display: flex;
    gap: var(--sp-5);
    align-items: flex-start;
}
.guff_fn_author_box .avatar,
.guff_fn_singlepost .single__author .avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 2px solid var(--xp-purple);
    overflow: hidden;
    flex-shrink: 0;
}
.guff_fn_author_box h4,
.guff_fn_author_box .name {
    color: var(--xp-text-1) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    margin-bottom: var(--sp-2);
}
.guff_fn_author_box p,
.guff_fn_author_box .bio {
    color: var(--xp-text-3) !important;
}

/* Related posts heading */
.guff_fn_related,
.related_posts {
    margin-top: var(--sp-9);
}
.guff_fn_related h3,
.related_posts .main_title h3 {
    font-family: var(--xp-font-h) !important;
    font-weight: 900;
    text-align: center;
    margin-bottom: var(--sp-7);
}

/* ——————————————————————————————————————————————————————————————
   KOENIG EDITOR BLOCKS — remap to cosmic palette
   ——————————————————————————————————————————————————————————————— */

/* Callouts (6 color variants) */
.kg-callout-card {
    border-radius: var(--r-lg) !important;
    padding: var(--sp-5) var(--sp-6) !important;
    margin: var(--sp-6) 0 !important;
    backdrop-filter: blur(8px);
    border: 1px solid !important;
}
.kg-callout-card .kg-callout-text,
.kg-callout-card .kg-callout-text * { color: var(--xp-text-1) !important; }
.kg-callout-card-grey    { background: rgba(255,255,255,0.05) !important; border-color: var(--xp-card-border) !important; }
.kg-callout-card-white   { background: rgba(255,255,255,0.06) !important; border-color: var(--xp-card-border-strong) !important; }
.kg-callout-card-blue    { background: rgba(59,130,246,0.14) !important;  border-color: rgba(59,130,246,0.34) !important; }
.kg-callout-card-green   { background: rgba(16,185,129,0.14) !important;  border-color: rgba(16,185,129,0.34) !important; }
.kg-callout-card-yellow  { background: rgba(245,166,35,0.14) !important;  border-color: rgba(245,166,35,0.34) !important; }
.kg-callout-card-red     { background: rgba(255,75,92,0.14) !important;   border-color: rgba(255,75,92,0.34) !important; }
.kg-callout-card-pink,
.kg-callout-card-accent  { background: rgba(123,77,255,0.14) !important;  border-color: rgba(123,77,255,0.34) !important; }
.kg-callout-card .kg-callout-emoji { font-size: 1.4rem; margin-right: var(--sp-2); }

/* Bookmark card */
.kg-bookmark-card .kg-bookmark-container,
.kg-bookmark-card a.kg-bookmark-container {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-lg) !important;
    color: var(--xp-text-1) !important;
    backdrop-filter: blur(8px);
    overflow: hidden;
    transition: border-color var(--t-fast), transform var(--t-fast);
    text-decoration: none !important;
    box-shadow: none !important;
}
.kg-bookmark-card .kg-bookmark-container:hover {
    border-color: var(--xp-purple) !important;
    transform: translateY(-2px);
}
.kg-bookmark-title { color: var(--xp-text-1) !important; font-family: var(--xp-font-h); font-weight: 800; }
.kg-bookmark-description { color: var(--xp-text-3) !important; }
.kg-bookmark-metadata,
.kg-bookmark-author,
.kg-bookmark-publisher { color: var(--xp-text-4) !important; }

/* Button card */
.kg-button-card .kg-btn,
.kg-button-card a.kg-btn {
    background: var(--g-cta) !important;
    color: var(--xp-ink) !important;
    border: none !important;
    border-radius: var(--r-pill) !important;
    padding: 14px 30px !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: var(--sh-button-cta);
    transition: transform var(--t-fast) var(--ease-out),
                box-shadow var(--t-fast) var(--ease-out);
    text-decoration: none !important;
}
.kg-button-card .kg-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-button-cta), var(--sh-glow-orange);
}

/* Header card (cosmic gradient hero inside post) */
.kg-header-card {
    background: var(--g-surface) !important;
    border-radius: var(--r-xl) !important;
    padding: var(--sp-9) var(--sp-7) !important;
    position: relative;
    overflow: hidden;
}
.kg-header-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 70% at 20% 30%, rgba(123,77,255,0.22) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 70%, rgba(59,130,246,0.16) 0%, transparent 58%);
    pointer-events: none;
}
.kg-header-card .kg-header-card-header,
.kg-header-card .kg-header-card-heading {
    color: var(--xp-text-1) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    position: relative;
}
.kg-header-card .kg-header-card-subheader,
.kg-header-card .kg-header-card-subheading {
    color: var(--xp-text-3) !important;
    position: relative;
}
.kg-header-card .kg-header-card-button {
    background: var(--g-cta) !important;
    color: var(--xp-ink) !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    position: relative;
}

/* Signup card (matches footer newsletter treatment) */
.kg-signup-card {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border-accent) !important;
    border-radius: var(--r-xl) !important;
    padding: var(--sp-8) var(--sp-7) !important;
    backdrop-filter: blur(10px);
    box-shadow: var(--sh-card), 0 0 38px rgba(123,77,255,0.14);
}
.kg-signup-card-heading { color: var(--xp-text-1) !important; font-family: var(--xp-font-h) !important; }
.kg-signup-card-subheading { color: var(--xp-text-3) !important; }
.kg-signup-card input[type="email"] {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid var(--xp-card-border-strong) !important;
    color: var(--xp-text-1) !important;
    border-radius: var(--r-pill) !important;
}
.kg-signup-card button {
    background: var(--g-cta) !important;
    color: var(--xp-ink) !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    border: none !important;
}

/* Product / file / gallery cards */
.kg-product-card,
.kg-product-card-container {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-lg) !important;
    padding: var(--sp-5) !important;
}
.kg-product-card-title { color: var(--xp-text-1) !important; font-family: var(--xp-font-h) !important; }
.kg-product-card-description { color: var(--xp-text-3) !important; }
.kg-product-card-button {
    background: var(--g-cta) !important;
    color: var(--xp-ink) !important;
    border-radius: var(--r-pill) !important;
}
.kg-file-card,
.kg-file-card-container {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-md) !important;
}
.kg-file-card-filename,
.kg-file-card-title { color: var(--xp-text-1) !important; }
.kg-file-card-metadata,
.kg-file-card-filesize,
.kg-file-card-filetype,
.kg-file-card-caption { color: var(--xp-text-4) !important; }
.kg-gallery-card .kg-gallery-container img {
    border-radius: var(--r-md) !important;
}

/* Wide and full image widths — rounded corners + purple glow on hover */
.kg-width-wide img, .kg-width-full img {
    border-radius: var(--r-lg);
    transition: box-shadow var(--t-base) var(--ease-out);
}
.kg-width-wide img:hover, .kg-width-full img:hover {
    box-shadow: 0 0 0 2px rgba(123,77,255,0.3), var(--sh-glow-purple);
}
.kg-image-card figcaption,
.kg-embed-card figcaption { color: var(--xp-text-4) !important; text-align: center; }

/* Audio / video players */
.kg-audio-card, .kg-video-card {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-lg) !important;
}

/* Toggle card */
.kg-toggle-card {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border) !important;
    border-radius: var(--r-lg) !important;
    padding: var(--sp-5) !important;
}
.kg-toggle-heading-text { color: var(--xp-text-1) !important; }
.kg-toggle-content { color: var(--xp-text-2) !important; }

/* ════════════════════════════════════════════════════════════════
   FOOTER (xp-footer rebuild — 4-column layout matching getxplain.ai)
   ════════════════════════════════════════════════════════════════ */

#guff_fn_footer.xp-footer,
.xp-footer {
    padding: var(--sp-11) clamp(20px, 4vw, 64px) var(--sp-6) !important;
    display: block !important;
    background: linear-gradient(180deg,
        var(--xp-bg) 0%,
        var(--xp-bg-deep) 100%) !important;
    border-top: 1px solid rgba(123,77,255,0.22);
    position: relative;
}
.xp-footer::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: var(--g-divider);
}
.xp-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid !important;
    grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
    gap: var(--sp-8);
    background: transparent !important;
    align-items: start;
}
@media (max-width: 992px) {
    .xp-footer__inner { grid-template-columns: 1fr 1fr; }
    .xp-footer__subscribe { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .xp-footer__inner { grid-template-columns: 1fr; }
}

.xp-footer__col { min-width: 0; }

.xp-footer__brand { padding-right: var(--sp-5); }
.xp-footer__logo img { max-height: 46px; width: auto; filter: drop-shadow(0 2px 10px rgba(123,77,255,0.4)); }
.xp-footer__wordmark {
    display: inline-block;
    font-family: var(--xp-font-h);
    font-weight: 900;
    font-size: 1.8rem;
    color: var(--xp-text-1);
    letter-spacing: -0.02em;
}
.xp-footer__wordmark .xp-accent-x  { color: var(--xp-purple-lt); }
.xp-footer__wordmark .xp-accent-ai { color: var(--xp-gold); }

.xp-footer__tagline {
    color: var(--xp-text-3) !important;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: var(--sp-4) 0 var(--sp-5);
    max-width: 36ch;
}
.xp-footer__contact {
    color: var(--xp-text-3);
    font-size: 0.88rem;
    margin-top: var(--sp-4);
}
.xp-footer__contact-label {
    display: inline-block;
    color: var(--xp-text-4);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    margin-right: var(--sp-2);
    font-weight: 800;
}
.xp-footer__contact a { color: var(--xp-orange) !important; }

.xp-footer__social { margin-top: var(--sp-4); }
.xp-footer__social .guff_fn_social_list ul {
    display: flex;
    gap: var(--sp-3);
    padding: 0;
    margin: 0;
    list-style: none;
}
.xp-footer__social .guff_fn_social_list a {
    width: 38px; height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid var(--xp-card-border-strong) !important;
    border-radius: 50% !important;
    color: var(--xp-text-1) !important;
    transition: all var(--t-fast) var(--ease-out);
}
.xp-footer__social .guff_fn_social_list a:hover {
    background: var(--g-primary) !important;
    border-color: var(--xp-purple) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(123,77,255,0.4);
}
.xp-footer__social .guff_fn_social_list svg {
    width: 16px; height: 16px;
    fill: currentColor !important;
}

.xp-footer__heading {
    color: var(--xp-text-1) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin: 0 0 var(--sp-5) !important;
}
.xp-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.xp-footer__list li { margin-bottom: var(--sp-3); }
.xp-footer__list a {
    color: var(--xp-text-3) !important;
    font-family: var(--xp-font-b) !important;
    font-size: 0.95rem;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: color var(--t-fast) var(--ease-out),
                padding-left var(--t-fast) var(--ease-out);
}
.xp-footer__list a:hover {
    color: var(--xp-orange) !important;
    padding-left: 4px;
}

/* Newsletter card */
.xp-newsletter {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border-accent) !important;
    border-radius: var(--r-xl) !important;
    padding: var(--sp-6) var(--sp-6) !important;
    backdrop-filter: blur(10px);
    box-shadow: var(--sh-card), 0 0 38px rgba(123,77,255,0.12);
    position: relative;
    overflow: hidden;
}
.xp-newsletter::before {
    content: '';
    position: absolute;
    inset: -30% -30% auto auto;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(123,77,255,0.30) 0%, transparent 70%);
    pointer-events: none;
}
.xp-newsletter__glyph {
    width: 48px; height: 48px;
    background: var(--g-primary);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-bottom: var(--sp-4);
    box-shadow: 0 10px 24px rgba(123,77,255,0.4);
    position: relative;
    z-index: 1;
}
.xp-newsletter__glyph svg { width: 22px; height: 22px; fill: #fff; }
.xp-newsletter__title {
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    color: var(--xp-text-1) !important;
    font-size: 1.3rem !important;
    margin: 0 0 var(--sp-2) !important;
    position: relative;
    z-index: 1;
}
.xp-newsletter__desc {
    color: var(--xp-text-3) !important;
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0 0 var(--sp-5);
    position: relative;
    z-index: 1;
}
.xp-newsletter__form,
.xp-newsletter__row {
    position: relative;
    z-index: 1;
}
.xp-newsletter__row {
    display: flex;
    gap: var(--sp-2);
    flex-wrap: wrap;
}
.xp-newsletter__input {
    flex: 1 1 180px;
    padding: 12px 18px !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid var(--xp-card-border-strong) !important;
    color: var(--xp-text-1) !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-b) !important;
}
.xp-newsletter__input::placeholder { color: rgba(255,255,255,0.45); }
.xp-newsletter__submit {
    padding: 12px 22px !important;
    background: var(--g-cta) !important;
    color: var(--xp-ink) !important;
    border: none !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: var(--sh-button-cta);
    transition: transform var(--t-fast) var(--ease-out),
                box-shadow var(--t-fast) var(--ease-out);
}
.xp-newsletter__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-button-cta), var(--sh-glow-orange);
}
.xp-newsletter__msg {
    margin-top: var(--sp-3);
    color: var(--xp-green);
    font-size: 0.85rem;
    min-height: 1.3em;
}

/* Bottom bar */
.xp-footer__bottom {
    max-width: 1200px;
    margin: var(--sp-9) auto 0;
    padding-top: var(--sp-5);
    border-top: 1px solid var(--xp-card-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-4);
    flex-wrap: wrap;
}
.xp-footer__copy {
    color: var(--xp-text-4) !important;
    font-size: 0.82rem;
    margin: 0;
}
.xp-footer__copy a { color: var(--xp-text-2) !important; text-decoration: none; }
.xp-footer__copy a:hover { color: var(--xp-orange) !important; }
.xp-footer__totop {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 8px 18px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--xp-card-border-strong) !important;
    border-radius: var(--r-pill) !important;
    color: var(--xp-text-2) !important;
    font-family: var(--xp-font-h);
    font-weight: 800;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: all var(--t-fast) var(--ease-out);
}
.xp-footer__totop:hover {
    background: var(--g-primary) !important;
    border-color: var(--xp-purple) !important;
    color: #fff !important;
}
.xp-footer__totop svg { width: 12px; height: 12px; fill: currentColor !important; }

/* Kill legacy footer internals that the new layout doesn't use */
.xp-footer .footer_left,
.xp-footer .footer_right,
.xp-footer .footer_info,
.xp-footer .footer_divider,
.xp-footer .footer_welcome,
.xp-footer .footer_copyright,
.xp-footer .footer_left_in { display: none !important; }

/* ════════════════════════════════════════════════════════════════
   TAG + AUTHOR ARCHIVE
   ════════════════════════════════════════════════════════════════ */

.guff_fn_tag_page,
.guff_fn_author_page {
    padding: var(--sp-7) 0 var(--sp-9);
}
.guff_fn_tag_page .container,
.guff_fn_author_page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(16px, 3vw, 40px);
}

/* Hero card */
.fn__tag_info,
.fn__author_info {
    background: var(--xp-card) !important;
    border: 1px solid var(--xp-card-border-accent) !important;
    border-radius: var(--r-2xl) !important;
    padding: clamp(20px, 3vw, 48px) !important;
    backdrop-filter: blur(10px);
    box-shadow: var(--sh-card), 0 0 48px rgba(123,77,255,0.14);
    margin-bottom: var(--sp-9);
    display: grid !important;
    grid-template-columns: auto 1fr;
    gap: var(--sp-7);
    align-items: center;
    position: relative;
    overflow: hidden;
}
.fn__tag_info::before,
.fn__author_info::before {
    content: '';
    position: absolute;
    inset: -40% -30% auto auto;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(123,77,255,0.22) 0%, transparent 70%);
    pointer-events: none;
}
@media (max-width: 720px) {
    .fn__tag_info, .fn__author_info { grid-template-columns: 1fr; text-align: center; }
}

.fn__tag_info .left_part .img,
.fn__author_info .left_part .img {
    width: clamp(120px, 16vw, 180px);
    height: clamp(120px, 16vw, 180px);
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--xp-purple);
    box-shadow: 0 12px 36px rgba(123,77,255,0.32);
    position: relative;
    z-index: 1;
}
.fn__tag_info .left_part .img_in,
.fn__author_info .left_part .img_in { width: 100%; height: 100%; }
.fn__tag_info .left_part img,
.fn__author_info .left_part img {
    width: 100%; height: 100%; object-fit: cover;
}

.fn__tag_info .right_part,
.fn__author_info .right_part {
    position: relative;
    z-index: 1;
}
.fn__tag_info .small_desc,
.fn__author_info .fn__short_meta {
    color: var(--xp-orange) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 800;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: var(--sp-3);
}
.fn__tag_info .title,
.fn__author_info .title {
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
    line-height: 1.12 !important;
    color: var(--xp-text-1) !important;
    letter-spacing: -0.02em;
    margin: 0 0 var(--sp-4) !important;
    background: var(--g-hero);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.fn__tag_info .title .cat { display: none !important; }
.fn__tag_info .desc,
.fn__author_info .desc {
    color: var(--xp-text-3) !important;
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 60ch;
}
.fn__author_info .fn__social_info {
    margin-top: var(--sp-5);
    display: flex;
    gap: var(--sp-4);
    align-items: center;
    flex-wrap: wrap;
}
.fn__author_info .guff_fn_mini_social ul {
    display: flex;
    gap: var(--sp-2);
    padding: 0;
    margin: 0;
    list-style: none;
}
.fn__author_info .guff_fn_mini_social a {
    width: 36px; height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--xp-card-border-strong);
    border-radius: 50%;
    color: var(--xp-text-1) !important;
    transition: all var(--t-fast) var(--ease-out);
}
.fn__author_info .guff_fn_mini_social a:hover {
    background: var(--g-primary);
    border-color: var(--xp-purple);
    transform: translateY(-2px);
}
.fn__author_info .website a {
    color: var(--xp-orange) !important;
    font-size: 0.9rem;
    word-break: break-all;
}

/* Post grid below hero */
body.tag-template .fn_cs_posts_layout_slider,
body.author-template .fn_cs_posts_layout_slider { display: none !important; }

/* ════════════════════════════════════════════════════════════════
   404 / ERROR PAGE
   ════════════════════════════════════════════════════════════════ */

body.error-template .gh-error,
body.error-template .error_page,
.guff_fn_error_page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--sp-11) var(--sp-5);
    max-width: 640px;
    margin: 0 auto;
}
body.error-template .gh-error-code,
.guff_fn_error_page .error_code,
.error-content h1 {
    font-family: var(--xp-font-h) !important;
    font-weight: 900 !important;
    font-size: clamp(4rem, 12vw, 8rem) !important;
    line-height: 1 !important;
    background: var(--g-primary) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    margin: 0 0 var(--sp-4) !important;
}
body.error-template .gh-error-message,
.guff_fn_error_page .error_description {
    color: var(--xp-text-2) !important;
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: var(--sp-7);
}

/* ════════════════════════════════════════════════════════════════
   PAGINATION
   ════════════════════════════════════════════════════════════════ */

.pagination,
.fn_pagination,
.guff_fn_pagination,
nav.pagination {
    display: flex !important;
    gap: var(--sp-2);
    justify-content: center;
    align-items: center;
    margin: var(--sp-9) 0;
    flex-wrap: wrap;
}
.pagination a,
.pagination span,
.fn_pagination a,
.fn_pagination span,
.guff_fn_pagination a,
.guff_fn_pagination span,
nav.pagination a,
nav.pagination span {
    min-width: 42px;
    padding: 10px 18px;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--xp-card-border) !important;
    color: var(--xp-text-2) !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 800 !important;
    font-size: 0.9rem;
    text-decoration: none !important;
    text-align: center;
    transition: all var(--t-fast) var(--ease-out);
}
.pagination a:hover,
.fn_pagination a:hover,
.guff_fn_pagination a:hover {
    background: var(--g-primary) !important;
    color: #fff !important;
    border-color: var(--xp-purple) !important;
    transform: translateY(-1px);
}
.pagination .page-current,
.pagination span.current,
.fn_pagination .current,
.guff_fn_pagination .current {
    background: var(--g-primary) !important;
    color: #fff !important;
    border-color: var(--xp-purple) !important;
}

/* Load more button */
.load_more,
.guff_fn_loadmore,
.fn_loadmore {
    display: inline-flex;
    margin: var(--sp-9) auto;
    padding: 14px 32px;
    background: var(--g-primary) !important;
    color: #fff !important;
    border-radius: var(--r-pill) !important;
    font-family: var(--xp-font-h) !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: none !important;
    box-shadow: var(--sh-button);
}

body.tag-template .main_title,
body.author-template .main_title {
    padding: var(--sp-10) var(--sp-5) var(--sp-8);
}

body.tag-template .fn__linetitle,
body.author-template .fn__linetitle {
    margin-top: var(--sp-6) !important;
}
