:root {
--font-size-h1: 4rem;
--font-size-h2: 2.3rem;
--font-size-h3: 1.875rem;
--font-size-h4: 1.5rem;
--font-size-h5: 1.25rem;
--font-size-h6: 1.125rem;
--font-size-body-lg: 1rem;
--font-size-body-md: 0.9375rem;
--font-size-body-sm: 0.875rem;
--font-size-body-xs: 0.75rem;
--font-size-button: 0.875rem;
--font-size-caption: 0.75rem;
}

html, body {
margin: 0;
padding: 0;
min-height: 100vh;
font-family: "Inter", sans-serif;
background-color: #fff;
color: #fff;
text-align:left;
}

.container{
    max-width:1200px;
    margin:0 auto;
}

h1, h2, h3, h4, h5 { color: #fff; }
h1 { font-size: var(--font-size-h1); max-width: 700px; margin: 0 auto; text-align: center; }
h2{font-size: var(--font-size-h2);}
h3{font-size: var(--font-size-h3);}
h4{font-size: var(--font-size-h4);}

.padding-bottom-20{
    padding-bottom: 20px;
    display:block;
}

#quiz-result h1, h2, h3, h4, h5 { color:#000; }
#quiz-result .level-header h1{ color:#fff; padding: 30px 0; text-transform:capitalize; }
.question-card h2{ color:#000; }
#quiz-container { width: 100%; padding: 2rem; box-sizing: border-box; }
#quiz-form { 
margin: 0px auto; 
min-height: 100vh; 
max-width: 1164px; 
width:100%; 
}
.quiz-form-header {
display: flex;
justify-content: space-between; /* Pushes items to far ends */
align-items: center;
width: 100%;
margin-top: 10px;
}
.left img {
max-height: 150px; /* Adjust as needed */
height: auto;
}
.right {
text-align: right;
}
.row {
display: flex;
flex-wrap: wrap;
margin: 0 -10px; /* optional: gutter spacing */
}

.col {
flex: 1;
padding: 10px;
min-width: 0; /* prevents overflow */
box-sizing: border-box;
}

/* Make columns full width on small screens */
@media (max-width: 600px) {
.col {
flex: 100%;
max-width: 100%;
}
}
#quiz-intro { padding: 40px; color: #000; max-width: 1200px; margin: 0 auto;}
#quiz-intro h1 { font-size: 33px; }

.nav{ width:100%; padding: 50px 0 0 0; }
.nav .back {
display: flex;
align-items: center; /* vertical alignment */
gap: 0.5rem;          /* space between icon and text */
color: white;         /* color for both icon and text */
}

.nav .back svg {
width: 24px;
height: 24px;
fill: currentColor;   /* so it inherits white from .back */
}
.scales { max-width: 600px; margin: 0 auto; font-size: 22px; text-align:center; }
.booknow { font-weight: 800; color: green; font-size: 40px; }
.question-card { max-width: 800px; margin: 0; position:relative;}
.question-card p { font-weight: bold; font-size: 1.3em; margin-bottom: 1rem; }

.answers { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 2rem; }
.answers button, #start-btn, .nav-buttons button, .modal-content button {
background-color: #1c78fe;
color: #fff;
border: none;
padding: 26px 2rem;
border-radius: 5px;
font-family: "Inter", sans-serif;
font-size: 16px;
cursor: pointer;
width: 100%;
line-height: 25px;
}
.answers button.selected { background-color: #0b5ed7; }

.start-btn-wrapper, .nav-buttons { max-width: 400px; margin: 0 auto; justify-content: center; }
.nav-buttons { gap: 1rem; margin-top: 2rem; justify-content: flex-end; }
#prev-btn { max-width: 200px; }

.columns { display: flex; gap: 20px; max-width: 1100px; margin: 0 auto; }
.columnl, .columnr { flex: 1; }
.column1-wrapper { margin-left: auto; align-items: center; }
.footer, .footer1 { margin: 0 auto; max-width: 800px; text-align: center; }

.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; z-index: 9999; }
.modal.hidden { display: none; }
.modal-content { background: #fff; color: #000; padding: 2rem; border-radius: 10px; width: 90%; max-width: 400px; text-align: center; }
.modal-content input { width: 90%; padding: 0.5rem; margin-bottom: 1rem; }

#quiz-result.blur { filter: blur(5px); pointer-events: none; user-select: none; }

#level-content, .level-block { display: none; animation: fadeIn 0.5s ease-in; }
#modal-level-1 h2 { color: #d41f34; }
#modal-level-2 h2 { color: #f26527; }
#modal-level-3 h2 { color: #ffa500; }
#modal-level-4 h2 { color: #7ed321; }
#modal-level-5 h2 { color: #1c78fe; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.level-section {
background: #fff; color: #333;
border-radius: 8px; padding: 2rem; margin: 0 auto; max-width: 800px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
font-family: 'Inter', sans-serif;
}
.level-section h2 {margin-bottom: 1rem; margin-top:0px; }
.level-section p { margin-bottom: 1rem; line-height: 1.6; }
.level-section ul { padding-left: 1.25rem; margin-bottom: 1rem; }
.level-section ul li { margin-bottom: 0.5rem; }
.level-section blockquote {
margin-top: 1rem;
padding-left: 1rem;
border-left: 4px solid #ccc;
color: #555;
}
.level-section a.button {
display: inline-block;
padding: 0.75rem 1.5rem;
background-color: #1c78fe;
color: #fff;
text-decoration: none;
border-radius: 4px;
}

