/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/
/* =====================================================================
   ANA MARTINS · ESTÉTICA — Restyle Salon Booking System (v10.30.x)  [v2]
   Direção A. Tudo scoped a #sln-salon → não afeta o resto do site.
   ===================================================================== */

#sln-salon{
  --am-bg:#F6F3ED; --am-surface:#FFFFFF; --am-ink:#241A2C;
  --am-text:#2A2430; --am-text2:#6B6472; --am-text3:#9A93A0;
  --am-border:#E4DFD5; --am-accent:#9345BB; --am-accent-hover:#74368F;
  --am-accent-soft:#ECE5EF; --am-gold:#BE9E63;
  --am-radius:14px; --am-radius-btn:12px; --am-ease:cubic-bezier(.22,1,.36,1);
  color:var(--am-text); accent-color:var(--am-accent);
  max-width:820px; margin-inline:auto;
}

/* ---------- FONTE: forçar Manrope (o Astra força a dele nos h3/títulos) ---------- */
#sln-salon .sln-salon-title,
#sln-salon .salon-step-title,
#sln-salon .sln-list__item__name,
#sln-salon .sln-list__item__description,
#sln-salon .sln-list__item__price,
#sln-salon .sln-service__info,
#sln-salon .sln-list__item__info,
#sln-salon .sln-progbar__text,
#sln-salon .sln-btn button,
#sln-salon .sln-btn a,
#sln-salon .sln-input label,
#sln-salon input, #sln-salon select, #sln-salon textarea,
#sln-salon p{
  font-family:'Manrope',system-ui,-apple-system,sans-serif!important;
}
#sln-salon .glyphicon{ font-family:'Glyphicons Halflings'!important; } /* não mexer nos ícones */

/* ---------- TÍTULOS (tira o azul) ---------- */
#sln-salon .sln-salon-title{
  color:var(--am-ink)!important; font-weight:800!important;
  font-size:clamp(1.7rem,4vw,2.4rem)!important; line-height:1.05; letter-spacing:-.03em;
}
#sln-salon .salon-step-title{
  color:var(--am-text2)!important; font-weight:600!important; font-size:1.05rem!important;
  letter-spacing:-.01em; margin-top:.35rem;
}

/* ---------- BARRA DE PASSOS ---------- */
#sln-salon .sln-progbar__text{
  color:var(--am-text3)!important; font-weight:600; letter-spacing:.04em; font-size:.8rem; text-transform:uppercase;
}
#sln-salon .sln-progbar{ border-radius:100px; overflow:hidden; background:var(--am-border); }
#sln-salon .sln-progbar__item{ background:var(--am-border)!important; }
#sln-salon .sln-progbar__item--current{ background:var(--am-accent)!important; }

/* ---------- CARTÕES: serviços e profissionais ---------- */
#sln-salon .sln-list{ display:flex; flex-direction:column; gap:12px; }
#sln-salon .sln-list__item--icons{ background:transparent; border:0; padding:0; min-height:0; }
#sln-salon .sln-list__item:not(.sln-list__item--icons){
  display:flex; align-items:center; gap:14px;
  background:var(--am-surface); border:1.5px solid var(--am-border); border-radius:var(--am-radius);
  padding:15px 18px; cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .25s,transform .25s var(--am-ease);
}
#sln-salon .sln-list__item:not(.sln-list__item--icons):hover{
  border-color:var(--am-accent); box-shadow:0 18px 40px -28px rgba(36,26,44,.4); transform:translateY(-2px);
}
#sln-salon .sln-list__item:has(input:checked){
  border-color:var(--am-accent)!important; background:var(--am-accent-soft)!important;
}
#sln-salon .sln-list__item__content{ min-width:0; }

/* nomes: tira o azul e o tamanho gigante (.sln-steps-name = 2em) */
#sln-salon .sln-list__item__name{
  color:var(--am-ink)!important; font-weight:700!important; font-size:1.05rem!important;
  line-height:1.25; letter-spacing:-.01em; margin:0;
}
#sln-salon .sln-list__item__description{
  color:var(--am-text2)!important; font-size:.9rem!important; font-weight:400!important;
  line-height:1.45; margin:.2rem 0 0;
}
/* preço (serviços) — dourado */
#sln-salon .sln-service__info,
#sln-salon .sln-list__item__info,
#sln-salon .sln-list__item__price{ color:var(--am-gold)!important; font-weight:700!important; }
#sln-salon .sln-list__item__action{ margin-left:auto; }

/* ---------- RADIO: recolorir os pseudo-elementos do plugin (sem duplicar!) ---------- */
#sln-salon .sln-radiobox input + label:before{ border-color:var(--am-border)!important; }
#sln-salon .sln-radiobox input:checked + label:before{ border-color:var(--am-accent)!important; }
#sln-salon .sln-radiobox input:checked + label:after{ background:var(--am-accent)!important; }

/* ---------- BOTÕES ---------- */
#sln-salon .sln-btn{
  border-radius:var(--am-radius-btn)!important; border:1.5px solid transparent!important; overflow:hidden;
  transition:background .25s,border-color .25s,color .25s,transform .3s var(--am-ease),box-shadow .25s;
}
#sln-salon .sln-btn button, #sln-salon .sln-btn a{
  background:transparent!important; color:inherit!important; border:0!important; width:100%;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  font-weight:600; font-size:.95rem; letter-spacing:-.01em; padding:.95rem 1.6rem; cursor:pointer;
}
#sln-salon .sln-btn--emphasis{ background:var(--am-ink)!important; color:#fff!important; }
#sln-salon .sln-btn--emphasis:hover{
  background:var(--am-accent)!important; transform:translateY(-2px); box-shadow:0 16px 30px -16px rgba(147,69,187,.5);
}
#sln-salon .sln-btn--borderonly{ background:transparent!important; color:var(--am-ink)!important; border-color:var(--am-border)!important; }
#sln-salon .sln-btn--borderonly:hover{ border-color:var(--am-ink)!important; transform:translateY(-2px); }

