
    :root{
      --brand:#ef8119;         /* acento eclipse */
      --bg:#fff6f8;            /* slate-900 */
      --fg:#222222;            /* gris muy oscuro para texto sobre claro */
      --muted:#6b7280;         /* gris medio */
      --card:#ffffff;          /* blanco */
      --soft:#f8fafc;          /* fondo suave */
      --ring: rgba(239,129,25,.35);
    }
    *{box-sizing:border-box}
    html,body{margin:0}
    body{
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
      color:#0f172a; background:linear-gradient(180deg, #0f172a 0%, #111827 40%, #0f172a 100%);
      background-attachment: fixed;
    }
    a{color:var(--brand); text-decoration:none}
    .container{width:min(1120px, 92%); margin-inline:auto}

    /* Header */
    header{position:sticky; top:0; z-index:50; background:#ffffff; border-bottom:1px solid rgba(0,0,0,.06);}
    .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
    .logo{display:flex; align-items:center; gap:10px; color:#fff}
    .logo img{height:36px; width:auto; display:block}
    .logo-badge{width:36px; height:36px; border-radius:10px; background:conic-gradient(from 180deg,var(--brand), #ffbd7a); display:grid; place-items:center; box-shadow:0 8px 24px rgba(0,0,0,.25)}
    .logo-badge span{font-weight:800; color:#111; font-size:.9rem}
    .logo h1{font-size:1rem; margin:0; font-weight:800}
    .logo h1 b{text-transform:lowercase}
    .nav-cta{display:flex; align-items:center; gap:12px}
    .btn{appearance:none; border:none; border-radius:14px; padding:12px 18px; font-weight:700; cursor:pointer; transition:.25s ease; display:inline-flex; align-items:center; gap:10px}
    .btn-primary{background:var(--brand); color:#111}
    .btn-primary:hover{transform:translateY(-1px); box-shadow:0 10px 24px var(--ring)}
    .btn-ghost{color:#fff; background:transparent; border:1px solid rgba(255,255,255,.25)}
    .btn-ghost:hover{background:rgba(255,255,255,.08)}

    /* Hero */
    .hero{color:#fff; padding:72px 0 40px; position:relative; overflow:hidden}
    .hero-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:40px;color:black}
    @media (max-width: 900px){ .hero-grid{grid-template-columns:1fr} }
    .eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.06); color:black; padding:8px 12px; border-radius:999px; font-weight:600; font-size:.9rem; border:1px solid rgba(255,255,255,.12)}
    h2.hero-title{font-size: clamp(1.9rem, 3.4vw, 3rem); line-height:1.1; margin:14px 0 12px;color:black}
    .hero-sub{font-size: clamp(1rem, 1.5vw, 1.2rem); color:#e5e7eb; max-width:62ch;color:black}
    .hero-card{background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.18); padding:16px; border-radius:16px}
    .hero-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
    .stat{background:rgba(255,255,255,.08); border-radius:12px; padding:16px; text-align:center}
    .stat b{display:block; font-size:1.2rem}

    /* Sections */
    section{padding:56px 0; background:var(--soft)}
    .section-dark{background:#0b1220; color:#e5e7eb}
    .split{display:grid; grid-template-columns:1fr 1fr; gap:32px}
    @media (max-width: 900px){ .split{grid-template-columns:1fr} }
    h3{font-size: clamp(1.3rem, 2.2vw, 1.8rem); margin:0 0 10px}
    p{line-height:1.6}

    .feature-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px}
    @media (max-width: 900px){ .feature-grid{grid-template-columns:1fr 1fr} }
    @media (max-width: 640px){ .feature-grid{grid-template-columns:1fr} }
    .card{background:var(--card); border:1px solid #e5e7eb; border-radius:18px; padding:20px; box-shadow:0 6px 18px rgba(2,6,23,.05)}
    .kicker{font-size:.85rem; font-weight:800; letter-spacing:.02em; color:var(--brand)}

    /* CTA band */
    .cta-band{background:#fff; border-top:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb}
    .cta-row{display:flex; align-items:center; justify-content:space-between; gap:24px}
    @media (max-width: 900px){ .cta-row{flex-direction:column; text-align:center} }

    /* Form */
    .form{background:#fff; border:1px solid #e5e7eb; border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(2,6,23,.06)}
    .grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
    @media (max-width: 720px){ .grid{grid-template-columns:1fr} }
    .field{display:flex; flex-direction:column; gap:8px}
    label{font-weight:600}
    input, select, textarea{
      width:100%; padding:12px 14px; border-radius:12px; border:1px solid #e5e7eb; outline:none; font:inherit; background:#fff
    }
    input:focus, textarea:focus{border-color:var(--brand); box-shadow:0 0 0 6px var(--ring)}
    textarea{min-height:120px; resize:vertical}
    .consent{display:flex; align-items:flex-start; gap:10px; font-size:.9rem; color:#374151}

    /* Footer */
    footer{background:#0b1220; color:#9ca3af; padding:38px 0}
    .foot{display:flex; align-items:center; justify-content:space-between}
    .foot a{color:#fff}
    @media (max-width: 900px){ .foot{flex-direction:column; gap:8px; text-align:center} }

    /* Toast */
    .toast{position:fixed; right:20px; bottom:20px; background:#111827; color:#fff; padding:14px 16px; border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.28); opacity:0; transform:translateY(10px); pointer-events:none; transition:.35s}
    .toast.show{opacity:1; transform:translateY(0)}
  
header .logo, header .nav-cta, header .container { color: #111 !important; }
header a { color: #111 !important; }
header .btn-ghost{ border:1px solid rgba(0,0,0,.09); color: #111 }
header .logo img{height:36px}
/* Buttons */
.btn-primary{background:#ef8119; color:#fff}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 10px 24px rgba(239,129,25,.25)}
.btn-ghost{color:#111; background:transparent; border:1px solid rgba(0,0,0,.06)}
.btn-ghost:hover{background:rgba(0,0,0,.04)}



/* Stats grid con iconos */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 900px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

.stat {
  background: rgba(255, 255, 255, .08);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.stat i {
  color: #ef8119;
  margin-bottom: 6px;
}



.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}


.card {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 12px;
  background-color: #fff; /* fondo blanco por debajo */
}

/* Ejemplo con imagen + transparencia encima del blanco */
.card--agenda {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/agenda.jpg");
}

.card--bonos {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/bonos.jpg");
}

.card--tpv {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/tpv.jpg");
}
.card--stock {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/stock.jpg");
}
.card--estadisticas {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/estadisticas.jpg");
}
.card--movil {
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,1)), url("../img/movil.jpg");
}


.header-buttons {
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-buttons .btn {
  font-size: 0.95rem;
  padding: 10px 16px;
}

.card-image {
  width: 100%;
  max-width: 80px;   /* controla tamaño */
  margin-bottom: 12px;
  display: block;
}




/* Bloque de consentimiento RGPD */
.consent {
  display: grid;
  grid-template-columns: auto 1fr; /* checkbox + texto */
  align-items: start;
  gap: 8px;
  margin-top: 12px;
}

.consent input[type="checkbox"] {
  margin-top: 4px; /* lo baja un poquito para quedar alineado */
}

.consent label {
  font-size: 0.85rem;  /* mismo tamaño que el resto de campos */
  line-height: 1.4;
}



.header-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px; /* espacio entre el h2 y los botones */
}

.header-title {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  margin: 0;
  color: #000;; /* ajusta según tu diseño */
}


/* === HERO con fondo + overlay === */
.hero {
  position: relative;
  background: url("../img/peluqueria0.jpg") center right / cover no-repeat;
  color: #000; /* texto oscuro porque el lado izquierdo será claro */
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to left,
    rgba(255,255,255,0) 0%,     /* derecha sin degradado */
	rgba(255,255,255,0) 25%,     /* derecha sin degradado */
    rgba(255,255,255,0.5) 50%,  /* mitad: empieza a blanquearse */
    #ffffff  75%,  /* más claro */
    #ffffff  90%, /* casi blanco */
    #ffffff 100%                /* extremo izquierdo blanco total */
  );
  z-index: 0;
}
.hero > .container {
  position: relative;
  z-index: 1;
}


.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;       /* tamaño de texto uniforme */
  font-weight: 600;
  padding: 10px 24px;    /* mismo relleno en todos */
  border-radius: 6px;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
}


.btn-primary {
  background-color: #f57c00;  /* naranja corporativo */
  color: #fff;
  border: none;
  min-width: 180px;           /* mismo ancho mínimo */
}


header .btn {
  font-size: 16px !important;
  padding: 10px 24px !important;
  min-width: 180px;
}

.btn-black {
  background-color: #000;  /* fondo negro */
  color: #fff;             /* texto blanco */
  border: none;
  min-width: 220px;        /* mismo ancho que los demás */
  font-size: 16px;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 6px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.btn-black:hover {
  background-color: #333;  /* gris oscuro al pasar el ratón */
}

.cta-row .btn-black {
  margin-top: 12px;
}


@media (max-width: 768px) {
  header .container.nav {
    flex-direction: column;   /* apila verticalmente */
    align-items: center;
    text-align: center;
  }

  /* Logo y claim juntos y centrados */
  header .logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10px; /* espacio debajo del logo */
  }

  header .logo .header-title {
    font-size: 18px;
    margin-top: 6px;
    text-align: center;
  }

  /* Botones apilados y centrados debajo */
  header .header-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;      /* espacio entre botones */
    width: 100%;
  }

  header .header-buttons .btn {
    min-width: 220px;    /* mismo ancho que los demás botones */
    text-align: center;
    justify-content: center;
  }
}

/* Botones dentro de la sección hero */
.hero .hero-buttons,
.hero .container div[style*="display:flex"] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* En móvil se centran */
@media (max-width: 768px) {
  .hero .hero-buttons,
  .hero .container div[style*="display:flex"] {
    justify-content: center;
  }

  .hero .hero-buttons .btn,
  .hero .container div[style*="display:flex"] .btn {
    min-width: 220px;  /* mismo ancho para consistencia */
    text-align: center;
    justify-content: center;
  }
}


* Por defecto: cuadrícula flexible */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 16px;
  margin-top: 20px;
  text-align: center;
}

/* En pantallas pequeñas (ej. móviles) forzar 2 columnas */
@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}






