/* ============================================================
   ANCE - PAGINAS INTERNAS - CSS GLOBAL NUEVO  (v0.3 - borrador)
   ------------------------------------------------------------
   Disenio de referencia: el de "Lavadoras" (linea de tiempo,
   panel plegable con numero y boton, ficha de datos dentro del
   panel, normatividad como bloque aparte fuera del panel).
     3. A quien va dirigido ........ .ance-dirigido
     4. Servicios .................. .ance-svc
     5. Normatividad aplicable ..... .ance-normas  (nacional e internacional)
   Los bloques 1, 2, 6 y 7 (hero, intro, por que ANCE y CTA) los
   resuelve pagina_interna_ance.css con las clases ance-inner-*,
   .ance-intro, .ance-list y .ance-cta-block.
   Nombres: BEM. Estados: .is-active .is-visible .is-open
   (los pone ance-interna.js). Acento: #00049e unico.
   ============================================================ */

/* ¿A QUIÉN? */
.ance-dirigido{list-style:none;padding:0;margin:0;}
.ance-dirigido li{display:flex;align-items:center;gap:14px;padding:5px 0;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;color:#555;line-height:1.5;}
.ance-dirigido__icon{width:34px;height:34px;background:rgba(0,4,158,0.07);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ance-dirigido__icon svg{width:18px;height:18px;stroke:#00049e;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
/* NORMATIVIDAD APLICABLE */
.ance-normas__grid{display:grid;grid-template-columns:1fr 1fr;}
.ance-normas__card{padding:14px 16px;border-bottom:0.5px solid rgba(0,4,158,0.08);}
.ance-normas__card:nth-child(odd){background:rgba(0,4,158,0.05);}
.ance-normas__card:nth-child(even){background:transparent;}
.ance-normas__card:nth-last-child(-n+2){border-bottom:none;}
.ance-normas__card .ance-normas__code{display:block;font-size:13px;font-weight:700;color:#00049e;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;margin-bottom:3px;}
.ance-normas__card .ance-normas__desc{display:block;font-size:12px;color:#666;line-height:1.5;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
/* REGIONALIZACIÓN */
.ance-normas__intl-title{font-size:13px;color:#888;font-style:italic;margin-bottom:18px;}
.ance-normas__paises{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:10px;}
.ance-normas__pais{background:rgba(0,4,158,0.04);border-radius:8px;padding:16px 18px;}
.ance-normas__pais-nombre{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#00049e;margin-bottom:8px;}
.ance-normas__pais-lista{list-style:none;padding:0;margin:0;}
.ance-normas__pais-lista li{font-size:13px;color:#555;line-height:1.8;padding-left:14px;position:relative;}
.ance-normas__pais-lista li::before{content:'';position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:#00049e;}
/* SERVICIOS CONTAINER */
.ance-svc{max-width:900px;margin:0 auto;padding:0 40px 60px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
/* TIMELINE */
.ance-svc__timeline{position:relative;display:flex;align-items:flex-start;padding-top:10px;margin-bottom:24px;}
.ance-svc__timeline::before{content:'';position:absolute;top:24px;left:24px;right:24px;height:2px;background:linear-gradient(90deg,#00b0f0,#00049e);z-index:0;}
.ance-svc__item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;cursor:pointer;}
.ance-svc__dot{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid #00049e;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#00049e;transition:all .3s;margin-bottom:10px;flex-shrink:0;text-align:center;line-height:1.2;padding:3px;box-sizing:border-box;}
.ance-svc__item:hover .ance-svc__dot,.ance-svc__item.is-active .ance-svc__dot{background:#00049e;color:#fff;transform:scale(1.1);box-shadow:0 4px 16px rgba(0,4,158,0.35);}
.ance-svc__name{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;text-align:center;line-height:1.4;padding:0 4px;transition:color .3s;}
.ance-svc__item.is-active .ance-svc__name{color:#00049e;}
/* BARRA DE AVANCE (muestra el tiempo que falta para el siguiente servicio) */
.ance-svc__progress{background:#e8e8e8;border-radius:2px;height:2px;margin-bottom:20px;overflow:hidden;}
.ance-svc__progress-bar{background:#00049e;height:100%;width:0%;}
/* PANEL */
.ance-svc__panel{display:none;border:1px solid #e0e0e0;border-left:4px solid #00049e;border-radius:4px;background:#fff;overflow:hidden;animation:ance-svc-fadein .35s ease;}
.ance-svc__panel.is-visible{display:block;}
@keyframes ance-svc-fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.ance-svc__panel-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;cursor:pointer;user-select:none;transition:background .2s;}
.ance-svc__panel-header:hover{background:#f5f7ff;}
.ance-svc__panel-left{display:flex;align-items:center;gap:18px;}
.ance-svc__num{font-size:40px;font-weight:800;color:#f0f0f0;line-height:1;flex-shrink:0;}
.ance-svc__tag{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#00049e;margin-bottom:4px;}
.ance-svc__title{font-size:16px;font-weight:800;color:#222;text-transform:uppercase;letter-spacing:.3px;}
.ance-svc__short{font-size:13px;color:#888;margin-top:3px;line-height:1.5;}
.ance-svc__toggle{width:34px;height:34px;border-radius:50%;border:2px solid #00049e;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#00049e;font-size:20px;font-weight:300;transition:all .3s;}
.ance-svc__panel-header.is-open .ance-svc__toggle{background:#00049e;color:#fff;transform:rotate(45deg);}
.ance-svc__panel-body{display:none;padding:4px 28px 28px;border-top:1px solid #f0f0f0;}
.ance-svc__panel-body.is-open{display:block;}
/* MÉTODOS DE PRUEBA — ancho completo */
.ance-col-title{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#00049e;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e8e8e8;margin-top:20px;}
.ance-svc__list{list-style:none;padding:0;margin:0;}
.ance-svc__list li{font-size:13px;color:#555;line-height:1.6;padding:4px 0 4px 14px;position:relative;}
.ance-svc__list li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:#00049e;}
/* META */
.ance-svc__meta{display:flex;gap:0;padding:16px 28px;border-top:1px solid #f0f0f0;}
.ance-svc__meta-item{flex:1;padding:0 20px;border-right:1px solid #e0e0e0;}
.ance-svc__meta-item:first-child{padding-left:0;}
.ance-svc__meta-item:last-child{border-right:none;}
.ance-svc__meta-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#00049e;margin-bottom:4px;}
.ance-svc__meta-value{font-size:13px;color:#333;font-weight:600;line-height:1.5;}
/* ===== Variantes (aun sin probar en una pagina real) ===== */
/* Cuerpo del panel en 2 columnas */
.ance-svc__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
/* Un solo servicio: sin linea de tiempo ni numero */
.ance-svc--single .ance-svc__timeline{display:none;}
.ance-svc--single .ance-svc__num{display:none;}
.ance-svc--single .ance-svc__progress{display:none;}

/* RESPONSIVE */
@media(max-width:768px){
  .ance-svc{padding:0 20px 40px;}
  .ance-svc__meta{flex-direction:column;gap:14px;}
  .ance-svc__meta-item{border-right:none;padding:0;border-bottom:1px solid #f0f0f0;padding-bottom:12px;}
  .ance-svc__meta-item:last-child{border-bottom:none;}
  .ance-normas__grid{grid-template-columns:1fr;}
  .ance-normas__card:nth-last-child(-n+2){border-bottom:0.5px solid rgba(0,4,158,0.08);}
  .ance-normas__card:last-child{border-bottom:none;}
}
@media(max-width:768px){
  .ance-svc__grid{grid-template-columns:1fr;}
}

/* ===== v0.3: ORGANISMO ACREDITADOR (logo + texto en 2 columnas) ===== */
.ance-org{display:flex;align-items:center;gap:28px;margin:30px 0 20px 0;}
.ance-org__logo{flex:0 0 170px;max-width:170px;}
.ance-org__logo img{display:block;width:100%;height:auto;}
.ance-org__texto{flex:1;}
.ance-org .ance-org__texto p{margin:0;}

/* ===== v0.3: NOTA ===== */
.ance-nota{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;color:#888;margin-top:10px;line-height:1.6;}

/* ===== v0.3: TARJETA DE CONTACTO ===== */
.ance-contacto{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;max-width:340px;margin:20px auto 0;}
.ance-contacto__titulo{background:#00049e;color:#fff;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:10px 16px;}
.ance-contacto__cuerpo{padding:14px 16px;}
.ance-contacto__cuerpo a{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#00049e;font-size:14px;font-weight:600;text-decoration:none;}

/* ===== v0.3: PUNTOS CON NUMEROS (modificador de .ance-svc) ===== */
.ance-svc--numeros .ance-svc__timeline::before{top:29px;left:29px;right:29px;}
.ance-svc--numeros .ance-svc__dot{font-size:15px;margin-bottom:10px;padding:0;line-height:inherit;}
.ance-svc--numeros .ance-svc__name{font-size:12px;padding:0 2px;}

@media(max-width:768px){
  .ance-org{flex-direction:column;align-items:flex-start;gap:16px;}
  .ance-org__logo{flex:0 0 140px;max-width:140px;}
  .ance-svc--numeros .ance-svc__dot{width:30px;height:30px;font-size:12px;}
  .ance-svc--numeros .ance-svc__name{font-size:10px;}
  .ance-svc--numeros .ance-svc__timeline::before{top:24px;left:24px;right:24px;}
}