/* Abanto Law Firm – brand overrides (preserves template layout) */

.header-layoutone .header__logo .normal-logo {
  max-height: 88px;
  width: auto;
  object-fit: contain;
}

.header-layoutone .header-area__inner::before {
  background: var(--secondary-color);
  width: 320px;
}

.header-layoutone .main-menu > ul > li > a {
  font-weight: 600;
  letter-spacing: 0.04em;
}

.header-top {
  background: var(--primary-color);
}

.header-top::before {
  background: var(--secondary-color);
}

.custom-btn--primary {
  background: var(--primary-color);
  border-color: var(--primary-color);
}

.custom-btn--primary:hover {
  background: var(--primary-color-dark, #8b6f47);
  border-color: var(--primary-color-dark, #8b6f47);
}

.introone--abanto .introone__accent {
  fill: var(--primary-color);
}

.introone--abanto .introone__dark {
  fill: var(--secondary-color);
}

.introone--abanto .introone__thumb-main img {
  width: 100%;
  object-fit: cover;
  object-position: center right;
}

/* About One – sized masks + equal-height thumbs (top-aligned row) */
.aboutone__thumb {
  align-items: flex-start;
}

.aboutone__thumb-one,
.aboutone__thumb-two {
  flex-shrink: 0;
  overflow: hidden;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  height: 502px;
}

.aboutone__thumb-one {
  width: 390px;
  max-width: 100%;
}

.aboutone__thumb-two {
  width: 335px;
  max-width: 100%;
}

.aboutone__thumb-one img,
.aboutone__thumb-two img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Service One – 3-column legal thumbs: equal height, no row stretch gaps */
.serviceone .row.gy-32 > [class*="col-"] {
  display: flex;
}

.service-cardone {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.service-cardone__content {
  flex: 1 1 auto;
}

.service-cardone__thumb {
  flex-shrink: 0;
  margin-top: auto;
  height: 260px;
  overflow: hidden;
  line-height: 0;
}

.service-cardone__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Blog One – equal thumb frames in 3-card row */
.blog .row.gy-32 > [class*="col-"] {
  display: flex;
}

.blog-cardone {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.blog-cardone__thumb {
  height: 266px;
  overflow: hidden;
  line-height: 0;
}

.blog-cardone__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  margin-bottom: -50px;
}

@media (max-width: 575.98px) {
  .aboutone__thumb {
    flex-direction: column;
    align-items: center;
  }

  .aboutone__thumb-one,
  .aboutone__thumb-two {
    height: 335px;
  }

  .aboutone__thumb-one {
    width: 260px;
  }

  .aboutone__thumb-two {
    width: 220px;
  }

  .service-cardone__thumb {
    height: 220px;
  }

  .blog-cardone__thumb {
    height: 200px;
  }
}

/* ==========================================================================
   Faded section backgrounds (~5% photographic visibility)
   Scoped to hero, about, and why-choose-us only. Never CTA, team, or clients.
   ========================================================================== */

.introone.introone--abanto[data-bg-src],
.introone.introone--abanto.background-image,
.aboutone[data-bg-src],
.aboutone.background-image,
.wcuone[data-bg-src],
.wcuone.background-image {
  position: relative;
  background-color: #fff;
}

.introone.introone--abanto[data-bg-src]::before,
.introone.introone--abanto.background-image::before,
.aboutone[data-bg-src]::before,
.aboutone.background-image::before,
.wcuone[data-bg-src]::before,
.wcuone.background-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.95);
}

/* Section wrappers above fade — do not target swiper slides or nested sliders */
.introone.introone--abanto[data-bg-src] > .swiper,
.introone.introone--abanto.background-image > .swiper,
.introone.introone--abanto[data-bg-src] > .slider__buttons,
.introone.introone--abanto.background-image > .slider__buttons,
.aboutone[data-bg-src] > .container,
.aboutone.background-image > .container,
.wcuone[data-bg-src] > .container,
.wcuone.background-image > .container {
  position: relative;
  z-index: 1;
}

/* Hero: keep gavel photo above decorative chevron shape */
.introone--abanto .introone__thumb-main {
  position: relative;
  z-index: 2;
}

.introone--abanto .introone__thumb-shape {
  z-index: 1;
}

/* Hero: keep copy clear of left brown diagonal shapes */
@media (min-width: 1200px) {
  .introone--abanto .introone__content {
    padding-left: clamp(48px, 5vw, 88px);
  }

  .introone--abanto .introone__desc {
    padding-right: 48px;
    max-width: 580px;
  }
}

/* Breadcrumb – img-based background (not data-bg-src) */
.breadcumb__bg {
  background: var(--secondary-color);
}

.breadcumb__bg img {
  opacity: 0.05;
}

.breadcumb__bg::before {
  background: transparent;
}

/* CTA One – template layout: content above decorative shapes, compact height */
.ctaone > .container {
  position: relative;
  z-index: 5;
}

.ctaone .row > .col-xl-6:first-child {
  position: relative;
  z-index: 6;
}

.ctaone-content {
  position: relative;
  z-index: 1;
  max-width: 520px;
  padding-inline: clamp(24px, 3vw, 48px);
}

.ctaone__thumb {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
}

.ctaone-content.section-padding {
  padding-top: 100px;
  padding-bottom: 100px;
}

.ctaone__shapeone,
.ctaone__shapetwo {
  pointer-events: none;
  z-index: 0;
}

@media (max-width: 1199.98px) {
  /* Template moves shapetwo over the text column at this breakpoint */
  .ctaone__shapetwo {
    display: none;
  }
}

.ctaone__shapeone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ctaone__thumb img {
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: contain;
  object-position: center bottom;
  display: block;
}

/* Managing partner portrait – team slider & about profile */
.teamone__thumbone {
  overflow: hidden;
  aspect-ratio: 1;
  max-width: 280px;
  margin-inline: auto;
  border-radius: 50%;
}

.teamone__thumbone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.aboutone__profile-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
}

