/* ---- Site-specific additions on top of the Atorn template ---- */
:root { --red: #c8242f; --navy: #0f3041; --ink: #2d2d2d; --muted: #6c6c6c; --tint: #f6f4f1; }
html { scroll-padding-top: 100px; }
body { font-family: "Merriweather", Georgia, serif; line-height: 1.8; background: #fff; }

/* Header: sticky instead of floating over the hero */
.header-area { position: sticky; top: 0; box-shadow: 0 2px 20px rgba(0,0,0,.06); background: #fff; }
.top-header { padding: 8px 0; }
.top-header .right-info li { margin-left: 0; }
.top-header .right-info li:not(.heder-btn) { font-size: 13px; color: var(--ink); }
.top-header .right-info li i { color: var(--red); }
.top-header .right-info .heder-btn { padding: 8px 20px; }
.atorn-nav { padding: 6px 0; }
.atorn-nav .navbar .navbar-nav .nav-item a { padding-top: 16px; padding-bottom: 16px; }
.navbar-toggler { border: 0; font-size: 30px; color: var(--red); padding: 4px 8px; }
.navbar-toggler:focus { box-shadow: none; }

/* Text wordmark (replaces template logo image) */
.wordmark { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; }
.wordmark i { font-size: 2.3rem; color: var(--red); }
.wordmark span { display: flex; flex-direction: column; line-height: 1.1; font-size: 1.15rem; font-weight: 700; color: var(--navy); font-family: "Merriweather", serif; }
.wordmark small { font-size: .68rem; letter-spacing: .32em; text-transform: uppercase; color: var(--red); font-weight: 700; }
.wordmark--light span { color: #fff; }

/* Mobile navigation (template's jQuery menu replaced by Bootstrap collapse) */
@media (max-width: 991px) {
  .atorn-nav { display: block !important; }
  .atorn-nav .navbar .navbar-nav .nav-item { margin: 0; }
  .atorn-nav .navbar .navbar-nav .nav-item a { padding: 10px 0; border-bottom: 1px solid #eee; }
  .navbar-collapse { max-height: 75vh; overflow-y: auto; }
}

/* Hero (single slide, no carousel) */
.hero-single { background-size: cover; background-position: center; position: relative; }
.hero-single .slider-content { padding-top: 150px !important; padding-bottom: 170px !important; }
.hero-single .slider-content span { color: #fff; border-bottom: 1px solid var(--red); }
.hero-single .slider-content h1 { color: #fff; font-size: clamp(2rem, 4.2vw, 3.3rem); line-height: 1.25; margin-bottom: 20px; }
.hero-single .slider-content p { color: #fff; margin-bottom: 30px; }
@media (max-width: 767px) {
  .hero-single .slider-content { padding-top: 70px !important; padding-bottom: 110px !important; }
  .slider-btn a { display: block; text-align: center; margin: 0 0 12px !important; }
}

/* Law cards overlap the hero */
.law-card-area { position: relative; z-index: 2; margin-top: -70px; }
.law-card-area .card-contant { box-shadow: 0 10px 40px rgba(15,48,65,.12); }
.law-card-area .low-card { height: 100%; }
.law-card-area .low-card .h3 { font-size: 20px; }
@media (max-width: 991px) { .bor-right { border-right: 0; border-bottom: 1px solid #e5e5e5; } }

/* Section helpers */
.bg-tint { background: var(--tint); }
.section-title p { margin-top: 10px; }
.ptb-100 { padding-top: 100px; padding-bottom: 100px; }
@media (max-width: 767px) { .ptb-100 { padding-top: 60px; padding-bottom: 60px; } .pt-100 { padding-top: 60px; } .section-title h2 { font-size: 28px; } .section-title h2 span { font-size: 30px; } }

.about-area .about-image img { width: 100%; object-fit: cover; aspect-ratio: 7 / 8; }

/* Service cards without photos */
.service-card--text { height: calc(100% - 30px); border: 1px solid #eee; }
.service-card--text .service-text { padding: 30px 28px; display: flex; flex-direction: column; height: 100%; }
.service-card--text .service-text p { flex-grow: 1; }
.service-card .read-more { color: var(--red); font-weight: 700; font-size: 14px; }
.service-card:hover h3 a, .service-card:hover p, .service-card:hover .read-more { color: #fff; }

/* Process */
.choose-area .choose-text { padding: 0 30px; max-width: 700px; margin-left: auto; }
.choose-img { min-height: 520px; }
@media (max-width: 991px) { .choose-img { width: 100%; min-height: 320px; margin-top: 30px; } .choose-area .choose-text { margin: 0 auto; } }

/* CTA band */
.cta-band { position: relative; background-size: cover; background-position: center; padding: 80px 0; color: #fff; }
.cta-band::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,48,65,.96) 0%, rgba(15,48,65,.8) 100%); }
.cta-band h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.cta-band p { color: #e8eef1; margin: 0; }
@media (max-width: 991px) { .cta-band .text-lg-end { margin-top: 25px; } }
.default-btn-outline { display: inline-block; padding: 12px 25px; border-radius: 5px; border: 1px solid var(--red); color: var(--red); }
.default-btn-outline:hover { background: var(--red); color: #fff; }

/* Page banner */
.page-banner { height: auto; padding: 90px 0; background-color: var(--navy); }
.page-banner .page-content { padding-top: 0; }
.page-banner .page-content h1 { color: #fff; font-size: clamp(1.7rem, 3.5vw, 2.4rem); margin-bottom: 15px; }

/* Service details */
.services-details-content h2 { font-size: 28px; margin-bottom: 20px; }
.services-details-content h3 { font-size: 21px; margin: 30px 0 15px; }
.check-grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px 25px; }
.check-grid li { display: flex; gap: 10px; }
.check-grid li i { color: var(--red); font-size: 20px; margin-top: 3px; }
.bring-box { background: var(--tint); border-left: 4px solid var(--red); padding: 20px 25px; margin-top: 30px; }
.bring-box h3 { margin-top: 0 !important; }
.bring-box ul { margin: 0; padding-left: 1.2rem; }
.side-bar { position: sticky; top: 130px; }
.side-bar .categories-box ul { list-style: none; padding: 0; }
.side-bar .categories-box li a { display: block; padding: 8px 0; color: var(--ink); border-bottom: 1px solid #eee; }
.side-bar .categories-box li a.current, .side-bar .categories-box li a:hover { color: var(--red); }
.side-cta { background: var(--navy); padding: 30px; }
.side-cta .title, .side-cta p { color: #fff !important; }
.side-cta a:not(.default-btn-one) { color: #fff; }
@media (max-width: 991px) { .side-bar { position: static; margin-top: 40px; } }

/* FAQ (native details) */
.faq-list details { border: 1px solid #e5e5e5; border-radius: 5px; margin-bottom: 15px; background: #fff; }
.faq-list summary { cursor: pointer; list-style: none; padding: 18px 20px; font-weight: 700; color: var(--ink); display: flex; gap: 12px; align-items: flex-start; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary i { color: var(--red); margin-top: 5px; transition: transform .2s; }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list details[open] summary { color: var(--red); }
.faq-list details p { padding: 0 20px 18px 50px; margin: 0; }

/* Contact */
.contact-list { list-style: none; padding: 0; }
.contact-list li { display: flex; gap: 15px; margin-bottom: 22px; }
.contact-list i { font-size: 28px; color: var(--red); }
.contact-list small { display: block; color: var(--muted); }
.contact-list a, .contact-list span { color: var(--ink); font-weight: 700; }
.contact-box { background: var(--tint); padding: 50px 30px; border-radius: 5px; }
.contact-box > i { font-size: 50px; color: var(--red); }
.contact-box h2 { font-size: 26px; margin: 15px 0; }

/* Guides */
.post-card { border: 1px solid #eee; height: 100%; display: flex; flex-direction: column; }
.post-thumb { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.post-thumb--empty { display: flex; align-items: center; justify-content: center; background: var(--navy); color: var(--red); font-size: 3rem; }
.post-body { padding: 22px; display: flex; flex-direction: column; flex-grow: 1; }
.post-body time { font-size: 13px; color: var(--muted); }
.post-body h3 { font-size: 19px; margin: 8px 0 12px; }
.post-body h3 a { color: var(--ink); }
.post-body .read-more { color: var(--red); margin-top: auto; font-weight: 700; }

/* Article body from WordPress */
.prose { color: #4a4a4a; font-size: 16px; }
.prose h2 { font-size: 26px; margin: 35px 0 15px; }
.prose h3 { font-size: 21px; margin: 28px 0 12px; }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }
.prose ul, .prose ol { padding-left: 1.4rem; margin-bottom: 1.2rem; }
.prose li { margin-bottom: .45rem; } .prose li::marker { color: var(--red); }
.prose a { color: var(--red); text-decoration: underline; }
.prose img { max-width: 100%; height: auto; }
.prose blockquote { border-left: 4px solid var(--red); padding-left: 1.2rem; font-style: italic; }

/* Footer */
.footer-area { background: var(--navy); }
.footer-area .footer-widget p, .footer-area .footer-widget a, .footer-area .footer-widget li { color: #cfd9de; }
.footer-area .footer-widget .footer-text li a i { color: var(--red); margin-right: 6px; }
.footer-bottom p { padding: 22px 0; color: #cfd9de; font-size: 14px; }

/* Cookie consent (only shown when GA4 is on) */
.consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 2000; max-width: 560px; background: var(--navy); color: #fff; padding: 1.25rem; display: flex; flex-direction: column; gap: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.consent[hidden] { display: none; }

/* Fixes after first review */
.service-card .service-text .read-more i { font-size: 14px; width: auto; height: auto; line-height: inherit; background: none; box-shadow: none; margin: 0 0 0 4px; color: inherit; }
.services-details-content h2.h3 { color: var(--ink); font-size: 24px; }
.cta-band::before { background: linear-gradient(90deg, rgba(200,36,47,.95) 0%, rgba(160,24,34,.88) 100%); }
.cta-band p { color: #fff; }
.cta-band .default-btn-one { background: #fff; color: var(--red); }
.cta-band .default-btn-one:hover { background: var(--navy); color: #fff; }
.cta-band .default-btn-two:hover { background: var(--navy); border-color: var(--navy); }
@media (max-width: 767px) {
  .law-card-area .low-card { padding: 22px 12px; }
  .law-card-area .low-card .h3 { font-size: 16px; margin-bottom: 10px; }
  .law-card-area .low-card i { font-size: 36px; margin-bottom: 8px; }
  .law-card-area .low-card p { font-size: 13px; margin: 0; }
  .bor-right { border-bottom: 1px solid #e5e5e5; }
  .bor-right:nth-child(odd) { border-right: 1px solid #e5e5e5; }
}
@media (min-width: 1200px) { .choose-area .choose-text { padding-left: calc((100vw - 1140px) / 2); max-width: none; margin-left: 0; } }
