/*
Theme Name: Guinea Pig Haven
Theme URI: https://wordpress.org/
Description: A magazine-style WordPress theme for guinea pig lovers - clean, content-first design optimized for SEO and engagement
Version: 2.0
Author: Guinea Pig Haven
Text Domain: cangshuwo
*/

/* ========== CSS Reset ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
    /* Magazine Palette - Editorial greens & warm cream */
    --c-ink:#1A2E1A;
    --c-ink-soft:#3D4F3D;
    --c-text:#2C3A2C;
    --c-text-light:#5A6B5A;
    --c-text-muted:#8A9580;

    --c-paper:#FAF7F0;
    --c-paper-warm:#F5F0E4;
    --c-card:#FFFFFF;
    --c-card-alt:#FDFBF6;

    --c-accent:#2D5A3D;
    --c-accent-dark:#1F3F2A;
    --c-accent-light:#A8C8B0;
    --c-accent-soft:#E8F0EA;

    --c-highlight:#C75D3F;
    --c-highlight-soft:#F5D9CF;

    --c-gold:#B8924A;
    --c-gold-soft:#F0E5C8;

    --c-border:#E5DFD3;
    --c-border-light:#F0EBE0;

    --shadow-xs:0 1px 2px rgba(26,46,26,.04);
    --shadow-sm:0 2px 8px rgba(26,46,26,.06);
    --shadow-md:0 6px 20px rgba(26,46,26,.08);
    --shadow-lg:0 12px 40px rgba(26,46,26,.12);

    --r-sm:4px;--r-md:8px;--r-lg:16px;--r-full:9999px;

    --font-serif:"Georgia","Cambria","Times New Roman","Songti SC","Source Han Serif SC",serif;
    --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;

    --max-w:1240px;
    --transition:all .25s cubic-bezier(.4,0,.2,1);
}

html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--c-text);background:var(--c-paper);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}

::selection{background:var(--c-accent);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--c-paper)}
::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:var(--c-accent-light)}

a{color:var(--c-accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--c-accent-dark)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}

/* ========== Header ========== */
.site-header{background:var(--c-card);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100;backdrop-filter:saturate(180%) blur(12px);background-color:rgba(255,255,255,.92)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:0 24px;min-height:72px;gap:24px}

.site-branding{display:flex;align-items:center;gap:12px;flex-shrink:0}
.site-title{font-family:var(--font-serif);font-size:1.55rem;font-weight:700;margin:0;line-height:1;letter-spacing:-.5px}
.site-title a{color:var(--c-ink);display:flex;align-items:center;gap:8px;transition:var(--transition)}
.site-title a:hover{color:var(--c-accent)}
.site-title .logo-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--c-accent);color:#fff;font-size:1.1rem}
.site-description{display:none}

.main-navigation{display:flex;align-items:center;flex:1;justify-content:center}
.nav-menu{display:flex;gap:2px;align-items:center;margin:0;padding:0;flex-wrap:wrap}
.nav-menu li{list-style:none;position:relative}
.nav-menu a{display:block;padding:10px 16px;color:var(--c-ink-soft);font-size:.92rem;font-weight:500;transition:var(--transition);border-radius:var(--r-md)}
.nav-menu a:hover,.nav-menu .current-menu-item>a{color:var(--c-accent);background:var(--c-accent-soft)}
.nav-menu .sub-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--c-card);border-radius:var(--r-md);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);min-width:200px;padding:6px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:var(--transition);z-index:200}
.nav-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu .sub-menu a{padding:8px 12px;border-radius:var(--r-sm);white-space:nowrap;font-size:.88rem}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.menu-toggle .menu-icon{display:block;width:24px;height:2px;background:var(--c-ink);border-radius:2px;transition:all .3s}

.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-search{position:relative}
.search-toggle{background:none;border:none;cursor:pointer;color:var(--c-ink-soft);padding:9px;display:flex;align-items:center;transition:var(--transition);border-radius:var(--r-full)}
.search-toggle:hover{color:var(--c-accent);background:var(--c-accent-soft)}
.search-form-wrapper{position:absolute;right:0;top:calc(100% + 8px);width:340px;padding:16px;background:var(--c-card);border-radius:var(--r-md);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);z-index:200;display:none}
.search-form-wrapper.active{display:block}
.search-form-wrapper form{display:flex;gap:8px}
.search-form-wrapper input[type=search]{flex:1;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:.9rem;font-family:inherit;background:var(--c-paper)}
.search-form-wrapper input[type=search]:focus{outline:none;border-color:var(--c-accent)}
.search-form-wrapper button{padding:10px 18px;background:var(--c-accent);color:#fff;border:none;border-radius:var(--r-md);font-weight:600;cursor:pointer;font-size:.88rem}

/* ========== Hero - Editorial Style ========== */
.hero-editorial{background:var(--c-card-alt);border-bottom:1px solid var(--c-border);padding:64px 0 56px;position:relative;overflow:hidden}
.hero-editorial::before{content:"";position:absolute;top:0;right:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--c-accent-soft) 0%,transparent 70%);border-radius:50%;opacity:.5;pointer-events:none}
.hero-editorial .container{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}

.hero-tagline{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;background:var(--c-accent-soft);color:var(--c-accent-dark);border-radius:var(--r-full);font-size:.78rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px}
.hero-tagline .dot{width:6px;height:6px;background:var(--c-highlight);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.hero-headline{font-family:var(--font-serif);font-size:3.4rem;line-height:1.1;font-weight:700;color:var(--c-ink);letter-spacing:-1.5px;margin-bottom:20px}
.hero-headline em{font-style:italic;color:var(--c-accent);font-weight:400}
.hero-lede{font-size:1.1rem;color:var(--c-text-light);line-height:1.7;margin-bottom:28px;max-width:560px}

.hero-search-box{background:var(--c-card);padding:8px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);border:1px solid var(--c-border);display:flex;gap:8px;max-width:560px;margin-bottom:24px}
.hero-search-box input[type=search]{flex:1;padding:12px 16px;border:none;font-size:.95rem;font-family:inherit;background:transparent;color:var(--c-text)}
.hero-search-box input[type=search]:focus{outline:none}
.hero-search-box button{padding:12px 24px;background:var(--c-ink);color:#fff;border:none;border-radius:var(--r-md);font-weight:600;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}
.hero-search-box button:hover{background:var(--c-accent)}

.hero-stats{display:flex;gap:32px;flex-wrap:wrap}
.hero-stat{display:flex;flex-direction:column}
.hero-stat .stat-num{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;color:var(--c-ink);line-height:1}
.hero-stat .stat-label{font-size:.78rem;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}

.hero-feature{background:var(--c-card);border-radius:var(--r-lg);border:1px solid var(--c-border);padding:28px;box-shadow:var(--shadow-sm)}
.hero-feature-label{font-size:.72rem;color:var(--c-highlight);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}
.hero-feature h3{font-family:var(--font-serif);font-size:1.3rem;line-height:1.3;color:var(--c-ink);margin-bottom:12px;font-weight:700}
.hero-feature-excerpt{font-size:.9rem;color:var(--c-text-light);line-height:1.65;margin-bottom:16px}
.hero-feature-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--c-text-muted)}
.hero-feature-thumb{width:100%;height:160px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--c-accent-soft),var(--c-gold-soft));margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-size:4rem;overflow:hidden}
.hero-feature-thumb img{width:100%;height:100%;object-fit:cover}