.aboutone__profile-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Team section – static team card (no synced carousels) */
.teamone .teamone__content--active {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: start;
}

.teamone .teamone__content--active a h4 {
  font-family: var(--title-font);
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 0.5px;
  color: var(--primary-color);
}

.teamone .teamone__content--active a h4:before {
  width: 100%;
}

@media (max-width: 1499.98px) {
  .teamone .teamone__content--active a h4 {
    font-size: 25px;
    line-height: 1.3;
  }
}

/* Testimonials – one visible card, fade transition */
.testimonialone .testimonial-sliderone {
  height: auto;
  min-height: 220px;
}

.testimonialone .testimonial-sliderone .swiper-slide {
  height: auto !important;
}

.testimonialone .testimonial-sliderone .swiper-slide:not(.swiper-slide-active) .testimonial-cardone {
  visibility: hidden;
}

/* ==========================================================================
   Abanto spacing system — section rhythm, gutters, mobile breakpoints
   ========================================================================== */

/* Prevent horizontal scroll from template negative offsets */
html,
body,
#smooth-content,
.layout {
  overflow-x: clip;
}

img,
video,
iframe {
  max-width: 100%;
}

/* Fluid images outside fixed-height card/hero frames */
.img-fluid,
.ctaone__thumb img,
.debitura img.img-fluid,
.blog-details .blog-cardfour__thumb img,
.team-card img {
  height: auto;
}

/* --- Section padding scale (template default 120px+ is too generous) --- */
.section-padding {
  padding-top: 96px;
  padding-bottom: 96px;
}

