/*
 Theme Name:   Twenty Twenty-Three Child
 Template:     twentytwentythree
 Version:      1.0.2
*/

/* --- 1. PERFORMANCE OPTIMIZATION (Agent's Addition) --- */
@layer base, layout, components;

@layer base {
    @font-face {
        font-family: 'Inter-Fallback';
        size-adjust: 107%;
        ascent-override: 90%;
        descent-override: 20%;
        src: local('Arial');
    }

    :root {
        --font-inter: 'Inter', 'Inter-Fallback', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }
}

@layer components {
    /* Optimization: Force font-display swap for tactical components */
    .jh-interactive-component {
        font-family: var(--font-inter);
        font-display: swap;
    }
}

/* --- 2. ORIGINAL SITE STYLES (Restored & Protected) --- */

html {
  scroll-behavior: smooth;
}

/* cta */
 .slider-container-wrapper{
     padding: 150px 0;
}

.slider {
    display: flex;
}

.resume-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.left, .right {
    width: 50%; 
}

.left {
    padding-right: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.right  {
    text-align: center;
}

.avatar-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.download-buttons button {
    padding: 10px 20px;
    font-size: 14px;
    margin-right: 10px;
    cursor: pointer;
}

.create-resume {
    color: #FFF;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; 
    letter-spacing: 0.04px;
    border-radius: 10px;
    background: #0554F2;
    padding: 10px 35px;
    border: none;
    margin-top: 15px;
}

.right img {
    max-width: 100%;
    height: auto;
}

.slide {
    display: none;
    width: 100%;
}

.slide.active {
    display: block;
}

.navigation-container {
    display: flex;
    align-items: center;
    padding-top: 16px;
}

.arrow-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}
.prev-btn, .next-btn{
    padding: 0;
    margin: 0;
    border: none;
    background: none;
}

.prev-btn img, .next-btn img {
    background: #0554F2;
    border: none;
    color: white;
    cursor: pointer;
    padding: 20px;
    margin: 10px;
    border-radius: 50px;
    margin: 0;
}

.prev-btn img:hover, .next-btn img:hover {
    background-color: #0056b3;
}

/* Dot Navigation Style */
.dots-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.dot {
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.3s;
}

.dot.active {
    background-color: #007bff;
}

.arrow-buttons-wrapper, .dots-container-wrapper{
    width: 50%;
}
.top-text-wrapper span{
    color: rgba(5, 84, 242, 0.60);
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0;
}
.top-text-wrapper h2{
    color: #0E0E0E;
    font-family: Inter;
    font-size: 44px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    margin: 10px 0;
} 
.top-text-wrapper .sub-span{
    color: #0554F2;
    font-family: Inter;
    font-size: 44px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    margin: 10px 0;
}
.top-text-wrapper p{
    color: #000;
    margin: 0;
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}
.formmat-wrapper h4{
    color: #000;
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    line-height: 150%;
    letter-spacing: 1.2px;
}
.formmat-wrapper img{
    display: inline;
}
.formmat-wrapper p{
    display: inline;
    color: #000;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
}
.doct-wrapper{
    display: flex;
    gap: 14px;
}

/* transform resume */
.tcc-main-container > nav {
  position: sticky;
  top: 2rem;
  align-self: start;
}

.tcc-main-container .section-nav {
  padding-left: 0;
  border-left: 1px solid #efefef;
  width: 50%;
}

.tcc-main-container .section-nav a {
  text-decoration: none;
  display: block;
  padding: .125rem 0;
  color: #ccc;
  transition: all 50ms ease-in-out;
}

.tcc-main-container nav ul {
    list-style: none;
}

.tcc-main-container nav li {
    list-style: none;
    padding: 24px 0;
    padding-left: 50px;
    font-weight: 400;
    border-left: 4px solid #D9D9D9;
    background-color: transparent;
    transition: all ease-out 250ms;
    padding-right: 30px;
}

.tcc-main-container nav li.active {
    border-left: 4px solid blue;
    background-color: #e6f7ff;
    color: blue;
}

.tcc-main-container nav li a {
    text-decoration: none;
    color: inherit;
    display: block;
}
.tcc-main-container li.nav-item a h4 {
    color: #000;
    font-family: Inter;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; 
    letter-spacing: 0.06px;
    margin: 0;
    padding-bottom: 15px;
}
.tcc-main-container li.nav-item a p {
    color: #000;
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.045px;
    margin: 0;
}

.tcc-main-container  {
  display: flex;
  max-width: 100em;
}
.tcc-main-container .slider-scroll-text-area{
    width: 50%;
}

