/* ══════════════════════════════════════════════════════
   ARTICLE PAGE LAYOUT — statya-*.html
   Requires: tokens.min.css, base.min.css, chrome.min.css
   ══════════════════════════════════════════════════════ */

/* ── Container ── */
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter-sm) }

/* ── Breadcrumbs ── */
.breadcrumbs { padding: 12px 0; font-size: .85rem; color: var(--ink-3) }
.breadcrumbs a { color: var(--ink-2); transition: color .2s }
.breadcrumbs a:hover { color: var(--accent) }
.sep { margin: 0 8px; color: var(--ink-3) }

/* ── Article Layout ── */
.article-layout { display: grid; grid-template-columns: 1fr 300px; gap: 48px; padding: 40px 0 }
@media(max-width:900px) { .article-layout { grid-template-columns: 1fr; gap: 32px } }
.article-sidebar { display: flex; flex-direction: column; gap: 24px }
@media(max-width:900px) { .article-sidebar { display: none } }
.article-wrap { min-width: 0 }

/* ── Article Header ── */
.article-header { margin-bottom: 32px }
.article-tag { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); background: var(--accent-d); border: 1px solid var(--accent-b); padding: 4px 12px; margin-bottom: 16px; border-radius: 0 }
.article-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: .85rem; color: var(--ink-3); margin-top: 12px }
.article-meta span { display: flex; align-items: center; gap: 4px }

/* ── Article Body ── */
.article-body { font-size: 1.02rem; line-height: 1.75; color: var(--ink) }
.article-body h2 { font-weight: 300; font-size: 1.6rem; color: var(--ink); margin: 40px 0 16px; letter-spacing: -.03em; padding-bottom: 8px; border-bottom: 1px solid var(--line) }
.article-body h3 { font-weight: 500; font-size: 1.2rem; color: var(--ink-2); margin: 28px 0 10px }
.article-body p { margin-bottom: 16px; color: var(--ink-2) }
.article-body strong { font-weight: 600; color: var(--ink) }
.article-body ul,.article-body ol { margin: 12px 0 20px 20px; color: var(--ink-2) }
.article-body ul { list-style: disc }
.article-body ol { list-style: decimal }
.article-body li { margin-bottom: 6px; line-height: 1.7 }
.article-body a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px }
.article-body a:hover { color: var(--accent-w) }
.article-body blockquote { border-left: 3px solid var(--accent); padding: 12px 20px; margin: 20px 0; background: var(--bg-1); font-style: italic; color: var(--ink-2) }
.article-body img { max-width: 100%; height: auto; margin: 20px 0; border: 1px solid var(--line) }
.article-body details { margin-bottom: 12px; border: 1px solid var(--line); background: var(--bg-1) }
.article-body details[open] { border-color: var(--accent) }
.article-body summary { padding: 12px 16px; cursor: pointer; font-weight: 600; color: var(--ink); user-select: none; list-style: none }
.article-body summary::-webkit-details-marker { display: none }
.article-body summary::marker { display: none; content: "" }
.article-body details[open] summary { border-bottom: 1px solid var(--line); color: var(--accent) }
.article-body details p,.article-body details ul,.article-body details ol { padding: 12px 16px 16px; margin: 0 }

/* ── Article TOC ── */
.article-toc { background: var(--bg-1); border: 1px solid var(--line); padding: 16px 20px; margin-bottom: 28px }
.article-toc p { font-weight: 600; font-size: .9rem; color: var(--ink); margin-bottom: 8px }
.article-toc ul { list-style: none; padding: 0; margin: 0 }
.article-toc li { margin-bottom: 4px }
.article-toc a { font-size: .85rem; color: var(--ink-2); text-decoration: none; transition: color .2s }
.article-toc a:hover { color: var(--accent) }

/* ── Article Notes ── */
.art-note { padding: 14px 18px; margin: 20px 0; border-left: 3px solid var(--accent); background: var(--bg-1); font-size: .9rem; color: var(--ink-2); line-height: 1.6 }
.art-note strong { color: var(--ink); font-weight: 600 }