/* ========== Section Common ========== */
.section{padding:64px 0}
.section-alt{background:var(--c-card)}
.section-warm{background:var(--c-paper-warm)}

.section-header{margin-bottom:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:2px solid var(--c-ink);padding-bottom:18px}
.section-eyebrow{font-size:.72rem;color:var(--c-highlight);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}
.section-title{font-family:var(--font-serif);font-size:2rem;line-height:1.2;font-weight:700;color:var(--c-ink);letter-spacing:-.5px;margin:0}
.section-link{font-size:.88rem;color:var(--c-accent);font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:var(--transition);white-space:nowrap}
.section-link:hover{color:var(--c-accent-dark);gap:8px}
.section-link::after{content:"→";transition:var(--transition)}
.section-link:hover::after{transform:translateX(2px)}

/* ========== Trending Questions - Long-tail SEO ========== */
.trending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.trending-item{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--c-card);border:1px solid var(--c-border-light);border-radius:var(--r-md);color:var(--c-ink-soft);font-size:.92rem;font-weight:500;transition:var(--transition);text-decoration:none}
.trending-item:hover{border-color:var(--c-accent);color:var(--c-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.trending-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--c-paper-warm);border-radius:var(--r-sm);font-size:.78rem;font-weight:700;color:var(--c-highlight);flex-shrink:0;font-family:var(--font-serif)}
.trending-item:hover .trending-num{background:var(--c-highlight);color:#fff}
.trending-arrow{margin-left:auto;color:var(--c-text-muted);transition:var(--transition);font-size:.9rem}
.trending-item:hover .trending-arrow{color:var(--c-accent);transform:translateX(2px)}

/* ========== Expert Guides - Topic Cluster ========== */
.guides-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.guide-main{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;background:linear-gradient(135deg,var(--c-accent-dark),var(--c-accent))}
.guide-main::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6) 100%);pointer-events:none}
.guide-main .guide-eyebrow{position:relative;z-index:1;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-gold-soft);margin-bottom:12px}
.guide-main h3{position:relative;z-index:1;font-family:var(--font-serif);font-size:1.8rem;line-height:1.25;margin-bottom:12px;font-weight:700}
.guide-main p{position:relative;z-index:1;font-size:.95rem;line-height:1.6;opacity:.92;margin-bottom:16px;max-width:90%}
.guide-main .guide-meta{position:relative;z-index:1;display:flex;align-items:center;gap:14px;font-size:.8rem;opacity:.85}
.guide-main::after{content:"";position:absolute;top:24px;right:24px;width:60px;height:60px;background:rgba(255,255,255,.1);border-radius:50%;backdrop-filter:blur(8px)}

.guides-side{display:flex;flex-direction:column;gap:16px}
.guide-card{display:flex;gap:16px;padding:16px;background:var(--c-card);border:1px solid var(--c-border-light);border-radius:var(--r-lg);transition:var(--transition);color:inherit;text-decoration:none}
.guide-card:hover{border-color:var(--c-accent);transform:translateX(4px);box-shadow:var(--shadow-sm)}
.guide-card-thumb{width:90px;height:90px;border-radius:var(--r-md);flex-shrink:0;background:linear-gradient(135deg,var(--c-accent-soft),var(--c-gold-soft));display:flex;align-items:center;justify-content:center;font-size:2.2rem;overflow:hidden}
.guide-card-thumb img{width:100%;height:100%;object-fit:cover}
.guide-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.guide-card h4{font-family:var(--font-serif);font-size:1.05rem;line-height:1.35;font-weight:700;color:var(--c-ink);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.guide-card .guide-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--c-text-muted)}

/* ========== Tools Section - Interactive ========== */
.tools-feature{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tool-feature{background:var(--c-card);padding:28px 24px;border:1px solid var(--c-border);border-radius:var(--r-lg);transition:var(--transition);position:relative;overflow:hidden}
.tool-feature:hover{border-color:var(--c-accent);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tool-feature::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.tool-feature:hover::before{transform:scaleX(1)}
.tool-feature-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--c-accent-soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;color:var(--c-accent-dark)}
.tool-feature h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--c-ink);margin-bottom:8px;line-height:1.3}
.tool-feature p{font-size:.85rem;color:var(--c-text-light);line-height:1.6;margin-bottom:14px}
.tool-feature-link{font-size:.82rem;color:var(--c-accent);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.tool-feature-link::after{content:"→";transition:transform .2s}
.tool-feature:hover .tool-feature-link::after{transform:translateX(3px)}

/* ========== Article Cards ========== */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.article-card{background:var(--c-card);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border-light);transition:var(--transition);display:flex;flex-direction:column}
.article-card:hover{border-color:var(--c-accent-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-thumb{width:100%;height:200px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--c-accent-soft),var(--c-gold-soft))}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.article-card:hover .card-thumb img{transform:scale(1.06)}
.card-body{padding:22px;flex:1;display:flex;flex-direction:column}
.card-category{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;color:var(--c-accent);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}
.card-category::before{content:"";width:14px;height:2px;background:var(--c-highlight)}
.card-title{font-family:var(--font-serif);font-size:1.2rem;line-height:1.35;font-weight:700;color:var(--c-ink);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-title a{color:inherit;transition:color .2s}
.card-title a:hover{color:var(--c-accent)}
.card-excerpt{font-size:.88rem;color:var(--c-text-light);line-height:1.65;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.card-meta{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--c-border-light);font-size:.78rem;color:var(--c-text-muted)}
.card-meta-author{display:flex;align-items:center;gap:6px}
.author-avatar{width:22px;height:22px;border-radius:50%;background:var(--c-accent-light);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;font-weight:600}

/* ========== FAQ Section ========== */
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:flex-start}
.faq-intro h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--c-ink);margin-bottom:14px;font-weight:700;line-height:1.3}
.faq-intro p{color:var(--c-text-light);line-height:1.7;margin-bottom:20px;font-size:.95rem}
.faq-illustration{width:100%;height:200px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--c-gold-soft),var(--c-accent-soft));display:flex;align-items:center;justify-content:center;font-size:5rem;margin-bottom:20px}
.faq-stats{display:flex;gap:20px;padding:18px;background:var(--c-card);border-radius:var(--r-md);border:1px solid var(--c-border)}
.faq-stats .stat{text-align:center;flex:1}
.faq-stats .stat strong{display:block;font-family:var(--font-serif);font-size:1.5rem;color:var(--c-accent);font-weight:700}
.faq-stats .stat span{font-size:.72rem;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px}

