:root {
    --primary-color: #0150bb;
    --secondary-color: #d8a202;
    --red-color: #ff1d1d;
}
body {
    background-color: #fff;
    color: #333333;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    font-optical-sizing: auto;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'UTM HelvetIns', sans-serif;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    font-optical-sizing: auto;
}
#LRdiv0 {
    display: none !important;
}
.textzoom {
    animation: scale 1s infinite linear;
    -webkit-animation: scale 1s infinite linear;
    -moz-animation: scale 1s infinite linear;
    display: inline-block;
}

@-webkit-keyframes scale {
    0% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9)
    }

    100% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1)
    }
}
@keyframes shake {
    0% { transform: translate(0, 0) rotate(0); }
    25% { transform: translate(2px, -2px) rotate(-10deg); }
    50% { transform: translate(-2px, 2px) rotate(10deg); }
    75% { transform: translate(2px, -2px) rotate(-10deg); }
    100% { transform: translate(0, 0) rotate(0); }
}
.sensitive-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.sensitive-wrapper.centered {
    display: flex;
    justify-content: center;
    margin: 1em 0;
}

.sensitive-wrapper img {
    filter: blur(3px); /* làm mờ */
    pointer-events: none; /* ngăn click trực tiếp */
    transition: filter 0.3s ease;
}

.sensitive-wrapper.revealed img {
    filter: none;
    pointer-events: auto;
}

.sensitive-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    text-align: center;
    padding: 10px;
    border-radius: 6px;
}
  