.circle-checklist {
list-style: none;
padding-left: 0;
font-size: 1rem;
}

.circle-checklist li {
position: relative;
padding: 4px 32px; 
margin-bottom: 1em;
}

.circle-check {
position: absolute;
left: 0;
top: 0.1em;
width: 1.5em;
height: 1.5em;
background-color: white;
border-radius: 50%;
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="none"><circle cx="256" cy="256" r="246" stroke="%23007BFF" stroke-width="40" fill="white"/><path d="M368 176L224 336L144 256" stroke="%23007BFF" stroke-width="40" stroke-linecap="round" stroke-linejoin="round"/></svg>');
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
@media (max-width: 1000px) {
.columns { display: block !important; max-width: 600px; margin: 0 auto; }
.columnl, .columnr, .columnr img { width: 100%; }
#level-content, .level-block { display: none; animation: fadeIn 0.5s ease-in; padding: 0px 0; }
.level-section blockquote{
    margin-left:20px;
}
}


@media (max-width: 600px) {
.level-section { padding: 1.5rem; margin: 1rem; }
.level-section h2 { font-size: 1.25rem; }
#question-area{
    padding:20px;
}
.answers{
    grid-template-columns: unset;
}
.quiz-form-header, .quiz-form-header p{
    display:block;
    text-align:center;
    color:#fff;
}
}

#quiz-progress-wrapper {
position: fixed; bottom: 0; left: 0; width: 100%; background-color: rgb(243, 243, 243);
z-index: 10000; padding: 10px 0 0; text-align: center;
}
#quiz-progress-text {
color: #000; font-weight: bold; font-size: 0.9rem; margin-bottom: 5px;
}
#quiz-progress-container {
width: 100%; height: 30px; overflow: hidden;
}
#quiz-progress-bar {
height: 100%; width: 0%; background-color: #1c78fe;
transition: width 0.3s ease-in-out; border-radius: 0 5px 5px 0;
}
#quiz-result .level-header h1{
font-size: 40px;
}

#quiz-result, #quiz-result p{
color: #000 !important;
}

.custom-hs-form {
max-width: 500px;
margin: 0 auto;
font-family: "Inter", sans-serif;
}

.custom-hs-form input[type="text"],
.custom-hs-form input[type="email"], 
.custom-hs-form input[type="tel"]{
display: block;
width: 100%;
font-size: 1rem;
padding: 1rem;
margin-bottom: 1.5rem;
border-radius: 12px;
border: 1px solid #ccc;
background-color: #fff;
color: #333;
box-sizing: border-box;
transition: border-color 0.2s ease-in-out;
}

.custom-hs-form input::placeholder {
color: #999;
transition: opacity 0.2s ease;
}

.custom-hs-form input:focus::placeholder {
opacity: 0;
}

.custom-hs-form input:focus {
border-color: #1c78fe;
outline: none;
}

.custom-hs-form button {
display: block;
width: 100%;
padding: 1rem;
font-size: 1rem;
font-weight: 600;
border-radius: 12px;
border: none;
background-color: #1c78fe;
color: #fff;
cursor: pointer;
transition: background-color 0.2s ease-in-out;
}

.custom-hs-form button:hover {
background-color: #125fd4;
}

.custom-hs-form label {
display: none; /* hides labels visually but keeps semantic structure */
}

canvas {
max-width: 600px;
margin: 0 auto;
display: block;
background-color:rgb(243, 243, 243)
}
.legend {
margin-top: 20px;
text-align: center;
}
.legend div {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
font-size: 14px;
}
.color-box {
width: 12px;
height: 12px;
display: inline-block;
border-radius: 2px;
}

.font-circle {
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: red; /* Or any color you want */
  vertical-align: middle; /* Aligns better with text */
}


.category-wrapper, #result-columns{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  height:auto;
}

.category-wrapper  > *, #result-columns > * {
  flex: 1 1 calc(50% - 0.5rem); /* 50% width minus half the gap */
  box-sizing: border-box;
}

.category-wrapper .category{
    border:1px solid #000;
    border-radius: 15px;
    padding:40px 20px;
}

.cta-image img{
    width:100%;
}

.donut-chart{
    min-height:70vh;
    background-color:rgb(243, 243, 243);
    padding-top: 60px;
}

.btn-book{
    background-color:blue;
    color:#fff;
    padding:20px 40px;
    text-decoration:none;
    border-radius: 8px;
    margin: 22px 0px;
    display: block;
    max-width: 200px;
}

#improve-core-competencies{
    margin:150px 0;
}

.question-category-label{
    position:absolute; 
    top:-35px; 
    left:0; 
    background:#1c78fe; 
    padding:0.25rem 0.75rem; 
    font-size:0.9rem; 
    font-weight:bold; 
    border-bottom-right-radius:6px;
}

.arrow-header{
    width:30px;
    margin-right: 20px;
}

@media (max-width: 1260px) {
  .container{
    margin:0 30px;
  }
  #improve-core-competencies h1{
    font-size: 45px;
  }
}


@media (max-width: 950px ) {
  .container{
    margin:0 30px;
  }

  #improve-core-competencies h1{
    font-size: 45px;
  }

  .btn-book{
    padding: 20px 38px;
  }

  .category h2{
    font-size: 2rem;
  }
}
