:root{
  --igsc-ink:#171717;
  --igsc-muted:#666;
  --igsc-line:#ddd8cf;
  --igsc-cream:#f8f5ef;
  --igsc-gold:#a98652;
  --igsc-gold-soft:#efe5d5;
  --igsc-green:#0f7b45;
  --igsc-wa:#25d366;
}

html.igsc-modal-open,body.igsc-modal-open{overflow:hidden!important;}

/* Floating contact buttons: high specificity intentionally prevents theme button rules. */
.igsc-float{
  position:fixed!important;
  bottom:max(22px,env(safe-area-inset-bottom))!important;
  z-index:999990!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  pointer-events:none!important;
  width:auto!important;
}
.igsc-float--left{left:22px!important;right:auto!important;align-items:flex-start!important;}
.igsc-float--right{right:22px!important;left:auto!important;align-items:flex-end!important;}

button.igsc-fab{
  pointer-events:auto!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid rgba(255,255,255,.18)!important;
  cursor:pointer!important;
  min-height:54px!important;
  width:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  border-radius:999px!important;
  padding:7px 17px 7px 7px!important;
  color:#fff!important;
  font:700 14px/1.1 inherit!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
button.igsc-fab:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(0,0,0,.26)!important;filter:brightness(1.04)!important;}
button.igsc-fab:focus-visible{outline:3px solid rgba(182,145,88,.38)!important;outline-offset:3px!important;}
button.igsc-fab--phone{background:#171717!important;background-image:none!important;}
button.igsc-fab--wa{background:#0d8148!important;background-image:none!important;}
.igsc-fab__icon{
  width:40px!important;height:40px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.14)!important;flex:0 0 auto!important;color:#fff!important;
}
.igsc-fab__icon svg{width:22px!important;height:22px!important;fill:currentColor!important;display:block!important;}
.igsc-fab__label{display:inline!important;white-space:nowrap!important;color:#fff!important;font-weight:700!important;}

.igsc-modal[hidden]{display:none!important;}
.igsc-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:grid!important;place-items:center!important;padding:20px!important;}
.igsc-modal__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.64);backdrop-filter:blur(5px);opacity:0;transition:opacity .18s ease;}
.igsc-modal__dialog{
  position:relative;
  width:min(590px,100%);
  max-height:min(760px,calc(100dvh - 32px));
  overflow:auto;
  border-radius:26px;
  background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
  border:1px solid rgba(169,134,82,.30);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
  padding:34px;
  transform:translateY(12px) scale(.985);
  opacity:0;
  transition:transform .18s ease,opacity .18s ease;
  outline:none;
}
.igsc-modal.is-open .igsc-modal__backdrop{opacity:1;}
.igsc-modal.is-open .igsc-modal__dialog{transform:translateY(0) scale(1);opacity:1;}
.igsc-modal__close{
  position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;
  border:1px solid #e3ded6!important;background:#fff!important;color:#444!important;cursor:pointer;font-size:25px;line-height:1;
  display:grid;place-items:center;transition:background .15s ease,transform .15s ease;box-shadow:0 5px 18px rgba(0,0,0,.06);
}
.igsc-modal__close:hover{background:#f5f1ea!important;transform:rotate(4deg);}
.igsc-modal__mark{
  width:54px;height:54px;border-radius:17px;display:grid;place-items:center;margin-bottom:18px;
  background:linear-gradient(145deg,#292929,#050505);color:#fff;font:800 17px/1 inherit;letter-spacing:.04em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 10px 25px rgba(0,0,0,.12);
}
.igsc-modal__eyebrow{text-transform:uppercase;letter-spacing:.13em;font:800 11px/1.2 inherit;color:var(--igsc-gold);margin-bottom:9px;}
.igsc-modal h2{margin:0;color:var(--igsc-ink);font:750 clamp(24px,4vw,31px)/1.17 inherit;letter-spacing:-.025em;max-width:480px;}
.igsc-modal__lead{margin:11px 0 22px;color:var(--igsc-muted);font:500 15px/1.6 inherit;}

/* Large, unmistakable branch choices. */
.igsc-branches{display:grid;grid-template-columns:1fr;gap:13px;}
button.igsc-branch{
  position:relative;
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;
  border:2px solid var(--igsc-line)!important;background:#fff!important;border-radius:20px!important;
  padding:18px 18px 18px 16px!important;display:grid!important;grid-template-columns:46px 52px 1fr auto!important;gap:13px!important;
  align-items:center!important;text-align:left!important;cursor:pointer!important;color:var(--igsc-ink)!important;
  box-shadow:0 7px 20px rgba(0,0,0,.045)!important;
  text-transform:none!important;letter-spacing:0!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
  overflow:hidden;
}
button.igsc-branch::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--igsc-gold);
}
button.igsc-branch:hover{transform:translateY(-2px)!important;border-color:rgba(169,134,82,.7)!important;box-shadow:0 13px 28px rgba(0,0,0,.10)!important;background:#fffdf9!important;}
button.igsc-branch:focus-visible{outline:3px solid rgba(169,134,82,.28)!important;outline-offset:2px!important;}
.igsc-branch__index{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#171717;color:#fff;
  font:800 12px/1 inherit;letter-spacing:.06em;
}
.igsc-branch__pin{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--igsc-cream);color:var(--igsc-gold);border:1px solid var(--igsc-gold-soft);}
.igsc-branch__pin svg{width:22px;height:22px;fill:currentColor;}
.igsc-branch__content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.igsc-branch__city{font:850 10px/1.2 inherit;letter-spacing:.15em;color:var(--igsc-gold);margin-bottom:1px;}
.igsc-branch__content strong{font:800 18px/1.2 inherit;color:#171717!important;}
.igsc-branch__content small{font:650 14px/1.25 inherit;color:#555!important;white-space:nowrap;}
.igsc-branch__action{
  margin-top:8px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;
  background:#f3efe8;color:#292929;font:800 11px/1 inherit;
}
.igsc-branch__action-icon{width:7px;height:7px;border-radius:50%;background:var(--igsc-gold);box-shadow:0 0 0 4px rgba(169,134,82,.12);}
.igsc-modal.is-whatsapp .igsc-branch__action{background:#e9f8ef;color:#0b6e3c;}
.igsc-modal.is-whatsapp .igsc-branch__action-icon{background:#20b85f;box-shadow:0 0 0 4px rgba(32,184,95,.12);}
.igsc-branch__arrow{font-size:25px;color:#aaa;transition:transform .16s ease,color .16s ease;}
button.igsc-branch:hover .igsc-branch__arrow{transform:translateX(4px);color:var(--igsc-gold);}
.igsc-modal__note{margin:18px 0 0;padding:15px 16px 0;border-top:1px solid #e9e5de;color:#777;font:500 12px/1.55 inherit;text-align:center;}
.igsc-modal__note strong{color:#333;}

@media (max-width:640px){
  .igsc-float{bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px))!important;gap:9px!important;}
  .igsc-float--left{left:14px!important;}.igsc-float--right{right:14px!important;}
  button.igsc-fab{width:58px!important;height:58px!important;min-height:58px!important;padding:0!important;border-radius:50%!important;justify-content:center!important;box-shadow:0 9px 25px rgba(0,0,0,.25)!important;}
  .igsc-fab__icon{width:58px!important;height:58px!important;background:transparent!important;}
  .igsc-fab__icon svg{width:25px!important;height:25px!important;}
  .igsc-fab__label{display:none!important;}

  .igsc-modal{padding:12px!important;align-items:end!important;}
  .igsc-modal__dialog{border-radius:25px 25px 18px 18px;padding:27px 17px 18px;max-height:calc(100dvh - 24px);}
  .igsc-modal__mark{width:48px;height:48px;border-radius:15px;margin-bottom:15px;}
  .igsc-modal h2{font-size:25px;line-height:1.16;padding-right:32px;}
  .igsc-modal__lead{font-size:14px;margin-bottom:17px;}
  button.igsc-branch{grid-template-columns:38px 45px 1fr auto!important;gap:10px!important;padding:15px 13px!important;border-radius:18px!important;}
  .igsc-branch__index{width:36px;height:36px;font-size:10px;}
  .igsc-branch__pin{width:43px;height:43px;border-radius:13px;}
  .igsc-branch__content strong{font-size:16px;}
  .igsc-branch__content small{font-size:13px;}
  .igsc-branch__action{font-size:10px;padding:6px 9px;margin-top:6px;}
  .igsc-branch__arrow{font-size:21px;}
}

@media (max-width:380px){
  button.igsc-branch{grid-template-columns:38px 1fr auto!important;}
  .igsc-branch__pin{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .igsc-fab,.igsc-modal__backdrop,.igsc-modal__dialog,.igsc-branch,.igsc-branch__arrow{transition:none!important;}
}
