/*
	Theme Name: SOLAR
	Description: Themes hỗ trợ Genesis Theme v2.7.3 and Wordpress v5.0 trở lên
	Template: genesis
*/

/* Defaults
------------------------------------------------------------ */
body {
  overflow-x: hidden !important;
}

html {
  scroll-behavior: smooth;
}

.cmb2-wysiwyg .wp-editor-container {
    display: none;
}

/* Reset cơ bản */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body,
h1,
h2,
h2 a,
h2 a:visited,
h3,
h4,
h5,
h6,
p,
select,
textarea {
  color: #333;
  /* font-family: "Inter", sans-serif; */
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

blockquote,
input,
select,
textarea,
.author-box,
.sticky,
.taxonomy-description {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
}

input,
label,
select,
textarea {
  color: #333;
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
}

li,
ol,
ul {
  margin: 0;
  padding: 0;
}

ol li {
  list-style-type: decimal;
}

strong,
b {
  font-weight: 700;
}

/* Hyperlinks
------------------------------------------------------------ */

a,
a:visited {
  /* color: #222; */
  color: #1e1e1e;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a img {
  border: none;
}

/* Body
------------------------------------------------------------ */

body {
  background-color: #fff;
}

::-moz-selection {
  background-color: #222;
  color: #fff;
}

::selection {
  background-color: #222;
  color: #fff;
}

/* Wrap
------------------------------------------------------------ */

.site-container {
  margin: 0 auto;
  width: 100%;
  padding: 0;
   overflow-x: hidden !important;
}

.wrap {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
}

/* Header
------------------------------------------------------------ */

.site-header {
  margin: 40px auto 0;
  height: 70px;
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
  z-index: 9;
  float: left;
}

.site-title .wrap {
  max-width: 1280px !important;
  margin: auto;
}

.site-header .textwidget p {
  position: absolute;
  top: 2px;
  right: -270px;
  cursor: pointer;
  background: #dd0000;
  color: #fff;
  height: 45px;
  display: table;
  line-height: 45px;
  padding: 0 20px;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 500;
  transition: background 0.3s ease;
}

.title-area {
  float: left;
  overflow: hidden;
  padding: 0;
  width: 230px;
  margin-left: -30px;
  height: 80px;
  margin-top: 5px;
}

.site-title {
  font-family: "Manrope", sans-serif;
  font-size: 36px;
  line-height: 1.35;
  margin: 0;
  text-transform: uppercase;
  float: left;
  width: 100%;
  height: 100%;
}

.site-title a,
.site-title a:hover {
  color: #333;
  padding: 0;
  text-decoration: none;
  float: left;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background: url(images/logo_solar.png) no-repeat top center;
  background-size: 135px;
  margin-left: -42px;
  margin-top: 2px;
}

.site-description {
  font-size: 13px;
  padding: 0;
  display: none;
}

.site-header .widget-area {
  width: 1280px;
  position: absolute;
  top: 50%;
  left: 65%;
  transform: translate(-50%, -50%);
  z-index: 10;
  display: flex;
  align-items: center;
  margin: auto;
}

/* Header / Primary / Secondary Navigation
------------------------------------------------------------ */

.nav-primary {
  float: left;
  width: 100%;
  height: 50px;
  background: #333;
}

.menu-primary,
.menu-secondary,
.site-header .menu {
  clear: both;
  color: #333;
  font-size: 13px;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
}

.menu-primary ul,
.menu-secondary ul,
.site-header .menu ul {
  float: left;
  width: 100%;
}

.menu-primary li,
.menu-secondary li,
.site-header .menu li {
  float: left;
  list-style-type: none;
}

.menu-secondary a,
.site-header .menu a {
  color: #222;
  display: block;
  padding: 8px 24px;
  position: relative;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: 0.4s ease;
  /* border-radius: 8px; */
}

.site-header .widget_text p {
    position: absolute;
    top: -2px;
    right: 350px;
    cursor: pointer;
    color: rgb(255, 255, 255);
    height: 45px;
    display: table;
    line-height: 45px;
    font-size: 15px;
    font-weight: 500;
    background: #0e4191;
    padding: 0px 18px;
    border-radius: 8px;
    transition: background 0.3s;
    text-transform: uppercase;
}

.site-header .menu a span {
  text-transform: uppercase;
}
/* 
.site-header .menu li a span {
  text-transform: none;
} */

.site-header .menu li li a span {
  text-transform: none;
}

.menu-primary li a:active,

.menu-primary .current_page_item a,
.menu-primary .current-cat a,
.menu-primary .current-menu-item a,
.menu-secondary li a:active,

.menu-secondary .current_page_item a,
.menu-secondary .current-cat a,
.menu-secondary .current-menu-item a,
.site-header .menu li a:active,

.site-header .menu .current_page_item a,
.site-header .menu .current-cat a,
.site-header .menu .current-menu-item a {
      color: #0e4191;
    /* text-decoration: underline;
    text-decoration-color: #0e4191;
    text-underline-offset: 6px; */
}

/* .menu-primary li a:hover,
.menu-secondary li a:hover,
.site-header .menu li a:hover{
   color:#0e4191
} */

.menu-primary li li a,
.menu-primary li li a:link,
.menu-primary li li a:visited,
.menu-secondary li li a,
.menu-secondary li li a:link,
.menu-secondary li li a:visited,
.site-header .menu li li a,
.site-header .menu li li a:link,
.site-header .menu li li a:visited {
  background: none;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 14px;
  padding: 10px;
  position: relative;
  text-transform: none;
  width: 240px;
}

.site-header .menu li li li a, .site-header .menu li li li a:link
{
  background: none;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 14px;
  padding: 10px;
  position: relative;
  text-transform: none;
  width: 240px;
}

.site-header .menu li li:last-child a,
.site-header .menu li li:last-child a:link,
.site-header .menu li li li:last-child a,
.site-header .menu li li li:last-child a:link {
    border-bottom: none;
}

.menu-primary li li a:active,
.menu-primary li li a:hover,
.menu-secondary li li a:active,
.menu-secondary li li a:hover,
.site-header .menu li li a:active,
.site-header .menu li li a:hover,
.site-header .menu li li li a:hover {
  background-color: #222;
  color: #fff;
}

.menu-primary li ul,
.menu-secondary li ul,
.site-header .menu li ul {
  height: auto;
  left: -9999px;
  margin: 0 0 0 -1px;
  position: absolute;
  width: 160px;
  z-index: 9999;
  padding-top: 14px;
  /* box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1); */
}

.menu-primary li ul a,
.menu-secondary li ul a,
.site-header .menu li ul a {
  width: 140px;
}


.menu-primary li ul ul,
.menu-secondary li ul ul,
.site-header .menu li ul ul {
  margin: -59px 0 0 240px;
}

.menu li:hover ul ul,
.menu li.sfHover ul ul {
  left: -9999px;
}

.menu li:hover,
.menu li.sfHover {
  position: static;
}

ul.menu li:hover > ul,
ul.menu li.sfHover ul,
.site-header .menu li:hover > ul,
.site-header .menu li.sfHover ul {
  left: auto;
}

.menu-primary li a.sf-with-ul,
.menu-secondary li a.sf-with-ul,
.site-header .menu li a.sf-with-ul {
  padding-right: 25px;
}

.menu li a .sf-sub-indicator,
.menu li li a .sf-sub-indicator,
.menu li li li a .sf-sub-indicator {
  background: url(images/icon-plus.png) no-repeat;
  height: 16px;
  position: absolute;
  right: 8px;
  text-indent: -9999px;
  top: 10px;
  width: 16px;
}

#wpadminbar li:hover ul ul {
  left: 0;
}

.widget_nav_menu .menu > .menu-item.menu-item-has-children > a::after {
    content: "\25BE";
    margin-left: auto;
    flex: 0 0 auto;
    font-size: 16px;
    opacity: 0.85;
}

.widget_nav_menu .menu > .menu-item > a {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: color 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
    box-sizing: border-box;
    text-transform: uppercase;
}

@media (min-width: 769px) {
  .site-header .menu .sub-menu > .menu-item-has-children > a {
    padding-right: 32px;
  }

  .site-header .menu .sub-menu > .menu-item-has-children > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
  }
}
/* Inner
------------------------------------------------------------ */

.site-inner {
  margin: 0 auto;
  overflow: visible;
  padding: 150px 0 60px;
  width: 1280px;
  box-sizing: border-box;
}

.page-template-page-blog .site-inner {
    padding: 60px 0 60px;
}

/* Breadcrumb
------------------------------------------------------------ */

.breadcrumb {
  float: left;
  width: 100%;
  font-size: 16px;
  padding: 12px 0;

}

.breadcrumb .wrap {
  width: 1140px;
  color: #FFF;
  font-weight: 500;
}

.breadcrumb a {
  color: #333;
  font-size: 16px;
  font-weight: 400;
}

.breadcrumb .label {
  margin: 0 5px;
  font-weight: 400;
  color: #FFF;
}

.breadcrumb span {
  font-weight: 400;
  color: #FFF;
}



/* Content-Sidebar Wrap
------------------------------------------------------------ */

/* .content-sidebar-wrap {
	display: flex;
	justify-content: space-between;
	
} */
.content-sidebar-wrap {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  /* width: 800px !important; */
}

.content-sidebar .content-sidebar-wrap,
.full-width-content .content-sidebar-wrap,
.sidebar-content .content-sidebar-wrap {
  width: 100%;
}

.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
  float: right;
}

/* Content
------------------------------------------------------------ */

.content-sidebar .content,
.sidebar-content .content {
  width: 825px;
}

.sidebar-content .content,
.sidebar-sidebar-content .content {
  float: right;
  margin-left: 0;
  margin-right: 15px;
}

.full-width-content .content {
  width: 100%;
}

.page_blog .post {
  padding: 1rem 1rem 1.5rem;
  /* min-height: 100%;
    overflow: hidden;
    position: relative; */
  border-radius: 1.6rem;
  border: 0.1rem solid #f0f0f0;
  transition: 0.4s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.entry-content {
  overflow: hidden;
  text-align: justify;
}

.entry-content p {
  margin: 0 0 12px;
  text-align: justify;
}

.single .entry-content .wp-block-table {
  margin: 24px 0;
  max-width: 100%;
  overflow-x: auto;
}

.single .entry-content table {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  font-size: 15px;
  line-height: 1.55;
  margin: 24px 0;
  max-width: 100%;
  overflow-x: auto;
  width: 100%;
}

.single .entry-content .wp-block-table table {
  display: table;
  margin: 0;
  overflow: visible;
}

.single .entry-content th,
.single .entry-content td {
  border: 1px solid #e5e7eb;
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  word-break: break-word;
}

.single .entry-content th {
  background: #f3f7fb;
  color: #1c50a1;
  font-weight: 700;
}

.single .entry-content tbody tr:nth-child(even) {
  background: #f9fafb;
}

.single .entry-content caption {
  caption-side: bottom;
  color: #667085;
  font-size: 14px;
  margin-top: 8px;
  text-align: left;
}

blockquote {
  background: url(images/blockquote.png) no-repeat;
  border: none;
  margin: 5px 5px 20px;
  padding: 25px 30px 5px 70px;
}

blockquote p {
  color: #999;
  font-style: italic;
}

p.subscribe-to-comments {
  padding: 20px 0 10px;
}

.clear {
  clear: both;
}

.clear-line {
  border-bottom: 1px solid #ddd;
  clear: both;
  margin: 0 0 25px;
}

/* Headlines
------------------------------------------------------------ */

h1,
h2,
h2 a,
h2 a:visited,
h3,
h4,
h5,
h6 {
  font-family: "Manrope", sans-serif;
  line-height: 1.35;
  margin: 0 0 10px;
}

h1 {
  font-size: 18px;
}

.taxonomy-description h1 {
  margin: 0;
}

h2,
h2 a,
h2 a:visited {
  font-size: 16px;
}

h2 a,
h2 a:visited {
  color: #333;
  font-family: "Manrope", sans-serif;
}

h2 a:hover {
  color: #222;
  text-decoration: none;
}

.widget-area h2,
.widget-area h2 a {
  font-size: 16px;
  margin: 0 0 5px;
}

h3 {
  font-size: 16px;
}

h4 {
  font-size: 16px;
}

.taxonomy-description h1,
.widget-area .widgettitle {
  font-size: 16px;
  color: #333;
}

.widget-area .widgettitle a {
  color: #333;
  text-decoration: none;
}

/* Ordered / Unordered Lists
------------------------------------------------------------ */

.entry-content ol,
.entry-content ul {
  margin: 0;
  padding: 0 0 15px;
  text-align: justify;
}

.archive-page ul li,
.entry-content ul li {
  list-style-type: disc;
  margin: 0 0 0 30px;
  padding: 0;
  text-align: justify;
}

.entry-content ol li {
  margin: 0 0 0 35px;
}

.archive-page ul ul,
.entry-content ol ol,
.entry-content ul ul {
  padding: 0;
}

/* Post Info
------------------------------------------------------------ */

.entry-header .entry-meta {
  font-size: 13px;
  margin: -5px 0 15px;
}

/* Post Meta
------------------------------------------------------------ */

.entry-footer .entry-meta {
  border-top: 1px solid #ddd;
  clear: both;
  font-size: 13px;
  padding: 5px 0 0;
}

/* Images
------------------------------------------------------------ */

img {
  height: auto;
  max-width: 100%;
}

.avatar,
.featuredpage img,
.featuredpost img,
.post-image {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  padding: 4px;
}

.author-box .avatar {
  background-color: #fff;
  float: left;
  margin: 0 10px 0 0;
}

.post-image {
  margin: 0 10px 10px 0;
}

.comment-list li .avatar {
  background-color: #fff;
  float: right;
  margin: 5px 10px 10px 0px;
}

img.centered,
.aligncenter {
  display: block;
  margin: 0 auto 10px;
}

img.alignnone {
  display: inline;
  margin: 0 0 10px;
}

img.alignleft {
  display: inline;
  margin: 0 15px 10px 0;
}

img.alignright {
  display: inline;
  margin: 0 0 10px 15px;
}

.alignleft {
  float: left;
  margin: 0 15px 10px 0;
}

.alignright {
  float: right;
  margin: 0 0 10px 15px;
}

.wp-caption {
  padding: 0;
  text-align: center;
  width: auto !important;
}

p.wp-caption-text {
  font-size: 13px;
  margin: 5px 0;
  text-align: center;
}

.wp-smiley,
.wp-wink {
  border: none;
  float: none;
}

/* Post Navigation
------------------------------------------------------------ */

.pagination {
  font-size: 16px;
  overflow: hidden;
  padding: 20px 0;
  width: 100%;
  text-align: center;
}

.pagination li {
  display: inline;
}

.pagination li a,
.pagination li.disabled,
.pagination li a:hover,
.pagination li.active a {
  background: #f2f2f2;
  color: #333;
  padding: 4px 12px;
}

.pagination li a:hover,
.pagination li.active a {
  background: #333;
  color: #fff;
}

.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #222;
    color: #FFF;
}

/* Primary / Secondary Sidebars
------------------------------------------------------------ */

.sidebar {
  display: inline;
  /* float: right; */
  width: 410px;
}

.sidebar-secondary {
  float: left;
  width: 150px;
}

.sidebar-content .sidebar-primary,
.sidebar-sidebar-content .sidebar-primary {
  float: left;
  margin-left: 15px;
  margin-right: 0;
}

.content-sidebar-sidebar .sidebar-secondary {
  float: right;
}

.sidebar p {
  font-size: inherit;
}

.sidebar .widgettitle {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 54px;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.sidebar .widget {
  /* background-color: #fff; */
  margin: 0 0 15px;
  padding: 0 0 15px;
  float: left;
  width: 100%;
}

/* .sidebar.widget-area ol,
.sidebar.widget-area ul,
.widget-area .textwidget,
.widget_tag_cloud div div {
  padding: 0 15px;
} */

.sidebar.widget-area ul li,
.footer-widgets .widget-area ul li {
  /* border-bottom: 1px solid #ddd; */
  list-style-type: none;
  margin: 0 0 7px;
  padding: 0 0 5px;
  word-wrap: break-word;
}

.sidebar.widget-area ul ul li {
  border: none;
  margin: 0;
}

/* Buttons
------------------------------------------------------------ */

input[type="button"] {
  background: #f2f2f2;
  cursor: pointer;
  padding: 10px 20px;
  color: #333;
  -webkit-appearance: none;
}

input:hover[type="button"],
input:hover[type="submit"] {
  text-decoration: none;
}

/* Search Form
------------------------------------------------------------ */

.site-header .search-form {
  position: absolute;
  top: 0px;
  right: 288px;
  width: 200px;
  border: 1px solid #9e9e9ea1;
  border-radius: 10px;
}

.search-form input[type="search"] {
  margin: 0;
  padding: 6px 5px 5px 10px;
  width: calc(100% - 40px);
  border: none;
  background: #fff;
  height: 40px;
  border-radius: 10px 0 0 10px; 
}

.search-form input[type="submit"] {
  background-image: url('images/search.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px;

  text-indent: -9999px;
  float: right;
  height: 40px;
  width: 40px;
  border-radius: 0 10px 10px 0;
  border: none;
  outline: none;
  background-color: #56a3f7; 
  cursor: pointer;
}



.search-form-input::placeholder {
  color: #999 !important;
  font-size: 14px;
}

.search-form input[type="search"]:hover,
.search-form input[type="search"]:focus {
  border: none;
  outline: none;
  list-style: none;
  box-shadow: none;
}
/* Footer
------------------------------------------------------------ */

.site-footer {
  float: left;
  clear: both;
  font-size: 15px;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
  background: #0e4191;
  color: #fff;
  padding: 10px 0 10px;
}

.site-footer .wrap {
  display: block;
  text-align: center;
  border-top: 1px solid #ddd;
  padding-top: 10px;
}

.site-footer img{
  width: 50px;
  margin: 0;
}

.site-footer .widget_text:nth-of-type(2) p {
  /* font-weight: bold;  */
  /* text-transform: uppercase; */
}

.site-footer p {
  color: #fff;
}

.site-footer a,
.site-footer a:visited {
  color: #fff;
}

.site-footer a:hover {
  color: #fff;
  text-decoration: none;
}

.site-title a,
.site-title a:hover {
  color: rgb(51, 51, 51);
  float: left;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  padding: 0px;
  text-decoration: none;
}

/* Comments
------------------------------------------------------------ */

.entry-comments,
#respond {
  margin: 0 0 15px;
  overflow: hidden;
  float: left;
  width: 100%;
}

#author,
#comment,
#email,
#url {
  margin: 10px 5px 0 0;
  padding: 10px;
  width: 348px;
  float: left;
  background: #fff;
}

#comment {
  height: 90px;
  margin: 10px 0;
  width: 98%;
  background: #fff;
}

input#submit {
  float: left;
}

.ping-list {
  margin: 0 0 40px;
}

.comment-list ol,
.ping-list ol {
  padding: 10px;
}

.comment-list li,
.ping-list li {
  font-weight: bold;
  list-style-type: none;
  margin: 15px 0 5px;
  padding: 10px 15px;
}

.comment-list li ul li {
  list-style-type: none;
  margin-right: 0;
  background: #fff;
}

.comment-content {
  padding-left: 70px;
}

.comment-content p {
  font-size: 15px;
  margin: 0 0 15px;
}

.comment-list cite,
.ping-list cite {
  font-style: normal;
}

.comment-meta {
  font-size: 12px;
  margin: 0 0 5px;
}

.comment-meta a {
  color: #666;
}

.comment-reply {
  font-size: 13px;
  font-weight: 300;
}

.comment-reply a {
  background: #f2f2f2;
  color: #333;
  padding: 5px 10px;
}

.nocomments {
  text-align: center;
}

.entry-comments .pagination {
  display: block;
}

.bypostauthor {
}

.thread-alt,
.thread-even {
  background-color: #f5f5f5;
}

.alt,
.depth-1,
.even {
  border: 1px solid #ddd;
}

/*Slick
-------------------------------------------------------------------*/
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  outline: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  text-align: center;
  margin: 0 35px;
  display: none !important;
}

.slick-dots li {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 5px;
  border-radius: 100px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #636363;
}

.slick-dots li button:hover,
.slick-dots li button:focus,
.slick-dots li.slick-active button {
  background: #000;
}

.section {
  /* float: left; */
  width: 100%;
}

/* footer */


/* BLOG */




.page_blog .main-posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 24px;
  margin: 30px 0 60px;
  /* width: 800px !important; */
}

.page_blog img {
  border-radius: 1.6rem;
}