.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;transition:var(--transition)}
.faq-item:hover{border-color:var(--c-accent-light)}
.faq-item.active{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.faq-question{padding:18px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--c-ink);user-select:none}
.faq-question::after{content:"+";font-size:1.4rem;color:var(--c-accent);font-weight:400;transition:transform .3s;font-family:var(--font-sans)}
.faq-item.active .faq-question::after{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer-inner{padding:0 22px 20px;color:var(--c-text-light);line-height:1.7;font-size:.92rem;border-top:1px solid var(--c-border-light);padding-top:16px}
.faq-item.active .faq-answer{max-height:500px}

/* ========== Categories ========== */
.categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.category-card{position:relative;padding:28px 22px 24px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:var(--transition);text-decoration:none;color:inherit;overflow:hidden}
.category-card:hover{border-color:var(--c-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.category-card-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--c-paper-warm);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px;color:var(--c-accent-dark);transition:var(--transition)}
.category-card:hover .category-card-icon{background:var(--c-accent);color:#fff}
.category-card h4{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--c-ink);margin-bottom:6px}
.category-card p{font-size:.82rem;color:var(--c-text-light);line-height:1.55;margin-bottom:14px}
.category-card .cat-count{font-size:.78rem;color:var(--c-text-muted);font-weight:600}

/* ========== Latest List - Newspaper Style ========== */
.latest-list{display:flex;flex-direction:column}
.latest-item{display:grid;grid-template-columns:auto 130px 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--c-border-light);transition:var(--transition);text-decoration:none;color:inherit}
.latest-item:hover{background:var(--c-card-alt);padding-left:12px;padding-right:12px}
.latest-item:first-child{padding-top:0}
.latest-rank{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--c-border);min-width:48px;line-height:1}
.latest-item:hover .latest-rank{color:var(--c-accent)}
.latest-item:nth-child(-n+3) .latest-rank{color:var(--c-highlight)}
.latest-thumb{width:130px;height:80px;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(135deg,var(--c-accent-soft),var(--c-gold-soft))}
.latest-thumb img{width:100%;height:100%;object-fit:cover}
.latest-info{min-width:0}
.latest-info h4{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--c-ink);margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-info h4 a{color:inherit}
.latest-info h4 a:hover{color:var(--c-accent)}
.latest-meta{display:flex;align-items:center;gap:14px;font-size:.75rem;color:var(--c-text-muted)}
.latest-meta .cat-tag{color:var(--c-accent);font-weight:600}
.latest-arrow{color:var(--c-text-muted);transition:var(--transition);font-size:1.1rem}
.latest-item:hover .latest-arrow{color:var(--c-accent);transform:translateX(4px)}

