/* Callback widget — Green Royal */
.cb-fab{
  position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));
  z-index:130;width:62px;height:62px;border:0;border-radius:50%;cursor:pointer;
  background:linear-gradient(145deg,var(--gold2,#e3c78e),var(--gold,#c8a568));
  box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 0 0 rgba(200,165,104,.45);
  display:grid;place-items:center;animation:cb-pulse 2.6s ease-in-out infinite;
}
.cb-fab svg{width:26px;height:26px;fill:#0c1210}
.cb-fab:hover{transform:scale(1.04)}
.cb-root.is-open .cb-fab{animation:none;box-shadow:0 12px 32px rgba(0,0,0,.35)}
@keyframes cb-pulse{
  0%,100%{box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 0 0 rgba(200,165,104,.4)}
  50%{box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 0 12px rgba(200,165,104,0)}
}
.cb-overlay{
  position:fixed;inset:0;z-index:120;background:rgba(4,8,6,.55);
  display:flex;align-items:flex-end;justify-content:flex-end;
  padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(18px + 62px + 14px + env(safe-area-inset-bottom,0px)) 16px;
  box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.cb-overlay[hidden]{display:none!important}
.cb-modal{
  width:min(400px,100%);max-height:none;overflow:visible;
  margin:0;background:#0c1210;color:#f2eee5;border:1px solid rgba(200,165,104,.35);
  border-radius:18px;padding:22px 22px 24px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  animation:cb-in .22s ease-out;
}
@keyframes cb-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.cb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cb-brand{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#c8a568);font-weight:650}
.cb-close{border:0;background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}
.cb-modal h2{font:1.55rem var(--serif,Georgia,serif);margin:0 0 8px;color:#fff}
.cb-lead{margin:0 0 14px;color:#9aa39c;font-size:.92rem;line-height:1.45}
.cb-status{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:.82rem;color:#c5cdc7}
.cb-status i{width:8px;height:8px;border-radius:50%;background:#6b736c;flex:0 0 auto}
.cb-status.is-open i{background:#3d9a68;box-shadow:0 0 0 3px rgba(61,154,104,.25)}
.cb-status.is-open{color:#b7d4c2}
.cb-form{display:grid;gap:14px}
.cb-form label{display:grid;gap:6px;font-size:.78rem;color:#aeb6b0}
.cb-caption{display:inline}
.cb-form input[type=text],.cb-form input[type=tel],.cb-form select{
  width:100%;box-sizing:border-box;border:1px solid #2a3330;background:#111814;color:#f2eee5;
  border-radius:10px;padding:12px 14px;font:inherit;outline:none;
}
.cb-form input:focus,.cb-form select:focus{border-color:var(--gold,#c8a568)}
.cb-req{color:var(--gold,#c8a568)}
.cb-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#f2eee5 50%),linear-gradient(135deg,#f2eee5 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
.cb-consent{display:flex!important;align-items:flex-start;gap:10px;grid-template-columns:none;font-size:.72rem!important;line-height:1.4;color:#9aa39c!important}
.cb-consent input{margin-top:3px;flex:0 0 auto;accent-color:var(--gold,#c8a568)}
.cb-consent a{color:#e3c78e;text-decoration:underline}
.cb-submit{
  border:0;cursor:pointer;border-radius:10px;padding:14px 16px;font:650 .95rem inherit;
  color:#0c1210;background:linear-gradient(105deg,var(--gold,#c8a568),var(--gold2,#e3c78e));
}
.cb-submit:disabled{opacity:.6;cursor:wait}
.cb-msg{margin:0;font-size:.85rem;color:#b7d4c2}
.cb-msg.is-error{color:#e2a39a}
.cb-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;pointer-events:none!important}
.cb-success{padding:18px 0 8px;text-align:center}
.cb-success h3{font:1.35rem var(--serif,Georgia,serif);margin:0 0 8px;color:#fff}
.cb-success p{margin:0;color:#9aa39c}
@media(max-width:520px){
  .cb-fab{width:56px;height:56px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
  .cb-overlay{padding:12px max(12px,env(safe-area-inset-right)) calc(12px + 56px + 12px + env(safe-area-inset-bottom,0px)) 12px;justify-content:stretch}
  .cb-modal{width:100%;max-height:none;overflow:visible;padding:18px 16px 20px;border-radius:14px}
  .cb-modal h2{font-size:1.35rem}
}