.page_blog .widget-item-title a {
  color: #222;
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 0.4rem;
  margin-top: 0.4rem;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.page_blog .post-info {
  font-size: 14px;
  color: #dd0000;
  margin-bottom: 0.4rem;
}

/* .page_blog .name-category a{
    display: inline-block; 
    color: #DD0000;
    border-radius: 1.8rem;
    padding: 0.2rem 1rem;
    background-color: #e6f2ef;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; 
	margin-top: 6px;
} */

.page_blog p {
  /* color: #999; */
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.aside-box {
  display: block;
  position: relative;
  width: 340px;
  margin: 30px 0 60px;
  padding: 1rem 1rem 1.5rem;
  border-radius: 1.6rem;
  border: 0.1rem solid #f0f0f0;
  transition: 0.4s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  align-self: flex-start;
}

.aside-box h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  /* Căn giữa theo chiều ngang */
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: #222;
  margin: 0;
  text-transform: uppercase;
  text-align: center;
  padding: 0.5rem 1.5rem;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  z-index: 1;
  width: 180px;
}

.aside-box .nd {
  margin-top: 40px;
  row-gap: 1.2rem;
  flex-direction: column;
  display: flex;
  flex-wrap: wrap;
}

.aside-box .nd ul {
  list-style-type: none;
  font-size: 16px;
}

.aside-box .box-info {
  column-gap: 1.2rem;
  border-radius: 4rem;
  border: 0.1rem solid #f0f0f0;
  padding: 0.6rem 2.4rem 0.6rem 0.6rem;
  display: flex;
  align-items: center;
}

.aside-box .box-info p {
  width: 45px;
  height: 45px;
  border-radius: 10rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.53);
  background: linear-gradient(
    139deg,
    #121214 12.3%,
    #505256 36.76%,
    #94999f 64.85%,
    #212124 80.68%,
    #5d6064 92.45%,
    #9599a0 102.86%
  );
  box-shadow: 0 0.4rem 0.6rem 0 rgba(255, 255, 255, 0.6) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.aside-box .box-info img {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  filter: brightness(0) invert(1);
  animation: swing ease-in-out 0.1s infinite alternate;
  margin: 0;
}

@keyframes swing {
  0% {
    transform: rotate(8deg);
  }

  100% {
    transform: rotate(-8deg);
  }
}

.aside-box .box-info .text-m,
.aside-box .box-info a {
  color: #222;
  font-weight: 600;
  transition: 0.4s ease;
}

/* liên hệ */
.page-template-page-lienhe .site-inner{
    padding: 60px 0 60px;

}

.content-lienhe {
  display: flex;
   justify-content: space-between;  
    align-items: flex-start;       
    gap: 20px;      
  margin-top: 10px;
}

.contact-section {
  flex: 0 0 45%;

}

.contact-section h2 {
  font-size: 32px;
  font-weight: 700;
  color: #222;
}

.contact-section h3 {
  font-size: 18px;
  font-weight: 700;
  color: #0e4191 ;
  line-height: 1.7;
  
  text-align: justify;

}
.contact-section p{
  margin-bottom:24px;
}

.contact-section ul {
  list-style-type: none;
  flex-direction: column;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
}

.contact-section li {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact-section i {
  display: inline-flex;            
  align-items: center;
  justify-content: center;
  width: 40px;                  
  height: 40px;
  border-radius: 50%;              
  background-color: #0e4191;      
  color: #ffffff;                  
  font-size: 15px;     
  line-height: 1;                  
  text-align: center;
  vertical-align: middle;
  box-shadow: 0 2px 4px rgba(0,0,0,0.12); 
  transition: transform .15s ease, box-shadow .15s ease;
}

.form_lienhe .label{
   font-size: 32px;
  font-weight: 700;
  color: #222;
  margin:0px auto 12px !important;
  text-transform: uppercase;
}

.form_lienhe {
  flex: 0 0 45%;
  float: right;
}

.caldera-grid .row {
  margin-bottom: 4px;
}

.form_lienhe  .caldera-grid .form-control {
    outline: 0 !important;
    width: 100%;
    color: #333 !important;
    display: block;
    line-height: 1 !important;
    font-size: 16px !important;
    border-radius: 8px !important;
    padding: 20px 18px !important;
    font-family: var(--font-pri) !important;
    background-color: #f3f3f3 !important;
    border: none  !important;
    transition: 0.4s 
ease;
}

.form_lienhe .caldera-grid .form-control::placeholder {
  color: #888888 !important;
  opacity: 1; 
}

.caldera-grid .form-control::placeholder {
  color: #fff !important;
  opacity: 1; 
}


.caldera-grid .form-control {
  outline: 0 !important;
  width: 100%;
  color: #333 !important;
  display: block;
  line-height: 1 !important;
  font-size: 16px !important;
  border-radius: 8px !important;
  padding: 20px 18px !important;
  font-family: var(--font-pri) !important;
  background-color: transparent !important;
  border: none !important;
  transition: 0.4s ease;
}



.caldera-grid input[type="submit"] {
  width: 100%;
  color: white;
  font-size: 16px;
  line-height: 16px !important;
  background-color: #0e4191;
  border-radius: 2rem !important;
  padding: 12px 24px !important;
  border-color: #FFF;
  outline: none;
}

.caldera-grid .btn-default:hover,
.caldera-grid .btn-default:focus,
.caldera-grid .btn-default.focus,
.caldera-grid .btn-default:active,
.caldera-grid .btn-default.active,
.open > .dropdown-toggle.caldera-grid .btn-default {
  color: white !important;
  background-color: #0e4191 !important;
}

.page-template-page-lienhe .form_lienhe .caldera-grid .form-control:focus {
  border: 1px solid #0e4191 !important;
  box-shadow: none !important;
}

.caldera-grid .has-error .form-control:focus {
  border-color: #0e4191 !important;
}

.content-map {
  margin-top: 60px;
}

.gtranslate_wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Trang chủ */

/* POPUP */
/* NHẬN TƯ VẤN */



.nhantuvan .widget_caldera_forms_widget {
    display: none;
}

.nhantuvan .widget_caldera_forms_widget .widget-wrap {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 650px;
    padding: 20px;
    z-index: 3000;
    border-radius: 20px;
    max-width: 650px;
}

.content-contact .widget p,
.nhantuvan .widget_caldera_forms_widget p {
    font-size: 18px;
}

.nhantuvan .label{
  
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 48px;
    text-transform: uppercase;
    margin-bottom: 12px;
    color: #FFF;
    text-align: center;
}

.content-contact .widget_caldera_forms_widget input,
.content-lienhe form input,
.nhantuvan .widget_caldera_forms_widget input {
    height: 50px;
    font-size: 16px;
    border-radius: 5px;
    background-color: #FFF !important;
    border: 1px solid #FFF !important;
    box-shadow: none;
}

.content-contact .widget_caldera_forms_widget textarea,
.content-lienhe form textarea,
.nhantuvan .widget_caldera_forms_widget textarea {
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #FFF;
    background-color: #FFF !important;
    box-shadow: none;
}

.content-contact .widget_caldera_forms_widget input[type="submit"],
.content-lienhe form input[type="submit"],
.nhantuvan .widget_caldera_forms_widget input[type="submit"] {
    text-transform: uppercase;
    font-weight: 700;
    padding: 0 40px;
    border: 1px solid #56a3f7!important;
    background-color: #56a3f7!important;
    color: #fff;
    display: table !important;
    margin: 0;
    transition: background 0.3s ease;
}

.content-contact .widget_caldera_forms_widget input::placeholder,
.content-lienhe form input::placeholder,
.nhantuvan .widget_caldera_forms_widget input::placeholder {
  color: #222  !important; 
  opacity: 1; 
}

.content-contact .widget_caldera_forms_widget textarea::placeholder,
 .content-lienhe form textarea::placeholder,
  .nhantuvan .widget_caldera_forms_widget textarea::placeholder{
    color: #222  !important; 
  opacity: 1; 
  }


.nhantuvan .widget_caldera_forms_widget {
    position: fixed;
    background: rgba(0, 0, 0, 0.5);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
}

.nhantuvan .widget_caldera_forms_widget .widget-wrap {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
     background-color: #0e4191;
    padding: 20px;
    z-index: 3000;
    border-radius: 20px;
}

.nhantuvan .widget_caldera_forms_widget .widgettitle {
    width: 20px;
    height: 20px;
    position: absolute;
    right: -21px;
    top: -21px;
    border: 1px solid #0e4191;
    color: #fff;
    text-align: center;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    margin: 0 !important;
}

.nhantuvan .widget_caldera_forms_widget p {
    margin-bottom: 20px;
}

.nhantuvan .widget_caldera_forms_widget.open { display: block; }


/* Header Menu Sub */


.header-menusub-widget-area {
  background-color: #0e4191;
  display: block;
  height: 40px;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}

.header-menusub-widget-area .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.header-menusub-widget-area .widget_text p {
  display: flex;
  gap: 0px;
}

.header-menusub-widget-area .widget_text:first-child img {
  width: 22px !important;
  margin: 2px 0 0 0;
}

.header-menusub-widget-area .widget_text img {
  width: 18px;
}

.header-menusub-widget-area a {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
   display: inline-flex;      /* hay flex nếu bạn muốn chiếm cả hàng */
  align-items: center;       /* căn giữa theo chiều dọc (ảnh với chữ) */
  gap: 5px;                  /* khoảng giữa ảnh và chữ, chỉnh theo ý bạn */
  text-decoration: none;
}


.header-menusub-widget-area .woocommerce-mini-cart a {
  color: #333;
}

/* Giỏ hàng trên header */
.site-header > .wrap {
  position: relative;
  width: 100%;
  max-width: 1280px;
  height: 100%;
  /* padding: 0 14px; */
  display: flex;
  /* align-items: center; */
}

.site-header > .wrap > .title-area {
  width: 210px;
  height: 70px;
  margin: 0;
  flex: 0 0 210px;
}

.site-header > .wrap > .widget-area {
  position: static;
  width: auto;
  min-width: 0;
  margin: 0;
  flex: 1 1 auto;
  transform: none;
}

.site-header .widget_nav_menu {
  min-width: 0;
  flex: 1 1 auto;
}

.site-header .widget_nav_menu .widget-wrap,
.site-header .widget_nav_menu .nav-header {
  width: 100%;
}

.site-header .widget_nav_menu .menu {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow: visible;
}

.site-header .widget-area > .widget_shopping_cart {
  position: relative;
  width: auto;
  margin: 0 -10px 0 14px;
  flex: 0 0 auto;
}

.site-header .widget-area > .widget_shopping_cart::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  width: 340px;
  height: 16px;
}

.site-header .widget_shopping_cart .widget-wrap,
.site-header .widget_shopping_cart .widget-title {
  margin: 0;
}

.site-header .solar-header-cart-link {
  position: relative;
  width: 46px;
  height: 46px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce4ec;
  border-radius: 50%;
  background: #f5f8fb;
  color: #0e4191;
  box-shadow: 0 4px 14px rgba(20, 56, 84, .08);
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.site-header .solar-header-cart-link:hover,
.site-header .widget_shopping_cart:focus-within .solar-header-cart-link {
  border-color: #0e4191;
  background: #0e4191;
  color: #fff;
}

.site-header .solar-header-cart-link i {
  font-size: 19px;
}

.site-header .solar-header-cart-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.site-header .solar-header-cart-count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #087d52;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
}

.site-header .widget_shopping_cart_content {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 100;
  width: 340px;
  padding: 20px;
  visibility: hidden;
  border: 1px solid #dce4ec;
  border-top: 3px solid #0e4191;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 38, 61, .16);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.site-header .widget_shopping_cart_content::before {
  content: "";
  position: absolute;
  top: -9px;
  right: 15px;
  width: 14px;
  height: 14px;
  border-top: 1px solid #dce4ec;
  border-left: 1px solid #dce4ec;
  background: #fff;
  transform: rotate(45deg);
}

.site-header .solar-mini-cart-heading {
  position: relative;
  margin: -2px 0 14px;
  padding-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e2e8ef;
}

.site-header .solar-mini-cart-heading span {
  color: #142638;
  font-size: 17px;
  font-weight: 700;
}

.site-header .solar-mini-cart-close {
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #f1f5f8;
  color: #526170;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.site-header .solar-mini-cart-close:hover,
.site-header .solar-mini-cart-close:focus {
  background: #0e4191;
  color: #fff;
  outline: 0;
}

.site-header .widget_shopping_cart:hover .widget_shopping_cart_content,
.site-header .widget_shopping_cart:focus-within .widget_shopping_cart_content {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.site-header .widget_shopping_cart.is-cart-popup-closed .widget_shopping_cart_content {
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}

.site-header .woocommerce-mini-cart {
  max-height: 310px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
}

.site-header .woocommerce-mini-cart li {
  position: relative;
  min-height: 76px;
  margin: 0;
  padding: 10px 24px 10px 72px !important;
  border-bottom: 1px solid #edf1f5;
}

.site-header .woocommerce-mini-cart li:last-child {
  border-bottom: 0;
}

.site-header .woocommerce-mini-cart li a:not(.remove) {
  display: block;
  color: #142638;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.site-header .woocommerce-mini-cart li a.remove {
  position: absolute !important;
  top: 8px;
  right: 0 !important;
  left: auto !important;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #efcccc;
  border-radius: 50%;
  background: #fff5f5;
  color: #c62828 !important;
  font-size: 17px;
  line-height: 1;
}

.site-header .woocommerce-mini-cart li img {
  position: absolute;
  top: 10px;
  left: 0;
  width: 50px !important;
  height: 50px !important;
  margin: 0;
  border: 1px solid #e1e7ed;
  border-radius: 5px;
  object-fit: cover;
}

.site-header .woocommerce-mini-cart .quantity {
  color: #687584;
  font-size: 13px;
}

.site-header .woocommerce-mini-cart__total {
  margin: 14px 0;
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e2e8ef;
  color: #142638;
}

.site-header .woocommerce-mini-cart__total strong {
  color: #142638;
  font-weight: 700;
}

.site-header .woocommerce-mini-cart__buttons {
  margin: 0;
  padding: 0;
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
}

.site-header .woocommerce-mini-cart__buttons > .button {
  width: auto !important;
  min-width: 0;
  min-height: 42px;
  margin: 0 !important;
  padding: 11px 8px;
  display: inline-flex !important;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  float: none !important;
  clear: none !important;
  border-radius: 5px;
  background: #0e4191;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
      font-family: "Manrope", sans-serif;
}

.site-header .woocommerce-mini-cart__buttons .checkout {
  background: #087d52;
}

.site-header .woocommerce-mini-cart__empty-message {
  margin: 0;
  padding: 20px 10px 14px;
  color: #657383;
  font-size: 14px;
  text-align: center;
}

.site-header .woocommerce-mini-cart__empty-message::before {
  content: "\f07a";
  width: 52px;
  height: 52px;
  margin: 0 auto 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef5fb;
  color: #0e4191;
  font-family: "Font Awesome 6 Free";
  font-size: 20px;
  font-weight: 900;
}

.content-banner {
  margin: 111px auto 0px;
}

.content-banner .slick-prev::before,
.content-banner .slick-next::before,
.country-banner-slider .slick-prev::before,
.country-banner-slider .slick-next::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 20px;
  color: #0e4191;
  display: inline-block;
}

.content-banner .slick-prev::before,
.country-banner-slider .slick-prev::before {
  content: "\f104";
}

.content-banner .slick-next::before,
.country-banner-slider .slick-next::before {
  content: "\f105";
}

.content-banner .slick-prev,
.content-banner .slick-next,
.country-banner-slider .slick-prev,
.country-banner-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
      width: 40px;
    height: 40px;
    border-radius: 40px;
    cursor: pointer;
    color: #0e4191;
    border: 1px solid #0e4191;
    background: rgba(255, 255, 255, 0);
    transition: transform 
ease-out 0.1s, background 0.2s;
}

.content-banner .slick-prev,
.country-banner-slider .slick-prev {
  left: 20px;
}

.content-banner .slick-next,
.country-banner-slider .slick-next {
  right: 20px;
}



.content-banner .slick-prev,
.content-banner .slick-next,
.country-banner-slider .slick-prev,
.country-banner-slider .slick-next {
  color: transparent;
  font-size: 0;
}

.content-banner .content-banner.section {
  position: relative;
}

/* Ảnh trong slider */
.content-banner .slick-list .widget-wrap {
  position: relative;
  overflow: hidden;
}

.content-banner .slick-list img {
  width: 100%;
  height: 700px !important;
  display: block;
}




/* Giới thiệu*/
.content-gioithieu{
  padding: 80px 0px 80px;
}


.content-gioithieu .wrap {
    display: flex;
    gap: 60px;
}

.content-gioithieu .wrap>*:first-child {
    flex: 0 0 48%;
}

.content-gioithieu .wrap>*:last-child {
    flex: 0 0 50%;
}

.content-gioithieu img{
  width: 100%;
  height:auto;
}
  
.content-gioithieu .widgettitle {
      font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    position: relative;
    /* padding-left: 12px; */
}

/* .content-gioithieu .widgettitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 20px;
  background: #0e4191;
  border-radius: 2px;
}
 */

.content-gioithieu p{
  margin-top: 12px;
  text-align: justify;

}



.content-gioithieu p a{
    color: #FFF;
    height: 45px;
    display: table;
    line-height: 45px;
    font-size: 16px;
    font-weight: 500;
    background: #087d52;
    padding: 0px 24px;
    border-radius: 30px;
    transition: background 0.3s;
    margin-top: 24px;
    position: relative;
}

/* .content-gioithieu .widgettitle::before {
   content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
} */

@keyframes borderRun {
    to {
        transform: scaleX(1);
    }
}

.content-gioithieu .textwidget p {
    color: #333;
    font-size: 16px;
    font-style: normal;
    font-weight: 400px;
    line-height: 30px;
    text-align: justify;
    margin-bottom: 12px;
}

.content-gioithieu ul {
  list-style: none; 
  padding-left: 0;
}

.content-gioithieu li {
  position: relative;
  padding-left: 30px;
}




/* .content-gioithieu img {
    
    width: 460px;
    height: auto !important;
    object-fit: cover;
    border-radius: 12px;
} */



.video-box {
  max-width: 1000px;
}

/* Tạo khung 16:9 chuẩn */
.video-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.video-frame {
  position: relative;
  width: 100%;
  padding-bottom: 63%;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
}

/* Thumb */
.video-frame img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-frame iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: none;
}

.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 70px;
  background: rgba(0,102,255,0.9);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.play-btn::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 22px;
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}


.content-noibat.section {
  background: #0e4191;
  padding: 60px 20px 68px;
  color: #fff;

  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 24px;
  align-items: start;
}

/* Title chiếm full hàng */
.content-noibat.section > .widget_text {
  grid-column: 1 / -1;
  margin-bottom: 10px;
}

.content-noibat.section .widget-title {
  margin: 0;
  text-align: center;
  font-size: 32px;
  line-height: 1.25;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
}

.content-noibat.section .mainposts {
  text-align: center;
  padding: 8px 10px;
}

.content-noibat.section .mainposts img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  display: block;
  margin: 0 auto 18px;
  filter: brightness(0) saturate(100%) invert(72%) sepia(79%) saturate(721%)
    hue-rotate(356deg) brightness(95%) contrast(93%);
}

.content-noibat.section .noidung p {
  margin: 0;
}

.content-noibat.section .counter-number {
  font-size: 54px;
  font-weight: 700;
  color: #fff;
}

.content-noibat.section .counter-label {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
  opacity: 0.98;
}


.content-dichvu {
  padding: 80px 0;
  color: #fff;
  background: url(images/bg_pattern.png);
   background-position: center right;
    background-repeat: no-repeat;
    z-index: 1;
    width: 90%;
    margin: auto;
}


.content-dichvu .widgettitle {
      font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 28px;
    position: relative;
    padding-left: 12px;
    color: #000;
}

.content-dichvu .widgettitle::after{
      content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
}

.content-dichvu .textwidget p {
  max-width: 900px;
  margin: auto;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  text-align: center;
}

.content-dichvu .widget.image-upload {
  width: 25%;
  float: left;
  padding: 0 12px;
}

.content-dichvu .widget.image-upload:first-child {
  padding-left: 0;
}

.content-dichvu .widget.image-upload:last-child {
  padding-right: 0;
}

.content-dichvu .mainposts {
  position: relative;

}

.content-dichvu .box {
  position: relative;
  overflow: hidden;
    border-radius: 12px;
}

.content-dichvu .mainposts > .title {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
  width: max-content;
  transition: all 0.6s ease;
}

/* hover */
.content-dichvu .mainposts:hover .title {
  bottom: 50%;
  transform: translate(-50%, 50%);
}


.content-dichvu .box img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 0.6s ease;
  cursor: pointer;
}

.content-dichvu .box::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  background: linear-gradient(
    0deg,
    #222 0%,
    rgba(34, 34, 34, 0.7) 72.6%,
    rgba(34, 34, 34, 0) 100%
  );
  z-index: 1;
}

.content-dichvu .box::before {
  content: "";
  position: absolute;
  inset: 0;
background: linear-gradient(
  0deg,
  rgba(100, 149, 237, 0.65) 0%,   /* xanh cornflower */
  rgba(100, 149, 237, 0.45) 45%,
  rgba(100, 149, 237, 0.25) 100%
);
  opacity: 0;
  transition: opacity 0.45s ease;
  z-index: 2;
}


.content-dichvu .box .title a {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  white-space: nowrap;
}

/* ===== HOVER EFFECT ===== */
.content-dichvu .box:hover::before {
  opacity: 1;
  cursor: pointer;
}

.content-dichvu .box:hover img {
  transform: scale(1.08);
}

.content-dichvu .box:hover .title {
  bottom: 50%;
  transform: translate(-50%, 50%);
}

