/* Gamma calculators common UX v2: sticky price, lead form, exit intent, full-width consent text */
:root {
  --gcalc-blue: #008DD2;
  --gcalc-pink: #E60A80;
  --gcalc-text: #4f5559;
  --gcalc-muted: #747b80;
  --gcalc-line: #e1e6e9;
  --gcalc-white: #fff;
  --gcalc-price-top: 12px;
}

.gcalc-sticky-price {
  position: fixed;
  z-index: 99990;
  top: var(--gcalc-price-top);
  right: 18px;
  width: min(330px, calc(100vw - 36px));
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px 11px 15px;
  border: 1px solid rgba(0,141,210,.22);
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 34px rgba(46,58,65,.18);
  backdrop-filter: blur(10px);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color: var(--gcalc-text);
}
.gcalc-sticky-price__copy { min-width: 0; }
.gcalc-sticky-price__label {
  color: var(--gcalc-muted);
  font-size: 11px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.gcalc-sticky-price__value {
  margin-top: 2px;
  color: var(--gcalc-pink);
  font-size: 24px;
  line-height: 1.05;
  font-weight: 880;
  white-space: nowrap;
}
.gcalc-sticky-price__total {
  margin-top: 3px;
  color: var(--gcalc-muted);
  font-size: 10.5px;
  line-height: 1.2;
}
.gcalc-sticky-price__btn {
  border: 0;
  border-radius: 10px;
  padding: 9px 10px;
  background: var(--gcalc-blue);
  color: #fff;
  font: inherit;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(0,141,210,.2);
}
.gcalc-sticky-price__btn:hover { filter: brightness(.95); }

.gcalc-lead {
  width: calc(100% - 48px);
  margin: 0 24px 24px;
  padding: 24px;
  border: 1px solid var(--gcalc-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(230,10,128,.06), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(0,141,210,.07), transparent 35%),
    #fff;
  box-shadow: 0 10px 28px rgba(65,75,82,.06);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color: var(--gcalc-text);
  box-sizing: border-box;
}
.gcalc-lead * { box-sizing: border-box; }
.gcalc-lead__kicker {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef8fc;
  color: #0077b3;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.gcalc-lead h3 {
  margin: 10px 0 7px;
  color: #555;
  font-size: clamp(21px,3vw,29px);
  line-height: 1.12;
  letter-spacing: -.02em;
}
.gcalc-lead__intro {
  margin: 0 0 18px;
  max-width: 780px;
  color: var(--gcalc-muted);
  font-size: 14px;
  line-height: 1.5;
}
.gcalc-lead__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.gcalc-lead__field { min-width: 0; }
.gcalc-lead__field label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 780;
  color: #5a5f62;
}
.gcalc-lead__field input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 47px;
  padding: 0 13px;
  border: 1px solid #d4dade;
  border-radius: 11px;
  background: #fff;
  color: #444;
  font: inherit;
  font-size: 14px;
  outline: none;
}
.gcalc-lead__field input:focus {
  border-color: var(--gcalc-blue);
  box-shadow: 0 0 0 4px rgba(0,141,210,.09);
}
.gcalc-lead__consents {
  display: grid;
  gap: 10px;
  margin-top: 15px;
}
.gcalc-consent {
  display: grid;
  grid-template-columns: 21px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  min-width: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #60666a;
  cursor: pointer;
}
.gcalc-consent input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--gcalc-pink);
}
.gcalc-consent span { min-width: 0; }
.gcalc-consent--optional { color: #73797d; }
.gcalc-lead__privacy {
  margin: 9px 0 0 31px;
  color: #858a8d;
  font-size: 11px;
  line-height: 1.4;
}
.gcalc-lead__privacy a {
  color: #0077b3;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gcalc-lead__actions {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
  margin-top: 17px;
}
.gcalc-lead__submit {
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  padding: 0 19px;
  background: linear-gradient(135deg,var(--gcalc-blue),#007ab7);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(0,141,210,.18);
}
.gcalc-lead__submit:disabled { opacity: .55; cursor: wait; }
.gcalc-lead__status {
  min-height: 18px;
  color: var(--gcalc-muted);
  font-size: 12px;
  line-height: 1.4;
}
.gcalc-lead__status.is-success { color: #18764d; font-weight: 750; }
.gcalc-lead__status.is-error { color: #b42318; font-weight: 750; }
.gcalc-hp {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.gcalc-exit {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(24,29,32,.76);
  backdrop-filter: blur(4px);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.gcalc-exit.is-open { display: flex; }
.gcalc-exit__card {
  position: relative;
  width: min(540px, 100%);
  padding: 27px;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 24px 74px rgba(0,0,0,.28);
  text-align: left;
  color: var(--gcalc-text);
}
.gcalc-exit__stripe {
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  border-radius: 21px 21px 0 0;
  background: linear-gradient(90deg,var(--gcalc-blue) 0 50%,var(--gcalc-pink) 50%);
}
.gcalc-exit h3 {
  margin: 6px 0 8px;
  font-size: 25px;
  line-height: 1.15;
  color: #555;
}
.gcalc-exit p {
  margin: 0;
  color: var(--gcalc-muted);
  font-size: 14px;
  line-height: 1.5;
}
.gcalc-exit__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 19px;
}
.gcalc-exit button {
  min-height: 44px;
  border-radius: 11px;
  padding: 8px 12px;
  font: inherit;
  font-size: 12.5px;
  font-weight: 820;
  cursor: pointer;
}
.gcalc-exit__primary { border: 0; background: var(--gcalc-blue); color: #fff; }
.gcalc-exit__secondary { border: 1px solid #e2c3d4; background: #fff4fa; color: #ad0a64; }
.gcalc-exit__leave {
  grid-column: 1 / -1;
  border: 1px solid #dde1e4;
  background: #fff;
  color: #777;
}
.gcalc-exit__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  min-height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  color: #8a8f92 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

@media (max-width: 820px) {
  :root { --gcalc-price-top: 8px; }
  .gcalc-sticky-price {
    left: 8px;
    right: 8px;
    width: auto;
    grid-template-columns: minmax(0,1fr) auto;
    padding: 9px 9px 9px 12px;
    border-radius: 13px;
  }
  .gcalc-sticky-price__value { font-size: 21px; }
  .gcalc-sticky-price__total { font-size: 10px; }
  .gcalc-sticky-price__btn { padding: 8px 9px; font-size: 10.5px; }
  .gcalc-lead {
    width: calc(100% - 28px);
    margin: 0 14px 18px;
    padding: 18px 16px;
  }
  .gcalc-lead__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .gcalc-sticky-price__btn { display: none; }
  .gcalc-sticky-price { grid-template-columns: 1fr; }
  .gcalc-exit__card { padding: 23px 18px 18px; }
  .gcalc-exit__actions { grid-template-columns: 1fr; }
  .gcalc-exit__leave { grid-column: auto; }
}


/* v2 — robust full-width text/checkbox layout against Joomla/template styles */
.gcalc-lead,
.gcalc-lead__form,
.gcalc-lead__consents,
.gcalc-lead__actions {
  min-width:0 !important;
  max-width:none !important;
}
.gcalc-lead__consents {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  width:100% !important;
}
.gcalc-lead .gcalc-consent {
  float:none !important;
  clear:both !important;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  column-gap:10px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  white-space:normal !important;
}
.gcalc-lead .gcalc-consent input[type="checkbox"] {
  position:static !important;
  float:none !important;
  display:block !important;
  grid-column:1 !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
}
.gcalc-lead .gcalc-consent span {
  display:block !important;
  grid-column:2 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.gcalc-lead__privacy {
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:normal !important;
  word-break:normal !important;
}
@media (max-width:820px) {
  .gcalc-lead__privacy { margin-left:0 !important; }
}


/* v3 — ultra-robust consent layout for Joomla templates */
.gcalc-lead,
.gcalc-lead * {
  box-sizing: border-box;
}
.gcalc-lead__consents{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
.gcalc-lead .gcalc-consent{
  position:relative !important;
  float:none !important;
  clear:both !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  white-space:normal !important;
}
.gcalc-lead .gcalc-consent > input[type="checkbox"]{
  flex:0 0 18px !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  position:static !important;
  display:block !important;
  float:none !important;
}
.gcalc-lead .gcalc-consent > span,
.gcalc-lead .gcalc-consent > .gcalc-consent__text{
  flex:1 1 auto !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.55 !important;
  text-align:left !important;
}
.gcalc-lead__privacy,
.gcalc-lead__intro,
.gcalc-lead__status{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.gcalc-lead label{
  max-width:none !important;
}


/* v8 MOBILE MENU SAFE AREA
   Stable UI patch only: keep the sticky price visible,
   but leave the right side free for the site's mobile menu button.
   No calculator logic or desktop layout is changed. */
@media (max-width: 820px) {
  .gcalc-sticky-price {
    left: 8px !important;
    right: 72px !important;
    width: auto !important;
    max-width: none !important;
  }
}
@media (max-width: 420px) {
  .gcalc-sticky-price {
    left: 7px !important;
    right: 66px !important;
  }
}
