/*
Theme Name: Findme
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/
@import url("assets/css/font.css");

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
:root {
    --blue: #0D47A1;
    --green: #2E7D32;
    --accent: #FFB300;
    --muted: #f5f7fb;
    --card: #ffffff;
    --text: #0b2540;
    --maxw: 1200px;
    --lh: 1.6;
}

.font-second {
  font-family: 'Merriweather', serif;
}

/* Base Typography */
body {
  font-family: "SVN Poppins", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: var(--lh);
  color: var(--text);
}

:where(p:last-of-type) {
    margin-bottom: 0;
}
button.btn {
  line-height: normal;
  min-height: unset;
  letter-spacing: 0;
  margin: 0;
}
button.btn a {
  color: inherit;
}
.btn,
input[type="submit"].btn{line-height: initial;padding:12px 24px;border-radius:10px;border:0;cursor:pointer;font-weight:700;font-size:15px; text-transform: uppercase; transition: all 0.3s;}
.btn-primary,
input[type="submit"].btn-primary{background:var(--accent);color:var(--text);box-shadow:0 8px 20px rgba(255,179,0,0.3); border: 2px solid var(--accent);}
.btn-primary:hover,
input[type="submit"].btn-primary:hover{background:#ffc740;box-shadow:0 8px 25px rgba(255,179,0,0.4);}
.btn-outline,
input[type="submit"].btn-outline{background:transparent;border:2px solid var(--blue);color:var(--blue);}
.btn-outline:hover,
input[type="submit"].btn-outline:hover{background:var(--blue);color:var(--card);}


a.btn-dark-primary:hover{
  color: var(--card);
}
a.btn-primary:hover {
  color: var(--text);
}
#main, #wrapper {
  background: var(--muted);
}

.home #main, .home #wrapper {
  background: linear-gradient(180deg,#fff 0%, #f4f7fb 100%);
}
/** HEADER **/
header:not(.entry-header) {
    background: #fff;
    border-bottom: 1px solid #e0e6ec;
}
.home header {
    background: transparent;
    border: none;
}

.brand{display:flex;align-items:center;gap:12px}
.brand .header_logo{width:40px;height:40px}
.brand .site-title{margin:0;font-size:24px;color:var(--blue);letter-spacing:1px; font-weight: 800; line-height: 1.2;}
.tagline{font-size:12px;color:var(--green);margin-top:2px; font-weight: 500; text-transform: initial;}

.header-nav-main.nav > li {
  margin: 0 0 0 24px;
}
.header-nav-main.nav > li > a {
  color: var(--text);
  font-weight: 600;
  font-size: 15px;
  transition: color 0.2s;
  padding: 0 !important;
}
.header-nav-main.nav > li > a:hover {
  color: var(--blue);
}

.sec {
  padding: 40px 0;
}
/** HERO BANNER **/
.section-banner{
    background-color: var(--blue); 
    background-blend-mode: multiply; 
    background-position: center;
    background-size: cover;
    color: var(--card); 
    padding: 80px 24px; /* Tăng padding để banner to hơn */
    position: relative;
    border-radius: 12px;
    margin-bottom: 40px; 
    box-shadow: 0 10px 40px rgba(13,71,161,0.3);
    min-height: 400px; /* Chiều cao tối thiểu */
    display: flex;
    align-items: center;
}
.section-banner::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4); 
    border-radius: 12px;
    z-index: 1;
}
.new-hero-content {
    position: relative;
    z-index: 2;
    max-width: 550px; 
    padding: 20px 0;
}
.new-hero-content h2{
    font-size: 48px; /* Lớn hơn so với hero cũ */
    margin: 0 0 16px 0;
    color: var(--card);
    line-height: 1.1;
    font-weight: 800;
}
.new-hero-content p{
    margin: 0 0 30px 0;
    color: #e0e0e0;
    font-size: 18px;
}
.new-hero-cta{
    display:flex;
    gap:16px; 
    flex-wrap: wrap;
}