.content-dichvu::after {
  content: "";
  display: block;
  clear: both;
}

.content-dichvu .box:hover::after {
  opacity: 0;
}



/* Feedback */
.content-feedback-title {
    margin: 180px auto 0px;
    text-align: center;

}

.content-feedback-title h2 strong {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 32px;
    line-height: 1.8;
    color: #FFF;
}


.content-feedback {
    margin: -220px auto 80px;
    padding-top: 250px;
    width: 100%;
    height: auto;
    background: url(images/Rectangle\ 5300.png) center center / cover no-repeat;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.content-feedback .wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: #f5f5f5;
    filter: blur(50px);
    z-index: 1;
    pointer-events: none;
}

.content-feedback .wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative;
}

.content-feedback .code-shortcode_widget {
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
    animation-iteration-count: infinite;
    height: 70vh;
    overflow: hidden;
    position: relative;
}

/* Box 1 & 3: từ trên xuống liên tục */
.content-feedback .wrap .code-shortcode_widget:nth-child(1) ul,
.content-feedback .wrap .code-shortcode_widget:nth-child(3) ul {
    animation: slide 40s linear infinite;
}

/* Box 2: từ dưới lên liên tục */
.content-feedback .wrap .code-shortcode_widget:nth-child(2) ul {
    animation: slide2 40s linear infinite;
}

@keyframes slide {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-100%);
    }
}

@keyframes slide2 {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

.content-feedback li {
    list-style: none;
    margin-bottom: 24px;
}


.customer-box {
    padding: 1.6rem;
    border-radius: 1.6rem;
    flex-direction: column;
    background-color: #FFF;
    /* box-shadow: 1rem 1rem 4rem 0 rgba(0, 0, 0, 0.03); */
    display: flex;
    flex-wrap: wrap;
}

.customer-img {
    width: 6rem;
    flex-shrink: 0;
    user-select: none;
    margin-bottom: 0.4rem;
}

.customer-content {
    row-gap: 1rem;
    display: flex;
    flex-wrap: wrap;
}

.text-s {
    font-size: 1rem;
    line-height: 1.4;
}

.customer-content .info {
    gap: 0.6rem;
    width: 100%;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
}

.customer-content .info img {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    user-select: none;
    object-fit: cover;
    border-radius: 50%;
}

.customer-content .info-content .text-m {
    margin-bottom: 0.4rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.2;
}

.customer-content .info-content .text-x {
    color: #08815c;
    font-size: 0.9rem;
    line-height: 1.2;
}


.content-giaithuong-title .widget-wrap{
  max-width: 800px;
}

.content-giaithuong-title .widgettitle{
  font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    position: relative;
    padding-left: 12px;
    color: #000;
}

.content-giaithuong-title .widgettitle::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
}

.content-giaithuong {
  padding: 32px 0px 40px;
}

.content-giaithuong .slick-slide {
    padding: 0 12px;
}

.content-giaithuong .slick-list {
    margin: 0 -12px;
}

/* ===== Card style ===== */
.content-giaithuong .mainposts {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
}

.content-giaithuong .mainposts img {
    max-height: 530px;
    min-height: 530px;
    object-fit: cover;
    border-radius: 25px;
    display: block;
    width: 100%;
    transition: transform 0.4s ease;
}

/* Zoom nhẹ khi hover */
.content-giaithuong .mainposts:hover img {
    transform: scale(1.05);
    cursor: pointer;
}

.content-giaithuong .noidung {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    color: #fff;
    background: linear-gradient(
        to top,
        rgba(0, 82, 204, 0.9),
        rgba(0, 82, 204, 0.0)
    );

    transform: translateY(100%);
    transition: all 0.4s ease;
    text-align: center;
    border-radius: 24px;
}

.content-giaithuong .mainposts:hover .noidung {
    transform: translateY(0);
    border-radius: 24px;
}

.content-giaithuong .mainposts strong{
   font-size: 24px;
   font-weight: 700;
   color: #FFF;
   text-transform: uppercase;
    margin-bottom: 86px;
}

.content-giaithuong .noidung p {
    margin: 0;
    color: #FFF;
}









/* News */
.content-news {
  margin: 60px auto 80px;
  position: relative;
}

.content-news h2 {
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
   position: relative;
    padding-left: 12px;
}


/* .content-news h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
} */


.content-news .main-posts{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* --- Bố cục tổng thể cho post --- */
.content-news .post {
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
      border: 1px solid #dcdcdc;
}


/* --- Ảnh đại diện --- */
.content-news .post .box-img {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.content-news .post .box-img img {
  width: 100%;
  height: 220px;
  display: block;
  transition: transform 0.4s ease;
  border-bottom: 1px solid #eee;
}

/* --- Nội dung bài viết --- */
.content-news .post .list-info {
      padding: 16px 20px;
  display: flex;
  flex-direction: column;
}

.content-news .post .widget-item-title{
   display: -webkit-box;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-overflow: ellipsis !important;
}


.content-news .post .widget-item-title a  {
    font-size: 17px;
    font-weight: 700;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    position: relative !important;
    text-overflow: ellipsis !important;
    padding-bottom: 5.5px;
}

.content-news .post .widget-item-title a::after {
    content: "";
    position: absolute;
    left: 0%;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #dcdcdc;
    border-radius: 2px;
}

.content-news .post  .entry-time{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    color: #777;
    font-size: 15px;
}

.content-news .post .entry-time i {
    color: #999;
    font-size: 14px;
}


.content-news .post .entry-text {
    font-size: 15px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.content-news .post .entry-text .more-link {
  cursor: pointer;
    border-radius: 12px;
    background: #222;
    color: #fff;
    text-align: center;
    display: table;
    line-height: 44px;
    padding: 0 24px;
    font-size: 16px;
    font-weight: 500;
    transition: background 0.3s 
ease;
    height: 44px;
    margin-top: 16px;
}

.content-news ul {
  list-style: none;
  margin: 0;
  padding: 0;
}



.content-news  li {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
      border: 1px solid #dcdcdc;
}

/* ảnh bên trái */
.content-news ul li > a {
  flex-shrink: 0;
  width: 240px;
  display: block;
}

.content-news ul li{
    list-style-type: none;
    display: flex;
    gap: 16px;
}

.content-news ul li > a img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;

}

.content-news ul li .box-info {
  display: flex;
  flex-direction: column;
  gap:4px;
  flex: 1;
  padding: 6px 0px 10px;
}

.content-news .box-info p{
    line-height: 24px;
}

.content-news .box-info a{
    font-size: 17px;
    font-weight: 700;
}

.content-news .box-info .entry-time{
        color: #777;
    font-size: 15px;
}

.content-news .read-more {
  cursor: pointer;
  border-radius: 12px;
  background: #222;
  color: #fff;
  text-align: center;
  display: inline-block;
  line-height: 36px;
  padding: 0 24px;
  font-size: 15px !important;
  font-weight: 400 !important;
  transition: background 0.3s ease;
  height: 36px;
  margin-top: 8px;
  width: auto;
  align-self: flex-start; /* ✅ ngăn nút full chiều ngang */
}


.content-news section:nth-of-type(2) a{
      margin: auto;
    margin-top: 24px;
    text-align: center;
    cursor: pointer;
    border-radius: 12px;
    background: #0e4191;
    color: #fff;
    text-align: center;
    display: table;
    line-height: 44px;
    padding: 0 24px;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.3s 
ease;
    height: 44px;
    text-transform: uppercase;
}


.content-news .main-posts .slick-slide {
     margin: 0 16px; 
}

.content-news .main-posts .slick-list {
     margin: 0 -16px; 
}


/* Hình ảnh */
.content-hinhanh {
  padding:  80px 0px 80px;
  background-color: #0e4191;
}

.content-hinhanh section:nth-child(1) {
  max-width: 1280px;
  margin: auto;

}

.content-hinhanh .rl-gallery-widget .widgettitle{
    display: none;
}

.content-hinhanh .widgettitle{
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    color:#FFF;
}


.content-hinhanh p{
  color: #FFF;
  max-width: 800px;
  margin-bottom: 32px;
}

/* khung ngoài */
#gallery-1,
#gallery-2 {
    overflow: hidden;
    width: 100%;
    display: block;
    position: relative;
}

#gallery-2{
  margin-top: 16px;
}

/* track chạy ngang */
#gallery-1 .gallery-track,
#gallery-2 .gallery-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    width: max-content;
    align-items: center;
}

/* bỏ layout gallery mặc định của WP */
#gallery-1 .gallery-item,
#gallery-2 .gallery-item {
    flex: 0 0 auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
}

/* khung ảnh */
#gallery-1 .gallery-icon,
#gallery-2 .gallery-icon {
    width: 100%;
}

/* chạy trái */
#gallery-1 .gallery-track {
    animation: galleryLeft 90s linear infinite;
}

/* chạy phải */
#gallery-2 .gallery-track {
    animation: galleryRight 90s linear infinite;
}

@keyframes galleryLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes galleryRight {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

/* hover thì dừng lại */
#gallery-1:hover .gallery-track,
#gallery-2:hover .gallery-track {
    animation-play-state: paused;
}


.gallery img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:8px;
}



.content-cta {
  position: relative;
  z-index: 1;
  padding: 76px 15px 82px;
  overflow: hidden;
  color: #333;
   background: url(images/bg_form.webp) no-repeat top center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.content-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(231, 239, 245, 0.26), rgba(255, 255, 255, 0.08), rgba(231, 239, 245, 0.26));
}

.content-cta .wrap,
.content-cta .widget-wrap {
  position: relative;
  z-index: 1;
}

.content-cta .widget {
  margin-bottom: 0;
}

.content-cta .widget-title,
.content-cta .widgettitle,
.content-cta .ff-el-section-title {
  margin: 0 auto 28px;
  color: #FFF;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.content-cta .frm-fluent-form,
.content-cta .caldera-grid {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.content-cta .ff-t-container {
  gap: 15px;
  margin: 0;
}

.content-cta .ff-t-cell {
  padding: 0;
}

.content-cta .ff-el-group {
  margin-bottom: 15px;
}

.content-cta .ff-el-form-control,
.content-cta .caldera-grid .form-control {
  width: 100% !important;
  min-height: 48px;
  padding: 12px 17px !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 8px !important;
  outline: 0 !important;
  background: #FFF !important;
  box-shadow: none !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 16px !important;
}

.content-cta textarea.ff-el-form-control,
.content-cta .caldera-grid textarea.form-control {
  min-height: 104px;
  resize: vertical;
}

.content-cta .ff-el-form-control::placeholder,
.content-cta .caldera-grid .form-control::placeholder {
  color: #555 !important;
  opacity: 1;
}

.content-cta .ff_submit_btn_wrapper,
.content-cta .ff-el-group.ff-text-left:last-child,
.content-cta .ff-el-group.ff-text-right:last-child {
  text-align: center !important;
}

.content-cta .ff-btn-submit,
.content-cta .caldera-grid input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 42px;
  margin: 3px auto 0 !important;
  padding: 10px 28px !important;
  border: 1px solid #0e4191 !important;
  border-radius: 30px !important;
  background: #0e4191 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
      font-family: "Manrope", sans-serif;
}

.content-cta .ff-btn-submit:hover,
.content-cta .caldera-grid input[type="submit"]:hover {
  border-color: #164385 !important;
  background: #164385 !important;
}

/* Fluent Forms dán bằng shortcode tại trang Liên hệ, giữ bố cục liên hệ hiện tại. */
.form_lienhe .frm-fluent-form {
  width: 100%;
}

.form_lienhe .ff-t-container {
  gap: 12px;
  margin: 0;
}

.form_lienhe .ff-t-cell {
  padding: 0;
}

.form_lienhe .ff-el-group {
  margin-bottom: 12px;
}

.form_lienhe .ff-el-form-control {
  width: 100% !important;
  min-height: 50px;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  outline: 0 !important;
  background: #f3f3f3 !important;
  box-shadow: none !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 16px !important;
}

.form_lienhe textarea.ff-el-form-control {
  min-height: 130px;
  resize: vertical;
}

.form_lienhe .ff-el-form-control:focus {
  box-shadow: 0 0 0 1px #0e4191 !important;
}

.form_lienhe .ff-btn-submit {
  min-height: 44px;
  padding: 10px 30px !important;
  border: 1px solid #0e4191 !important;
  border-radius: 30px !important;
  background: #0e4191 !important;
  color: #fff !important;
  font-size: 15px !important;
  text-transform: uppercase;
  font-family: "Manrope", sans-serif;
}




.home .site-inner{
  display: none;
}

/* Trang chủ quản trị bằng ACF */
.page-template-page-trangchu .site-inner {
  display: none;
}

.home-banner-slide {
  position: relative;
}

.home-banner-slide > img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  display: block;
}

.home-banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  color: #fff;
  background: linear-gradient(90deg, rgba(8, 33, 73, 0.78), rgba(8, 33, 73, 0.08) 70%);
}

.home-banner-overlay .wrap {
  width: 100%;
}

.home-banner-content {
  max-width: 650px;
}

.home-banner-content h2 {
  color: #fff;
  font-size: 48px;
  line-height: 1.2;
  margin-bottom: 18px;
}

.home-banner-description,
.home-banner-description p {
  color: #fff;
  font-size: 18px;
}

.home-banner-link,
.home-section-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  padding: 0 24px;
  margin-top: 20px;
  border-radius: 30px;
  background: #087d52 ;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}

.home-banner-link:hover,
.home-section-link:hover {
  color: #fff;
  filter: brightness(0.92);
}

.home-banner-link i,
.home-section-link i {
  margin-left: 9px;
  font-size: .88em;
  transition: transform .25s ease;
}

.home-banner-link:hover i,
.home-section-link:hover i {
  transform: translateX(4px);
}

.home-content-section {
  padding: 70px 0 80px;
}

.home-featured-products{
  background: #fff;
}

.home-faq {
  background: #FFF;
}

.home-section-heading {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.home-section-heading h2 {
  color: #222;
  font-size: 32px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.home-section-heading p:last-child {
  margin-bottom: 0;
}

.home-featured-posts.content-news {
  margin: 0;
  background: #f3f6fa;
}

.home-section-link-bottom {
  display: flex;
  width: max-content;
  margin: 30px auto 0;
}

.home-faq.content-cauhoi {
  max-width: none;
  padding-left: max(15px, calc((100% - 1280px) / 2));
  padding-right: max(15px, calc((100% - 1280px) / 2));
}

.home-faq.content-cauhoi .widgettitle .home-section-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 45px;
  line-height: normal;
  background: #087d52;
}

.home-about .wrap > .home-about-content:only-child {
  flex: 1 1 100%;
}

.home-solutions {
  background: #f3f6fa;
}

.home-solutions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.home-solution-card {
  min-height: 300px;
  padding: 28px 32px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #333;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

a.home-solution-card:hover {
  color: #333;
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(28, 80, 161, 0.12);
}

.home-solution-card img {
  width: 84px;
  height: 72px;
  margin-bottom: 18px;
  object-fit: contain;
}

.home-solution-card h3 {
  margin-bottom: 12px;
  color: #3f3f3f;
  font-size: 20px;
  font-weight: 700;
}

.home-solution-description,
.home-solution-description p {
  color: #333;
  font-size: 16px;
  line-height: 1.65;
}

.home-solution-description p:last-child {
  margin-bottom: 0;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .home-solutions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Banner */
.content-hero {
    margin-top: 111px;
    background-position: right center; 
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #0e4191;
    color: white;
    position: relative;
    min-height: 300px; 

}


.content-hero::before {
    content: "";
    position: absolute;
    inset: 0;
background: linear-gradient(90deg, #0e4191 0%, #0e4191 21%, rgba(28, 80, 161, 0) 100%);
    z-index: 1;  
}

/* Khối chữ bên trái */
.content-breadcrumb {
  position: relative;
   padding: 30px 0px;
    z-index: 2 ;
    text-align: left;
}

.content-breadcrumb .title {
    font-size: 48px;
    font-weight: bold;
   color: #fff;
}


.content-breadcrumb .slogan{
    font-size: 17px;
    margin-top: 12px;
    color: #fff;
}


 .blog-wrapper {
    display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 32px; 
  align-items: start; 
}



.blog-wrapper .blog-item{
  display: flex;
  flex-direction: column;
  border: 1px solid #dcdcdc;

}


.blog-wrapper .blog-item .blog-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}



.blog-wrapper .blog-info{
  padding:16px 20px;
}

.blog-wrapper .blog-title a{
  font-size: 17px;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  position: relative;
  padding-bottom: 6px;
}

.blog-wrapper .blog-title a::after{
  content: "";
  position: absolute;
  left: 0%;
  bottom: 0;                
  width: 100%;             
  height: 1px;              
  background: #dcdcdc;
  border-radius: 2px;
}

.blog-wrapper .blog-meta{
  color: #777;
    font-size: 14px;
    margin-bottom: 6px;
     display: flex;
    align-items: center;
    gap: 6px;
}

.blog-wrapper .blog-excerpt{
  font-size: 15px;
      overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.pagination {
  grid-column: 1 / -1;
  text-align: center;
}

.pagination a,
.pagination span {
  display: inline-block;
  margin: 0 4px;
  padding: 4px 12px;
  background: #f4f4f4;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
}

.pagination .current {
  background: #0e4191;
  color: #fff;
}


.category .archive-heading {
  position: relative;
  margin: 0 auto 40px;
  padding-bottom: 14px;
  color: #222;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.category .archive-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 60px;
  height: 3px;
  border-radius: 3px;
  background: #087d52;
  transform: translateX(-50%);
}

.category .archive-heading a {
  color: inherit;
}

.duan-wrapper {
  max-width: 1200px;
  margin: 40px auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* card */
.duan-item {
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: 0.3s;
}

.duan-item:hover {
  /* transform: translateY(-6px); */
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* ảnh */
.duan-thumb-wrap {
  position: relative;
}

.duan-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

/* badge */
.duan-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #0e4191;
  color: #fff;
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 20px;
}

/* nội dung */
.duan-info {
  padding: 15px;
}

.duan-title {
  font-size: 18px;
  margin-bottom: 10px;
}

.duan-title a {
  color: #222;
  text-decoration: none;
}

.duan-title a:hover {
  color: #0e4191;
}

.duan-meta {
  font-size: 13px;
  color: #888;
  margin-bottom: 10px;
}

.duan-excerpt {
  font-size: 14px;
  color: #555;
  margin-bottom: 15px;
}

/* button */
.duan-btn {
  display: inline-block;
  padding: 8px 14px;
  background: #0e4191;
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
  font-size: 14px;
}

.duan-btn:hover {
  background: #0e4191;
}






.content-tamnhin {
  padding: 0px 0 0px;
}

.content-tamnhin .wrap {
  margin: 0 auto;
  display: flex;
  gap: 40px;
}

.content-tamnhin .wrap > img {
  flex: 0 0 50%;
  width: 50%;
  height: 460px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15);
  position: relative;
}


.content-tamnhin .tamnhin-wrapper {
  display: flex;
  flex-direction: column;
}

.content-tamnhin .tamnhin-wrapper h2 {
      font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
    position: relative;
    padding-left: 12px;

}

.content-tamnhin .tamnhin-wrapper h2::before {
  content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;

}

.content-tamnhin .card-item{
  margin-bottom: 32px;
}

.content-tamnhin .card-content h5 {
  font-size: 17px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.content-tamnhin .card-content p {
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  text-align: justify;
}

.content-tamnhin .card-content li{
  margin-left: 22px;
}

.content-giatri {
  padding: 40px 0 0px;
}

.content-giatri h2 {
   font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 24px;
    position: relative;
    padding-left: 12px;
}

.content-giatri h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
}

.content-giatri .wrap-card {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 32px;
  align-items: start;
}

.content-giatri .card-item {
      display: flex;
    flex-direction: column;
    background: #0e4191;
    padding: 32px 22px;
    color: #fff;
    text-align: center;
    gap: 20px;
    border-radius: 6px;
        min-height: 210px;
}

.content-giatri .card-item img {
  width: 64px;
  height: 64px;
  align-items: center;
    margin: auto;
}

.content-giatri .card-content h5 {
  font-size: 17px;
  color: #FFF;
  font-weight: 600;
  margin: 0 0 6px 0;
}

.content-giatri .card-item .desc{
  display: none;
}


.content-camnghi {
  /* background: url(images/nen-camnghi.webp) no-repeat center center; */
    background: #f3f3f3;
  background-size: cover;  
  padding: 60px 0px;
  margin: 80px auto 0px;
}

.content-camnghi h2{
        font-size: 32px;
    font-weight: 700;
    line-height: 40px;
    color: #222;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 12px;

}

.content-camnghi .widgettd p, .content-sumenh p {
    font-size: 16px;
    line-height: 28px;
    color: #222;
    text-align: center;
    margin-bottom: 24px;
    max-width: 900px;
    margin: auto;
}

.noidung-camnghi {
    position: relative;
    text-align: left;
    padding: 0 24px;
    padding-top: 77px;
    background: #fff;
    padding-bottom: 30px;
    /* border: 1px solid #e6e6e6; */
    border-radius: 10px;
    margin: 24px auto 0px;
}


.noidung-camnghi::before {
    content: "❝"; /* ký tự ngoặc kép */
    position: absolute;
    top: 16px;
    right: 30px;
    width: 50px;
    height: 50px;
    line-height: 60px;
    text-align: center;
    font-size: 32px;
    color: #fff;
    background: #0e4191; /* màu đỏ */
    border-radius: 50%;
}

.noidung-camnghi h3{
   margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
    color: #0e4191;
}

.noidung-camnghi p{
        color: #222;
    font-size: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: justify;
    min-height: 120px;
    margin-bottom: 24px;
}

.noidung-camnghi img{
    height: 60px;
    width: 60px;
    border-radius: 100%;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.noidung-camnghi .info{
    display: flex;
    align-items: center;
    gap: 16px;
    font-weight: 500;
    margin-bottom: 0px;
    font-size: 16px;
    margin-top: 0px;
}

.anh-khach p {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    margin-top: 32px;
}

.anh-khach p img {
    width: 200px;
    height: 100px;
    display: block;
    object-fit: cover;
    border-radius: 6px; /* bo góc nhẹ cho đẹp (tùy chọn) */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.anh-khach p img:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}


.page-template-page-gioithieu .site-inner {
    display: none;
}

.about-section {
    padding: 80px 0px;
}

.about-section h2 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.about-section h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.about-section-intro,
.about-section-intro p {
    font-size: 16px;
    line-height: 1.7;
}

.about-core-values {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.about-core-values::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: 8%;
    width: 390px;
    height: 390px;
    border-radius: 46% 54% 60% 40%;
    background: rgba(26, 188, 115, 0.07);
    transform: rotate(20deg);
}

.about-core-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    gap: 48px;
    align-items: start;
}

.about-core-gallery {
    display: grid;
    gap: 16px;
}

.about-core-gallery img {
    width: 100%;
    height: 600px;
    border-radius: 8px;
    object-fit: cover;
}

.about-core-content {
    padding-left: 8px;
}

.about-core-content > h2 {
    margin-bottom: 20px;
    padding-left: 0;
    border-left: 0;
    color: #222;
}

.about-core-list {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.about-core-item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 18px;
    align-items: start;
}

.about-core-number {
    width: 60px;
    height:60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #087d52;
    clip-path: polygon(50% 0, 94% 22%, 94% 76%, 50% 100%, 6% 76%, 6% 22%);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.about-core-item h3 {
    margin: 5px 0 8px;
    color: #087d52;
    font-size: 21px;
}

.about-core-text,
.about-core-text p,
.about-core-text li {
    font-size: 15px;
    line-height: 1.65;
}

.about-centered-heading {
    max-width: 820px;
    margin: 0 auto 48px;
    text-align: center;
}

.about-centered-heading h2 {
    margin-bottom: 12px;
    color: #222;
}

.about-centered-heading p:last-child {
    margin-bottom: 0;
}

.about-process {
    background: #f3f6fa;
}

.about-process-list {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
}

.about-process-list::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 50%;
    border-left: 2px dotted #afd7c7;
    transform: translateX(-1px);
}

.about-process-step {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 104px 1fr;
    min-height: 300px;
    align-items: center;
}

.about-process-card {
    grid-column: 1;
    padding-right: 22px;
}

.about-process-step:nth-child(even) .about-process-card {
    grid-column: 3;
    padding-right: 0;
    padding-left: 22px;
}

.about-process-image {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    padding-left: 22px;
}

.about-process-step:nth-child(even) .about-process-image {
    grid-column: 1;
    padding-right: 22px;
    padding-left: 0;
}

.about-process-image img {
    width: 100%;
    height: 260px;
    display: block;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(20, 83, 165, .12);
    object-fit: cover;
}

.about-process-card h3 {
    margin-bottom: 10px;
    color: #1453a5;
}

.about-process-card p:last-child {
    margin-bottom: 0;
}

.about-process-marker {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f3f6fa;
    color: #087d52;
    text-transform: uppercase;
}

.about-process-marker span {
    color: #a9b5c8;
    font-size: 11px;
    font-weight: 600;
}

.about-process-marker strong {
    font-size: 26px;
}

.about-reasons {
    position: relative;
    overflow: hidden;
    background: #FFF;
}

.about-reasons::before {
    content: "";
    position: absolute;
    right: -110px;
    bottom: 8%;
    width: 390px;
    height: 390px;
    border-radius: 46% 54% 60% 40%;
    background: rgba(26, 188, 115, 0.07);
    transform: rotate(20deg);
}

.about-reasons-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    gap: 50px;
    align-items: start;
}

.about-reasons-lead h2 {
    margin-bottom: 22px;
    color: #222;
}

.about-reasons-lead img {
    width: 100%;
    height: 300px;
    margin-top: 22px;
    border-radius: 10px;
    object-fit: cover;
}

.about-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 46px 48px;
}

.about-reason-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(8, 125, 82, .18);
    border-radius: 50%;
    background: #eaf7f2;
    color: #087d52;
    /* box-shadow: 0 7px 18px rgba(8, 125, 82, .1); */
}

.about-reason-icon i {
    font-size: 21px;
}

.about-reason-icon img {
    width: 30px;
    height: 30px;
    display: block;
    object-fit: contain;
}

.about-reason-item h3 {
    margin-bottom: 12px;
    color: #1453a5;
}

.about-reason-item p:last-child {
    margin-bottom: 0;
}

.about-testimonials {
    background: #f3f6fa;
}

.about-testimonials-slider {
    margin: 0 -12px;
}

.about-testimonials-slider .slick-slide {
    height: auto;
    padding: 0 12px;
}

.about-testimonials-slider .slick-track {
    display: flex;
}

.about-testimonial-card {
    height: auto;
    display: block !important;
    background: transparent;
}

.about-testimonial-card__inner {
    position: relative;
    height: 100%;
    min-height: 300px;
    padding: 28px 26px 26px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 10px;
    /* box-shadow: 0 8px 24px rgba(24, 52, 78, .07); */
}

.about-quote {
    position: absolute;
    top: 18px;
    right: 24px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1453a5;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    padding-top: 7px;
    box-sizing: border-box;
}

.about-testimonial-card h3 {
    padding-right: 62px;
    margin-bottom: 12px;
    color: #1453a5;
    font-weight: 500;
}

.about-testimonial-text {
    flex: 1;
}

.about-testimonial-text,
.about-testimonial-text p {
    font-size: 15px;
    line-height: 1.7;
}

.about-testimonial-author {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.about-testimonial-author img {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border: 3px solid #e7f2ed;
    border-radius: 50%;
    object-fit: cover;
}

.about-testimonial-author strong,
.about-testimonial-author span {
    display: block;
}

.about-testimonial-author span {
    margin-top: 3px;
    color: #777;
    font-size: 13px;
}

.about-testimonials .slick-dots {
    margin-top: 28px;
}


.content-nhansu {
    padding: 0px 0 60px;
    max-width: 90%;
    margin: auto;
}

.nhansu-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
}

.nhansu-title h2{
      font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 40px;
    position: relative;
    padding-left: 12px;
}
.nhansu-title h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
}

