/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.18.2
*/

/* Cleaned and consolidated: 2026-08-11 */
h1,h2,h3,h4,h5,h6{text-wrap:wrap;}
/*************** ADD CUSTOM CSS HERE.   ***************/

:root {
    --color-black: #000000;
    --color-white: #ffffff;
    --color-grey: #cccccc;
    --FontAwesome: 'Font Awesome 5 Free';
    --font-html-size: 62.5%;
    --container-width: 129rem;
}

html {
    font-size: var(--font-html-size);
}
body {
    font-size: 1.6rem !important;
    font-family: 'Helvetica', sans-serif !important;
}

b, strong {
    font-weight: bold;
}


.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item>a, .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item>label>a {
     pointer-events: none; 
}

.wpcf7-form.submitting .button  {
    pointer-events: none;
    box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .2);
}

.wpcf7-form.submitting .button:after {
 content:'';
  border: 4px solid #f3f3f3; /* Light grey */
  border-top: 4px solid var(--fs-color-secondary); /* Blue */
  border-radius: 50%;
  display:block;
      position: absolute;
    top: 50%;
    left: 50%;
  width: 28px;
  height: 28px;
  animation: spin 2s linear infinite;
}


h1, h2, h3, h4, h5, h6, .heading-font {
	    white-space: normal;
}


@keyframes spin {
  0% { 
      transform: translate(-50%, -50%) rotate(0deg); 
      
  }
  100% { 
      transform: translate(-50%, -50%) rotate(360deg);
  }
}


.dark,
.dark p,
.dark td {
    color: var(--color-white);
}

.swal2-popup {
    font-size: 1em !important;
}

h2 {
    font-size: 2.4rem;
}

p {
    margin-bottom: 1.5rem;
}

.col-child-left > .col-inner {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.col-child-right > .col-inner {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.col-child-center > .col-inner {
    margin-left: auto !important;
    margin-right: auto !important;
}

.page-title-container .page-title {
    padding-left: 3.6rem;
    font-size: 2.8rem;
    color: var(--fs-color-primary);
    background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50%/ 2.6rem auto;
}

.section-heading-title {
    font-size: 2.8rem;
    color: var(--fs-color-primary);
}

.section-heading-title span {
    position: relative;
}

.section-heading-title span:before {
    content: '';
    display: inline-block;
    width: 4.2rem;
    height: 2rem;
    background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50%/ 2.6rem auto;
}

.section-heading-title span:after {
    content: '';
    display: inline-block;
    width: 4.2rem;
    height: 2rem;
    background: url(/wp-content/uploads/2024/07/Title-decor-right.png) no-repeat 100% 50%/ 2.6rem auto;
}

.section-heading-title.decor-left span:after {
    content: unset;
}

.rank-math-breadcrumb {
    font-size: 1.4rem;
}

.rank-math-breadcrumb a {
    color: var(--color-black);
}

.rank-math-breadcrumb a:hover {
    color: var(--fs-color-primary);
}

.rank-math-breadcrumb .last {
    font-weight: 400;
}

.button {
    font-size: 1em;
}


.button.primary{
    background-color: #2060CF 
}

.float-contact {
    position:fixed;
    right:0;
    bottom:15rem;
    z-index:1000;
}

.float-contact a {
    background-color:var(--color-white);
    padding:.6rem ;
    border-radius: 1rem 0 0 1rem;
    width: 7.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:1rem;
}

.float-contact a:hover {
    box-shadow: 0 0 10rem 0 rgb(0 0 0 / 10%) inset;
}

.float-contact a.customer-contact{
    background-color:#0184CB;
}

.float-contact a.support-contact{
    background-color:var(--fs-color-secondary);
}
.flickity-button {
    width: 5.2rem;
}

.flickity-button .flickity-button-icon {
    padding: 30%;
}

.flickity-button.flickity-prev-next-button.previous {
    left: 0;
}

.flickity-button.flickity-prev-next-button.next {
    right: 0;
}

.slider-nav-circle .flickity-button .flickity-button-icon {
    background-color: var(--fs-color-primary);
    border: none;
}

.flickity-page-dots .dot {
    width: 1.4rem !important;
    height: 1.4rem !important;
    border-radius: 0;
    background: transparent url(/wp-content/uploads/2024/07/Dot.png) no-repeat center/cover;
    opacity: 1 !important;
    background-color: transparent !important;
    margin: 0 1rem;
    border: none;
}

.flickity-page-dots .dot.is-selected {
    background: transparent url(/wp-content/uploads/2024/07/DotActive.png) no-repeat center/cover;
}

.box-blog-post:not(.box-vertical) {
    box-shadow: 0px 0.4rem 2.5rem 0px #00000026;
}

.box-blog-post:not(.box-vertical) .box-text {
    padding: 2rem 3rem;
}

.box-blog-post:not(.box-vertical) .box-text .post-tag {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    min-width: 50px;
    text-align: center;
    height: 20px;
    font-size: 12px;
    margin-top: -20px;
    background-color: rgb(255 255 255 / 80%);
    font-weight: bold;
    margin-bottom: 0;
    padding: 2px 4px;
    border-radius: 6px 0 0 0;
    color: var(--fs-color-primary);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.box-blog-post .box-text .post-title a {
    font-size: 1.6rem;
    line-height: 1.5;
    min-height: 4.8rem;
    margin-bottom: 1.2rem;
    white-space: pre-wrap;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.box-blog-post .box-text .post-meta {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
}

.box-blog-post .box-text .post-meta::before {
    content: '\f133';
    font-family: var(--FontAwesome);
    font-weight: 400;
    color: var(--fs-color-secondary);
    margin-right: 0.5rem;
}

.box-blog-post .is-divider {
    display: none;
}

.box-blog-post .from_the_blog_excerpt {
    font-size: 1.4rem;
    min-height: 6.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*************** FOOTER  ***************/
#footer {
    padding-top: 7.5rem;
}
.footer-top-row p,
.footer-top-row td,
.footer-top-row a {
    opacity: 0.5;
}

#footer .footer-block-title {
    margin-bottom: 3rem;
}

#footer .icon-box {
    margin-bottom: 2rem;
}

#footer .icon-box:last-child {
    margin-bottom: 0;
}

#footer .follow-icons a {
    color: var(--fs-color-secondary);
    opacity: 1;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

#footer .absolute-footer {
    display: none;
}

#footer:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc((100% - var(--container-width)) / 2);
    height: 11.4rem;
    background-color: #003ea8;
}

#footer .footer-bottom-row > .col > .col-inner {
    height: 11.4rem;
    display: flex;
    align-items: center;
}

#footer .footer-bottom-row .left-col > .col-inner {
    position: relative;
    max-width: 48rem;
}



#footer .footer-bottom-row .left-col > .col-inner:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 11.4rem;
    right: 0;
    background: url(/wp-content/uploads/2024/07/Line.png) no-repeat bottom right/cover;
    z-index: -1;
}

#footer .footer-bottom-row p {
    margin-bottom: 0;
}



#footer .footer-bottom-row .logo-col .img {
    width:  auto;
    margin-bottom: 0;
}

#footer .newsletter-row {
    margin-top: -7.5rem;
}
#footer .newsletter-row form {
    margin: 0;
    max-width: 70rem;
}

#footer .newsletter-row form input {
    height: 5rem;
    position: relative;
    border: none;
    box-shadow: none;
}

#footer .newsletter-row form button {
    position: relative;
    height: 5rem;
    background-color: var(--fs-color-secondary);
    color: #333;
    text-transform: initial;
    border: none;
    box-shadow: none;
    margin: 0;
}

#footer .newsletter-row .flex-col {
    position: relative;
    padding: 0 2.4rem;
}

#footer .newsletter-row .flex-col::before {
    content: '';
    display: inline-block;
    width: 2.4rem;
    background-color: var(--color-white);
    position: absolute;
    left: 1px;
    top: -1px;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    bottom: 0;
}

#footer .newsletter-row .flex-col::after {
    content: '';
    display: inline-block;
    width: 2.4rem;
    height: 5rem;
    background-color: var(--color-white);
    position: absolute;
    right: 1px;
    top: 0;
    clip-path: polygon(100% 0, 0 0, 0 100%);
}

#footer .newsletter-row > .col > .col-inner::before {
    content: '';
    display: inline-block;
    width: 8rem;
    height: 15rem;
    background-color: rgb(6, 56, 146);
    position: absolute;
    left: -7.95rem;
    top: 0;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

#footer .newsletter-row .flex-col.button-col {
    margin-left: -1.6rem;
}

#footer .newsletter-row .flex-col.button-col::before,
#footer .newsletter-row .flex-col.button-col::after {
    background-color: var(--fs-color-secondary);
}

/*************** END FOOTER ***************/

/*************** HEADER ***************/
#masthead::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc((101% - var(--container-width)) / 2);
    height: 10rem;
    background-color: var(--color-white);
    min-width: 10rem;
}

#masthead #logo {
    display: flex;
    align-items: center;
    height: 100%;
    background: #fff;
    position: relative;
    margin-right: 10rem;
}

#masthead #logo::after {
    content: '';
    position: absolute;
    right: 1px;
    top: -1px;
    display: block;
    bottom: 0;
    width: 6.4rem;
    background: #fff;
    clip-path: polygon(100% 100%, 0 0, 0 100%);
    transform: translateX(100%);
}

#masthead .searchform input,
#masthead .searchform button {
    height: 3.5rem;
    box-shadow: none;
    border: none;
}

#masthead .searchform input {
    border-radius: 0.5rem 0 0 0.5rem;
}

#masthead .searchform button {
    width: 4.8rem;
    background-color: #3379f3 !important;
    border-radius: 0 0.5rem 0.5rem 0;
}

#masthead .nav-right {
    flex-wrap: nowrap;
    padding-left: 3rem;
}

.header-contact-row {
    width: max-content;
}

.header-contact-row .col-inner {
    display: flex;
    align-items: center;
}

.header-contact-row .col-inner .icon-box {
    width: max-content;
    padding-right: 3rem;
    margin-right: 3rem;
    border-right: 1px solid #7290dc;
}

.header-contact-row .col-inner .icon-box:last-child {
    padding-right: 0rem;
    margin-right: 0rem;
    border-right: none;
}

.header-contact-row .col-inner .icon-box .icon-box-text {
    align-self: center;
    padding-left: 1rem;
    font-size: 1.4rem;
    color: var(--color-white);
    line-height: 2;
}


.nav-icon a,
#masthead .button.icon.account-link,
#masthead .button.icon.nav-top-not-logged-in,
#masthead .button.icon.header-cart-link {
    background-color: #085ae8 !important;
    border: none;
    width: 4.4rem;
    height: 4.4rem;
    display: grid;
    place-content: center;
}
.nav-icon a i {
    color: var(--color-white);
}

.off-canvas-left .mfp-content, .off-canvas-right .mfp-content {
    background-color: hsla(0, 0%, 100%,1);
    transition: transform .3s;
}

.mobile-sidebar .searchform input
 {
    box-shadow: none;
    min-height: 4.6rem;
}

.mobile-sidebar .searchform button
 {
    box-shadow: none;
    min-height: 4.6rem;
    min-width: 4.6rem;
}

.mobile-sidebar  .nav  li a 
 {
    font-size: 1.5rem;
    color: var(--color-black);
    font-weight: 400;
}

.mobile-sidebar  .nav  li.current-menu-item a, 
.mobile-sidebar  .nav  li a:hover
 {
    color: var(--fs-color-primary)
}


#masthead .button.icon.account-link:hover,
#masthead .button.icon.nav-top-not-logged-in:hover,
#masthead .button.icon.header-cart-link:hover {
    background-color: #2170f8 !important;
}

#masthead .button.icon.account-link .icon-user,
#masthead .button.icon.nav-top-not-logged-in .icon-user{
    width: 2rem;
    height: 2rem;
}

#masthead .button.icon.header-cart-link .icon-shopping-cart {
    width: 2.2rem;
    height: 2.2rem;
}
#masthead .button.icon.account-link .icon-user::before,
#masthead .button.icon.nav-top-not-logged-in .icon-user::before  {
    content: '';
    position: absolute;
    inset: 0;
    background: url(/wp-content/uploads/2024/07/Vector.png) no-repeat center/contain ;
}

.mfp-ready .mfp-close {
    opacity: 1;
    mix-blend-mode: normal;
}

#masthead .button.icon.header-cart-link .icon-shopping-cart::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url(/wp-content/uploads/2024/07/cart-1.png) no-repeat center/contain;
}

#wide-nav .nav > li {
    margin: 0 2.5rem;
}
#wide-nav .nav li a {
    font-size: 1.5rem;
    color: var(--color-black) !important;
}



/*************** END  HEADER ***************/

/*************** HOME PAGE ***************/
.home-slider .banner .container {
    max-width: 100%;
}

