/*
Theme Name: Ybera Hair App
Author: Your Name
Description: A custom theme for hair diagnosis.
Version: 1.0
*/
/* Global Styles */
@import url('https://fonts.googleapis.com/css2?family=Abhaya+Libre:wght@400;500;600;700;800&family=Cairo:wght@200..1000&display=swap');

@font-face {
    font-family: 'Avenir LT Pro';
    src: url('font/AvenirLTProLight.otf');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'janna';
    src: url('font/Janna LT Regular.ttf');
    font-weight: 400;
    font-style: normal;
}

body,
html {
    margin: 0;
    padding: 0;
    font-family: 'Avenir LT Pro';
    height: 100vh;
    /* Full viewport height */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    overflow: hidden;
    /* Prevent scrollbars */
    border-left: 1px solid #dfdede;
    border-right: 1px solid #dfdede;
}

.container-flex {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
}

.column {
    flex: 1;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Center the container and set its width and height */
.container {
    width: 820px;
    /* Fixed width */
    height: 100vh;
    /* Full viewport height */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* Align items to start */
    text-align: center;
    overflow-y: auto;
    /* Enable vertical scrolling */
}

.container-tabs {
    flex-grow: 1;
    /* Allow the tabs section to take remaining space */
    display: flex;
    flex-direction: column;
    /* Keep the tabs in a column layout */
    /* justify-content: center; */
    /* Center tabs vertically */
    padding: 40px;
    /* Optional padding for aesthetics */
    text-align: left;
    padding-top: 0;
}

/* Header */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}

.language-select select {
    padding: 8px;
    font-size: 16px;
    border: none;
    background-color: transparent;
    font-family: 'Avenir LT Pro';
}

/* Tabs and Form Section */
.tabs {
    display: flex;
    justify-content: space-between;
    /* Change from space-around to space-between */
    margin-bottom: 90px;
    position: relative;
    align-items: baseline;
    margin-top: 90px;
}

.tab {
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: #999;
    position: relative;
    width: 19%;
    font-family: "Playfair Display", serif;
    position: relative;
    cursor: pointer;
}

.tab.active {
    color: #000;
}

.tab-indicator {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 33.33%;
    background-color: #000;
    transition: 0.3s ease;
}

.tab::before {
    content: none;
    position: absolute;
    /* bottom: 56px; */
    /* left: -158px; */
    bottom: 80%;
    /* Center vertically */
    right: 45%;
    /* Center horizontally */
    transform: translate(-50%, -50%);
    /* Adjust for width and height */
    height: 2px;
    width: 160px;
    background-color: #d2d2d2;
    transition: 0.3s ease;
}

.tabs .tab:first-child::before {
    content: none;
}

.tab.active::before {
    background: black;
}

.separtor {
    width: 140px;
    background: #bbbbbb;
    height: 1px;
}

.number {
    background: #999;
    color: white;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    border-radius: 50%;
    line-height: 25px;
}

.form-section {
    display: none;
    height: 400px;
    /* Set a fixed height for uniformity */
}

.form-section.active {
    display: block;
}

/* Existing Hero Section */
.hero-section {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: url('images/home.png') no-repeat center center/contain;
    /* This section will take the remaining space */
    position: relative;
    background-position: bottom left;
}

.content h1 {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 24px;
    font-family: "Playfair Display", serif;
}

.content p {
    font-size: 14px;
    margin-bottom: 20px;
}

section.hero-section .content {
    max-width: 265px;
    position: absolute;
    right: 40px;
    bottom: 15%;
}

.login-btn {
    background-color: #000;
    color: #fff;
    padding: 12px 35px;
    text-decoration: none;
    border-radius: 25px;
    font-size: 16px;
    max-width: 164px;
    display: block;
    margin: 0 auto;
}

.login-btn:hover {
    background-color: #333;
}

/* Footer */
footer {
    background-color: #000;
    color: #fff;
    padding: 20px;
    text-align: center;
}

.footer-content h2 {
    font-size: 22px;
    margin-bottom: 10px;
}

