.defence-age-calculator {
    max-width:1200px;
    margin:auto;
    background:#fff;
    padding:15px;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

.defence-age-calculator,
.defence-age-calculator * {
    font-family: "Roboto Condensed", Arial, Helvetica, sans-serif;
}

/* ===============================
   BASE LAYOUT
=================================*/

.dac-form{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.dac-form{
    position:relative;
    z-index:5;
}

#dac_output{
    position:relative;
    z-index:4;
}

.dac-sticky-cta{
    z-index:1;
}

.defence-age-calculator *{
    pointer-events:auto;
}

/* ===============================
   DESKTOP LAYOUT
=================================*/
@media (min-width:1025px){

/* Calculator section grid */
.dac-section-calculator{
display:block;
}

/* Lead section container */
.dac-section-lead{
display:block;
}

/* ===============================
   STEP GRID LAYOUT
================================ */

/* STEP 1 */
.dac-step-1{
display:grid;
grid-template-columns: repeat(2,1fr);
gap:24px;
}

/* STEP 2 */
.dac-step-2{
display:grid;
grid-template-columns: repeat(3,1fr);
gap:24px;
}

/* STEP 3 */
.dac-step-3{
display:grid;
grid-template-columns: repeat(2,1fr);
gap:24px;
}

/* Step 3 Layout Fix */
.dac-step-3 .dac-coaching{
grid-column: span 1;
}

.dac-step-3 .dac-mode{
grid-column: span 1;
}

.dac-step-3 .dac-field-full{
grid-column:1 / -1;
}

}
	
	/* Section titles must span full row */
	.dac-section-title{
    grid-column: 1 / -1;
	}

    .dac-coaching{
grid-column: span 1;
}

    /* Coaching mode always moves to next row */
    .dac-mode{
    grid-column: 1 / -1;
    }

    /* Question full width */
    .dac-field-full{
        grid-column: 1 / -1;
    }

    /* Button full width */
    .dac-btn{
        grid-column: 1 / -1;
    }

    /* Keep first row labels single line */
    .dac-section-calculator .dac-field label{
        white-space:nowrap;
    }

.dac-step-3 .dac-coaching{
grid-column: span 1;
}

.dac-step-3 .dac-mode{
grid-column: span 1;
}

.dac-step-3 .dac-field-full{
grid-column:1 / -1;
}

/* Full width fields (Question + Button) */
.dac-field-full,
.dac-btn {
    grid-column:1 / -1;
}

/* Add space between Question and Button */
.dac-field-full{
    margin-bottom: 16px;
}

.dac-field {
    display:flex;
    flex-direction:column;
    }
.dac-field label {
    font-weight:600;
    margin-bottom:6px;
    font-size: 16px;
    }

.dac-required { color:red; }

.dac-field input,
.dac-field select,
.dac-field textarea {
    padding:12px;
    border-radius:8px;
    border:1px solid #ccc;
    font-size:14px;
    height:48px;
    box-sizing:border-box;
    transition:0.2s ease;
    appearance:none;

    /* FORCE CONSISTENT LOOK */
    background:#ffffff;
    color:#333333;
}

/* Normalize browser rendering */
.defence-age-calculator input,
.defence-age-calculator select{
    -webkit-appearance:none;
    appearance:none;
}

.dac-field textarea {
    min-height:70px;
    resize:vertical;
}

/* =================================
   FORCE UNIFORM FIELD BACKGROUND
================================= */

.defence-age-calculator input,
.defence-age-calculator select,
.defence-age-calculator textarea{
    background:#ffffff !important;
    color:#333333 !important;
}

/* ================================
   Section Layout Styling
================================ */

.dac-section-calculator{
    background:#f8fafc;
    padding:22px;
    border-radius:12px;
    margin-bottom:30px;
}

.dac-section-lead{
    background:#f5f9f2;
    padding:22px;
    border-radius:12px;
}

.dac-section-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:5px;
    letter-spacing:0.3px;
    color:#213d09;
}

.dac-trust-line{
font-size:14px;
color:#6b7280;
margin-top:-8px;
margin-bottom:18px;
}