.home-slider .banner h3 {
    font-size: 5rem;
    font-weight: bold;
}

.home-slider .banner h4 {
    font-size: 2.8rem;
    font-weight: 400;
}

.home-slider .banner .button {
    height: 5rem;
    line-height: 5rem;
    padding: 0 3.5rem;
    margin-top: 3rem;
}

.image-18-years {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.home-slider .flickity-button.flickity-prev-next-button.previous {
    transform: translateX(0rem) !important;
    background: url(./assets/images/previous-btn.png) no-repeat center/cover;
    width: 3.3rem;
    height: 6.1rem;
    left: 3rem;
}

.home-slider .flickity-button.flickity-prev-next-button.next {
    transform: translateX(0rem) !important;
    background: url(./assets/images/next-btn.png) no-repeat center/cover;
    width: 3.3rem;
    height: 6.1rem;
    right: 3rem;
}

.home-slider .flickity-button.flickity-prev-next-button .flickity-button-icon {
    display: none;
}

.section-title-normal {
    border: none;
    width: auto;
    display: inline-block;
}

.section-title-normal span {
    padding-left: 3.6rem;
    font-size: 2.8rem;
    color: var(--fs-color-primary);
    background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2.6rem auto;
    border: none;
    margin: 0;
    padding-bottom: 0;
    text-transform: inherit;
}
.color-white .section-title-normal * {
    color: var(--color-white);
}

.section-title-normal a {
    width: auto;
    display: inline-block;
    font-size: 1.4rem;
    margin-left: 2rem;
}

.section-title-normal a .icon-angle-right {
    opacity: 1;
    font-size: 1.6rem;
}

.section-title-normal a .icon-angle-right::before {
    content: '\f0da';
    font-family: var(--FontAwesome);
    font-weight: bold;
    color: #e81f30;
}

.products-block-section .product-small.col > .col-inner {
    border-right: 1px solid #d9d9d9;
    margin-right: 0.5px;
    background-color: var(--color-white);
    transition: all 0.3s;
       padding: 0.3rem;
}

.products-block-section .product-small.col > .col-inner:hover {
      box-shadow: 0 0 0rem .3rem #1D2088 inset;
 
}

.products-block-section .row-slider .flickity-button {
    height: max-content;
    top: 0;
    opacity: 1;
    display: block;
    margin-top: -7.2rem !important;
    height: 4rem;
    width: 4rem;
        box-shadow: none;
}

.products-block-section .row-slider .flickity-button.previous {
    transform: translateX(0rem) !important;
    left: auto !important;
    right: 5rem !important;

}


.slider-nav-push.slider-nav-reveal .flickity-prev-next-button svg {
    margin-top: 0px;
}

.products-block-section .row-slider .flickity-button.next {
    transform: translateX(0rem) !important;
    left: auto;
    right: 0;
}

.products-block-section .row-slider .flickity-button .flickity-button-icon {
    border-radius: 0;
    background-color: var(--color-white);
    border: 1px solid #d1d1d1;
}

.products-block-section .row-slider .flickity-button:hover .flickity-button-icon {
    background-color: var(--fs-color-secondary);
}

.products-block-section .slider-nav-circle .flickity-prev-next-button:hover .arrow,
.products-block-section .slider-nav-circle .flickity-prev-next-button:hover svg {
    fill: var(--color-black) !important;
}

.products-tab-section .tabbed-content .nav {
    max-width: 1290px;
    margin: 0 auto;
    justify-content: space-between;
    gap: 1rem;

    flex-wrap: nowrap;
    overflow: auto;
    padding-bottom: 3rem;
    scrollbar-width: thin;
}

.products-tab-section .tabbed-content .nav .tab {
    flex: 1;
}

.products-tab-section .tabbed-content .nav .tab a {
    font-size: 1.6rem;
    color: var(--color-black);
    border-radius: 0;
    padding: 1.5rem 2rem;
    border: 1px solid #cbcbcb;
    width: 100%;
    display: block;
    text-align: center;
    white-space: nowrap;
}

.products-tab-section .tabbed-content .nav .tab a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    border-top: 12px solid transparent;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
}

.products-tab-section .tabbed-content .nav .tab.active a {
    background-color: var(--fs-color-secondary);
    border-color: var(--fs-color-secondary);
}

.products-tab-section .tabbed-content .nav .tab.active a:after {
    border-top-color: var(--fs-color-secondary);
}

.products-tab-section .product-small.col > .col-inner {
    border: 1px solid #d9d9d9;
    padding:0.3rem;
    transition: all 0.3s;
}

.products-tab-section .product-small.col > .col-inner:hover {
    box-shadow: 0 0 0 .3rem var(--fs-color-secondary) inset;
}

.products-tab-section .slider-nav-push:not(.slider-nav-reveal) .flickity-prev-next-button {
    margin-top: 0%;
}

.products-tab-section .flickity-button.flickity-prev-next-button.previous {
    left: 3rem;
    transform: translateX(0rem) !important;
}

.products-tab-section .flickity-button.flickity-prev-next-button.next {
    right: 3rem;
    transform: translateX(0rem) !important;
}

.testimonial-section .slider {
    padding-bottom: 8rem;
}

.testimonial-section .flickity-slider > .row {
    padding: 0 1.5rem;
    opacity: 1;
}

.testimonial-section .testimonial-box {
}

.testimonial-section .testimonial-box .icon-box-img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 7rem !important;
    height: 7rem;
}

.testimonial-section .testimonial-box .icon-box-img img {
    padding-top: 0;
}

