/*
 * Capa adaptable para la version smartphone de Diskdoctor Datarecovery.
 * Se carga despues de las hojas generadas por Adobe Muse para conservar el
 * contenido, los recursos y la identidad visual existentes.
 */

:root {
  --dd-canvas-width: 400px;
  --dd-red: #c90018;
  --dd-red-dark: #8f0011;
  --dd-amber: #ffae00;
  --dd-ink: #101008;
  --dd-paper: #ffffff;
  --dd-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
  color-scheme: dark;
}

html {
  min-width: 0 !important;
  width: 100%;
  overflow-x: hidden;
  scroll-padding-top: calc(4.5rem + env(safe-area-inset-top, 0px));
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-width: 0 !important;
  width: 100%;
  margin: 0;
  padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
  overflow-x: hidden !important;
  background: #120e0c;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body,
body * {
  box-sizing: border-box;
}

.dd-page-viewport {
  width: 100%;
  max-width: var(--dd-canvas-width);
  margin: 0 auto;
  overflow: hidden;
  overflow: clip;
}

#page {
  width: 100% !important;
  max-width: var(--dd-canvas-width) !important;
  margin: 0 auto !important;
  transform-origin: left top;
}

#page .browser_width {
  left: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
}

#page .browser_width > * {
  max-width: 100%;
}

/* El eslogan del encabezado de Muse suma 100.5% (75.75% + 24.75%). */
#page #u59211 {
  width: 24.25% !important;
}

#page img,
#page svg,
#page video,
#page canvas,
#page object,
#page embed {
  max-width: 100%;
}

#page img,
#page video {
  height: auto;
}

#page iframe {
  display: block;
  max-width: 100%;
  border: 0;
}

#page p,
#page h1,
#page h2,
#page h3,
#page h4,
#page h5,
#page h6,
#page a,
#page label {
  overflow-wrap: anywhere;
}

/* El lienzo original mide 400 px. En pantallas menores se escala completo,
   manteniendo intactas sus composiciones y evitando cualquier recorte lateral. */
@media (max-width: 399px) {
  #page.dd-scaled-page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    margin: 0 !important;
    transform: scale(var(--dd-page-scale, 0.8));
  }
}

/* Si JavaScript no esta disponible, estos valores conservadores impiden que
   el lienzo fijo se extienda mas alla de la pantalla. */
@media (min-width: 381px) and (max-width: 399px) {
  #page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    transform: scale(0.95);
  }
}

@media (min-width: 361px) and (max-width: 380px) {
  #page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    transform: scale(0.9);
  }
}

@media (min-width: 341px) and (max-width: 360px) {
  #page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    transform: scale(0.85);
  }
}

@media (min-width: 321px) and (max-width: 340px) {
  #page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    transform: scale(0.8);
  }
}

@media (max-width: 320px) {
  #page {
    width: var(--dd-canvas-width) !important;
    max-width: none !important;
    transform: scale(0.75);
  }
}

/* Sustituto accesible para el menu emergente heredado de Muse. */
html.dd-enhanced #pamphletu59316 {
  display: none !important;
}