.nhansu-grid .slick-slide {
    padding: 0 12px;
}

.nhansu-grid .slick-track {
    margin: 0 -12px;
}

.nhansu-card {
    width: 100%;
}

.nhansu-card-inner {
    position: relative;
    min-height: 500px;
    border-radius: 18px;
    overflow: hidden;
    background: radial-gradient(circle at center, #2a2a2a 0%, #111 50%, #000 100%);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}



.nhansu-image {
    position: absolute;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
}

.nhansu-image img {
    width: 76%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}


.nhansu-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    transition: 0.6s;
}

.nhansu-card:hover .nhansu-overlay {
    background: linear-gradient(
        135deg,
        rgba(0, 150, 255, 0.9),
        rgba(0, 90, 200, 0.75)
    );
}

.nhansu-content {
    position: absolute;
    inset: 0;
    z-index: 3;
}

/* mặt trước */
.nhansu-front {
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 20px;
    text-align: center;
    opacity: 1;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* mặt sau */
.nhansu-back {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 40px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    transform: translateY(20px);
}

/* khối text back */
.nhansu-vaitro {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.nhansu-vaitro > *:first-child {
    margin-top: 0;
}

.nhansu-vaitro > *:last-child {
    margin-bottom: 0;
}

/* hover */
.nhansu-card:hover .nhansu-front {
    opacity: 0;
    transform: translateY(-20px);
}

.nhansu-card:hover .nhansu-back {
    opacity: 1;
    transform: translateY(0);
}


.nhansu-name {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    margin: auto;
}

.nhansu-vitri,
.nhansu-vitri p {
    color: #fff;
    font-size: 14px;
    margin: 0 0 12px;
}

.nhansu-vaitro,
.nhansu-vaitro p {
    color: #fff;
    font-size: 16px;
    margin: 0;
}


/* Trang đào tạo ngoại ngữ */
.page-template-page-daotaongoaingu .site-inner{
  display: none;
}


.content-gioithieu {
    padding: 80px 0 80px;
    overflow: hidden;
}

.content-gioithieu .container {
    max-width: 1280px;
    margin: 0 auto;
}

.gioithieu-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.gioithieu-left {
    max-width: 860px;
}

/* tiêu đề */
.gioithieu-title h2 {
    margin: 0 0 10px;
    font-size: 32px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.gioithieu-title h2:first-child {
    display: inline-block;
    color: #0e4191;
}

/* danh sách */
.gioithieu-title ul {
    list-style: none;
    margin: 32px 0 32px;
    padding: 0;
}

.gioithieu-title ul li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 32px;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 400;
  
}

.gioithieu-title ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border: 2px solid #0e4191;
    border-radius: 50%;
    color: #0e4191;
    font-size: 9px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* button */
.gioithieu-title p {
    margin: 0;
}

.gioithieu-title p a {
    color: #FFF;
    height: 45px;
    display: table;
    line-height: 45px;
    font-size: 16px;
    font-weight: 500;
    background: #e2171d;
    padding: 0px 24px;
    border-radius: 30px;
    transition: background 0.3s;
    margin-top: 24px;
    position: relative;
}


/* cột phải */
.gioithieu-right {
    width: 100%;
}

.gioithieu-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.gioithieu-gallery-item {
    overflow: hidden;
    background: transparent;
}

.gioithieu-gallery-item img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.gioithieu-gallery-item:nth-child(1) img {
    height: 200px;
    border-radius: 24px 60px 24px 60px;
}

.gioithieu-gallery-item:nth-child(2) img {
    height: 200px;
    border-radius: 60px 24px 60px 24px;
}

.gioithieu-gallery-item:nth-child(3) img {
    height: 200px;
    border-radius: 60px 24px 60px 24px;
}

.gioithieu-gallery-item:nth-child(4) img {
    height: 200px;
    border-radius: 24px 60px 24px 60px;
}

/* Lợi ích */
.content-loiich{
    max-width: 1280px;
    margin: 0 auto;
    padding: 80px 0px 40px;
}

.content-loiich .loiich-head{
    text-align: center;
    margin-bottom: 50px;
}

.content-loiich .widgettitle h2{
       text-align: center;
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 16px;
}


.content-loiich .widgettitle p{
    font-size: 16px;
    line-height: 1.7;

    margin: 0;
}

.content-loiich .loiich-wrap{
    display: flex;
    align-items: center;
    gap: 48px;
}

.content-loiich .loiich-left{
    width: 47%;
}

.content-loiich .loiich-right{
    width: 48%;
}

.loiich-list{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.loiich-item{
    position: relative;
    background: #f3f3f3;
    clip-path: polygon(0 50%, 7% 0, 93% 0, 100% 50%, 93% 100%, 7% 100%);
    cursor: pointer;
    transition: all 0.3s ease;
}

.loiich-item-inner{
       min-height: 60px;
    padding: 12px 24px 16px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.loiich-text{
    flex: 1;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
}

.loiich-number{
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.loiich-item.active{
    background: #0e4191;
}

.loiich-item.active .loiich-text{
    color: #fff;
}

.loiich-right{
    position: relative;
}

.loiich-images{
    position: relative;
    min-height: 400px;
    border-radius: 14px;
    overflow: hidden;
}

.loiich-image-item{
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease;
}

.loiich-image-item.active{
    opacity: 1;
    visibility: visible;
    position: relative;
}

.loiich-image-item img{
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}




/* Câu hỏi */

.content-cauhoi{
	display: flex;
	justify-content: center; 
    align-items: center;
	gap: 48px;
	padding:80px 0px 60px;
	max-width: 1280px;
	margin: auto;
}

.content-cauhoi .widgettitle{
	max-width: 470px;
}

.content-cauhoi .widgettitle h2{
	font-size: 32px;
	font-weight: bold;
	line-height: 40px;
	text-transform: uppercase;
}

.content-cauhoi .widgettitle h2 strong{
	color: #CD2027;
	text-transform: uppercase;
}

.content-cauhoi .widgettitle p{
	 font-size: 16px;
	font-weight: normal;
	line-height: 28px;
    margin-top: 24px;
}

.content-cauhoi .widgettitle a{
	      color: #FFF;
    height: 45px;
    display: table;
    line-height: 45px;
    font-size: 16px;
    font-weight: 500;
    background: #e2171d;
    padding: 0px 24px;
    border-radius: 30px;
    transition: background 0.3s;
    margin-top: 24px;
    position: relative;
    
}


.list_ques .answer{
	display: none;
	padding: 20px 24px 10px;
	background-color: #DDDDDD;
    border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

.list_ques .answer p,
.list_ques .answer ul{
	margin-bottom: 15px;
}

.list_ques {
	width: 950px;
	margin: 0 auto;
}

.list_ques .title{
	font-size: 17px;
	font-weight: 600;
    background: url(images/cong.svg) no-repeat right 15px center #fff;
    padding: 18px;
	  border-radius: 14px;
    cursor: pointer;
    background-size: 35px;
    background-color: #f3f3f3;
}

.list_ques .title.active,
.list_ques .question:hover .title{
	background: url(images/tru.svg) no-repeat right 15px center;
	color: #0e4191;
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}

.list_ques .question{
	margin-bottom: 20px;
    background: #f3f3f3;
}


.page-template-page-gioithieu .entry-content h2{
  font-size: 32px;
    font-weight: 700;
    margin-top: 6px;
    margin-bottom: 24px;
}

.page-template-page-gioithieu .entry-content h3{
  font-size: 18px;
    font-weight: 700;
}

.page-template-page-gioithieu .entry-content h4{
  font-size: 16px;
    font-weight: 700;
}

.page-template-page-gioithieu .entry-content img{
  margin-top: 24px;
}

/* .entry-content img {
    width: 100%;
} */
.entry-content h1{
  font-size: 24px;
  font-weight: 700;
}
.entry-content h2{
  font-size: 20px;
  font-weight: 700;
}
.entry-content h3{
  font-size: 18px;
  font-weight: 700;
}


/* div[dir="auto"] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

div[dir="auto"] img {
  width: 100%;
  height: 220px;
  object-fit: cover;
} */

 .post-template-default .site-inner {
    margin: 0 auto;
    overflow: visible;
    padding: 140px 0 60px;
    width: 1280px;
    box-sizing: border-box;
}

 .duan-template-default .site-inner {
    margin: 0 auto;
    overflow: visible;
    padding: 140px 0 60px;
    width: 1280px;
    box-sizing: border-box;
}


/* Khối widget giống card trắng trong ảnh */
 .post-template-default .widget.caia-post-list-widget {
    background: #fff;
    /* border-radius: 10px;
    padding: 20px 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06); */
}

 .post-template-default .widget-title {
    margin-bottom: 14px;
}

 .post-template-default .widget-title h2 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    position: relative;
    padding-left: 12px;
}

 .post-template-default .widget-title h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: #0e4191;
    border-radius: 2px;
}

 .post-template-default .main-posts .entry {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid #eee;
}

 .post-template-default .main-posts .entry:first-child {
    border-top: none;
}

 .post-template-default .main-posts .entry:last-child {
    padding-bottom: 0;
}

 .post-template-default .box-img {
    flex-shrink: 0;
    width: 120px;        
    height: 72px;
    overflow: hidden;
    border-radius: 6px;
}

 .post-template-default .box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


 .post-template-default .list-info {
    flex: 1;
}

 .post-template-default .widget-item-title {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
}

.post-template-default .widget-item-title a {
    color: #222;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;    
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.yarpp-related{
  display: block;
    margin-top: 60px;
}

.yarpp-related .widgettitle{
      font-size: 24px;
    font-weight: 700;
    line-height: 36px;
    text-transform: uppercase;
}

.yarpp-related .main-posts{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 24px;
}

.yarpp-related .project img {
    width: 100%;
    height: 240px !important;
    object-fit: cover;
    margin-bottom: 12px;
}

.yarpp-related .list-info .title {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #0e4191;
}

.yarpp-related .list-info .title a{
    color: #0e4191;
    text-decoration: none;
}

.yarpp-related .list-info .title::before {
    content: "";
    display: inline-block;
    width: 45px;
    height: 2px;
    background: #56a3f7;
    margin-right: 8px;
    vertical-align: middle;
    transform: translateY(-2px);
}

.yarpp-related .project-diachi {
    margin: 0 0 0 53px;
    font-size: 15px;
    color: #333;
}

.yarpp-related .project-diachi i {
    margin-right: 4px;
}


@media (min-width: 769px) and (max-width: 1170px){
     .wrap, .site-inner {
        width: calc(100% - 30px) !important;
        padding: 0 15px;
    }

    .site-header > .wrap > .title-area {
      width: 170px;
      flex-basis: 170px;
      overflow: visible;
    }

    .site-header .site-title a,
    .site-header .site-title a:hover {
      margin: 0 !important;
      background-position: left center;
      background-size: 140px auto;
    }

    .site-header > .wrap > .widget-area {
      position: static;
      width: auto;
      transform: none;
    }

    .site-header .menu a {
      padding-right: 12px;
      padding-left: 12px;
      font-size: 14px;
    }

    .site-header .widget-area > .widget_shopping_cart {
      margin-right: 4px;
      margin-left: 8px;
    }
.site-header .search-form {
    position: absolute;
    top: 0px;
    right: 345px;
    width: 200px;
    border: 1px solid #9e9e9ea1;
    border-radius: 10px;
}

    .category .site-inner {
      padding: 150px 15px 60px !important;
    }
}



@media (max-width: 768px) {
    .header-menusub-widget-area{
      display: none;
    }

    .site-header .widget_nav_menu{
      display: none;
    }

    .site-header > .wrap > .widget-area {
      position: absolute;
      top: 12px;
      right: 76px;
      left: auto;
      width: auto;
      min-width: auto;
      transform: none;
    }

    .site-header > .wrap > .title-area {
      width: 170px;
      flex: 0 0 170px;
    }

    .site-header .widget-area > .widget_shopping_cart {
      margin: 0;
    }

    .site-header .solar-header-cart-link {
      width: 44px;
      height: 44px;
    }

    .site-header .widget_shopping_cart_content {
      right: -58px;
      width: min(330px, calc(100vw - 30px));
    }

    .site-header {
    margin: 0px auto 0;
    height: 70px;
    width: 100%;
    padding: 0px 15px;
}

.click-menu {
    text-align: center;
    position: fixed !important;
    right: 4% !important;
    top: 13px !important;
    z-index: 5000;
    width: 44px;
    height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

    .click-menu .line {
    height: 3px !important;
    margin-bottom: 6px;
    background: #444 !important;
    width: 28px !important;
    transition: 0.4s;
}

.mobile-menu .active-menu.toggle {
    position: absolute;
    top: 0;
    transform: none;
    cursor: pointer;
    right: 0 !important;
    user-select: none;
    color: #222 !important;
}

.site-header .search-form {
    position: absolute;
    top: -21px;
    right: 580px;
    width: 160px;
    border: 1px solid #9e9e9ea1;
    border-radius: 10px;
}

body,
h1,
h2,
h2 a,
h2 a:visited,
h3,
h4,
h5,
h6,
p,
select,
textarea {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

#responsive-menu {
    position: fixed;
    height: calc(100vh - 70px);
    height: calc(100dvh - 70px);
    width: 100% !important;
    top: 70px !important;
    left: auto;
    right: 0;
    background: #FFF !important;
    z-index: 4999 !important;
    display: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0px 4px 10px #d6d6d6;
}

#responsive-menu ul li {
    padding: 0;
    position: relative;
    margin: 0;
    border-bottom: 1px solid #d6d6d6;
}

.content-banner {
    margin: 70px auto 0px;
}

.content-banner .slick-list img {
    width: 100%;
    height: auto !important;
    display: block;
}

.content-banner .slick-prev, .content-banner .slick-next ,
.country-banner-slider .slick-prev, .country-banner-slider .slick-next {
    border: none;
    width: 40px;
    height: 40px;
   
}

.content-banner .slick-prev, .country-banner-slider {
    left: 6px;

}

.content-banner .slick-next, .country-banner-slider .slick-next {
    right: 6px;
  
}

.content-banner .slick-prev::before, .content-banner .slick-next::before, .country-banner-slider .slick-prev::before, .country-banner-slider .slick-next::before {
    font-size: 20px;
}

.content-quocgia {
    margin: 40px auto;
    padding: 0px 15px;
}

.tab-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 0px auto 20px;
}

.quocgia-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.quocgia-item img {
  border-radius: 50% 2px;
    width: 100%;
    height: 160px;
    border-radius: 8px;
}

.quocgia-item h3 {
    margin-top: 0px;
    font-size: 15px;
}

.content-gioithieu {
    padding: 20px 15px 50px;
}

.content-gioithieu .wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.content-gioithieu .widgettitle {
    font-size: 26px;
    line-height: 32px;
}


.content-gioithieu .textwidget p {
  font-size: 15px;
  line-height: 1.7;
}

.content-gioithieu p a {
    color: #FFF;
    height: 45px;
    display: table;
    line-height: 45px;
    font-size: 15px;
    margin-top: 20px;
}

.content-gioithieu img {
    width: 100%;
    height: 300px !important;
    object-fit: cover;
}



.content-noibat.section {
    background: #0e4191;
    padding: 45px 15px 50px;
    color: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 16px;
    align-items: start;
}

.content-noibat.section > .widget_text {
    grid-column: 1 / -1;
    margin-bottom: 10px;
    padding: 0px 15px;
}

.content-noibat.section .widget-title {
    font-size: 26px;
    line-height: 1.4;
}

.content-noibat.section .mainposts img {
    width: 60px;
    height: 60px;
    margin: 0 auto 6px;
}

.content-noibat.section .counter-number {
    font-size: 40px;
}

.content-noibat.section .counter-label {
    font-size: 15px;

}

.content-dichvu {
    padding: 40px 15px;
    width: 100%;
}

.content-dichvu .widgettitle {
    font-size: 26px;
    margin-bottom: 16px;
    

}

.content-dichvu .widget.image-upload {
    width: 100%;
    float: left;
    padding: 0px;
    margin-top: 20px;
}

.content-dichvu .box img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 0.6s ease;
    cursor: pointer;
}

 .content-doitac ul {
        padding: 0;
        list-style: none;
        display: flex;
        /* grid-template-columns: repeat(4, 1fr); */
        gap: 16px;
        margin-top: 30px;
        animation: slides 20s linear infinite;
    }

    @keyframes slides {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}


    .content-doitac ul li img {
        width: 75px;
    }

    .content-doitac .widget_text:nth-of-type(2) {
        margin-top: 0px;
    }


      .content-feedback-title {
        margin: 110px auto 0px;
        
        text-align: center;
    }

    .content-feedback-title h2 strong {
        text-transform: uppercase;
        font-size: 26px;
        line-height: 1.8;
        text-align: center !important;

    }

    .content-feedback .wrap {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 24px;
        position: relative;
    }


    .content-feedback section:nth-of-type(1),
    .content-feedback section:nth-of-type(3) {
        display: none;
    }

    /* Box 2: từ dưới lên liên tục */
    .content-feedback .wrap .code-shortcode_widget:nth-child(2) ul {
        animation: slide 40s linear infinite;
    }

    .content-feedback {
        margin: -200px auto 60px;
        /* padding-top: 212px; */
        padding: 212px 15px 0;
        width: 100%;
        height: auto;
    }

    .customer-img {
        width: 4.5rem;
        flex-shrink: 0;
        user-select: none;
        margin-bottom: 0.4rem;
    }


    .customer-content .info-content .text-m {
        margin-bottom: 0.4rem;
        font-weight: 600;
        font-size: 0.9rem;
        line-height: 1.2;
    }

    .content-giaithuong-title{
      padding: 0 15px;
    }

    .content-giaithuong-title .widgettitle {
    font-size: 26px;
 
}

.content-giaithuong {
    padding: 32px 15px 40px;
}
.content-giaithuong .slick-slide {
    padding: 0 8px;
}

.content-giaithuong .slick-list {
    margin: 0 -8px;
}
.content-giaithuong .mainposts strong{
   font-size: 20px;
    margin-bottom: 86px;
}
.content-giaithuong .mainposts img {
    max-height: 400px;
    min-height: 400px;
    object-fit: cover;
    border-radius: 25px;
    display: block;
    width: 100%;
    transition: transform 0.4s ease;
}

.content-news {
    margin: 40px auto;
    padding: 0px 15px;
}

.content-news .widget-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.content-news h2 {
    font-size: 26px;
    line-height: 32px;
     margin-bottom: 6px;
}

.content-news .main-posts {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
}

.content-news .post .box-img img {
    width: 100%;
    height: 200px;
}

.content-news .post .list-info {
    padding: 16px 20px 20px;
}

.content-news .post .widget-item-title a {
    font-size: 16px;
    font-weight: 700;
    color: #333;
        overflow: hidden;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    padding-bottom: 7px !important
}

.content-news .post .entry-text {
    font-size: 15px;

}

.content-news .post .entry-text .more-link {
    cursor: pointer;
    border-radius: 12px;
    background: #222;
    color: #fff;
    text-align: center;
    display: table;
    line-height: 40px;
    padding: 0 24px;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.3s 
ease;
    height: 40px;
    margin-top: 10px;
}

    .content-news ul li > a {
        width: 180px;
    }

    .content-news .box-info a {
    font-size: 16px;
       overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.content-news .read-more {
    padding: 0 18px;
    margin-top: 6px;

}

.content-news li {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.content-news section:nth-of-type(2) a{
  height: 40px;
        line-height: 40px;
        margin-top: 8px;
}


.content-cta {
    padding: 40px 15px;
}

.content-cta .label {
    font-size: 26px;
    margin-bottom: 16px;
}

.content-cta .widget-title,
.content-cta .widgettitle,
.content-cta .ff-el-section-title {
    margin-bottom: 20px;
    font-size: 25px;
}

.content-cta .ff-t-container,
.form_lienhe .ff-t-container {
    display: block;
}

.content-cta .ff-t-cell,
.form_lienhe .ff-t-cell {
    width: 100% !important;
    margin: 0 !important;
}

.form_lienhe .ff-el-form-control::placeholder {
    font-size: 15px !important;
}

.home .site-inner{
  display: none !important;
}

.before_footer {
    padding: 35px 15px 20px;
    margin-top: 0px;
    box-sizing: border-box;
}
.before_footer .wrap-section {
    flex-direction: column;
    gap: 20px;
}

 .content-hero {
    background-size: cover;
    min-height: 300px;
     margin-top: 71px;
}

.content-breadcrumb {
    padding: 30px 15px;
}

.content-breadcrumb {
    top: 42%;
}

.content-hero h2 {
    font-size: 26px;
}

.breadcrumb {
    font-size: 16px;
    margin: 0px auto auto;
}

.content-breadcrumb .title {
    font-size: 32px;
}

.content-breadcrumb .slogan {
    font-size: 16px;
    margin-top: 12px;
}

.site-inner {
    padding: 30px 15px 30px;
    width: 100%;
    box-sizing: border-box;
}

.page-template-page-gioithieu .entry-content h2 {
    font-size: 18px;
    line-height: 28px;
    margin-top: 6px;
    margin-bottom: 12px;
}

.page-template-page-gioithieu .entry-content h3 {
    font-size: 16px;
    margin-bottom: 0px;
}


.content-doitac .widgettitle {
    font-size: 26px;
    margin-bottom: 16px;
}

.content-doitac {
    padding: 40px 15px;
    margin: auto;
}
.content-doitac .textwidget p {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    place-items: center;
}

.content-doitac img {
    height: 36px;
}

.content-giatri {
    padding: 100px 0 0px;
}

.content-giatri .wrap-card {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 16px;
}

.content-giatri .card-item img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid #FFF;
    padding: 10px;
    object-fit: contain;
}

.content-giatri .card-content h5 {
    font-size: 16px;
    margin: 0 0 0px 0;
}


.page-template-page-blog .site-inner {
	width: 100%;
	padding: 40px 15px 50px;
}

.blog-wrapper {
	grid-template-columns: repeat(1 ,1fr);
	gap: 24px;
	align-items: start;
}

.blog-wrapper .blog-info {
    padding: 8px 12px;
}

.blog-wrapper .blog-title a {
  line-height: 22px;
    margin: 0;
    padding-bottom: 5.5px !important;
}

.blog-title{
  margin-bottom: 4px;
}

.blog-wrapper .blog-meta {
    margin-bottom: 3px;
}

.blog-wrapper .blog-excerpt {
    font-size: 15px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.post-template-default .site-inner {
    margin: 0 auto;
    overflow: visible;
    padding: 90px 15px 60px;
    width: 100%;
    box-sizing: border-box;
}

.blog-wrapper .slick-slide {
  margin: 0 8px;
}

.blog-wrapper .slick-list {
  margin: 0 -8px;
}







.content-sidebar-wrap {
    flex-direction: column;
    gap: 24px;
}

.content-sidebar .content, .sidebar-content .content {
    width: 100%;
}

.content h1 {
    font-size: 22px;
    line-height: 32px;
    margin: 0 0 15px;
}


.page-template-page-lienhe .site-inner {
    padding: 0px !important;
}

.content-lienhe {
  flex-direction: column;
    z-index: 1;
    padding: 0px;
    border-radius: 2.12px;
}

.contact-section {
    flex: 0 0 100%;
    padding: 20px;
    row-gap: 8px;
    position: relative;
    border-radius: 12px;
}

.contact-section h2 {
    font-size: 26px;
    margin-bottom: 0px;
}

.contact-section h3 {
    font-size: 15px;
}

.contact-section li {
        display: block;
    }

        .contact-section li i ,.contact-section li strong{
        margin-right: 6px;
    }

    .form_lienhe {
    flex: 0 0 100%;
    padding: 24px 15px 0px ;
    width: 100% !important;
    
}

.form_lienhe .label {
    font-size: 26px;
    margin: 0px auto 8px !important;
}
.caldera-grid input[type="submit"] {
    font-size: 15px !important;
    line-height: 16px !important;
   font-weight: 500 !important;
}

.sidebar {
    width: 100%;
}


.site-header .widget_text p {
    position: absolute;
    top: -22px;
    right: 590px;
    cursor: pointer;
    color: rgb(255, 255, 255);
    height: 40px;
    display: table;
    line-height: 40px;
    font-size: 14px;
    font-weight: 500;
    background: #0e4191;
    padding: 0px 12px;
    border-radius: 8px;
    transition: background 0.3s;
    text-transform: uppercase;
}

.site-title a, .site-title a:hover
 {
    background-size: 125px;
}


.site-title a, .site-title a:hover {
    margin-left: -40px;
    margin-top: 6px;
}


.nhantuvan .widget_caldera_forms_widget .widget-wrap {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    background-color: rgb(229, 238, 246);
    padding:16px 20px;
    z-index: 3000;
    border-radius: 20px;
}

.nhantuvan .label
 {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 8px;
}

.caldera-grid .form-group {
    margin-bottom: 10px;
}

.caldera-grid .form-control {
    font-size: 15px !important;
    padding: 12px 18px !important;
}

.content-contact .widget_caldera_forms_widget input, .content-lienhe form input, .nhantuvan .widget_caldera_forms_widget input {
    height: 44px;
}

.privacy-policy .site-inner, .page-id-207 .site-inner, .page-id-211 .site-inner, .page-id-215 .site-inner {
    padding: 100px 15px 60px !important;
    width: 100% !important;
}





.content-tamnhin {
    padding: 30px 15px 0px;
}

.content-tamnhin .wrap {
    flex-direction: column;
    gap: 16px;
}

.content-tamnhin .wrap > img {
    flex: 0 0 100%;
    width: 100%;
    height: auto;
}

.content-tamnhin .tamnhin-wrapper h2 {
    font-size: 26px;
        line-height: 40px;
        margin-bottom: 16px;
}

.content-tamnhin .card-item {
    margin-bottom: 16px;
}

.content-tamnhin .card-content h5 {
  font-size: 16px;
    margin-bottom: 4px;
}

.content-tamnhin .card-content p {
    font-size: 15px;
    line-height: 1.7;
}

.content-doitac .widgettitle {
    font-size: 26px;
    margin-bottom: 16px;
}

.content-doitac {
    padding: 40px 15px;
    margin: auto;
}
.content-doitac .textwidget p {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    place-items: center;
}

.content-doitac img {
    height: 36px;
}

.content-giatri {
    padding: 40px 15px 0px;
}

.content-giatri .wrap-card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px ;
}

.content-giatri .card-item {
    padding: 16px;
    gap: 12px;
    min-height: 185px;
}

.content-giatri .card-item img {
    width: 50px;
    height: 50px;
}

.content-giatri h2 {
    font-size: 26px;
    line-height: 40px;
    margin-bottom: 16px;
}

.content-giatri .card-content h5 {
    font-size: 16px;
    margin: 0 0 0px 0;
}


/* Giới thiệu */
.about-section {
    padding: 50px 15px;
}

.about-section h2 {
    font-size: 26px;
}

.about-section h3 {
    font-size: 18px;
}

.about-core-layout,
.about-reasons-layout {
    grid-template-columns: 1fr;
    gap: 28px;
}

.about-core-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
}

.about-core-gallery img {
    height: 245px;
}

.about-core-content {
    padding-left: 0;
}

.about-core-content > h2 {
    padding-left: 0;
}

.about-core-item {
    grid-template-columns: 42px 1fr;
    gap: 12px;
}

.about-core-number {
    width: 42px;
    height: 48px;
    font-size: 17px;
}

.about-core-item h3 {
    margin-top: 3px;
    font-size: 19px;
}

.about-centered-heading {
    margin-bottom: 30px;
}

.about-process-list::before {
    left: 26px;
}

.about-process-step,
.about-process-step:nth-child(even) {
    min-height: 0;
    margin-bottom: 32px;
    padding-left: 68px;
    display: block;
}

.about-process-card,
.about-process-step:nth-child(even) .about-process-card {
    padding: 0;
}

.about-process-image,
.about-process-step:nth-child(even) .about-process-image {
    margin: 18px 0 0;
    padding: 0;
}

.about-process-image img {
    height: 210px;
}

.about-process-marker {
    position: absolute;
    top: 0;
    left: 0;
    width: 52px;
    min-height: 62px;
}

.about-process-marker strong {
    font-size: 22px;
}

.about-reasons-lead img {
    height: 280px;
}

.about-reasons-grid {
    grid-template-columns: 1fr;
    gap: 30px;
}

.about-reason-icon {
    margin-bottom: 10px;
}

.about-testimonials-slider {
    margin: 0 -6px;
}

.about-testimonials-slider .slick-slide {
    padding: 0 6px;
}

.about-testimonial-card {
    padding: 0 6px;
}

.about-testimonial-card__inner {
    min-height: 315px;
    padding: 24px 20px;
}

.about-testimonials .slick-dots {
    margin-top: 18px;
}
.nhansu-title h2 {
    font-size: 26px;
    margin-bottom: 24px;
}
.nhansu-grid .slick-slide {
    padding: 0 6px;
}
.nhansu-grid .slick-track {
    margin: 0 -6px;
}
.nhansu-card-inner {
    min-height: 450px;
}
.nhansu-name {
    font-size: 20px;
}
/* Đào tạo ngoại ngữ */
.page-template-page-daotaongoaingu .content-gioithieu {
        padding: 40px 15px 50px;
    }

    .gioithieu-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
}

    .gioithieu-title h2 {
              font-size: 26px;
        line-height: 32px;
    }
    .gioithieu-title ul {
    list-style: none;
    margin: 20px 0 20px;
    padding: 0;
}
.gioithieu-title ul li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 28px;
    font-size: 15px;
}
.gioithieu-gallery {
    gap: 12px;
}
.page-template-page-daotaongoaingu .content-gioithieu img {
        width: 100%;
        height: 160px !important;
        object-fit: cover;
    }
    .content-khoahoc {
    padding: 15px 15px 50px;
}
.content-khoahoc h2 {
    font-size: 26px;
        line-height: 32px;
    margin-bottom: 28px;
}
.khoahoc-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.khoahoc-card-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    height: 100%;
}

.khoahoc-card {
    background: #fff;
    border-radius: 16px;
    padding: 16px;
}
.khoahoc-card-image {
      flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
}
.khoahoc-card-title {
    font-size: 20px;
    margin: 0 0 12px;
}
.khoahoc-card-desc, .khoahoc-card-desc p {
    font-size: 15px;
}

.content-loiich {
    max-width: 100%;
    padding: 40px 15px 40px;
}
.content-loiich .widgettitle h2 {
    font-size: 26px;
    margin-bottom: 0px;
}
.content-loiich .loiich-head {
    margin-bottom: 32px;
}
.content-loiich .loiich-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.content-loiich .loiich-left, .content-loiich .loiich-right  {
    width: 100%;
}
.loiich-item-inner {
    min-height: 60px;
    padding: 12px 16px 12px 24px;
    gap: 16px;
}
.loiich-images {
    min-height: 240px;
}
.loiich-image-item img {
    width: 100%;
    height: 240px;
}
.content-cauhoi {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 30px 15px 50px;
    max-width: 100%;
}
.content-cauhoi .widgettitle h2 {
    font-size: 26px;
    line-height: 32px;

}
.content-cauhoi .widgettitle p {
    font-size: 15px;;
    line-height: 28px;
    margin-top: 16px;
}
.content-cauhoi .widgettitle a {
    height: 42px;
    display: table;
    line-height: 42px;
    font-size: 15px;
    font-weight: 500;
    margin-top: 16px;
}
.list_ques {
    width: 100%;
    margin: 0 auto;
}
.list_ques .question {
    margin-bottom: 16px
}
.list_ques .title {
    font-size: 16px;
    font-weight: 600;
    background: url(images/cong.svg) no-repeat right 18px center #fff;
    padding: 14px;
    border-radius: 10px;
    cursor: pointer;
    background-size: 16px;
    background-color: #f3f3f3;
}




.content-traihe
 {
    padding: 40px 15px;
}
.traihe-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 100%;
    margin: auto;
}
.traihe-left, .traihe-right {
    width: 100%;
}
.traihe-title h2 {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 6px;
}


.noibat-wrap {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
    max-width: 100%;
    margin: auto;
    padding: 20px 15px 40px;
}
.noibat-card {
    padding: 24px;
    min-height: 140px;
}
.noibat-title {
    font-size: 36px;
    margin-bottom: 12px;
}
.noibat-desc, .noibat-desc p {
    font-size: 16px;
}
.content-lotrinh {
    padding: 40px 15px 40px;
}
.lotrinh-heading, .lotrinh-heading p, .lotrinh-heading h2, .lotrinh-heading h3 {
    font-size: 26px;
    margin-bottom: 32px;
}
.lotrinh-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
}