.testimonial-section .testimonial-box .icon-box-text {
    padding-left: 0;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-text {
    margin-bottom: 3rem;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-text > .row > .col {
    box-shadow: 5px 5px 0px 0px #cfcfcf;
    padding: 0 0.5rem 0.5rem 0 !important;
}

.testimonial-section .row.is-selected .testimonial-box .icon-box-text .testimonial-text > .row > .col {
    box-shadow: 5px 5px 0px 0px var(--fs-color-secondary);
}

.testimonial-section .row.is-selected .testimonial-box .icon-box-text .testimonial-text > .row > .col:after {
    border-top: 40px solid var(--fs-color-secondary);
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-text > .row > .col > .col-inner {
    box-shadow: 5px 5px 0px 0px var(--color-white);
    padding: 2rem 3rem !important;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-text > .row > .col:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 85%;
    transform: translate(0%, 100%);
    border-top: 40px solid #cfcfcf;
    border-left: 0px solid transparent;
    border-right: 40px solid transparent;
    z-index: -1;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-text > .row > .col > .col-inner:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 85%;
    transform: translate(0%, 100%);
    border-top: 40px solid var(--color-white);
    border-left: 0px solid transparent;
    border-right: 40px solid transparent;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-meta {
    height: 7rem;
    align-content: center;
    position: relative;
    padding: 0 1rem 0 9rem;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-meta::after {
    content: '';
    width: 22%;
    display: block;
    border-bottom: 1px dashed rgb(0 0 0 / 30%);
    height: 1px;
    top: 50%;
    left: 52%;
    position: absolute;
    transform: translate(-50%, -50%);
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-meta {
    height: 7rem;
    padding: 0 1rem 0 9rem;
    background: url(./assets/images/quote.png) no-repeat 80% 50% / 5rem auto;
}

.testimonial-section .row.is-selected .testimonial-box .icon-box-text .testimonial-meta {
    background: url(./assets/images/quoteactive.png) no-repeat 80% 50% / 5rem auto;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-meta .testimonial-name {
    display: block;
    width: 100%;
}
.testimonial-section .testimonial-box .icon-box-text .testimonial-meta .testimonial-name-divider {
    display: none;
}

.testimonial-section .testimonial-box .icon-box-text .testimonial-meta .testimonial-company {
    display: block;
    width: 100%;
    font-size: 1.4rem;
}

.home-block-section.block-section .blog-posts .flickity-button.previous,
.home-block-section.block-section .blog-posts .flickity-button.next {
    margin-top: -7.5rem;
}

.highlights-section .highlights-row > .col {
    flex-basis: 20%;
    max-width:20%
}

.highlights-section .highlights-row  .icon-box  .icon-box-text {
    font-size:1.5rem
}

.highlights-section .highlights-row  .icon-box h3 {
    font-size: 1.5rem;
}

/*************** END HOME PAGE ***************/

/*************** ABOUT PAGE ***************/

.message-row > .col > .col-inner {
    background: url(/wp-content/uploads/2024/07/Denkei-blue.png) no-repeat top left/ 14rem auto;
    padding-left: 20rem;
    font-size: 1.5rem;
    min-height: 62rem;
}

.message-row .quote-row {
    border: none;
    padding-left: 0;
    font-size: 1.5rem;
}

.message-row .quote-row > .col > .col-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3rem;
    height: 2rem;
    background: url(/wp-content/uploads/2024/07/quote.png) no-repeat center/contain;
}
.message-row .quote-row > .col > .col-inner .quote-end {
    position: relative;
    display: inline-block;
    padding: 0 3rem 1rem 0;
}
.message-row .quote-row > .col > .col-inner .quote-end::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 3rem;
    height: 2rem;
    background: url(/wp-content/uploads/2024/07/quote-end.png) no-repeat center/contain;
}

.message-row .quote-row h5 {
    font-size: 1.8rem;
    font-weight: bold;
    font-style: normal;
    padding: 1rem 0 0 5rem;
}

.chairperson-row h3 {
    margin-bottom: 2.8rem;
}

.chairperson-row h3,
.chairperson-row .philosophy-text {
    font-size: 2.8rem;
}

.chairperson-row .meta {
    box-shadow: 0px 4px 10px 0px #0000001a;
    display: flex;
    align-items: center;
    padding: 1.4rem 3rem;
    width: max-content;
    margin-top: 5rem;
        background-color:var(--color-white);
}

.chairperson-row .meta p {
    margin-bottom: 0;
    font-size: 1.8rem;
    font-weight: bold;
}

.chairperson-row .meta .name {
    border-left: 1px solid #d9d9d9;
    margin-left: 3.5rem;
    padding-left: 4.5rem;
    font-size: 2.8rem;
    font-weight: bold;
    color: var(--fs-color-primary);
}

.history-row {
    counter-reset: history;
}

.history-row > .col > .col-inner {
    position: relative;
    min-height: 15rem;
    max-width: 50%;
    padding: 0 1.5rem;
}

.history-row > .col > .col-inner::before {
    counter-increment: history;
    content: '0' counter(history);
    position: absolute;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-color: var(--fs-color-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: bold;
    color: var(--color-black);
}

.history-row > .col > .col-inner::after {
    content: '';
    position: absolute;
    display: block;
    width: 8rem;
    height: 8rem;
    border: 5px solid transparent;
    border-radius: 50%;
    border-left-color: var(--color-white);
    border-top-color: var(--color-white);
}

.history-row > .col > .col-inner .icon-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0rem;
    transform: translateX(-50%);
    width: 0.5rem;
    height: 3.5rem;
    background-color: var(--color-white);
}
.history-row > .col > .col-inner .icon-box::after {
    content: '';
    position: absolute;
    width: 0.5rem;
    height: calc(100% - 10.5rem);
    bottom: 0;
    left: 0rem;
    transform: translateX(-50%);
    background-color: var(--color-white);
}

.history-row > .col:nth-child(odd) > .col-inner::before {
    top: 4.5rem;
    left: 0rem;
    transform: translateX(-50%);
}

.history-row > .col:nth-child(odd) > .col-inner::after {
    left: 0;
    top: 3rem;
    transform: translateX(-50%) rotate(135deg);
}

.history-row > .col:nth-child(even) > .col-inner::before {
    right: 0rem;
    top: 4.5rem;
    left: auto;
    transform: translateX(50%);
}

.history-row > .col:nth-child(even) > .col-inner::after {
    top: 3rem;
    right: 0;
    left: auto;
    transform: translateX(50%) rotate(315deg);
}

.history-row > .col:nth-child(even) > .col-inner .icon-box::before {
    left: auto;
    right: 0rem;
    transform: translateX(50%);
}

.history-row > .col:nth-child(even) > .col-inner .icon-box::after {
    right: 0rem;
    left: auto;
    transform: translateX(50%);
}

.history-row > .col:nth-child(odd) > .col-inner {
    padding-left: 6rem;
    margin-right: 0 !important;
    margin-left: auto;
}

.history-row > .col:nth-child(even) > .col-inner {
    padding-right: 6rem;
}

.history-row > .col > .col-inner .icon-box .icon-box-img {
    padding-top: 0.8rem;
}
.history-row > .col > .col-inner .icon-box-right .icon-box-text {
    text-align: left;
    padding-top: 2.2rem;
}

.history-row > .col > .col-inner .icon-box-right .icon-box-text h3 {
    font-size: 1.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 0.4rem solid var(--color-white);
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    position: relative;
    overflow: visible;
}

.history-row > .col > .col-inner .icon-box-right h3:after {
    content: '';
    display: block;
    width: 2rem;
    height: 2rem;
    background-color: var(--color-white);
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    transform: translateY(50%);
}

.history-row > .col > .col-inner .icon-box-left .icon-box-text {
    text-align: left;
    padding-top: 2.2rem;
}

.history-row > .col > .col-inner .icon-box-left .icon-box-text p {
    padding-left: 5rem;
}

.history-row > .col > .col-inner .icon-box-left .icon-box-text h3 {
    font-size: 1.8rem;
    padding-left: 5rem;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 0.4rem solid var(--color-white);
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    position: relative;
    overflow: visible;
}

.history-row > .col > .col-inner .icon-box-left .icon-box-text h3:after {
    content: '';
    display: block;
    width: 2rem;
    height: 2rem;
    background-color: var(--color-white);
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    transform: translateY(50%);
}

.video-youtube-section .video-youtube-row > .col > .col-inner {
    background-color: var(--color-white);
    text-align: center;
    padding-bottom: 1rem;
    transition: all 0.3s;
}

.video-youtube-section .video-youtube-row > .col > .col-inner h4 {
    padding: 0 1rem;
}

.video-youtube-section .video-youtube-row > .col > .col-inner .overlay,
.video-youtube-section .video-youtube-row > .col > .col-inner .absolute {
    opacity: 0;
    transition: all 0.3s;
}

.video-youtube-section .video-youtube-row > .col > .col-inner .overlay-icon {
    background: url(/wp-content/uploads/2024/07/playicon.png) no-repeat center/100% auto;
    border: none;
    width: 8rem;
    height: 8rem;
}

.video-youtube-section .video-youtube-row > .col > .col-inner .overlay-icon .icon-play {
    display: none;
}

.video-youtube-section .video-youtube-row > .col > .col-inner:hover {
    box-shadow: 0px 4px 15px 0px #0000001a;
}

.video-youtube-section .video-youtube-row > .col > .col-inner:hover .overlay,
.video-youtube-section .video-youtube-row > .col > .col-inner:hover .absolute {
    opacity: 1;
}

.video-youtube-section .video-youtube-row > .col > .col-inner:hover h4 {
    text-decoration: underline;
}

.custom-logo-section .custom-logo-col > .col-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 3rem;
    row-gap: 1rem;
    flex-wrap: wrap;
}

.custom-logo-section .custom-logo-col .img {
    width: auto !important;
    border-radius: 0.5rem;
    margin-bottom:0;
}

.custom-logo-section .custom-logo-col .img img {
    width: auto;
    object-fit: contain;
    height: 10rem;
    padding: 2rem;
}

.custom-logo-section .custom-logo-col .img:hover {
    box-shadow: 5px 5px 10px 0px #0000001a;
    background-color: var(--color-white);
}

/*************** END ABOUT PAGE ***************/

/*************** SERVICES PAGE ***************/
.services-section::before {
    content: '';
    background: url(/wp-content/uploads/2024/07/Left.png) no-repeat center/cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 20.5%;
    aspect-ratio: 10/3.4;
}

.services-section::after {
    content: '';
    background: url(/wp-content/uploads/2024/07/Right.png) no-repeat center/cover;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 32.5%;
    aspect-ratio: 10/4.2;
}

.services-section .icon-box .icon-box-text {
    font-size: 1.5rem;
}
.services-section .icon-box h3 {
    font-size: 2.4rem;
}

.services-section .icon-box .icon-box-text .button {
    font-size: 1.4rem;
    color: var(--color-black);
}

.services-section .icon-box .icon-box-text .button:hover {
    color: var(--fs-color-primary);
}

.services-section .icon-box .icon-box-text .button .icon-angle-right::before {
    content: '\f0da';
    font-family: var(--FontAwesome);
    font-weight: bold;
    color: #e81f30;
}

.why-section .why-row .icon-box .icon-box-img {
    margin-bottom: 4rem;
}

.why-section .why-row .icon-box .icon-box-text {
    font-size: 1.8rem;
}

.why-section .why-row .icon-box .icon-box-text h3 {
    font-size: 2.4rem;
    color: var(--fs-color-primary);
    margin-bottom: 2.5rem;
}

.certificate-section .slider {
    margin: 0 -3rem;
}

.certificate-section .flickity-slider > .img {
    max-width: 20.01%;
    padding: 0 5rem;
}

.certificate-section .flickity-slider > .img img {
    object-fit: contain;
}

/*************** END SERVICES PAGE ***************/

/*************** SERVICE DETAIL PAGE ***************/

.service-detail-banner-section .banner .icon-box .icon-box-img {
    margin-bottom: 3.2rem;
}

.service-detail-banner-section .banner .icon-box .icon-box-text {
    font-size: 2rem;
}

.service-detail-banner-section .banner .icon-box .icon-box-text h3 {
    font-size: 3.6rem;
    font-weight: bold;
    margin: 0 0 1.5rem;
}

.service-detail-banner-section .banner .button {
    color: var(--color-black);
    border: none;
    font-size: 1.5rem;
    padding: 0.8rem 3rem;
}
.quick-contact-btn {
    color: var(--color-black);
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    border-radius: 0.5rem;
    background-color: #84b1ff !important;
    transition: all 0.3s;
}

.quick-contact-btn span {
    background: url(/wp-content/uploads/2024/07/qcbtn.png) no-repeat 0rem 50%/ 5.8rem auto;
    padding-left: 7rem;
    color: currentColor;
}

.quick-contact-btn:hover {
    color: var(--color-black);
    background-color: #7dacff;
}

.technical-advice-btn {
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    border-radius: 0.5rem;
    color: var(--color-black);
    background-color: #ffaf38;
}

.technical-advice-btn span {
    color: currentColor;
    padding-left: 3.5rem;
    background: url(/wp-content/uploads/2024/07/avatar.png) no-repeat 0rem 50%/ 2.6rem auto;
}

.technical-advice-btn:hover {
    color: var(--color-black);
}

.contact-engineer-btn {
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    border-radius: 0.5rem;
    color: var(--color-black);
    background-color: #ffaf38;
}

.contact-engineer-btn span {
    color: currentColor;
    padding-left: 3.5rem;
    background: url(/wp-content/uploads/2024/07/engineer.png) no-repeat 0rem 50%/ 2.6rem auto;
}

.contact-engineer-btn:hover {
    color: var(--color-black);
    background-color: #ffac2f;
}

.catalogue-btn {
    padding: 0.5rem 1.5rem 0.5rem 1.5rem;
    border-radius: 0.5rem;
    color: var(--color-black) ;
    background-color: #ffaf38 !important;
}

.catalogue-btn span {
    color: currentColor;
    padding-left: 3.2rem;
    background: url(/wp-content/uploads/2024/07/download.png) no-repeat 0rem 50%/ 2.3rem auto;
}

.catalogue-btn:hover {
    color: var(--color-black);
    background-color: #ffac2f;
}

.catalogue-row > .col {
    flex-basis: 20%;
    max-width: 20%;
}

.catalogue-row > .col > .col-inner {
    border: 1px solid #d9d9d9;
    padding: 2.5rem;
}

.catalogue .catalogue-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 1.5rem;
}

.catalogue .catalogue-image {
    text-align: center;
    margin: 1.5rem 0;
}

.catalogue .catalogue-title h3 {
    font-size: 1.5rem;
    text-align: center;
    white-space: pre-wrap;
    line-height: 1.4;
}

/*************** END SERVICE DETAIL PAGE ***************/

/*************** BLOG ARCHIVE ***************/
.blog .block-section {
    padding: 8rem 0rem 2rem;
}

.blog .block-section.first {
    padding-top: 1.5rem;
}

.blog .block-section.is-odd {
    background-color: #f2f2f2;
}

.blog .block-section > .row {
    margin: 0 auto;
}

.blog .block-section .blog-posts {
    margin-left: -3.5rem;
    margin-right: -3.5rem;
}

.blog .block-section .col.post-item {
    padding: 0 3.5rem 3rem;
}

.block-section .blog-posts .flickity-button {
    opacity: 1;
    display: block !important;
    height: 4rem;
    width: 4rem;
    top: 0;
    margin-top: 0;
    color: var(--color-black);
    background-color: #eaeaea;
    color: var(--color-black);
}

.block-section .blog-posts .flickity-button:hover {
    color: var(--color-white);
    background-color: var(--fs-color-primary);
}

.block-section .blog-posts .flickity-button.previous {
    margin-top: -5rem;
    left: auto;
    right: 8.5rem;
    transform: unset !important;
}

.block-section .blog-posts .flickity-button.next {
    margin-top: -5rem;
    right: 3.5rem;
    transform: unset !important;
}

.block-section .blog-posts .flickity-button .flickity-button-icon {
    display: none;
}

.block-section .blog-posts .flickity-button.previous:after {
    content: '\f0d9';
    font-family: var(--FontAwesome);
    font-weight: bold;
    color: currentColor;
}

.block-section .blog-posts .flickity-button.next:after {
    content: '\f0da';
    font-family: var(--FontAwesome);
    font-weight: bold;
    color: currentColor;
}

.block-section .button.see-more-btn {
    padding: 0.4rem 3.2em;
    border-radius: 0.5rem;
    text-transform: initial;
    margin: 0;
}

/*************** END  BLOG ARCHIVE PAGE ***************/

/*************** POST SIDEBAR ***************/
.post-sidebar .widget-title {
    text-transform: initial;
    display: block;
    width: 100%;
    margin-bottom: 1rem;
}

.post-sidebar .widget-title + .is-divider {
    display: none;
}

.widget:has( .is-hidden ) {
    display:none;
}

.post-sidebar .widget_category_posts_widget ul li .badge {
    width: 7rem;
    height: 7rem;
}

.post-sidebar .widget_category_posts_widget ul li a {
    font-size: 1.2rem;
    line-height: 1.5;
}

.post-sidebar .widget_recent_entries {
    display: none;
}

.blog-single .post-sidebar .widget_recent_entries {
    display: block;
}

.blog-single .post-sidebar .widget_categories {
    display: none;
}

.widget.widget_categories a {
    color: #636363;
    padding: 1.2rem 0;
} 
.widget.widget_categories  .current-cat>a {
    color:var(--fs-color-primary);
}
/*************** END POST SIDEBAR ***************/

/*************** POST SINGLE ***************/
.blog-single .entry-title {
    padding-left: 4rem;
    font-size: 2.8rem;
    color: var(--fs-color-primary);
    background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2.6rem auto;
    margin-bottom: 1.8rem;
    margin-top: 3rem;
    white-space: pre-wrap;
}

.blog-single .post-sidebar {
    margin-top: 12rem;
}

.blog-single .entry-meta {
    padding-left: 4rem;
}

.blog-single .entry-meta a {
    color: #7d7d7d;
    text-transform: uppercase;
}

.blog-single .entry-meta a:hover {
    color: var(--fs-color-primary);
}

.blog-single .entry-content {
    padding: 0rem 0 3rem 4rem;
    border-bottom: 1px solid #d9d9d9;
}

/*************** END POST SINGLE ***************/

/*************** CONTACT PAGE ***************/
.contact-section form .form-fields-wrapper.row-small {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.contact-section form .form-fields-wrapper.row-small {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.contact-section form .form-fields-wrapper.row-small .form-field-item {
    padding: 0 0.5rem 1rem;
}

.contact-section form .form-fields-wrapper.row-small .form-field-item.checkbox-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.contact-section form .form-fields-wrapper.row-small .form-field-item.checkbox-container > label {
    width: auto;
    margin-right: 2rem;
    font-size: 1.4rem;
    color: #000000;
    margin-bottom: 0;
    white-space: nowrap;
}

.contact-section form .form-field-item.checkbox-container {
    margin-bottom: 3rem;
}

.contact-section form .form-field-item.checkbox-container .wpcf7-radio .wpcf7-list-item-label {
    padding: 0.5rem 1.2rem;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--color-black);
    border: 1px solid var(--fs-color-primary);
    border-radius: 0.5rem;
    display: inline-block;
}

.contact-section form .form-field-item.checkbox-container .wpcf7-radio span.wpcf7-list-item {
    margin-right: 1rem;
}

.contact-section form .form-field-item.checkbox-container .wpcf7-radio input {
    display: none;
}

.contact-section form .form-field-item.checkbox-container .wpcf7-radio input:checked + .wpcf7-list-item-label {
    background-color: var(--fs-color-primary);
    color: var(--color-white);
}

.contact-section form input[type='email'],
.contact-section form input[type='number'],
.contact-section form input[type='search'],
.contact-section form input[type='tel'],
.contact-section form input[type='text'],
.contact-section form input[type='url'] {
    min-height: 5.5rem;
    box-shadow: none;
    border-radius: 0.5rem;
    margin-bottom: 0;
}

.contact-section form textarea {
    box-shadow: none;
    border-radius: 0.5rem;
    min-height: 36rem;
    margin-bottom: 0;
}

.contact-section form .button {
    text-transform: initial;
    line-height: 6rem;
    border-radius: 0.5rem;
}

.contact-section .policy-col {
    counter-reset: policy;
}

.contact-section .policy-col .text.policy-item {
    position: relative;
    padding-left: 6rem;
    margin-bottom: 2rem;
}

.contact-section .policy-col .text.policy-item::before {
    counter-increment: policy;
    content: '0' counter(policy);
    width: 4rem;
    height: 4rem;
    border-radius: 10rem;
    color: var(--color-white);
    font-weight: bold;
    background-color: var(--fs-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
}

.dvls_maps_wrap .dvls_maps_sidebar {
    width: 50%;
    padding: 3rem 0rem;
    background: var(--color-white);
    overflow: unset;
}

.dvls_maps_wrap .dvls_maps_main {
    padding-left: 50%;
}

.dvls_maps_wrap .dvls_maps_main #dvls_maps {
    height: 70rem;
}
.dvls_maps_wrap .dvls_maps_header_left {
    width: 100%;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 0 3rem;
}

.dvls_maps_wrap .dvls_maps_header_right {
    width: 100%;
    padding: 0 3rem;
}

.dvls_maps_wrap .dvls_maps_sidebar_content {
    padding: 0 1rem;
    overflow: auto;
    height: calc(100% - 12rem);
}

.dvls_maps_wrap .dvls_maps_sidebar_content::-webkit-scrollbar-track {
    border-radius: 10px;
}

.dvls_maps_wrap .dvls_maps_sidebar_content::-webkit-scrollbar {
    width: 0.5rem;
}

.dvls_maps_wrap .dvls_maps_sidebar_content::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--fs-color-primary);
}

.dvls_maps_wrap .dvls_maps_sidebar_content .dvls_result_thumb {
    width: 11rem;
    border-radius: 0.5rem;
    overflow: hidden;
    margin: 0 3rem 0 0;
}

.dvls_maps_wrap .dvls_result_wrap .dvls_result_item {
    border-bottom: none;
    background: var(--color-white) !important;
    color: var(--color-black);
    border-radius: 0.5rem;
    padding: 3rem 2rem;
    margin-bottom: 1rem;
}

.dvls_maps_wrap .dvls_result_wrap .dvls_result_item.active,
.dvls_maps_wrap .dvls_result_wrap .dvls_result_item:hover {
    background: var(--fs-color-primary) !important;
    color: var(--color-white);
}

.dvls_maps_wrap .dvls_result_wrap .dvls_result_item.active .hotline,
.dvls_maps_wrap .dvls_result_wrap .dvls_result_item:hover .hotline {
    background-image: url(/wp-content/uploads/2024/07/Phone-white.png);
}

.dvls_maps_wrap .dvls_result_wrap .dvls_result_item.active .address-wrapper a,
.dvls_maps_wrap .dvls_result_wrap .dvls_result_item:hover .address-wrapper a {
    color: var(--color-white);
}

.dvls_maps_wrap .dvls_maps_sidebar_content .dvls_result_infor h3 {
    margin: 0 0 1rem;
    font-size: 1.8rem;
    font-weight: 700;
    color: currentColor;
    line-height: 1.4;
    white-space: pre-wrap;
}

.dvls_maps_wrap .dvls_result_infor .hotline {
    color: #434343;
    background: url(/wp-content/uploads/2024/07/Phone.png) no-repeat left 50% / 2.4rem auto;
    padding-left: 4rem;
    display: block;
    color: currentColor;
}

.dvls_maps_wrap .dvls_result_infor .address-wrapper {
    color: #434343;
    background: url(/wp-content/uploads/2024/07/pin.png) no-repeat top left / 2rem auto;
    padding-left: 4rem;
    display: block;
    color: currentColor;
}

.dvls_maps_wrap .dvls_result_infor .address-wrapper a {
    font-weight: bold;
    color: var(--color-black);
    margin-left: 0.5rem;
}

.dvls_maps_wrap .dvls_result_infor .address-wrapper a:hover {
    color: var(--fs-color-primary);
}

.dvls_maps_wrap .dvls_maps_header_right .dvls_maps_3col .dvls_maps_col {
    width: 100%;
    float: none;
}

.dvls_maps_wrap .dvls_maps_header_right #dvls_city {
    height: 5rem;
    border: 1px solid #c3c3c3;
    border-radius: 0.5rem;
    box-shadow: none;
}
.dvls_maps_wrap .dvls_maps_header_right .dvls-submit {
    display: none;
}

.dvls_maps_wrap .infobox-wrapper .infobox .item_infobox_thumb img {
    display: none;
}

/*************** END CONTACT PAGE ***************/

/*************** SOLUTIONS PAGE ***************/
.solutions-section .solutions-row .box {
    border-radius: 1rem;
    overflow: hidden;
}

.solutions-section .solutions-row .box .box-text {
    text-shadow: none;
    background: linear-gradient(to top, var(--fs-color-primary) 0%, transparent);
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.solutions-section .solutions-row .box h4 {
    font-size: 1.6rem;
}

.cat-solutions-section .cat-solutions-row > .col {
    /*padding: 0 0.2rem !important;*/
}

.cat-solutions-section .cat-solutions-row .box .box-text {
    background-color: hsla(0, 0%, 100%, 0.8);
}

.cat-solutions-section .cat-solutions-row .box:hover .box-text {
    background-color: var(--fs-color-primary);
}

.solutions-section .solutions-row .box .box-text h4 {
    font-size: 1.8rem;
}

.success-project-section .success-project-row .box .box-image {
    border-radius: 1rem;
    overflow: hidden;
}

.success-project-section .success-project-row .box .box-text h4 {
    font-size: 1.8rem;
    font-weight: 400;
}
/*************** END SOLUTIONS PAGE ***************/

/*************** BRAND PAGE ***************/
.brand-block {
    margin-bottom: 5rem;
}

.brand-block h2 {
    font-size: 1.8rem;
    text-transform: uppercase;
    border-bottom: 0.3rem solid #ececec;
    margin-bottom: 2rem;

    position: relative;
}

.brand-block h2 span {
    display:inline-block;
    position: relative;
    border-bottom: 0.3rem solid var(--fs-color-primary);
    display: inline-block;
    margin-bottom: -1px;
        padding-bottom: 1rem;
}
.brand-block .brand-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    list-style: none;
    gap: 1rem;
    margin-bottom: 4rem;
   
}

.brand-block .brand-list .brand-item {
    background-color: #f5f5f5;
    padding: 2.4rem 2rem;
    margin: 0;
    text-align: center;
    transition:all 0.3s;
    border: 3px solid transparent;
    overflow: hidden;
}


.brand-block .brand-list.show-full .brand-item  {
    display:block !important;
}

.brand-block .brand-list .brand-item:nth-child( n+19 ) {
    display:none;
}

.brand-block .brand-list .brand-item:hover {
    border-color:var(--fs-color-secondary);
    background-color:var(--color-white)
}

.brand-block .brand-list .brand-item.grid-full {
    grid-column: 1 / span 6;
}

.brand-block .brand-list .brand-item img {
    height: 8rem;
    object-fit: contain;
}

.brand-block .brand-list .brand-item h4 {
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 0;
}

.brand-block .load-more-container button {
    border: 0.2rem solid #2060cf;
    border-radius: 0.5rem;
    color: #1f1715;
    font-size: 1.5rem;
    text-transform: initial;
    transition: all 0.3s;
    margin: 0;
}

.brand-block .load-more-container button:hover {
    background-color: #2060cf;
    color: var(--color-white);
}

.toggle-brand-logo-btn-wrapper {
    display: none;
    text-align:center;
}


.toggle-brand-logo-btn {
        font-size: 1.5rem;
    text-transform: inherit;
    color: #1F1715;
    border: 2px solid #2060CF;
    border-radius: .5rem;
    margin: 0;
    transition:all 0.2s;
}

.toggle-brand-logo-btn:hover {
    background-color: #2060CF;
    color:var(--color-white);
}
/*************** END BRAND PAGE ***************/

/*************** YITH FILTER ***************/
.yith-wcan-filters .filters-container form {
    display: flex;
    flex-direction: column;
}
.yith-wcan-filters .filter-title {
    font-size: 1.6rem;
    color: var(--color-black);
}

.yith-wcan-filters  .search-wrapper {
    position:relative;
}

.yith-wcan-filters  .search-wrapper  input {
    height:4.4rem;
    padding-right:4.4rem;
    box-shadow: none;
    border-color: #003795;
}

.yith-wcan-filters  .search-wrapper button {
        position: absolute;
    right: 0;
    margin: 0;
    width: 4.4rem;
    height: 4.4rem;
    top: 0;
        padding: 0;
}



.yith-wcan-filters .filter-items label,
.yith-wcan-filters .filter-items label a,
.yith-wcan-filters .filter-items label span.amount {
    font-size: 1.6rem;
    color: #636363;
    font-weight: 400;
}

.yith-wcan-filters .filter-items.filter-checkbox input,
.yith-wcan-filters .filter-price-range input {
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
}

.yith-wcan-filters .filter-items label {
    position: relative;
    display: block;
    padding-left: 30px;
    cursor: pointer;
}

.yith-wcan-filters .filter-items label:before {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 0;
    display: block;
    height: 16px;
    width: 16px;
    background-color: var(--color-white);
    border-radius: 0px;
    border: 1px solid #003795;
}

.yith-wcan-filters .filter-items label:hover:before {
    background-color: #f5f5f5;
}

.yith-wcan-filters .filter-items label:after {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    width: 8px;
    height: 16px;
    border: solid #38c035;
    border-width: 0 3px 3px 0;
    opacity: 0;
    transform: translateY(-50%) rotate(45deg);
    margin-top: -0.6rem;
}

.yith-wcan-filters .filter-items label:has(input:checked):after {
    opacity: 1;
}

.yith-wcan-filters .apply-filters {
    background-color: var(--fs-color-primary);
    font-size: 1.6rem;
    text-transform: initial;
    width: 100%;
    border-radius: 0.5rem;
    color: var(--color-white);
    padding: 0.5rem 1rem;
    display: block !important;
    order: 2;
}

.yith-wcan-filters .apply-filters:hover {
    background-color: #004ac8;
}

.yith-wcan-filters .yith-wcan-active-filters {
    position: relative;
    max-height: 18rem;
    overflow-y: auto;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.hidden {
    display:none;
}

.yith-wcan-filters .yith-wcan-active-filters::-webkit-scrollbar-track {
    border-radius: 1rem;
    background-color: #e7e7e7;
}

.yith-wcan-filters .yith-wcan-active-filters::-webkit-scrollbar {
    width: 0.5rem;
    background-color: #e7e7e7;
}

.yith-wcan-filters .yith-wcan-active-filters::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background-color: var(--fs-color-primary);
}

.yith-wcan-filters .yith-wcan-active-filters h4 {
    font-size: 1.6rem;
    text-transform: uppercase;
}

.yith-wcan-filters .yith-wcan-active-filters .reset-filters {
    position: absolute;
    top: 0.4rem;
    right: 0;
    background: #fff;
    border: none;
    color: #df3c3c;
    text-transform: initial;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.4;
    min-height: auto;
}

.yith-wcan-filters span.amount {
    color: #636363;
    font-weight: 400;
    white-space: nowrap;
}

.yith-wcan-filters .yith-wcan-active-filters .reset-filters:hover {
    text-decoration: underline;
}

.yith-wcan-active-filters .active-filter .active-filter-label {
    border-radius: 10rem;
    padding-left: 3.5rem;
    font-weight: 400;
    font-size: 1.6rem;
    color: #636363;
}

.yith-wcan-active-filters .active-filter .active-filter-label:after {
    font-size: 1.6rem;
    height: 2.2rem;
    line-height: 2.2rem;
    position: absolute;
    left: 0.4rem;
    right: auto;
    text-align: center;
    text-decoration: none;
    top: 50%;
    transform: translateY(-50%);
    width: 2.2rem;
}

.yith-wcan-active-filters .active-filter .active-filter-label {
    margin-right: 1rem;
    margin-bottom: 1rem;
    display: inline-block;
}

.yith-wcan-active-filters .active-filter {
    margin-bottom: 0rem;
}

.yith-wcan-filters .filter-items {
    max-height: 18rem;
    overflow-y: auto;
}

.yith-wcan-filters .filter-items::-webkit-scrollbar-track {
    border-radius: 1rem;
    background-color: #e7e7e7;
}

.yith-wcan-filters .filter-items::-webkit-scrollbar {
    width: 0.5rem;
    background-color: #e7e7e7;
}

.yith-wcan-filters .filter-items::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background-color: var(--fs-color-primary);
}

