:root{
  --ccp-green:#135b48;
  --ccp-yellow:#d6820a;
  --ccp-bg:#ffffff;
  --ccp-border:#e9ecef;
  --ccp-text:#0f172a;
  --ccp-muted:#64748b;
  --ccp-radius:16px;
  --ccp-font:"Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.ccp2{font-family:var(--ccp-font); color:var(--ccp-text); margin:0 auto;}
.ccp2-head{margin-bottom:18px}
.ccp2-kicker{letter-spacing:.14em; font-size:14px; font-weight:800; color:var(--ccp-green)}
.ccp2-sub{font-size:20px; color:#1f2937; margin-top:4px}

.ccp2-grid{display:grid; grid-template-columns: 1.15fr 0.85fr; gap:28px; align-items:start}
@media(max-width:980px){.ccp2-grid{grid-template-columns:1fr}}

.ccp2-card{background:var(--ccp-bg); border:1px solid var(--ccp-border); border-radius:var(--ccp-radius); padding:18px 18px 16px; margin:0 0 16px}
.ccp2-card-title{display:flex; align-items:center; gap:10px; font-weight:800; color:var(--ccp-yellow)}
.ccp2-card-title-row{justify-content:space-between}
.ccp2-step{
  width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--ccp-yellow); color:#fff; font-size:12px; font-weight:900;
}

.ccp2-collapse{
  border:none;background:transparent;color:var(--ccp-yellow);
  font-size:18px;cursor:pointer;line-height:1; padding:2px 8px;
}

.ccp2-label{font-size:13px;font-weight:800;color:#111827;margin:12px 0 6px}
.ccp2-mini{font-size:12px;color:var(--ccp-muted)}

.ccp2-place{display:flex; gap:34px; align-items:center; padding:14px 6px 4px}
.ccp2-place button{
  border:none;background:transparent;cursor:pointer;padding:6px 8px;border-radius:12px;
  display:flex;flex-direction:column;align-items:center;gap:6px; min-width:84px;
  color:#111827; font-weight:800;
}
.ccp2-place button img{width:44px;height:44px;object-fit:contain;opacity:.8}
.ccp2-place button.is-active{color:var(--ccp-yellow)}
.ccp2-place button.is-active img{opacity:1; filter:none}
.ccp2-place button .lbl{font-size:12px}

.ccp2-area{padding:2px 6px 2px}
.ccp2-area-top{display:flex; align-items:center; justify-content:space-between}
.ccp2-area-badge{
  background:#0b0f12; color:#fff; font-weight:900; font-size:12px;
  padding:6px 10px; border-radius:6px;
}
.ccp2-range-wrap{margin-top:10px}
#ccp-area{width:100%}
#ccp-area{
  -webkit-appearance:none; appearance:none; height:6px; border-radius:999px;
  background:rgba(19,91,72,.18); outline:none;
}
#ccp-area::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:18px;height:18px;border-radius:999px;
  background:var(--ccp-yellow); border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.15);
}
#ccp-area::-moz-range-thumb{
  width:18px;height:18px;border-radius:999px;background:var(--ccp-yellow);
  border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.ccp2-area-minmax{display:flex;justify-content:space-between;margin-top:10px;color:var(--ccp-yellow);font-weight:800;font-size:13px}

.ccp2-row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:640px){.ccp2-row2{grid-template-columns:1fr}}

.ccp2-select,.ccp2-input,.ccp2-textarea{
  width:100%; border:1.5px solid rgba(214,130,10,.35);
  border-radius:12px; padding:12px 12px; outline:none; font-size:14px;
  background:#fff; font-family:var(--ccp-font)
}
.ccp2-input::placeholder,.ccp2-textarea::placeholder{color:#94a3b8}
.ccp2-input-sm{max-width:140px}
.ccp2-textarea{min-height:110px; resize:vertical; margin-top:12px}

.ccp2-window{margin-top:10px}
.ccp2-window-row{display:flex; gap:12px; align-items:center}

.ccp2-extras{display:flex; gap:34px; padding:16px 6px 4px; flex-wrap:wrap}
.ccp2-extras label{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer; user-select:none; color:#111827; font-weight:900;
}
.ccp2-extras input{width:18px;height:18px}
.ccp2-extras .price{color:var(--ccp-yellow); font-size:12px; font-weight:900}

.ccp2-toggle-row{
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  margin-top:12px; padding:12px 6px 0;
}
.ccp2-toggle-title{font-weight:900}

.ccp2-switch{position:relative; width:52px; height:28px; display:inline-block}
.ccp2-switch input{display:none}
.ccp2-switch-ui{
  position:absolute; inset:0; background:rgba(19,91,72,.25); border-radius:999px; transition:.2s;
}
.ccp2-switch-ui:before{
  content:""; position:absolute; left:4px; top:4px; width:20px; height:20px;
  background:#fff; border-radius:999px; transition:.2s;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
}
#ccp-dry-toggle:checked + .ccp2-switch-ui{background:var(--ccp-green)}
#ccp-dry-toggle:checked + .ccp2-switch-ui:before{transform:translateX(24px)}

.ccp2-btn{
  width:100%; margin-top:14px; background:var(--ccp-green); color:#fff;
  border:none; border-radius:12px; padding:14px 16px; font-weight:900; cursor:pointer;
  font-family:var(--ccp-font); font-size:16px;
}
.ccp2-btn:disabled{opacity:.65; cursor:not-allowed}

.ccp2-msg{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(19,91,72,.12);color:#0f172a}

.ccp2-summary{
  background:var(--ccp-green); color:#fff; border-radius:18px; padding:22px;
  position:sticky; top:22px;
}
.ccp2-summary-title{font-size:18px;font-weight:900;padding-bottom:12px;border-bottom:2px solid rgba(255,255,255,.2)}
.ccp2-summary-body{margin-top:14px}
.ccp2-summary-row{display:flex; justify-content:space-between; gap:12px; padding:10px 0; font-weight:800}
.ccp2-summary-row .k{opacity:.92}
.ccp2-summary-row .v{font-weight:900}
.ccp2-summary-divider{height:2px;background:rgba(255,255,255,.2); margin:14px 0}

.ccp2-total{display:flex; justify-content:space-between; gap:16px; align-items:flex-end}
.ccp2-total-label{font-weight:900}
.ccp2-total-val{font-size:44px;font-weight:900;line-height:1}

/* intl-tel-input tweaks to match inputs */
.iti{width:100%}
.iti__tel-input{width:100%}