.lotrinh-card {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #f3f3f3;
    box-shadow: none;
}
.lotrinh-grid .slick-track {
    margin: 0 -6px;
}
.lotrinh-grid .slick-slide {
    margin: 0 6px;
}
.lotrinh-icon img {
    width: 48px;
    height: 48px;
}
.lotrinh-card-title {
    font-size: 18px;
}
.lotrinh-card-top {
    padding: 24px 20px 24px;
    min-height: 160px;
}
.lotrinh-card-bottom {
    padding: 22px 20px;
    min-height: 220px;
}
.lotrinh-card-bottom, .lotrinh-card-bottom p {
    font-size: 15px;
}

.country-banner-slider {
    margin-top: 71px !important;
}

.country-info-layout {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.country-info-sidebar{
  display: none;
}

.country-page-title {
    font-size: 32px !important;
    line-height: 1.1;
    margin: 0 0 16px !important;
}

.country-section-title {
    font-size: 20px !important;
    line-height: 1.25;
    margin: 0 0 16px !important;
    gap: 2px;
}

.country-section-title svg {
        width: 20px !important;
        height: 20px !important;
    }

    .country-section-content {
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.country-section {
    margin-bottom: 40px !important;
}

.single-quocgia .truonghoc-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
}

.truonghoc-thumb img, .truonghoc-no-thumb {
    height: 140px !important;
}

.truonghoc-info {
    padding: 8px !important;
}

.truonghoc-title {
    font-size: 15px !important;
}

#section-yeucau .list-nganh {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    margin-top: 20px !important;
}

#section-yeucau .accordion > li {
    padding: 28px 12px !important;
    font-size: 16px !important;;
}

#section-yeucau .accordion > li > ol {
    padding: 0 0 0 18px !important;
    font-size: 15px !important;
}

.country-exp-list {
    gap: 24px !important;
}

.country-exp-question {
    font-size: 16px !important;
    z-index: 2 !important;
}

.country-exp-item {
    padding-bottom: 4px !important;
}

#section-chinhsach, #section-yeucau, #section-kinhnghiem, #section-nganhdaotao, #section-visa {
    scroll-margin-top: 0px !important;
}

.country-faculty-strength {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 20px !important;
    margin-top: 16px !important;
}

.country-faculty-item {
    padding: 12px 0 !important;
}

.country-faculty-name {
    font-size: 15px !important;
}

.category .site-inner, .tax-truonghoc_cat .site-inner {
    padding: 110px 15px 60px !important;
    width: 100% !important;
}

.category .archive-heading {
    margin-bottom: 28px;
    font-size: 26px;
}

.truonghoc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px;
}

.country-info-content {
    width: 100% !important;
}

#section-uudiem ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 16px 16px !important;
}