.yith-woocommerce-ajax-product-filter {
    display: flex;
    align-items: center;
    justify-content: start;
    flex-wrap: nowrap;
    overflow: auto;
    scrollbar-width: thin;
}

.yith-woocommerce-ajax-product-filter h3 {
    width: auto;
    font-size: 1.6rem;
    margin: 0 3rem 0 0;
    white-space: nowrap;
}

.yith-woocommerce-ajax-product-filter .orderby {
    display: flex;
    align-items: center;
    justify-content: start;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 3rem;
    flex: 1;
}

.yith-woocommerce-ajax-product-filter .orderby li {
    border: none;
    margin-bottom: 0 !important;
}

.yith-woocommerce-ajax-product-filter .orderby li .orderby-item {
    position: relative;
    padding-left: 2.4rem;
}

.yith-woocommerce-ajax-product-filter .orderby li .orderby-item::before {
    content: '' !important;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--fs-color-primary);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.yith-woocommerce-ajax-product-filter .orderby li .orderby-item::after {
    content: '';
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    left: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
}

.yith-woocommerce-ajax-product-filter .orderby li .orderby-item.active::after {
    background-color: var(--fs-color-primary);
}

/*************** END YITH FILTER   ***************/

/*************** Woocommerce Page  ***************/
.woocommerce-page h1.page-title {
    font-size: 1.8rem;
    color: var(--color-black);
    text-transform: uppercase;
    border-bottom: 1px solid #d9d9d9;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}


.product-small .badge-container {
    margin: 2rem 0 0;
}

.product-small .badge {
    height: auto;
    width: 4rem;
    font-size: 1.2rem;
}

.product-small .badge .badge-inner {
    background-color:#DF3C3C;
    border-radius: 0 10rem 10rem 0;
    padding: 1.2rem 1.2rem 1.2rem .6rem;
}

.product-small .badge .badge-inner.callout-new-bg {
    display:none;
}

.product-small.box {
    padding: 3rem 3rem;
}

.product-small.box:hover {
    border-color: var(--fs-color-primary) !important;
}

.product-small.box .box-image {
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-small.box .brand-image-container img {
    height: 2.4rem;
    width: auto;
    margin-bottom: 0.5rem;
}

.product-small.box .box-text {
    padding: 1rem 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.product-small.box .box-text .product-title {
    margin-bottom: 0.5rem;
}

.product-small.box .box-text .product-title a {
    font-size: 1.5rem;
    line-height: 1.5;
    height: 4.5rem;
    color: var(--color-black);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-small.box .cart-btn {
    margin: 0;
    border-radius: 0.5rem;
    width: 4rem;
    height: 4rem;
    border: none;
    background: var(--fs-color-secondary) url(/wp-content/uploads/2024/07/bi_cart-check.png) no-repeat center/2rem 2rem;
    flex: 1;
    min-width: 4rem;
}

.product-small.box a.added_to_cart:after {
    content: unset;
}

.woocommerce-page .category-page-row .col.large-3 {
    border-right: 0.1rem solid #d9d9d9;
}

.product-small.box .box-image img {
    object-fit: contain !important;
}

.product-small.box .price-wrapper {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
}

.product-small.box .price-wrapper .price {
    width: 100%;
    flex: 10;
    color: var(--color-black);
    border: 2px solid var(--fs-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    height: 4rem !important;
    flex-wrap: wrap;
}

.product-small.box .price-wrapper .price .amount {
    color: currentColor;
}

.product-small.box .price-wrapper .price ins {
        left: -2px;
    position: relative;
}

.product-small.box:hover .price-wrapper .price {
    border: none;
    color: var(--color-white) !important;
    background: linear-gradient(to right, #0c4bb9 0%, #072252 100%);
}

#shop-sidebar .widget-title {
    font-size: 1.8rem;
    color: var(--color-black);
    text-transform: uppercase;
    display: block;
    width: 100%;
    margin-bottom: 5rem;
}

#shop-sidebar .yith-wcan-filter.filter-orderby {
    display:none
}

#shop-sidebar .widget-title + .is-divider {
    display: none;
}

#shop-sidebar .widget_product_categories .widget-title {
    margin-bottom: 2rem;
    font-size: 1.6rem;
    text-transform: initial;
}

#shop-sidebar .widget_product_categories .product-categories li{
    border:none;
}

#shop-sidebar .widget_product_categories .product-categories li a {
    color:#636363;
}

