/* ============================================================
 * Home pública — horário (linha do tempo), carrossel e mobile curto
 * Usa as cores de personalização: --color-primary (fallback dourado)
 * ========================================================== */
:root{--hx-acc:var(--color-primary,#E5C158)}

/* ---------- HORÁRIO DE FUNCIONAMENTO ---------- */
.hr-root{display:flex;flex-direction:column;gap:14px}
.hr-status{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;border:1px solid var(--color-line);background:var(--color-surface,var(--color-cards))}
.hr-status .hr-dot{width:12px;height:12px;border-radius:50%;background:#6b7280;flex:none;box-shadow:0 0 0 4px rgba(107,114,128,.18)}
.hr-status[data-state="open"] .hr-dot{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.18);animation:hrPulse 2s ease-in-out infinite}
.hr-status[data-state="pause"] .hr-dot{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.18)}
.hr-status[data-state="closed"] .hr-dot{background:#fb7185;box-shadow:0 0 0 4px rgba(251,113,133,.16)}
.hr-st-text{flex:1;min-width:0}
.hr-st-title{display:block;font-size:16px;font-weight:900;letter-spacing:-.02em}
.hr-st-sub{display:block;font-size:11px;color:var(--color-muted);margin-top:2px}
.hr-cta{flex:none;min-height:40px!important}
@keyframes hrPulse{0%,100%{box-shadow:0 0 0 4px rgba(52,211,153,.18)}50%{box-shadow:0 0 0 8px rgba(52,211,153,.05)}}

.hr-tl{position:relative;--hr-lab:170px;border:1px solid var(--color-line);border-radius:20px;background:var(--color-cards);overflow:hidden}
.hr-head,.hr-row{display:flex;align-items:stretch}
.hr-head{height:38px;border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-text) 2%,transparent)}
.hr-row{height:52px;border-bottom:1px solid color-mix(in srgb,var(--color-text) 6%,transparent)}
.hr-row:last-of-type{border-bottom:0}
.hr-lab{flex:0 0 var(--hr-lab);width:var(--hr-lab);display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-right:1px solid color-mix(in srgb,var(--color-text) 8%,transparent);min-width:0}
.hr-day{font-size:13px;font-weight:800}
.hr-day-short{display:none}
.hr-time{font-size:10px;color:var(--color-muted);margin-top:2px;letter-spacing:.02em}
.hr-track{position:relative;flex:1;margin:0 14px;min-width:0}
.hr-mark{position:absolute;top:0;bottom:0;display:flex;align-items:center;transform:translateX(-50%);font-size:10px;color:var(--color-muted);white-space:nowrap}
.hr-line{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--color-text) 7%,transparent)}
.hr-bar{position:absolute;top:10px;bottom:10px;border-radius:9px;background:color-mix(in srgb,var(--hx-acc) 30%,transparent);border:1px solid color-mix(in srgb,var(--hx-acc) 70%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--hx-acc) 14%,transparent)}
.hr-gap{position:absolute;top:16px;bottom:16px;border-radius:6px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 3px,transparent 3px 7px)}
.hr-block{position:absolute;top:6px;bottom:6px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:0 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;border:1px solid rgba(251,113,133,.55);background:repeating-linear-gradient(45deg,rgba(251,113,133,.20) 0 6px,rgba(251,113,133,.07) 6px 12px);color:#fda4af;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;animation:hrBlockIn .4s ease both}
.hr-block.is-partial{padding:0 4px;font-size:0}
.hr-row.is-blocked .hr-bar{opacity:.18}
.hr-row.is-blocked .hr-day{color:#fda4af}
.hr-row.is-blocked .hr-time{color:#fb7185;font-weight:700}
.hr-sw-block{background:repeating-linear-gradient(45deg,rgba(251,113,133,.55) 0 2px,rgba(251,113,133,.15) 2px 5px);border:1px solid rgba(251,113,133,.6)}
@keyframes hrBlockIn{from{opacity:0;transform:scaleX(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hr-block{animation:none}}
.hr-row.is-closed .hr-day{color:#6b7280}
.hr-row.is-closed .hr-time{color:#5b6270}
.hr-row.is-closed .hr-track:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 4px,transparent 4px 9px)}
.hr-row.is-today{background:color-mix(in srgb,var(--hx-acc) 7%,transparent)}
.hr-row.is-today .hr-day{color:var(--hx-acc)}
.hr-row.is-today .hr-day:after{content:"hoje";margin-left:7px;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:99px;background:var(--hx-acc);color:var(--color-primary-text,#111);vertical-align:1px}

.hr-nowwrap{position:absolute;top:0;bottom:0;left:calc(var(--hr-lab) + 14px);right:14px;pointer-events:none;display:none}
.hr-nowwrap.on{display:block}
.hr-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fb7185;z-index:3}
.hr-now span{position:absolute;top:4px;left:50%;transform:translateX(-50%);background:#fb7185;color:#111;font-size:9px;font-weight:900;padding:2px 6px;border-radius:99px;white-space:nowrap}

.hr-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--color-muted)}
.hr-legend span{display:inline-flex;align-items:center;gap:6px}
.hr-sw{display:inline-block;width:14px;height:10px;border-radius:4px}
.hr-sw-open{background:color-mix(in srgb,var(--hx-acc) 35%,transparent);border:1px solid var(--hx-acc)}
.hr-sw-gap{background:repeating-linear-gradient(45deg,rgba(255,255,255,.3) 0 2px,transparent 2px 5px)}
.hr-sw-now{width:3px;height:12px;background:#fb7185;border-radius:2px}
.hr-folgas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:#c4cad6}
.hr-folgas strong{font-size:11px;margin-right:2px}
.hr-chip{padding:5px 10px;border-radius:99px;border:1px solid rgba(251,113,133,.25);background:rgba(251,113,133,.08);font-size:10px;font-weight:700}

/* ---------- CARROSSEL DE CORTES (coverflow) ---------- */
.cf-root{--cf-card:clamp(150px,22vw,250px);width:100%}
.cf-wrap{position:relative}
.cf-frame{overflow:hidden;padding:26px 0 30px;outline:none;cursor:grab;touch-action:pan-y;perspective:calc(var(--cf-card) * 3);-webkit-tap-highlight-color:transparent}
.cf-frame:active{cursor:grabbing}
.cf-frame:focus-visible{box-shadow:0 0 0 2px var(--hx-acc);border-radius:18px}
.cf-stage{position:relative;height:var(--cf-card);transform-style:preserve-3d;user-select:none;-webkit-user-select:none}
.cf-card{position:absolute;left:50%;top:0;width:var(--cf-card);aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:var(--color-cards);box-shadow:0 22px 40px color-mix(in srgb,var(--color-text) 20%,transparent);will-change:transform;border:0!important;outline:0!important}
.cf-card img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.cf-noimg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--hx-acc) 18%,#15181e),#0e1014)}
.cf-noimg i{font-size:34px;color:var(--hx-acc)}
.cf-noimg span{font-size:13px;font-weight:800;line-height:1.3}
.cf-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:200;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(15,16,21,.72);color:var(--color-text);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:13px;transition:background .2s}
.cf-nav:hover{background:var(--hx-acc);color:var(--color-primary-text,#111)}
.cf-prev{left:6px}.cf-next{right:6px}
.cf-caption{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px;min-height:150px}
.cf-caption.swap{animation:cfIn .3s ease both}
@keyframes cfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cf-name{font-size:20px;font-weight:900;letter-spacing:-.03em;margin:0}
.cf-desc{font-size:12px;color:var(--color-muted);line-height:1.6;max-width:420px;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cf-info{display:flex;align-items:center;gap:14px;margin-top:10px}
.cf-price{font-size:20px;font-weight:900;color:var(--hx-acc)}
.cf-dur{font-size:11px;color:var(--color-muted)}
.cf-dur em{font-style:normal}
.cf-cta{margin-top:14px}
.cf-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.cf-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text);opacity:.28;border:0;padding:0;transition:opacity .2s,width .2s}
.cf-dot.on{opacity:1;background:var(--hx-acc);width:22px;border-radius:99px}
.cf-more{display:flex;justify-content:center;margin-top:18px}

/* ---------- MOBILE: página bem mais curta ---------- */
@media(max-width:768px){
  .hr-status{padding:12px 14px;gap:10px;border-radius:16px}
  .hr-st-title{font-size:14px}
  .hr-cta{padding:0 12px!important;min-height:36px!important;font-size:9px!important}
  .hr-tl{--hr-lab:78px;border-radius:16px}
  .hr-head{height:30px}
  .hr-row{height:40px}
  .hr-lab{padding:0 8px}
  .hr-day-full{display:none}.hr-day-short{display:inline}
  .hr-day{font-size:12px}
  .hr-row.is-today .hr-day:after{display:none}
  .hr-time{font-size:8.5px;letter-spacing:0}
  .hr-track{margin:0 10px}
  .hr-nowwrap{left:calc(var(--hr-lab) + 10px);right:10px}
  .hr-bar{top:8px;bottom:8px;border-radius:7px}
  .hr-gap{top:13px;bottom:13px}
  .hr-mark{font-size:9px}
  .hr-legend{gap:10px;font-size:9px}

  .cf-root{--cf-card:clamp(150px,50vw,220px)}
  .cf-frame{padding:16px 0 20px}
  .cf-nav{width:34px;height:34px}
  .cf-caption{min-height:0}
  .cf-name{font-size:17px}
  .cf-desc{-webkit-line-clamp:1;font-size:11px}
  .cf-info{margin-top:6px}
  .cf-cta{width:100%;margin-top:10px}
  .cf-dots{margin-top:12px}
  .cf-more{margin-top:12px}
  .cf-more .bo-btn{width:100%}

  /* Encurta a home no celular */
  body.bo-home .bo-section{padding:32px 0!important}
  body.bo-home .bo-section-head{margin-bottom:14px!important}
  body.bo-home .bo-section-head h2{font-size:26px!important}
  body.bo-home .bo-section-head p{display:none!important}
  body.bo-home .bo-home-hero{padding-top:84px!important;padding-bottom:22px!important;min-height:0!important}
  body.bo-home .bo-hero-visual{display:none!important}
  body.bo-home .bo-hero-grid{gap:0!important}
  body.bo-home .bo-home-title{font-size:clamp(36px,11vw,46px)!important;margin:10px 0!important}
  body.bo-home .bo-home-copy{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  body.bo-home .bo-home-actions{grid-template-columns:1fr 1fr!important;margin-top:14px!important}
  body.bo-home .bo-home-actions a:first-child{grid-column:1/-1}
  body.bo-home .bo-trust-row{display:flex!important;overflow-x:auto;gap:8px!important;margin-top:14px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.bo-home .bo-trust-row::-webkit-scrollbar{display:none}
  body.bo-home .bo-trust{flex:0 0 auto;padding:9px 12px!important}
  body.bo-home .bo-trust span{display:none!important}

  body.bo-home .bo-team-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px!important;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.bo-home .bo-team-grid::-webkit-scrollbar{display:none}
  body.bo-home .bo-team-card{flex:0 0 128px;scroll-snap-align:start}
  body.bo-home .bo-team-body .text-xs{display:none}

  body.bo-home #experiencia .bo-feature-box{padding:16px!important}
  body.bo-home #experiencia .bo-feature-box p{display:none}
  body.bo-home #experiencia .bo-feature-box h3{font-size:16px!important;margin:8px 0 0!important}
  body.bo-home #experiencia .bo-feature-box .bo-btn{margin-top:12px!important;width:100%}
  body.bo-home #contato .bo-feature-box{padding:16px!important}
  body.bo-home #contato .bo-feature-box .space-y-4>*+*{margin-top:8px!important}
  body.bo-home #contato .bo-feature-box .mt-7{margin-top:14px!important}
  body.bo-home #contato .bo-feature-box:last-child{min-height:0!important}
  body.bo-home #contato iframe{min-height:190px!important;height:190px!important}
  body.bo-home footer{padding-top:14px!important;padding-bottom:6px!important}
}
@media(prefers-reduced-motion:reduce){.cf-caption.swap{animation:none}.hr-status .hr-dot{animation:none!important}}

/* Vídeo nos cards do carrossel (não altera o efeito coverflow) */
.cf-card .cf-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;pointer-events:none;background:#000;display:block}
.cf-card .cf-video.on{opacity:1}
.cf-vbadge{position:absolute;right:10px;bottom:10px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;pointer-events:none;transition:opacity .25s;backdrop-filter:blur(4px)}
.cf-video.on ~ .cf-vbadge{opacity:0}
.cf-sound{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:var(--color-text);font-size:12px;font-weight:700;cursor:pointer;min-height:40px;-webkit-tap-highlight-color:transparent}
.cf-sound[hidden]{display:none}
.cf-sound[aria-pressed="true"]{background:var(--hx-acc);color:var(--color-primary-text,#111);border-color:transparent}

/* Identidade de movimento por atividade; o componente continua sendo carrossel. */
body[data-segmento="nail_designer"] .cf-card,body[data-segmento="lash_designer"] .cf-card{border-radius:32px 8px 32px 8px}
body[data-segmento="maquiador"] .cf-card,body[data-segmento="salao_beleza"] .cf-card,body[data-segmento="cabeleireiro"] .cf-card{aspect-ratio:4/5;border-radius:28px}
body[data-segmento="personal_trainer"] .cf-card{border-radius:6px;transform-origin:center bottom}
body[data-segmento="tatuador"] .cf-card{border-radius:2px;border-width:2px}
body[data-segmento="terapeuta"] .cf-card,body[data-segmento="massagista"] .cf-card{border-radius:36px}
body[data-segmento="estetica"] .cf-card{border-radius:50% 50% 18px 18px}
body[data-segmento="outros"] .cf-card{border-radius:12px}
body[data-segmento="personal_trainer"] .cf-stage{transform:skewX(-1deg)}
body[data-segmento="tatuador"] .cf-frame{perspective:calc(var(--cf-card) * 4)}
body[data-segmento="nail_designer"] .cf-caption,body[data-segmento="lash_designer"] .cf-caption{text-align:left;align-items:flex-start;max-width:440px;margin-inline:auto}
body[data-segmento="terapeuta"] .cf-caption,body[data-segmento="massagista"] .cf-caption{max-width:520px;margin-inline:auto}

/* Zoom: ícone no card e visualizador em tela cheia */
.cf-card{cursor:zoom-in}
.cf-zoom{position:absolute;left:10px;bottom:10px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;pointer-events:none}
.cf-lb{position:fixed;inset:0;z-index:99999;background:rgba(6,7,9,.94);display:flex;flex-direction:column;color:#fff;font-family:inherit}
.cf-lb[hidden]{display:none}
.cf-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.cf-lb-title{font-weight:800;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-lb-tools{display:flex;gap:8px;flex:none}
.cf-lb-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.cf-lb-btn:hover,.cf-lb-btn:focus-visible{background:rgba(255,255,255,.18)}
.cf-lb-tabs{display:flex;gap:8px;justify-content:center;padding:0 16px 8px}
.cf-lb-tabs[hidden]{display:none}
.cf-lb-tabs button{min-height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-weight:700;cursor:pointer}
.cf-lb-tabs button.on{background:#fff;color:#111}
.cf-lb-stage{flex:1;min-height:0;display:flex;overflow:auto;padding:8px 16px;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.cf-lb-img{margin:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;user-select:none;-webkit-user-drag:none;cursor:zoom-in}
.cf-lb-stage.zoomed .cf-lb-img{cursor:grab}
.cf-lb-video{margin:auto;max-width:100%;max-height:100%;border-radius:10px;background:#000}
.cf-lb-video[hidden],.cf-lb-img[hidden]{display:none}
.cf-lb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}
.cf-lb-hint{font-size:12px;color:rgba(255,255,255,.65)}
.cf-lb-cta{margin-left:auto}
@media(max-width:600px){.cf-lb-hint{display:none}.cf-lb-cta{width:100%;justify-content:center}}