/* Thiết lập lại nút cho phù hợp với nền tối */
.btn-dark-primary{
    background: #007bff; /* Màu xanh dương sáng hơn */
    color: var(--card);
    box-shadow:0 8px 20px rgba(0,123,255,0.3); 
    border: 2px solid #007bff;
}
.btn-dark-primary:hover{
    background:#0056b3;
    box-shadow:0 8px 25px rgba(0,123,255,0.4);
}
.btn-dark-outline{
    background:transparent;
    border:2px solid var(--card);
    color:var(--card);
}
.btn-dark-outline:hover{
    background:var(--card);
    color:var(--blue);
}

.sec-title {
    color: var(--blue);
    margin-bottom: 30px;
    text-align: center;
}

/** PROBLEMS SECTION **/
.section-problems{
  padding-top: 20px; padding-bottom: 0;
}
.section-problems .sec-title{
    font-size: 24px; margin-bottom: 20px; color: #31526b; font-weight: 600;
}
.problems-list {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    padding:32px 0;
}
.card{
    background:var(--card);
    padding:18px;
    border-radius:10px;
    box-shadow:0 6px 18px rgba(15,33,64,0.04);
    display: flex;
}
.card > div { 
    display: flex; 
    gap: 12px; 
    align-items: center; 
    width: 100%;
}
.card h3{margin:8px 0 6px 0;color:var(--blue);font-size:18px}
.card-icon{
    width:48px;height:48px;
    border-radius:10px;
    background:linear-gradient(135deg,#e8f0ff,#e9fff0);
    display:flex;align-items:center;justify-content:center;
    font-size:28px;color:var(--blue);
    flex-shrink:0;
}

/** SOLUTIONS SECTION **/
.section-solutions {
    background: linear-gradient(150deg, #e8f6ff 0%, #eaffef 100%);
    border-radius: 16px;
    margin: 40px 0;
    padding: 40px 0 60px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.section-solutions .sec-desc {
    color: #35506b;
    font-size: 17px;
    max-width: 800px;
    margin: 0 auto 50px;
    padding: 0 20px;
}
.solution-infographic { 
    display:flex; 
    justify-content:center; 
    align-items: stretch;
    gap:20px; 
    max-width:1000px; 
    margin:0 auto 40px; 
    padding: 0 20px;
    flex-wrap: wrap; 
}
.info-step {
    flex:1; 
    min-width: 250px;
    padding:25px;
    border-radius:12px; 
    text-align: left;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.info-input { 
    background: #ffffff;
    border: 1px solid #e0e0e0;
}
.info-input .step-icon {
    color: #E53935; 
    font-size: 40px;
    margin-bottom: 15px;
    display: block;
    text-align: center;
}
.info-process { 
    background: var(--blue); 
    color: var(--card); 
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 40px 25px;
    border-radius: 12px;
}
.info-process::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: rgba(255, 255, 255, 0.05);
    z-index: -1;
}
.info-process .step-icon {
    color: var(--accent);
    font-size: 45px;
    margin-bottom: 15px;
    display: block;
    text-align: center;
}
.info-output { 
    background: #ffffff;
    border: 1px solid #e0e0e0;
}
.info-output .step-icon {
    color: var(--green); 
    font-size: 40px;
    margin-bottom: 15px;
    display: block;
    text-align: center;
}
.info-step h4 { 
    margin-top: 0; 
    font-size: 20px; 
    font-weight: 700; 
    margin-bottom: 20px;
    color: var(--blue);
    text-align: center;
}
.info-process h4 {
    color: var(--card);
}

.info-step ul { 
    list-style: none; 
    padding: 0; 
    margin:0; 
    font-size:15px; 
    color: #35506b;
}

.info-step li {
  margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}
.info-step ul li svg {
    color: #E53935;
    font-weight: bold;
    display: block;
    width: 16px;
    height: auto;
    font-size: 18px;
    flex-shrink: 0;
    position: relative;
    top: 3px;
}
.info-process ul {
  color: var(--card);
}
.info-output ul li svg {
    color: var(--green); /* Màu xanh lá */
}
.info-process ul li svg {
    color: var(--card); /* Màu xanh lá */
}


.arrow-right {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 -10px;
}
.arrow-right .material-symbols-outlined {
    font-size: 40px;
    color: var(--blue);
    opacity: 0.6;
}

/** SERVICES SECTION **/
.section-services{
    padding: 40px 0;
}
.section-services .sec-title {
  margin-top: 30px;
}
.service-list {
      display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.service{
    border-radius:12px;
    background:var(--card);
    box-shadow:0 6px 18px rgba(13,71,161,0.06); 
    overflow:hidden; 
    text-align: center; 
    transition: box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}
.service:hover { box-shadow: 0 10px 30px rgba(13,71,161,0.12);}
.service-img-wrap { 
    width: 100%; 
    height: 250px;
    overflow: hidden; 
    border-radius: 12px 12px 0 0;
    flex-shrink: 0;
}
.service-img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
    transition: transform 0.5s ease;
}
.service:hover .service-img {
      transform: scale(1.05);
}
.service-text { 
    padding: 20px; 
    text-align: left;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.service h4{
    margin:0 0 10px 0;
    color:var(--blue); 
    font-size: 20px;
    font-weight: 700;
}
.service p{margin:0;color:#35506b;font-size:15px; flex-grow: 1;}

/** WHY US SECTION **/
.why-us-new-grid { 
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; 
    align-items: center;
    margin-top: 30px;
}
.why-us-image-col {
    padding: 0;
    text-align: center;
    position: relative;
}
.why-us-image-col img {
    width: 100%;
    max-width: 400px;
    display: block;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    aspect-ratio: 4/3;
    object-fit: cover;
    margin: 0 auto;
}
.icon-box-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.why-us-new-grid .icon-box {
    padding: 20px;
    border-radius: 12px;
    background: var(--card);
    box-shadow: 0 6px 18px rgba(13,71,161,0.06);
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.icon-box.stat-box .icon-wrap {
    width: 45px; height: 45px;
    background: var(--accent);
    color: var(--text);
    font-size: 24px;
    font-weight: 800;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.icon-box.feature-box .icon-wrap {
    width: 45px; height: 45px;
    background: #e8f0ff;
    color: var(--blue);
    font-size: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.icon-box h4 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--blue);
}
.icon-box p {
    margin: 0;
    font-size: 14px;
    color: #43607f;
    line-height: 1.5;
}

/** RESULTS SECTION **/
.section-results { 
    background: var(--muted); 
    padding: 40px 0; 
    margin: 40px 0;
    border-radius: 12px;
}
.section-results .sec-container { padding: 0 24px; }

.result-stats { 
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    justify-content: center;
    margin-bottom: 50px;
}
.result-box { 
    flex:1;
    min-width:280px;
    max-width:350px;
    padding:20px;
    border-radius:12px;
    background:var(--card);
    box-shadow:0 6px 18px rgba(13,71,161,0.06);
    text-align: center;
}
.result-box .num{font-size:36px;font-weight:800;color:var(--green); margin-bottom: 5px;}
.result-box div{font-size:15px;color:#466376; min-height: 40px; display: flex; align-items: center; justify-content: center;}

.testi-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:20px;
}
.testi-grid .t{
    padding:20px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 18px rgba(13,71,161,0.04);
    border-top: 3px solid var(--accent);
    flex-shrink: 0;
}
.testi-header { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 10px;}
.testi-info { text-align: left; }
.testi-avatar { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; border: 2px solid var(--blue); flex-shrink: 0;}
.testi-name { font-weight: 700; color: var(--blue); margin-bottom: 2px;}
.testi-role { font-size: 13px; color:#556b7a;}
.testi-content { font-size:14px;color:#35506b; line-height: 1.5;}

/** PROCESS SECTION **/
.process-list {
    display:flex;
    gap:18px;
    align-items:stretch;
    justify-content:space-between;
    margin-top:20px;
    flex-wrap: wrap;
}
.step{
    flex:1;
    min-width:200px;
    padding:20px;
    border-radius:12px;
    text-align:center;
    background:linear-gradient(180deg,#fff,#f7fbff); 
    border: 1px solid #e0e6ec;
}
.step .step-icon {font-size: 38px; color: var(--blue); margin-bottom: 5px;}
.step h5{margin:10px 0 8px 0;color:var(--blue); font-size: 18px; font-weight: 700;}
.step div{font-size:14px;color:#43607f}

/** CTA SECTION **/
 .final{
    background-color: #e8f5e9; 
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23b2dfdb' fill-opacity='0.4' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); 
    border-radius:12px;
    padding:30px;
    margin-top:50px;
    display:flex;
    align-items:center;
    justify-content:space-between; 
    gap: 24px;
    box-shadow: 0 10px 30px rgba(46,125,50,0.1);
}
.final h3{margin:0;color:var(--blue); font-size: 24px;}
.final p{margin:8px 0 0 0;color:#31526b; font-size: 15px;}
.final .btn-primary { padding: 16px 28px; font-size: 16px; flex-shrink: 0; }

/** FOOTER **/

footer {
    padding: 30px 0 30px;
    border-top: 1px solid #e0e6ec;
    color: #274056;
    font-size: 14px;
    background-color: var(--card);
}
.home footer {
    background: transparent;
    margin-top: 30px;
    padding-top: 30px;
}
.footer-container {
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px 30px; padding-bottom: 20px;
}
.absolute-footer {
  display: none;
}
.contact-info p {
  margin-bottom: 0;
}

/** PAGE TITLE **/
.ptitle {
    padding: 40px 0 60px !important;
}
.ptitle--sm {
    padding: 40px 0 30px !important;
    border-bottom: 1px solid #e0e6ec;
}
.ptitle h1 {
    font-size: 52px;
    font-weight: 800;
    color: var(--blue);
    margin: 0 0 10px 0;
    line-height: 1.1;
    letter-spacing: 0;
}
.ptitle p {
    font-size: 20px;
    color: #43607f;
    max-width: 800px;
    margin: 0 auto;
}
.ptitle--sm h1 {
    font-size: 48px;
}
.ptitle--sm p {
    font-size: 16px;
}

/** OUR STORY **/
.our-story .banner {
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}
.story-content h2 {
    color: var(--text);
    margin: 0 0 20px 0;
}
.story-content p {
    font-size: 17px;
    color: #35506b;
    margin-bottom: 20px;
    line-height: 1.7;
}
.story-highlight {
    font-style: italic;
    color: var(--blue);
    font-weight: 600;
}
.mission-values h2 {
    color: var(--green);
    margin-block: 1em 20px;
}
.mission-intro {
    font-size: 18px;
    color: #35506b;
    margin-bottom: 50px;
}

.mv-item {
    background: var(--card);
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border-top: 5px solid var(--accent);
    height: 100%;
}
.mv-item h3 {
    font-size: 22px;
    color: var(--text);
    font-weight: 700;
    margin: 0 0 10px 0;
}
.mv-item p {
    font-size: 15px;
    color: #556b7a;
}
.mv-item .icon-box-img {
    margin-bottom: 15px;
}
.mv-item .icon-box-img svg {
    display: block;
    padding: 0;
}

.team-section {
    padding-block: 50px 80px !important;
}
.team-section h2 {
    margin-top: 1em;
    margin-bottom: 50px;
}
.team-member {
    text-align: center;
    background: var(--card);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    height: 100%;
}
.team-member  .image-cover {
    border-radius: 8px;
    margin-bottom: 15px;
    border: 2px solid #e0e6ec;
}
.team-member .box-text {
    padding: 0;
}
.team-member .box-text h3 {
    font-size: 18px;
    color: var(--text);
    font-weight: 700;
    margin: 0 0 5px 0;
}
.team-member .box-text p {
    display: block;
    font-size: 13px;
    color: #556b7a;
}
.team-member .box-text p.team-position {
    font-size: 14px;
    color: var(--blue);
    font-weight: 600;
    margin: 0 0 10px 0;
}
.differentiator-section {
    padding: 50px 0 !important;
    text-align: center;
}
.differentiator-section h2 {
    font-size: 30px;
    color: var(--text);
    font-weight: 700;
    margin-top: 1em;
    margin-bottom: 30px;
}
.differentiator-box {
    background: var(--card);
    padding: 30px;
    border-radius: 12px;
    max-width: 700px;
    margin: 0 auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-left: 5px solid var(--blue);
}
.differentiator-box p {
    font-size: 17px;
    color: #35506b;
    margin-bottom: 20px;
}
.differentiator-box a.button {
    min-height: unset;
    font-weight: 700;
    font-size: 15px;
    border: none;
    letter-spacing: 0;
}
.differentiator-box a.button span {
    line-height: 21px;
}
.responsibility-cta-section {
    padding: 80px 0 !important;
    text-align: center;
}
.responsibility-cta-section h2 {
    color: var(--green);
    margin-top: 1em;
}
.responsibility-cta-section p {
    font-size: 18px;
    color: #35506b;
    max-width: 700px;
    margin: 0 auto 40px auto;
}
.cta-btn-light {
    background: var(--blue);
    color: var(--card);
    padding: 16px 30px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    transition: background 0.3s;
        min-height: unset;
    line-height: 1;
    border: none;
    margin: 0;
}
.contact-form-wrapper,
.contact-info-wrapper {
    padding: 40px;
    border-radius: 12px;
}
.contact-form-wrapper {
    background: var(--card);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e0e6ec;
}
.contact-info-wrapper {
    background: var(--blue);
    color: var(--card);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 71, 161, 0.2);
    height: fit-content;
}
.contact-form-wrapper h2,
.contact-info-wrapper h2 {
    font-size: 30px;
    color: var(--text);
    font-weight: 800;
    margin: 0 0 30px 0;
}
.contact-info-wrapper h2 {
    color: var(--accent);
}
.form-group label {
    display: block;
    font-size: 15px;
    color: #556b7a;
    font-weight: 600;
    margin-bottom: 8px;
}
.form-contact-wrapper .form-group {
    margin-bottom: 20px;
}
.form-contact-wrapper .wpcf7-form-control {
    margin-bottom: 0;
}
.form-contact-wrapper .wpcf7-form-control.wpcf7-not-valid {
    border-color: var(--fs-color-alert);
}
.wpcf7 .wpcf7-not-valid-tip {
    margin-top: 5px;
    background: transparent;
    padding: 0;
    font-size: 14px;
}
.wpcf7 .wpcf7-not-valid-tip:after,
.wpcf7-spinner {
    display: none;
}
.wpcf7 form .wpcf7-response-output {
    margin: 20px 0 0;
    border-width: 1px;
    font-size: 14px;
    border-radius: 8px;
}
.contact-form-wrapper form {
    margin: 0;
}
.wpcf7 .wpcf7-submit {
    padding: 15px;
    font-size: 16px;
    background: var(--blue);
    color: var(--card);
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s;
    min-height: unset;
    line-height: initial;
}

.info-item .icon-box-img svg {
    display: block;
    padding-top: 5px;
}
.info-box .icon-box-text {
    padding-left: 15px;
}
.info-item .icon-box-text,
.info-item .icon-box-text p,
.info-item .icon-box-text a {
    margin: 0;
    font-size: 16px;
    color: #e0f2f1;
}
.info-item h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 5px 0;
}


.community-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}
.map-container {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    width: 100%;
    height: 400px;
}
.map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.community-channels {
    padding: 30px;
    background: var(--card);
    border-radius: 12px;
    border: 1px solid #e0e6ec;
    text-align: center;
    width: 100%;
}
.channel-list {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}
.channel-list a {
    display: block;
    padding: 15px 25px;
    background: #f5f7fb;
    border-radius: 8px;
    font-weight: 700;
    color: var(--blue);
    transition: background 0.3s, color 0.3s;
}
.channel-list a:hover {
    background: var(--blue);
    color: var(--card);
}
.community-map {
    margin-top: 50px;
}
h2 {
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 20px;
}

.terms-content .col-inner {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e0e6ec;
    margin: 50px auto 80px auto;
    max-width: 900px;
    margin-inline: auto !important;
}
.terms-content h2 {
    font-family: 'Merriweather', serif;
    font-size: 28px;
    color: var(--text);
    margin: 30px 0 15px 0;
    border-bottom: 2px solid var(--green); /* Thay đổi màu viền để phân biệt với Trang Điều khoản */
    padding-bottom: 5px;
    font-weight: 700;
}

.terms-content h3 {
    font-size: 22px;
    color: var(--green); /* Thay đổi màu để đồng bộ với viền */
    margin: 25px 0 10px 0;
    font-weight: 600;
}

.terms-content p, .terms-content li {
    font-size: 16px;
    color: #35506b;
    line-height: 1.7;
    margin-bottom: 15px;
}

.terms-content ul {
    list-style: disc;
    padding-left: 10px;
    margin-bottom: 20px;
}
.terms-content strong {
    color: var(--text);
}
.terms-content blockquote {
    border-left: 4px solid var(--blue);
    padding: 15px 25px;
    margin: 30px 0;
    background: #e3f2fd;
    font-style: italic;
    color: var(--blue);
    font-size: 17px;
    border-radius: 4px;
}
.off-canvas .nav.nav-vertical {
    padding: 0;
}
.off-canvas .search-form input.search-field {
    height: 40px;
    border-radius: 6px 0 0 6px;
    border-right: none;
}
.off-canvas .search-form button.submit-button {
    height: 40px;
    width: 40px;
    border-radius: 0 6px 6px 0;
    background: var(--fs-color-primary);
}
.off-canvas .nav-vertical>li>a {
    font-size: 16px;
    color: var(--text);
    line-height: normal;
    letter-spacing: 0;
}

.cat-header h1{
    font-size: 40px;
    color: var(--blue);
    margin: 0 0 10px 0;
    font-weight: 800;
    line-height: normal;
    text-transform: uppercase;
}
.cat-header .cat-desc {
    font-size: 18px;
    color: #43607f;
    max-width: 800px;
    margin: 0 auto;
}

.page-wrapper.blog-wrapper {
    padding-top: 0;
}

.article-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding-bottom: 80px;
}
.article-grid.has-pagination {
    padding-bottom: 30px;
}
.article-grid article.first-item {
    grid-column: span 3;
}
.article-grid article {
    margin: 0;
}
.article-item {
    background: var(--card);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    border: 1px solid #e0e6ec;
}
.article-item-image-wrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
}
.article-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.article-item:hover .article-item-image {
    transform: scale(1.05);
}
.article-item-content {
    padding: 20px;
}
.article-item-tag {
    font-size: 12px;
    color: var(--blue);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 5px;
}
.first-item .article-item-tag {
    font-size: 14px;
    color: var(--accent);
    font-weight: 700;
    margin-bottom: 10px;
}
.article-item-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 10px 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.article-item-content .article-item-excerpt {
    font-size: 14px;
    color: #556b7a;
    margin-bottom: 15px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.article-item-read-more {
    font-size: 14px; 
    font-weight: 600;
    display: inline-block;
}
.article-item.first-item {
    display: flex;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.article-item.first-item > * {
    flex: 1 0 50%;
}
.article-item.first-item h3 {
    font-size: 32px;
    font-weight: 800;
    margin: 0 0 15px 0;
    line-height: 1.25;
    -webkit-line-clamp: 3;
}
.first-item .article-item-content .article-item-excerpt {
    font-size: 17px;
    margin: 0 0 25px 0 !important;
}
.first-item .article-item-content {
        padding: 40px;
}
.first-item .article-item-image-wrap {
    height: 405px;
}
.category-tabs {
    text-align: center;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.category-tabs a {
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    background-color: #e0e6ec;
    color: #43607f;
    transition: all 0.2s;
}
.category-tabs a.active, .category-tabs a:hover {
    background-color: var(--blue);
    color: var(--card);
}
.nav-pagination.links {
    margin-block: 0 80px;
}

.rank-math-breadcrumb {
    margin: 30px 0;
    font-size: 14px;
    color: #556b7a;
}
.rank-math-breadcrumb .separator {
    margin: 0 5px;
}
.rank-math-breadcrumb p {
    margin: 0 !important;
}

.blog-single article {
    background: var(--card);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e0e6ec;
    margin: 0;
}
.blog-single #secondary {
    padding: 20px;
    background: var(--card);
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #e0e6ec;
    height: fit-content;
}
.post-tag {
    font-size: 14px;
    margin-bottom: 10px;
}
.post-tag a {
    color: var(--accent);
    text-transform: uppercase;
    font-weight: 700;
}
.entry-header .entry-title {
    font-family: 'Merriweather', serif;
    font-size: 44px;
    font-weight: 800;
    color: var(--text);
    margin: 0 0 15px 0;
    line-height: 1.2;
}
.entry-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 14px;
    color: #556b7a;
    column-gap: 20px;
    row-gap: 5px;
}
.entry-meta .meta-item {
    display: flex;
    align-items: center;
    line-height: normal;
    gap:5px;
}
.entry-meta .meta-item .material-symbols-outlined {
    font-size: 19px;
    color: var(--blue);
}
.entry-header-text {
    padding-bottom: 30px;
}
.entry-image {
    box-shadow: 0 10px 20px rgb(0 0 0 / 10%);
    border-radius: 8px;
    margin-bottom: 40px;
    overflow: hidden;
}
.entry-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}
.entry-content {
    padding-block: 0;
}
.entry-content h2 {
    font-family: 'Merriweather', serif;
    font-size: 28px;
    color: var(--blue);
    margin: 30px 0 15px 0;
    border-bottom: 2px solid #e0e6ec;
    padding-bottom: 5px;
    font-weight: 700;
}
.entry-content blockquote {
    border-left: 4px solid var(--accent);
    padding: 15px 25px;
    margin: 30px 0;
    background: #fff8e1;
    font-style: italic;
    color: #35506b;
    font-size: 18px;
    border-radius: 4px;
}
.entry-content blockquote p:last-of-type {
    margin-bottom: 0;
}
.entry-content h3 {
    font-size: 22px;
    margin: 20px 0 10px 0;
}
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    color: var(--text);
}
.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px auto;
    display: block;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}
.wp-caption .wp-caption-text {
    font-size: 14px;
    text-align: center;
    color: #556b7a;
    background: transparent;
    padding: 0;
}
.entry-author {
    padding-top: 30px;
    padding-bottom: 0;
    margin-top: 30px;
    border-top: 1px solid #e0e6ec;
    display: flex;
    align-items: center;
    gap: 20px;
}
.entry-author .author-name {
    margin: 0 0 5px 0;
    font-size: 16px;
    color: var(--blue);
    font-weight: 700;
    padding: 0;
}
.entry-author .author-desc {
    margin: 0;
    font-size: 13px;
    color: #556b7a;
}

.wpcf7 .form-newsletter-wrapper .wpcf7-submit {
    width: 100%;
    font-weight: 600;
    margin: 10px 0 0;
    line-height: 1;
}
#secondary .widget:not(:last-child) {
    margin-bottom: 30px;
}
#secondary .widget:last-child {
    margin-bottom: 0;
}
.widget span.widget-title {
    font-size: 20px;
    color: var(--text);
    display: block;
    line-height: normal;
    letter-spacing: 0;
    font-weight: 700;
}
.widget .is-divider {
    max-width: 100%;
    height: 2px;
    background-color: var(--accent);
    margin-block: 5px 20px;
}
.widget .textwidget {
    font-size: 15px;
    color: #556b7a;
}
.wpcf7 .form-newsletter-wrapper .wpcf7-form-control {
    margin-bottom: 0;
}
.wpcf7 .form-newsletter-wrapper input.wpcf7-form-control:not(.wpcf7-submit) {
    height: 40px;
}
.widget .wpcf7 form .wpcf7-response-output {
    margin: 10px 0 0;
}

.mf-related-item {
    display: block;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #e0e6ec;
}
.mf-related-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.mf-related-item .mf-related-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 5px 0;
    transition: color 0.2s;
}
.mf-related-item:hover .mf-related-link {
    color: var(--blue);
}
.mf-related-meta {
    font-size: 12px;
    color: #556b7a;
}
.widget_categories ul li {
    border: none !important;
    font-size: 15px;
    color: var(--fs-color-primary);
}
.widget_categories ul li:not(:last-child) {
    margin-bottom: 8px;
}

.widget_categories ul li a {
    padding: 0;
}

.lwptoc .lwptoc_i {
    border: 1px solid #e0e6ec;
    background-color: var(--muted);
    padding: 20px;
    border-radius: 8px;
    margin: 30px 0 40px 0;
}
.lwptoc .lwptoc_header {
    border-bottom: 1px solid #cfd8dc;
    padding-bottom: 10px;
    margin-bottom: 15px;
    font-size: 18px;
}
.post-cta {
    background-color: #e8f5e9; 
    border-radius:12px;
    padding:30px;
    margin-top:20px;
    display:flex;
    flex-direction: column;
    align-items:center;
    text-align: center;
    box-shadow: 0 10px 30px rgba(46,125,50,0.1);
}
.post-cta h3{margin:0;color:var(--blue); font-size: 24px;}
.post-cta p{margin:8px 0 20px 0;color:#31526b; font-size: 16px;}
.post-cta .btn-primary { padding: 16px 28px; font-size: 16px; }

.mobile-contact-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
}
.mobile-contact-bar .item-list{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #333;
}
.mobile-contact-bar .item-list > * {
    flex: 1;
    padding: 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    line-height: 1.2;
    gap: 3px;
    font-weight: 600;
}
.mobile-contact-bar .item-list > *:not(:last-child) {
    border-right: 1px solid #fff;
}
.item-list img {
    width: 18px;
    height: auto;
    margin: 0 auto;
}
.item-list .material-symbols-outlined {
    font-size: 18px;
}

@media (max-width: 1024px) {
    .why-us-new-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .why-us-image-col {
        order: -1;
    }
    .first-item .article-item-content {
        padding: 30px;
    }
    .entry-header .entry-title {
        font-size: 36px;
    }
    .blog-single article {
        padding: 30px;
    }
}
@media (max-width: 991px) {
    .final {
        flex-direction: column;
        text-align: center;
    }
    .article-item.first-item > * {
        flex: 0 1 auto;
    }
    .article-item.first-item {
        flex-direction: column;
    }
    .first-item .article-item-image-wrap {
        height: 250px;
    }
}
@media (max-width: 849px) {
    h2,
    .differentiator-section h2 {
        font-size: 28px;
    }
    .ptitle h1,
    .cat-header h1,
    .ptitle--sm h1 {
        font-size: 32px;
    }
    .community-map {
        margin-top: 0;
    }
    .community-grid {
        grid-template-columns: 1fr;
    }
    .new-hero-content h2 {
        font-size: 42px;
    }
    .article-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .article-grid article.first-item {
        grid-column: span 2;
    }
    .entry-header .entry-title {
        font-size: 28px;
    }
    .blog-single article {
        padding: 20px;
    }
    .terms-content h2 {
        font-size: 24px;
    }
}
@media (max-width: 767px) {
    .cat-header h1 {
        font-size: 28px;
    }
    .cat-header .cat-desc {
        font-size: 16px;
    }
    .cat-header h1 
    .terms-content h2 {
        font-size: 24px;
    }
    .terms-content h3 {
        font-size: 20px;
    }
    .problems-list {
        grid-template-columns: repeat(1, 1fr);
    }
    .solution-infographic {
        flex-direction: column;
        gap: 15px;
    }
    .arrow-right .material-symbols-outlined {
        transform: rotate(90deg);
    }
    .article-item.first-item h3 {
        font-size: 24px;
    }
    .entry-content h2 {
        font-size: 24px;
        margin: 20px 0 15px 0;
    }
    .entry-content h3 {
        font-size: 20px;
        margin: 20px 0 10px 0;
    }
    .mobile-contact-bar {
        display: block;
    }
    .back-to-top {
        bottom: 60px;
    }
}
@media (max-width: 549px) {
    .channel-list {
        flex-wrap: wrap;
    }
    .new-hero-content h2 {
        font-size: 36px;
    }
    .new-hero-content p {
        font-size: 17px;
    }
    .first-item .article-item-content {
        padding: 20px;
    }
    .first-item .article-item-content .article-item-excerpt {
        font-size: 16px;
        margin: 0 0 20px !important;
    }
    .first-item .article-item-read-more {
        display: block;
        text-align: center;
    }
    .article-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .article-grid article.first-item {
        grid-column: span 1;
    }
}