/*------------------------------------------------------------------------------------- 
Theme Name:		 Kanun Child Theme
Theme URI:		 https://ex-coders.com/wp/kanun/
Description:	 Kanun - Attorney & Law Agency WordPress Theme
Author:			 Gramentheme
Author URI:		 https://themeforest.net/user/gramentheme/portfolio
Template:		 kanun
Version:		 1.0.0
Text Domain:	 kanun-child-theme
-------------------------------------------------------------------------------------*/
/*
    Please Add your custom styles here
*/
/* Toàn bộ website dùng Inter */
* {
	font-family: 'Inter', sans-serif !important;
}
#form {
    background: #003268 !important;
    background-image: none !important;
}
/* Font Awesome PRO (solid, regular, light, thin...) */
.archive-page-content-area, .padding-120{
	padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.fa, .fas
 {
	font-family: "Font Awesome 6 Pro" !important;
	font-weight: 900; /* điều chỉnh nếu dùng light/thin */
}
#comments{
display:none;	
}
.breadcrumb-wrapper {
    background-image: none !important;
    background-color: #003268 !important;
}
.footer-section-2 .right-shape{
	display:none;
}
.breadcrumb-wrapper::before {
    display: none !important;
}
/* Font Awesome Brands */
.far,
.fal,
.fat,
.fab {
	font-family: "Font Awesome 6 Brands" !important;
	font-weight: 400;
}
/* ========== FONT AWESOME PRO (FA6) ========== */
/* solid / regular / light / thin / duotone */
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-duotone,
.fa-sharp,
.fa-sharp-solid,
.fa-sharp-regular {
	font-family: "Font Awesome 6 Pro" !important;
	font-weight: 900; /* solid mặc định */
}

/* ==============================
   ENTRY CONTENT TYPOGRAPHY + LISTS
   ============================== */

.entry-content {
  line-height: 1.7;
}

/* Paragraph */
.entry-content p {
  margin: 0 0 16px;
}

/* Headings */
.entry-content h2 { margin: 32px 0 16px; line-height: 1.25; }
.entry-content h3 { margin: 24px 0 12px; line-height: 1.25; }
.entry-content h4 { margin: 20px 0 10px; line-height: 1.3; }
.entry-content h5 { margin: 16px 0 8px;  line-height: 1.35; }

.entry-content h2 + p,
.entry-content h3 + p,
.entry-content h4 + p,
.entry-content h5 + p {
  margin-top: 0;
}

/* Lists (restore bullets/numbers) */
.entry-content ul,
.entry-content ol {
  margin: 0 0 16px;
  padding-left: 1.25em;     /* tạo chỗ cho bullet/number */
}

.entry-content ul {
  list-style: disc;         /* bullet chấm */
}

.entry-content ol {
  list-style: decimal;      /* số 1,2,3 */
}

.entry-content li {
  margin: 0 0 8px;
}

/* Nested lists (cấp 2) */
.entry-content ul ul { list-style: circle; margin-top: 8px; }
.entry-content ol ol { list-style: lower-alpha; margin-top: 8px; }

/* Gap giữa các card trong grid */
.kanun-archive-grid-col{
  margin-bottom: 24px;
}

/* Nếu template cũ có margin quá lớn, có thể giảm */
.kanun-archive-grid .kanun-archive-grid-col article{
  height: 100%;
}


/* 1) Toàn bộ card thành flex column để canh đáy */
.kanun-archive-grid-item{
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 2) Khối thumbnail giữ nguyên, khối content giãn */
.kanun-archive-grid-item .thumbnail-wrap{
  flex: 0 0 auto;
}

.kanun-archive-grid-item .content{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* 3) Đẩy phần nút xuống đáy */
.kanun-archive-grid-item .blog-bottom{
  margin-top: auto;
}
.blog-main-item-01 .content{
	padding: 10px !important;
}
/* 4) (Tùy chọn) Làm tiêu đề & mô tả đồng bộ số dòng */
.kanun-archive-grid-item .title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;  /* title tối đa 3 dòng */
  overflow: hidden;
}
.blog-main-item-01 .thumbnail-wrap{
	padding:0 !important;
}
.kanun-archive-grid-item .content p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;  /* excerpt tối đa 3 dòng */
  overflow: hidden;
}

