@import url("https://fonts.googleapis.com/css?family=Lexend+Exa:400,600|Figtree:400,600&display=swap");

.balifit-entry{margin:13px 0 18px;font-family:inherit}.balifit-open{width:100%;background:transparent!important;color:#222!important;border:1px solid #d9d9d9!important;border-radius:0!important;display:flex;align-items:center;gap:11px;padding:13px 14px!important;text-align:left;font-size:11px;letter-spacing:.11em;font-weight:600;cursor:pointer;box-shadow:none!important}.balifit-open span{margin-left:auto;font-weight:400;color:#777;font-size:11px;letter-spacing:0}.balifit-open>svg:last-child{margin-left:5px}.balifit-modal[hidden],.balifit-panel[hidden],.balifit-tones[hidden]{display:none!important}body.balifit-modal-open{overflow:hidden!important}.balifit-modal{position:fixed;inset:0;z-index:2147483600;font-family:Arial,Helvetica,sans-serif;color:#111;font-size:14px}.balifit-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.balifit-sheet{position:relative;margin:0 auto;width:min(100%,830px);height:100%;height:100dvh;background:#fff;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.12)}.balifit-head{flex:none;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:16px 23px;border-bottom:1px solid #f2f2f2}.balifit-brand{font-size:18px;font-weight:600;letter-spacing:.23em}.balifit-brand small{display:block;color:#777;letter-spacing:.16em;font-size:8px;margin-top:4px;font-weight:400}.balifit-close{background:transparent!important;border:0!important;color:#666!important;line-height:1;font-family:Arial,sans-serif!important;font-size:34px!important;font-weight:200!important;padding:2px 8px!important;cursor:pointer;box-shadow:none!important}.balifit-panel{min-height:0;display:flex;flex:1;flex-direction:column}.balifit-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.balifit-first{display:flex;align-items:center;justify-content:center}.balifit-intro{width:100%;max-width:515px;padding:32px 25px}.balifit-intro h2,.balifit-measure-side h2{font-size:22px;line-height:1.25;letter-spacing:-.035em;font-weight:650;margin:0 0 8px}.balifit-intro>p:first-of-type,.balifit-measure-side>p:first-of-type{font-size:16px;line-height:1.4;color:#777;margin:0 0 28px}.balifit-intro-fields{display:flex;flex-direction:column;gap:10px}.balifit-intro-fields label{font-size:13px;margin-top:7px}.balifit-intro-fields label small{font-weight:400;color:#777}.balifit-unit{display:flex;align-items:center;gap:14px;margin-bottom:5px}.balifit-unit input,.balifit-num{border:1px solid #777!important;background:#fff!important;color:#222!important;border-radius:0!important;height:42px!important;box-shadow:none!important;padding:5px 9px!important;font-size:14px!important;font-family:inherit!important}.balifit-unit input{width:100px!important}.balifit-unit span{color:#777}.balifit-small-note{color:#777;line-height:1.5;font-size:12px;margin:22px 0 0}.balifit-foot{flex:none;background:#fff;border-top:1px solid #f4f4f4;padding:13px 20px 20px}.balifit-dots{display:flex;justify-content:center;gap:7px;margin-bottom:21px}.balifit-dots span{width:6px;height:6px;border-radius:50%;background:#d5d5d5}.balifit-dots span.active{background:#343434}.balifit-foot-row{display:flex;gap:10px}.balifit-primary,.balifit-secondary{height:46px!important;border:0!important;border-radius:0!important;font-size:12px!important;font-weight:700!important;text-align:center!important;letter-spacing:.01em;cursor:pointer;box-shadow:none!important}.balifit-primary{display:block;width:100%;max-width:250px;margin:0 auto;background:#111!important;color:#fff!important}.balifit-secondary{background:#ececec!important;color:#333!important;flex:1}.balifit-foot-row .balifit-primary{max-width:none;flex:1}.balifit-body-layout{min-height:100%;display:grid;grid-template-columns:46% 54%;align-items:center;gap:0;padding:18px 20px}.balifit-figure{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0}.balifit-avatar{display:block;width:100%;max-width:300px;height:auto;max-height:550px;filter:drop-shadow(3px 6px 6px rgba(0,0,0,.07));overflow:visible}.balifit-human .balifit-part{fill:var(--balifit-tone,#d2d2d2);stroke:rgba(90,90,90,.22);stroke-width:1.7}.balifit-light path{fill:url(#balifit-light);pointer-events:none}.balifit-bands rect{fill:#75cbb0;stroke:#60b899;stroke-width:1;opacity:.72}.balifit-figure>small{font-size:10px;color:#929292;letter-spacing:.01em}.balifit-measure-side{padding:20px 20px 20px 5px}.balifit-measure-side>p:first-of-type{font-size:14px;margin-bottom:22px}.balifit-measure-list{display:flex;flex-direction:column;gap:19px}.balifit-measure>label{font-size:13px;display:flex;justify-content:space-between;margin-bottom:8px}.balifit-measure>label span{color:#999;font-size:11px}.balifit-measure-line{display:flex;gap:8px;align-items:center}.balifit-measure-line button{width:39px;height:39px;flex:none;padding:0!important;background:#fafafa!important;border:1px solid #ededed!important;border-radius:0!important;color:#333!important;box-shadow:none!important;font-size:24px!important;line-height:1;cursor:pointer}.balifit-measure-line .balifit-num{min-width:0;width:100%;text-align:center;border-color:#dedede!important;appearance:textfield}.balifit-num::-webkit-inner-spin-button{appearance:none}.balifit-range{display:block;width:100%;margin-top:11px;accent-color:#333}.balifit-tone-toggle{margin-top:22px}.balifit-tone-toggle>button{background:transparent!important;border:0!important;border-bottom:1px solid #555!important;border-radius:0!important;padding:0 0 2px!important;color:#333!important;font-size:12px!important;cursor:pointer}.balifit-tones{display:flex;gap:8px;margin-top:12px}.balifit-tones button{height:26px;width:26px;border-radius:50%!important;border:1px solid #aaa!important;cursor:pointer}.balifit-feedback{color:#a12323;font-size:12px;margin:13px 0 0;min-height:15px}.balifit-result-top{display:grid;grid-template-columns:55% 45%;gap:0;align-items:center;min-height:390px}.balifit-result-figure .balifit-avatar{max-height:390px;width:100%}.balifit-result-figure>small{display:none}.balifit-recommendation{padding:16px 22px 16px 5px}.balifit-overline{display:block;text-transform:uppercase;color:#777;font-size:11px;letter-spacing:.09em}.balifit-best{display:flex;align-items:center;justify-content:center;width:126px;height:120px;border:1px solid #dedede;box-shadow:0 3px 15px rgba(0,0,0,.04);font-size:62px;font-weight:400;margin:18px 0 10px}.balifit-best-number{font-size:14px;color:#666;margin-bottom:18px}.balifit-recommendation p{color:#555;font-size:13px;line-height:1.4}.balifit-size-heading{font-size:14px;text-align:center;font-weight:500;margin:12px 0 9px}.balifit-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 22px}.balifit-sizes>div{border:1px solid #ddd;text-align:center;padding:11px 0;display:flex;gap:4px;flex-direction:column}.balifit-sizes b{font-size:19px;font-weight:500}.balifit-sizes span{font-size:11px;color:#777}.balifit-sizes>div.selected{color:#fff;background:#111;border-color:#111}.balifit-sizes>div.selected span{color:#eee}.balifit-result-note{margin:16px 22px 25px}.balifit-open:focus-visible,.balifit-modal button:focus-visible,.balifit-modal input:focus-visible{outline:2px solid #4f7f8e!important;outline-offset:3px}
@media(max-width:599px){.balifit-head{min-height:57px;padding:11px 18px}.balifit-brand{font-size:14px}.balifit-intro{padding:35px 19px}.balifit-intro h2,.balifit-measure-side h2{font-size:17px}.balifit-intro>p:first-of-type{font-size:16px}.balifit-foot{padding:13px 14px max(17px,env(safe-area-inset-bottom))}.balifit-foot-row{gap:8px}.balifit-foot-row .balifit-primary,.balifit-foot-row .balifit-secondary{font-size:11px!important}.balifit-body-layout{grid-template-columns:45% 55%;align-items:center;gap:0;min-height:100%;padding:15px 8px}.balifit-avatar{max-height:435px}.balifit-measure-side{padding:10px 8px 10px 3px}.balifit-measure-side>p:first-of-type{font-size:12px;line-height:1.3;margin-bottom:18px}.balifit-measure-list{gap:12px}.balifit-measure-line{gap:4px}.balifit-measure-line button{width:30px;height:33px}.balifit-measure-line .balifit-num{height:33px!important;padding:3px!important;font-size:13px!important}.balifit-measure>label{font-size:12px}.balifit-range{margin-top:7px}.balifit-tone-toggle{margin-top:17px}.balifit-result-top{min-height:330px;grid-template-columns:57% 43%}.balifit-result-figure .balifit-avatar{max-height:360px}.balifit-recommendation{padding:12px}.balifit-best{width:96px;height:95px;font-size:48px;margin:15px 0 9px}.balifit-recommendation p{font-size:12px}.balifit-size-heading{font-size:12px}.balifit-sizes{margin:0 14px;gap:5px}.balifit-sizes>div{padding:8px 0}.balifit-sizes b{font-size:17px}.balifit-result-note{margin:13px 14px 20px}.balifit-open span{font-size:10px}}
@media(max-height:690px){.balifit-body-layout{min-height:0}.balifit-figure .balifit-avatar{max-height:350px}.balifit-result-top{min-height:250px}.balifit-result-figure .balifit-avatar{max-height:250px}.balifit-dots{margin-bottom:12px}}


  #single-product .balifit-size-header-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin: 0 0 8px;
  }
  #single-product .balifit-size-header-inline > label {
    margin: 0 !important;
    width: auto !important;
    flex: 0 1 auto;
  }
  #single-product .balifit-size-link {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: #3b3b3b !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
    cursor: pointer;
  }
  #single-product .balifit-size-link svg {
    width: 17px;
    height: 17px;
    display: inline-block;
    flex: none;
  }
  #single-product .balifit-size-link:focus-visible {
    outline: 2px solid #444;
    outline-offset: 3px;
  }
  @media (max-width: 380px) {
    #single-product .balifit-size-link {font-size: 11px !important;}
  }