#section-uudiem ul li {
    gap: 12px !important;
    font-size: 14px !important;
    line-height: 1.6;
}
.country-section-content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.country-section-content li img {
    height: 150px;
}
.country-banner-slider img {
    width: 100%;
    height: auto !important;
    object-fit: cover;
}



.content-linhvuc {
    padding: 40px 15px;
    max-width: 100%;
    margin: auto;
}
.linhvuc-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 60px;
}
.linhvuc-col {
    width: 100%;
}
.linhvuc-content h2 {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 16px;
}
.linhvuc-content p {
    font-size: 15px;
    text-align: justify;
    line-height: 1.8;
    margin-bottom: 14px;
}
.linhvuc-image img {
    width: 100%;
    height: 280px;
    border-radius: 10px;
}
.linhvuc-content a {
    height: 40px;
    display: table;
    line-height: 40px;
    font-size: 15px;
    padding: 0px 24px;
    margin-top: 20px;
    position: relative;
}

.huongnghiep-wrap {
    width: 100%;
    margin: 0px auto;
    max-width: 100%;
    padding: 50px 15px 60px;
}
.huongnghiep-tabs .tab-btn {
    padding: 14px 22px;
    font-size: 15px;

}


.ds-khoa-hoc {
    width: 100%;
    max-width: 100%;
    margin: auto;
    padding: 50px 15px 40px;
}

.khoa-hoc-item {
    display: flex;
  flex-direction: column;
      align-items: start;
    padding: 24px 20px;
    margin-bottom: 20px;
}
.khoa-hoc-title {

    width: 100%;
    gap: 20px;
}
.khoa-hoc-date, .khoa-hoc-location, .khoa-hoc-contact {
    width: 100%;
    font-size: 16px;
}
.single-khoahoc .site-inner {
    padding: 100px 15px 60px;
    width: 100%;
    box-sizing: border-box;
}

.content-why {
    padding: 40px 15px 50px;
}
.content-why .wrap {
    max-width: 100%;
    margin: 0 auto;
}
.why-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: stretch;
}

.why-right {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

.why-title h2 {
    font-size: 26px;
    margin-top: 0px;
    margin-bottom: 20px;
}
.why-left img {
    width: 100%;
    height: 300px;
}
.why-card-icon {
    width: 30px;
    height: 30px;
    font-size: 12px;
    margin-bottom: 8px;
}
.why-card-title {
    margin: 0 0 10px;
    font-size: 18px;
}
.why-card-desc
 {
    font-size: 15px;
}
.content-hoso {
    padding: 60px 15px;
}
.hoso-tab-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.hoso-tab-nav button {
    font-size: 15px;
}
.hoso-content-box {
    padding: 24px;
    border-radius: 12px;
}
.content-noibat2 .noibat-wrap {
    padding: 24px 15px 60px;
}
.content-noibat2 h2 {
    font-size: 26px;
}
.content-quytrinh {
    padding: 60px 15px;
}
.quytrinh-title h2 {
    font-size: 26px;
    margin-bottom: 24px;
}
   .quytrinh-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        gap: 0px;
        margin-bottom: 24px;
    }

    .quytrinh-center-col {
        order: -1;
        border: none !important;
        background: transparent !important;
    }

    .quytrinh-col {
        width: 100%;
        text-align: center;
    }

    .quytrinh-content-col {
        padding: 0;
    }

    .quytrinh-text {
        max-width: 100%;
        margin: 0 !important;
    }

    .step-title {
    font-size: 18px;
}
.step-desc {
    font-size: 15px;
}

    .step-image {
        width: 120px;
        height: 120px;
        margin: 0 auto;
    }

    .quytrinh-item.left .quytrinh-text,
    .quytrinh-item.right .quytrinh-text {
        margin: 0 !important;
    }

    .quytrinh-item.left .quytrinh-content-col,
    .quytrinh-item.right .quytrinh-content-col {
        text-align: center;
    }

   .quytrinh-timeline::before{
    display: none;
   }


   .chon-gv-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    align-items: start;
}

.content-chongv {
    padding: 50px 0;
}
.content-chongv .section-title h2 {
    font-size: 26px;
    margin-bottom: 6px;
}
.chon-gv-content h3 {
    font-size: 18px;
    margin: 0 0 6px;
}
.chon-gv-content p {
    font-size: 15px;
}

.content-tieuchuan {
    padding: 50px 15px;
}

.tieuchuan-flex {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.tieuchuan-left, .tieuchuan-right {
    flex: 0 0 100%;
    max-width: 100%;
}
.tieuchuan-title h2 {
    font-size: 26px;
    margin-bottom: 6px;
}
.tieuchuan-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.tieuchuan-card-content h3 {
    margin: 0 0 6px;
    font-size: 18px;
}
.content-tuyendung {
    padding: 50px 15px;
}

.tuyendung-title h2 {
    font-size: 26px;
    margin-bottom: 24px;
}
.tuyendung-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.tuyendung-grid .slick-slide {
    padding: 0 8px;
}
.tuyendung-grid .slick-track {
    padding: 0 -8px;
}
.tuyendung-card-content h3 {
    margin: 0 0 10px;
    font-size: 18px;
}
.tuyendung-card-content .desc, .tuyendung-card-content .desc p ,.tuyendung-card-content li{
    font-size: 15px;
    line-height: 1.75;
}
.tuyendung-card-inner {
    min-height: 270px;
}
.tuyendung-card-number span {
    width: 48px;
    height: 48px;
    font-size: 18px;
}
.content-hinhanh {
    padding: 50px 0;
}
.hinhanh-title h2 {
    margin: 0 0 10px;
    font-size: 26px;
}
.hinhanh-title p {
    font-size: 15px;
}
.hinhanh-slider-wrap {
    gap: 16px;
}
.hinhanh-item {
    width: 200px;
    height: 120px;
}
.hinhanh-track {
    gap: 10px;
}

/* #code_widget-7{
    position: absolute;
    top: 280px;
    right: 820px;
    display:  block !important;
    z-index: 10 !important;
} */
 #code_widget-7 {
    position: absolute;
    top: 300px;
    right: 820px;
    display: none;
    z-index: 10 !important;
}

/* Khi menu mở thì hiện */
#responsive-menu.open-menu + #code_widget-7,
#responsive-menu.open-menu ~ #code_widget-7 {
    display: block !important;
}

.home-banner-content h2 {
  font-size: 30px;
}

.content-banner .slick-list .home-banner-slide > img {
  height: 220px !important;
}

.home-banner-description,
.home-banner-description p {
  font-size: 15px;
}

.home-banner-content {
  max-width: calc(100% - 70px);
  padding-left: 15px;
}

.home-content-section {
  padding: 45px 15px;
}

.home-section-heading {
  margin-bottom: 24px;
}

.home-section-heading h2 {
  font-size: 26px;
  line-height: 1.25;
}

.home-solutions-grid {
  grid-template-columns: 1fr;
  gap: 16px;
}

.home-solution-card {
  min-height: 0;
  padding: 26px 20px;
}

}


.privacy-policy .site-inner, .page-id-207 .site-inner, .page-id-211 .site-inner, .page-id-215 .site-inner {
    margin: 0 auto;
    overflow: visible;
    padding: 140px 0 60px;
    width: 1280px;
    box-sizing: border-box;
}

.privacy-policy .sidebar .widget .widgettitle, .page-id-207 .sidebar .widget .widgettitle ,.page-id-211 .sidebar .widget .widgettitle, .page-id-215 .sidebar .widget .widgettitle {
    background: #0e4191;
    padding: 8px 15px;
    border-radius: 10px 10px 0 0;
    margin-bottom: 0px;
}

.privacy-policy .sidebar h2, .page-id-207 .sidebar h2, .page-id-211 .sidebar h2, .page-id-215 .sidebar h2 {
   color: #FFF;
    margin-top: 6px;
}

.privacy-policy .sidebar .widget, .page-id-207 .sidebar .widget, .page-id-211 .sidebar .widget, .page-id-215 .sidebar .widget {
    border-radius: 8px;
    background-color: #eef9f9;
    margin: 0 0 10px;
    border-bottom: 2px solid #0e4191;
    float: left;
    width: 100%;
    padding: 0px;
}

.privacy-policy .sidebar .main-posts, .page-id-207 .sidebar .main-posts, .page-id-211 .sidebar .main-posts, .page-id-215 .sidebar .main-posts {
    padding: 16px;
}

.privacy-policy .sidebar .widget .post, .page-id-207 .sidebar .widget .post, .page-id-211 .sidebar .widget .post, .page-id-215 .sidebar .widget .post {
    float: left;
    width: 100%;
    margin-bottom: 15px;
}

.privacy-policy .sidebar .widget .recipe, .page-id-207 .sidebar .widget .recipe, .page-id-211 .sidebar .widget .recipe, .page-id-215 .sidebar .widget .recipe {
    float: left;
    width: 100%;
    margin-bottom: 15px;
}

.privacy-policy .sidebar .widget img, .page-id-207 .sidebar .widget img, .page-id-211 .sidebar .widget img, .page-id-215 .sidebar .widget img {
    float: left;
    width: 150px;
    height: 92px;
    margin: 0 12px 6px 0;
    border-radius: 10px;
}


.privacy-policy .sidebar .widget .widget-item-title a, .page-id-207 .sidebar .widget .widget-item-title a, .page-id-211 .sidebar .widget .widget-item-title a, .page-id-215 .sidebar .widget .widget-item-title a {
    font-size: 16px;
  color: #444;
    font-weight: 500;
    line-height: 1.3;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    /* text-align: justify; */
}

#code_widget-7{
    display: none;
}


.search-group {
	margin-bottom: 50px;
}

.search-group-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 24px;
	line-height: 1.3;
}

/* =========================================================
 * WooCommerce catalog, product detail and article typography
 * ======================================================= */
.woocommerce-page .site-inner {
    width: 1280px;
    padding: 145px 0 70px;
}

.post-type-archive-product .content-sidebar-wrap,
.tax-product_cat .content-sidebar-wrap,
.tax-product_tag .content-sidebar-wrap {
    gap: 28px;
    align-items: flex-start;
}

.post-type-archive-product .site-inner {
    padding-top: 70px;
}

.post-type-archive-product.content-sidebar .content,
.tax-product_cat.content-sidebar .content,
.tax-product_tag.content-sidebar .content {
    width: calc(100% - 310px);
}

.post-type-archive-product .product-catalog-sidebar,
.tax-product_cat .product-catalog-sidebar,
.tax-product_tag .product-catalog-sidebar {
    width: 282px;
    flex: 0 0 282px;
    margin-top: 195px;
}

.post-type-archive-product .product-catalog-sidebar {
    margin-top: 66px;
}

.woocommerce .page-title {
    margin: 0 0 28px;
    color: #152536;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
}

.woocommerce .woocommerce-breadcrumb {
    margin: 0 0 24px;
    color: #778391;
    font-size: 14px;
}

.woocommerce .woocommerce-breadcrumb span {
    padding: 0 8px;
    color: #a2acb7;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #0e4191;
}

.woocommerce .term-description {
    margin: -14px 0 30px;
    color: #536170;
    font-size: 16px;
    line-height: 1.75;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 24px;
}

.woocommerce .woocommerce-ordering select {
    min-height: 42px;
    padding: 8px 36px 8px 12px;
    border: 1px solid #d7dde5;
    border-radius: 4px;
    background: #fff;
    color: #334155;
}

.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products,
.tax-product_tag .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 52px 32px;
    clear: both;
    margin: 0 !important;
}

.post-type-archive-product .woocommerce ul.products::before,
.post-type-archive-product .woocommerce ul.products::after,
.tax-product_cat .woocommerce ul.products::before,
.tax-product_cat .woocommerce ul.products::after,
.tax-product_tag .woocommerce ul.products::before,
.tax-product_tag .woocommerce ul.products::after {
    display: none !important;
}

.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product,
.tax-product_tag .woocommerce ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    position: relative;
    display: flex;
    height: 100%;
    flex-direction: column;
    color: #152536;
}

.post-type-archive-product .woocommerce ul.products li.product img,
.tax-product_cat .woocommerce ul.products li.product img,
.tax-product_tag .woocommerce ul.products li.product img {
    width: 100%;
    height: 300px;
    margin: 0 0 20px !important;
    padding: 30px;
    border: 1px solid #d5dce5;
    background: #f2f6fc;
    object-fit: contain;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(21, 56, 92, 0.1);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 52px;
    margin: 0 !important;
    padding: 0 !important;
    color: #142638;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.woocommerce ul.products li.product .price {
    margin-top: 8px;
    color: #087d52 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.woocommerce ul.products li.product .price del {
    margin-left: 5px;
    color: #6b7280;
    font-size: 14px;
    font-weight: 400;
    opacity: 1;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
}

.woocommerce ul.products li.product .button {
    display: none !important;
}

.price-contact {
    color: #087d52;
}

.solar-product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: flex;
    gap: 8px;
}

.solar-product-badge {
    min-width: 54px;
    padding: 6px 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

.solar-product-badge.is-sale {
    background: #ff8708;
}

.product-catalog-sidebar .widget {
    margin: 0 0 22px;
    padding: 26px 30px 20px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(21, 50, 79, 0.06);
}

.product-catalog-sidebar .widget:last-child {
    margin-bottom: 0;
}

.product-catalog-sidebar .widget-title {
    position: relative;
    margin: 0 0 25px;
    padding-bottom: 16px;
    color: #142638;
    font-size: 20px;
    font-weight: 600;
    text-transform: capitalize;
}

.product-catalog-sidebar .widget-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: #087d52;
}

.product-category-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-category-list li {
    margin: 0;
    border-bottom: 1px dotted #c9d0d8;
    list-style: none;
}

.product-category-list li:last-child {
    border-bottom: 0;
}

.product-category-list a {
    padding: 15px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    color: #1c3044;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.product-category-list a:hover,
.product-category-list .current-cat a {
    color: #087d52;
}

.product-category-list small {
    flex: 0 0 auto;
    color: #74808c;
    font-size: 14px;
    font-weight: 400;
}

.solar-price-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.solar-price-range {
    --range-start: 0%;
    --range-end: 100%;
    position: relative;
    height: 28px;
    margin: 0 0 15px;
}

.solar-price-range::before,
.solar-price-range-track {
    position: absolute;
    top: 12px;
    right: 0;
    left: 0;
    height: 5px;
    border-radius: 999px;
}

.solar-price-range::before {
    content: "";
    background: #d9e0e8;
}

.solar-price-range-track {
    right: calc(100% - var(--range-end));
    left: var(--range-start);
    z-index: 1;
    background: #087d52;
}

.solar-price-range-input {
    position: absolute;
    top: 5px;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 18px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
}

.solar-price-range-input::-webkit-slider-runnable-track {
    height: 5px;
    background: transparent;
}

.solar-price-range-input::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -6px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #087d52;
    box-shadow: 0 1px 6px rgba(20, 38, 56, .28);
    cursor: grab;
    pointer-events: auto;
    appearance: none;
    -webkit-appearance: none;
}

.solar-price-range-input::-moz-range-track {
    height: 5px;
    background: transparent;
}

.solar-price-range-input::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #087d52;
    box-shadow: 0 1px 6px rgba(20, 38, 56, .28);
    cursor: grab;
    pointer-events: auto;
}

.solar-price-range-input:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(14, 65, 145, .2);
}

.solar-price-fields label,
.solar-price-fields span {
    display: block;
}

.solar-price-fields span {
    margin-bottom: 6px;
    color: #647180;
    font-size: 13px;
}

.solar-price-fields input {
    width: 100%;
    height: 42px;
    padding: 7px 9px;
    border: 1px solid #d5dce5;
    border-radius: 4px;
    background: #fff;
    color: #142638;
    font-size: 14px;
}

.solar-price-fields input:focus {
    border-color: #0e4191;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 65, 145, 0.1);
}

