/* Quote Calculator */
.calc-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--space-8);
    align-items: start;
}
.calc-step { display: none; }
.calc-step.active { display: block; animation: quizEnter 0.3s ease; }
@keyframes quizEnter { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.calc-step-num { font-family:var(--font-mono); font-size:0.72rem; color:var(--signal); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:var(--space-3); }
.calc-step h3 { font-size:1.2rem; color:var(--white); margin-bottom:var(--space-2); }
.calc-step-sub { font-size:0.88rem; color:var(--slate); margin-bottom:var(--space-4); }

.calc-options { display:flex; flex-direction:column; gap:var(--space-3); margin-bottom:var(--space-5); }
.calc-opt {
    display:flex; align-items:center; gap:var(--space-4);
    background:var(--ink); border:1.5px solid var(--ink-line);
    border-radius:var(--radius-md); padding:var(--space-4) var(--space-5);
    cursor:pointer; text-align:left; width:100%;
    font-family:var(--font-body); transition:all 0.18s ease;
}
.calc-opt:hover { border-color:var(--signal); background:rgba(59,125,255,0.05); transform:translateX(4px); }
.calc-opt.selected { border-color:var(--signal); background:rgba(59,125,255,0.08); }
.co-icon { font-size:1.4rem; flex-shrink:0; }
.calc-opt div { display:flex; flex-direction:column; gap:3px; }
.calc-opt strong { font-size:0.92rem; color:var(--white); }
.calc-opt span { font-size:0.8rem; color:var(--slate); }
.calc-finish-btn { margin-top:var(--space-4); }

/* Sidebar */
.calc-sidebar { position:sticky; top:100px; }
.calc-estimate {
    background:var(--ink-raised); border:1px solid var(--ink-line);
    border-radius:var(--radius-lg); padding:var(--space-6);
}
.ce-label { font-size:0.72rem; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.08em; color:var(--slate); margin-bottom:var(--space-2); }
.ce-amount { font-size:2.8rem; font-weight:800; color:var(--white); font-family:var(--font-mono); line-height:1; margin-bottom:4px; }
.ce-range { font-size:0.82rem; color:var(--signal); margin-bottom:4px; }
.ce-gst { font-size:0.72rem; color:var(--slate); margin-bottom:var(--space-4); }
.ce-divider { border:none; border-top:1px solid var(--ink-line); margin:var(--space-4) 0; }
.ce-sel-item { font-size:0.82rem; color:var(--slate); padding:4px 0; border-bottom:1px solid rgba(255,255,255,0.04); }
.ce-placeholder { font-size:0.82rem; color:var(--slate); font-style:italic; }
.ce-disclaimer { font-size:0.72rem; color:var(--slate); line-height:1.5; margin-bottom:var(--space-4); }
.ce-cta { margin-top:var(--space-3); }

/* Result */
.calc-result { max-width:640px; margin:var(--space-8) auto 0; }
.cr-inner {
    background:var(--ink-raised); border:1px solid var(--signal);
    border-radius:var(--radius-lg); padding:var(--space-8);
    text-align:center;
    box-shadow:0 0 40px rgba(59,125,255,0.12);
}
.cr-amount { font-size:3rem; font-weight:800; color:var(--signal); font-family:var(--font-mono); margin:var(--space-3) 0; }
.cr-breakdown { text-align:left; background:var(--ink); border-radius:var(--radius-md); padding:var(--space-4); margin:var(--space-5) 0; }
.cr-br-row { font-size:0.85rem; color:var(--slate); padding:5px 0; border-bottom:1px solid rgba(255,255,255,0.04); }
.cr-actions { display:flex; gap:var(--space-3); justify-content:center; flex-wrap:wrap; margin-top:var(--space-5); }
.cr-disclaimer { font-size:0.75rem; color:var(--slate); margin-top:var(--space-4); }

/* Compliance/DPDP page styles */
.two-col-layout { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); align-items:start; }
.compliance-penalties { background:var(--ink-raised); border:1px solid var(--ink-line); border-radius:var(--radius-lg); padding:var(--space-6); }
.compliance-penalties h3 { font-size:1rem; margin-bottom:var(--space-5); color:var(--white); }
.penalty-item { display:flex; flex-direction:column; gap:4px; padding:var(--space-4) 0; border-bottom:1px solid var(--ink-line); }
.penalty-item:last-child { border-bottom:none; }
.penalty-amount { font-size:1.5rem; font-weight:800; color:#dc2626; font-family:var(--font-mono); }
.penalty-desc { font-size:0.82rem; color:var(--slate); line-height:1.4; }
.compliance-checklist-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); }
.ccg-item { background:var(--ink); border:1px solid var(--ink-line); border-radius:var(--radius-md); padding:var(--space-5); }
.ccg-icon { font-size:1.8rem; display:block; margin-bottom:var(--space-3); }
.ccg-item strong { display:block; font-size:0.95rem; color:var(--white); margin-bottom:var(--space-2); }
.ccg-item p { font-size:0.82rem; color:var(--slate); line-height:1.5; margin:0; }
.sc-price { display:inline-block; margin-top:var(--space-3); font-family:var(--font-mono); font-size:0.85rem; color:var(--signal); font-weight:700; }