/* BALIFIT-V4-SIMPLES | somente visual; estoque e variantes intocados */
.balifit-modal,
.balifit-modal * { box-sizing: border-box; }
.balifit-modal { width: 100%; max-width: 100vw; overflow: hidden; -webkit-text-size-adjust: 100%; }
.balifit-sheet { width: 100%; max-width: 830px; height: 100%; height: 100dvh; max-height: 100dvh; min-width: 0; overflow: hidden; }
.balifit-panel { min-width: 0; min-height: 0; overflow: hidden; }
.balifit-scroll { min-width: 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.balifit-body-layout, .balifit-result-top, .balifit-figure,
.balifit-measure-side, .balifit-measure, .balifit-recommendation { min-width: 0; max-width: 100%; }
.balifit-modal h2, .balifit-modal p, .balifit-modal label,
.balifit-modal button, .balifit-modal small { overflow-wrap: break-word; }
/* Barras verdes e trilhos ficam invisiveis; o usuario ajusta a silhueta. */
.balifit-modal .balifit-bands, .balifit-modal .balifit-range { display: none !important; }
.balifit-modal .balifit-measure-line { width: 100%; }
.balifit-modal .balifit-measure-line .balifit-num { min-width: 0; width: 100%; font-size: 16px !important; }
/* 16px evita zoom automatico ao focar campos no Safari/iPhone. */
.balifit-modal input[type="number"] { font-size: 16px !important; }
.balifit-modal .balifit-avatar { max-width: 100%; height: auto; overflow: hidden; }
.balifit-modal .balifit-figure { overflow: hidden; }
.balifit-modal .balifit-foot { position: relative; z-index: 2; }
@media (max-width: 640px) {
  .balifit-modal .balifit-head { min-height: 52px; padding: 8px 14px; }
  .balifit-modal .balifit-brand { font-size: 13px; letter-spacing: .14em; }
  .balifit-modal .balifit-intro { padding: 20px 16px; }
  .balifit-modal .balifit-intro h2 { font-size: 18px; line-height: 1.35; }
  .balifit-modal .balifit-intro > p:first-of-type { font-size: 14px; }
  .balifit-modal .balifit-foot { padding: 9px 12px max(12px, env(safe-area-inset-bottom)); }
  .balifit-modal .balifit-dots { margin-bottom: 10px; }
  .balifit-modal .balifit-foot-row { gap: 8px; }
  .balifit-modal .balifit-primary, .balifit-modal .balifit-secondary { height: 43px !important; min-width: 0; padding: 5px 8px !important; }
  .balifit-modal .balifit-body-layout { min-height: 0; grid-template-columns: minmax(0, 40%) minmax(0, 60%); align-items: center; padding: 10px 10px 14px; gap: 0; }
  .balifit-modal .balifit-avatar { max-height: min(52dvh, 405px); }
  .balifit-modal .balifit-measure-side { padding: 8px 6px; }
  .balifit-modal .balifit-measure-side h2 { font-size: clamp(14px, 3.9vw, 18px); line-height: 1.3; letter-spacing: -.02em; }
  .balifit-modal .balifit-measure-side > p:first-of-type { font-size: 12px; line-height: 1.4; margin-bottom: 14px; }
  .balifit-modal .balifit-measure-list { gap: 10px; }
  .balifit-modal .balifit-measure-line { gap: 5px; }
  .balifit-modal .balifit-measure-line button { flex: 0 0 32px; width: 32px; height: 38px; font-size: 22px !important; }
  .balifit-modal .balifit-measure-line .balifit-num { height: 38px !important; padding: 2px !important; }
  .balifit-modal .balifit-measure > label { font-size: 12px; margin-bottom: 5px; }
  .balifit-modal .balifit-tone-toggle { margin-top: 14px; }
  .balifit-modal .balifit-result-top { min-height: 0; grid-template-columns: minmax(0, 48%) minmax(0, 52%); padding: 8px 10px 0; }
  .balifit-modal .balifit-result-figure .balifit-avatar { max-height: min(42dvh, 335px); }
  .balifit-modal .balifit-recommendation { padding: 7px; }
  .balifit-modal .balifit-overline { font-size: 10px; letter-spacing: .04em; }
  .balifit-modal .balifit-best { width: min(100%, 105px); height: 90px; font-size: 48px; margin: 10px 0; }
  .balifit-modal .balifit-recommendation p { font-size: 12px; line-height: 1.4; }
  .balifit-modal .balifit-sizes { margin: 0 10px; gap: 4px; }
  .balifit-modal .balifit-sizes > div { min-width: 0; padding: 8px 2px; }
  .balifit-modal .balifit-sizes span { font-size: 10px; }
  .balifit-modal .balifit-result-note { margin: 10px; }
}
@media (max-width: 350px) {
  .balifit-modal .balifit-body-layout { display: flex; flex-direction: column; align-items: stretch; }
  .balifit-modal [data-fit-step="2"] .balifit-figure .balifit-avatar { max-height: 230px; }
  .balifit-modal .balifit-measure-side { padding: 10px 8px; }
  .balifit-modal .balifit-result-top { grid-template-columns: minmax(0, 42%) minmax(0, 58%); }
}
@media (max-height: 600px) {
  .balifit-modal .balifit-head { min-height: 44px; }
  .balifit-modal .balifit-body-layout { min-height: 0; }
  .balifit-modal [data-fit-step="2"] .balifit-avatar { max-height: min(48dvh, 285px); }
  .balifit-modal .balifit-dots { margin-bottom: 6px; }
}



/* BALIFIT-V5-BARRAS-SEM-ZOOM | CSS limitado ao provador */
.balifit-modal, .balifit-modal * { box-sizing: border-box; }
/* manipulation elimina double-tap zoom em navegadores modernos sem bloquear pinça nem rolagem */
.balifit-modal { touch-action: manipulation; -webkit-text-size-adjust: 100%; }
.balifit-modal button, .balifit-modal input, .balifit-modal .balifit-measure-line { touch-action: manipulation; }
.balifit-modal button { -webkit-tap-highlight-color: transparent; }
/* Mantem apenas o manequim: faixas sobre o corpo continuam ocultas. */
.balifit-modal .balifit-bands { display: none !important; }
.balifit-modal .balifit-measure-list { gap: 16px; }
.balifit-modal .balifit-measure > label { display: flex; align-items: center; gap: 6px; margin-bottom: 9px; font-size: 13px; }
.balifit-modal .balifit-v5-value { margin-left: auto; color: #777; font-size: 12px; font-weight: 400; white-space: nowrap; }
.balifit-modal .balifit-measure-line { display: flex; align-items: center; gap: 10px; width: 100%; position: relative; }
.balifit-modal .balifit-measure-line button { flex: 0 0 34px; width: 34px; height: 36px; min-height: 36px; border-radius: 3px !important; font-size: 22px !important; background: #fff !important; border: 1px solid #ececec !important; box-shadow: 0 2px 7px rgba(0,0,0,.08) !important; }
/* Entrada numerica continua no DOM para a logica original, mas nao ocupa espaco visual. */
.balifit-modal .balifit-measure-line .balifit-num { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; opacity: 0; pointer-events: none; }
/* Trilha com bolinha arrastavel igual ao exemplo; recolocada dentro da linha de controles. */
.balifit-modal .balifit-measure-line > .balifit-range {
  display: block !important; flex: 1 1 auto; min-width: 0; width: 100% !important;
  height: 36px !important; padding: 0 !important; margin: 0 !important;
  border: 0 !important; outline-offset: 3px;
  appearance: none; -webkit-appearance: none;
  background: transparent !important; cursor: pointer; accent-color: #3d3d3d;
}
.balifit-modal .balifit-measure-line > .balifit-range::-webkit-slider-runnable-track { height: 1px; background: #666; border: 0; }
.balifit-modal .balifit-measure-line > .balifit-range::-moz-range-track { height: 1px; background: #666; border: 0; }
.balifit-modal .balifit-measure-line > .balifit-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 13px; height: 13px; margin-top: -6px; background: #414141; border: 0; border-radius: 50%; box-shadow: 0 0 0 4px #fff; }
.balifit-modal .balifit-measure-line > .balifit-range::-moz-range-thumb { width: 13px; height: 13px; background: #414141; border: 0; border-radius: 50%; box-shadow: 0 0 0 4px #fff; }
.balifit-modal .balifit-measure-side { overflow-wrap: anywhere; }
.balifit-modal input[type="number"] { font-size: 16px !important; }
@media (max-width: 640px) {
  .balifit-modal .balifit-measure-list { gap: 12px; }
  .balifit-modal .balifit-measure-side { padding-left: 7px; padding-right: 6px; }
  .balifit-modal .balifit-measure-line { gap: 5px; }
  .balifit-modal .balifit-measure-line button { flex-basis: 30px; width: 30px; height: 35px; min-height: 35px; }
  .balifit-modal .balifit-measure > label { font-size: 12px; line-height: 1.3; }
  .balifit-modal .balifit-v5-value { font-size: 11px; }
}
@media (max-width: 350px) {
  .balifit-modal .balifit-measure-line { gap: 9px; }
  .balifit-modal .balifit-measure-line button { flex-basis: 35px; width: 35px; }
}


/* Match the reference typography independently of the surrounding Bali theme. */
.balifit-modal h2 { font-family: "Lexend Exa", sans-serif; }
