/*
Theme Name: Atención Liberada Theme
Theme URI: https://www.atencionliberada.com
Version: 1.98
Description: Custom theme for Atención Liberada.
Author: Pablo Gavilán
Author URI: https://www.pablogavilan.com
template: bb-theme
*/

.um a.um-button, .um a.um-button.um-disabled:active, .um a.um-button.um-disabled:focus, .um a.um-button.um-disabled:hover, .um input[type="submit"].um-button, .um input[type="submit"].um-button:focus {
  background: #ffe08a !important;
}

/* Estados de los retos y píldoras */

.fl-post-image{
    position: relative;
}

.fl-post-image .reto-estado {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;

    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;

    background: rgba(255,255,255,0.9);
}

.fl-post-image .reto-estado.reto-estado-iniciado { background:#ffe08a; }
.fl-post-image .reto-estado.reto-estado-conseguido { background:#b7f5c1; }
.fl-post-image .reto-estado.reto-estado-descartado { background:#f5b7b7; }
.fl-post-image .reto-estado.reto-estado-nuevo { background:#eaeaea; }



.fl-post-image .pildora-estado {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;

    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;

    background: rgba(255,255,255,0.9);
}

.fl-post-image .pildora-estado.pildora-estado-completada { background:#b7f5c1; }
.fl-post-image .pildora-estado.pildora-estado-nueva { background:#eaeaea; }

.decorado{
  position: relative;
  display: inline-block;
}

.decorado::before,
.decorado::after{
  content:"";
  position:absolute;
  width:14px;
  height:3px;
  background:#E5B96F;
  border-radius:2px;
  left:-18px;
}

.decorado::before{
  top:-6px;
  transform: rotate(-60deg);
}

.decorado::after{
  top:-14px;
  transform: rotate(-30deg);
}

/* tercera rayita */
.decorado{
  --rayita3: #E5B96F;
}

.decorado::after{
  box-shadow:
    -6px -6px 0 0 var(--rayita3);
}

.subrayado-amarillo {
  position: relative;
  display: inline-block;
	z-index: 1;
}

.subrayado-amarillo::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 100%;
  height: 8px;
  background: #e5b96f;
  z-index: -1;
  border-radius: 4px;
  transform: rotate(-1deg);
}

.mancha {
  position: relative;
  z-index: 1;
}

.mancha::before {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  top: 4px;
  bottom: 4px;
  background: #f1dcc2;
  z-index: -1;
  border-radius: 6px;
  transform: rotate(-1.3deg);
	filter: blur(0.3px);
}

.woocommerce-breadcrumb {
	display: none;
}

body.single-product .input-text.qty {
	display: none;
}

body.single-product .single_add_to_cart_button {
	width: 100%;
	padding: 12px
}

body.single-product .product_meta {
	display: none;
}

.woocommerce div.product div.images a {
    pointer-events: none;
}

/* Caja del selector */

.reto-estado-box{    margin:12px 0;    font-size:14px;}

/* Select */
.reto_estado_select{    
    padding:6px 10px;    
    border-radius:6px;    
    border:1px solid #ccc;    
    font-size:14px;    
    font-weight:600;    
    background:#f7f7f7;    
    cursor:pointer;    
    transition:all 0.15s ease;
}


    /* Hover */
.reto_estado_select:hover{    border-color:#999;}   

/* Focus */
.reto_estado_select:focus{    outline:none;    border-color:#666;    box-shadow:0 0 0 2px rgba(0,0,0,0.05);}

/* Colores según estado */
.reto_estado_select[value="nuevo"]{    background:#eaeaea;}
.reto_estado_select[value="iniciado"]{    background:#ffe08a;}
.reto_estado_select[value="conseguido"]{    background:#b7f5c1;}
.reto_estado_select[value="descartado"]{    background:#f5b7b7;}

.reto_estado_select[data-estado="nuevo"]{ background:#eaeaea; }
.reto_estado_select[data-estado="iniciado"]{ background:#ffe08a; }
.reto_estado_select[data-estado="conseguido"]{ background:#b7f5c1; }
.reto_estado_select[data-estado="descartado"]{ background:#f5b7b7; }

/* Caja del selector */

.pildora-estado-box{    margin:12px 0;    font-size:14px;}

/* Select */
.pildora_estado_select{
    padding:6px 10px;    
    border-radius:6px;    
    border:1px solid #ccc;    
    font-size:14px;    
    font-weight:600;    
    background:#f7f7f7;    
    cursor:pointer;    
    transition:all 0.15s ease;
}

    /* Hover */
.pildora_estado_select:hover{    border-color:#999;}   

/* Focus */
.pildora_estado_select:focus{    outline:none;    border-color:#666;    box-shadow:0 0 0 2px rgba(0,0,0,0.05);}

/* Colores según estado */
.pildora_estado_select[value="nueva"]{    background:#eaeaea;}
.pildora_estado_select[value="completada"]{    background:#b7f5c1;}

.pildora_estado_select[data-estado="nueva"]{ background:#eaeaea; }
.pildora_estado_select[data-estado="completada"]{ background:#b7f5c1; }

.num_circulo {
	display: inline-block;
	border: 2px solid #000;
	border-radius: 20px;
	width: 40px;
	text-align: center;
	margin-right: 10px;
}


.reto-nota-textarea {
    max-width: 300px;
    height: 150px;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 14px;
    resize: vertical;
    margin-bottom: 20px;
}

.info-tooltip {
    position: relative;
    display: inline-block;
}

.info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 50%;
    background: #222;
    color: #fff;
    cursor: pointer;
}

.info-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    width: 260px;
    background: #fff;
    color: #222;
    border: 1px solid #ddd;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.4;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    transition: opacity 0.2s;
}

.info-tooltip:hover .info-text,
.info-tooltip:focus-within .info-text {
    visibility: visible;
    opacity: 1;
}

/* Estilos para el cuestionario */

.al-step-form-wrap {
  max-width: 980px;
  margin: 0 auto;
}

.al-step-form {
  width: 100%;
}

.al-progress {
  margin-bottom: 34px;
}

.al-progress-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.al-progress-text {
  font-size: 0.98rem;
  color: #4a5672;
  font-weight: 600;
}

.al-progress-bar {
  width: 100%;
  height: 10px;
  background: #e7ebf3;
  border-radius: 999px;
  overflow: hidden;
}

.al-progress-bar-fill {
  height: 100%;
  background: #18b158;
  border-radius: 999px;
  transition: width 0.25s ease;
}

.al-steps {
  position: relative;
}

.al-step {
  display: none;
}

.al-step.is-active {
  display: block;
}

.al-question-block {
  min-height: 310px;
}

.al-question-title {
  display: block;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  color: #253858;
  margin-bottom: 14px;
}

.al-required {
  margin-right: 6px;
}

.al-question-help {
  font-size: 1rem;
  font-style: italic;
  color: #222;
  margin-bottom: 18px;
}

.al-options-grid {
  display: grid;
  gap: 14px;
}

.al-options-grid--5 {
  grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.al-options-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.al-option-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  padding: 14px 18px;
  border: 2px solid #7b84a0;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: all 0.18s ease;
  text-align: center;
}

.al-option-card:hover {
  transform: translateY(-1px);
}

.al-option-card input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.al-option-card span {
  font-size: 1rem;
  font-weight: 600;
  color: #627091;
}

.al-option-card:has(input[type="radio"]:checked) {
  background: #18b158;
  border-color: #18b158;
}

.al-option-card:has(input[type="radio"]:checked) span {
  color: #fff;
}

.al-step-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
}

.al-btn {
  border: none;
  border-radius: 4px;
  padding: 15px 24px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.18s ease, background 0.18s ease;
}

.al-btn:hover {
  opacity: 0.94;
}

.al-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.al-btn-primary {
  background: #18b158;
  color: #fff;
}

.al-btn-secondary {
  background: #eef2f7;
  color: #42526e;
}

.al-form-message {
  margin-top: 20px;
}

.al-msg {
  padding: 14px 16px;
  border-radius: 4px;
  font-weight: 600;
}

.al-msg--success {
  background: #e9f8ef;
  color: #127a3f;
}

.al-msg--error {
  background: #fdecec;
  color: #a12626;
}

@media (max-width: 768px) {
  .al-question-title {
    font-size: 1.75rem;
  }

  .al-question-block {
    min-height: auto;
  }

  .al-options-grid--5,
  .al-options-grid--auto {
    grid-template-columns: 1fr;
  }

  .al-option-card {
    min-height: 56px;
  }

  .al-step-actions {
    justify-content: space-between;
  }

  .al-btn {
    padding: 14px 20px;
  }
}

.al-processing-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.92);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.al-processing-overlay.is-visible {
  display: flex;
}

.al-processing-box {
  text-align: center;
  padding: 24px;
}

.al-processing-text {
  margin-top: 16px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #253858;
}

.al-processing-spinner {
  width: 42px;
  height: 42px;
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid #e5e8ef;
  border-top: 4px solid #18b158;
  animation: al-spin 0.9s linear infinite;
}

@keyframes al-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Estilos para el dashboard de perfiles */

.al-dashboard-perfiles {
  max-width: 760px;
  margin: 0 auto;
}

.al-dashboard-perfiles__chart {
  position: relative;
  width: 100%;
  height: 300px;
  background: #fff;
  border-radius: 16px;
  padding: 20px;
}

.al-dashboard-perfiles__legend {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
  flex-wrap: wrap;
}

.al-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-weight: 600;
}

.al-legend-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: inline-block;
}

.al-legend-dot--user {
  background: #4F8EF7;
}

.al-legend-dot--avg {
  background: #F26D7D;
}

@media (max-width: 768px) {
  .al-dashboard-perfiles__chart {
    height: 420px;
    padding: 10px;
  }
}