.blog-main-item-01 .content .title{
  word-break: normal;
  overflow-wrap: break-word; /* thay thế an toàn */
}

/* Điều chỉnh heading trong nội dung bài viết cho dễ đọc */
.entry-content h1 {
  font-size: 36px;
  line-height: 1.3;
}

.entry-content h2 {
  font-size: 30px;
  line-height: 1.35;
}

.entry-content h3 {
  font-size: 24px;
  line-height: 1.4;
}

/* Section wrapper: padding trên/dưới 60px */
.lawyer-booking-section{
  padding: 60px 0;
}

/* Chống tràn ngang do input/select width 100% !important */
.lawyer-booking-section,
.lawyer-booking-container{
  max-width: 100%;
  overflow-x: hidden;
}

/* Title card: tối đa 2 dòng + ... */
.news-card-items-2 .news-content h4 a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;   /* tối đa 2 dòng */
  overflow: hidden;
}

/* (khuyến nghị) set line-height để chiều cao 2 dòng ổn định */
.news-card-items-2 .news-content h4{
  line-height: 1.35;
  margin-bottom: 10px;
}

.nice-select{
	display:none;
}
.lawyer-exclusive-section form{
	background-color:#C40C0C;
	border-radius:8px;
	box-shadow:0px 2px 8px 0px #1a1a1a29;
	padding:4px;
	margin:24px;
}
/* HEADER FORM */
.lawyer-exclusive-header{
  text-align: center;
  margin-bottom: 28px;
}

.lawyer-exclusive-title{
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  margin-bottom: 6px;
}

.lawyer-exclusive-subtitle{
  font-size: 18px;
  font-weight: 500;
  color: #444;
  line-height: 1.4;
}
.kanun-archive-grid-item{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.kanun-archive-grid-item .thumbnail-wrap{
  flex: 0 0 auto;
}

.kanun-archive-grid-item .content{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.kanun-archive-grid-item .blog-bottom{
  margin-top: auto;
}
.kanun-archive-grid-item .post-thumbnail img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
/* .kanun-archive-grid-item .title a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

  line-height: 1.35;
  min-height: calc(1.35em * 2); /* luôn cao bằng 2 dòng */
} */
.kanun-archive-grid-item .content > p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* Dịch vụ trang chủ: ép mô tả đúng 4 dòng */
/* .service-box-items .service-content p{
  margin: 0;                 /* bỏ margin khiến tụt dòng */
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;

  /* khóa chiều cao đúng 4 dòng */
  max-height: calc(1.6em * 4) !important;
} */
/* 1. Card layout đều nhau */
.service-box-items{
  height: 100%;
  display: flex;
}
.service-box-items .service-content{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 2. Title spacing */
.service-box-items .service-content h4{
  margin-bottom: 14px;
  line-height: 1.4;
}

/* 3. Clamp mô tả 4 dòng + spacing đẹp */
.service-box-items .service-content p{
  margin-bottom: 22px !important;
  line-height: 1.6;
	border:none;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;

  max-height: calc(1.6em * 4);
}

/* 4. Line + khoảng cách phía dưới mô tả */
.service-box-items .service-content .service-button{
  margin-top: auto;            /* đẩy button xuống đáy card */
}

/* 5. Căn icon + button ngang hàng đẹp */
.service-box-items .service-button{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

/* 6. Fix icon không bị lệch */
.service-box-items .service-button .icon{
  flex-shrink: 0;
}

/* 7. Hover card không nhảy layout */
.service-box-items:hover{
  transform: translateY(-4px);
  transition: all .25s ease;
}

/* Khung ảnh team = 4:3 */
.team-main-item .team-image{
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;   /* tỉ lệ 4:3 */
  overflow: hidden;
}

/* Ảnh fill khung */
.team-main-item .team-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;     /* crop cho đầy khung */
  object-position: center top; /* focus mặt */
  display: block;
}

/* Client avatar testimonial: 60x60 */
.testimonial-main-item .client-info-item .client-image{
  width: 60px !important;
  height: 60px !important;
  border-radius: 50%;      /* nếu muốn ảnh tròn */
  overflow: hidden;
  flex: 0 0 60px;          /* giữ cố định khi flex */
}

.testimonial-main-item .client-info-item .client-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;       /* crop cho đầy khung */
  object-position: center;
  display: block;
}