.img-fluid {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.w-100 {
    width: 100% !important;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}
.text-justify {
    text-align: justify !important;
}
.text-uppercase {
    text-transform: uppercase !important;
}
.d-flex {
    display: flex !important;
}
.d-inline-block {
    display: inline-block !important;
}
.d-inline {
    display: inline !important;
}
.d-none {
    display: none !important;
}
.d-block {
    display: block !important;
}
.d-flex {
    display: flex !important;
}
.flex-column {
    flex-direction: column !important;
}
.flex-row {
    flex-direction: row !important;
}
.d-inline-flex {
    display: inline-flex !important;
}
.align-items-center {
    align-items: center !important;
}
.align-items-start {
    align-items: start !important;
}
.align-items-end {
    align-items: end !important;
}
.align-items-stretch {
    align-items: stretch !important;
}
.align-items-baseline {
    align-items: baseline !important;
}
.justify-content-center {
    justify-content: center !important;
}
.justify-content-start {
    justify-content: flex-start !important;
}
.justify-content-end {
    justify-content: flex-end !important;
}
.container {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 15px;
}
.wrapper {
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background-color: #fff;
}
/*
* section-gphd
*---------------------------------*/
.section-gphd {
    padding: 24px 0 26px;
}
.section-gphd .elm-banner {
    padding: 0 15px;
}
/*
* section-image-customers
*---------------------------------*/
.elm-image-customers {
    padding: 30px 0 45px;
}
.elm-image-customers .elm-title h2 {
    font-size: 29px;
    line-height: 1.2;
    color: var(--primary-color);
    margin-bottom: 20px;
}
.slick-image-customers .slick-slide {
    height: auto;
}
.slick-image-customers .slick-arrow {
    border: 2px solid #ffffff;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: var(--secondary-color);
    color: #fff;
}
.slick-image-customers .slick-arrow svg {
    width: 60%;
    height: 60%;
}
.slick-image-customers .slick-arrow.slick-prev {
    left: -18px;
}
.slick-image-customers .slick-arrow.slick-next {
    right: -18px;
}
.slick-image-customers .slick-arrow svg>path {
    stroke-width: 2px !important;
    stroke: #ffffff !important;
}
.slick-image-customers .slick-dots {
    display: none !important;
}
.elm-contact {
    background: #d8a202;
    border-radius: 18px;
    padding: 26px 28px 32px;
}
.elm-contact .fcontact-note {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 10px;    
}
.elm-contact .sendphone-v1 {
    gap: 18px;
}
.elm-contact .sendphone-v1 input.d-phone {
    border: 1px solid var(--primary-color);
    border-radius: 30px;
    padding: 6px 10px 7px;
    font-size: 19px;
    text-align: initial;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
}
.elm-contact .sendphone-v1 button.d-send {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: #eb4553;
    color: #fff;
    border: none;
    width: 100%;
    padding: 10px 20px;
    border-radius: 11px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    gap: 10px;
}
.elm-contact .sendphone-v1 button.d-send svg {
    fill: #fff;
}
/*
* ELM SIGNS
*---------------------------------*/
.section-signs .section-inner {
    background: url(../images/bg-signs.png) repeat center center;
    background-size: cover;
    padding: 30px 0;
}
.section-signs .section-description {
    font-size: 19px;
    font-style: italic;
}
.block-signs .block-title {
    font-size: 26px;
    line-height: 1.2;
    color: var(--primary-color);
    margin-bottom: 8px;
}
.block-signs .block-title .special-text {
    color: var(--red-color);
    font-size: 40px;
    line-height: 1.2;
}
.block-signs .block-description {
    font-size: 19px;
    font-style: italic;
}
.elm-signs {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: 10px;
    padding: 18px 0 0;
}
.sign-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 15px;
}
.sign-item-inner {
    background: #fff2cb;
    border-radius: 21px;
    padding: 8px 12px;
}
.sign-item-icon {
    width: 100%;
    object-fit: cover;
}
.sign-item-title {
    font-family: 'UTM HelvetIns', sans-serif;
    font-size: 17px;
    font-weight: normal;
    line-height: 1.2;
    color: #000000;
    text-align: center;
    margin-top: 12px;
}
.block-signs .elm-btns {
    padding: 30px 0 0;
}
.block-signs .elm-btns img {
    display: inline-block;
}
/*
* block-taketest
*---------------------------------*/
.block-taketest .block-content {
    background: #e7ffff;
    padding-top: 30px;
    padding-bottom: 30px;
}
.elm-test {
    padding: 10px 0 0;
}
.elm-test .elm-test-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.elm-test .elm-test-item {
    background: #fff;
    border: 1px solid #fff;
    border-radius: 13px; 
    padding: 8px 9px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.elm-test .elm-test-item-title {
    display: flex;
    background: #fff5d8;
    border-radius: 8px;
    padding: 4px 8px;
    gap: 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--primary-color);
    margin-bottom: 20px;
}
.elm-test-item .elm-test-item-content {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.elm-test-item label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    border: 1px solid #e2cd91;
    border-radius: 5px;
    padding: 4px 8px;
    width: calc(50% - 5px);
}
.elm-test-item input[type="radio"] {
    border: 1px solid #e2cd91;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    flex-grow: 0;
}
.elm-test-item input[type="radio"]:checked {
    background: var(--secondary-color);
    border: 1px solid var(--secondary-color);
}
.elm-test .elm-test-item-title img {
    display: inline-block;
    flex-shrink: 0;
    flex-grow: 0;
}
.fcontact-warning {
    border: 2px dashed var(--primary-color);
    border-radius: 13px;
    padding: 10px;
}
.elm-sendtest {
    background: #fff9d2;
    padding: 18px 15px;
}
.fcontact-warning .fcontact-warning-item {
    flex-shrink: 0;
    flex-grow: 0;
    animation: shake 0.5s infinite;
}
.elm-sendtest .elm-sendtest-note {
    font-size: 16px;
    font-style: italic;
    color: #000000;
    padding-top: 18px;
}
.elm-sendtest .sendphone-v1 {
    display: flex;
    flex-direction: column;
    padding-top: 18px;
    gap: 18px;
}
.elm-sendtest .sendphone-v1 input.d-phone {
    border: 1px solid var(--primary-color);
    border-radius: 30px;
    padding: 6px 10px 7px;
    font-size: 19px;
    font-style: italic;
    text-align: center;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
}
/*
* elm-footer
*---------------------------------*/
.site-footer .footer-content {
    background: #ae8506;
    color: #ffffff;
    padding-top: 30px;
    padding-bottom: 0;
}
.section-footer-form .section-inner {
    padding-top: 30px; 
    padding-bottom: 30px; 
}
.elm-footer {
    border: 2px dashed var(--primary-color);
    border-radius: 30px;     
    overflow: hidden;  
}
.elm-footer .fcontact-wrapper {
    padding: 0 20px 20px;
}
.elm-footer .d_contact {
    padding: 23px 0 0 0;
}
.elm-footer .d_contact .sendphone-v1 {
    gap: 14px;
}
.elm-footer .d_contact .sendphone-v1 input.d-phone {
    border: 1px solid var(--primary-color);
    border-radius: 30px;
    padding: 6px 10px 7px;
    font-size: 19px;
    text-align: center;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
}
.elm-footer .d_contact .sendphone-v1 button.d-send {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: #eb4553;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 600;
    gap: 10px;
}
.elm-footer .d_contact .sendphone-v1 button.d-send svg {
    fill: #fff;
}
.elm-footer .fcontact-note {
    font-weight: 600;
    font-style: italic;
    color: #0b77ad;
}
.site-footer .elm-logo {
    background: #7b5e03;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    text-align: center;
}
.site-footer .elm-contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-bottom: 30px;
}
.site-footer .elm-contact-info li {
    display: flex;
    align-items: center;
    gap: 5px;
}
.site-footer .elm-worktime {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    background: #ffffff;
    color: #333333;
    padding: 10px;
    border-radius: 20px;
}
.site-footer .elm-worktime li {
    text-align: center;
}
.site-footer .elm-worktime .elm-time {
    font-size: 22px;
}
.elm-giayphep {
    display: block !important;
    margin-top: 30px;
}
.elm-giayphep p {
    font-size: 14px;
    margin: 3px 0 4px;
}
.elm-giayphep p:last-child {
    margin-bottom: 0px;
}
.elm-giayphep p.elm-giayphep-text-1 {
    font-size: 14px;
    text-transform: uppercase;
}
.elm-aboutus {
    display: block !important;
    padding-top: 15px;
    padding-bottom: 15px;
}
.elm-aboutus ul {
    list-style: none;
    padding: 0 0 0 30px;
    margin: 0;
}
.elm-aboutus ul li {
    list-style: disc;
}
.elm-aboutus ul li>a {
    font-size: 16px;
    text-decoration: none;
}
.site-footer .menu-item a {
    display: block;
    padding: 5px 0 6px;
    color: #fff;
    position: relative;
    font-size: 15px;
    text-transform: initial;
}
.elm-copyright {
    border-top: 1px solid #dcdcdc;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
    font-size: 15px;
}
.block-doctors {
    padding-bottom: 10px;
}
.slick-doctors .slick-slide {
    height: auto;
}
.slick-doctors a {
    background: #fff;
    padding: 10px 15px;
    border: 2px dashed var(--primary-color);
    border-radius: 20px;
    display: flex;
    align-items: center;   
    text-decoration: none; 
}
.slick-doctors a .bsBox-img {
    width: 85px;
    height: 85px;
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    overflow: hidden;
    position: relative
}
.slick-doctors a .bsBox-img img {
    border: 5px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%)
}
.slick-doctors a .bsBox-inf {
    flex: 1;
    padding-left: 30px
}
.slick-doctors a .bsBox-name {
    font-size: 20px;
    font-weight: 700
}
.slick-doctors a .bsBox-inf span {
    display: block;
    color: #666
}
.slick-doctors a .bsBox-inf svg {
    right: 10px;
    width: 20px;
    text-align: center
}