/* PART 4 - Archive, Pagination, Footer, Responsive */
.archive-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:white;padding:48px 0 40px}
.archive-header__label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:8px}
.archive-header__title{color:white;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:10px}
.archive-header__count{color:rgba(255,255,255,.65);font-size:.9rem}
.state-filter{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0}
.state-btn{padding:6px 14px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:100px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition);color:var(--color-text)}
.state-btn:hover,.state-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:white}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:32px 0}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:all var(--transition)}
.pagination a:hover{background:var(--color-primary);border-color:var(--color-primary);color:white}
.pagination .current{background:var(--color-primary);border-color:var(--color-primary);color:white}
.site-footer{background:var(--color-primary);color:rgba(255,255,255,.8);padding:60px 0 0;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}
.footer-brand__logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-brand__logo-icon{width:36px;height:36px;background:var(--color-accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:white;font-weight:900;font-size:14px}
.footer-brand__name{color:white;font-weight:800;font-size:1rem}
.footer-brand__desc{font-size:.875rem;line-height:1.7;margin-bottom:20px;color:rgba(255,255,255,.65)}
.footer-col__title{color:white;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-family:var(--font-sans)}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.65);transition:color var(--transition)}
.footer-links a:hover{color:white}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-bottom__copy{font-size:.82rem;color:rgba(255,255,255,.45)}
.footer-bottom__links{display:flex;gap:16px}
.footer-bottom__links a{font-size:.82rem;color:rgba(255,255,255,.45);transition:color var(--transition)}
.footer-bottom__links a:hover{color:white}
.back-to-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--color-primary);color:white;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition);opacity:0;visibility:hidden;z-index:500}
.back-to-top.is-visible{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--color-accent);transform:translateY(-3px)}
.page-404{text-align:center;padding:100px 24px}
.page-404__code{font-size:8rem;font-weight:900;color:var(--color-border);line-height:1;font-family:var(--font-sans)}
.page-404__title{font-size:2rem;margin-bottom:12px}
.page-404__desc{color:var(--color-text-muted);margin-bottom:28px}
.info-box{background:#dbeafe;border:1px solid #93c5fd;border-radius:var(--radius-md);padding:20px 24px;margin:1.5em 0;display:flex;gap:14px}
.info-box--warning{background:#fef3c7;border-color:#fbbf24}
.info-box--success{background:#d1fae5;border-color:#6ee7b7}
.info-box--danger{background:#fee2e2;border-color:#fca5a5}
.info-box__icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}
.info-box__title{font-weight:700;font-size:.9rem;margin-bottom:4px;font-family:var(--font-sans)}
.info-box__text{font-size:.88rem;line-height:1.6;margin:0}
/* State Tool Page */
.state-tool{padding:48px 0}
.state-search-bar{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}
.state-search-bar input{flex:1;min-width:200px;padding:13px 18px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-sans);outline:none;transition:border-color var(--transition)}
.state-search-bar input:focus{border-color:var(--color-primary-light)}
.state-search-bar select{padding:13px 18px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;font-family:var(--font-sans);background:white;cursor:pointer;outline:none}
.state-search-bar button{padding:13px 24px;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:all var(--transition)}
.state-search-bar button:hover{background:var(--color-primary-light)}
.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.state-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition)}
.state-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-2px)}
.state-card__header{background:var(--color-primary);color:white;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}
.state-card__name{font-size:1.05rem;font-weight:700;font-family:var(--font-sans)}
.state-card__abbr{background:rgba(255,255,255,.2);padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:700;letter-spacing:.06em}
.state-card__body{padding:20px}
.state-card__row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem;gap:12px}
.state-card__row:last-child{border-bottom:none}
.state-card__key{color:var(--color-text-muted);font-weight:500;flex-shrink:0}
.state-card__val{color:var(--color-text);font-weight:600;text-align:right}
.state-card__badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase}
.badge--required{background:#fee2e2;color:#dc2626}
.badge--optional{background:#d1fae5;color:#059669}
.badge--varies{background:#fef3c7;color:#d97706}
/* Responsive */
@media(max-width:1024px){
.hero__inner{grid-template-columns:1fr;gap:40px}
.hero__stats{grid-template-columns:repeat(3,1fr)}
.posts-grid--3{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr;gap:32px}
.site-layout{grid-template-columns:1fr;}
.sidebar{position:static}
}
@media(max-width:768px){
.primary-nav,.header-actions .btn-cta{display:none}
.mobile-menu-toggle{display:flex}
.mobile-nav{display:block}
.hero{padding:60px 0 70px}
.hero__inner{grid-template-columns:1fr}
.hero__stats{grid-template-columns:repeat(3,1fr)}
.posts-grid--3,.posts-grid--2,.posts-grid--4{grid-template-columns:1fr}
.post-card--featured{grid-template-columns:1fr}
.post-card--featured .post-card__thumb{min-height:200px}
.tools-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.states-grid{grid-template-columns:1fr}
.newsletter__form{flex-direction:column}
.share-bar{gap:8px}
}
@media(max-width:480px){
.hero__stats{grid-template-columns:1fr}
.hero__actions{flex-direction:column}
.btn-primary,.btn-outline{width:100%;justify-content:center}
}