.tcc-main-container section {
  padding-bottom: 20rem;
}

.tcc-main-container .slider-scroll-wrapper {
    height: 105vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.tcc-main-container .slider-scroll-wrapper img {
    height: auto;
}

/* Testimonials */
.testimonials-wrapper {
    display: grid;
    gap: 25px;
    flex-wrap: wrap;    
    justify-content: space-between;
    position: relative;    
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.testimonials-wrapper-after::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 400px;
    bottom: 0;
    background: linear-gradient(180deg, rgba(237, 244, 249, 0) 0%, #FFF 85.81%);
}

.testimonial {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border: 1px solid #E1E4ED;
    justify-content: space-between;
    flex: 1 1 calc(33.33% - 28px);
    box-sizing: border-box;
}

.avatar {
    background-color: #ccc;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
}
.avatar img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.avatar-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}

.avatar-name p, .author-info span {
    margin: 0;
}

.avatar-content .text {
    margin: 0;
}
.avatar-name p{
    font-family: Inter;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    color:#0554F2;
}
span.username{
    font-family: Inter;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    color: #3C3C4380;
}
p.text{
    font-family: Inter;
    font-size: 17px;
    font-weight: 400;
    line-height: 24px;
    color: #000000;
}

.author-info {
    display: flex;
    justify-content: space-between;
}
.review-btn-wrapper{
    text-align: center;
    padding-top: 20px;
}
.review-btn {
    padding: 14px 74px;
    border-radius: 10px;
    background: #0554F2;
    color: #FFF;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: 0.04px;
    border: none;
}

.author-info span.author {
    font-family: Inter;
    font-size: 13.28px;
    font-weight: 400;
    line-height: 18.59px;
    color: #3C3C4380;
    text-decoration: underline;
}

span.publish-date{
    font-family: Inter;
    font-size: 13.28px;
    font-weight: 400;
    line-height: 18.59px;
    color: #3C3C4380;
}
#menu-item-771 a.hfe-menu-item {
        font-family: Inter;
        font-size: 16px;
        font-weight: 500;
        line-height: 19.36px;
}

#menu-item-772 a.hfe-menu-item{
        font-family: Inter;
        font-size: 16px;
        font-weight: 500;
        line-height: 22px;
        padding: 14px 22px;
        background: #0554F2;
        color:#ffffff;
        border-radius: 10px;
}

/* slider */
.slider-container {
    width: 100%;
    max-width: 600px;
    margin: auto;
    position: relative;
    overflow: hidden;
    display: none;
}

.slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.custom-slide {
    min-width: 100%;
    box-sizing: border-box;
    display: none;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.custom-slide.active {
    display: flex;
    flex-direction: column;
    justify-self: start;
}

.custom-slide img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.caption {
    margin-top: 40px;
    border-radius: 8px;
}

.caption h3 {
    font-family: inter;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 100%;
    padding-bottom: 17px;
    margin: 0;
}

.caption p {
    font-family: inter;
    color: #000;
    font-size: 18px;
    line-height: 150%; 
    margin: 0;
}

.dots {
    text-align: center;
    margin-top: 10px;
}

.dot {
    height: 10px;
    width: 10px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
}

.dot.active {
    background-color: #717171;
}

.slider-scroll-wrapper:nth-child(odd) {
  background-color: #ffffff;
}

.slider-scroll-wrapper:nth-child(even) {
  background-color: #edf4f9;
}

#newsletter_subscriber_form div.elementor-message-danger{
	display:none;
}

@media screen and (max-width: 767px) {
    .slider-container{
        display: block;
    }
}

@media (max-width: 1024px) {
    .testimonial {
        width: 45%;
    }
}

@media (max-width: 767px) {
    .testimonial {
        width: 100%;
    }
    .resume-content {
        display: flex;
        flex-direction: column;
        gap: 50px;
    }
    .left, .right {
        width: 100%;
    }
    .arrow-buttons-wrapper{
        display:none;
    }
    .dots-container-wrapper{
        width: 100%; 
    }
    .top-text-wrapper h2 {
        font-size: 30px;
        line-height: 140%;
    }
    .formmat-wrapper h4{
        font-size: 18px;
        line-height: 150%;      
    }
    .slider-container-wrapper {
        padding: 100px 0;
    }
}

@media screen and (max-width: 850px) {
  .testimonial { 
       flex: 1 1 calc(45.33% - 28px);
    }
}
@media screen and (max-width: 570px) {
  .testimonial { 
       flex: 1 1 calc(100% - 0px);
    }
}

/* phone-slide-list */
body {
    font-family: 'Inter';
}