.dd-mobile-nav {
  position: fixed;
  top: calc(0.6rem + env(safe-area-inset-top, 0px));
  right: 0.75rem;
  z-index: 2147483000;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.dd-mobile-nav__toggle {
  display: inline-flex;
  min-width: 5.5rem;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.7rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, #e4001b, var(--dd-red-dark));
  box-shadow: var(--dd-shadow);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.dd-mobile-nav__toggle::before {
  content: "";
  width: 1.2rem;
  height: 0.85rem;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}

.dd-mobile-nav__toggle[aria-expanded="true"]::before {
  height: 1rem;
  border: 0;
  background:
    linear-gradient(45deg, transparent 45%, currentColor 46%, currentColor 54%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, currentColor 46%, currentColor 54%, transparent 55%);
}

.dd-mobile-nav__panel {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  width: min(22rem, calc(100vw - 1.5rem));
  max-height: calc(100dvh - 5.5rem - env(safe-area-inset-top, 0px));
  padding: 0.55rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 0.9rem;
  background: rgba(16, 16, 8, 0.98);
  box-shadow: var(--dd-shadow);
  -webkit-overflow-scrolling: touch;
}

.dd-mobile-nav__panel[hidden] {
  display: none !important;
}

.dd-mobile-nav__link {
  display: flex;
  min-height: 2.85rem;
  align-items: center;
  padding: 0.68rem 0.8rem;
  border-radius: 0.65rem;
  color: #fff !important;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none !important;
}

.dd-mobile-nav__link + .dd-mobile-nav__link {
  margin-top: 0.18rem;
}

.dd-mobile-nav__link:hover,
.dd-mobile-nav__link:focus-visible,
.dd-mobile-nav__link[aria-current="page"] {
  background: var(--dd-red);
  color: #fff !important;
}

.dd-mobile-nav__toggle:focus-visible,
.dd-mobile-nav__link:focus-visible,
.dd-quick-actions__link:focus-visible {
  outline: 3px solid var(--dd-amber);
  outline-offset: 3px;
}

body.dd-menu-open {
  overflow: hidden !important;
}

/* Acciones comerciales siempre alcanzables, con objetivos tactiles amplios. */
.dd-quick-actions {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147482990;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  width: min(100%, 26rem);
  margin: 0 auto;
  padding: 0.55rem 0.75rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(16, 16, 8, 0), rgba(16, 16, 8, 0.96) 22%);
  transition: transform 160ms ease, opacity 160ms ease;
}

.dd-quick-actions__link {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 0.75rem;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.32);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.dd-quick-actions__link--call {
  background: linear-gradient(180deg, #e4001b, var(--dd-red-dark));
}

.dd-quick-actions__link--whatsapp {
  background: linear-gradient(180deg, #24c861, #087d37);
}

body.dd-form-focus .dd-quick-actions {
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}

/* Formulario de contacto: se mantiene la accion PHP y los nombres de campo,
   pero se reemplaza la geometria absoluta por una columna tactil. */
.dd-responsive-form {
  display: flex !important;
  float: none !important;
  flex-direction: column;
  gap: 0.85rem;
  width: calc(100% - 1.5rem) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 2rem auto 1rem !important;
  padding: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 0.9rem;
  background: rgba(0, 0, 0, 0.34) !important;
  box-shadow: var(--dd-shadow);
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .fld-grp {
  display: flex !important;
  float: none !important;
  flex-direction: column;
  gap: 0.35rem;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .fld-label {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700;
  line-height: 1.35 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .fld-label p,
.dd-responsive-form .fld-label span {
  color: inherit !important;
}

.dd-responsive-form .fld-input,
.dd-responsive-form .fld-textarea {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 3.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid #6b6b6b !important;
  border-radius: 0.65rem !important;
  background: #fff !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .fld-textarea {
  min-height: 7.5rem !important;
}

.dd-responsive-form .wrapped-input {
  display: block !important;
  width: 100% !important;
  height: 3.5rem !important;
  min-height: 3.5rem !important;
  margin: 0 !important;
  padding: 0.9rem 0.75rem !important;
  border: 0 !important;
  border-radius: 0.6rem !important;
  background: transparent !important;
  color: #222 !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  position: relative !important;
  inset: auto !important;
}

.dd-responsive-form textarea.wrapped-input {
  height: 7.5rem !important;
  min-height: 7.5rem !important;
  resize: vertical;
}

.dd-responsive-form .fld-prompt {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none;
}

.dd-responsive-form .fld-message {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffb7c0 !important;
  font-size: 0.9rem !important;
  line-height: 1.3 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .fld-err-st .fld-label,
.dd-responsive-form .fld-err-st .fld-label p,
.dd-responsive-form .fld-err-st .fld-label span {
  color: #ffb7c0 !important;
}

.dd-responsive-form .fld-err-st .fld-input,
.dd-responsive-form .fld-err-st .fld-textarea {
  border-color: #ff5368 !important;
  box-shadow: 0 0 0 2px rgba(255, 83, 104, 0.22);
}

.dd-responsive-form #widgetu61924 { order: 1; }
.dd-responsive-form #widgetu61915 { order: 2; }
.dd-responsive-form #widgetu61929 { order: 3; }
.dd-responsive-form #widgetu62224 { order: 4; }
.dd-responsive-form #widgetu62241 { order: 5; }

.dd-responsive-form #u61910-4,
.dd-responsive-form #u61928-4,
.dd-responsive-form #u61919-4 {
  float: none !important;
  order: 6;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

.dd-responsive-form .submit-btn {
  display: flex !important;
  float: none !important;
  order: 7;
  width: 100% !important;
  min-height: 3.5rem !important;
  height: auto !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 0.7rem !important;
  background: linear-gradient(180deg, #ffae00, #d67300) !important;
  color: #17120d !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  cursor: pointer;
  box-sizing: border-box !important;
}

.dd-responsive-form .submit-btn > div {
  height: auto !important;
  margin: 0 !important;
}

.dd-responsive-form .submit-btn p {
  color: inherit !important;
}

.dd-responsive-form .submit-btn:disabled {
  cursor: wait;
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .dd-quick-actions {
    transition: none;
  }
}

@media print {
  html,
  body {
    overflow: visible !important;
  }

  body {
    padding-bottom: 0 !important;
  }

  .dd-mobile-nav,
  .dd-quick-actions {
    display: none !important;
  }

  .dd-page-viewport {
    max-width: none;
    height: auto !important;
    overflow: visible;
  }

  #page,
  #page.dd-scaled-page {
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }
}
