/*
 * Fasto V4.3
 * Gearing consistency, global accent cleanup, single geometry table polish.
 */

:root{
  --fasto-v2-primary:#ff3131;
  --fasto-v2-primary-dark:#ff3131;
  --fasto-v2-primary-soft:#fff1f1;
  --fasto-v2-accent:#ff3131;
  --fasto-v41-red:#ff3131;
  --fasto-v42-red:#ff3131;
  --fasto-v43-red:#ff3131;
  --fasto-v43-ink:#151a22;
  --fasto-v43-muted:#657286;
  --fasto-v43-line:#dfe5ec;
  --fasto-v43-soft:#f6f7f9;
  --fasto-v43-footer:#2a2f36;
}

*,*::before,*::after{border-radius:0;}

/* One accent color across the UI. */
a:hover,
.fasto-v2-admin-card-links a,
.fasto-v25-category-card .number,
.fasto-v25-category-card .index,
.fasto-v25-category .number,
.fasto-v25-category .index,
.fasto-v25-ride-card .number,
.fasto-v25-ride-card .index,
.fasto-v37-bike-card .bike-year,
.fasto-v37-bike-card .price,
.fasto-v37-bike-card .bike-price,
.fasto-v37-bike-card .brand-price > .price,
.bike-single .bike-price,
.bike-single .estimate-price,
.bike-single .bike-info .price{
  color:var(--fasto-v43-red);
}

.default-btn,
.fasto-v2-btn,
button.default-btn,
a.default-btn,
.gearing-box .choose a.active,
.navigation.pagination .current,
.gear-calculator-results .speed-unit .choose a.active,
.fasto-v2-gearing-page .calculate-gearing,
.bikes-filter-container .filter_submit .apply_filter{
  background:var(--fasto-v43-red);
  border-color:var(--fasto-v43-red);
  color:#fff;
}

.default-btn:hover,
.fasto-v2-btn:hover,
button.default-btn:hover,
a.default-btn:hover,
.fasto-v2-gearing-page .calculate-gearing:hover,
.bikes-filter-container .filter_submit .apply_filter:hover{
  background:var(--fasto-v43-red);
  border-color:var(--fasto-v43-red);
  color:#fff;
}

input[type="checkbox"],
input[type="radio"]{accent-color:var(--fasto-v43-red);}

/* Gearing calculator: clean white/flat controls. */
.fasto-v2-gearing-page,
.fasto-v2-gearing-page .page-content,
.fasto-v2-gearing-page .bike-gear-calculator{
  background:#f5f6f8;
}

.fasto-v2-gearing-page .bike-gear-calculator > .container{
  align-items:start;
  row-gap:22px;
}

.fasto-v2-gearing-page .gearing-box{
  background:#fff;
  border:1px solid var(--fasto-v43-line);
  box-shadow:none;
  padding:30px;
}

.fasto-v2-gearing-page .gearing-box + .gearing-box{border-top:0;}

.fasto-v2-gearing-page .gearing-box h3,
.fasto-v2-gearing-page .gearing-box h4{
  color:var(--fasto-v43-ink);
  margin:0 0 14px;
  letter-spacing:.01em;
}

.fasto-v2-gearing-page .gearing-box h3{
  font-size:24px;
  line-height:1.15;
}

.fasto-v2-gearing-page .gearing-box h4{
  font-size:14px;
  line-height:1.2;
  text-transform:uppercase;
  font-weight:700;
}

.fasto-v2-gearing-page .gearing-box .choose,
.fasto-v2-gearing-page .gearing-box .results,
.fasto-v2-gearing-page .cassette_cogs_inputs,
.fasto-v2-gearing-page .predefined_cassets ul{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}

.fasto-v2-gearing-page .gearing-box .choose a,
.fasto-v2-gearing-page .gearing-box input,
.fasto-v2-gearing-page .gearing-box select{
  min-height:46px;
  background:#fff;
  color:var(--fasto-v43-ink);
  border:1px solid var(--fasto-v43-line);
  box-shadow:none;
}

.fasto-v2-gearing-page .gearing-box .choose a{
  min-width:62px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}

.fasto-v2-gearing-page .gearing-box .choose a:hover,
.fasto-v2-gearing-page .gearing-box .choose a.active{
  background:var(--fasto-v43-red);
  border-color:var(--fasto-v43-red);
  color:#fff;
}

.fasto-v2-gearing-page .gearing-box input,
.fasto-v2-gearing-page .gearing-box select{
  padding:0 14px;
}

.fasto-v2-gearing-page .predefined_cassets ul{
  display:block;
}

.fasto-v2-gearing-page .predefined_cassets .cassets_dropdown{
  display:none;
  margin:0;
  padding:0;
}

.fasto-v2-gearing-page .predefined_cassets .cassets_dropdown.show{
  display:block;
}

.fasto-v2-gearing-page .predefined_cassets .cassets_dropdown select{
  width:100%;
  max-width:100%;
}

.fasto-v2-gearing-page .custom_size_holder{
  display:none;
  grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);
  gap:10px;
  margin-top:10px;
}