/* Namespace riêng để không ảnh hưởng module khác */
.contact-free-ask__wrap{
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.contact-free-ask__title{
  padding: 14px 16px;
  font-weight: 700;
  border-bottom: 1px solid rgba(0,0,0,.15);
}

/* row g-0 đã loại gap; thêm border chia cột */
.contact-free-ask__item{
  gap: 10px;
  padding: 14px 10px;
  text-decoration: none;
  border-right: 1px solid rgba(0,0,0,.15);
}

.contact-free-ask__grid > .col:last-child .contact-free-ask__item{
  border-right: 0;
}

.contact-free-ask__icon{
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
}

.contact-free-ask__label{
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
/* 1️⃣ Làm các cột stretch đều nhau */
.elementor-widget-kanun-service-grid-widget .row {
    display: flex;
    flex-wrap: wrap;
}

.elementor-widget-kanun-service-grid-widget .row > [class*="col-"] {
    display: flex;
	padding:12px !important;
}

/* 2️⃣ Làm box full height + nền trắng */
.service-box-items {
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

/* 3️⃣ Đẩy nút xuống đáy */
.service-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.service-button {
    margin-top: auto;
}

/* 4️⃣ Tùy chọn: thêm shadow cho đẹp */
.service-box-items {
    box-shadow: 0 5px 25px rgba(0,0,0,0.05);
    transition: all .3s ease;
}

.service-box-items:hover {
    transform: translateY(-5px);
}
/* Desktop: submenu rộng hơn + không xuống dòng */
@media (min-width: 992px) {
  .mean__menu-wrapper .main-menu ul.sub-menu{
    min-width: 340px;              /* tăng độ rộng tối thiểu */
    width: max-content;            /* nở theo nội dung (không soft-wrap) */
    max-width: calc(100vw - 32px); /* chặn tràn màn hình */
  }
	.header-main .main-menu ul li .sub-menu{
		   padding: 20px 20px 20px 0px !important;
	}
	.header-2 .header-main .header-left .main-menu ul li a:hover{
		color:#fff !important;
	}
	.header-2 .header-main .header-left .main-menu ul li ul li a:hover{
		color:#000 !important;
	}

  .mean__menu-wrapper .main-menu ul.sub-menu > li > a{
    white-space: nowrap;           /* không xuống dòng */
    display: block;
    padding: 10px 18px;            /* nới padding cho dễ đọc */
  }
}
.news-card-items-2 .news-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3; /* Chuẩn 4:3 */
    overflow: hidden;
}

.news-card-items-2 .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cắt ảnh cho vừa khung */
    display: block;
}

.blog-main-item-01 .content .title {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Giới hạn 2 dòng */
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3em; /* giữ chiều cao cố định */
}

.blog-main-item-01 .content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.5em; /* đảm bảo đều nhau */
}

.blog-main-item-01 {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.blog-main-item-01 .content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.blog-main-item-01 .blog-bottom {
    margin-top: auto; /* đẩy nút xuống đáy */
}

/* Mobile: giữ 1 dòng + cho cuộn ngang nếu chữ quá dài */
@media (max-width: 991px) {
  .mean__menu-wrapper .main-menu ul.sub-menu{
    overflow-x: auto;
  }
  .mean__menu-wrapper .main-menu ul.sub-menu > li > a{
    white-space: nowrap;
    display: inline-block;
    min-width: 100%;
  }
}

/* Responsive: tự xuống hàng */
@media (max-width: 991px){
  .contact-free-ask__grid{ }
  .contact-free-ask__grid > .col{ flex: 0 0 33.3333%; max-width: 33.3333%; }
  .contact-free-ask__item{ border-right: 1px solid rgba(0,0,0,.15); border-bottom: 1px solid rgba(0,0,0,.15); }
  .contact-free-ask__grid > .col:nth-child(3) .contact-free-ask__item{ border-right: 0; }
}

@media (max-width: 575px){
  .contact-free-ask__grid > .col{ flex: 0 0 50%; max-width: 50%; }
  .contact-free-ask__grid > .col:nth-child(2) .contact-free-ask__item,
  .contact-free-ask__grid > .col:nth-child(4) .contact-free-ask__item{ border-right: 0; }
	 .breadcrumb-wrapper .page-heading {
        padding: 160px 0 80px;
    }
}