/* ========== Newsletter - Magazine Cover Style ========== */
.newsletter-section{background:var(--c-ink);color:#fff;padding:72px 0;position:relative;overflow:hidden}
.newsletter-section::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--c-highlight)}
.newsletter-content{max-width:640px;margin:0 auto;text-align:center;position:relative;z-index:1}
.newsletter-eyebrow{font-size:.78rem;color:var(--c-gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.newsletter-title{font-family:var(--font-serif);font-size:2.4rem;font-weight:700;margin-bottom:14px;line-height:1.2;letter-spacing:-.5px}
.newsletter-desc{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.6;margin-bottom:28px}
.newsletter-form{display:flex;gap:8px;max-width:480px;margin:0 auto 14px}
.newsletter-form input[type=email]{flex:1;padding:14px 18px;border:none;border-radius:var(--r-md);font-size:.95rem;font-family:inherit;background:rgba(255,255,255,.95)}
.newsletter-form input[type=email]:focus{outline:2px solid var(--c-gold)}
.newsletter-form button{padding:14px 28px;background:var(--c-highlight);color:#fff;border:none;border-radius:var(--r-md);font-weight:600;cursor:pointer;font-size:.95rem;transition:var(--transition);white-space:nowrap}
.newsletter-form button:hover{background:#A84830;transform:translateY(-1px)}
.newsletter-meta{font-size:.78rem;color:rgba(255,255,255,.55)}

/* ========== Footer ========== */
.site-footer{background:var(--c-card-alt);border-top:1px solid var(--c-border);padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px}
.footer-brand .site-title{font-size:1.3rem;margin-bottom:12px}
.footer-brand p{font-size:.88rem;color:var(--c-text-light);line-height:1.6;max-width:300px}
.footer-col h5{font-family:var(--font-serif);font-size:.95rem;color:var(--c-ink);margin-bottom:14px;font-weight:700}
.footer-col ul li{margin-bottom:8px}
.footer-col ul a{color:var(--c-text-light);font-size:.85rem;transition:var(--transition)}
.footer-col ul a:hover{color:var(--c-accent)}
.footer-bottom{padding-top:24px;border-top:1px solid var(--c-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:.78rem;color:var(--c-text-muted)}

/* ========== Breadcrumb ========== */
.breadcrumb{padding:14px 0;font-size:.82rem;color:var(--c-text-muted);border-bottom:1px solid var(--c-border-light);background:var(--c-card)}
.breadcrumb a{color:var(--c-text-light)}
.breadcrumb a:hover{color:var(--c-accent)}
.breadcrumb .sep{margin:0 8px;color:var(--c-border)}

/* ========== Responsive ========== */
@media (max-width:1024px){
    .hero-editorial .container{grid-template-columns:1fr;gap:40px}
    .hero-headline{font-size:2.6rem}
    .guides-layout{grid-template-columns:1fr}
    .articles-grid,.tools-feature,.categories-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
    .faq-layout{grid-template-columns:1fr;gap:32px}
}
@media (max-width:768px){
    .nav-menu,.header-actions .menu-toggle{display:none}
    .menu-toggle{display:flex}
    .hero-headline{font-size:2rem}
    .hero-stats{gap:20px}
    .section-title{font-size:1.6rem}
    .articles-grid,.tools-feature,.categories-grid,.trending-grid{grid-template-columns:1fr}
    .latest-item{grid-template-columns:1fr;gap:12px}
    .latest-thumb{width:100%;height:160px}
    .newsletter-title{font-size:1.8rem}
    .newsletter-form{flex-direction:column}
    .footer-grid{grid-template-columns:1fr}
    .container{padding:0 16px}
    .section{padding:48px 0}
}

/* ============================================================
   SINGLE POST PAGE
   ============================================================ */
.main-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;padding:40px 0;align-items:flex-start}
.main-content{min-width:0}

.single-post-content{background:var(--c-card);border-radius:var(--r-lg);border:1px solid var(--c-border);padding:40px 44px}
.post-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--c-border-light)}
.post-header h1{font-family:var(--font-serif);font-size:2rem;line-height:1.25;font-weight:700;color:var(--c-ink);margin-bottom:16px;letter-spacing:-.5px}
.post-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.82rem;color:var(--c-text-muted)}
.post-meta > span{display:inline-flex;align-items:center;gap:5px}
.post-featured-image{margin-bottom:28px;border-radius:var(--r-md);overflow:hidden;max-height:460px}
.post-featured-image img{width:100%;height:100%;object-fit:cover}

.post-body{font-size:1rem;line-height:1.8;color:var(--c-text)}
.post-body h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--c-ink);margin:2em 0 .75em;letter-spacing:-.3px}
.post-body h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:700;color:var(--c-ink);margin:1.5em 0 .6em}
.post-body h4{font-size:1.05rem;font-weight:700;color:var(--c-ink);margin:1.2em 0 .5em}
.post-body p{margin-bottom:1.2em}
.post-body ul,.post-body ol{margin:0 0 1.2em 1.5em}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li{margin-bottom:.4em}
.post-body a{color:var(--c-accent);text-decoration:underline;text-underline-offset:2px}
.post-body a:hover{color:var(--c-accent-dark)}
.post-body blockquote{background:var(--c-accent-soft);border-left:4px solid var(--c-accent);padding:16px 20px;margin:1.5em 0;border-radius:0 var(--r-md) var(--r-md) 0;font-style:italic;color:var(--c-text)}
.post-body img{border-radius:var(--r-md);max-width:100%;height:auto;margin:1em 0}
.post-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.92rem}
.post-body th,.post-body td{border:1px solid var(--c-border);padding:10px 14px;text-align:left}
.post-body th{background:var(--c-paper-warm);font-weight:700;color:var(--c-ink)}
.post-body tr:nth-child(even){background:var(--c-paper)}

.page-links{margin:24px 0;font-size:.88rem;display:flex;gap:8px;flex-wrap:wrap}
.page-links span,.page-links a{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--r-sm);background:var(--c-paper-warm);color:var(--c-text)}
.page-links a:hover{background:var(--c-accent-soft);color:var(--c-accent)}

.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--c-border-light)}
.tag-label{font-size:.8rem;font-weight:700;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px}
.post-tags a{padding:4px 12px;background:var(--c-paper-warm);border:1px solid var(--c-border);border-radius:var(--r-full);font-size:.78rem;color:var(--c-text-light);transition:var(--transition)}
.post-tags a:hover{border-color:var(--c-accent);color:var(--c-accent);background:var(--c-accent-soft)}

/* Like Button */
.post-like{margin:28px 0}
.like-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--c-paper-warm);border:1px solid var(--c-border);border-radius:var(--r-full);cursor:pointer;font-size:.88rem;color:var(--c-text);transition:var(--transition)}
.like-btn:hover{background:var(--c-accent-soft);border-color:var(--c-accent);color:var(--c-accent)}
.like-btn.liked{background:var(--c-highlight-soft);border-color:var(--c-highlight);color:var(--c-highlight);cursor:default}
.like-icon{font-size:1.1rem}
.like-count{background:var(--c-card);padding:2px 8px;border-radius:var(--r-full);font-weight:700;font-size:.78rem}

/* Author Box */
.author-box{display:flex;gap:18px;padding:22px;background:var(--c-paper-warm);border-radius:var(--r-lg);margin:24px 0;border:1px solid var(--c-border)}
.author-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--c-accent-light);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;font-weight:700}
.author-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.author-info{min-width:0}
.author-name{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--c-ink);margin-bottom:6px}
.author-desc{font-size:.82rem;color:var(--c-text-light);line-height:1.5}

