.wpcb-calculator { --wpcb-primary:#de0985; --wpcb-accent:#16a34a; --wpcb-bg:#fff; --wpcb-text:#253046; --wpcb-border:#d9dee7; --wpcb-radius:8px; color:var(--wpcb-text); font-family:inherit; }
.wpcb-calculator *, .wpcb-calculator *::before, .wpcb-calculator *::after { box-sizing:border-box; }
.wpcb-card { overflow:hidden; border:1px solid var(--wpcb-border); border-radius:var(--wpcb-radius); background:var(--wpcb-bg); }
.wpcb-header { padding:16px 20px; background:var(--wpcb-primary); color:#fff; text-align:center; }
.wpcb-header h2, .wpcb-header p { margin:0; color:inherit; }
.wpcb-header h2 { font-size:20px; }
.wpcb-header p { margin-top:4px; opacity:.9; font-size:14px; }
.wpcb-form { display:grid; gap:16px; padding:20px; }
.wpcb-fields { display:grid; grid-template-columns:1fr; gap:16px; }
.wpcb-label { display:grid; gap:7px; color:var(--wpcb-text); font-size:14px; font-weight:700; }
.wpcb-label select { width:100%; min-height:43px; padding:8px 11px; border:1px solid var(--wpcb-border); border-radius:max(4px,calc(var(--wpcb-radius) / 2)); background:var(--wpcb-bg); color:var(--wpcb-text); font:inherit; }
.wpcb-adjustments { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0; padding:14px; border:1px solid var(--wpcb-border); border-radius:max(4px,calc(var(--wpcb-radius) / 2)); background:color-mix(in srgb,var(--wpcb-primary) 5%,var(--wpcb-bg)); }
.wpcb-adjustments legend { padding:0 6px; color:var(--wpcb-text); font-size:14px; font-weight:700; }
.wpcb-adjustments label { display:flex; align-items:center; gap:7px; cursor:pointer; font-size:14px; font-weight:700; }
.wpcb-adjustments input { width:18px; height:18px; accent-color:var(--wpcb-primary); }
.wpcb-label select:focus-visible, .wpcb-submit:focus-visible, .wpcb-secondary:focus-visible, .wpcb-icon-button:focus-visible { outline:3px solid color-mix(in srgb,var(--wpcb-primary) 28%,transparent); outline-offset:2px; }
.wpcb-submit, .wpcb-secondary, .wpcb-icon-button { border:0; border-radius:max(4px,calc(var(--wpcb-radius) / 2)); padding:11px 17px; cursor:pointer; font:inherit; font-weight:700; }
.wpcb-submit { width:100%; background:var(--wpcb-primary); color:#fff; }
.wpcb-submit:disabled { opacity:.6; cursor:wait; }
.wpcb-error { margin:0; color:#b91c1c; font-size:14px; }
.wpcb-template-soft .wpcb-card { border:0; border-radius:max(16px,var(--wpcb-radius)); box-shadow:0 14px 38px rgba(15,23,42,.12); }
.wpcb-template-soft .wpcb-header { padding:24px; }
.wpcb-template-minimal .wpcb-card { border-width:0 0 1px; border-radius:0; }
.wpcb-template-minimal .wpcb-header { padding:14px 0; background:transparent; color:var(--wpcb-primary); text-align:left; }
.wpcb-template-minimal .wpcb-form { padding:20px 0; }
.wpcb-overlay { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:18px; background:rgba(15,23,42,.62); }
.wpcb-overlay[hidden] { display:none; }
.wpcb-dialog { width:min(680px,100%); max-height:calc(100vh - 36px); overflow:auto; border-radius:var(--wpcb-radius); background:var(--wpcb-bg); box-shadow:0 24px 64px rgba(15,23,42,.35); }
.wpcb-dialog-header, .wpcb-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 20px; }
.wpcb-dialog-header { background:var(--wpcb-primary); color:#fff; }
.wpcb-dialog-header h3 { margin:0; color:inherit; font-size:19px; }
.wpcb-icon-button { padding:0; background:transparent; color:#fff; font-size:30px; line-height:1; }
.wpcb-dialog-body { padding:22px; }
.wpcb-product { margin:0 0 14px; color:var(--wpcb-primary); }
.wpcb-summary { display:grid; gap:7px; margin:0 0 22px; padding:0; list-style:none; }
.wpcb-summary li::before { content:"✓"; margin-right:8px; color:var(--wpcb-accent); font-weight:800; }
.wpcb-cost { width:100%; border-collapse:collapse; }
.wpcb-cost th, .wpcb-cost td { padding:10px 0; border-top:1px solid var(--wpcb-border); text-align:left; }
.wpcb-cost td { text-align:right; color:var(--wpcb-primary); font-weight:800; }
.wpcb-total-price { font-size:19px; }
.wpcb-dialog-footer { justify-content:flex-end; border-top:1px solid var(--wpcb-border); }
.wpcb-secondary { background:#e5e7eb; color:#1f2937; }
body.wpcb-modal-open { overflow:hidden; }
@media (prefers-reduced-motion:reduce) { .wpcb-calculator * { scroll-behavior:auto!important; transition:none!important; } }