#shop-sidebar .widget_product_categories .product-categories li a:hover  {
    color:#000;
}


.woocommerce-page .category-page-row .products.row {
    margin-left: 0;
    margin-right: 0;
}

.woocommerce-page .category-page-row .products.row > .col {
    padding: 0;
}

.woocommerce-page .category-page-row .products.row > .col > .col-inner {
    border-right: 0.1rem solid #d9d9d9;
    border-bottom: 0.1rem solid #d9d9d9;
    height:100%;
    padding:0.2rem;
}

.woocommerce-page .category-page-row .products.row > .col > .col-inner:hover{
    box-shadow:0 0 0 0.2rem var(--fs-color-primary);

}

.woocommerce-page .category-page-row .products.row > .col:nth-child(4n) > .col-inner {
      border-right-color: transparent;
}


.woocommerce-page .category-page-row .products.row > .col:nth-last-child(-n+4) > .col-inner {
    border-bottom-color: transparent;
}


.woocommerce-page .brand-info-container {
    background-color: #f5f5f5;
    padding: 3rem;
}

.woocommerce-page .brand-info-container .brand-info-top {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem;
}

.woocommerce-page .brand-info-container .brand-info-top img {
    max-height: 2.6rem;
    width: auto;
}

.woocommerce-page .brand-info-container .brand-info-top h1 {
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0;
}

.woocommerce-page .brand-info-container .brand-info-bottom {
    /* max-height: 1rem; */
    overflow: hidden;
}

.woocommerce-page .brand-info-container .brand-info-bottom.expand {
    max-height: none;
}

ul.nav-pagination {
    margin-top: 3rem;
}

.nav-pagination li {
    margin: 0 !important ;
}

.nav-pagination li .page-number {
    width: 5rem;
    height: 5rem;
    line-height: 5rem;
    border-radius: 0;
    font-size: 1.6rem;
    border: 1px solid #e3e3e3;
}

.nav-pagination li .page-number:hover,
.nav-pagination li .page-number.current {
    background-color: var(--fs-color-secondary);
    border-color: var(--fs-color-secondary);
    color: var(--color-black);
}

/*************** END Woocommerce Page ***************/

/*************** SINGLE PRODUCT ***************/

.sortby-widget-area .widget  {
        display: flex;
    align-items: start;
}

.sortby-widget-area .widget .widget-title{
        display: inline-block;
    width: auto;
    margin-right: 30px;
    font-size: 1.6rem;
    white-space: nowrap;
}

.sortby-widget-area .widget .textwidget  {
    overflow:auto;
     scrollbar-width: thin;
}

.sortby-widget-area .widget .sorting-radio-buttons {
 white-space: nowrap;
}

.woocommerce-ordering {
    display:none;
}

.sortby-widget-area .widget .sorting-radio-buttons  > div {
         display: inline-block;
    width: auto;
    margin-right:2rem;
}

.sortby-widget-area .widget .sorting-radio-buttons   input {
    margin:0;
      display:none;
}

.sortby-widget-area .widget .sorting-radio-buttons label {
    position:relative;
    padding-left:3rem;
    cursor:pointer;
        font-size: 1.6rem;
    font-weight: 400;
}

.sortby-widget-area .widget .sorting-radio-buttons label:before {
    content:'';
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:2rem;
    height:2rem;
    border-radius:50%;
     border: 1px solid #004AC8;
}

.sortby-widget-area .widget .sorting-radio-buttons label:after {
    content:'';
    position:absolute;
    left:.4rem;
    top:50%;
    transform:translateY(-50%);
    width:1.2rem;
    height:1.2rem;
    border-radius:50%;
}

.sortby-widget-area .widget .sorting-radio-buttons input[checked="checked"] + label:after {
    background: #004AC8;
    border:none;
}

/* ==========================================================
   SINGLE PRODUCT - Wider product hero
   ========================================================== */

@media screen and (min-width: 850px) {

    .single-product .product-main > .row {
        max-width: 1450px;
    }

    /* Product image */
    .single-product .product-main > .row > .product-gallery {
        flex-basis: 47%;
        max-width: 47%;
    }

    /* Main product information */
    .single-product .product-main > .row > .product-info {
        flex-basis: 31%;
        max-width: 31%;
    }

    /* Why Choose Denkei */
    .single-product .product-main > .row > #product-sidebar {
        flex-basis: 22%;
        max-width: 22%;
    }

}

.single-product h1.entry-title {
    color: #121211;
    font-size: 2.8rem;
}

.single-product .product-info {
    padding-top: 0;
}

.single-product .brand-image-container {
    margin-bottom: 3rem;
}

.single-product .brand-image-container img {
    max-height: 2.6rem;
    width: auto;
}

.single-product .type-and-brand-container {
    background-color: #d6e0f0;
    padding: 2rem 3rem;
    border-radius: 0.5rem;
    margin-bottom: 2.5rem;
}

.single-product .type-and-brand-container .item {
    margin-bottom: 2rem;
}
.single-product .type-and-brand-container .item:last-child {
    margin-bottom: 0rem;
}

.single-product .type-and-brand-container .item .label {
    font-weight: bold;
}

.single-product .type-and-brand-container .item.type .value {
    color: #30a91d;
}

.single-product .product-info .price-wrapper {
}

.single-product .product-info .product-short-description {
    font-size: 1.4rem;
}

.variations td,
.variations th {
    vertical-align: text-top;
    font-size: 1.6rem;
}

.single-product .product-info .ux-swatch.ux-swatch--label {
    font-size: 1.6rem;
    color: var(--color-black);
    line-height: 1.4;
    padding: 0.6rem 2rem;
    box-shadow: none;
    border: 1px solid #d9d9d9;
}

.single-product .product-info .ux-swatch.ux-swatch--label.selected {
    border-color: #1b1e82;
    background: url(./assets/images/pacheck.png) no-repeat bottom right/2rem 2rem;
}

.single-product .ux-quantity {
    border: 1px solid var(--fs-color-primary);
    border-radius: 0.5rem;
    overflow: hidden;
}

.single-product .ux-quantity input {
    height: 5rem;
    box-shadow: none;
}

.single-product .ux-quantity .input-text {
    background-color: var(--color-white);
    border: none;
    min-width: 5rem;
}

.single-product .ux-quantity .ux-quantity__button {
    border: none;
    background-color: var(--color-white);
    width: 4rem;
}

.single-product .ux-quantity .ux-quantity__button:hover {
    background-color: #f5f5f5;
}

.woocommerce-variation-price {
    border: none;
}

.single-product .single_variation_wrap {
    margin-top: 2.4rem;
}

.single-product .product-info .single_add_to_cart_button,
.single-product .product-info .contact-btn {
    flex: 1;
    background: linear-gradient(to right, #1d2088 0%, #0d0f5c 100%);
    border-radius: 0.5rem;
    white-space: nowrap;
    text-transform: initial;
    height: 5rem;
    line-height: 5rem;
}

.single-product .button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.single-product .button-group .button {
    margin: 0;
    flex: 1;
    white-space: nowrap;
}

.single-product .sidebar-wrapper .block_widget .only-row {
    border: 1px solid #e1e1e1;
}

.single-product .sidebar-wrapper .block_widget .only-row h3 {
    font-size: 2rem;
    padding: 2rem 3rem;
    margin: 0;
    border-bottom: 1px solid #e1e1e1;
}

.single-product .sidebar-wrapper .only-row .icon-box-col > .col-inner {
    padding: 0 2.4rem;
}

.single-product .sidebar-wrapper .only-row .icon-box-col .icon-box {
    padding: 1.5rem 0;
    border-bottom: 1px solid #e1e1e1;
}
.single-product .sidebar-wrapper .only-row .icon-box-col .icon-box p {
    margin: 0;
}

.single-product .product-gallery .product-images {
    border: 1px solid #dcdcdc;
}

.single-product .product-gallery .product-images .badge-container {
    font-size: 14px;
        margin-top: 20px;
}


.single-product .product-gallery .product-images .badge-container .badge-inner {
        background-color: #DF3C3C;
    padding: 5px 10px;
    border-radius: 0 100px 100px 0;
}
.single-product .product-gallery .woocommerce-product-gallery__wrapper img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain !important;
    aspect-ratio: auto !important;
}

.single-product .product-gallery .product-thumbnails {
    margin-left: -5px;
    margin-right: -5px;
}

.single-product .product-gallery .product-thumbnails .flickity-slider > .col {
    padding: 0 0.5rem 1rem !important;
}