.footer-content p {
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Form styles */
.form-group {
    margin-bottom: 20px;
}

.step label {
    display: block;
    margin-bottom: 5px !important;
    color: #000 !important;
    font-family: Avenir LT Pro !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: normal !important;
    margin-bottom: 13px !important;
    text-transform: capitalize;
}

.form-group input[type="text"],
.form-group input[type="password"],
.form-group input[type="number"],
.form-group input[type="email"] {
    width: -webkit-fill-available;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 20px;
    margin-top: 15px;
}

.form-group input[type="checkbox"] {
    margin-right: 5px;
}

.form-group .checkbox-label {
    font-size: 14px;
}

.btn {
    display: block;
    width: -webkit-fill-available;
    padding: 12px;
    background-color: black;
    color: white;
    text-align: center;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    cursor: pointer;
    margin-top: 20px;
    font-family: 'Avenir LT Pro';
    text-decoration: none;
}

input {
    color: #000;
    font-family: "Abhaya Libre", serif;
    font-size: 10px;
    font-weight: 500;
    line-height: normal;
}

.form-group-flex {
    display: flex;
    align-items: flex-start;
}

.info-box {
    border-radius: 157px;
    background: #FFF;
    box-shadow: 0px 4px 50px 0px rgba(0, 0, 0, 0.05);
    display: flex;
    padding: 20px 0;
    font-family: 'Playfair Display';
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 20px;
}

.info-name.info {
    font-weight: 600;
    text-align: center;
}

select#employee_id {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 20px;
    margin-top: 14px;
}

.done {
    background-color: rgb(0, 0, 0);
}

.info {
    flex: 1;
    box-sizing: border-box;
}

.column:first-child {
    padding-left: 0;
}

.column label {
    color: rgba(51, 51, 51, 0.50);
    font-family: 'Avenir LT Pro';
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 8px;
}

.container-tabs h1 {
    font-size: 36px;
    text-align: center;
}

.container-tabs p {
    max-width: 446px;
    margin: 0 auto;
    margin-bottom: 50px;
    font-size: 17px;
    /* text-align: center; */
}

.tabs.question-tabs {
    margin-bottom: 50px;
}

.step {
    display: none;
}

.step.active {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.button-nav {
    margin-top: 10px;
}

.step img {
    /* width: 121px; */
}

form#multiStepForm {
    margin-top: 50px;
}

.step h2 {
    color: #000;
    font-family: 'Avenir LT Pro';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 60px;
}

#nextBottomBtn {
    color: #000;
    text-align: center;
    font-family: 'Avenir LT Pro';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 12px 28px;
    border-radius: 20px;
    background: none;
    border: 1px solid red;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    text-transform: uppercase;
}

.radio-group {
    display: flex;
    gap: 45px;
    width: 100%;
}

.radio-container {
    display: flex;
    flex-direction: row;
    gap: 25px;
    width: 100%;
    justify-content: center;
}

.square-radio {
    display: none;
    /* Hide the default radio button */
}

.square-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    /* Pointer cursor on hover */
    margin-bottom: 10px;
    /* Space between options */
    font-size: 14px;
}

.square-label::before {
    content: '';
    /* Create a square before the label */
    display: inline-block;
    width: 14px;
    /* Width of the square */
    height: 14px;
    /* Height of the square */
    background-color: #f0f0f0;
    /* Background color */
    border: 1px solid #000000;
    /* Border color */
    border-radius: 0;
    /* Square corners */
    margin-right: 10px;
    /* Space between square and label text */
    transition: background-color 0.3s, border-color 0.3s;
    /* Transition for smooth effect */
}

.square-radio:checked+.square-label::before {
    background-color: #000000;
    /* Background color when selected */
    border-color: #000000;
    /* Change border color when selected */
}

.square-radio:checked+.square-label {
    font-weight: bold;
    /* Make the label bold when selected */
}

.square-label.img-option:before {
    content: none;
}

.square-radio:checked+.square-label img {
    /* border: 1px solid #000000; */
    border-radius: 35px;
    box-shadow: 0px 4px 4px 0px rgba(255, 255, 255, 0.25), 0px 4px 10.9px 1px rgba(0, 0, 0, 0.11);
}