.dac-field input[type="date"]{
    appearance:none;
    -webkit-appearance:none;
    background:#ffffff !important;
    color:#333333 !important;
}

.dac-field input[type="date"]::-webkit-datetime-edit{
    font-size:14px;
    font-family:"Roboto Condensed", Arial, Helvetica, sans-serif;
    font-weight:500;
    color:#333;
}
	
/* 🔥 Force validation borders for dropdowns */
.dac-field select.dac-invalid {
    border:1px solid #e53935 !important;
}

.dac-field select.dac-valid {
    border:1px solid #2e7d32 !important;
}

/* Custom dropdown arrow */
.dac-field select {
    background-image:url("data:image/svg+xml;utf8,<svg fill='%23333' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>");
    background-repeat:no-repeat;
    background-position:right 12px center;
    background-size:16px;
    padding-right:40px;
}

/* Button */
.dac-btn {

    background: linear-gradient(180deg, #62812a, #213d09);
    color:#ffffff;
    border:none;
    border-radius:10px;
    padding:14px 20px;
    font-size:18px;
    font-weight:700;
    letter-spacing:0.4px;
    cursor:pointer;

    transition: all 0.25s ease;
    box-shadow:0 6px 16px rgba(0,0,0,0.15);
}

/* Hover */
.dac-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(0,0,0,0.25);
}

/* Active press effect */
.dac-btn:active{
    transform:translateY(0);
    box-shadow:0 4px 10px rgba(0,0,0,0.2);
}

.dac-error {
    color:#e53935;
    font-size:12px;
    min-height:16px;
    margin-top:4px;
}

