/*
Theme Name: CIVL
Theme URI: https://civl.in
Description: Brand theme for CIVL — Civil & Civic Matters, Simplified. Child theme of Twenty Twenty-Five.
Author: CIVL
Template: twentytwentyfive
Version: 1.0.3
Requires at least: 6.6
Text Domain: civl
*/

/* Header */
.civl-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .civl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .civl-header { top: 46px; } }
.civl-logo img { display: block; height: auto; }
.civl-header .wp-block-navigation a { text-decoration: none; }
.civl-header .wp-block-navigation a:hover { color: #B86A1C; }

/* Footer */
.civl-footer a { color: #fff; text-decoration: none; }
.civl-footer a:hover { color: #D9822B; text-decoration: underline; }
.civl-footer ul { list-style: none; padding-left: 0; margin: 0; }
.civl-footer li { margin-bottom: 0.45rem; }

/* Cards */
.civl-card { transition: box-shadow .2s ease, transform .2s ease; height: 100%; }
.civl-card:hover { box-shadow: 0 10px 28px rgba(19,35,63,.10); transform: translateY(-2px); }
.civl-card h3 a, .civl-card h4 a { text-decoration: none; }
.civl-card ul { padding-left: 1.1rem; }

/* Boxes inside guides */
.civl-quick-answer { border-left: 5px solid #D9822B; }
.civl-note { font-size: 0.9rem; }
.civl-kicker { text-transform: uppercase; letter-spacing: .12em; font-weight: 600; font-size: .8rem; }
.civl-steps { counter-reset: step; list-style: none; padding-left: 0; }
.civl-steps > li { counter-increment: step; position: relative; padding-left: 3rem; margin-bottom: 1rem; }
.civl-steps > li::before { content: counter(step); position: absolute; left: 0; top: .1rem; width: 2rem; height: 2rem; border-radius: 50%; background: #13233F; color: #fff; font-weight: 600; display: flex; align-items: center; justify-content: center; font-size: .9rem; }

/* Hero search */
.civl-hero .wp-block-search__input { border-radius: 6px 0 0 6px; border: 0; padding: .8rem 1rem; font-size: 1rem; }
.civl-hero .wp-block-search__button { margin-left: 0; border-radius: 0 6px 6px 0; }
.civl-hero .wp-block-search__inside-wrapper { border: 0; padding: 0; }

/* Tables */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table th { background: #13233F; color: #fff; text-align: left; }
.wp-block-table td, .wp-block-table th { border: 1px solid #E1E6EF; padding: .6rem .8rem; }

/* FAQs */
.wp-block-details summary { font-weight: 600; cursor: pointer; }

/* Forms (Contact Form 7) */
.wpcf7 label { display: block; font-weight: 500; margin-bottom: .9rem; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea {
  width: 100%; padding: .7rem .8rem; border: 1px solid #C9D2E3; border-radius: 6px; font: inherit; margin-top: .3rem; background: #fff; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid #D9822B; outline-offset: 1px; }
.wpcf7 input[type=submit] { background: #D9822B; color: #13233F; border: 0; border-radius: 6px; padding: .75rem 1.6rem; font-weight: 600; cursor: pointer; font: inherit; font-weight: 600; }
.wpcf7 input[type=submit]:hover { background: #E89A4C; }
.wpcf7-acceptance label { font-weight: 400; font-size: .92rem; }

/* Skip link focus */
a:focus-visible, button:focus-visible { outline: 2px solid #D9822B; outline-offset: 2px; }

/* Card headings: no underline until hover */
.civl-card h2 a, .civl-card h3 a { text-decoration: none; }
.civl-card h2 a:hover, .civl-card h3 a:hover { text-decoration: underline; text-decoration-color: #D9822B; }
/* Easy TOC: brand it */
#ez-toc-container { border-color: #E1E6EF; background: #F5F7FB; border-radius: 8px; }
#ez-toc-container .ez-toc-title { font-family: Archivo, sans-serif; font-weight: 800; color: #13233F; }
.wpcf7 input, .wpcf7 select, .wpcf7 textarea { box-sizing: border-box; max-width: 100%; }
.wpcf7-form-control-wrap { display: block; }