/* Responsive */
@media(max-width:900px) {
    .calc-layout { grid-template-columns:1fr; }
    .calc-sidebar { position:static; }
    .two-col-layout { grid-template-columns:1fr; }
    .compliance-checklist-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px) {
    .compliance-checklist-grid { grid-template-columns:1fr; }
    .cr-amount { font-size:2rem; }
}

/* ── Shared layout fixes for new pages ─────────────────────────── */

/* diff-card used in compliance pages */
.diff-card {
    background: var(--ink-raised);
    border: 1px solid var(--ink-line);
    border-radius: var(--radius-md);
    padding: var(--space-5);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.diff-card:hover {
    border-color: rgba(59,125,255,0.3);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.diff-card h4 {
    font-size: 0.95rem;
    color: var(--white);
    margin-bottom: var(--space-3);
    line-height: 1.4;
}
.diff-card p {
    font-size: 0.86rem;
    color: var(--slate);
    line-height: 1.65;
    margin: 0;
}

/* service-card used in compliance pages */
.service-card {
    background: var(--ink-raised);
    border: 1px solid var(--ink-line);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: border-color 0.2s, transform 0.2s;
}
.service-card:hover {
    border-color: rgba(59,125,255,0.3);
    transform: translateY(-3px);
}
.service-card .sc-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: var(--space-4);
}
.service-card h3 {
    font-size: 1rem;
    color: var(--white);
    margin-bottom: var(--space-3);
    line-height: 1.4;
}
.service-card p {
    font-size: 0.86rem;
    color: var(--slate);
    line-height: 1.65;
    margin: 0;
}
.service-card .sc-price {
    display: inline-block;
    margin-top: var(--space-4);
    font-family: var(--font-mono);
    font-size: 0.88rem;
    color: var(--signal);
    font-weight: 700;
    background: rgba(59,125,255,0.08);
    padding: 4px 10px;
    border-radius: 6px;
}

/* pricing-card features — ensure consistent spacing */
.pc-features li {
    align-items: flex-start;
    line-height: 1.5;
}

/* section-header consistent */
.section-header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto var(--space-8);
}
.section-header p {
    font-size: 1rem;
    color: var(--slate);
    line-height: 1.7;
    margin-top: var(--space-3);
}

/* page-hero consistent padding */
.page-hero {
    padding: 120px 0 64px;
    text-align: left;
    background:
        radial-gradient(ellipse 70% 55% at 60% 0%, rgba(59,125,255,0.14), transparent 60%),
        var(--ink);
    overflow: hidden;
}
.page-hero .eyebrow { margin-bottom: var(--space-3); }
.page-hero h1 { margin-bottom: var(--space-4); }
.page-hero .lede {
    font-size: 1.05rem;
    color: var(--slate);
    line-height: 1.75;
    max-width: 58ch;
    margin-bottom: var(--space-6);
}
.page-hero .cta-buttons { flex-wrap: wrap; }

/* cta-buttons consistent */
.cta-buttons {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

/* final-cta section */
.final-cta {
    text-align: center;
    background: var(--ink-raised);
    border-top: 1px solid var(--ink-line);
}
.final-cta h2 { margin-bottom: var(--space-3); }
.final-cta p { color: var(--slate); margin-bottom: var(--space-6); font-size: 1rem; line-height: 1.7; }
.final-cta .cta-buttons { justify-content: center; }

/* Responsive fixes */
@media (max-width: 860px) {
    .two-col-layout { grid-template-columns: 1fr; }
    .page-hero { padding: 100px 0 48px; }
}
@media (max-width: 600px) {
    .compliance-checklist-grid { grid-template-columns: 1fr; }
    .page-hero { padding: 90px 0 40px; }
    .cta-buttons { flex-direction: column; }
    .cta-buttons .btn { text-align: center; justify-content: center; }
}