.solar-price-filter-footer {
    display: flex;
    margin-top: 16px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.solar-price-currency {
    color: #74808c;
    font-size: 12px;
}

.solar-price-filter button {
    min-width: 74px;
    min-height: 40px;
    padding: 8px 18px;
    border: 0;
    border-radius: 4px;
    background: #0e4191;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    font-family: "Manrope", sans-serif;
    cursor: pointer;
}

.solar-price-filter button:hover {
    background: #092f6c;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 48px;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    margin: 0 4px;
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8dee6;
    border-radius: 4px;
    background: #fff;
    color: #0e4191;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    border-color: #0e4191;
    background: #0e4191;
    color: #fff;
}

/* Giỏ hàng và thanh toán */
.woocommerce-cart .site-inner,
.woocommerce-checkout .site-inner {
    width: 1280px;
    max-width: calc(100% - 30px);
    padding: 145px 0 80px;
}

.woocommerce-cart .content,
.woocommerce-checkout .content {
    width: 100% !important;
    max-width: none;
    float: none;
}

.woocommerce-cart .entry,
.woocommerce-checkout .entry {
    margin: 0;
    padding: 0;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-page-heading {
    margin: 0 0 32px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dcdcdc;
    color: #142638;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.woocommerce-cart .woocommerce::after,
.woocommerce-checkout form.checkout::after {
    content: "";
    display: table;
    clear: both;
}

.woocommerce-cart .woocommerce-cart-form {
    width: calc(66% - 18px);
    float: left;
}

.woocommerce-cart .cart-collaterals {
    width: calc(34% - 18px);
    float: right;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
    overflow: hidden;
    border: 1px solid #dce3ea;
    border-radius: 8px;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0 8px 26px rgba(20, 49, 76, .06);
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
    padding: 15px 14px;
    border: 0;
    border-bottom: 1px solid #dce3ea;
    background: #f3f7fb;
    color: #142638;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td {
    padding: 16px 14px;
    border: 0;
    border-bottom: 1px solid #e6ebf0;
    color: #425161;
    vertical-align: middle;
}

/* .woocommerce-cart table.shop_table tr:last-child td,
.woocommerce-checkout table.shop_table tr:last-child td {
    border-bottom: 0;
} */

.woocommerce-cart table.cart img {
    width: 82px;
    height: 82px;
    border: 1px solid #e0e6ec;
    border-radius: 6px;
    background: #f5f8fb;
    object-fit: cover;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-checkout table.shop_table .product-name {
    color: #142638;
    font-weight: 600;
}

.woocommerce-cart table.cart .product-remove a {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #efcaca;
    border-radius: 50%;
    background: #fff5f5;
    color: #c62828 !important;
    font-size: 20px;
    line-height: 1;
}

.woocommerce-cart table.cart .quantity .qty {
    width: 70px;
    height: 42px;
    border: 1px solid #d5dde5;
    border-radius: 5px;
    text-align: center;
}

.woocommerce-cart table.cart td.actions {
    padding: 18px;
    background: #f9fbfd;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    gap: 8px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 190px;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #d5dde5;
    border-radius: 5px;
}

.woocommerce-cart .cart_totals {
    width: 100% !important;
    padding: 24px;
    border: 1px solid #dce3ea;
    border-top: 4px solid #087d52;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 49, 76, .08);
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    margin: 0 0 20px;
    color: #142638;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}

.woocommerce-cart .cart_totals table.shop_table {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 14px 8px;
    background: transparent;
    text-transform: none;
}

.woocommerce-cart .order-total strong,
.woocommerce-checkout .order-total strong {
    color: #087d52;
    font-size: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 18px 0 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 13px 22px;
    border: 0;
    border-radius: 6px;
    background: #087d52;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover {
    background: #056540;
}

.woocommerce-cart button.button,
.woocommerce-cart a.button,
.woocommerce-checkout button.button,
.woocommerce-checkout a.button {
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 5px;
    background: #0e4191;
    color: #fff;
    font-weight: 500;
    font-family: "Manrope", sans-serif;
}

.woocommerce-checkout form.checkout .col2-set {
    width: calc(58% - 20px);
    float: left;
}

.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
    width: 100%;
    float: none;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: calc(42% - 20px);
    float: right;
}

.woocommerce-checkout #order_review {
    padding: 24px;
    border: 1px solid #dce3ea;
    border-top: 4px solid #087d52;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 49, 76, .08);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    margin-bottom: 28px;
    padding: 26px;
    border: 1px solid #dce3ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20, 49, 76, .05);
}

.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

.woocommerce-checkout .form-row label {
    margin-bottom: 7px;
    color: #344252;
    font-size: 14px;
    font-weight: 600;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #d5dde5;
    border-radius: 5px;
    background: #fff;
    color: #26384a;
    box-shadow: none;
}

.woocommerce-checkout textarea.input-text {
    min-height: 110px;
    resize: vertical;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 24px;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    top: 9px;
    right: 7px;
}

.woocommerce-checkout #payment {
    border-radius: 6px;
    background: #f3f7fb;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
    padding: 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
    margin: 0;
    list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li {
    margin: 0 !important;
    padding: 0;
    list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li::before,
.woocommerce-checkout #payment ul.payment_methods > li::marker {
    content: none !important;
    display: none;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    margin-bottom: 24px;
    padding: 16px 18px 16px 48px;
    border-top: 3px solid #0e4191;
    border-radius: 6px;
    background: #f3f7fb;
    color: #344252;
}

/* Chi tiết sản phẩm */
.single-product .site-inner {
    width: 1280px;
    padding: 145px 0 75px;
}

.single-product .woocommerce-notices-wrapper {
    width: 100%;
    clear: both;
}

.single-product .woocommerce-message {
    position: relative;
    min-height: 64px;
    margin: 0 0 28px;
    padding: 14px 18px 14px 58px;
    border: 0;
    border-left: 4px solid #087d52;
    border-radius: 7px;
    background: #eef8f3;
    box-shadow: 0 5px 18px rgba(20, 49, 76, .07);
    color: #23382f;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 16px;
    line-height: 1.6;
}

.single-product .woocommerce-message::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 18px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #087d52;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    transform: translateY(-50%);
}

.single-product .woocommerce-message .button.wc-forward {
    min-height: 36px;
    margin: 0;
    padding: 7px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    order: 2;
    float: none;
    border: 0;
    border-radius: 5px;
    background: #0e4191;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
}

.single-product .woocommerce-message .solar-cart-message-text {
    min-width: 0;
    flex: 1 1 auto;
    order: 1;
}

.single-product .woocommerce-message .button.wc-forward:hover {
    background: #092f6c;
    color: #fff;
}

.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 55px;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery__image > a {
    display: block;
    height: 430px;
}

.single-product div.product .woocommerce-product-gallery__image {
    overflow: hidden;
    box-sizing: border-box;
    /* border: 1px solid #dce4ec; */
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(20, 56, 84, 0.08);
}

.single-product div.product .woocommerce-product-gallery__image img {
    width: 100%;
    height: 100% !important;
    max-height: none;
    padding: 0;
    border-radius: 9px;
    object-fit: cover;
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.single-product div.product .woocommerce-product-gallery__image:hover img {
    transform: none !important;
}

.single-product div.product .woocommerce-product-gallery__image .zoomImg {
    display: none !important;
}

.single-product div.product .flex-control-thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 18px !important;
    padding-bottom: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.single-product div.product .flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

.single-product div.product .flex-control-thumbs li {
    width: calc((100% - 36px) / 4) !important;
    min-width: calc((100% - 36px) / 4);
    flex: 0 0 calc((100% - 36px) / 4);
    float: none !important;
    scroll-snap-align: start;
}

.single-product div.product .flex-control-thumbs img {
    width: 100%;
    height: 90px !important;
    padding: 0;
    border: 1px solid #dce4ec;
    border-radius: 6px;
    background: #fff;
    object-fit: cover;
    filter: none !important;
    opacity: 1;
    transition: border-color .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs img:hover {
    border-color: #087d52;
    box-shadow: 0 0 0 2px rgba(8, 125, 82, .1);
    opacity: 1;
}

.single-product .solar-product-thumb-slider {
    width: 100%;
    margin-top: 18px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 8px;
}

.single-product .solar-product-thumb-slider .flex-control-thumbs {
    min-width: 0;
    margin-top: 0 !important;
    cursor: grab;
    touch-action: pan-x;
}

.single-product .solar-product-thumb-slider .flex-control-thumbs.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    user-select: none;
}

.single-product .solar-thumb-arrow {
    width: 34px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce4ec;
    border-radius: 6px;
    background: #fff;
    color: #0e4191;
    box-shadow: 0 4px 12px rgba(20, 56, 84, .08);
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}

.single-product .solar-thumb-arrow:hover:not(:disabled) {
    border-color: #0e4191;
    background: #0e4191;
    color: #fff;
}

.single-product .solar-thumb-arrow:disabled {
    opacity: .35;
    cursor: default;
}

.single-product div.product .summary {
    margin-bottom: 55px;
    padding-left: 22px;
}

.single-product div.product .product_title {
    margin: 0 0 12px;
    color: #142638;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.35;
}

.single-product div.product .woocommerce-product-rating {
    margin-bottom: 16px;
}

.single-product div.product p.price,
.single-product div.product span.price {
    color: #087d52;
    font-size: 28px;
    font-weight: 700;
}

.single-product .solar-product-highlights {
    margin: 22px 0 26px;
    overflow: hidden;
    border: 1px solid #dce5e1;
    border-radius: 8px;
    background: #fff;
}

.single-product .solar-product-highlights > h2 {
    margin: 0;
    padding: 13px 18px;
    background: #eef8f3;
    color: #075f3f;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.single-product .solar-product-highlights__content {
    color: #3e4c59;
    font-size: 15px;
    line-height: 1.65;
}

.single-product .solar-product-highlights__content > :last-child {
    margin-bottom: 0;
}

.single-product .solar-product-highlights__content > p {
    margin: 0;
    padding: 12px 18px;
}

.single-product .solar-product-highlights__content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-product .solar-product-highlights__content li {
    position: relative;
    margin: 0;
    padding: 11px 18px 11px 42px;
    border-top: 1px solid #edf1ef;
    list-style: none;
}

.single-product .solar-product-highlights__content li::before {
    content: "\f00c";
    position: absolute;
    top: 12px;
    left: 18px;
    color: #087d52;
    font-family: "Font Awesome 6 Free";
    font-size: 13px;
    font-weight: 900;
}

.single-product .solar-product-highlights__content table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
}

.single-product .solar-product-highlights__content th,
.single-product .solar-product-highlights__content td {
    padding: 11px 16px;
    border: 0;
    border-top: 1px solid #edf1ef;
    text-align: left;
    vertical-align: top;
}

.single-product .solar-product-highlights__content th,
.single-product .solar-product-highlights__content td:first-child {
    width: 42%;
    background: #f8faf9;
    color: #23382f;
    font-weight: 600;
}

.single-product .solar-product-actions {
    display: flex;
    flex-wrap: wrap;
    margin: 12px 0 28;
    gap: 18px;
}

.single-product .solar-product-cart .quantity {
    flex: 0 0 100%;
    margin: 0 0 4px !important;
    display: flex;
    align-items: center;
}

.single-product .solar-product-cart .quantity::before {
    content: "Số lượng";
    margin-right: 12px;
    color: #344252;
    font-size: 15px;
    font-weight: 600;
}

.single-product .solar-product-cart .quantity .qty {
    width: 78px;
    height: 44px;
    padding: 6px 10px;
    border: 1px solid #d5dde5;
    border-radius: 5px;
    background: #fff;
    color: #142638;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}

.single-product .solar-product-cart .quantity .qty:focus {
    border-color: #0e4191;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(14, 65, 145, .12);
}

.single-product .solar-product-action {
    display: inline-flex;
    width: 170px;
    min-width: 170px;
    min-height: 50px;
    padding: 12px 26px;
    align-items: center;
    justify-content: center;
    border: 2px solid #0e4191;
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(20, 56, 84, .1);
    font-size: 16px;
    font-weight: 500;
    font-family: inherit;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.single-product .solar-product-action.is-consult,
.single-product .solar-product-action.is-add-to-cart {
    background: #0e4191;
    border-color: #0e4191;
    color: #fff;
}

.single-product .solar-product-action.is-consult:hover,
.single-product .solar-product-action.is-add-to-cart:hover {
    background: #092f6c;
    border-color: #092f6c;
    color: #fff;
}

.single-product .solar-product-action.is-quote {
    border-color: #087d52;
    background: #087d52;
    color: #fff;
}

.single-product .solar-product-action.is-quote:hover {
    border-color: #056540;
    background: #056540;
    color: #fff;
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
    min-width: 240px;
    min-height: 48px;
    line-height: 24px;;
    padding: 12px 26px;
    border-radius: 4px;
    background: #0e4191;
    font-weight: 500;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: #153f80;
}

.single-product .product_meta {
    padding-top: 18px;
    border-top: 1px solid #e5e9ee;
    color: #647180;
    line-height: 1.8;
}

.single-product .product_meta > span {
    display: block;
}

.single-product .product_meta a {
    color: #0e4191;
}

.single-product .solar-product-description {
    clear: both;
    margin-top: 20px;
    padding-top: 40px;
    /* border-top: 1px solid #dfe5ec; */
}

.single-product .solar-product-description__content {
    color: #344252;
    font-size: 16px;
    line-height: 1.8;
}

.single-product .solar-product-description h2,
.single-product .solar-product-description h3,
.single-product .solar-product-description h4 {
    margin: 30px 0 14px;
    color: #142638;
    line-height: 1.4;
}

.single-product .solar-product-description > h2 {
    margin-top: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 28px;
    font-weight: 600;
}

.single-product .solar-product-description h3 {
    font-size: 23px;
}

.single-product .solar-product-description img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.single-product .solar-product-description__content ul,
.single-product .solar-product-description__content ol {
    margin: 0 0 22px;
    padding-left: 30px;
}

.single-product .solar-product-description__content li {
    display: list-item;
    margin-bottom: 8px;
    padding-left: 4px;
    line-height: 1.75;
}

.single-product .solar-product-description__content ul > li {
    list-style: disc outside;
}

.single-product .solar-product-description__content ol > li {
    list-style: decimal outside;
}

/* Bảng thông số kỹ thuật sản phẩm */
.single-product .solar-product-specifications {
    clear: both;
    margin: 60px 0 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: start;
}

.single-product .solar-product-description + .solar-product-specifications {
    margin-top: 32px;
}

.single-product .solar-product-spec-table {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dfe6ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 52, 78, .06);
}

.single-product .solar-product-spec-table__title {
    margin: 0;
    padding: 13px 17px;
    border: 0;
    background: #0e4191;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.single-product .solar-product-spec-table__rows {
    margin: 0;
}

.single-product .solar-product-spec-table__row {
    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    border-top: 1px solid #e7ecf1;
}

.single-product .solar-product-spec-table__row:first-child {
    border-top: 0;
}

.single-product .solar-product-spec-table__row:nth-child(even) {
    background: #f8fafc;
}

.single-product .solar-product-spec-table dt,
.single-product .solar-product-spec-table dd {
    min-width: 0;
    margin: 0;
    padding: 11px 14px;
    color: #344252;
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.single-product .solar-product-spec-table dt {
    border-right: 1px solid #e7ecf1;
    color: #21364a;
    font-weight: 600;
}

.single-product .solar-product-spec-table dd {
    background: rgba(255, 255, 255, .45);
}

.single-product .summary .solar-product-spec-table.is-compact {
    margin: 22px 0 26px;
    border-color: #dce5e1;
    box-shadow: none;
}

.single-product .summary .solar-product-spec-table.is-compact .solar-product-spec-table__title {
    padding: 12px 16px;
    background: #eef8f3;
    color: #075f3f;
    font-size: 16px;
}

.single-product .summary .solar-product-spec-table.is-compact .solar-product-spec-table__row {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
}

.single-product .summary .solar-product-spec-table.is-compact dt,
.single-product .summary .solar-product-spec-table.is-compact dd {
    padding: 9px 12px;
    font-size: 15px;
}

@media (max-width: 768px) {
    .single-product .solar-product-specifications {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 28px;
    }

    .single-product .solar-product-spec-table__title {
        padding: 12px 14px;
        font-size: 16px;
    }

    .single-product .solar-product-spec-table dt,
    .single-product .solar-product-spec-table dd {
        padding: 10px 11px;
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    .single-product .solar-product-spec-table__row,
    .single-product .summary .solar-product-spec-table.is-compact .solar-product-spec-table__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-product .solar-product-spec-table dt {
        padding-bottom: 4px;
        border-right: 0;
        background: #f8fafc;
    }

    .single-product .solar-product-spec-table dd {
        padding-top: 4px;
    }
}

/* Popup báo giá dùng Fluent Forms trong widget "Toàn bộ - Nhận tư vấn". */
body.solar-modal-open {
    overflow: hidden;
}

.solar-quote-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    width: 100%;
    height: 100%;
    padding: 20px;
    align-items: center;
    justify-content: center;
}

.solar-quote-popup.is-open {
    display: flex;
}

.solar-quote-popup__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(5, 20, 40, 0.72);
    cursor: pointer;
}

.solar-quote-popup > .wrap {
    position: relative;
    z-index: 2;
    width: min(680px, 100%);
    max-height: calc(100vh - 40px);
    margin: 0;
    padding: 34px 36px 30px;
    overflow-y: auto;
    border-top: 5px solid #0e4191;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.solar-quote-popup__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #eef3f9;
    color: #142638;
    font-size: 28px;
    line-height: 36px;
    cursor: pointer;
}

.solar-quote-popup__close:hover {
    background: #0e4191;
    color: #fff;
}

.solar-quote-popup__title {
    margin: 0 42px 24px 0;
    color: #0e4191;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.solar-quote-popup .widget,
.solar-quote-popup .ff-el-group {
    margin-bottom: 14px;
}

.solar-quote-popup .widget:last-child,
.solar-quote-popup .ff-el-group:last-child {
    margin-bottom: 0;
}

.solar-quote-popup .ff-t-container {
    gap: 14px;
    margin: 0 0 10px !important;
}

.solar-quote-popup .ff-t-cell {
    padding: 0;
}

.solar-quote-popup .ff-el-form-control {
    width: 100% !important;
    min-height: 48px;
    padding: 11px 14px !important;
    border: 1px solid #d9e0e8 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #26384a !important;
    font-family: inherit !important;
    font-size: 15px !important;
}

.solar-quote-popup textarea.ff-el-form-control {
    min-height: 105px;
    resize: vertical;
}

.solar-quote-popup .ff-el-form-control:focus {
    border-color: #0e4191 !important;
    box-shadow: 0 0 0 2px rgba(14, 65, 145, 0.1) !important;
}

.solar-quote-popup .ff-btn-submit {
    min-height: 44px;
    padding: 10px 28px !important;
    border: 1px solid #0e4191 !important;
    border-radius: 25px !important;
    background: #0e4191 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
        font-family: "Manrope", sans-serif;
}

.solar-quote-popup .ff-btn-submit:hover {
    border-color: #092f6c !important;
    background: #092f6c !important;
}

.single-product .related.products,
.single-product .upsells.products {
    clear: both;
    padding-top: 48px;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
}

.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after,
.single-product .upsells.products ul.products::before,
.single-product .upsells.products ul.products::after {
    display: none !important;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
    margin-bottom: 28px;
    color: #142638;
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
}

.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img {
    width: 100%;
    height: 280px;
    padding: 0;
    border: 0;
    background: transparent;
    object-fit: cover;
}

/* Bài viết tin tức: typography dễ đọc, giữ H1/H2/H3 đúng cấu trúc SEO. */
.single-post .content-sidebar-wrap {
    gap: 38px;
    align-items: flex-start;
}

.single-post.content-sidebar .content {
    width: calc(100% - 350px);
}

.single-post .sidebar {
    width: 312px;
    flex: 0 0 312px;
}

.single-post .entry {
    color: #344252;
}

.single-post .entry-title {
    margin-bottom: 14px;
    color: #142638;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.35;
}

.single-post .entry-header .entry-meta {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e2e7ed;
    color: #73808c;
    font-size: 14px;
}

.single-post .entry-content {
    font-size: 17px;
    line-height: 1.85;
}

.single-post .entry-content p {
    margin-bottom: 20px;
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    color: #142638;
    font-weight: 700;
    line-height: 1.4;
}

.single-post .entry-content h2 {
    margin: 38px 0 16px;
    font-size: 28px;
}

.single-post .entry-content h3 {
    margin: 30px 0 14px;
    font-size: 23px;
}

.single-post .entry-content h4 {
    margin: 25px 0 12px;
    font-size: 19px;
}

.single-post .entry-content > img:first-child,
.single-post .entry-content .post-thumbnail {
    width: 100%;
    max-height: 560px;
    margin-bottom: 28px;
    border-radius: 8px;
    object-fit: cover;
}

.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.single-post .entry-content figcaption {
    margin-top: 8px;
    color: #7a8793;
    font-size: 13px;
    font-style: italic;
    text-align: center;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
    margin: 0 0 22px 24px;
}

.single-post .entry-content li {
    margin-bottom: 8px;
}

.single-post .entry-content blockquote {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 4px solid #0e4191;
    background: #f3f7fc;
    color: #2f4052;
    font-size: 18px;
    font-style: italic;
}

.single-post .entry-content table,
.single-product .solar-product-description table {
    width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
}

.single-post .entry-content th,
.single-post .entry-content td,
.single-product .solar-product-description th,
.single-product .solar-product-description td {
    min-width: 130px;
    padding: 12px 14px;
    border: 1px solid #dce3ea;
    text-align: left;
}

.single-post .entry-content th,
.single-product .solar-product-description th {
    background: #eef4fb;
    color: #18334f;
    font-weight: 700;
}

.single-post .entry-content a,
.single-product .solar-product-description a {
    color: #0e4191;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.single-post .entry-content iframe,
.single-post .entry-content video {
    max-width: 100%;
}

.fluentform .ff-el-is-error .text-danger {
    font-size: 16px !important;
    margin-top: 8px !important;
}

@media (max-width: 1024px) {
    .woocommerce-page .site-inner,
    .single-product .site-inner {
        width: 100%;
        padding-right: 20px;
        padding-left: 20px;
    }

    .post-type-archive-product.content-sidebar .content,
    .tax-product_cat.content-sidebar .content,
    .tax-product_tag.content-sidebar .content {
        width: calc(100% - 270px);
    }

    .post-type-archive-product .product-catalog-sidebar,
    .tax-product_cat .product-catalog-sidebar,
    .tax-product_tag .product-catalog-sidebar {
        width: 242px;
        flex-basis: 242px;
        margin-top: 195px;
    }

    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .fluentform .ff-el-is-error .text-danger {
    font-size: 15px !important;
    margin-top: 8px !important;
}
    .woocommerce ul.products li.product .product-card__cart-button, ul.products li.product .product-card__cart-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 14px !important;

}
    .single-product .solar-product-description {
    margin-top: 0px;
    padding-top: 20px;
}
    .woocommerce-page .site-inner{
        padding: 0px 15px 50px;
    }

    .tax-product_cat .site-inner,
    .tax-product_tag .site-inner {
        padding: 110px 15px 50px;
    }

    .single-product .site-inner {
        padding: 95px 15px 50px;
    }

    .post-type-archive-product .content-sidebar-wrap,
    .tax-product_cat .content-sidebar-wrap,
    .tax-product_tag .content-sidebar-wrap,
    .single-post .content-sidebar-wrap {
        flex-direction: column;
    }

    .post-type-archive-product.content-sidebar .content,
    .tax-product_cat.content-sidebar .content,
    .tax-product_tag.content-sidebar .content,
    .post-type-archive-product .product-catalog-sidebar,
    .tax-product_cat .product-catalog-sidebar,
    .tax-product_tag .product-catalog-sidebar,
    .single-post.content-sidebar .content,
    .single-post .sidebar {
        width: 100%;
        flex-basis: auto;
        margin-top: 0;
    }

    .post-type-archive-product.content-sidebar .content,
    .tax-product_cat.content-sidebar .content,
    .tax-product_tag.content-sidebar .content {
        order: 2;
    }

    .post-type-archive-product .product-catalog-sidebar,
    .tax-product_cat .product-catalog-sidebar,
    .tax-product_tag .product-catalog-sidebar {
        order: 1;
        clear: both;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        margin-bottom: 26px;
    }

    .product-catalog-sidebar .widget {
        margin: 0;
        padding: 18px 16px;
        border: 1px solid #e1e7ed;
        box-shadow: none;
    }

    .product-catalog-sidebar .widget-title {
        margin-bottom: 16px;
        padding-bottom: 10px;
        font-size: 17px;
    }

    .product-catalog-sidebar .widget-title::after {
        width: 42px;
        height: 2px;
    }

    .product-catalog-sidebar .product-category-list {
        display: flex;
        gap: 8px;
        padding-bottom: 3px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .product-catalog-sidebar .product-category-list::-webkit-scrollbar {
        display: none;
    }

    .product-catalog-sidebar .product-category-list li {
        flex: 0 0 auto;
        border: 0;
        scroll-snap-align: start;
    }

    .product-catalog-sidebar .product-category-list a {
        min-height: 40px;
        padding: 9px 12px;
        align-items: center;
        gap: 7px;
        border: 1px solid #d8e0e7;
        border-radius: 999px;
        background: #fff;
        font-size: 14px;
        white-space: nowrap;
    }

    .product-catalog-sidebar .product-category-list .current-cat a,
    .product-catalog-sidebar .product-category-list a:hover {
        border-color: #087d52;
        background: #eef8f3;
    }

    .product-catalog-sidebar .product-category-list small {
        font-size: 12px;
    }

    .product-catalog-sidebar .solar-price-filter-footer {
        margin-top: 12px;
    }

    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 14px;
    }

    .post-type-archive-product .woocommerce ul.products li.product img,
    .tax-product_cat .woocommerce ul.products li.product img,
    .tax-product_tag .woocommerce ul.products li.product img {
        height: 210px;
        padding: 18px;
    }

    .woocommerce .page-title,
    .single-product div.product .product_title,
    .single-post .entry-title {
        font-size: 28px;
    }

    .single-product div.product div.images,
    .single-product div.product div.summary {
        width: 100%;
        float: none;
    }

    .single-product div.product .summary {
        padding-left: 0;
    }

    .single-product div.product .woocommerce-product-gallery__image,
    .single-product div.product .woocommerce-product-gallery__image > a {
        height: 380px;
    }

    .single-product div.product .woocommerce-product-gallery__image img {
        padding: 0;
    }

    .single-product div.product .flex-control-thumbs img {
        height: 80px !important;
    }

    .woocommerce-cart .site-inner,
    .woocommerce-checkout .site-inner {
        width: 100%;
        max-width: none;
        padding: 100px 15px 50px;
    }

    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title,
    .woocommerce-page-heading {
        margin-bottom: 24px;
        font-size: 27px;
    }

    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-checkout form.checkout .col2-set,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        width: 100%;
        float: none;
    }

    .woocommerce-cart .cart-collaterals,
    .woocommerce-checkout #order_review_heading {
        margin-top: 28px;
    }

    .woocommerce-cart .cart_totals,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields {
        padding: 20px 16px;
    }

    .woocommerce-cart table.shop_table_responsive tr td,
    .woocommerce-cart table.shop_table_responsive tr th {
        padding: 12px;
    }

    .woocommerce-cart table.shop_table_responsive tr td::before {
        color: #142638;
        font-weight: 700;
    }

    .single-post .entry-content {
        font-size: 16px;
        line-height: 1.75;
    }

    .single-post .entry-content h2 {
        font-size: 24px;
    }

    .single-post .entry-content h3 {
        font-size: 21px;
    }
}

@media (max-width: 480px) {
	.woocommerce-cart table.cart td.actions .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions > .button {
		width: 100% !important;
	}

	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100%;
		float: none;
	}

    .single-product div.product .woocommerce-product-gallery__image,
    .single-product div.product .woocommerce-product-gallery__image > a {
        height: 300px;
    }

    .single-product div.product .woocommerce-product-gallery__image img {
        padding: 0;
    }

    .single-product div.product .flex-control-thumbs {
        gap: 8px;
    }

    .single-product div.product .flex-control-thumbs li {
        width: calc((100% - 24px) / 4) !important;
        min-width: calc((100% - 24px) / 4);
        flex-basis: calc((100% - 24px) / 4);
    }

    .single-product div.product .flex-control-thumbs img {
        height: 80px !important;
        padding: 0;
    }

    .single-product .solar-product-action {
        width: 100%;
        flex: 1 1 100%;
    }

    .single-product .solar-product-cart {
        display: flex !important;
        flex-flow: row wrap !important;
        gap: 10px;
    }

    .single-product .solar-product-cart::before,
    .single-product .solar-product-cart::after {
        content: none !important;
        display: none !important;
    }

    .single-product .solar-product-cart .solar-product-action {
        width: calc((100% - 10px) / 2) !important;
        min-width: 0 !important;
        max-width: calc((100% - 10px) / 2) !important;
        padding-right: 8px;
        padding-left: 8px;
        flex: 0 0 calc((100% - 10px) / 2) !important;
        font-size: 14px;
        white-space: nowrap;
    }

    .single-product .woocommerce-message {
        padding: 14px 14px 14px 50px;
        flex-wrap: wrap;
        gap: 10px;
        font-size: 15px;
    }

    .single-product .woocommerce-message::before {
        left: 12px;
    }

    .single-product .woocommerce-message .solar-cart-message-text,
    .single-product .woocommerce-message .button.wc-forward {
        width: 100%;
        flex-basis: 100%;
    }

    .solar-quote-popup {
        padding: 12px;
    }

    .solar-quote-popup > .wrap {
        max-height: calc(100vh - 24px);
        padding: 28px 18px 22px;
        border-radius: 7px;
    }

    .solar-quote-popup__title {
        margin-right: 35px;
        font-size: 21px;
    }

    .solar-quote-popup .ff-t-container {
        display: block;
    }

    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
    }

    .post-type-archive-product .woocommerce ul.products li.product img,
    .tax-product_cat .woocommerce ul.products li.product img,
    .tax-product_tag .woocommerce ul.products li.product img {
        height: 170px;
        padding: 12px;
    }

    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
    }

    .single-product .related.products ul.products::before,
    .single-product .related.products ul.products::after,
    .single-product .upsells.products ul.products::before,
    .single-product .upsells.products ul.products::after {
        display: none !important;
    }

    .single-product .related.products ul.products li.product,
    .single-product .upsells.products ul.products li.product {
        width: auto !important;
        margin: 0 !important;
        float: none !important;
    }

    .single-product .related.products ul.products li.product img,
    .single-product .upsells.products ul.products li.product img {
        height: 170px;
        padding: 12px;
    }
}

