/*
Theme Name: 시니어 일자리 가이드
Theme URI: https://seniorworkguide.stofarm.com
Description: 노인 일자리 유형·조건·신청을 안내하는 정보 검색 플랫폼 전용 커스텀 테마. 8pt 스케일·토큰 기반 디자인 시스템.
Author: 시니어 일자리 가이드 편집팀
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: seniorworkguide
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  /* palette — teal primary + deep navy + neutrals */
  --c-primary:#0f766e;      /* teal 700 */
  --c-primary-d:#0b5a53;
  --c-primary-l:#e6f2f0;
  --c-navy:#0e2a42;         /* deep navy */
  --c-navy-2:#173d5c;
  --c-accent:#b57b1e;       /* restrained warm amber */
  --c-ink:#1d2b36;
  --c-body:#33434f;
  --c-muted:#63727d;
  --c-line:#e4ebef;
  --c-line-2:#eef3f5;
  --c-bg:#ffffff;
  --c-bg-soft:#f5f8f8;
  --c-bg-tint:#eef5f4;
  /* radius */
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;
  /* shadow */
  --sh-1:0 1px 2px rgba(14,42,66,.05), 0 2px 8px rgba(14,42,66,.05);
  --sh-2:0 8px 26px rgba(14,42,66,.10);
  --sh-3:0 18px 50px rgba(14,42,66,.16);
  /* spacing (8pt) */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px; --s8:128px;
  /* type */
  --f-sans:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;
  --f-serif:'Noto Serif KR',serif;
  --container:1120px;
  --content:760px;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--c-bg); color:var(--c-body);
  font-family:var(--f-sans); font-size:18px; line-height:1.75;
  font-weight:400; letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--c-primary); text-decoration:none; transition:color .18s ease}
a:hover{color:var(--c-primary-d)}
h1,h2,h3,h4{color:var(--c-ink); line-height:1.32; letter-spacing:-.02em; font-weight:800; margin:0}
p{margin:0 0 1.15em}
:focus-visible{outline:3px solid rgba(15,118,110,.45); outline-offset:2px; border-radius:4px}
::selection{background:rgba(15,118,110,.16)}