/* ── DL Grid (download links) ── */
.dl-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 20px 0 }
@media(max-width:500px) { .dl-grid { grid-template-columns: 1fr } }
.dl-card { padding: 16px; border: 1px solid var(--line); background: var(--bg-1); transition: border-color .2s }
.dl-card:hover { border-color: var(--accent) }
.dl-card strong { display: block; margin-bottom: 6px; color: var(--ink); font-size: .95rem }
.dl-card a { color: var(--accent); font-size: .85rem; text-decoration: underline }

/* ── CTA Block ── */
.cta-block { background: var(--bg-1); border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 32px 36px; margin: 40px 0; border-radius: 0 }
@media(max-width:500px) { .cta-block { padding: 24px } }
.cta-h2 { font-size: 1.4rem; font-weight: 600; color: var(--ink); margin-bottom: 10px; letter-spacing: -.01em }
.cta-block > p { font-size: .95rem; color: var(--ink-2); margin-bottom: 20px; line-height: 1.6 }
.cta-actions { display: flex; gap: 12px; flex-wrap: wrap }
.cta-actions .cta-btn,.cta-actions .btn { flex: 1; min-width: 180px; text-align: center; padding: 12px 20px; font-size: .88rem; font-weight: 600; background: var(--accent); color: var(--ink-on-accent, #fff); text-decoration: none; transition: background .2s }
.cta-actions .cta-btn:hover,.cta-actions .btn:hover { background: var(--accent-w) }

/* CTA Messenger Buttons */
.cta-btn-tg,.cta-btn-wa,.cta-btn-max { background: var(--bg-1) !important; color: var(--ink-2) !important; border: 1px solid var(--line) !important; border-radius: 0 !important; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; font-size: .88rem; font-weight: 600; text-decoration: none !important; transition: border-color .2s, color .2s }
.cta-btn-tg:hover,.cta-btn-wa:hover,.cta-btn-max:hover { background: var(--bg-2) !important; border-color: var(--accent) !important; color: var(--accent) !important }
.cta-btn-tg svg,.cta-btn-wa svg,.cta-btn-max svg { flex-shrink: 0; width: 18px; height: 18px }

/* ── CTA Widget ── */
.cta-widget { background: var(--bg-1); border: 1px solid var(--line); padding: 20px }
.cta-widget h4 { font-size: 1rem; font-weight: 600; color: var(--ink); margin-bottom: 8px }
.cta-sub { font-size: .82rem; color: var(--ink-3); margin-bottom: 14px; line-height: 1.5 }
.cta-msng { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px }
.cta-msng-btn { display: flex; align-items: center; gap: 8px; padding: 9px 14px; background: var(--bg-2); border: 1px solid var(--line); color: var(--ink-2); font-size: .82rem; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s }
.cta-msng-btn:hover { border-color: var(--accent); color: var(--accent) }
.cta-msng-btn svg { flex-shrink: 0; width: 16px; height: 16px }
.cta-phone-btn { display: block; text-align: center; padding: 9px 14px; background: var(--bg-1); border: 1px solid var(--line); color: var(--ink); font-size: .88rem; font-weight: 700; text-decoration: none; transition: border-color .2s, color .2s }
.cta-phone-btn:hover { border-color: var(--accent); color: var(--accent) }

/* ── Sidebar Widget ── */
.sidebar-widget { background: var(--bg-1); border: 1px solid var(--line); padding: 20px; position: sticky; top: 80px }
.sidebar-widget h4 { font-size: .95rem; font-weight: 600; color: var(--ink); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line) }

/* ── Service Widget: Price List ── */
.sw-price-list { display: flex; flex-direction: column; gap: 8px }
.sw-price-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .85rem }
.sw-price-item:last-child { border-bottom: 0 }
.sw-price-name { color: var(--ink-2) }
.sw-price-val { font-weight: 600; color: var(--ink); white-space: nowrap }

/* ── Service Widget: Related Articles ── */
.sw-related-list { display: flex; flex-direction: column; gap: 10px }
.sw-related-item { display: block; padding: 10px; border: 1px solid var(--line); background: var(--bg); text-decoration: none; transition: border-color .2s }
.sw-related-item:hover { border-color: var(--accent) }
.sw-related-title { font-size: .85rem; font-weight: 500; color: var(--ink); display: block; margin-bottom: 4px }
.sw-related-cat { font-size: .75rem; color: var(--ink-3); display: block }
.sw-related-date { font-size: .72rem; color: var(--ink-3); display: block; margin-top: 4px }