/* Trang chủ - cố định khung ảnh section Giới thiệu, tránh ảnh gốc phá vỡ flex layout. */
.page-template-page-trangchu .home-about {
    padding: 80px 15px;
    overflow: hidden;
}

.page-template-page-trangchu .home-about > .wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}

.page-template-page-trangchu .home-about > .wrap > img {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 420px;
    margin: 0;
    border-radius: 8px;
    object-fit: cover;
    object-position: center;
}

.page-template-page-trangchu .home-about-content {
    width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.page-template-page-trangchu .home-about > .wrap > .home-about-content:only-child {
    grid-column: 1 / -1;
}

@media (max-width: 1024px) {
    .page-template-page-trangchu .home-about > .wrap {
        gap: 32px;
    }

    .page-template-page-trangchu .home-about > .wrap > img {
        height: 350px;
    }
}

@media (max-width: 768px) {
    .page-template-page-trangchu .home-about {
        padding: 45px 15px;
    }

    .page-template-page-trangchu .home-about > .wrap {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .page-template-page-trangchu .home-about > .wrap > img {
        height: 280px !important;
    }
}

@media (max-width: 480px) {
    .page-template-page-trangchu .home-about > .wrap > img {
        height: 230px !important;
    }
}

/* Card sản phẩm dùng chung cho trang chủ và kho sản phẩm WooCommerce. */
.home-featured-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    margin: 0 !important;
}

.home-featured-products ul.products::before,
.home-featured-products ul.products::after {
    display: none !important;
}

.home-featured-products ul.products li.product,
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
    width: auto !important;
    height: 100%;
    margin: 0 !important;
    padding: 0;
    float: none !important;
    overflow: hidden;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20, 49, 76, 0.07);
}

.product-card__inner {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.product-card__thumb {
    position: relative;
    flex: 0 0 auto;
    overflow: hidden;
    background: #f5f8fb;
}

.product-card__thumb .woocommerce-LoopProduct-link {
    display: block !important;
    height: auto !important;
}

.home-featured-products ul.products li.product .product-card__thumb img,
.post-type-archive-product .content ul.products li.product .product-card__thumb img,
.tax-product_cat .content ul.products li.product .product-card__thumb img,
.tax-product_tag .content ul.products li.product .product-card__thumb img {
    display: block;
    width: 100%;
    height: 280px;
    margin: 0 !important;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    object-fit: cover;
    transition: transform .28s ease;
}

.home-featured-products ul.products li.product:hover .product-card__thumb img,
.post-type-archive-product ul.products li.product:hover .product-card__thumb img,
.tax-product_cat ul.products li.product:hover .product-card__thumb img,
.tax-product_tag ul.products li.product:hover .product-card__thumb img {
    transform: scale(1.025);
    box-shadow: none;
}

.product-card__content {
    display: flex;
    flex: 1 1 auto;
    padding: 18px 18px 20px;
    flex-direction: column;
}

.product-card__meta {
    margin-top: auto;
    padding-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-card__title {
    margin: 0;
}

.home-featured-products ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    color: #142638;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-featured-products ul.products li.product .price,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price {
    margin: 0;
    color: #087d52 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35;
}

.woocommerce ul.products li.product .product-card__cart-button,
ul.products li.product .product-card__cart-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #0e4191;
    color: #fff;
    /* box-shadow: 0 5px 14px rgba(14, 65, 145, .18); */
    font-size: 16px;
    line-height: 1;
    transition: background-color .2s ease, transform .2s ease;
}

ul.products li.product .product-card__meta > .added_to_cart {
    display: none !important;
}

/* Một kiểu card dùng chung ở trang chủ, danh mục và sản phẩm liên quan. */
ul.products li.product.product-card {
    width: auto !important;
    height: 100%;
    margin: 0 !important;
    padding: 0;
    float: none !important;
    overflow: hidden;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20, 49, 76, .07);
}

ul.products li.product.product-card .product-card__thumb img,
.single-product .related.products ul.products li.product.product-card .product-card__thumb img,
.single-product .upsells.products ul.products li.product.product-card .product-card__thumb img {
    display: block;
    width: 100%;
    height: 280px;
    margin: 0 !important;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    object-fit: cover;
}

ul.products li.product.product-card .woocommerce-loop-product__title {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #142638;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.45;
}

ul.products li.product.product-card .price {
    margin: 0;
    color: #087d52 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35;
}

ul.products li.product .product-card__cart-button:hover,
ul.products li.product .product-card__cart-button:focus {
    background: #087d52;
    color: #fff;
    transform: translateY(-2px);
}

ul.products li.product .product-card__cart-button.added::after {
    margin: 0 0 0 4px;
    font-size: 11px;
}

.home-featured-products ul.products li.product .price ins,
.post-type-archive-product ul.products li.product .price ins,
.tax-product_cat ul.products li.product .price ins,
.tax-product_tag ul.products li.product .price ins {
    color: #087d52 !important;
}

.product-card__badge,
.product-card__desc {
    display: none !important;
}


:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled[disabled]
{
    color:#fff !important;
}
@media (max-width: 1024px) {
    .home-featured-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .home-featured-products ul.products li.product .product-card__thumb img,
    .post-type-archive-product .content ul.products li.product .product-card__thumb img,
    .tax-product_cat .content ul.products li.product .product-card__thumb img,
    .tax-product_tag .content ul.products li.product .product-card__thumb img {
        height: 245px;
    }

    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .single-product .related.products ul.products li.product.product-card .product-card__thumb img,
    .single-product .upsells.products ul.products li.product.product-card .product-card__thumb img {
        height: 245px;
        padding: 0;
    }
}

@media (max-width: 768px) {
   .single-product .related.products > h2, .single-product .upsells.products > h2 {
    margin-bottom: 16px !important;
    font-size: 24px !important;
}

.single-product .solar-product-description > h2 {
    font-size: 22px !important;
}

    .home-featured-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 14px;
    }

    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 14px;
    }

    .product-card__content {
        padding: 14px 14px 17px;
    }

    .home-featured-products ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    .tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        height: auto !important;
        min-height: 0 !important;
        font-size: 16px !important;
    }

    .home-featured-products ul.products li.product .price,
    .post-type-archive-product ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    .tax-product_tag ul.products li.product .price {
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    .home-featured-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
    }

    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        gap: 18px 10px;
    }

    .home-featured-products ul.products li.product .product-card__thumb img,
    .post-type-archive-product .content ul.products li.product .product-card__thumb img,
    .tax-product_cat .content ul.products li.product .product-card__thumb img,
    .tax-product_tag .content ul.products li.product .product-card__thumb img {
        height: 170px;
        padding: 0;
    }

    .single-product .related.products ul.products li.product.product-card .product-card__thumb img,
    .single-product .upsells.products ul.products li.product.product-card .product-card__thumb img {
        height: 170px;
        padding: 0;
    }

    ul.products li.product .product-card__cart-button {
        width: 38px;
        min-width: 38px;
        height: 38px;
        min-height: 38px;
    }

    .home-featured-products .product-card__content {
        min-width: 0;
        padding: 12px 10px 14px;
    }

    .single-product .related.products .product-card__content,
    .single-product .upsells.products .product-card__content {
        min-width: 0;
        padding: 12px 10px 14px;
    }

    .home-featured-products .product-card__meta {
        min-width: 0;
        gap: 5px;
    }

    .single-product .related.products .product-card__meta,
    .single-product .upsells.products .product-card__meta {
        min-width: 0;
        gap: 5px;
    }

    .home-featured-products ul.products li.product .price {
        min-width: 0;
        font-size: 15px !important;
        white-space: nowrap;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .upsells.products ul.products li.product .price {
        min-width: 0;
        font-size: 15px !important;
        white-space: nowrap;
    }

    .home-featured-products ul.products li.product .product-card__cart-button {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        font-size: 14px;
    }

    .single-product .related.products ul.products li.product .product-card__cart-button,
    .single-product .upsells.products ul.products li.product .product-card__cart-button {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        font-size: 14px;
    }
}

@media (max-width: 360px) {
    .home-featured-products ul.products {
        gap: 16px 8px;
    }

    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        gap: 16px 8px;
    }

    .home-featured-products .product-card__content {
        padding-right: 8px;
        padding-left: 8px;
    }

    .single-product .related.products .product-card__content,
    .single-product .upsells.products .product-card__content {
        padding-right: 8px;
        padding-left: 8px;
    }

    .home-featured-products .product-card__meta {
        gap: 3px;
    }

    .single-product .related.products .product-card__meta,
    .single-product .upsells.products .product-card__meta {
        gap: 3px;
    }

    .home-featured-products ul.products li.product .price {
        font-size: 14px !important;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .upsells.products ul.products li.product .price {
        font-size: 14px !important;
    }

    .home-featured-products ul.products li.product .product-card__cart-button {
        width: 30px;
        min-width: 30px;
        height: 30px;
        min-height: 30px;
        font-size: 13px;
    }

    .single-product .related.products ul.products li.product .product-card__cart-button,
    .single-product .upsells.products ul.products li.product .product-card__cart-button {
        width: 30px;
        min-width: 30px;
        height: 30px;
        min-height: 30px;
        font-size: 13px;
    }
}

/* Trang sản phẩm: luôn đúng 3 cột trên desktop, kể cả khi chỉ có một sản phẩm. */
@media (min-width: 1025px) {
    .post-type-archive-product .content ul.products,
    .tax-product_cat .content ul.products,
    .tax-product_tag .content ul.products {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 38px 24px;
    }
}

/* Footer ba widget: giới thiệu, liên kết và thông tin liên hệ. */
.before_footer {
    padding: 58px 15px 46px;
    background: #0e4191;
}

.before_footer .wrap-section {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(190px, .7fr) minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}

.before_footer .wrap-section > section,
.before_footer .wrap-section > section:nth-child(1),
.before_footer .wrap-section > section:nth-child(2),
.before_footer .wrap-section > section:nth-child(3) {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    flex: none;
}

.before_footer .widget:first-child .widgettitle {
    margin: 0 0 20px;
    padding: 0 0 13px;
    background: none;
}

.before_footer .widgettitle {
    margin: 0 0 20px;
    /* padding-bottom: 13px; */
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.before_footer .widgettitle::after {
    bottom: 0;
    width: 48px;
    height: 3px;
    background: rgba(255, 255, 255, .9);
}

.before_footer .footer-brand img,
.before_footer .wrap-section > section:first-child img {
    width: 205px;
    max-width: 100%;
    height: auto;
    margin: 0 0 18px;
    padding: 10px;
    border-radius: 6px;
    background: #fff;
}

.before_footer p,
.before_footer a,
.before_footer li {
    color: rgba(255, 255, 255, .92);
    font-size: 16px;
    line-height: 1.7;
}

.before_footer p:last-child {
    margin-bottom: 0;
}

.before_footer .footer-links,
.before_footer .footer-contact {
    display: grid;
    margin: 0;
    gap: 2px;
}

.before_footer .footer-links li,
.before_footer .footer-contact li,
.before_footer .widget:first-child ul li {
    display: flex;
    margin: 0;
    padding: 7px 0;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

/* .before_footer .footer-links li:last-child,
.before_footer .footer-contact li:last-child {
    border-bottom: 0;
} */

.before_footer .footer-links a {
    position: relative;
    padding-left: 20px;
}

.before_footer .footer-links a::before {
    content: "›";
    position: absolute;
    top: -4px;
    left: 0;
    font-size: 20px;
}

.before_footer a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.before_footer .footer-contact i {
    width: 18px;
    margin-top: 5px;
    flex: 0 0 18px;
    color: #fff;
    text-align: center;
}

.site-footer {
    padding: 13px 15px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    background: #0e4191;
}

.site-footer .wrap {
    padding-top: 0;
    border-top: 0;
}

.site-footer p {
    margin: 0;
    font-size: 15px;
}

@media (max-width: 900px) {
    .before_footer .wrap-section {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 38px;
    }

    .before_footer .wrap-section > section:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .before_footer {
        padding: 42px 15px 32px;
    }

    .before_footer .wrap-section {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .before_footer .wrap-section > section:first-child {
        grid-column: auto;
    }
}

@media (min-width: 481px) and (max-width: 1024px) {
    .post-type-archive-product .content ul.products,
    .tax-product_cat .content ul.products,
    .tax-product_tag .content ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 18px;
    }
}

@media (max-width: 480px) {
    .post-type-archive-product .content ul.products,
    .tax-product_cat .content ul.products,
    .tax-product_tag .content ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 18px 10px;
    }

    .post-type-archive-product .content ul.products > li.product,
    .tax-product_cat .content ul.products > li.product,
    .tax-product_tag .content ul.products > li.product {
        grid-row: auto !important;
        clear: none !important;
        justify-self: stretch !important;
    }

    .post-type-archive-product .content ul.products > li.product:nth-of-type(odd),
    .tax-product_cat .content ul.products > li.product:nth-of-type(odd),
    .tax-product_tag .content ul.products > li.product:nth-of-type(odd) {
        grid-column: 1 !important;
    }

    .post-type-archive-product .content ul.products > li.product:nth-of-type(even),
    .tax-product_cat .content ul.products > li.product:nth-of-type(even),
    .tax-product_tag .content ul.products > li.product:nth-of-type(even) {
        grid-column: 2 !important;
    }

    .post-type-archive-product .product-card__content,
    .tax-product_cat .product-card__content,
    .tax-product_tag .product-card__content {
        padding: 12px 10px 14px;
    }

    .post-type-archive-product .product-card__meta,
    .tax-product_cat .product-card__meta,
    .tax-product_tag .product-card__meta {
        gap: 8px;
    }

    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    .tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        font-size: 15px !important;
    }

    .post-type-archive-product ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    .tax-product_tag ul.products li.product .price {
        font-size: 16px !important;
    }
}

/* Kho sản phẩm: card bám trái và sidebar bắt đầu dưới tiêu đề trang. */
/* Mobile header: keep the complete logo inside the viewport. */
@media (max-width: 768px) {
    .site-header > .wrap > .title-area {
        width: 160px;
        height: 70px;
        margin: 0;
        flex: 0 0 160px;
        overflow: visible;
    }

    .site-header .site-title,
    .site-header .site-title a,
    .site-header .site-title a:hover {
        height: 70px;
    }

    .site-header .site-title a,
    .site-header .site-title a:hover {
        margin: 0 !important;
        background-position: left center;
        background-size: 140px auto;
    }
}

@media (min-width: 769px) {


    .post-type-archive-product .content-sidebar-wrap,
    .tax-product_cat .content-sidebar-wrap,
    .tax-product_tag .content-sidebar-wrap {
        display: grid;
        grid-template-columns: 300px minmax(0, 1fr);
        gap: 24px;
        align-items: start;
    }

    .post-type-archive-product.content-sidebar .content,
    .tax-product_cat.content-sidebar .content,
    .tax-product_tag.content-sidebar .content {
        grid-column: 2;
        grid-row: 1;
        width: auto !important;
        min-width: 0;
    }

    .post-type-archive-product .content-sidebar-wrap > .sidebar-primary,
    .tax-product_cat .content-sidebar-wrap > .sidebar-primary,
    .tax-product_tag .content-sidebar-wrap > .sidebar-primary {
        grid-column: 1;
        grid-row: 1;
        display: block;
        width: auto;
        min-width: 0;
        /* padding-top: 105px; */
    }

    .post-type-archive-product .product-catalog-sidebar,
    .tax-product_cat .product-catalog-sidebar,
    .tax-product_tag .product-catalog-sidebar {
        display: block;
        width: 100%;
        margin-top: 0;
        flex: none;
    }

    .post-type-archive-product .content ul.products,
    .tax-product_cat .content ul.products,
    .tax-product_tag .content ul.products {
        width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
        justify-content: start;
        justify-items: stretch;
    }

    .post-type-archive-product .content ul.products::before,
    .post-type-archive-product .content ul.products::after,
    .tax-product_cat .content ul.products::before,
    .tax-product_cat .content ul.products::after,
    .tax-product_tag .content ul.products::before,
    .tax-product_tag .content ul.products::after {
        content: none !important;
        display: none !important;
    }

    .post-type-archive-product .content ul.products > li.product,
    .tax-product_cat .content ul.products > li.product,
    .tax-product_tag .content ul.products > li.product {
        margin-right: 0 !important;
        margin-left: 0 !important;
        grid-column: auto;
        justify-self: stretch;
    }

    .post-type-archive-product .content ul.products > li.product:first-of-type,
    .tax-product_cat .content ul.products > li.product:first-of-type,
    .tax-product_tag .content ul.products > li.product:first-of-type {
        grid-column-start: 1 !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .post-type-archive-product .content-sidebar-wrap,
    .tax-product_cat .content-sidebar-wrap,
    .tax-product_tag .content-sidebar-wrap {
        grid-template-columns: 250px minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .post-type-archive-product .content-sidebar-wrap > .sidebar-primary,
    .tax-product_cat .content-sidebar-wrap > .sidebar-primary,
    .tax-product_tag .content-sidebar-wrap > .sidebar-primary {
        width: 100%;
        padding-top: 0;
    }
}