/* ******************** */
.progress-container {
    position: relative;
    margin-bottom: 25px;
    margin-top: 50px;
    display: flex;
    align-items: center;
}

.progress-bar {
    height: 2px;
    background-color: #efefef;
    width: 100% !important;
    position: relative;
}

.progress-bar:after {
    content: "";
    background: #000000;
    position: absolute;
    height: 2px;
    width: var(--after-width, 0%);
}

.progress-buttons {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    gap: 10px;
}

.nav-button {
    cursor: pointer;
    width: 30px;
    height: 30px;
    line-height: 18px;
    border-radius: 50%;
    text-align: center;
    font-size: 20px;
    font-family: 'Avenir LT Pro';
}

button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.step {
    display: none;
}


x.next-bottom {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: #4caf50;
    color: white;
    border: none;
    cursor: pointer;
}

.next-bottom:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

button#prevBtn {
    background: #989898;
    border: none;
    color: white;
}

button#nextBtn {
    background: #333333;
    color: white;
}

.nav-btn {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-weight: 600;
    font-family: 'Avenir LT Pro';
    text-align: center;
    cursor: pointer;
}

.final_step {
    background: linear-gradient(108deg, rgba(255, 208, 65, 0.89) 22.28%, #111 109.58%) !important;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.07) !important;
    color: white !important;
    border: none !important;
}

h2.result-title {
    font-family: 'Playfair Display';
    font-weight: 600;
    font-size: 18px;
    text-align: center;
}

h2.result-title span {
    font-size: 32px;
    color: #d5ad35;
    margin-right: 10px;
}

p.result-desc {
    text-align: center;
    line-height: 20px;
}

.results-info-box {
    /* align-items: center; */
    display: flex;
    flex-direction: column;
    padding: 0 9px;
    text-align: left;
}

.results-info-box h3 {
    font-family: "Abhaya Libre", serif;
    font-size: 17px;
    margin-bottom: 0 !important;
}

.results-info-box ul {
    padding: 0 18px;
    font-family: 'Avenir LT Pro';
    margin-bottom: 0 !important;
}

.icon {
    text-align: center;
}

.product_box {
    display: flex;
    justify-content: start;
    align-items: center;
    width: 100%;
    gap: 20px;
    background: rgba(255, 255, 255, 0.20);
    box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.10);
    margin-bottom: 20px;
    position: relative;
}

.product_boxs {
    width: 100%;
}

.product_box img {
    padding: 20px;
    width: 120px;
}

.product_box p,
.product_box ul,
.product_box ol {
    margin-bottom: 15px;
    font-size: 13px;
    color: #6B6B6B;
}

.qr_code {
    display: flex;
    align-items: end;
    gap: 10px;
}

.qr_code p {
    color: #000;
    font-family: 'Avenir LT Pro';
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    max-width: 139px;
    margin-bottom: 0;
}

.qr_code_container {
    display: flex;
    justify-content: end;
    margin-top: 30px;
}

.qr_code img {
    width: 82px;
}


.container-tabs {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    padding: 40px;
    text-align: left;
    padding-top: 0;
}

section.result-section {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    text-align: left;
    padding-top: 0;
}

.header-title {
    text-align: center;
    max-width: 614px;
    margin: 0 auto;
    border-radius: 8px;
    border: 0.7px solid #959595;
    box-shadow: 0px 4px 10.9px 1px rgba(0, 0, 0, 0.11);
    padding: 11px 100px;
    margin-top: 30px;
    color: #FFD041;
    /* -webkit-background-clip: text; */
    /* -webkit-text-fill-color: transparent; */
    /* font-family: 'Playfair Display'; */
    font-weight: 400;
    text-transform: uppercase;
}

.header-title h1,
.header-title h2 {
    margin: 0;
    margin-bottom: 14px;
}

.header-title h1 {
    font-size: 20px;
    font-weight: 400;
}

.header-title h2 {
    font-size: 33px;
    font-weight: 600;
}