.dac-invalid { border:1px solid #e53935 !important; }
.dac-valid { border:1px solid #2e7d32 !important; }

@keyframes dac-shake {
    0%{transform:translateX(0);}
    25%{transform:translateX(-4px);}
    50%{transform:translateX(4px);}
    75%{transform:translateX(-4px);}
    100%{transform:translateX(0);}
}
.dac-shake { animation:dac-shake 0.3s ease; }

.dac-hidden { display:none; }

.dac-show {
    display:block;
    animation:fadeSlide 0.6s ease forwards;
}

@keyframes fadeSlide {
    from{opacity:0;transform:translateY(15px);}
    to{opacity:1;transform:translateY(0);}
}

 /* Add spacing between button and results 
#dac_output {
    margin-top: 30px;
}
	
 Add spacing between button and results */

/* Summary Banner */
.dac-summary {
    padding: 18px 18px;
    border-radius: 14px;
    margin-bottom: 22px;
    text-align: center;
    background: #f8f9fa;
    box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}

.dac-summary p {
    margin: 8px 0;
    line-height: 1.5;
}

.dac-summary ul {
    margin: 8px 0 12px 18px;
    padding-left: 10px;
}

.dac-summary li {
    margin-bottom: 4px;
}

.dac-summary ul{
    display: inline-block;
    text-align: left;
    margin: 12px auto 15px auto;
    padding-left: 18px;
    max-width: 520px;
    list-style-position: outside;
}

.dac-summary li{
    margin-bottom: 6px;
    line-height: 1.5;
}

.dac-summary-success {
    background: #f0fdf4;
    color: #065f46;
}

.dac-summary-fail {
    background: #fef2f2;
    color: #7f1d1d;
}

.dac-summary-title{
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
}

@media (max-width:768px){
    .dac-summary-title{
        font-size:22px;
    }
}

/* ===== Professional Summary CTA (Final Version) ===== */
.dac-summary-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: 16px;
    padding: 12px 22px;

    background: #62812a;
    color: #ffffff;

    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;

    border-radius: 8px;
    text-decoration: none;

    transition: background 0.25s ease, 
                transform 0.2s ease, 
                box-shadow 0.25s ease;

    box-shadow: 0 4px 14px rgba(15, 81, 50, 0.25);
}

/* Font Awesome icon alignment */
.dac-summary-cta i {
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: FontAwesome !important;
    font-style: normal;
    font-weight: normal;
}

/* Hover */
.dac-summary-cta:hover {
    background: #0c3f27;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(15, 81, 50, 0.35);
}

/* Active click */
.dac-summary-cta:active {
    transform: translateY(0);
    box-shadow: 0 3px 10px rgba(15, 81, 50, 0.25);
}

/* Prevent theme override */
.dac-summary-cta:visited {
    color: #ffffff;
}

/* Mobile */
@media (max-width: 768px) {
    .dac-summary-cta {
        width: 100%;
        padding: 14px;
        font-size: 15px;
    }
}

/* Desktop Table */
table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

td {
    padding: 14px 10px;
    border-bottom: 1px solid #f0f0f0;
    text-align: center;
}

/* Increase font size for key result columns */
.dac-table-wrapper td:nth-child(2),
.dac-table-wrapper td:nth-child(3),
.dac-table-wrapper td:nth-child(4){
    font-size:16px;
}

table tbody tr {
    transition: background 0.25s ease, transform 0.25s ease;
}

table tbody tr:nth-child(even) {
    background: #f9fafc;
}

table tbody tr:hover {
    background: #f3f8f1;
    box-shadow: inset 0 0 0 1px rgba(98,129,42,0.08);
}

table thead th {
    background: linear-gradient(90deg,#62812a,#4e6b20);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* Align table headers */
table thead th {
    text-align: center;
}

table thead th:first-child {
    text-align: left;
}

/* Left align only Exam column */
table th:first-child,
table td:first-child {
    text-align: left;
}
	
.dac-exam-name {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    background: #62812a;
    padding: 6px 12px;
    border-radius: 8px;
    display: inline-block;
}

/* Status Column Styling */
.dac-status {
    border-radius: 8px;
    padding: 12px 8px;
    text-align: center;
    color: #ffffff;
}

.dac-eligible {
    background-color: #62812a !important;
}

.dac-not {
    background-color: #e87205 !important;
}

/* Main Eligible / Not Eligible text */
.dac-status-main {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.4px;
}

/* Reason text */
.dac-status-reason {
    font-size: 13px;
    margin-top: 6px;
    font-weight: 500;
    opacity: 0.95;
}

/* Remaining Attempts Styling */
.dac-attempt-count{
    font-size:18px;
    font-weight:800;
    margin-bottom:6px;
    color:#213d09;
}

.dac-attempt-list{
    font-size:13px;
    line-height:1.5;
}

.dac-attempt-list div{
    background:#f4f6ff;
    padding:4px 8px;
    border-radius:6px;
    margin-bottom:4px;
    display:inline-block;
}

.dac-underage-msg{
    font-size: 13px;
    font-weight: 600;
    color: #2e7d32;
}
	
/* Increase Exam column width (Desktop) */
@media (min-width: 769px) {
    table th:first-child,
    table td:first-child {
        width: 18%;
        white-space: nowrap;
    }
	/* Cut-off Date column */
    table th:nth-child(2),
    table td:nth-child(2){
        width: 16%;
        white-space: nowrap;
    }
}

/* Highlight entire eligible row */
.dac-row-eligible {
    background: #f0fdf4 !important;
}

/* Slight glow effect */
.dac-row-eligible:hover {
    background: #eaf7ee !important;
    box-shadow: inset 0 0 0 1px rgba(46,125,50,0.15);
}
	
/* Premium Table Wrapper */
.dac-table-wrapper {
    margin-top: 25px;
	width:100%;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

/* Ensure results span full grid width */
#dac_output{
    width:100%;
    grid-column: 1 / -1;
}

/* Section Heading Styling */
.dac-section-heading {
    margin: 30px 0 18px 0;
    padding: 12px 16px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background: #f8fafc;
    border-radius: 10px;
}
	
/* MOBILE FIX — NO SCROLL */
@media (max-width: 768px) {

    .dac-table-wrapper {
        width: 100%;
        overflow: hidden !important;
    }

    table {
        display: block;
        width: 100% !important;
        border: none;
    }

    table, thead, tbody, th, td, tr {
        display: block;
        width: 100%;
    }

    thead {
        display: none;
    }

tr {
    width: 100%;
    background: #ffffff;
    margin-bottom: 18px;
    padding: 16px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.06);
    overflow: hidden;
}

    td {
        width: 100%;
        border: none;
        text-align: left;
        padding: 8px 0;
        font-size: 14px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #2d2d2d;
    letter-spacing: 0.3px;
    text-transform: uppercase;
	}
}

	
/* Prevent horizontal overflow globally inside calculator */
.defence-age-calculator {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}

.defence-age-calculator * {
    box-sizing: border-box;
}

.dac-table-wrapper td {
    word-break: break-word;
}

	
/* Sticky CTA */
.dac-sticky-cta {
    position:relative;
	z-index: 1;
    bottom:0;
    margin-top:25px;
    background:linear-gradient(90deg,#62812a,#213d09);
    color:#fff;
    padding:16px;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,0.15);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
}
	
.dac-cta-buttons {
    display:flex;
    gap:10px;
}

.dac-cta-buttons a {
    background:#fff;
    color:#62812a;
    padding:15px 20px;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    font-size:20px;
}

.dac-summary-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 22px rgba(0,0,0,0.3);
}
	
/* Make full-width fields span both columns */
    .dac-field-full{
        grid-column:1 / -1;
}

.dac-cta-content {
    width:100%;
}

.dac-cta-heading {
    font-size:20px;
    font-weight:800;
    margin-bottom:6px;
    text-align: center;
}

.dac-cta-subtext {
    font-size:14px;
    opacity:0.95;
    margin-bottom:14px;
    text-align: center;
}

.dac-primary-btn{

background:#ffffff;
color:#213d09;

font-size:18px;
font-weight:700;

padding:16px 20px;

border-radius:10px;

text-align:center;

flex:1;

transition:all .25s ease;

}

.dac-primary-btn:hover{
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,.15);
}

