:root {
  --sgr-forest: #173f35;
  --sgr-cream: #f7f1e7;
  --sgr-gold: #b8914f;
  --sgr-ink: #24332f;
}

.sgr-ask-float {
  position: fixed;
  right: 22px;
  bottom: 104px;
  z-index: 9997;
  display: grid;
  justify-items: center;
  gap: 6px;
  width: 104px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--sgr-forest);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.sgr-ask-float-label {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(247,241,231,.96);
  box-shadow: 0 4px 14px rgba(23,63,53,.10);
  color: var(--sgr-forest);
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.sgr-ask-float-icon {
  display: block;
  width: 66px;
  height: 66px;
  overflow: hidden;
  border: 1px solid rgba(184,145,79,.55);
  border-radius: 50%;
  background: var(--sgr-cream);
  box-shadow: 0 8px 24px rgba(23,63,53,.18);
  animation: sgr-ask-gentle-pulse 3.2s ease-in-out infinite;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sgr-ask-float-icon img {
  width: auto;
  height: 88px;
  max-width: none;
  display: block;
  transform: translate(-8px, -8px);
}

@keyframes sgr-ask-gentle-pulse {
  0%, 100% { box-shadow: 0 8px 24px rgba(23,63,53,.18), 0 0 0 0 rgba(184,145,79,.28); }
  50% { box-shadow: 0 10px 28px rgba(23,63,53,.22), 0 0 0 9px rgba(184,145,79,0); }
}

.sgr-ask-float:hover .sgr-ask-float-icon,
.sgr-ask-float:focus-visible .sgr-ask-float-icon {
  transform: translateY(-2px);
  box-shadow: 0 11px 28px rgba(23,63,53,.24);
}

.sgr-ask-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(18,31,27,.48);
}

.sgr-ask-dialog {
  position: fixed;
  right: 22px;
  bottom: 82px;
  z-index: 9999;
  width: min(430px, calc(100vw - 32px));
  max-height: calc(100vh - 110px);
  overflow: auto;
  padding: 36px 30px 30px;
  border: 1px solid rgba(184,145,79,.35);
  border-radius: 18px;
  background: var(--sgr-cream);
  color: var(--sgr-ink);
  box-shadow: 0 24px 70px rgba(18,31,27,.3);
}

.sgr-ask-dialog[hidden], .sgr-ask-overlay[hidden] { display: none; }
.sgr-ask-opened { overflow: hidden; }
.sgr-ask-close { position:absolute; top:10px; right:14px; border:0; background:transparent; color:var(--sgr-forest); font-size:30px; cursor:pointer; }
.sgr-ask-kicker, .sgr-specialist-kicker { margin:0 0 10px; color:#80652f; font-size:.78rem; font-weight:800; letter-spacing:.12em; line-height:1.45; text-transform:uppercase; }
.sgr-ask-dialog h2, .sgr-specialist-bridge h2 { margin:0 0 15px; color:var(--sgr-forest); line-height:1.2; }
.sgr-ask-form { display:grid; gap:14px; margin-top:20px; }
.sgr-ask-form label:not(.sgr-ask-check):not(.sgr-ask-hp) { display:grid; gap:6px; font-weight:700; }
.sgr-ask-form label span { font-weight:400; }
.sgr-ask-form input:not([type="checkbox"]), .sgr-ask-form textarea { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid #c9c1b3; border-radius:8px; background:#fff; color:var(--sgr-ink); font:inherit; }
.sgr-ask-check { display:flex; align-items:flex-start; gap:9px; line-height:1.45; }
.sgr-ask-check input { margin-top:5px; }
.sgr-ask-hp { position:absolute !important; left:-9999px !important; }
.sgr-ask-submit, .sgr-specialist-button { border:0; border-radius:999px; padding:12px 20px; background:var(--sgr-forest); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.sgr-ask-submit:disabled { opacity:.65; cursor:wait; }
.sgr-ask-privacy { margin:0; font-size:.8rem; line-height:1.5; color:#5f6b67; }
.sgr-ask-status { min-height:1.5em; font-weight:700; color:var(--sgr-forest); }
.sgr-specialist-bridge { margin:48px 0 20px; padding:30px; border:1px solid rgba(184,145,79,.38); border-radius:16px; background:#f7f1e7; }
.sgr-specialist-bridge p { max-width:760px; }

@media (max-width: 600px) {
  .sgr-ask-float { right:8px; bottom:86px; width:98px; }
  .sgr-ask-float-icon { width:58px; height:58px; }
  .sgr-ask-dialog { right:16px; bottom:88px; padding:25px 20px; }
  .sgr-specialist-bridge { margin-top:34px; padding:24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .sgr-ask-float-icon { animation: none; }
}