/* Xiaowo Says */
.xiaowo-says{background:var(--c-card);border:1px solid var(--c-accent-light);border-radius:var(--r-lg);padding:20px 22px;margin:24px 0}
.xiaowo-says-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.xiaowo-says-avatar{width:32px;height:32px;border-radius:50%;background:var(--c-accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.xiaowo-says-name{font-family:var(--font-serif);font-size:.92rem;font-weight:700;color:var(--c-accent-dark)}
.xiaowo-says-body{font-size:.88rem;color:var(--c-text-light);line-height:1.65;font-style:italic}

/* Post Navigation */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.nav-prev,.nav-next{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);transition:var(--transition);min-width:0}
.nav-prev:hover,.nav-next:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.nav-prev{grid-column:1}
.nav-next{grid-column:2}
.post-nav-label{font-size:.72rem;font-weight:700;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px}
.post-nav-cat{font-size:.75rem;color:var(--c-accent);font-weight:600}
.post-nav-title{font-family:var(--font-serif);font-size:.95rem;font-weight:600;color:var(--c-ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nav-empty{}

/* Related Tools */
.related-tools{margin:32px 0;padding-top:24px;border-top:1px solid var(--c-border-light)}
.related-tools h2{font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--c-ink);margin-bottom:16px}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tool-card{display:flex;gap:12px;padding:16px;background:var(--c-paper-warm);border:1px solid var(--c-border);border-radius:var(--r-md);transition:var(--transition)}
.tool-card:hover{border-color:var(--c-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.tool-card-icon{font-size:1.4rem;flex-shrink:0;width:36px;height:36px;background:var(--c-card);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}
.tool-card-body{min-width:0}
.tool-card-name{font-size:.88rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;line-height:1.3}
.tool-card-desc{font-size:.75rem;color:var(--c-text-light);line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tool-card-btn{font-size:.75rem;color:var(--c-accent);font-weight:600;display:inline-block}

/* Related Articles */
.related-posts{margin:32px 0;padding-top:24px;border-top:1px solid var(--c-border-light)}
.related-posts h2{font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--c-ink);margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.related-card{display:flex;gap:12px;padding:12px;background:var(--c-paper-warm);border:1px solid var(--c-border-light);border-radius:var(--r-md);transition:var(--transition)}
.related-card:hover{border-color:var(--c-accent);box-shadow:var(--shadow-xs)}
.related-thumb{width:72px;height:52px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;background:var(--c-accent-soft)}
.related-thumb img{width:100%;height:100%;object-fit:cover}
.related-info{min-width:0}
.related-title{font-family:var(--font-serif);font-size:.88rem;font-weight:600;color:var(--c-ink);line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-title a{color:inherit}
.related-title a:hover{color:var(--c-accent)}
.related-meta{display:flex;gap:10px;font-size:.72rem;color:var(--c-text-muted)}

/* Post QA */
.post-qa-section{margin:28px 0;padding-top:20px;border-top:1px solid var(--c-border-light)}
.post-qa-title{font-family:var(--font-serif);font-size:1.2rem;font-weight:700;color:var(--c-ink);margin-bottom:16px}
.post-qa-list{display:flex;flex-direction:column;gap:10px}
.post-qa-item{background:var(--c-paper-warm);border:1px solid var(--c-border-light);border-radius:var(--r-md);overflow:hidden}
.post-qa-question{display:flex;gap:10px;padding:12px 16px;background:var(--c-accent-soft);font-weight:700;color:var(--c-accent-dark);font-size:.88rem}
.post-qa-q-icon{min-width:20px;font-weight:900}
.post-qa-answer{display:flex;gap:10px;padding:12px 16px;color:var(--c-text);font-size:.88rem;line-height:1.55}
.post-qa-a-icon{min-width:20px;font-weight:900;color:var(--c-highlight)}

/* Comments Area */
.comments-area{margin-top:32px;padding-top:24px;border-top:1px solid var(--c-border-light)}
.comment-content-wrap,.comment{font-size:.88rem}

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar{position:sticky;top:88px}
.sidebar .widget{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;margin-bottom:16px}
.sidebar .widget-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--c-ink);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--c-ink);display:flex;align-items:center;gap:6px}

/* About Widget */
.sidebar-about-text{font-size:.82rem;color:var(--c-text-light);line-height:1.6;margin-bottom:14px}

/* Tool Links in Sidebar */
.sidebar-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sidebar-tools li a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-md);color:var(--c-text);font-size:.85rem;transition:var(--transition)}
.sidebar-tools li a:hover{background:var(--c-accent-soft);color:var(--c-accent)}
.sidebar-tools .tool-icon{width:22px;height:22px;border-radius:var(--r-sm);background:var(--c-paper-warm);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}

/* Post Thumb Placeholder */
.post-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--c-accent-light);background:var(--c-accent-soft)}

/* Sidebar Categories */
.sidebar-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.sidebar-cats li a{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-radius:var(--r-md);color:var(--c-text-light);font-size:.85rem;transition:var(--transition)}
.sidebar-cats li a:hover{background:var(--c-accent-soft);color:var(--c-accent)}
.sidebar-cats .cat-count{background:var(--c-paper);padding:2px 8px;border-radius:var(--r-full);font-size:.72rem;color:var(--c-text-muted);font-weight:600}

/* Sidebar Latest Posts */
.sidebar-latest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sidebar-latest li{display:flex;gap:10px}
.sidebar-latest-thumb{width:54px;height:40px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;background:var(--c-accent-soft)}
.sidebar-latest-thumb img{width:100%;height:100%;object-fit:cover}
.sidebar-latest-info{min-width:0}
.sidebar-latest-title{font-size:.8rem;font-weight:600;color:var(--c-ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:3px}
.sidebar-latest-title a{color:inherit}
.sidebar-latest-title a:hover{color:var(--c-accent)}
.sidebar-latest-date{font-size:.7rem;color:var(--c-text-muted)}

/* ============================================================
   ARCHIVE / CATEGORY / TAG PAGES
   ============================================================ */
.archive-header{padding:40px 0 24px;border-bottom:1px solid var(--c-border);background:var(--c-card-alt);margin-bottom:40px}
.archive-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--c-ink);margin-bottom:8px}
.archive-desc{font-size:.92rem;color:var(--c-text-light);max-width:640px}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding-bottom:48px}

/* ============================================================
   UTILITY ICONS (inline SVG to replace emoji)
   ============================================================ */
.icon-calendar,.icon-date{background:none;border:none;display:inline-flex;align-items:center;gap:4px}
.icon-calendar::before{content:"";display:inline-block;width:12px;height:12px;border:1.5px solid currentColor;border-radius:2px}
.icon-user,.icon-author{display:inline-flex;align-items:center;gap:4px}
.icon-eye{display:inline-flex;align-items:center;gap:4px}
.icon-comment{display:inline-flex;align-items:center;gap:4px}
.icon-folder{display:inline-flex;align-items:center;gap:4px}
.icon-book{display:inline-flex;align-items:center;gap:4px}
.icon-tag{display:inline-flex;align-items:center;gap:4px}
.icon-tools{display:inline-flex;align-items:center;gap:4px}
.icon-pin{display:inline-flex;align-items:center;gap:4px}
.icon-question{display:inline-flex;align-items:center;gap:4px}
.icon-wrench{display:inline-flex;align-items:center;gap:4px}
.icon-pin2{display:inline-flex;align-items:center;gap:4px}
.icon-home{display:inline-flex;align-items:center;gap:4px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
    .main-layout{grid-template-columns:1fr;gap:32px}
    .sidebar{position:static}
    .tools-grid{grid-template-columns:repeat(2,1fr)}
    .related-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
    .single-post-content{padding:24px 20px}
    .post-header h1{font-size:1.5rem}
    .post-meta{flex-direction:column;gap:8px}
    .post-nav{grid-template-columns:1fr}
    .tools-grid{grid-template-columns:1fr}
    .related-grid{grid-template-columns:1fr}
    .archive-grid{grid-template-columns:1fr}
}

