/* output/seo-aio/theme-patch/tldr-eeat-styles.css
 * Minimal styles for TL;DR + E-E-A-T blocks injected at top of single post content.
 * Place at: /wp-content/themes/solabo-theme-child/tldr-eeat-styles.css
 */

/* TL;DR card — distinct box, visually separated from TOC and article body */
.post-tldr {
    background: #f5f8fa;
    border: 1px solid #d0dde6;
    border-left: 4px solid #2c7a9c;
    padding: 1.6rem 2rem;
    margin: 0 0 2.5rem 0;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
}

/* Reset child elements so the parent theme's h2/p/ul styles don't bleed
   into our box (theme uses negative margin-left on h2 for grid alignment).
   `!important` is used here as a hard override against the theme — the
   container CSS will not propagate to these children. */
.post-tldr > h2,
.post-tldr > p,
.post-tldr > ul {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.post-tldr h2 {
    margin: 0 0 0.8rem 0 !important;
    padding: 0 0 0.4rem 0 !important;
    font-size: 1.15rem;
    font-weight: 700;
    color: #2c7a9c;
    border: none !important;
    background: none !important;
    line-height: 1.5;
}

/* Override the parent theme's accent bar (.p-single__post__content h2::before
   uses position:absolute; width:5px; left:0; background:#1E3C72 — that absolute
   pseudo-element was sitting on top of the first character of our title). */
.post-tldr h2::before {
    content: "💡 " !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    background: none !important;
    margin-right: 0.3em;
    display: inline !important;
}

.post-tldr p {
    margin: 0 0 0.9rem 0 !important;
    line-height: 1.8;
    color: #2c3e50;
}

.post-tldr ul {
    margin: 0 !important;
    padding-left: 1.4em !important;
    list-style: disc;
}

.post-tldr li {
    margin-bottom: 0.4rem;
    line-height: 1.7;
    color: #34495e;
}

/* E-E-A-T — separate from TL;DR with a clear gap */
.post-eeat {
    background: #fafafa;
    border: 1px solid #e0e0e0;
    padding: 1rem 1.8rem;
    margin: 0 0 2.5rem 0;
    border-radius: 4px;
    font-size: 0.9rem;
    box-sizing: border-box;
}

.post-eeat > dl {
    margin: 0 !important;
    padding: 0 !important;
}

.post-eeat dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.4rem 1rem;
    margin: 0;
}

.post-eeat dt {
    color: #666;
    font-weight: bold;
    margin: 0;
}

.post-eeat dd {
    margin: 0;
    color: #333;
}

@media (max-width: 600px) {
    .post-tldr { padding: 1rem; }
    .post-eeat { padding: 0.7rem 1rem; }
    .post-eeat dl { grid-template-columns: max-content 1fr; gap: 0.3rem 0.8rem; }
}