.single-product .product-gallery .product-thumbnails .flickity-slider > .col a {
    aspect-ratio: 10 / 7.5;
    border: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-product .product-gallery .product-thumbnails img {
    object-fit: contain;
}

.single-product .woocommerce-tabs .tabs > li {
    background-color: var(--color-white);
    margin: 0 0.5rem 0;
}

.single-product .woocommerce-tabs .tabs > li a {
    font-size: 1.6rem;
    background-color: var(--color-white);
    color: var(--color-black);
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 0.3rem solid transparent;
}

.single-product .woocommerce-tabs .tabs > li.active a {
    border-color: var(--fs-color-primary);
}

.single-product .woocommerce-tabs .tab-panels {
    margin-top: 4.5rem;
    border: none;
}

.accordion .accordion-item .icon-angle-down::before {
    content: '\f068';
    font-family: var(--FontAwesome);
    font-weight: bold;
}

.accordion .accordion-item .toggle {
    transition: all 0s;
    left: auto;
    right: 0;
}

.accordion .accordion-item .accordion-title .icon-angle-down {
    font-size: 1.4rem;
}

.accordion .accordion-item .accordion-title.active {
    background-color: var(--color-white);
}

.accordion .accordion-item .accordion-title.active .icon-angle-down::before {
    content: '\f067';
}

.accordion .accordion-item .accordion-title {
    font-size: 1.6rem;
    color: var(--color-black);
    font-weight: bold;
    border: none;
    border-left: 0.3rem solid var(--fs-color-primary);
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.woocommerce-tabs .table-wrapper {
    overflow-x:auto;
    scrollbar-width:thin
}

.woocommerce-tabs .table-wrapper table {
    min-width: 549px;   
}


.woocommerce-Tabs-panel--accessories .content-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.woocommerce-Tabs-panel--accessories .content-wrapper .content-item {
    border: 3px solid transparent;
}

.woocommerce-Tabs-panel--accessories .content-wrapper .content-item:hover {
    border: 3px solid #1a1d7f;
}

.woocommerce-Tabs-panel--accessories table {
    border-color: #fff;
    font-size: 1.4rem;
}

.woocommerce-Tabs-panel--accessories .content-wrapper .content-item:hover strong {
    color: var(--fs-color-primary);
}
.woocommerce-Tabs-panel--accessories strong {
    font-size: 1.6rem;
}

.tab-panels table td,
.tab-panels table th {
    padding: 1rem !important;
}

td,
th {
    font-size: 1em;
    color: var(--color-black);
}

.woocommerce-Tabs-panel--accessories table td {
    border-color: #fff;
}

.single-product .product-section {
    border-top: none;
    padding:0 1.5rem;
    margin-bottom: 3rem;
}

.single-product .product-section .product-section-title {
    padding-left: 3.6rem;
    font-size: 2.8rem;
    color: #003795;
    background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2.6rem auto;
    text-transform: initial;
        margin-bottom: 2rem;
}


.single-product .product-section > .row  {
        margin-left: 0;
    margin-right: 0;
    overflow: visible;
}
.single-product .product-section > .row  .product-small.col  {
     padding: 0 0 2rem;
}

/*.single-product .related-products-wrapper .product-small.col {*/
/*    border-right: 1px solid #e3e3e3;*/
/*}*/

/*.single-product .related-products-wrapper .product-small.col:last-child {*/
/*    border-right: none;*/
/*}*/

/*************** END SINGLE PRODUCT ***************/


@media only screen and (max-width: 1326px) {
    
    #footer .footer-bottom-row > .col > .col-inner {
        padding: 0 1.5rem;
    }
    
}


@media only screen and (max-width: 1200px) {
    .catalogue-row > .col {
        flex-basis: 25%;
        max-width: 25%;
    }



    .products-tab-section .tabbed-content .nav .tab a {
        font-size: 1.4rem;
        padding: .5rem 1rem;
    }

    .home-slider .banner {
        /* padding-top: 40rem !important; */
    }
    .home-slider .banner h4 {
        font-size: 2rem;
    }
    .home-slider .banner h3 {
        font-size: 3.2rem;
    }

    .home-slider .banner p {
        font-size: 1.4rem;
    }

    .home-slider .banner .button {
        height: 4.2rem;
        line-height: 4.2rem;
        padding: 0 2rem;
        margin-top: 1rem;
        font-size: 1.4rem;
    }

    .custom-logo-section .custom-logo-col > .col-inner {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }

    .custom-logo-section .custom-logo-col .img img {
        height: 8rem;
        padding: 1.5rem;   
         justify-content: center;
    }
}

@media (min-width: 849px) and (max-width: 1080px) {
    .woocommerce-page .category-page-row .products.row > .col {
        flex-basis: 33.33%;
        max-width: 33.33%;
    }
    #masthead #logo {
        margin-right: 7rem;
        padding-right: 1rem;
        width: 12rem !important;
    }

    .header-contact-row .col-inner .icon-box {
        width: max-content;
        padding-right: 1rem;
        margin-right: 1rem;
        border-right: 1px solid #7290dc;
    }
    #masthead .nav-right {
        flex-wrap: nowrap;
        padding-left: 2rem;
    }


}


@media only screen and (max-width: 1080px) {
    
    .woocommerce-page .category-page-row .products.row > .col:nth-child(4n) > .col-inner {
          border-right-color: #d9d9d9;
    }
    
    .woocommerce-page .category-page-row .products.row > .col:nth-child(3n) > .col-inner {
          border-right-color: transparent;
    }
    
    .woocommerce-page .category-page-row .products.row > .col:nth-last-child(-n+4) > .col-inner {
        border-bottom-color: #d9d9d9;
    }
    
    .woocommerce-page .category-page-row .products.row > .col:nth-last-child(-n+3) > .col-inner {
        border-bottom-color: transparent;
    }
    
    .brand-block .brand-list {
        grid-template-columns: repeat(5, 1fr);
    }
    
   .brand-block .brand-list .brand-item:nth-child( n+16 ) {
        display:none;
    }
    
    .brand-block .brand-list .brand-item h4 {
        font-size: 1.6rem;
    }
}


@media only screen and (max-width: 849px) {
    /*************** ADD TABLET CSS HERE  ***************/
    .woocommerce-Tabs-panel--accessories .content-wrapper {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .catalogue-row > .col {
        flex-basis: 33.33%;
        max-width: 33.33%;
    }
    
    .blog-single .post-sidebar{
        margin-top:0;
    }
    
        .brand-block .brand-list .brand-item:nth-child( n+10) {
        display:none;
    }

    .flickity-button {
        width: 4rem;
    }

    #masthead::before {
        content: unset;
    }

    #masthead #logo {
        background: transparent;
        margin-right: 1.5rem;
        padding-right: 0;
        justify-content: center;
    }

    #masthead #logo::after {
        content: unset;
    }
    
    .custom-logo-section .custom-logo-col > .col-inner {
        gap: 0;
    }

    .custom-logo-section .custom-logo-col .img img {
        height: 6rem;
        padding: 1rem;
    }

    #masthead .header-inner {
        background-color: var(--color-white);
    }

    .products-block-section .row-slider .flickity-button {
        top: auto;
        margin-top: 0;
    }

    .products-block-section .row-slider .flickity-button.previous {
        left: auto;
        right: auto;
    }

    .woocommerce-page .category-page-row .col.large-3 {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: -100;
        transition: all 0.3s;
        padding: 0;
        opacity: 0;
        background-color: rgb(0 0 0 / 50%);
    }

    .woocommerce-page .category-page-row .col.large-3 #shop-sidebar {
        width: 35rem;
        background-color: var(--color-white);
        height: 100%;
        overflow: auto;
        margin: 0;
        padding: 2rem;
        transform: translateX(-100%);
        transition: all 0.3s;
    }

    .woocommerce-page .category-page-row .col.large-3.active {
        opacity: 1;
        z-index: 10000;
    }

    .woocommerce-page .category-page-row .col.large-3.active #shop-sidebar {
        transform: translateX(0%);
    }

    .select-resize-ghost,
    .select2-container .select2-choice,
    .select2-container .select2-selection,
    input[type='date'],
    input[type='email'],
    input[type='number'],
    input[type='password'],
    input[type='search'],
    input[type='tel'],
    input[type='text'],
    input[type='url'],
    select,
    textarea {
        font-size: 1.6rem;
    }

    .dvls_maps_wrap .dvls_maps_sidebar {
        width: 100%;
        padding: 3rem 0rem;
        background: var(--color-white);
        overflow: unset;
        position: relative;
        max-height: unset;
    }
    .dvls_maps_wrap .dvls_maps_sidebar_content {
        height: 40rem;
    }
    .dvls_maps_wrap .dvls_maps_main {
        padding-left: 0;
    }

    .dvls_maps_wrap .dvls_maps_main #dvls_maps {
        height: 50rem;
    }

    .testimonial-section .flickity-slider > .row {
        padding: 0 1.5rem;
        max-width: 100% !important;
    }
    
    .highlights-section .highlights-row > .col {
        flex-basis: 33.33%;
        max-width: 33.33%
    }
    .section-title-normal {
        border: none;
        width: 100%;
        display: flex;
    }

    .page-title-container .page-title {
        padding-left: 3rem;
        font-size: 2.4rem;
        color: var(--fs-color-primary);
        background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2.4rem auto;
    }

    .section-title-normal span {
        font-size: 2.4rem;
        padding-left: 3rem;
        background-size: 2rem auto;
    }

    #footer .footer-bottom-row > .col > .col-inner {
        height: 5.4rem;

    }

    #footer .footer-bottom-row .left-col > .col-inner:after {
        height: 5.4rem;
    }

    .chairperson-row h3, .chairperson-row .philosophy-text {
        font-size: 2rem;
    }

    .chairperson-row .meta .name {
        border-left: 1px solid #d9d9d9;
        margin-left: 2.5rem;
        padding-left: 2.5rem;
        font-size: 2rem;
        font-weight: bold;
        color: var(--fs-color-primary);
    }

    .chairperson-row .meta p {
        margin-bottom: 0;
        font-size: 1.4rem;
        font-weight: bold;
    }

    .message-row > .col > .col-inner {
        background: url(/wp-content/uploads/2024/07/Denkei-blue.png) no-repeat top left / 10rem auto;
        padding-left: 16rem;
        font-size: 1.5rem;
        min-height: 62rem;
    }

    .history-row > .col > .col-inner {
        max-width: 100%;
    }

    .history-row > .col:nth-child(odd) > .col-inner {
        padding-left: 10rem;
    }

    .history-row > .col:nth-child(odd) > .col-inner::before {
        left: 4rem;
    }

    .history-row > .col:nth-child(odd) > .col-inner::after {
        left: 4rem;
    }

    .history-row > .col > .col-inner .icon-box::before {
        left: 4rem;
    }

    .history-row > .col > .col-inner .icon-box::after {
        left: 4rem;
    }

    .history-row > .col > .col-inner .icon-box .icon-box-img {
        order: 2;
    }

    .history-row > .col:nth-child(even) > .col-inner::before {
        right: auto;
        top: 4.5rem;
        left: 4rem;
        transform: translateX(-50%);
    }

    .history-row > .col:nth-child(even) > .col-inner {
        padding-right: 1.5rem;
        padding-left: 10rem;
    }
    .history-row > .col:nth-child(even) > .col-inner .icon-box::before {
        left: 4rem;
        right: auto;
        transform: translateX(-50%);
    }
    .history-row > .col:nth-child(even) > .col-inner .icon-box::after {
        left: 4rem;
        right: auto;
        transform: translateX(-50%);
    }

    .history-row > .col:nth-child(even) > .col-inner::after {
        top: 3rem;
        right: auto;
        left: 4rem;
        transform: translateX(-50%) rotate(134deg);
    }
    .history-row > .col > .col-inner .icon-box-left .icon-box-text {
        text-align: right;
        padding: 2.2rem 1.6rem 0 0;
    }

    .history-row > .col > .col-inner .icon-box-left .icon-box-text h3:after {
        left: auto;
        right: 0;
    }
    .block-section .blog-posts .flickity-button.previous {
        margin-top: 0;
        left: 3rem;
        right: auto;
        transform: unset !important;
        top: auto;
    }

    .block-section .blog-posts .flickity-button.next {
        margin-top: 0;
        right: 3rem;
        transform: unset !important;
        top: auto;
    }
    .blog-single .entry-title {
        padding-left: 3.6rem;
        font-size: 2.4rem;
        background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2.4rem auto;
    }
    .section-heading-title {
        font-size: 2.4rem;
    }

    .certificate-section .flickity-slider > .img {
        max-width: 25%;
        padding: 0 2rem;
    }

    .service-detail-banner-section .banner .icon-box .icon-box-text h3 {
        font-size: 2.8rem;
    }
    .service-detail-banner-section .banner .icon-box .icon-box-text {
        font-size: 1.6rem;
    }

    .service-detail-banner-section .banner .button {
        color: var(--color-black);
        border: none;
        font-size: 1.5rem;
        padding: 0.5rem 2.4rem;
    }
    
    .single-product .woocommerce-tabs table {
        max-width:100% !important;
    }
    
        .brand-block .brand-list {
        grid-template-columns: repeat(3, 1fr);
    }
    
        .brand-block .brand-list .brand-item h4 {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 549px) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/
    .blog-single .entry-title {
        padding-left: 3.2rem;
        font-size: 2rem;
        background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2rem auto;
    }
    
    .custom-logo-section .custom-logo-col > .col-inner {
                /*grid-template-columns: repeat(2, 1fr);*/
        /*gap: 1rem !important;*/
    }
    
            .brand-block .brand-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .brand-block .brand-list .brand-item {
        padding: 1.5rem 1rem;
    }
    
    .brand-block .brand-list .brand-item:nth-child( n+7 ) {
        display:none;
    }
        .brand-block .brand-list .brand-item h4 {
        font-size: 1.4rem;
    }
    .section-heading-title {
        font-size: 2rem;
    }
    .certificate-section .flickity-slider > .img {
        max-width: 33.33%;
        padding: 0 1.5rem;
    }

    .blog-single .entry-content {
        padding: 0rem 0 3rem 0rem;
        border-bottom: 1px solid #d9d9d9;
    }
    .blog-single .entry-meta {
        padding-left: 0;
    }
    .history-row > .col > .col-inner .icon-box .icon-box-img {
        width:5rem !important;
        height: 5rem;
        top: 1.8rem;
    }

    .catalogue-row > .col {
        flex-basis: 50%;
        max-width: 50%;
    }

    #footer .footer-bottom-row .logo-col > .col-inner { 
        margin-right: auto !important;
    }

    .home-slider .flickity-button.flickity-prev-next-button.previous {
        width: 2.2rem;
        height: 4rem;
        left: 1.5rem;
    }
    .home-slider .flickity-button.flickity-prev-next-button.next {
        width: 2.2rem;
        height: 4rem;
        right: 1.5rem;
    }

    .testimonial-section .testimonial-box .icon-box-text .testimonial-meta::after {
        content: unset;
    }

    .dvls_maps_wrap .dvls_maps_sidebar_content .dvls_result_thumb {
        width: 5rem;
        margin: 0 1.5rem 0 0;
    }
    .dvls_maps_wrap .dvls_maps_sidebar_content .dvls_result_infor h3 {
        font-size: 1.5rem;
    }

    .dvls_maps_wrap .dvls_maps_sidebar_content .dvls_result_infor {
        font-size: 1.4rem;
    }

    .dvls_maps_wrap .dvls_result_wrap .dvls_result_item {
        padding: 2rem;
    }

    .dvls_maps_wrap .dvls_result_infor .hotline {
        padding-left: 3.4rem;
        background-size: 1.8rem auto;
    }

    .dvls_maps_wrap .dvls_result_infor .address-wrapper {
        background-size: 1.6rem auto;
        padding-left: 3.4rem;
    }

    .highlights-section .highlights-row > .col {
        flex-basis: 50%;
        max-width:50%
    }

    .section-title-normal span {
        font-size: 2rem;
    }
    #footer .newsletter-row .flex-col {
        padding: 0;
    }

    #footer .newsletter-row form .flex-row {
        flex-wrap: wrap;
        gap: 1rem;
    }
    #footer .newsletter-row .flex-col::before, 
    #footer .newsletter-row .flex-col::after {
        content: unset;

    }

    #footer .newsletter-row .flex-col.button-col {
        margin-left: 0rem;
    }

    #footer .newsletter-row form .flex-row .flex-col {
        width: 100%;
    }

    #footer .newsletter-row form .flex-row .flex-col button {
        width: 100%;
    }

    .history-row > .col > .col-inner::before {
        width: 3.6rem;
        height: 3.6rem;
        font-size: 1.4rem;

    }

    .history-row > .col:nth-child(odd) > .col-inner::before,
    .history-row > .col:nth-child(even) > .col-inner::before {
        top: 4.2rem;
    }


    .history-row > .col > .col-inner::after {
        width: 6rem;
        height: 6rem;
    }

    .history-row > .col > .col-inner .icon-box::after {
        height: calc(100% - 8.5rem);
    }

    .history-row > .col > .col-inner .icon-box-left .icon-box-text {
        padding: 1.2rem 1.6rem 0 0;
    }

    .history-row > .col > .col-inner .icon-box-right .icon-box-text {
        padding-top: 1rem;
        font-size: 1.4rem;
    }
    .history-row > .col:nth-child(odd) > .col-inner {
        padding-left: 8rem;
    }
    .history-row > .col:nth-child(even) > .col-inner {
        padding-right: 1.5rem;
        padding-left: 8rem;
    }

    .flickity-button.flickity-prev-next-button {
        display: none !important    ;
    }
    .page-title-container .page-title {
        padding-left: 2.6rem;
        font-size: 2rem;
        color: var(--fs-color-primary);
        background: url(/wp-content/uploads/2024/07/Title-decor.png) no-repeat 0 50% / 2rem auto;
    }    
    .message-row > .col > .col-inner {
        background: url(/wp-content/uploads/2024/07/Denkei-blue.png) no-repeat top left / 4rem auto;
        padding-left: 6rem;
    }

    .chairperson-row h3 {
        margin-bottom: 1.5rem;
    }

    .chairperson-row .meta {
        margin-top: 3rem;
    }
    .chairperson-row .meta .name {
        margin-left: 2rem;
        padding-left: 2rem;
        font-size: 1.6rem;
    }
    .product-small.box {
        padding: 2rem 1rem;
    }
    
    .product-small.box .brand-image-container img {
        height: 1.2rem;
    }

    
    .woocommerce-page .category-page-row .products.row > .col:nth-last-child(-n+3) > .col-inner {
        border-bottom-color: #d9d9d9;
    }
    
    .woocommerce-page .category-page-row .products.row > .col:nth-last-child(-n+2) > .col-inner {
        border-bottom-color: transparent;
    }
        .woocommerce-page .category-page-row .products.row > .col:nth-child(3n) > .col-inner {
        border-right-color: #d9d9d9;
    }
    
        .woocommerce-page .category-page-row .products.row > .col:nth-child(2n) > .col-inner {
        border-right-color: transparent;
    }
    
    .float-contact {
        bottom: 8rem;
    }
    
    .float-contact a {
        width: 4.2rem;
    }
    
        .custom-logo-section .custom-logo-col .img img {
        padding: .5rem;
    }
}

