/* Bali cost breakdown + interactive budget calculator. balisurf vars. */
.cc-wrap{max-width:880px;margin:0 auto;padding:0 20px}
.cc-hero{margin:44px auto 10px}
.cc-hero .eyebrow{font-family:var(--head);font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sun)}
.cc-hero h1{font-family:var(--head);font-weight:800;font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;letter-spacing:-.02em;margin:10px 0 14px;color:var(--ink)}
.cc-hero .lead{font-size:1.2rem;line-height:1.5;color:var(--soft);margin:0 0 20px}
.cc-hero p{font-size:1.05rem;line-height:1.7;color:var(--ink);margin:0 0 14px}

/* calculator */
.cc-calc{background:linear-gradient(135deg,var(--night),#27424d);color:#fff;border-radius:20px;padding:30px 30px 34px;margin:28px 0 40px}
.cc-calc h2{font-family:var(--head);font-weight:800;font-size:1.5rem;margin:0 0 20px;color:#fff}
.cc-controls{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-bottom:22px}
.cc-controls label{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:.95rem;color:#e9dcc9}
.cc-controls input[type=range]{width:200px;accent-color:var(--sun)}
.cc-controls label b{color:var(--sun);font-size:1.2rem;min-width:28px}
.cc-style{display:flex;gap:8px}
.cc-sbtn{font-family:var(--head);font-weight:700;font-size:.9rem;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:#fff;padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .14s}
.cc-sbtn:hover{background:rgba(255,255,255,.18)}
.cc-sbtn.on{background:var(--sun);border-color:var(--sun)}
.cc-result{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.cc-total{text-align:left}
.cc-total-label{display:block;font-size:.82rem;color:#b9a88f;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.cc-total-n{display:block;font-family:var(--head);font-weight:800;font-size:3rem;color:var(--sun);line-height:1.05;margin:4px 0}
.cc-total-sub{font-size:.88rem;color:#cbb aa;color:#cbbcaa}
.cc-break{border-left:1px solid rgba(255,255,255,.14);padding-left:22px}
.cc-bd{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem;color:#e9dcc9}
.cc-bd b{color:#fff}

/* table */
.cc-table-sec{margin:0 0 36px}
.cc-table-sec h2,.cc-prose h2,.cc-tips h2{font-family:var(--head);font-weight:800;font-size:1.5rem;margin:0 0 14px;color:var(--ink)}
.cc-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.cc-table{width:100%;border-collapse:collapse;font-size:.98rem}
.cc-table th{background:var(--bg);text-align:left;padding:13px 16px;font-family:var(--head);font-weight:700;font-size:.84rem;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);border-bottom:1px solid var(--line)}
.cc-table td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--ink)}
.cc-table tr:last-child td{border-bottom:none}
.cc-cat{font-weight:700;font-family:var(--head)}
.cc-cat small{display:block;font-family:var(--body);font-weight:400;color:var(--faint);font-size:.82rem;margin-top:2px}
.cc-note{font-size:.86rem;color:var(--faint);margin:10px 2px 0}
.cc-prose{margin:0 0 34px}
.cc-prose p{font-size:1.05rem;line-height:1.72;color:var(--ink);margin:0 0 14px}
.cc-tips{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:26px 30px;margin:0 0 30px}
.cc-tips ul{margin:0;padding-left:20px}.cc-tips li{font-size:1rem;line-height:1.6;margin:0 0 9px;color:var(--ink)}
.cc-outro{padding-top:22px;border-top:2px solid var(--ink)}
.cc-outro p{font-size:1.08rem;line-height:1.7}
.cta-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.cc-wrap .btn{display:inline-block;font-family:var(--head);font-weight:700;background:var(--sun);color:#fff;padding:12px 22px;border-radius:11px;text-decoration:none}
.cc-wrap .btn:hover{background:#d85c20}
.cc-wrap .btn.ghost{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.cc-wrap .btn.ghost:hover{background:var(--teal);color:#fff}

@media(max-width:680px){ .cc-result{grid-template-columns:1fr}.cc-break{border-left:none;border-top:1px solid rgba(255,255,255,.14);padding-left:0;padding-top:16px}.cc-total-n{font-size:2.4rem} }