/* Blog end-of-article CTA (review §9) */
.post-blogcta {
    margin: 2.5rem 0 1rem;
    padding: 1.7rem 1.6rem;
    background: linear-gradient(135deg, #0E1B3D 0%, #08122A 100%);
    color: #F4F2EC;
    border-radius: 10px;
}
.post-blogcta__h {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 0.6rem;
    color: #fff;
    line-height: 1.5;
}
.post-blogcta__p {
    font-size: 0.92rem;
    line-height: 1.85;
    margin: 0 0 1.2rem;
    color: rgba(244,242,236,0.8);
}
.post-blogcta__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}
.post-blogcta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.85rem 1.4rem;
    border-radius: 6px;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s, filter 0.2s;
}
.post-blogcta__btn--main { background: #22D3EE; color: #08122A; }
.post-blogcta__btn--line { background: #06C755; color: #fff; }
.post-blogcta__btn--ghost { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.25); }
.post-blogcta__btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
@media (max-width: 600px) {
    .post-blogcta { padding: 1.3rem 1.1rem; }
    .post-blogcta__btn { width: 100%; }
}

/* === Author box (2026-07-08) === */
.post-authorbox{margin:48px 0 8px;padding:22px 24px;border:1px solid #dfe6ee;border-radius:10px;background:#f7f9fc;}
.post-authorbox__h{font-size:14px;font-weight:700;color:#1a4d8f;margin:0 0 14px;letter-spacing:.05em;}
.post-authorbox__flex{display:flex;gap:18px;align-items:flex-start;}
.post-authorbox__img{flex:0 0 88px;margin:0;}
.post-authorbox__img img{width:88px;height:88px;border-radius:50%;object-fit:cover;display:block;}
.post-authorbox__name{font-size:17px;font-weight:700;margin:0 0 4px;line-height:1.5;}
.post-authorbox__title{display:block;font-size:12px;font-weight:500;color:#666;margin-top:2px;}
.post-authorbox__bio{font-size:13.5px;line-height:1.8;margin:8px 0 10px;}
.post-authorbox__links{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;margin:0;}
.post-authorbox__links a{color:#1a4d8f;text-decoration:underline;}
@media(max-width:640px){
  .post-authorbox__flex{flex-direction:column;}
  .post-authorbox__img{flex:none;margin:0 auto;}
}

/* Author links inside top supervision box (2026-07-08) */
.p-single__post__supervision .post-authorbox__links{margin-top:12px;justify-content:center;}


/* ---------------------------------------------------------------
 * 計算式・注記ボックス（2026-08-27 追加）
 * blockquote は「実際の引用」（条文・国税庁FAQ原文・大綱の文言）専用に戻し、
 * 自作の計算式や注記はこのクラスを使う。
 * 理由: .p-single__post__content blockquote には引用符アイコン(::before/::after)と
 * font-style:italic が付くため、自作の式に使うと出典があるように見えてしまう。
 * --------------------------------------------------------------- */
.p-single__post__content .post-formula,
.p-single__post__content .post-note {
    margin: 24px 0;
    padding: 16px 20px;
    border-radius: 4px;
    font-style: normal;
    box-sizing: border-box;
}
.p-single__post__content .post-formula {
    background: #f4f8fb;
    border-left: 4px solid #1f4e78;
    font-weight: 700;
    line-height: 1.9;
}
.p-single__post__content .post-note {
    background: #fff8e5;
    border-left: 4px solid #e0a800;
    font-size: 0.95em;
    line-height: 1.85;
}
.p-single__post__content .post-formula::before,
.p-single__post__content .post-formula::after,
.p-single__post__content .post-note::before,
.p-single__post__content .post-note::after {
    content: none;
}

/* 結論・要点まとめボックス（青・通常ウェイト） */
.p-single__post__content .post-summary {
    margin: 24px 0;
    padding: 16px 20px;
    border-radius: 4px;
    font-style: normal;
    box-sizing: border-box;
    background: #f4f8fb;
    border-left: 4px solid #1f4e78;
    line-height: 1.9;
}
.p-single__post__content .post-summary::before,
.p-single__post__content .post-summary::after { content: none; }
/* ボックス内の先頭/末尾要素の余白を詰める */
.p-single__post__content .post-summary > *:first-child,
.p-single__post__content .post-note > *:first-child,
.p-single__post__content .post-formula > *:first-child { margin-top: 0; }
.p-single__post__content .post-summary > *:last-child,
.p-single__post__content .post-note > *:last-child,
.p-single__post__content .post-formula > *:last-child { margin-bottom: 0; }

/* ---------------------------------------------------------------
 * 税制改正ステータス／時点ボックス（2026-09-07 追加・[reform_status] [asof] ショートコード）
 * --------------------------------------------------------------- */
.p-single__post__content .post-reform-status {
    background: #eef5fb;
    border-left: 4px solid #1f4e78;
    font-size: 0.95em;
    line-height: 1.85;
}
.p-single__post__content .post-reform-status ul {
    margin: 8px 0 8px 1.2em;
    padding: 0;
}
.p-single__post__content .post-reform-status li {
    margin: 4px 0;
}
.p-single__post__content .post-reform-status__h {
    margin: 0 0 6px;
    font-size: 1.05em;
}
.p-single__post__content .post-reform-status__src {
    margin: 8px 0 0;
    font-size: 0.9em;
    color: #555;
}
.p-single__post__content .post-asof {
    background: #f6f6f6;
    border-left: 4px solid #888;
    font-size: 0.92em;
}