@media (max-width: 1199.98px) {
  .section-padding {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

@media (max-width: 767.98px) {
  .section-padding {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (max-width: 575.98px) {
  .section-padding {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* Compact bands where content is headline-only (client logos removed) */
.clientone.section-padding {
  padding-top: 64px;
  padding-bottom: 64px;
}

@media (max-width: 767.98px) {
  .clientone.section-padding {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media (max-width: 575.98px) {
  .clientone.section-padding {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* --- Container & row gutters --- */
.container,
.container-xl {
  --bs-gutter-x: 32px;
}

.row {
  --bs-gutter-x: 32px;
}

@media (max-width: 991.98px) {
  .container,
  .container-xl,
  .row {
    --bs-gutter-x: 28px;
  }
}

@media (max-width: 767.98px) {
  .container,
  .container-xl,
  .row {
    --bs-gutter-x: 32px;
  }
}

@media (max-width: 575.98px) {
  .container,
  .container-xl,
  .row {
    --bs-gutter-x: 28px;
  }
}

/* --- Utility spacing (mb-48 / gy-32 stack too tall on small screens) --- */
.mb-48 {
  margin-bottom: 48px;
}

.gy-32 {
  --bs-gutter-y: 32px;
}

.my-48 {
  margin-top: 48px;
  margin-bottom: 48px;
}

.mt-48 {
  margin-top: 48px;
}

@media (max-width: 991.98px) {
  .mb-48 {
    margin-bottom: 36px;
  }

  .gy-32 {
    --bs-gutter-y: 28px;
  }

  .my-48 {
    margin-top: 36px;
    margin-bottom: 36px;
  }

  .mt-48 {
    margin-top: 36px;
  }
}

@media (max-width: 767.98px) {
  .mb-48 {
    margin-bottom: 28px;
  }

  .gy-32 {
    --bs-gutter-y: 24px;
  }

  .my-48 {
    margin-top: 28px;
    margin-bottom: 28px;
  }

  .mt-48 {
    margin-top: 28px;
  }

  .section-top.mb-48 {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 575.98px) {
  .mb-48 {
    margin-bottom: 24px;
  }

  .gy-32 {
    --bs-gutter-y: 20px;
  }

  .my-48 {
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .mt-48 {
    margin-top: 24px;
  }

  .section-top.mb-48 {
    margin-bottom: 24px !important;
  }
}

/* --- Section headings & body copy on mobile --- */
@media (max-width: 767.98px) {
  .section-top h1,
  .section-top h2,
  .section-top .typo-d-m,
  .section-top .gsap-title-anim {
    line-height: 1.25;
  }

  .section-top.mb-16 {
    margin-bottom: 12px !important;
  }

  .introone__desc,
  .aboutone__desc,
  .wcuone__desc,
  .testimonialone__desc {
    line-height: 1.6;
  }
}

/* --- Header (mobile padding & negative offset) --- */
@media (max-width: 991.98px) {
  .header-layoutone .header-area__inner {
    margin-left: -70px;
    padding: 0 20px 0 88px;
  }
}

@media (max-width: 767.98px) {
  .header-layoutone .header__logo .normal-logo {
    max-height: 64px;
  }

  .header-layoutone .header-area__inner {
    margin-left: -56px;
    padding: 0 16px 0 76px;
  }

  .header-layoutone .header-area__inner::before {
    width: 280px;
    height: 72px;
  }
}

@media (max-width: 575.98px) {
  .header-layoutone .header-area__inner {
    margin-left: -36px;
    padding: 0 10px 0 58px;
  }

  .header-layoutone .header-area__inner::before {
    width: 210px;
    height: 60px;
  }

  .header-layoutone .header__logo .normal-logo {
    max-height: 52px;
  }

  .header-layoutone .header-right {
    gap: 10px;
    padding: 10px 0;
  }

  .header-layoutone .header-right .side-toggle {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
  }
}

/* --- Hero --- */
@media (max-width: 1199.98px) {
  .introone--abanto .introone__content {
    padding: 168px 0 96px;
  }

  .introone--abanto .introone__desc {
    padding-right: 0;
  }
}

@media (max-width: 991.98px) {
  .introone--abanto .introone__content {
    padding: 148px 0 72px;
  }
}

@media (max-width: 767.98px) {
  .introone--abanto .introone__content {
    padding: 128px 0 56px;
  }

  .introone--abanto .introone__desc.mb-48 {
    margin-bottom: 28px !important;
  }

  .introone--abanto .slider__buttons {
    position: relative;
    bottom: auto;
    left: auto;
    justify-content: flex-start;
    margin-top: 8px;
    padding-bottom: 8px;
  }
}

@media (max-width: 575.98px) {
  .introone--abanto .introone__content {
    padding: 112px 0 48px;
  }

  .introone--abanto .section-top h1 {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    line-height: 1.2;
  }
}

/* --- Breadcrumb (inner pages) --- */
@media (max-width: 1199.98px) {
  .breadcumb__wrap {
    padding: 168px 0 80px;
  }
}

@media (max-width: 991.98px) {
  .breadcumb__wrap {
    padding: 140px 0 64px;
  }
}

@media (max-width: 767.98px) {
  .breadcumb__wrap {
    padding: 120px 0 52px;
  }
}

@media (max-width: 575.98px) {
  .breadcumb__wrap {
    padding: 108px 0 44px;
  }
}

@media (max-width: 767.98px) {
  .breadcumb__title {
    font-size: clamp(1.75rem, 7.5vw, 2.5rem);
    line-height: 1.2;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    max-width: 100%;
  }

  .breadcumb__nav ul {
    flex-wrap: wrap;
    row-gap: 6px;
  }
}

@media (max-width: 575.98px) {
  .breadcumb__title {
    font-size: clamp(1.5rem, 6.5vw, 2rem);
    margin-bottom: 8px;
  }
}

/* --- About --- */
@media (max-width: 991.98px) {
  .aboutone__thumb {
    justify-content: center;
    margin-bottom: 8px;
  }

  .aboutone__content {
    padding-top: 8px;
  }
}

@media (max-width: 767.98px) {
  .aboutone__blockone {
    padding-bottom: 32px;
    margin-bottom: 24px;
    gap: 20px;
  }

  .aboutone__blocktwo {
    gap: 20px;
  }

  .aboutone__featurelist {
    padding-right: 0;
  }
}

@media (max-width: 575.98px) {
  .aboutone__thumb {
    gap: 16px;
  }
}

/* --- Services (homepage serviceone + listing cards) --- */
@media (max-width: 991.98px) {
  .serviceone .row.mb-48 {
    margin-bottom: 32px !important;
  }

  .serviceone .col-xl-4.text-xl-end {
    margin-top: 8px;
    text-align: center !important;
  }

  .serviceone .col-xl-4.text-xl-end .custom-btn {
    margin-inline: auto;
  }
}

@media (max-width: 767.98px) {
  .service-cardone__content {
    padding: 20px 20px 24px 24px;
  }

  .service-cardone__top {
    padding-right: 20px;
    gap: 16px;
  }

  .service-cardthree__content {
    padding: 24px 20px 20px;
  }

  .services .service-cardthree,
  .blog .blog-cardfour {
    margin-bottom: 0;
  }
}

/* --- CTA (stacked below xl — fix padding, button–image gap, portrait) --- */
@media (max-width: 1199.98px) {
  .ctaone .row.align-items-center {
    align-items: flex-start;
  }

  .ctaone-content {
    max-width: 100%;
    padding-inline: 0;
  }

  .ctaone-content.section-padding {
    padding-top: 56px;
    padding-bottom: 20px;
  }

  .ctaone .testimonialone__desc.mb-48 {
    margin-bottom: 24px !important;
  }

  .ctaone__thumb {
    margin: 0 auto;
    padding-bottom: 40px;
    max-width: 100%;
  }

  .ctaone__thumb img {
    max-height: 400px;
    width: auto;
    max-width: min(100%, 380px);
    margin-inline: auto;
    object-fit: contain;
    object-position: center bottom;
  }
}

@media (max-width: 991.98px) {
  .ctaone-content.section-padding {
    padding-top: 48px;
    padding-bottom: 16px;
  }

  .ctaone__shapeone {
    display: none;
  }

  .ctaone__thumb {
    padding-bottom: 36px;
  }

  .ctaone__thumb img {
    max-height: 360px;
    max-width: min(100%, 340px);
  }
}

@media (max-width: 767.98px) {
  .ctaone-content.section-padding {
    padding-top: 40px;
    padding-bottom: 12px;
  }

  .ctaone .row > .col-xl-6 + .col-xl-6 {
    margin-top: 0;
  }

  .ctaone .section-top.text-start {
    text-align: left;
  }

  .ctaone .testimonialone__desc {
    text-align: left;
    padding-inline: 0;
  }

  .ctaone__thumb {
    padding-bottom: 32px;
  }

  .ctaone__thumb img {
    max-height: 300px;
    max-width: min(100%, 300px);
  }
}

@media (max-width: 575.98px) {
  .ctaone-content.section-padding {
    padding-top: 36px;
    padding-bottom: 8px;
  }

  .ctaone .testimonialone__desc.mb-48 {
    margin-bottom: 20px !important;
  }

  .ctaone__thumb {
    padding-bottom: 28px;
  }

  .ctaone__thumb img {
    max-height: 260px;
    max-width: min(100%, 260px);
  }
}

/* --- Why Choose Us (banner removed — tighten empty bottom) --- */
@media (max-width: 1199.98px) {
  .wcuone__content {
    padding-right: 0;
    border-right: none;
  }
}

.wcuone__info.mb-48 {
  margin-bottom: 32px;
}

/* Banner removed — decorative-only bottom row adds empty band */
.wcuone__bottom {
  display: none;
}

@media (max-width: 767.98px) {
  .wcuone__info {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 20px !important;
  }

  .wcuone__duration {
    min-width: 0;
    width: 100%;
  }

  .wcuone__features-wrap.mb-48 {
    margin-bottom: 28px !important;
  }

  .wcuone__featureitem {
    gap: 20px;
    padding: 20px;
  }
}

/* --- Blog cards --- */
@media (max-width: 767.98px) {
  .blog-cardone__thumb {
    height: 220px;
  }

  .blog-cardone__thumb img {
    margin-bottom: -40px;
  }

  .blog-cardone__content {
    padding: 36px 20px 24px;
  }

  .blog-cardfour {
    margin-bottom: 0;
    padding: 20px;
    background: var(--bg-color-primary);
    border-radius: 4px;
  }

  .blog-cardfour__content {
    padding-top: 4px;
  }

  .blog-cardfour__text {
    margin-bottom: 20px;
  }
}

@media (max-width: 575.98px) {
  .blog-cardone__content {
    padding: 32px 16px 20px;
  }
}

/* --- Footer --- */
@media (max-width: 991.98px) {
  .footer-four__top-left {
    padding-top: 48px;
    padding-bottom: 32px;
    padding-right: 0;
    gap: 24px;
  }

  .footer-four__top-right {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .footer-four__main {
    gap: 32px;
  }

  .footer-four__newsletter {
    padding-top: 8px;
    padding-bottom: 32px;
  }
}

@media (max-width: 767.98px) {
  .footer-four__top-left {
    padding-top: 40px;
    padding-bottom: 24px;
  }

  .footer-four__top-right {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .footer-four__bottom {
    padding-top: 32px;
    padding-bottom: 40px;
    gap: 16px;
  }

  .footer-four__bottom .icon svg {
    width: 64px;
    height: 64px;
  }

  .footer-widget__title.mb-24 {
    margin-bottom: 16px !important;
  }
}

@media (max-width: 575.98px) {
  .footer-four__newsletter-form {
    flex-direction: column;
    gap: 12px;
  }

  .footer-four__newsletter-form .input,
  .footer-four__newsletter-form .button {
    width: 100%;
  }
}

/* --- Contact & inner-page sections --- */
@media (max-width: 991.98px) {
  .contact-page__map {
    margin-bottom: 48px;
  }

  .contact-page__map iframe {
    height: 400px;
  }
}

@media (max-width: 767.98px) {
  .contact-page__map {
    margin-bottom: 32px;
  }

  .contact-page__map iframe {
    height: 280px;
  }

  .contact-info {
    padding: 28px 20px;
  }

  .contact-form {
    padding: 28px 20px;
  }

  .contact-cta.section-padding .custom-btn {
    margin-bottom: 8px;
  }
}

@media (max-width: 575.98px) {
  .contact-page__map iframe {
    height: 240px;
  }

  .contact-info {
    padding: 24px 16px;
  }

  .contact-form {
    padding: 24px 16px;
  }

  .contact-cta.section-padding .custom-btn.me-2 {
    margin-right: 0 !important;
    display: inline-flex;
    margin-bottom: 12px;
  }
}

/* FAQ accordion breathing room on small screens */
@media (max-width: 767.98px) {
  .faq .accordion-button {
    padding: 16px 18px;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .faq .accordion-body {
    padding: 16px 18px;
  }

  .faq .col-xl-8.mx-auto > p.text-center {
    text-align: left;
  }

  .faq .accordion-item.mb-3 {
    margin-bottom: 12px !important;
  }
}

/* Team page card spacing */
@media (max-width: 767.98px) {
  .team .team-card {
    padding: 24px 20px !important;
  }

  .team .team-card img {
    width: min(180px, 70vw) !important;
    height: min(180px, 70vw) !important;
  }
}

/* ==========================================================================
   Mobile responsive — consolidated site-wide
   Breakpoints: 1199px | 991px | 767px | 575px
   ========================================================================== */

/* --- Typography: prevent clipped / overflowing headings --- */
.section-top h1,
.section-top h2,
.section-top .gsap-title-anim,
.introone__content h1,
.breadcumb__title,
.service-details h1,
.blog-details h1,
.debitura-content h2,
.debitura-content h3 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

@media (max-width: 767.98px) {
  .section-top h1,
  .section-top h2,
  .section-top .gsap-title-anim {
    max-width: 100%;
  }

  .service-details h1,
  .blog-details h1 {
    font-size: clamp(1.5rem, 6vw, 2rem);
    line-height: 1.25;
  }
}

/* --- Section-top: center headings on mobile, left-align body copy --- */
@media (max-width: 767.98px) {
  .aboutone .section-top.text-start,
  .serviceone .section-top.text-start,
  .wcuone .section-top.text-start,
  .introone .section-top.text-start {
    text-align: center;
  }

  /* CTA keeps left-aligned copy with container gutter padding */
  .ctaone .section-top.text-start {
    text-align: left;
  }

  .aboutone__desc,
  .aboutone__content .aboutone__desc,
  .introone__desc,
  .wcuone__desc,
  .debitura-content p,
  .debitura-content li,
  .debitura-content ol,
  .service-details p,
  .blog-details p {
    text-align: left;
  }

  /* Keep centered intro blurbs under centered section-top */
  .section-top.text-center + p,
  .section-top.text-center ~ p.mx-auto {
    text-align: center;
  }

  .aboutone__featurelist .item__feature-list {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .ctaone-content {
    padding-right: 24px;
  }
}

/* --- Buttons: sizing in flex groups & full-width forms --- */
@media (max-width: 767.98px) {
  .custom-btn {
    max-width: 100%;
  }

  .d-flex.flex-wrap.gap-3,
  .d-flex.flex-wrap.justify-content-center {
    gap: 12px !important;
  }

  .contact-cta .custom-btn,
  .service-details .custom-btn,
  .blog-details .custom-btn {
    width: auto;
  }
}

@media (max-width: 575.98px) {
  .debitura .d-flex.flex-wrap.justify-content-center,
  .service-details .d-flex.flex-wrap,
  .blog-details .d-flex.flex-wrap,
  .contact-cta.section-padding .d-flex,
  .contact-cta.section-padding {
    flex-direction: column;
    align-items: stretch;
  }

  .debitura .d-flex.flex-wrap .custom-btn,
  .service-details .d-flex.flex-wrap .custom-btn,
  .blog-details .d-flex.flex-wrap .custom-btn,
  .contact-cta .custom-btn:not(.w-100) {
    width: 100%;
    justify-content: center;
  }

  .offset-button .custom-btn {
    width: 100%;
    justify-content: center;
  }
}

/* --- About One: thumbs, feature block, video --- */
@media (max-width: 991.98px) {
  .aboutone__thumb-shapeone,
  .aboutone__thumb-shapetwo,
  .aboutone__thumb-shapethree,
  .aboutone__thumb-shapefour {
    max-width: 100%;
    pointer-events: none;
  }
}

@media (max-width: 767.98px) {
  .aboutone__blockone {
    flex-direction: column;
    align-items: stretch;
  }

  .aboutone__featurelist {
    width: 100%;
    padding-right: 0;
  }

  .aboutone__video {
    width: 100%;
    max-width: 100%;
  }

  .aboutone__video-thumb img {
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: cover;
  }
}

/* --- Debitura long-form content --- */
.debitura-content {
  text-align: left;
}

@media (max-width: 991.98px) {
  .debitura-content {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  .debitura-content h2 {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    line-height: 1.3;
  }

  .debitura-content h3 {
    font-size: clamp(1.1rem, 4.5vw, 1.35rem);
    line-height: 1.35;
  }

  .debitura-content p,
  .debitura-content li {
    line-height: 1.65;
    max-width: 65ch;
  }

  .debitura-content ol {
    padding-left: 1.25rem;
  }

  .debitura .aboutone__desc {
    text-align: center;
  }
}

@media (max-width: 575.98px) {
  .debitura .col-lg-5 img,
  .debitura img.img-fluid {
    max-height: 280px;
    object-fit: cover;
    width: 100%;
  }
}

/* --- Blog grid, cards, pagination --- */
.blog .row.gy-32 > [class*="col-"] {
  display: flex;
}

.blog-cardfour__thumb img {
  width: 100%;
  object-fit: cover;
}

@media (max-width: 767.98px) {
  .blog .blog-cardfour__thumb img {
    height: 200px !important;
    max-height: 200px;
  }

  .blog-cardfour__title {
    font-size: clamp(1rem, 4vw, 1.25rem);
    line-height: 1.35;
  }
}

@media (max-width: 575.98px) {
  .blog .blog-cardfour__thumb img {
    height: 180px !important;
    max-height: 180px;
  }

  .pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    row-gap: 8px;
  }

  .pagination .page-link {
    padding: 0.4rem 0.65rem;
    font-size: 0.875rem;
  }

  nav[aria-label*="pagination"] {
    padding-inline: 4px;
  }
}

/* --- Blog / service detail hero images --- */
@media (max-width: 767.98px) {
  .blog-details .blog-cardfour__thumb img {
    max-height: 240px !important;
    object-fit: cover;
  }
}

/* --- Contact page: map, branches, form --- */
@media (max-width: 991.98px) {
  .contact-page__info-wrap .row {
    --bs-gutter-y: 20px;
  }
}

@media (max-width: 575.98px) {
  .contact-page__info-wrap .col-xl-4,
  .contact-page .row.g-4 > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .contact-info__text {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}

/* --- FAQ accordion (site-wide) --- */
@media (max-width: 575.98px) {
  .faq .accordion-button {
    padding: 14px 16px;
    font-size: 0.9rem;
  }

  .faq .accordion-body {
    padding: 14px 16px;
  }

  .faq .accordion-item {
    overflow: hidden;
  }
}

/* --- Footer: stacked layout & newsletter --- */
@media (max-width: 991.98px) {
  .footer-four__top-right {
    align-items: center;
    text-align: center;
  }

  .footer-four__top-logo img {
    max-height: 72px;
    width: auto;
    object-fit: contain;
  }
}

@media (max-width: 767.98px) {
  .footer-four__main {
    flex-direction: column;
    align-items: stretch;
  }

  .footer-widget__wrap {
    flex-direction: column;
    gap: 28px;
    width: 100%;
  }

  .footer-four__newsletter {
    width: 100%;
  }
}

/* --- Homepage team slider --- */
@media (max-width: 991.98px) {
  .teamone .row.gy-32 {
    --bs-gutter-y: 28px;
  }

  .teamone__thumbone {
    max-width: min(240px, 60vw);
  }
}

@media (max-width: 767.98px) {
  .teamone .teamone__content--active {
    text-align: center;
    justify-content: center;
  }

  .teamone .teamone__content--active a h4 {
    font-size: clamp(1.25rem, 5vw, 1.5rem);
  }
}

/* --- Services listing cards --- */
.services .row.gy-32 > [class*="col-"] {
  display: flex;
}

.service-cardthree {
  width: 100%;
}

/* --- Row alignment: stretch card columns consistently --- */
@media (max-width: 767.98px) {
  .row.gy-32,
  .row.gy-48 {
    align-items: stretch;
  }

  .row.gy-32 > [class*="col-"],
  .row.gy-48 > [class*="col-"] {
    display: flex;
    flex-direction: column;
  }

  .row.gy-32 > [class*="col-"] > *,
  .row.gy-48 > [class*="col-"] > * {
    flex: 1 1 auto;
    width: 100%;
  }
}

/* --- Intro hero: contain decorative overflow --- */
.introone.introone--abanto {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .introone--abanto .introone__content .custom-btn {
    max-width: 100%;
  }
}

/* --- About page counters --- */
@media (max-width: 767.98px) {
  .counterone .row.gx-0 > [class*="col-"] {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .counterone .row.gx-0 > [class*="col-"]:last-child {
    border-bottom: 0;
  }

  .counterone__item {
    padding: 24px 16px;
    text-align: center;
  }
}

/* --- Tables & lists (inner content) --- */
.debitura-content table,
.blog-details table,
.service-details table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.debitura-content ul,
.debitura-content ol,
.service-details ul,
.service-details ol,
.blog-details ul,
.blog-details ol {
  margin: 0 0 1.25rem;
  padding-left: 1.75rem;
  list-style-position: outside;
}

.debitura-content ul,
.service-details ul,
.blog-details ul {
  list-style-type: disc;
}

.debitura-content ol,
.service-details ol,
.blog-details ol {
  list-style-type: decimal;
}

.debitura-content li,
.service-details li,
.blog-details li {
  margin-bottom: 0.5rem;
}

.debitura-content .accordion-body ul,
.debitura-content .accordion-body ol {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Blog article body: restore list markers (global ul reset sets list-style: none) */
.blog-content ul,
.blog-content ol,
.blog-details__body.blog-content ul,
.blog-details__body.blog-content ol {
  margin: 1rem 0 1.35rem;
  padding-left: 1.75rem;
  list-style-position: outside;
}

.blog-content ul,
.blog-details__body.blog-content ul {
  list-style-type: disc;
}

.blog-content ol,
.blog-details__body.blog-content ol {
  list-style-type: decimal;
}

.blog-content li,
.blog-details__body.blog-content li {
  margin-bottom: 0.55rem;
  line-height: 1.65;
  padding-left: 0.25rem;
}

.blog-content h2,
.blog-details__body.blog-content h2 {
  margin-top: 2rem;
  margin-bottom: 0.65rem;
  clear: both;
}

.blog-content h3,
.blog-details__body.blog-content h3 {
  margin-top: 1.15rem;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
  clear: both;
}

.blog-content p + ul,
.blog-content p + ol,
.blog-content h3 + ul,
.blog-content h3 + ol {
  margin-top: 0.75rem;
}

/* --- Blog article body (generated HTML) --- */
.blog-details__content {
  text-align: left;
}

.blog-details__content h2 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.blog-details__content h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.35;
}

.blog-details__content > p,
.blog-details__content li p {
  line-height: 1.7;
  margin-bottom: 1rem;
}

.blog-details__content ul,
.blog-details__content ol,
.blog-content ul,
.blog-content ol {
  margin: 0 0 1.25rem 0;
  padding-left: 1.5rem;
  list-style-position: outside;
}

.blog-details__content ul,
.blog-content ul {
  list-style-type: disc;
}

.blog-details__content ol,
.blog-content ol {
  list-style-type: decimal;
}

.blog-details__content li,
.blog-content li {
  margin-bottom: 0.5rem;
}

@media (max-width: 767.98px) {
  .blog-details__content h2 {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
  }

  .blog-details__content h3 {
    font-size: clamp(1.1rem, 4.5vw, 1.35rem);
  }

  .blog-details__content > p,
  .blog-details__content li p {
    max-width: 65ch;
  }
}

/* ==========================================================================
   Tablet (iPad) & mobile polish — 768px–1024px + touch spacing
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .section-padding {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .introone--abanto .introone__content {
    padding: 152px 0 64px;
  }

  .breadcumb__wrap {
    padding: 132px 0 56px;
  }

  .aboutone__thumb-one,
  .aboutone__thumb-two {
    height: 400px;
  }

  .aboutone__thumb-one {
    width: 300px;
  }

  .aboutone__thumb-two {
    width: 260px;
  }

  .wcuone__content {
    padding-right: 0;
  }

  .wcuone__info {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 24px !important;
  }

  .wcuone__duration {
    width: 100%;
    max-width: 320px;
  }

  .ctaone-content.section-padding {
    padding-top: 52px;
    padding-bottom: 18px;
  }

  .ctaone__thumb img {
    max-height: 380px;
  }

  .teamone__thumbone {
    max-width: 220px;
  }

  .contact-page__map iframe {
    height: 360px;
  }
}

/* Utility gutters: gy-48 too tall when columns stack */
@media (max-width: 991.98px) {
  .gy-48 {
    --bs-gutter-y: 36px;
  }
}

@media (max-width: 767.98px) {
  .gy-48 {
    --bs-gutter-y: 28px;
  }

  .contact-page.section-padding.pt-0 {
    padding-top: 0;
  }

  .contact-page .section-top.my-48 {
    margin-top: 32px !important;
    margin-bottom: 28px !important;
  }

  .contact-page .contact-page__info-wrap.mb-48,
  .contact-page .row.mb-48 {
    margin-bottom: 28px !important;
  }

  /* Inner pages: image + text rows */
  .service-details .row.align-items-center,
  .debitura .row.align-items-center,
  .blog-details .row.align-items-center {
    align-items: flex-start;
  }

  .service-details .col-lg-5 img,
  .debitura .col-lg-5 img {
    margin-bottom: 4px;
  }

  /* WCU: left-align headings on mobile (section-top centered globally) */
  .wcuone .section-top.text-start {
    text-align: left;
  }

  .wcuone__desc,
  .wcuone__featuretext {
    text-align: left;
  }

  /* About: content block breathing room */
  .aboutone__content {
    padding-top: 4px;
  }

  .aboutone__desc {
    text-align: left;
  }

  /* Service listing header row */
  .services .section-top,
  .blog .section-top {
    padding-inline: 0;
  }

  /* Breadcrumb inner container */
  .breadcumb .container {
    padding-inline: calc(var(--bs-gutter-x) * 0.5);
  }

  /* Offcanvas / mobile menu touch targets */
  .offcanvas__info {
    padding: 24px 20px;
  }

  /* Custom buttons: min touch height */
  .custom-btn {
    min-height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  /* Prevent nested section-padding double-stacking on inner wrappers */
  .ctaone-content.section-padding {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 575.98px) {
  .gy-48 {
    --bs-gutter-y: 24px;
  }

  .introone--abanto .introone__content .custom-btn {
    width: 100%;
    justify-content: center;
  }

  .aboutone .section-top.text-start {
    text-align: left;
  }

  .serviceone .section-top.text-start {
    text-align: left;
  }

  .footer-four__top-info {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
  }

  .footer-four__top-info--left {
    width: 100%;
  }
}

/* Service details / FAQ / debitura content blocks */
@media (max-width: 991.98px) {
  .service-details .aboutone__desc,
  .faq .section-top,
  .debitura-content {
    padding-inline: 0;
  }

  .service-details .col-xl-8.mx-auto {
    padding-inline: 4px;
  }
}

@media (max-width: 767.98px) {
  .service-details h1,
  .faq .breadcumb__title,
  .debitura-content h2 {
    hyphens: auto;
  }

  .service-cardthree__title,
  .blog-cardfour__title {
    overflow-wrap: break-word;
  }

  /* Testimonial slider controls */
  .testimonialone .slider__buttons {
    justify-content: center;
    margin-top: 16px;
    gap: 12px;
  }
}
