/* SR-22 Insurance - Global Upgrade CSS - Part A */

/* ---- Entry Content ---- */
.entry-content h2{font-size:1.55rem;margin:2.2em 0 .7em;padding-top:.5em;border-top:2px solid var(--color-border-light);color:var(--color-primary);}
.entry-content h3{font-size:1.2rem;margin:1.8em 0 .55em;color:var(--color-primary);}
.entry-content p{margin-bottom:1.3em;line-height:1.85;}
.entry-content ul,.entry-content ol{margin:0 0 1.3em 1.6em;}
.entry-content li{margin-bottom:.45em;line-height:1.75;}
.entry-content strong{color:var(--color-primary);}
.entry-content a{color:var(--color-primary-light);text-decoration:underline;text-underline-offset:3px;}
.entry-content a:hover{color:var(--color-accent);}
.entry-content blockquote{border-left:4px solid var(--color-accent);padding:1em 1.5em;margin:1.5em 0;background:var(--color-surface-alt);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text-muted);}
.entry-content img{border-radius:var(--radius-md);margin:1.5em 0;max-width:100%;height:auto;}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.92rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.entry-content table th{background:var(--color-primary);color:white;padding:12px 16px;text-align:left;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;}
.entry-content table td{padding:11px 16px;border-bottom:1px solid var(--color-border-light);}
.entry-content table tr:nth-child(even) td{background:var(--color-surface-alt);}
.entry-content table tr:hover td{background:#e8f0fe;}

/* ---- FAQ Accordion ---- */
.faq-section{padding:64px 0;}
.faq-header{text-align:center;margin-bottom:48px;}
.faq-header h1{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:12px;}
.faq-header p{color:var(--color-text-muted);font-size:1.05rem;max-width:600px;margin:0 auto;}
.faq-cats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.faq-cat-btn{padding:8px 20px;border:2px solid var(--color-border);background:var(--color-surface);border-radius:100px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s;color:var(--color-text);font-family:var(--font-sans);}
.faq-cat-btn:hover,.faq-cat-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:white;}
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s;}
.faq-item.is-open{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);}
.faq-question{width:100%;background:none;border:none;padding:20px 24px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--font-sans);font-size:.95rem;font-weight:700;color:var(--color-primary);line-height:1.4;}
.faq-question:hover{background:var(--color-surface-alt);}
.faq-icon{width:26px;height:26px;border-radius:50%;background:var(--color-surface-alt);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;transition:all .25s;color:var(--color-text-muted);line-height:1;}
.faq-item.is-open .faq-icon{background:var(--color-primary);border-color:var(--color-primary);color:white;transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-answer-inner{padding:4px 24px 22px;font-size:.92rem;color:var(--color-text-muted);line-height:1.8;}

/* ---- Contact Form ---- */
.contact-section{padding:64px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;}
.contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;}
.contact-card h2{font-size:1.45rem;margin-bottom:8px;}
.contact-card > p{color:var(--color-text-muted);margin-bottom:28px;font-size:.95rem;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-weight:700;font-size:.82rem;color:var(--color-primary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-sans);transition:border-color .2s;outline:none;background:var(--color-surface);color:var(--color-text);box-sizing:border-box;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary-light);}
.form-group textarea{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.btn-submit{width:100%;padding:15px;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;font-family:var(--font-sans);margin-top:4px;}
.btn-submit:hover{background:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,58,107,.25);}
.form-msg{margin-top:14px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;display:none;}
.form-msg.ok{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;display:block;}
.form-msg.err{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;display:block;}
.contact-info-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;}
.contact-info-box h3{font-size:1.1rem;margin-bottom:20px;}
.c-info-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--color-border-light);}
.c-info-item:last-child{border-bottom:none;}
.c-info-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.c-info-label{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:3px;}
.c-info-val{font-size:.9rem;color:var(--color-text);}