.swg-container{max-width:var(--container); margin:0 auto; padding:0 24px}
.swg-narrow{max-width:var(--content); margin:0 auto; padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.swg-header{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid var(--c-line)}
.swg-header__in{display:flex; align-items:center; justify-content:space-between; height:74px; gap:16px}
.swg-brand{display:flex; align-items:center; gap:12px; min-width:0}
.swg-brand__mark{width:42px;height:42px;border-radius:11px;flex:0 0 auto;box-shadow:var(--sh-1);display:block}
.swg-brand__txt{display:flex; flex-direction:column; line-height:1.15; min-width:0}
.swg-brand__name{font-family:var(--f-sans); font-weight:800; font-size:19px; color:var(--c-ink); letter-spacing:-.02em; white-space:nowrap}
.swg-brand__tag{font-size:12.5px; color:var(--c-muted); font-weight:500; white-space:nowrap}
.swg-nav{display:flex; align-items:center; gap:4px}
.swg-nav a{color:var(--c-ink); font-weight:600; font-size:16px; padding:10px 14px; border-radius:var(--r-sm)}
.swg-nav a:hover{background:var(--c-bg-tint); color:var(--c-primary-d)}
.swg-nav__cta{background:var(--c-primary); color:#fff !important; padding:10px 18px !important; border-radius:var(--r-pill) !important; box-shadow:var(--sh-1)}
.swg-nav__cta:hover{background:var(--c-primary-d) !important}
.swg-burger{display:none; width:46px;height:46px; border:1px solid var(--c-line); background:#fff; border-radius:var(--r-sm); cursor:pointer; align-items:center; justify-content:center}
.swg-burger span,.swg-burger span::before,.swg-burger span::after{content:'';display:block;width:20px;height:2px;background:var(--c-ink);position:relative;transition:.2s}
.swg-burger span::before{position:absolute;top:-6px}.swg-burger span::after{position:absolute;top:6px}

@media(max-width:860px){
  .swg-nav{position:fixed; inset:74px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--c-line); padding:8px 16px 16px; box-shadow:var(--sh-2);
    transform:translateY(-140%); transition:transform .25s ease; z-index:59}
  .swg-nav.open{transform:translateY(0)}
  .swg-nav a{padding:14px 12px; border-radius:var(--r-sm)}
  .swg-nav__cta{text-align:center; margin-top:6px}
  .swg-burger{display:flex}
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16.5px;
  padding:14px 26px; border-radius:var(--r-pill); border:1px solid transparent; cursor:pointer;
  transition:transform .16s ease, box-shadow .2s ease, background .2s ease; min-height:48px; line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--c-primary); color:#fff; box-shadow:var(--sh-2)}
.btn--primary:hover{background:var(--c-primary-d); color:#fff}
.btn--ghost{background:#fff; color:var(--c-navy); border-color:var(--c-line)}
.btn--ghost:hover{border-color:var(--c-primary); color:var(--c-primary-d)}
.btn--light{background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.35)}
.btn--light:hover{background:rgba(255,255,255,.24); color:#fff}
.btn .ic{width:19px;height:19px;flex:0 0 auto}

/* ============================================================
   HERO (home)
   ============================================================ */
.swg-hero{position:relative; background:linear-gradient(135deg,var(--c-navy) 0%,var(--c-navy-2) 55%,var(--c-primary-d) 130%); color:#fff; overflow:hidden}
.swg-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(1200px 480px at 78% -10%,rgba(15,118,110,.42),transparent 60%);pointer-events:none}
.swg-hero__in{position:relative; z-index:2; display:grid; grid-template-columns:1.06fr .94fr; gap:56px; align-items:center; padding:88px 24px 96px; max-width:var(--container); margin:0 auto}
.swg-hero__eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:14.5px; font-weight:600; letter-spacing:.02em;
  color:#bfe6e0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:8px 15px; border-radius:var(--r-pill); margin-bottom:22px}
.swg-hero__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#57c9bd;box-shadow:0 0 0 4px rgba(87,201,189,.22)}
.swg-hero h1{color:#fff; font-size:clamp(34px,5vw,56px); line-height:1.14; font-weight:800; letter-spacing:-.03em; margin:0 0 22px}
.swg-hero__lead{font-size:19.5px; line-height:1.72; color:#d7e5ea; max-width:560px; margin:0 0 34px}
.swg-hero__cta{display:flex; gap:14px; flex-wrap:wrap}
.swg-hero__stats{display:flex; gap:30px; margin-top:40px; flex-wrap:wrap}
.swg-hero__stat b{display:block; font-size:26px; font-weight:800; color:#fff; letter-spacing:-.02em}
.swg-hero__stat span{font-size:14px; color:#a9c3cd}
.swg-hero__media{position:relative}
.swg-hero__media img{width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:var(--r-lg); box-shadow:var(--sh-3)}
.swg-hero__media::before{content:'';position:absolute;inset:0;border-radius:var(--r-lg);
  background:linear-gradient(180deg,transparent 55%,rgba(14,42,66,.34));pointer-events:none}
.swg-hero__badge{position:absolute; left:-14px; bottom:26px; background:#fff; color:var(--c-ink);
  border-radius:var(--r-md); padding:14px 18px; box-shadow:var(--sh-3); display:flex; align-items:center; gap:12px; max-width:265px}
.swg-hero__badge .bi{width:40px;height:40px;border-radius:11px;background:var(--c-primary-l);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.swg-hero__badge b{font-size:15px;display:block;color:var(--c-ink)}
.swg-hero__badge small{font-size:12.5px;color:var(--c-muted)}
@media(max-width:900px){
  .swg-hero__in{grid-template-columns:1fr; gap:38px; padding:56px 24px 64px}
  .swg-hero__media{order:-1}
  .swg-hero__media img{aspect-ratio:16/10}
}

/* ============================================================
   SECTIONS / GENERIC
   ============================================================ */
.swg-section{padding:var(--s7) 0}
.swg-section--soft{background:var(--c-bg-soft)}
.swg-section--tint{background:linear-gradient(180deg,#fff, var(--c-bg-tint))}
.swg-shead{max-width:680px; margin:0 auto var(--s5); text-align:center}
.swg-shead .kick{display:inline-block; font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-primary); background:var(--c-primary-l); padding:6px 14px; border-radius:var(--r-pill); margin-bottom:14px}
.swg-shead h2{font-size:clamp(26px,3.4vw,38px); margin:0 0 14px}
.swg-shead p{font-size:17.5px; color:var(--c-muted); margin:0}
@media(max-width:700px){.swg-section{padding:var(--s6) 0}}

/* type cards */
.swg-grid{display:grid; gap:24px}
.swg-grid--3{grid-template-columns:repeat(3,1fr)}
.swg-grid--2{grid-template-columns:repeat(2,1fr)}
.swg-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.swg-grid--3,.swg-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.swg-grid--2,.swg-grid--3,.swg-grid--4{grid-template-columns:1fr}}

.swg-card{background:#fff; border:1px solid var(--c-line); border-radius:var(--r-md); padding:30px 28px;
  box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; height:100%}
.swg-card:hover{transform:translateY(-4px); box-shadow:var(--sh-2); border-color:#cfe0dd}
.swg-card__ic{width:52px;height:52px;border-radius:13px;background:var(--c-primary-l);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.swg-card__ic svg{width:26px;height:26px;color:var(--c-primary)}
.swg-card h3{font-size:20px; margin:0 0 10px}
.swg-card p{font-size:16px; color:var(--c-muted); margin:0 0 14px}
.swg-card__meta{font-size:13.5px; color:var(--c-primary); font-weight:700; display:flex; align-items:center; gap:7px}
.swg-card__link{margin-top:auto}

/* article cards (carousel + latest) */
.swg-cardrow{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
@media(max-width:980px){.swg-cardrow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.swg-cardrow{grid-template-columns:1fr}}
.pcard{display:flex; flex-direction:column; background:#fff; border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .2s ease}
.pcard:hover{transform:translateY(-4px); box-shadow:var(--sh-2)}
.pcard__thumb{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--c-bg-tint)}
.pcard__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pcard:hover .pcard__thumb img{transform:scale(1.05)}
.pcard__cat{position:absolute; left:12px; top:12px; background:rgba(14,42,66,.82); color:#fff; font-size:12.5px; font-weight:600; padding:5px 11px; border-radius:var(--r-pill)}
.pcard__body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1}
.pcard__body h3{font-size:18.5px; line-height:1.4; margin:0 0 10px}
.pcard__body h3 a{color:var(--c-ink)}
.pcard__body h3 a:hover{color:var(--c-primary-d)}
.pcard__excerpt{font-size:15px; color:var(--c-muted); margin:0 0 16px; flex:1}
.pcard__more{font-size:14.5px; font-weight:700; color:var(--c-primary); display:inline-flex; align-items:center; gap:6px}

/* carousel */
.swg-carousel{position:relative}
.swg-track{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 18px; -webkit-overflow-scrolling:touch; scrollbar-width:thin}
.swg-track>*{scroll-snap-align:start; flex:0 0 340px; max-width:340px}
@media(max-width:620px){.swg-track>*{flex:0 0 82%; max-width:82%}}
.swg-carbtns{display:flex; gap:10px; justify-content:center; margin-top:8px}
.swg-carbtns button{width:46px;height:46px;border-radius:50%;border:1px solid var(--c-line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-navy);box-shadow:var(--sh-1)}
.swg-carbtns button:hover{border-color:var(--c-primary);color:var(--c-primary-d)}

/* steps */
.swg-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
@media(max-width:860px){.swg-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.swg-steps{grid-template-columns:1fr}}
.swg-step{background:#fff; border:1px solid var(--c-line); border-radius:var(--r-md); padding:26px 22px; position:relative; box-shadow:var(--sh-1)}
.swg-step__n{width:40px;height:40px;border-radius:11px;background:var(--c-navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:15px;font-size:17px}
.swg-step h3{font-size:17.5px;margin:0 0 8px}
.swg-step p{font-size:15px;color:var(--c-muted);margin:0}

/* CTA band */
.swg-ctaband{background:linear-gradient(120deg,var(--c-navy),var(--c-primary-d)); color:#fff; border-radius:var(--r-lg); padding:56px 48px; text-align:center; position:relative; overflow:hidden}
.swg-ctaband::after{content:'';position:absolute;inset:0;background:radial-gradient(700px 300px at 20% 0%,rgba(255,255,255,.10),transparent);pointer-events:none}
.swg-ctaband h2{color:#fff; font-size:clamp(24px,3vw,34px); margin:0 0 14px; position:relative}
.swg-ctaband p{color:#d3e4e9; font-size:17.5px; margin:0 0 28px; position:relative}
.swg-ctaband .swg-hero__cta{justify-content:center; position:relative}
@media(max-width:600px){.swg-ctaband{padding:40px 24px}}

/* ============================================================
   FOOTER
   ============================================================ */
.swg-footer{background:var(--c-navy); color:#c6d4dd; padding:66px 0 30px; margin-top:0}
.swg-footer__grid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.10)}
@media(max-width:820px){.swg-footer__grid{grid-template-columns:1fr; gap:28px}}
.swg-footer__brand{display:flex; align-items:center; gap:12px; margin-bottom:16px}
.swg-footer__brand img{width:40px;height:40px;border-radius:10px}
.swg-footer__brand b{color:#fff; font-size:18px; font-weight:800}
.swg-footer p{font-size:14.5px; line-height:1.7; color:#a9bbc6; margin:0 0 10px}
.swg-footer h4{color:#fff; font-size:15px; margin:0 0 16px; font-weight:700}
.swg-footer ul{list-style:none; margin:0; padding:0}
.swg-footer li{margin-bottom:10px}
.swg-footer a{color:#bccbd4; font-size:14.5px}
.swg-footer a:hover{color:#fff}
.swg-footer__legal{padding-top:22px; font-size:12.8px; color:#8ba0ad; line-height:1.7}
.swg-footer__legal .disc{margin-top:14px; background:rgba(255,255,255,.04); border-left:3px solid rgba(255,255,255,.16); padding:12px 16px; border-radius:0 8px 8px 0}
.swg-footer__legal .disc p{color:#93a7b3; font-size:12.5px; margin:4px 0}
.swg-footer__copy{margin-top:16px; color:#7d92a0; font-size:13px}

/* ============================================================
   SINGLE POST / PAGE
   ============================================================ */
.swg-arthero{background:linear-gradient(135deg,var(--c-navy),var(--c-navy-2)); color:#fff; padding:56px 0 40px}
.swg-arthero .swg-narrow{max-width:820px}
.swg-artcat{display:inline-block; font-size:13.5px; font-weight:700; color:#bfe6e0; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); padding:6px 14px; border-radius:var(--r-pill); margin-bottom:18px}
.swg-artcat:hover{color:#fff}
.swg-arthero h1{color:#fff; font-size:clamp(27px,4vw,42px); line-height:1.24; margin:0 0 16px}
.swg-artmeta{display:flex; gap:16px; flex-wrap:wrap; font-size:14.5px; color:#b7cad3}
.swg-artmeta .crumb a{color:#b7cad3}
.swg-artmeta .crumb a:hover{color:#fff}

.swg-artwrap{padding:46px 0 70px; background:#fff}
.swg-artfeat{max-width:900px; margin:0 auto 40px; padding:0 24px}
.swg-artfeat img{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-lg); box-shadow:var(--sh-2)}

.swg-article{max-width:760px; margin:0 auto; padding:0 24px; font-size:18px; line-height:1.85; color:var(--c-body)}
.swg-article h2{font-size:26px; margin:2.1em 0 .7em; padding-top:.2em; color:var(--c-ink); position:relative; scroll-margin-top:96px}
.swg-article h2::before{content:'';display:block;width:46px;height:4px;border-radius:3px;background:var(--c-primary);margin-bottom:16px}
.swg-article h3{font-size:20.5px; margin:1.7em 0 .5em; color:var(--c-navy)}
.swg-article p{margin:0 0 1.2em}
.swg-article ul,.swg-article ol{margin:0 0 1.4em; padding-left:1.3em}
.swg-article li{margin-bottom:.55em; padding-left:.15em}
.swg-article ul li::marker{color:var(--c-primary)}
.swg-article a{color:var(--c-primary-d); font-weight:600; text-decoration:underline; text-decoration-color:rgba(15,118,110,.35); text-underline-offset:3px}
.swg-article a:hover{text-decoration-color:var(--c-primary)}
.swg-article strong{color:var(--c-ink); font-weight:700}
.swg-article img{border-radius:var(--r-md); box-shadow:var(--sh-1); margin:1.6em auto}
.swg-article figure{margin:1.8em 0}
.swg-article figcaption{font-size:14px; color:var(--c-muted); text-align:center; margin-top:10px}

/* summary box */
.swg-summary{background:var(--c-bg-tint); border:1px solid #d6e6e3; border-radius:var(--r-md); padding:24px 26px; margin:0 0 34px}
.swg-summary b{display:flex; align-items:center; gap:9px; color:var(--c-primary-d); font-size:16px; margin-bottom:12px}
.swg-summary b svg{width:19px;height:19px}
.swg-summary ul{margin:0; padding-left:1.15em}
.swg-summary li{font-size:16px; color:var(--c-ink); margin-bottom:7px}

/* TOC */
.swg-toc{background:#fff; border:1px solid var(--c-line); border-radius:var(--r-md); padding:22px 24px; margin:0 0 36px; box-shadow:var(--sh-1)}
.swg-toc b{display:block; font-size:14px; letter-spacing:.04em; text-transform:uppercase; color:var(--c-primary); margin-bottom:12px}
.swg-toc ol{margin:0; padding-left:1.3em; columns:2; column-gap:28px}
@media(max-width:560px){.swg-toc ol{columns:1}}
.swg-toc li{font-size:15.5px; margin-bottom:8px; break-inside:avoid}
.swg-toc a{color:var(--c-body); font-weight:500; text-decoration:none}
.swg-toc a:hover{color:var(--c-primary-d)}

/* tables */
.swg-tablewrap{overflow-x:auto; margin:1.7em 0; border:1px solid var(--c-line); border-radius:var(--r-md); box-shadow:var(--sh-1)}
.swg-article table{width:100%; border-collapse:collapse; font-size:15.5px; min-width:460px; background:#fff}
.swg-article thead th{background:var(--c-navy); color:#fff; font-weight:700; text-align:left; padding:14px 16px; font-size:15px}
.swg-article tbody td,.swg-article tbody th{padding:13px 16px; border-top:1px solid var(--c-line-2); text-align:left; color:var(--c-body); vertical-align:top}
.swg-article tbody tr:nth-child(even){background:var(--c-bg-soft)}
.swg-article tbody th{font-weight:700; color:var(--c-navy); background:var(--c-primary-l)}

/* callout */
.swg-callout{background:linear-gradient(180deg,#fff,var(--c-bg-tint)); border:1px solid #d6e6e3; border-left:5px solid var(--c-primary); border-radius:0 var(--r-md) var(--r-md) 0; padding:20px 24px; margin:1.8em 0}
.swg-callout b{color:var(--c-primary-d); display:block; margin-bottom:6px; font-size:16.5px}
.swg-callout p{margin:0; font-size:16px; color:var(--c-body)}
blockquote.swg-quote{margin:1.8em 0; padding:18px 26px; border-left:5px solid var(--c-accent); background:#fdf8ef; border-radius:0 var(--r-md) var(--r-md) 0; font-size:17px; color:var(--c-ink); font-weight:500}

/* chart: horizontal gauge / step diagram */
.swg-chart{margin:1.8em 0; background:#fff; border:1px solid var(--c-line); border-radius:var(--r-md); padding:24px 26px; box-shadow:var(--sh-1)}
.swg-chart>b{display:block; font-size:16px; color:var(--c-ink); margin-bottom:18px}
.swg-bar{display:grid; grid-template-columns:120px 1fr; align-items:center; gap:14px; margin-bottom:14px}
.swg-bar__l{font-size:14.5px; color:var(--c-navy); font-weight:600}
.swg-bar__track{background:var(--c-line-2); border-radius:var(--r-pill); height:22px; position:relative; overflow:hidden}
.swg-bar__fill{height:100%; border-radius:var(--r-pill); background:linear-gradient(90deg,var(--c-primary),var(--c-primary-d)); display:flex; align-items:center; justify-content:flex-end; padding-right:10px; color:#fff; font-size:12.5px; font-weight:700; min-width:44px}
.swg-bar__fill--alt{background:linear-gradient(90deg,#3f7fae,var(--c-navy))}
.swg-chart small{display:block; margin-top:8px; font-size:13px; color:var(--c-muted)}
.swg-flow{display:flex; flex-wrap:wrap; gap:10px; align-items:stretch}
.swg-flow__i{flex:1 1 120px; background:var(--c-bg-tint); border:1px solid #d6e6e3; border-radius:var(--r-sm); padding:14px 16px; position:relative; text-align:center}
.swg-flow__i b{display:block; color:var(--c-primary-d); font-size:13px; margin-bottom:4px}
.swg-flow__i span{font-size:14px; color:var(--c-navy); font-weight:600}

/* related posts */
.swg-related{max-width:1000px; margin:56px auto 0; padding:0 24px}
.swg-related h2{font-size:22px; margin:0 0 22px; color:var(--c-ink)}

/* source list */
.swg-sources{background:var(--c-bg-soft); border:1px solid var(--c-line); border-radius:var(--r-md); padding:20px 24px; margin:2em 0 0; font-size:15px}
.swg-sources b{display:block; color:var(--c-navy); margin-bottom:10px}
.swg-sources ul{margin:0; padding-left:1.2em}
.swg-sources li{margin-bottom:6px; color:var(--c-muted)}

/* legal + ai notices (article) */
.legal-notice{font-size:.86em;color:#5c6b76;background:#f5f8f8;border-left:4px solid #cbd8dd;padding:14px 18px;margin-top:2.4em;border-radius:0 10px 10px 0}
.legal-notice p{margin:5px 0}
.ai-notice{font-size:.85em;color:#8a97a0;margin-top:1.4em}
.affiliate-notice{font-size:.9em;color:#666;background:#fffbea;border:1px solid #f6e05e;padding:8px 12px;border-radius:6px}

/* page (privacy/terms/contact) */
.swg-pagewrap{padding:46px 0 72px; background:#fff}
.swg-page{max-width:820px; margin:0 auto; padding:0 24px}
.swg-page h2{font-size:23px; margin:1.8em 0 .6em; color:var(--c-ink)}
.swg-page h3{font-size:19px; margin:1.4em 0 .5em; color:var(--c-navy)}
.swg-page p,.swg-page li{font-size:16.5px; line-height:1.8; color:var(--c-body)}
.swg-page ul,.swg-page ol{padding-left:1.3em; margin:0 0 1.2em}
.swg-page li{margin-bottom:.5em}

/* contact form */
.swg-form{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh-1);margin-top:8px}
.swg-form .fld{margin-bottom:18px}
.swg-form label{display:block;font-weight:700;color:var(--c-navy);font-size:15px;margin-bottom:7px}
.swg-form input,.swg-form select,.swg-form textarea{width:100%;padding:13px 15px;border:1px solid var(--c-line);border-radius:var(--r-sm);font-size:16px;font-family:inherit;color:var(--c-ink);background:#fff;min-height:48px}
.swg-form textarea{min-height:130px;resize:vertical}
.swg-form input:focus,.swg-form select:focus,.swg-form textarea:focus{border-color:var(--c-primary);outline:none;box-shadow:0 0 0 3px rgba(15,118,110,.14)}
.swg-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--c-muted)}
.swg-form .consent input{width:20px;height:20px;min-height:20px;margin-top:2px}
.swg-formnote{font-size:14px;color:var(--c-muted);background:var(--c-bg-soft);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:20px;line-height:1.65}

/* archive */
.swg-archhero{background:linear-gradient(135deg,var(--c-navy),var(--c-navy-2));color:#fff;padding:52px 0}
.swg-archhero h1{color:#fff;font-size:clamp(26px,4vw,38px);margin:0 0 10px}
.swg-archhero p{color:#b7cad3;font-size:17px;margin:0}
.swg-archwrap{padding:52px 0 72px;background:var(--c-bg-soft)}

/* pagination */
.swg-pager{display:flex;justify-content:center;gap:8px;margin-top:44px}
.swg-pager a,.swg-pager span{padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:#fff;color:var(--c-navy);font-weight:600;font-size:15px}
.swg-pager .current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
  .btn:hover,.pcard:hover,.swg-card:hover{transform:none}
}
.reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}