/* ── Related Articles Grid ── */
.related-articles { margin: 48px 0 }
.related-articles__title { font-weight: 300; font-size: 1.6rem; color: var(--ink); margin-bottom: 24px; letter-spacing: -.03em }
.related-articles__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px }
@media(max-width:900px) { .related-articles__grid { grid-template-columns: repeat(2,1fr) } }
@media(max-width:500px) { .related-articles__grid { grid-template-columns: 1fr } }
.rel-art-card { display: block; border: 1px solid var(--line); padding: 20px; text-decoration: none; transition: border-color .2s; background: var(--bg-1) }
.rel-art-card:hover { border-color: var(--accent) }
.rel-art-card__tag { display: inline-block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); background: var(--accent-d); padding: 2px 8px; margin-bottom: 10px; border-radius: 0 }
.rel-art-card__title { font-size: .95rem; font-weight: 600; color: var(--ink); line-height: 1.4 }

/* ── Scroll-to-top ── */
.scroll-top-btn { position: fixed; bottom: 24px; right: 24px; width: 44px; height: 44px; border-radius: 0; border: 1px solid var(--line); background: var(--bg-1); color: var(--ink-2); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 100; opacity: 0; pointer-events: none; transition: opacity .3s, border-color .2s, color .2s }
.scroll-top-btn.visible { opacity: 1; pointer-events: auto }
.scroll-top-btn:hover { border-color: var(--accent); color: var(--accent) }
.scroll-top-btn svg { width: 18px; height: 18px }

/* ── Modal (contact form) ── */
.axto-modal-box { position: fixed; inset: 0; z-index: 9000; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.5); backdrop-filter: blur(4px); padding: 20px }
.axto-modal-box.open { display: flex }
.axto-modal-box > div { background: var(--bg); border: 1px solid var(--line); padding: 32px; max-width: 480px; width: 100%; max-height: 90vh; overflow-y: auto; position: relative }
.axto-modal-close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 1px solid var(--line); background: var(--bg-1); color: var(--ink-2); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; transition: border-color .2s, color .2s }
.axto-modal-close:hover { border-color: var(--accent); color: var(--accent) }
.axto-modal-sub { font-size: 1.2rem; font-weight: 600; color: var(--ink); margin-bottom: 6px }
.axto-modal-ok { font-size: .85rem; color: var(--ink-3); margin-bottom: 20px }
.axto-modal-msng { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px }
.axto-modal-msng-or { text-align: center; font-size: .8rem; color: var(--ink-3); margin: 8px 0 }
.axto-modal-msng-btns { display: flex; gap: 8px; flex-wrap: wrap }
.axto-msng-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--line); background: var(--bg-1); color: var(--ink-2); font-size: .82rem; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s }
.axto-msng-btn:hover { border-color: var(--accent); color: var(--accent) }
.axto-msng-btn svg { width: 16px; height: 16px; flex-shrink: 0 }
.axto-modal-legal { font-size: .72rem; color: var(--ink-4); margin-bottom: 14px; line-height: 1.4 }
.axto-modal-legal a { color: var(--ink-3); text-decoration: underline }
.axto-modal-submit { width: 100%; padding: 12px; background: var(--accent); color: var(--ink-on-accent, #fff); border: none; font-family: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; transition: background .2s }
.axto-modal-submit:hover { background: var(--accent-w) }

/* ── Form Fields ── */
.axto-field { display: block; width: 100%; padding: 10px 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-family: inherit; font-size: .9rem; outline: none; transition: border-color .2s; border-radius: 0; margin-bottom: 10px }
.axto-field:focus { border-color: var(--accent) }
.axto-field::placeholder { color: var(--ink-3) }
.axto-field-check { display: flex; align-items: center; gap: 8px; margin-bottom: 14px }
.axto-check-box { width: 18px; height: 18px; accent-color: var(--accent) }
.axto-check-label { font-size: .78rem; color: var(--ink-3) }
.axto-check-text { color: var(--ink-2) }

/* ── Footer extras ── */

/* ── Utility ── */
.hidden { display: none !important }
.visible { display: block !important }