/* ============================================================
   SIDEBAR WIDGET STYLES
   ============================================================ */

/* General widget styles */
.widget{margin-bottom:20px}

/* About Widget */
.widget-about .about-content p{font-size:.85rem;color:var(--c-text-light);line-height:1.65}

/* Owner Says Widget */
.widget-owner-says .owner-says-content{display:flex;gap:10px;align-items:flex-start}
.widget-owner-says .owner-says-text{min-width:0}
.widget-owner-says .owner-says-text p{font-size:.82rem;color:var(--c-text-light);line-height:1.55;margin-bottom:8px}
.widget-owner-says .owner-says-text p:last-child{margin-bottom:0}
.owner-says-update{font-size:.78rem!important;color:var(--c-text-muted);display:flex;align-items:flex-start;gap:4px}

/* Tools List Widget */
.sidebar-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sidebar-tools li a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);color:var(--c-text);font-size:.85rem;transition:var(--transition);border:1px solid transparent}
.sidebar-tools li a:hover{background:var(--c-accent-soft);color:var(--c-accent);border-color:var(--c-accent-light)}
.sidebar-tools .tool-icon{width:26px;height:26px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}

/* Search Widget */
.widget-search .search-form{display:flex;gap:6px}
.widget-search .search-form .search-field{width:100%;padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:.85rem;background:var(--c-paper);color:var(--c-text)}
.widget-search .search-form .search-field:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}
.widget-search .search-form .search-submit{padding:8px 14px;background:var(--c-accent);color:#fff;border:none;border-radius:var(--r-md);cursor:pointer;font-size:.82rem;font-weight:600;transition:var(--transition);flex-shrink:0}
.widget-search .search-form .search-submit:hover{background:var(--c-accent-dark)}

/* Popular Posts Widget */
.hot-posts-range{display:flex;gap:4px;margin-bottom:12px}
.range-btn{padding:3px 10px;border:1px solid var(--c-border);background:var(--c-paper);border-radius:var(--r-full);font-size:.72rem;cursor:pointer;color:var(--c-text-light);transition:var(--transition)}
.range-btn:hover,.range-btn.active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}

.widget-post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.widget-post-list li{display:flex;align-items:center;gap:10px}
.post-rank{width:18px;height:18px;border-radius:50%;background:var(--c-accent);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.post-rank.rank-1{background:var(--c-gold)}
.post-rank.rank-2{background:var(--c-text-muted)}
.post-rank.rank-3{background:var(--c-accent-light)}
.post-thumb-link{width:52px;height:38px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;background:var(--c-accent-soft);display:block}
.post-thumb-link img{width:100%;height:100%;object-fit:cover}
.post-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--c-accent-light);font-weight:700}
.post-list-info{min-width:0;flex:1}
.post-list-info > a{display:block;font-size:.82rem;font-weight:600;color:var(--c-ink);line-height:1.35;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-list-info > a:hover{color:var(--c-accent)}
.post-list-views{display:flex;align-items:center;gap:3px;font-size:.7rem;color:var(--c-text-muted)}

/* Categories Widget */
.sidebar-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.sidebar-cats li a{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-radius:var(--r-md);color:var(--c-text-light);font-size:.85rem;transition:var(--transition);border:1px solid transparent}
.sidebar-cats li a:hover{background:var(--c-accent-soft);color:var(--c-accent);border-color:var(--c-accent-light)}
.sidebar-cats .cat-count{background:var(--c-paper);padding:2px 8px;border-radius:var(--r-full);font-size:.72rem;color:var(--c-text-muted);font-weight:600}

/* Random Picks Widget */
.refresh-btn{background:none;border:none;cursor:pointer;padding:2px;color:var(--c-text-muted);transition:var(--transition)}
.refresh-btn:hover{color:var(--c-accent)}

/* Links Widget */
.widget-links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.widget-links-list li a{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--r-sm);color:var(--c-text-light);font-size:.82rem;transition:var(--transition)}
.widget-links-list li a:hover{color:var(--c-accent);background:var(--c-accent-soft)}
.widget-more{margin-top:10px;text-align:right}
.widget-more a{font-size:.78rem;color:var(--c-accent);font-weight:600}
.widget-more a:hover{color:var(--c-accent-dark)}

.widget-empty{font-size:.82rem;color:var(--c-text-muted);font-style:italic}

/* Hot posts dynamic range filter */
.hot-posts[data-range="30"] .widget-post-list li:nth-child(n+4),
.hot-posts[data-range="7"] .widget-post-list li:nth-child(n+4){display:none}

/* ============================================================
   TOOL PAGES (Calculator, Disease Guide, Supplies, etc.)
   ============================================================ */
.age-calculator-page,
.disease-guide-page,
.food-guide-page,
.supplies-page,
.breeds-page{
    padding:40px 0;
}

/* Hero section */
.calc-hero,
.tool-hero{
    text-align:center;
    padding:48px 20px 32px;
    max-width:680px;
    margin:0 auto;
}
.calc-hero h1,
.tool-hero h1{
    font-family:var(--font-serif);
    font-size:2rem;
    font-weight:700;
    color:var(--c-ink);
    margin-bottom:12px;
    letter-spacing:-.5px;
}
.calc-subtitle,
.tool-hero .tool-desc{
    font-size:1.05rem;
    color:var(--c-accent);
    font-weight:600;
    margin-bottom:16px;
}
.calc-desc,
.tool-hero p{
    font-size:.9rem;
    color:var(--c-text-light);
    line-height:1.7;
    max-width:600px;
    margin:0 auto;
}

/* Main content wrapper */
.calc-main,
.tool-main{
    max-width:680px;
    margin:0 auto;
    padding-bottom:48px;
}

