/* ============================= */
/* MODAL LAUNCH — ENTERPRISE     */
/* Agrega al final de style.css  */
/* ============================= */

/* Overlay: arena oscura semidesiértica */
.launch-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(58, 36, 14, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background 0.42s ease;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: background 0.42s ease, backdrop-filter 0.42s ease;
}

.launch-overlay.open {
  background: rgba(48, 28, 8, 0.72);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  pointer-events: auto;
}

/* Ventana modal */
.launch-window {
  width: 92vw;
  max-width: 980px;
  height: min(84vh, 660px);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #F2EDE4;
  border: 1px solid rgba(200, 178, 148, 0.7);
  box-shadow:
    0 48px 120px rgba(40, 22, 4, 0.38),
    0 0 0 1px rgba(255, 248, 238, 0.10);
  transform: scale(0.84) translateY(36px);
  opacity: 0;
  transition:
    transform 0.48s cubic-bezier(0.16, 1, 0.3, 1),
    opacity   0.36s ease;
}

.launch-overlay.open .launch-window {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Chrome bar: tono tierra */
.launch-chrome {
  flex-shrink: 0;
  background: #2C1A08;
  padding: 11px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.launch-dots {
  display: flex;
  gap: 7px;
  flex-shrink: 0;
}

.launch-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
}

.ldot-close  { background: #C47A3A; cursor: pointer; }
.ldot-mid    { background: rgba(196,160,100,0.45); }
.ldot-max    { background: rgba(196,160,100,0.25); }

.ldot-close:hover { background: #E0925A; }

.launch-url {
  flex: 1;
  background: rgba(255, 245, 230, 0.07);
  border-radius: 7px;
  padding: 5px 14px;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: rgba(230, 210, 180, 0.5);
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.launch-close-btn {
  background: none;
  border: none;
  color: rgba(220, 195, 155, 0.45);
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  padding: 0 2px;
  flex-shrink: 0;
  transition: color 0.15s;
}

.launch-close-btn:hover { color: #E8D5B0; }

/* Área iframe */
.launch-body {
  flex: 1;
  position: relative;
  background: #EDE8DF;
}

.launch-body iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* Loader */
.launch-loader {
  position: absolute;
  inset: 0;
  background: #F2EDE4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  z-index: 3;
  transition: opacity 0.4s ease;
}

.launch-loader.hidden {
  opacity: 0;
  pointer-events: none;
}

.launch-loader-label {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #A87952;
}

.launch-loader-track {
  width: 100px;
  height: 1.5px;
  background: rgba(168, 121, 82, 0.18);
  border-radius: 999px;
  overflow: hidden;
}

.launch-loader-fill {
  height: 100%;
  width: 0%;
  background: #A87952;
  border-radius: 999px;
  animation: launchLoad 1.4s ease forwards;
}

@keyframes launchLoad {
  0%   { width: 0%; }
  60%  { width: 75%; }
  100% { width: 100%; }
}

/* Cursor pointer en los módulos */
.enterprise-module {
  cursor: pointer;
}

/* Responsive */
@media (max-width: 680px) {
  .launch-window {
    height: min(90vh, 580px);
    border-radius: 14px;
  }
}


/* Petsy-specific clinical veterinary loader */
.petsy-loader-mark{display:none;position:relative;width:78px;height:70px;margin:0 auto 18px;filter:drop-shadow(0 12px 28px rgba(47,111,126,.22))}
.launch-loader.petsy-mode .petsy-loader-mark{display:block;animation:petsyFloat 2.4s ease-in-out infinite}
.launch-loader.petsy-mode .launch-loader-track{display:none}
.petsy-face{position:absolute;left:17px;top:20px;width:44px;height:38px;border-radius:46% 46% 52% 52%;background:linear-gradient(145deg,#2F6F7E,#58c7b2);box-shadow:inset 9px 0 18px rgba(255,255,255,.16)}
.petsy-ear{position:absolute;top:8px;width:24px;height:28px;background:linear-gradient(145deg,#A87952,#f0c36c);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.9}
.petsy-ear.left{left:15px;transform:rotate(-20deg)}.petsy-ear.right{right:15px;transform:rotate(20deg)}
.petsy-pulse{position:absolute;left:0;right:0;bottom:2px;height:18px;border-radius:999px;border:1px solid rgba(168,121,82,.35)}
.petsy-pulse:before{content:"";position:absolute;left:13px;right:13px;top:8px;height:2px;background:linear-gradient(90deg,transparent,#A87952 18%,#A87952 28%,transparent 29%,transparent 37%,#2F6F7E 38%,#2F6F7E 45%,transparent 46%,transparent 55%,#A87952 56%,#A87952 70%,transparent);animation:petsyPulse 1.55s ease-in-out infinite}
.launch-loader.petsy-mode .launch-loader-label{color:#2F6F7E;letter-spacing:.16em}
@keyframes petsyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes petsyPulse{0%,100%{opacity:.35;transform:scaleX(.88)}50%{opacity:1;transform:scaleX(1)}}