p.intro_info {
    color: #000;
    font-family: 'Avenir LT Pro';
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    margin-top: 42px;
    margin-bottom: 20px;
}


.infores {
    border-radius: 27.69px;
    border: 1px solid rgba(255, 208, 65, 0.89);
    background: linear-gradient(116deg, rgba(255, 255, 255, 0.41) 10.92%, rgba(241, 241, 241, 0.65) 96.4%);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: space-between;
    color: #333;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: capitalize;
    font-family: "Playfair Display", serif;
}

.name,
.date {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    gap: 7px;
}

.res_title_v2 {
    color: #000;
    margin: 20px 0;
    font-family: 'Playfair Display';
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    position: relative;
    display: flex;
    align-items: center;
    /* Vertically centers the text with the line */
}

.symmary ul li {
    color: #000;
    font-family: Playfair;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.symmary ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.symmary ul li span {
    margin-right: 11px;
}

.symmary ul li span {
    background: linear-gradient(176deg, #FFD041 3.53%, #111 232.17%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.res_title {
    text-align: center;
    border-radius: 27.69px;
    border: 1px solid rgba(255, 208, 65, 0.89);
    background: linear-gradient(116deg, rgba(255, 255, 255, 0.41) 10.92%, rgba(241, 241, 241, 0.65) 96.4%);
    backdrop-filter: blur(10px);
    padding: 14px 40px 19px;
    margin: 30px 0;
    color: #000;
    font-family: 'Playfair Display';
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: capitalize;
}

.res_title span {
    font-size: 30px;
    margin-right: 10px;
    background: linear-gradient(176deg, #FFD041 3.53%, #111 232.17%);
    /* Define the gradient */
    -webkit-background-clip: text;
    /* Clip the background to the text */
    -webkit-text-fill-color: transparent;
    /* Make the text fill transparent */
    background-clip: text;
    /* Standard background-clip */
    color: transparent;
    /* Ensure text color is transparent */
}

.product_info {
    padding-right: 15px;
}

.res2title {
    text-align: center;
    font-size: 18px;
    font-family: "Abhaya Libre", serif;
    margin-bottom: 30px;
}

.res1box {
    margin-bottom: 20px;
}

.res1box b {
    font-weight: 600;
    text-transform: uppercase;
}

p.res_desc {
    color: #000;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    margin: 30px 0;
}

.product_info h3 {
    font-size: 15px;
    margin-top: 40px;
}


.res_title_v2:after {
    content: '';
    flex-grow: 1;
    height: 1px;
    margin-left: 10px;
    background-color: #333;
}

.res5 ul {
    color: #6B6B6B;
    font-family: 'Avenir LT Pro';
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    /* 142.857% */
}

.res5 ul li {
    margin-bottom: 5px;
}

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
}

.popup-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    width: 575px;
    max-height: 485px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    overflow-y: auto;
    /* Allows scrolling for long content */
    overflow-x: hidden;

}

.popup-close {
    cursor: pointer;
    background: black;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    position: sticky;
    /* Makes it sticky */
    top: 10px;
    /* Sticks to the top inside the popup content */
    right: 0;
    /* Aligns it to the right */
    margin-left: auto;
    /* Pushes it to the far right */
    z-index: 100;
    /* Ensures it's above other content */
    display: block;
}

p#popup-text {
    color: #000;
    text-align: center;
    font-family: 'Avenir LT Pro';
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: left;
}

h3.popup-title {
    color: #000;
    -webkit-text-stroke-color: #000;
    font-family: 'Avenir LT Pro';
    font-size: 25px;
    font-style: normal;
    font-weight: bold;
    line-height: normal;
    font-variant: all-small-caps;
}

.popup_ul {
    text-align: left;
}

.popup_ul li {
    margin-bottom: 10px;
}

p#popup-text-technician,
p#popup-text-customer,
#popup-text-technician p {
    text-align: left;
    line-height: 25px;
    margin-bottom: 0;
    max-width: 510px;
}

a.registerBtn {
    background: black;
    color: white;
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 20px;
}