/* Calculator card */
.calc-card,
.tool-card{
    background:var(--c-card);
    border:1px solid var(--c-border);
    border-radius:var(--r-lg);
    padding:28px 32px;
    margin-bottom:24px;
}
.calc-card-title,
.tool-card-title{
    font-family:var(--font-serif);
    font-size:1.15rem;
    font-weight:700;
    color:var(--c-ink);
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:2px solid var(--c-ink);
    display:flex;
    align-items:center;
    gap:8px;
}

/* Calculator form */
.calc-form{}
.calc-input-tabs{
    display:flex;
    gap:8px;
    margin-bottom:20px;
}
.calc-tab{
    flex:1;
    padding:8px 16px;
    border:1px solid var(--c-border);
    background:var(--c-paper);
    border-radius:var(--r-md);
    font-size:.82rem;
    cursor:pointer;
    color:var(--c-text-light);
    transition:var(--transition);
}
.calc-tab:hover{color:var(--c-accent);border-color:var(--c-accent)}
.calc-tab.active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}

.calc-input-panel{display:none}
.calc-input-panel.active{display:block}

.calc-label{
    display:block;
    font-size:.82rem;
    font-weight:700;
    color:var(--c-text);
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:.5px;
}
.calc-input-group{
    display:flex;
    align-items:center;
    gap:10px;
}
.calc-input-group input[type="number"]{
    flex:1;
    padding:10px 14px;
    border:1px solid var(--c-border);
    border-radius:var(--r-md);
    font-size:1rem;
    background:var(--c-paper);
    color:var(--c-text);
}
.calc-input-group input[type="number"]:focus{
    outline:none;
    border-color:var(--c-accent);
    box-shadow:0 0 0 3px var(--c-accent-soft);
}
.calc-input-unit{
    font-size:.85rem;
    color:var(--c-text-muted);
    font-weight:600;
}
.calc-date-input{
    width:100%;
    padding:10px 14px;
    border:1px solid var(--c-border);
    border-radius:var(--r-md);
    font-size:.9rem;
    background:var(--c-paper);
    color:var(--c-text);
}
.calc-date-input:focus{
    outline:none;
    border-color:var(--c-accent);
    box-shadow:0 0 0 3px var(--c-accent-soft);
}

/* Breed selection */
.calc-breed{margin-top:16px}
.calc-breed-options{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.calc-breed-item{
    cursor:pointer;
    display:block;
}
.calc-breed-item input{position:absolute;opacity:0;width:0;height:0}
.breed-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:14px 10px;
    border:2px solid var(--c-border);
    border-radius:var(--r-md);
    background:var(--c-paper);
    transition:var(--transition);
    text-align:center;
}
.breed-card:hover{border-color:var(--c-accent-light)}
.breed-card.selected{border-color:var(--c-accent);background:var(--c-accent-soft)}
.breed-icon{font-size:1.6rem;font-weight:700;color:var(--c-accent)}
.breed-name{font-size:.8rem;font-weight:700;color:var(--c-ink)}
.breed-life{font-size:.7rem;color:var(--c-text-muted)}

/* Calculate button */
.calc-btn{
    width:100%;
    margin-top:20px;
    padding:14px 24px;
    background:var(--c-accent);
    color:#fff;
    border:none;
    border-radius:var(--r-md);
    font-size:.95rem;
    font-weight:700;
    cursor:pointer;
    transition:var(--transition);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.calc-btn:hover{background:var(--c-accent-dark);transform:translateY(-1px)}

/* Results section */
.calc-result{}
.result-main{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
    margin-bottom:20px;
}
.result-human-age{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:var(--c-accent-soft);
    border-radius:var(--r-md);
    padding:24px;
    text-align:center;
}
.result-label{font-size:.75rem;font-weight:700;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.result-number{font-family:var(--font-serif);font-size:3.5rem;font-weight:700;color:var(--c-accent-dark);line-height:1}
.result-unit{font-size:.85rem;color:var(--c-text-muted)}
.result-guinea pig-age{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:var(--c-paper-warm);
    border-radius:var(--r-md);
    padding:16px;
    text-align:center;
}
.result-guinea pig-age span:first-child{font-size:.7rem;font-weight:700;color:var(--c-text-muted);text-transform:uppercase;margin-bottom:6px}
.result-guinea pig-age span:last-child{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--c-ink)}

.result-stage{margin-bottom:20px}
.stage-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 14px;
    border-radius:var(--r-full);
    font-size:.82rem;
    font-weight:700;
    margin-bottom:8px;
}
.stage-desc{font-size:.82rem;color:var(--c-text-light);line-height:1.5}

.result-progress{}
.progress-header{
    display:flex;
    justify-content:space-between;
    font-size:.8rem;
    color:var(--c-text-muted);
    margin-bottom:8px;
}
.progress-bar{
    height:12px;
    background:var(--c-paper);
    border-radius:var(--r-full);
    overflow:hidden;
    margin-bottom:6px;
}
.progress-fill{
    height:100%;
    background:linear-gradient(90deg,var(--c-accent),var(--c-highlight));
    border-radius:var(--r-full);
    width:0;
    transition:width .6s ease;
}
.progress-note{font-size:.72rem;color:var(--c-text-muted)}

.result-share{
    display:flex;
    align-items:center;
    gap:10px;
    padding-top:16px;
    border-top:1px solid var(--c-border-light);
    font-size:.82rem;
    color:var(--c-text-muted);
}
.share-btn{
    padding:4px 12px;
    border:1px solid var(--c-border);
    background:var(--c-paper);
    border-radius:var(--r-full);
    font-size:.75rem;
    cursor:pointer;
    color:var(--c-text);
    transition:var(--transition);
}
.share-btn:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* Table styles */
.calc-table-desc{font-size:.85rem;color:var(--c-text-light);margin-bottom:16px;line-height:1.6}
.calc-table-wrap{overflow-x:auto}
.calc-table{width:100%;border-collapse:collapse;font-size:.88rem}
.calc-table th,.calc-table td{border:1px solid var(--c-border);padding:10px 14px;text-align:left}
.calc-table th{background:var(--c-paper-warm);font-weight:700;color:var(--c-ink);white-space:nowrap}
.calc-table tr:nth-child(even){background:var(--c-paper)}
.calc-table tr:hover{background:var(--c-accent-soft)}

