/* --- General Questionnaire Styles --- */
#dynamic-questionnaire-container{max-width:1256px;margin:40px auto;padding:20px;position:relative;font-family:"Plus Jakarta Sans",sans-serif}
.progress-bar-container{width:100%;height:10px;background-color:#e0e0e0;border-radius:100px;margin-bottom:30px;overflow:hidden}
#progress-bar-fill{height:100%;width:0;border-radius:100px;background:linear-gradient(84deg,#299ce7 -.26%,#ff5c6e 97.24%);transition:width .3s ease-in-out}
#question-title{font-size:28px;font-weight:700;margin-bottom:5px;text-align:center;width:100%;box-sizing:border-box}
.question-description-text{font-size:15px;color:#555;margin-bottom:20px;text-align:center;font-style:italic;line-height:1.4}
.questionnaire-main-content{display:flex;flex-direction:column;gap:24px;padding:32px;align-items:center;align-self:stretch;margin-bottom:20px;box-sizing:border-box}
#answer-card{display:flex;flex-direction:column;align-items:flex-start;gap:24px;align-self:stretch;width:100%}
.answer-options-container{display:flex;flex-direction:column;align-items:flex-start;gap:24px;align-self:stretch;width:100%}
.answer-option{display:flex;padding:14px 16px;align-items:center;gap:16px;flex:1 0 0;width:100%;border-radius:4px;border:1px solid #d4d4d4;cursor:pointer;box-sizing:border-box}
.answer-option:hover{border-color:#ab8be2}
.answer-option input[type=radio]{margin-right:10px;flex-shrink:0}
.answer-option label{flex-grow:1;cursor:pointer}
.answer-option>div{flex-grow:1}
#answer-card input[type=number],#answer-card input[type=text]{padding:14px 16px;border:1px solid #d4d4d4;border-radius:4px;width:100%;font-size:16px;box-sizing:border-box}
.next-button-style,.back-button-style{display:flex;height:56px;padding:16px;justify-content:center;align-items:center;align-self:stretch;border-radius:4px;font-size:18px;font-weight:700;border:none;cursor:pointer;width:100%;box-sizing:border-box}
.next-button-style{background:#00a9ff;color:#fff;margin-bottom:10px}
.next-button-style:disabled{background:#ccc;cursor:not-allowed}
.back-button-style{background:0 0;color:#a6aeb1;margin-top:0}
.back-button-style::before{content:"\2190";margin-right:8px;display:inline-block}
.recommendation-full-content{padding:32px;border-radius:12px;border-top:7px solid #ff5c6e;background:#f6f4fc;margin:20px 0;font-size:16px;line-height:1.6;white-space:pre-wrap;color:#333}
#recommendation-area{display:flex;flex-direction:column;padding:32px;align-items:flex-start;gap:15px;align-self:stretch;border-radius:12px;border-top:7px solid #ff5c6e;background:#f6f4fc;margin-top:30px}
#recommendation-title-text{font-size:22px;font-weight:700;background:radial-gradient(718.13% 133.15% at 4.71% 100%,#ff5c6e 4.63%,#ab8be2 54.4%,#299ce7 86.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}
#recommendation-text{font-size:16px;line-height:1.6;margin:0;white-space:pre-wrap}
#previous-answers-summary-container{width:100%;margin-bottom:25px;padding:20px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-sizing:border-box}
#previous-answers-summary-container h3{margin-top:0;margin-bottom:15px;font-size:20px;font-weight:600;color:#343a40;border-bottom:1px solid #dee2e6;padding-bottom:10px}
.previous-answers-list{list-style-type:none;padding-left:0;margin-bottom:0}
.previous-answers-list li{padding:10px 0;border-bottom:1px dotted #ced4da;line-height:1.6;font-size:15px}
.previous-answers-list li:last-child{border-bottom:none}

/* --- Final Summary Page Styles --- */
.summary-action-button{display:inline-flex;justify-content:center;align-items:center;padding:0 15px;height:54px;border-radius:10px;color:#fff;font-size:18px;font-weight:700;text-decoration:none;letter-spacing:.1em;background:linear-gradient(268deg,#ff5c6e 0%,#00a9ff 100%);border:none;cursor:pointer;box-sizing:border-box;transition:filter .3s ease}
.summary-action-button:hover{filter:brightness(110%)}
.summary-actions-container{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:20px}
.summary-back-btn{display:flex;width:138px;height:56px;padding:16px;align-items:center;flex-shrink:0;color:hsla(204,80%,53%,1);background:transparent;border:none;font-size:18px;font-weight:700;cursor:pointer}
.summary-back-btn::before{content:"\2190";margin-right:8px}
.summary-print-btn{width:252px;flex-shrink:0}
.final-summary-layout{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.summary-main-content{flex:1;min-width:60%;display:flex;flex-direction:column;gap:32px}
.summary-sidebar{display:flex;width:384px;padding:32px;flex-direction:column;align-items:center;gap:40px;border-radius:16px;border:1px solid #d9dce2;background:#f8f9fa;box-shadow:7px 6.2px 8.2px #9ca3af26;align-self:stretch;flex-shrink:0}
.summary-sidebar h2{font-family:"Plus Jakarta Sans",sans-serif;font-size:20px;font-weight:800;color:#21272a;margin:0;padding:0;border:none;width:100%;text-align:center}
.journey-list{display:flex;flex-direction:column;gap:24px;width:100%}
.journey-item{display:flex;padding-left:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;align-self:stretch}
.journey-question{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:18px;font-style:normal;font-weight:600;line-height:23.4px;margin:0}
.journey-answer{display:flex;align-items:baseline;gap:4px;width:100%}
.journey-answer-label{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:700;line-height:23.4px}
.journey-answer-text{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:300;line-height:23.4px;flex:1}
.summary-section{display:flex;padding:32px 24px;flex-direction:column;align-items:flex-start;gap:26px;align-self:stretch;border-radius:12px;background:#fff;border:1px solid #e9e4f0;box-shadow:0 3px 6px #0000000a;border-bottom:1px solid #d9dce2}
.summary-section-header{display:flex;align-items:center;gap:16px;width:100%}
.summary-section-header h2{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:20px;font-style:normal;font-weight:800;line-height:normal;margin:0;padding:0;border:none}
.summary-section-header img{flex-shrink:0;width:32px;height:32px}
.profile-key-actions-split{display:flex;flex-direction:row;gap:20px;width:100%;align-items:flex-start}
.profile-details{display:flex;flex:1;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}
.profile-details p{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:26px;margin:0}
.profile-details p strong{font-weight:600}
.profile-details h3{margin-top:16px;font-size:18px;font-weight:700}
.key-actions-visual{display:flex;width:275px;padding:32px 24px;flex-direction:column;align-items:center;gap:12px;border-radius:16px;border:1px solid #d9dce2;background:#f6f4fc;box-shadow:7px 6.2px 8.2px #9ca3af26;flex-shrink:0}
.key-actions-visual > img.key-actions-svg{width:129px;height:129px}
.key-actions-title{text-align:center;font-family:"Plus Jakarta Sans",sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:normal;background:radial-gradient(718.13% 133.15% at 4.71% 100%,#ff5c6e 4.63%,#ab8be2 54.4%,#299ce7 86.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}
.key-actions-list{display:flex;flex-direction:column;width:100%;padding:6px 0;align-items:flex-start;gap:12px}
.key-action-item{display:flex;gap:10px;align-items:flex-start;text-align:left;color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:23.4px}
.key-action-item img{width:24px;height:24px;flex-shrink:0;margin-top:-2px}
.tech-stack-list-container{display:grid;grid-template-columns:repeat(2,1fr);align-items:flex-start;gap:10px 26px;width:100%}
.tech-stack-item{display:flex;padding:6px 10px 6px 0;align-items:flex-start;gap:10px}
.tech-stack-item span{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:26px}
.tech-stack-item span strong{font-weight:600}
.tech-stack-item img.list-checkmark-icon{width:24px;height:24px;flex-shrink:0;margin-top:1px}
.scorecard-content{display:flex;flex-direction:column;gap:8px;width:100%}
.scorecard-item{display:flex;padding:12px;align-items:flex-start;gap:10px;align-self:stretch;border-radius:4px;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;line-height:1.5}
.scorecard-item img{flex-shrink:0;width:24px;height:24px;margin-top:1px}
.scorecard-item--strength{background:#eaf6fd;color:#2c5282}
.scorecard-item--strength strong{color:#2a4365}
.scorecard-item--weakness{background:#fff5f5;color:#c53030}
.scorecard-item--weakness strong{color:#9b2c2c}
.scorecard-overall{font-size:1.1em;font-weight:500;padding-bottom:15px}
.scorecard-overall strong{font-size:1.4em;font-weight:700;color:#ab8be2;display:block;margin-bottom:5px}
.growth-suggestions-list{display:flex;flex-direction:column;width:100%;gap:16px}
.growth-suggestion-item{display:flex;align-items:flex-start;gap:10px}
.growth-suggestion-item span{color:#21272a;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:26px}
.growth-suggestion-item span strong{font-weight:600}
.growth-suggestion-item img.list-checkmark-icon{width:24px;height:24px;flex-shrink:0;margin-top:1px}
.cost-estimator-content *{font-family:"Plus Jakarta Sans",sans-serif;line-height:1.6}
.cost-estimator-content ul{list-style-position:inside;padding-left:10px;margin-top:1em;margin-bottom:1em}
.cost-estimator-content li{margin-bottom:8px}
.cost-estimator-content h3{margin-top:1.5em;margin-bottom:.5em;font-size:18px;font-weight:700}

@media (max-width:1200px){
.final-summary-layout{flex-direction:column}
.summary-sidebar{width:100%;order:1}
.summary-main-content{order:2;min-width:100%}
.profile-key-actions-split{flex-direction:column;align-items:center}
.key-actions-visual{order:1;width:100%;max-width:450px;height:auto}
.profile-details{order:2;width:100%}
.journey-accordion.summary-sidebar{gap:0}
.journey-accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;width:100%}
.journey-accordion-header h2{text-align:left}
.journey-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;width:100%}
.journey-accordion.active .journey-accordion-content{max-height:2000px;transition:max-height .5s ease-in;padding-top:24px}
.accordion-arrow{width:12px;height:12px;border-right:3px solid #21272a;border-bottom:3px solid #21272a;transform:rotate(45deg);transition:transform .3s ease-out}
.journey-accordion.active .accordion-arrow{transform:rotate(225deg);margin-top:-6px}
}
@media (max-width:820px){
.tech-stack-list-container{grid-template-columns:1fr}
}
@media (min-width:992px){
.questionnaire-main-content:not(:has(.final-summary-layout)){flex:2;order:-1;margin-bottom:0}
.questionnaire-main-content #answer-card,.questionnaire-main-content .next-button-style,.questionnaire-main-content .back-button-style{width:100%}
#recommendation-area{flex:1.5;margin-top:0;height:fit-content;align-self:flex-start;order:0}
.summary-actions-container{flex-direction:row}
}
@media print{
body *{visibility:hidden}
.summary-main-content,.summary-main-content *{visibility:visible}
#answer-card{visibility:visible}
.final-summary-layout{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;display:block}
.summary-main-content{width:100%}
.summary-section{box-shadow:none;border:1px solid #ccc}
.summary-actions-container,.next-button-style,.back-button-style,.summary-sidebar,.progress-bar-container,#question-title,#question-description,.backQuestionBtn,#previous-answers-summary-container{display:none!important}
}