@media only screen and (max-width: 400px) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/
    .catalogue-row > .col {
        flex-basis: 100%;
        max-width: 100%;
    }
    
        .certificate-section .flickity-slider > .img {
        max-width: 50%;
        padding: 0 1.5rem;
    }
    
    .product-small .badge .badge-inner {
		background-color: #DF3C3C;
		border-radius: 0 10rem 10rem 0;
		padding: 1rem 1rem 1rem .4rem;
	}
	
	.nav-icon a, #masthead .button.icon.account-link, #masthead .button.icon.nav-top-not-logged-in, #masthead .button.icon.header-cart-link {
		width: 3.6rem;
		height: 3.6rem;
	}
}

/* ==========================================================
   NEWS / EVENT CONTENT STYLES
   Shared by all News posts and event landing-style posts
   ========================================================== */

/* ----------------------------------------------------------
   NEWS SINGLE POSTS: No Sidebar + Wider Content
   ---------------------------------------------------------- */

body.single-post .post-sidebar,
body.single-post #secondary {
    display: none !important;
}

body.single-post .blog-wrapper > .row > .large-9,
body.single-post .blog-wrapper > .row > .medium-9,
body.single-post .blog-wrapper > .row > .col.large-9,
body.single-post .blog-wrapper > .row > .large-8,
body.single-post .blog-wrapper > .row > .col.large-8 {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.single-post .blog-wrapper > .row,
body.single-post .blog-single > .row {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Remove the old 4rem left inset from article body while retaining
   the existing title decoration and metadata treatment. */
body.single-post .blog-single .entry-content {
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ----------------------------------------------------------
   EVENT WRAPPERS / GLOBAL EVENT RULES
   ---------------------------------------------------------- */

.nda-battery-show-2026,
.nda-event-page,
.nda-exhibit-showcase {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

.nda-battery-show-2026 *,
.nda-battery-show-2026 *::before,
.nda-battery-show-2026 *::after,
.nda-event-page *,
.nda-event-page *::before,
.nda-event-page *::after {
    box-sizing: border-box;
}

.nda-battery-show-2026 h2,
.nda-battery-show-2026 h3,
.nda-event-page h2,
.nda-event-page h3 {
    text-transform: none;
}

.nda-battery-show-2026 p,
.nda-event-page p {
    line-height: 1.7;
}


/* ----------------------------------------------------------
   EVENT INTRO / HERO
   ---------------------------------------------------------- */

.nda-event-intro {
    margin-bottom: 42px;
}

.nda-event-intro > p:first-child {
    margin-bottom: 20px;
}

.nda-event-hero {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 8px;
}


/* ----------------------------------------------------------
   EVENT SUMMARY PANEL
   ---------------------------------------------------------- */

.nda-event-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.9fr);
    gap: 30px;
    width: 100%;
    margin: 28px 0 25px;
    padding: 30px;
    background: #f6f8fa;
    border: 1px solid #e3e7eb;
    border-radius: 10px;
}

.nda-event-eyebrow,
.nda-section-eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nda-event-summary-main {
    min-width: 0;
}

.nda-event-summary-main h2 {
    margin: 0 0 10px;
    font-size: 29px;
    line-height: 1.25;
}

.nda-event-summary-main p {
    margin: 0;
}

.nda-event-summary-meta {
    min-width: 0;
    padding-left: 28px;
    border-left: 1px solid #dfe3e7;
}

.nda-event-meta-item {
    padding: 7px 0;
}

.nda-event-meta-item span {
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.nda-event-meta-item strong {
    display: block;
    font-size: 14px;
    line-height: 1.45;
}

.nda-event-lead {
    margin: 0;
}


/* ----------------------------------------------------------
   BATTERY SHOW / FEATURED SUPPLIER CARDS
   ---------------------------------------------------------- */

.nda-exhibit-showcase {
    margin-top: 42px;
    margin-bottom: 42px;
}

.nda-exhibit-card {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    width: 100%;
    margin: 0 0 42px;
    background: #fff;
    border: 1px solid #e2e6ea;
    border-radius: 10px;
    overflow: hidden;
    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.025),
        0 10px 28px rgba(0, 0, 0, 0.055);
}

.nda-exhibit-card-reverse .nda-exhibit-image {
    order: 2;
}

.nda-exhibit-card-reverse .nda-exhibit-content {
    order: 1;
}

.nda-exhibit-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 420px;
    padding: 22px;
    background: #f3f5f7;
}

.nda-exhibit-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: contain;
    object-position: center;
}

.nda-exhibit-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 34px 32px;
}

.nda-exhibit-brand {
    display: inline-block;
    align-self: flex-start;
    width: fit-content;
    margin-bottom: 10px;
    padding: 6px 10px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #eef3f8;
    border-radius: 4px;
    text-decoration: none;
}

.nda-exhibit-brand:hover {
    text-decoration: none;
}

.nda-exhibit-content h2 {
    margin: 0 0 14px;
    font-size: 27px;
    line-height: 1.22;
}

.nda-exhibit-content > p {
    margin: 0 0 15px;
    line-height: 1.7;
}


/* ----------------------------------------------------------
   EVENT TAGS
   ---------------------------------------------------------- */

.nda-exhibit-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 2px 0 22px;
}

.nda-exhibit-tags span {
    display: inline-block;
    padding: 5px 10px;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 600;
    background: #f6f7f8;
    border: 1px solid #e0e3e6;
    border-radius: 20px;
}


/* ----------------------------------------------------------
   FEATURED PRODUCT BOXES
   ---------------------------------------------------------- */

.nda-featured-box,
.nda-featured-product,
.nda-featured-products {
    margin: 0 0 22px;
    padding: 18px 20px;
    background: #f7f8fa;
    border-left: 3px solid currentColor;
}

.nda-featured-label {
    display: block;
    margin-bottom: 7px;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nda-featured-box h3,
.nda-featured-product h3,
.nda-product-mini h3 {
    margin: 0 0 7px;
    font-size: 17px;
    line-height: 1.35;
}

.nda-featured-box > p,
.nda-featured-product > p,
.nda-product-mini p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}

.nda-product-mini {
    padding: 14px 0;
    border-bottom: 1px solid #dfe3e6;
}

.nda-product-mini:first-of-type {
    padding-top: 4px;
}

.nda-product-mini:last-child {
    padding-bottom: 2px;
    border-bottom: 0;
}

.nda-product-link,
.nda-product-mini a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
}