/* Article content in tool pages */
.calc-article h3,.tool-article h3{
    font-family:var(--font-serif);
    font-size:1.1rem;
    font-weight:700;
    color:var(--c-ink);
    margin:1.5em 0 .6em;
}
.calc-article h3:first-child,.tool-article h3:first-child{margin-top:0}
.calc-article p,.tool-article p{font-size:.88rem;color:var(--c-text);line-height:1.75;margin-bottom:1em}
.calc-article strong,.tool-article strong{color:var(--c-ink)}

/* Related links in articles */
.calc-related-links,.tool-related-links{
    background:var(--c-paper-warm);
    border-radius:var(--r-md);
    padding:16px 20px;
    margin-top:24px;
}
.calc-related-links h3,.tool-related-links h3{
    font-size:.9rem;
    font-weight:700;
    color:var(--c-ink);
    margin-bottom:12px;
    margin-top:0;
}
.calc-related-links ul,.tool-related-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.calc-related-links li a,.tool-related-links li a{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.85rem;
    color:var(--c-text-light);
    padding:4px 0;
    transition:var(--transition);
}
.calc-related-links li a:hover,.tool-related-links li a:hover{color:var(--c-accent)}

/* Related posts grid */
.related-posts-grid,.tool-posts-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}
.related-post-item,.tool-post-item{
    display:flex;
    gap:10px;
    padding:12px;
    background:var(--c-paper-warm);
    border:1px solid var(--c-border-light);
    border-radius:var(--r-md);
    transition:var(--transition);
}
.related-post-item:hover,.tool-post-item:hover{border-color:var(--c-accent);box-shadow:var(--shadow-xs)}
.related-post-thumb,.tool-post-thumb{
    width:60px;
    height:44px;
    border-radius:var(--r-sm);
    overflow:hidden;
    flex-shrink:0;
    background:var(--c-accent-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    color:var(--c-accent-light);
    font-weight:700;
}
.related-post-thumb img,.tool-post-thumb img{width:100%;height:100%;object-fit:cover}
.related-post-info,.tool-post-info{min-width:0;display:flex;flex-direction:column;justify-content:center}
.related-post-title,.tool-post-title{font-size:.8rem;font-weight:600;color:var(--c-ink);line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-post-date,.tool-post-date{font-size:.7rem;color:var(--c-text-muted)}

/* Life stage care sections */
.stage-care-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:16px;
    margin-top:24px;
}
.stage-care-card{
    background:var(--c-paper-warm);
    border:1px solid var(--c-border-light);
    border-radius:var(--r-md);
    padding:18px 20px;
}
.stage-care-card h4{
    font-family:var(--font-serif);
    font-size:.95rem;
    font-weight:700;
    color:var(--c-ink);
    margin-bottom:8px;
}
.stage-care-card p{font-size:.82rem;color:var(--c-text-light);line-height:1.6;margin:0}

/* ============================================================
   DISEASE GUIDE PAGE
   ============================================================ */
.disease-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.disease-card{
    background:var(--c-card);
    border:1px solid var(--c-border);
    border-radius:var(--r-md);
    padding:18px;
    transition:var(--transition);
}
.disease-card:hover{border-color:var(--c-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.disease-card h3{font-size:.92rem;font-weight:700;color:var(--c-ink);margin-bottom:6px}
.disease-card p{font-size:.8rem;color:var(--c-text-light);line-height:1.5;margin-bottom:10px}
.disease-tag{
    display:inline-block;
    padding:3px 10px;
    border-radius:var(--r-full);
    font-size:.7rem;
    font-weight:700;
}
.disease-tag.mild{background:var(--c-highlight-soft);color:var(--c-highlight)}
.disease-tag.moderate{background:var(--c-gold-soft);color:var(--c-gold)}
.disease-tag.severe{background:rgba(231,76,60,.1);color:#e74c3c}
.disease-desc{font-size:.82rem;color:var(--c-text-light);line-height:1.6;margin-top:12px}

/* ============================================================
   SUPPLIES COMPARISON PAGE
   ============================================================ */
.supplies-category{margin-bottom:32px}
.supplies-category-title{
    font-family:var(--font-serif);
    font-size:1.2rem;
    font-weight:700;
    color:var(--c-ink);
    margin-bottom:16px;
    padding-bottom:8px;
    border-bottom:2px solid var(--c-accent);
}
.supplies-table{width:100%;border-collapse:collapse;font-size:.85rem}
.supplies-table th,.supplies-table td{border:1px solid var(--c-border);padding:10px 12px;text-align:left;vertical-align:top}
.supplies-table th{background:var(--c-paper-warm);font-weight:700;color:var(--c-ink)}
.supplies-table tr:nth-child(even){background:var(--c-paper)}
.supplies-table tr:hover{background:var(--c-accent-soft)}
.supplies-rating{display:flex;gap:2px}
.supplies-rating span{color:var(--c-border)}
.supplies-rating span.filled{color:var(--c-gold)}

/* ============================================================
   BREEDS PAGE
   ============================================================ */
.breeds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.breed-card-full{
    background:var(--c-card);
    border:1px solid var(--c-border);
    border-radius:var(--r-lg);
    overflow:hidden;
    transition:var(--transition);
}
.breed-card-full:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm)}
.breed-card-img{
    height:160px;
    background:var(--c-accent-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2.5rem;
    color:var(--c-accent-light);
    font-weight:700;
}
.breed-card-body{padding:18px}
.breed-card-body h3{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--c-ink);margin-bottom:8px}
.breed-card-body p{font-size:.82rem;color:var(--c-text-light);line-height:1.55;margin-bottom:10px}
.breed-meta{display:flex;flex-wrap:wrap;gap:8px}
.breed-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:3px 10px;
    background:var(--c-paper);
    border-radius:var(--r-full);
    font-size:.72rem;
    color:var(--c-text-muted);
}

/* ============================================================
   RESPONSIVE FOR TOOL PAGES
   ============================================================ */
@media (max-width:768px){
    .calc-hero h1,.tool-hero h1{font-size:1.5rem}
    .calc-card,.tool-card{padding:20px 18px}
    .calc-breed-options{grid-template-columns:1fr}
    .result-main{grid-template-columns:1fr}
    .related-posts-grid,.tool-posts-grid{grid-template-columns:1fr}
    .stage-care-grid{grid-template-columns:1fr}
    .disease-grid{grid-template-columns:1fr}
    .breeds-grid{grid-template-columns:1fr}
}