.fasto-v2-gearing-page .custom_size_holder.show{
  display:grid;
}

.fasto-v2-gearing-page .tips{
  background:var(--fasto-v43-soft);
  border:1px solid var(--fasto-v43-line);
  padding:22px;
  margin-top:22px;
}

.fasto-v2-gearing-page .tips p{
  margin:0 0 10px;
  color:var(--fasto-v43-muted);
}

.fasto-v2-gearing-page .tips p:last-child{margin-bottom:0;}

.fasto-v2-gearing-page .calculate-gearing{
  margin-top:0;
  min-height:50px;
  padding:0 28px;
}

.fasto-v2-gearing-page ins.adsbygoogle,
.fasto-v2-gearing-page .adsbygoogle{
  display:none;
  min-height:0;
  height:0;
  margin:0;
  padding:0;
}

/* Gearing results and speed unit buttons. */
.fasto-v2-gearing-page .gear-calculator-results{
  background:#fff;
  border:1px solid var(--fasto-v43-line);
  box-shadow:none;
  margin-top:30px;
}

.fasto-v2-gearing-page .gear-calculator-results:not(:empty){padding:0;}

.gear-calculator-results .speed-unit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  border-top:1px solid var(--fasto-v43-line);
  border-bottom:1px solid var(--fasto-v43-line);
  background:#fff;
}

.gear-calculator-results .speed-unit h3{
  margin:0;
  font-size:18px;
  color:var(--fasto-v43-ink);
}

.gear-calculator-results .speed-unit .choose{
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  border:1px solid var(--fasto-v43-line);
  list-style:none;
}

.gear-calculator-results .speed-unit .choose a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  min-height:40px;
  padding:0 14px;
  border-right:1px solid var(--fasto-v43-line);
  background:#fff;
  color:var(--fasto-v43-ink);
  text-decoration:none;
  font-weight:700;
}

.gear-calculator-results .speed-unit .choose li:last-child a{border-right:0;}
.gear-calculator-results .speed-unit .choose a:hover,
.gear-calculator-results .speed-unit .choose a.active{
  background:var(--fasto-v43-red);
  border-color:var(--fasto-v43-red);
  color:#fff;
}

.gear-calculator-results h3,
.gear-calculator-results h4{
  background:#fff;
  color:var(--fasto-v43-ink);
  border-bottom:1px solid var(--fasto-v43-line);
}

.gear-calculator-results table{
  border-collapse:collapse;
  border-spacing:0;
  background:#fff;
}

.gear-calculator-results th,
.gear-calculator-results td{
  border:1px solid var(--fasto-v43-line);
  background:#fff;
  color:var(--fasto-v43-ink);
}

.gear-calculator-results thead th,
.gear-calculator-results tr:first-child th{
  background:#151a22;
  color:#fff;
}

/* Single geometry: clean flat table, no strange colored heading cells. */
.bike-geometry,
#table-geometry-wrapper{
  background:#fff;
  border:1px solid var(--fasto-v43-line);
  box-shadow:none;
}

.bike-geometry table,
#table-geometry-wrapper table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  background:#fff;
}

.bike-geometry th,
.bike-geometry td,
#table-geometry-wrapper th,
#table-geometry-wrapper td{
  border:1px solid var(--fasto-v43-line);
  background:#fff;
  color:var(--fasto-v43-ink);
  padding:13px 15px;
  font-size:14px;
  line-height:1.35;
}

.bike-geometry thead th,
.bike-geometry tr:first-child th,
.bike-geometry tr:first-child td,
#table-geometry-wrapper thead th,
#table-geometry-wrapper tr:first-child th,
#table-geometry-wrapper tr:first-child td{
  background:#f6f7f9;
  color:var(--fasto-v43-ink);
  text-transform:none;
  font-weight:700;
}

.bike-geometry tbody th,
#table-geometry-wrapper tbody th{
  background:#fff;
  color:var(--fasto-v43-ink);
  font-weight:700;
  width:250px;
}

.bike-geometry tr:nth-child(even) td,
.bike-geometry tr:nth-child(even) th,
#table-geometry-wrapper tr:nth-child(even) td,
#table-geometry-wrapper tr:nth-child(even) th{
  background:#fbfcfd;
}

.bike-geometry .question,
#table-geometry-wrapper .question{
  border-color:var(--fasto-v43-line);
  color:var(--fasto-v43-muted);
}

/* Keep all rounded leftovers square. */
.fasto-v2-page *,
#footer *,
.gearing-box *,
.bike-geometry *,
#table-geometry-wrapper *{
  border-radius:0;
}

@media (max-width:900px){
  .fasto-v2-gearing-page .bike-gear-calculator > .container{
    row-gap:16px;
  }

  .fasto-v2-gearing-page .custom_size_holder{
    grid-template-columns:1fr;
  }

  .gear-calculator-results .speed-unit{
    display:block;
  }

  .gear-calculator-results .speed-unit .choose{
    margin-top:12px;
    width:max-content;
  }
}