/* ---------- BARRA INFERIOR + TOPBAR ---------- */
#sln-salon #sln-box__bottombar{ background:transparent!important; border-top:1px solid var(--am-border); box-shadow:none!important; }
#sln-salon .sln-box__bottombar__fkbg--customcolors{ background:var(--am-bg)!important; }
#sln-salon .sln-topbar__account{ color:var(--am-accent)!important; }

/* ---------- CAMPOS (passo Dados) ---------- */
#sln-salon .sln-input input, #sln-salon input[type=text], #sln-salon input[type=email],
#sln-salon input[type=tel], #sln-salon input[type=password], #sln-salon input[type=number],
#sln-salon textarea, #sln-salon select{
  width:100%; font-size:1rem; color:var(--am-text); background:var(--am-surface);
  border:1.5px solid var(--am-border)!important; border-radius:12px; padding:.8rem 1rem;
  transition:border-color .2s,box-shadow .2s;
}
#sln-salon .sln-input input:focus, #sln-salon input[type=text]:focus, #sln-salon input[type=email]:focus,
#sln-salon input[type=tel]:focus, #sln-salon input[type=password]:focus, #sln-salon input[type=number]:focus,
#sln-salon textarea:focus, #sln-salon select:focus{
  outline:none; border-color:var(--am-accent)!important; box-shadow:0 0 0 3px var(--am-accent-soft);
}
#sln-salon ::placeholder{ color:var(--am-text3); }
#sln-salon .sln-input label{ color:var(--am-text2)!important; font-weight:600; font-size:.85rem; }
#sln-salon .sln-content__tabs__nav__item{
  color:var(--am-text2)!important; font-weight:600; cursor:pointer; border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;
}
#sln-salon .sln-content__tabs__nav__item:hover{ color:var(--am-ink)!important; }
#sln-salon .sln-content__tabs__nav__item.active,
#sln-salon .sln-content__tabs__nav__item.sln-active{ color:var(--am-accent)!important; border-bottom-color:var(--am-accent)!important; }

/* ---------- CALENDÁRIO (passo Data) — afinar ao vivo se preciso ---------- */
#sln-salon .bootstrap-datetimepicker-widget td.day,
#sln-salon .bootstrap-datetimepicker-widget td.hour,
#sln-salon .bootstrap-datetimepicker-widget td.minute{ border-radius:10px; transition:background .2s,color .2s; }
#sln-salon .bootstrap-datetimepicker-widget td.day:hover,
#sln-salon .bootstrap-datetimepicker-widget td.hour:hover,
#sln-salon .bootstrap-datetimepicker-widget td.minute:hover{ background:var(--am-accent-soft)!important; color:var(--am-ink)!important; }
#sln-salon .bootstrap-datetimepicker-widget td.day.active,
#sln-salon .bootstrap-datetimepicker-widget td.day.active:hover,
#sln-salon .bootstrap-datetimepicker-widget td.hour.active,
#sln-salon .bootstrap-datetimepicker-widget td.minute.active{ background:var(--am-accent)!important; color:#fff!important; }
#sln-salon .bootstrap-datetimepicker-widget td.today:before{ border-bottom-color:var(--am-accent)!important; }
#sln-salon .bootstrap-datetimepicker-widget .picker-switch,
#sln-salon .bootstrap-datetimepicker-widget th{ color:var(--am-ink)!important; }

/* ---------- ALERTAS + LOADER ---------- */
#sln-salon .sln-alert{ border-radius:12px; border:1px solid var(--am-border); background:var(--am-surface); color:var(--am-text); }
#sln-salon .sln-alert--problem{ border-color:#E2B4B4; background:#FBEDED; color:#8A2B2B; }
#sln-salon .sln-loader{ color:var(--am-accent); }

/* ---------- CALENDÁRIO + HORÁRIOS (passo Data) — correção roxo ---------- */
#sln-salon .datetimepicker.sln-datetimepicker table tr td.day,
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.hour,
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.minute{
  border-radius:10px!important; transition:background-color .2s,border-color .2s,color .2s;
}
/* dias/horas disponíveis → roxo */
#sln-salon .datetimepicker.sln-datetimepicker table tr td.day:not(.disabled),
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.hour:not(.disabled):not(.active),
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.minute:not(.disabled):not(.active){
  border-color:var(--am-accent)!important; color:var(--am-ink)!important;
}
/* hover */
#sln-salon .datetimepicker.sln-datetimepicker table tr td.day:not(.disabled):hover,
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.hour:not(.disabled):not(.active):hover,
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.minute:not(.disabled):not(.active):hover{
  background-color:var(--am-accent-soft)!important; border-color:var(--am-accent)!important; color:var(--am-ink)!important;
}
/* dia/hora SELECIONADO → fundo roxo (era azul #0277bd) */
#sln-salon .datetimepicker.sln-datetimepicker table tr td.day.active:not(.disabled),
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.hour.active:not(.disabled),
#sln-salon .datetimepicker.sln-datetimepicker table tr td span.minute.active:not(.disabled){
  background-color:var(--am-accent)!important; border-color:var(--am-accent)!important; color:#fff!important;
}