.nda-product-link:hover,
.nda-product-mini a:hover {
    text-decoration: underline;
}


/* ----------------------------------------------------------
   COMPACT PRODUCT CARD BUTTONS
   ---------------------------------------------------------- */

.nda-exhibit-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 5px;
}

.nda-exhibit-buttons .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700;
    white-space: nowrap;
}

.nda-exhibit-buttons .button.is-outline {
    padding: 7px 12px !important;
    font-size: 10.5px !important;
}


/* ----------------------------------------------------------
   GENERAL EVENT CONTENT SECTIONS
   ---------------------------------------------------------- */

.nda-event-section {
    width: 100%;
    margin: 52px 0;
    clear: both;
}

.nda-section-heading {
    width: 100%;
    max-width: 760px;
    margin: 0 0 24px;
}

.nda-section-heading h2 {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.25;
}

.nda-section-heading p {
    margin: 0;
}


/* ==========================================================
   EVENT PARTNER GRID
   WordPress wpautop-safe version
   ========================================================== */

.nda-partner-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 18px !important;

    float: none !important;
    clear: both !important;
}


/* WordPress may automatically insert these.
   Never allow them to become grid items. */

.nda-partner-grid > p,
.nda-partner-grid > br {
    display: none !important;
}


/* Each partner must occupy a normal grid cell */

.nda-partner-grid > .nda-partner-card {
    display: flex !important;
    flex-direction: column !important;

    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    grid-column: auto !important;

    background: #fff;
    border: 1px solid #e1e5e9;
    border-radius: 9px;
    overflow: hidden;

    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.02),
        0 9px 24px rgba(0, 0, 0, 0.045);
}


/* Force exact desktop placement.
   This also protects against wpautop interference. */

.nda-partner-grid > .nda-partner-card:nth-of-type(odd) {
    grid-column: 1 !important;
}

.nda-partner-grid > .nda-partner-card:nth-of-type(even) {
    grid-column: 2 !important;
}


/* ==========================================================
   PARTNER LOGO
   ========================================================== */

.nda-partner-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 110px !important;

    padding: 20px 28px !important;

    background: #f7f8fa;
    border-bottom: 1px solid #e7e9ec;
}

.nda-partner-logo img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 190px !important;
    max-height: 58px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    object-fit: contain !important;
}


/* ==========================================================
   PARTNER CONTENT
   ========================================================== */

.nda-partner-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    padding: 25px !important;
}

.nda-partner-brand {
    display: block;
    margin-bottom: 9px;

    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nda-partner-content h3 {
    margin: 0 0 11px !important;

    font-size: 20px;
    line-height: 1.3;
    text-transform: none;
}

.nda-partner-content > p {
    margin: 0 0 18px !important;

    font-size: 14px;
    line-height: 1.65;
}


/* ==========================================================
   TAGS
   ========================================================== */

.nda-partner-content .nda-exhibit-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;

    margin: 0 0 20px !important;
}

.nda-partner-content .nda-exhibit-tags > span {
    display: inline-block;

    padding: 5px 10px;

    font-size: 11px;
    line-height: 1.4;
    font-weight: 600;

    background: #f6f7f8;
    border: 1px solid #e0e3e6;
    border-radius: 20px;
}


/* ==========================================================
   PARTNER LINK
   ========================================================== */

.nda-partner-link {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;

    align-self: flex-start;

    margin-top: auto !important;

    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;

    text-decoration: none;
}

.nda-partner-link:hover {
    text-decoration: underline;
}


/* ==========================================================
   NOTE
   ========================================================== */

.nda-product-note {
    width: 100%;

    margin: 20px 0 0 !important;
    padding: 14px 17px !important;

    background: #f6f8fa;
    border-left: 3px solid currentColor;

    font-size: 13px;
    line-height: 1.55;
}


/* ==========================================================
   TABLET / MOBILE
   ========================================================== */

@media screen and (max-width: 849px) {

    .nda-partner-grid {
        grid-template-columns: 1fr !important;
    }

    .nda-partner-grid > .nda-partner-card:nth-of-type(odd),
    .nda-partner-grid > .nda-partner-card:nth-of-type(even) {
        grid-column: 1 !important;
    }

}
/* ----------------------------------------------------------
   TESTING SOLUTION GRID
   ---------------------------------------------------------- */

.nda-solution-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.nda-solution-item {
    min-width: 0;
    padding: 22px 22px 18px;
    background: #f7f8fa;
    border: 1px solid #e3e6e9;
    border-radius: 7px;
}

.nda-solution-item h3 {
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.35;
}

.nda-solution-item ul {
    margin: 0;
    padding-left: 19px;
}

.nda-solution-item li {
    margin-bottom: 5px;
    line-height: 1.55;
}

.nda-solution-item li:last-child {
    margin-bottom: 0;
}


/* ----------------------------------------------------------
   EVENT DETAILS
   ---------------------------------------------------------- */

.nda-event-details {
    width: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e4e7;
    border-radius: 8px;
}

.nda-event-detail-row {
    display: grid;
    grid-template-columns: minmax(160px, 34%) minmax(0, 66%);
    border-bottom: 1px solid #e8eaec;
}

.nda-event-detail-row:last-child {
    border-bottom: 0;
}

.nda-event-detail-row > span,
.nda-event-detail-row > strong {
    display: block;
    padding: 13px 16px;
}

.nda-event-detail-row > span {
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #f6f7f8;
}

.nda-event-detail-row > strong {
    font-size: 13px;
    line-height: 1.55;
    font-weight: 600;
}

.nda-event-detail-highlight > span,
.nda-event-detail-highlight > strong {
    font-weight: 700;
}


/* ----------------------------------------------------------
   FINAL EVENT CTA
   ---------------------------------------------------------- */

.nda-event-cta {
    width: 100%;
    margin: 55px 0 25px;
    padding: 38px;
    background: #f4f7fa;
    border: 1px solid #dfe5ea;
    border-radius: 10px;
}

.nda-event-cta-content {
    width: 100%;
    max-width: 760px;
}

.nda-event-cta-label {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nda-event-cta h2 {
    margin: 0 0 12px;
    font-size: 30px;
    line-height: 1.25;
}

.nda-event-cta p {
    margin: 0 0 18px;
}

.nda-event-cta-buttons {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.nda-event-cta-buttons .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700;
    white-space: nowrap;
}

.nda-event-cta-buttons .button.is-outline {
    padding: 7px 13px !important;
    font-size: 10.5px !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media screen and (max-width: 849px) {

    body.single-post .blog-wrapper > .row,
    body.single-post .blog-single > .row {
        max-width: 100% !important;
    }

    .nda-event-summary {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 25px;
    }

    .nda-event-summary-meta {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 15px;
        padding-left: 0;
        padding-top: 17px;
        border-left: 0;
        border-top: 1px solid #dfe3e7;
    }

    .nda-exhibit-card {
        grid-template-columns: 1fr;
    }

    .nda-exhibit-card-reverse .nda-exhibit-image,
    .nda-exhibit-card-reverse .nda-exhibit-content {
        order: initial;
    }

    .nda-exhibit-image {
        min-height: 330px;
        max-height: 430px;
    }

    .nda-exhibit-content {
        padding: 30px;
    }

    .nda-partner-grid {
        grid-template-columns: 1fr !important;
    }

    .nda-partner-grid > .nda-partner-card {
        min-height: 0;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media screen and (max-width: 549px) {

    body.single-post .blog-wrapper > .row,
    body.single-post .blog-single > .row {
        width: 100% !important;
        max-width: 100% !important;
    }

    .nda-event-intro {
        margin-bottom: 30px;
    }

    .nda-event-summary {
        margin-top: 20px;
        padding: 20px;
    }

    .nda-event-summary-main h2 {
        font-size: 24px;
    }

    .nda-event-summary-meta {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .nda-event-meta-item {
        padding: 4px 0;
    }

    .nda-exhibit-card {
        margin-bottom: 28px;
        border-radius: 7px;
    }

    .nda-exhibit-image {
        min-height: 260px;
        max-height: 330px;
        padding: 16px;
    }

    .nda-exhibit-content {
        padding: 24px 20px;
    }

    .nda-exhibit-content h2 {
        font-size: 23px;
    }

    .nda-featured-box,
    .nda-featured-product,
    .nda-featured-products {
        padding: 16px;
    }

    /* Keep product CTAs compact on mobile. */
    .nda-exhibit-buttons {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    .nda-exhibit-buttons .button,
    .nda-exhibit-buttons .button.is-outline {
        display: inline-flex !important;
        width: auto !important;
        margin: 0 !important;
        padding: 8px 13px !important;
        font-size: 11px !important;
    }

    .nda-event-section {
        margin: 40px 0;
    }

    .nda-section-heading h2 {
        font-size: 24px;
    }

    .nda-partner-grid {
        gap: 12px;
    }

    .nda-partner-logo {
        height: 88px;
        padding: 18px 20px;
    }

    .nda-partner-logo img {
        max-width: 165px;
        max-height: 50px;
    }

    .nda-partner-content {
        padding: 20px;
    }

    .nda-partner-content h3 {
        font-size: 18px;
    }

    .nda-solution-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .nda-event-detail-row {
        grid-template-columns: 1fr;
    }

    .nda-event-detail-row > span {
        padding: 10px 14px 3px;
        background: #f6f7f8;
    }

    .nda-event-detail-row > strong {
        padding: 4px 14px 11px;
        background: #f6f7f8;
    }

    .nda-event-cta {
        margin-top: 42px;
        padding: 25px 20px;
    }

    .nda-event-cta h2 {
        font-size: 25px;
    }

    /* Keep final CTA buttons compact on mobile as well. */
    .nda-event-cta-buttons {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    .nda-event-cta-buttons .button,
    .nda-event-cta-buttons .button.is-outline {
        display: inline-flex !important;
        width: auto !important;
        margin: 0 !important;
        padding: 8px 13px !important;
        font-size: 11px !important;
    }
}

/* ==========================================================
   SPECIAL OFFER PRODUCT CARD
   Supports both WooCommerce product tag and product category
   taxonomy classes.
   ========================================================== */

.woocommerce-page .products
:is(.product_tag-special-offer, .product_cat-special-offer)
> .col-inner {
    position: relative !important;
    outline: 2px solid #f0a020 !important;
    outline-offset: -2px !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        outline-color .2s ease !important;
}

/* Keep the badge away from WooCommerce's native sale/off badge. */
.woocommerce-page .products
:is(.product_tag-special-offer, .product_cat-special-offer)
> .col-inner::before {
    content: "SPECIAL OFFER";
    position: absolute;
    top: 6px;
    right: 6px;
    left: auto;
    z-index: 50;
    display: inline-block;
    padding: 5px 8px;
    background: #f0a020 !important;
    color: #111 !important;
    border-radius: 2px;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    pointer-events: none;
}

.woocommerce-page .products
:is(.product_tag-special-offer, .product_cat-special-offer)
> .col-inner:hover {
    outline-color: #f0a020 !important;
    transform: translateY(-2px);
    box-shadow:
        0 0 0 1px #f0a020,
        0 7px 20px rgba(0, 0, 0, .12) !important;
}


/* ==========================================================
   SINGLE PRODUCT - TOP STACK / SPACING
   Back to Products -> Breadcrumb -> Product title
   ========================================================== */

/*
 * Flatsome/custom markup can place the Back to Products link outside
 * .product-main, so controlling .product-main alone is not sufficient.
 * These selectors reset the actual top stack without changing the
 * gallery/info/sidebar spacing.
 */
.single-product .shop-container > .container:first-child,
.single-product .product-container > .container:first-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-product .shop-container :is(p, div):has(> a[href*="/products/"]),
.single-product .product-container :is(p, div):has(> a[href*="/products/"]) {
    margin-top: 0 !important;
    margin-bottom: .8rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-product .shop-container a[href*="/products/"],
.single-product .product-container a[href*="/products/"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.single-product .rank-math-breadcrumb {
    margin: 0 0 .8rem !important;
    padding: 0 !important;
}

.single-product .rank-math-breadcrumb p {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product h1.entry-title,
.single-product h1.product-title {
    margin: .6rem 0 1.2rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-product .product-main {
    padding-top: 0 !important;
}


/* ==========================================================
   SINGLE PRODUCT - CONTACT HEADING
   Hide only the heading directly attached to the top contact button.
   Buttons remain visible.
   ========================================================== */

.single-product .product-info
:is(h2, h3, h4):has(+ .contact-btn) {
    display: none !important;
}


/* ==========================================================
   SINGLE PRODUCT - PRODUCT IMAGE
   Use the full gallery width without the former forced 10:8 box.
   ========================================================== */

@media screen and (min-width: 850px) {
    .single-product .product-gallery .woocommerce-product-gallery__wrapper,
    .single-product .product-gallery .woocommerce-product-gallery__image {
        width: 100%;
    }
}