.phone-slider-list.slick-initialized.slick-slider.slick-dotted{
    display: none;
}
.phone-slider-item {
    padding-right: 15px;
}

.phone-slider-item img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.phone-slide-caption {
    margin-top: 20px;
}

.phone-slider-item h3 {
    color: #000;
    font-size: 18px;
    font-weight: 600;
    padding-top: 20px;
    margin: 0;
}

.phone-slider-list p {
    color: #000;
    font-size: 18px;
    line-height: 150%;
    margin: 0;
}

.slick-dots li button:before{
    font-size: 12px !important;
    color:#8C8C8C !important ;
}
.slick-dots li.slick-active button:before {
    opacity:1 !important;
    color: #0554F2 !important;                                                         
} 
.slick-dots li button:hover:before {
    color: #0554f270 !important ;
    opacity: 1 !important;
}       

@media screen and (max-width: 650px) {
    .phone-slider-list.slick-initialized.slick-slider.slick-dotted{
         display: block;
    }
    .tcc-main-container{
         display:none;
    }
}

/* resume slider */
.resume-slider-wrapper {
    display: flex;
    flex-direction: column;
    position: relative;
}

.custom-prev-btn, .custom-next-btn {
    position: absolute;
    background-color: #0554F2;
    top: 97%;
    border: none;
    width: 50px;
    height: 50px;
    padding:15px;
    cursor: pointer;
    z-index: 100;
    transition: background-color 0.3s ease;
    border-radius: 50px;
}

.custom-prev-btn {
    left: 10px;             
}

.custom-next-btn {
    left: 90px;             
}

.custom-prev-btn:hover, .custom-next-btn:hover {
    background-color: #043bb5;
}

.resume-content-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.resume-left-section, .resume-right-section {
    width: 50%;
}

.resume-left-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.resume-right-section {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius:8px;
}

.resume-create-resume-btn {
    color: #FFF;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    background: #0554F2;
    font-family:"inter";
    padding: 10px 35px;
    border: none;
    cursor: pointer;
    margin-top:2em !important;
    margin-bottom:2em !important;
    transition: background 0.3s ease;
    border-radius: 10px;
}

.resume-create-resume-btn:hover {
    background: #043bb5;
}

.resume-top-text-container span {
    color: rgba(5, 84, 242, 0.60);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

.resume-top-text-container h2 {
    color: #0E0E0E;
    font-size: 44px;
    font-weight: 600;
    line-height: 140%;
    margin: 10px 0;
}

.resume-top-text-container .highlighted-text {
    color: #0554F2;
    font-size: 44px;
    font-weight: 600;
    line-height: 140%;
}

.resume-top-text-container p {
    color: #000;
    font-size: 24px;
    font-weight: 400;
    line-height: 30px;
    margin:0;
}

.resume-format-wrapper h4 {
    color: #000;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1.2px;
    margin:0;
    padding-top: 44px;
    padding-bottom: 15px;
}

.resume-format-wrapper img {
    display: inline-block;
}

.resume-format-wrapper p {
    display: inline-block;
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%;
    margin:0;
}

.resume-document-wrapper {
    display: flex;
    gap: 14px;
    margin-bottom: 15px;
    align-items: center;
}

.resume-right-section img {
    max-width: 100%;
    height: auto;
    background-color:#fff;
}

.slick-dots {
    width: 50% !important;
    right: 0;
    bottom: 0px !important;
}

.custom-prev-btn, .custom-next-btn{
    bottom:0;
    position: static;
}

.resume-document-slider-buttons {
    width: 50% !important;
    display: flex;
    gap: 12px;
}

.elementor-message-success{
    color:white !important;
}

@media (max-width: 767px) {
    .responsive-hide{
        display:none;
    }
    .resume-left-section, .resume-right-section {
        width: 100%;
        padding-right: 0;
    }
    .resume-top-text-container h2 {
        font-size: 32px;
    }
    .resume-top-text-container .highlighted-text{
        font-size: 32px;
    }
    .resume-top-text-container p {
        font-size: 20px;
    }
    .resume-create-resume-btn {
        font-size: 14px;
        padding: 8px 25px;
    }
}

@media (max-width: 700px) {
    .resume-content-wrapper {
        flex-direction: column;
    }
    .phone-slider-list.slick-initialized.slick-slider.slick-dotted  .slick-dots {
       bottom: -40px !important;
    }
    .slick-dots {
        width: 100% !important;
        bottom: -20px !important;
    }
    .custom-prev-btn, .custom-next-btn {
        display: none !important;
    }
}
 /* resume slider css end here */