.dac-secondary-btn{

background:#25D366;
color:#ffffff;

font-size:16px;
font-weight:600;

padding:14px 18px;

border-radius:8px;

text-align:center;

transition:all .25s ease;

}

.dac-secondary-btn:hover{
background:#1ebe5d;
}

@media (max-width:768px){
    .dac-cta-buttons{
        flex-direction:column;
        gap:12px;
    }

    .dac-primary-btn{
        width:100%;
        font-size:18px;
    }

    .dac-secondary-btn{
        width:100%;
    }
}
	
.defence-age-calculator .select2-selection--single {
    height: 48px !important;
    border-radius: 8px !important;
    border: 1px solid #ccc !important;
}

/* Select2 Validation Border Fix */
.select2-container--default .select2-selection--single.dac-invalid {
    border:1px solid #e53935 !important;
}

.select2-container--default .select2-selection--single.dac-valid {
    border:1px solid #2e7d32 !important;
}

/* ================================
   Collapsible Exam Rows
================================ */

.dac-other-exam {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.dac-other-exam.dac-show-row {
    display: table-row;
    opacity: 1;
}

/* MOBILE FIX */
@media (max-width: 768px){

    /* Make table stack properly */
    .dac-table-wrapper table,
    .dac-table-wrapper tbody {
        display: block;
    }

    /* Only style visible rows */
    .dac-table-wrapper tbody tr:not(.dac-other-exam),
    .dac-other-exam.dac-show-row {
        display: block;
        width: 100%;
        margin-bottom: 18px;
        padding: 16px;
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
    }

    /* Remove spacing from last visible row */
    .dac-table-wrapper tbody tr:last-of-type {
        margin-bottom: 0;
    }

}

/* ================================
   Dynamic Disclaimer Style
================================ */
.dac-disclaimer {
    margin-top: 18px;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.6;
    text-align: center;
}

/* ================================
   Toggle Button Styling
================================ */

.dac-toggle-wrapper {
    text-align: center;
    margin: 25px 0 10px 0;
}

.dac-toggle-btn {
    padding: 10px 22px;
    background: #62812a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dac-toggle-btn:hover {
    background: #4e6b20;
    transform: translateY(-2px);
}

/* Arrow animation */
.dac-toggle-icon {
    transition: transform 0.3s ease;
}

.dac-toggle-btn.expanded .dac-toggle-icon {
    transform: rotate(180deg);
}

/* Highlight selected exam if NOT eligible */
.dac-selected-not-eligible{
    background:#fff9e6 !important;
}

.dac-field textarea{
    background:#ffffff;
    color:#333333;
}

/* ===============================
   Age Calculator Mobile Spacing Fix
=============================== */
@media (max-width: 768px) {

    .defence-age-calculator .dac-field {
        margin-bottom: 20px;
    }

    .defence-age-calculator label {
        display: block;
        margin-bottom: 2px;
        font-size: 14px;
        line-height: 1.5;
    }

}

.dac-mode-description{
    display:none;
    margin-top:8px;
    font-size:13px;
    line-height:1.5;
    color:#555;
    background:#f8fafc;
    padding:10px 12px;
    border-radius:6px;
}

.dac-mode-description{
    transition: opacity 0.3s ease;
}

/* ==================================
   CLEAN AGE SUMMARY CARDS
================================== */

.dac-age-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.dac-age-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dac-age-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

.dac-age-icon {
    font-size: 26px;
    color: #62812a;
    margin-bottom: 8px;
    line-height: 1;
}

.dac-age-icon i {
    font-family: FontAwesome !important;
    font-style: normal;
    font-weight: normal;
}

.dac-age-title {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 4px;
    font-weight: 600;
}

.dac-age-date {
    font-weight: 500;
    color: #94a3b8;
}

.dac-age-value {
    font-size: 22px;
    font-weight: 800;
    color: #111827;
}

.dac-relaxation-info {
    margin: 18px 0;
    padding: 14px 16px;
    background: #f1f5f9;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
}


/* ==================================
   PROGRESS BAR
================================== */

.dac-progress-wrapper{
margin-bottom:15px;
}

.dac-progress-fill{
height:100%;
width:33%;
background:#c8102e;
transition:width .4s ease;
}

.dac-progress-text{
font-size:14px;
margin-top:6px;
font-weight:500;
color:#555;
}

.dac-progress-hint{
font-size:12px;
color:#6b7280;
margin-top:4px;
font-weight:500;
}

.dac-progress-badge{
background:#e8f5e9;
color:#2e7d32;
font-weight:600;
font-size:14px;
padding:3px 8px;
border-radius:20px;
margin-left:8px;
white-space:nowrap;
}

/* Progress badge animation */
.dac-progress-badge{
background:#e8f5e9;
color:#2e7d32;
font-weight:600;
font-size:12px;
padding:3px 8px;
border-radius:20px;
margin-left:8px;
white-space:nowrap;

animation:dacBadgeFade .35s ease;
}

/* Badge entrance animation */
@keyframes dacBadgeFade{

0%{
opacity:0;
transform:translateY(4px);
}

100%{
opacity:1;
transform:translateY(0);
}

}

@media(max-width:768px){

.dac-btn{
position:sticky;
bottom:0;
width:100%;
z-index:50;
}

}

/* NEXT BUTTON STYLE */
.dac-next-btn{

background: linear-gradient(180deg, #62812a, #213d09);
color:#ffffff;
border:none;
border-radius:10px;
padding:14px 24px;
font-size:18px;
font-weight:700;
letter-spacing:0.4px;
cursor:pointer;

transition: all 0.25s ease;
box-shadow:0 6px 16px rgba(0,0,0,0.15);

}

/* NEXT HOVER */
.dac-next-btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 24px rgba(0,0,0,0.25);
}

/* PREV BUTTON STYLE */
.dac-prev-btn{

background:#e5e7eb;
color:#333;
border:none;
border-radius:10px;
padding:16px 24px;
font-size:16px;
font-weight:700;
cursor:pointer;

transition:all 0.25s ease;

}

.dac-prev-btn:hover{
background:#d1d5db;
}

@media(max-width:768px){

.dac-sticky-cta{
position:sticky;
bottom:0;
z-index:999;
background:#fff;
box-shadow:0 -2px 10px rgba(0,0,0,.1);
}

}

.dac-trust{

display:flex;
align-items:center;
justify-content:center;

font-size:13px;
font-weight:600;

color:#374151;

background:#f9fafb;
border:1px solid #e5e7eb;

padding:6px 12px;
border-radius:6px;

width:fit-content;
margin:10px auto 14px auto;

}

.dac-progress-bar{
width:100%;
height:8px;
background:#eee;
border-radius:20px;
overflow:hidden;
margin-bottom:10px;
}

.dac-progress-fill{
height:100%;
width:0%;
background:#e89405;
transition:width .45s cubic-bezier(.4,0,.2,1);
}

.dac-step-nav{
display:flex;
gap:16px;
margin-top:20px;
grid-column:1 / -1;
}

/* Buttons span full width inside grid */
.dac-section-lead .dac-step .dac-next-btn,
.dac-section-lead .dac-step .dac-prev-btn,
.dac-section-lead .dac-step-nav{
grid-column:1 / -1;
}

.dac-step-nav,
.dac-next-btn,
.dac-prev-btn,
.dac-btn{
grid-column:1 / -1;
}

/* DESKTOP FIELD LAYOUT */
@media (min-width:1025px){

/* STEP 1 */
.dac-step-1{
grid-template-columns:repeat(2,1fr);
gap:24px;
}

/* STEP 2 */
.dac-step-2{
grid-template-columns:repeat(3,1fr);
gap:24px;
}

/* STEP 3 */
.dac-step-3{
grid-template-columns:repeat(2,1fr);
gap:24px;
}

/* Question full width */
.dac-step-3 .dac-field-full{
grid-column:1 / -1;
}

}

/* MOBILE STACK */
@media (max-width:1024px){

.dac-step{
display:block;
}

.dac-step.active{
display:block;
}

}

/* MOBILE */
@media (max-width:1024px){

.dac-step{
display:block;
}

}

/* =================================
   FINAL STEP CONTROL
================================= */

.dac-step{
display:none;
}

.dac-step.active{
display:block;
}

/* DESKTOP GRID LAYOUT */
@media (min-width:1025px){

.dac-step-1{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
}

.dac-step-2{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.dac-step-3{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
}

/* Question field full width */
.dac-step-3 .dac-field-full{
grid-column:1 / -1;
}

}

/* MOBILE */
@media (max-width:1024px){

.dac-step{
display:block;
}

}

/* =================================
   FORCE SECTIONS INSIDE STEP LAYOUT
================================= */

.dac-step .dac-section-calculator,
.dac-step .dac-section-lead{
display:contents;
}

/* =================================
   STEP SYSTEM CONTROL
================================= */

/* hide all steps */
.dac-step{
display:none !important;
}

/* show active step */
.dac-step.active{
display:block !important;
}

/* grid layout for desktop */
@media (min-width:1025px){

.dac-step-1.active{
display:grid !important;
grid-template-columns:repeat(2,1fr);
gap:24px;
}

.dac-step-2.active{
display:grid !important;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.dac-step-3.active{
display:grid !important;
grid-template-columns:repeat(2,1fr);
gap:24px;
}

}

/* Premium Step Card */
.dac-step{
background:#f8fafc;
padding:15px;
border-radius:12px;
box-shadow:0 4px 12px rgba(0,0,0,0.04);
}

/* Step 1 (Guidance) */
.dac-step-1{
background:#f5f9f2;
}

/* Step 2 (Eligibility) */
.dac-step-2{
background:#f8fafc;
}

/* Step 3 (Final Questions) */
.dac-step-3{
background:#f8fafc;
}

#dac_output{
margin-top:28px;
}

.dac-section-subtitle{
font-size:13px;
color:#6b7280;
margin-top:-2px;
margin-bottom:15px;
line-height:1.2;
}

.dac-section-title,
.dac-section-subtitle{
grid-column: 1 / -1;
}

.dac-helper-text{
font-size:12px;
color:#6b7280;
margin-top:4px;
line-height:1.4;
}

#dac_interest optgroup{
font-weight:700;
color:#374151;
}