.error {
    text-align: center;
    margin-bottom: 30px;
    color: red;
    font-weight: 700;
}

.input_text_field {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 20px;
}

.tab.active .number {
    background: black;
}

.res1box:first-letter {
    text-transform: capitalize;
}

a.view_btn {
    background: #000000;
    padding: 7px 30px;
    border-radius: 15px;
    color: white;
    text-decoration: none;
    font-family: 'Avenir LT Pro';
    display: block;
    text-align: center;
}

.history_item.container-flex.info-box {
    padding: 20px 0 20px 23px;
}

.history_table h2 {
    text-align: center;
}

.product_info p:empty {
    display: none !important;
}


label.square-label.img-option {
    text-align: center;
    display: flex;
    flex-direction: column;
}

.language-select select {
    font-family: "Cairo", sans-serif !important;
}

.res1box span {
    text-transform: uppercase;
    font-weight: 700;
}

.category {
    position: absolute;
    top: 0;
    right: 0;
    color: white;
    padding: 5px 15px;
}

p#popup-text-technician strong {
    /* text-transform: uppercase; */
    font-weight: 600;
}

p#popup-text-technician ul li,
p#popup-text-technician p {
    padding-bottom: 10px;
}

.footer-spacing {
    padding: 0;
}

/* Responsive for Tablet */
@media (max-width: 1024px) {
    .container {
        padding: 15px;
        width: 100%;
        height: 100vh;
    }

    .content h1 {
        font-size: 28px;
    }

    .content p {
        font-size: 16px;
    }

    .login-btn {
        padding: 10px 25px;
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .container {
        width: 100%;
        padding: 0;
    }

    .hero-section {
        height: auto;
        background-position: bottom;
    }

    .content h1 {
        font-size: 24px;
    }

    .login-btn {
        padding: 8px 20px;
        font-size: 14px;
    }

    .form-section {
        height: auto;
    }

    .history_item.container-flex.info-box {
        flex-direction: column;
        border-radius: 0;
        padding: 20px;
        width: -webkit-fill-available;
    }

    .footer-spacing {
        padding: 60px 0;
    }
}

@media (max-width: 1024px) {


    .footer-content img {
        width: 100%;
    }

    .popup-content {
        width: 415px;
    }

    .column {
        padding: 0 5px;
    }

    .radio-container {
        flex-direction: column;
        gap: 10px;
        justify-content: flex-end;
    }

    .step-info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .radio-container:has(img) {
        flex-direction: column;
        gap: 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        /* Two equal columns */
        /* gap: 1rem; */
        /* Space between items */
    }

    .radio-container.toolong:has(img) {
        flex-wrap: wrap;
    }

    .step h2 {
        margin-bottom: 30px;
    }

    .progress-container {
        margin-top: 20px;
    }

    .radio-container .container-flex {
        flex-direction: column;
    }

    .radio-container .container-flex .column {
        padding: 0;
        /* text-align: center; */
    }

    .step img {
        width: 112px;
    }

    .results-info-boxs .container-flex {
        flex-direction: column;
        gap: 40px;
    }

    .product_box {
        display: flex;
        flex-direction: column;
        padding: 20px;
        width: auto;
        gap: 0px;
    }

    .header-title {
        padding: 10px 10px;
    }

    .res1 .container-flex,
    .res2 .container-flex {
        flex-direction: column;
    }

    .res2title {
        text-align: left;
        margin-bottom: 0;
    }

    .res2 ul {
        margin-top: 5px;
    }

    .res2 .column {
        margin-bottom: 15px;
    }

    .hero-section {
        background: url('images/home-mobile.png') no-repeat center center;
        background-size: contain;
        background-position: bottom center;
    }

    section.hero-section .content {
        max-width: 265px;
        position: absolute;
        top: 33%;
        left: 50%;
        transform: translate(-50%, -50%);
        right: 0;
        bottom: 0;
    }

    .infores {
        flex-direction: column;
    }

    .name,
    .date {
        padding: 8px 20px;
    }

}

@media (max-width:450px) {
    .popup-content {
        width: 325px;
    }
}