.bonita-fit-finder h3 { margin: 26px 0 20px; font: 400 34px/1.15 Georgia, "Times New Roman", serif; }
.bonita-fit-step[hidden] { display: none !important; }
.bonita-fit-finder .bonita-fit-step button[data-value] {
  width: 100%;
  margin: 0 0 10px;
  padding: 17px;
  border: 1px solid #e1d8d5;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s, background .2s, transform .2s;
}
.bonita-fit-finder .bonita-fit-step button[data-value]:hover, .bonita-fit-finder .bonita-fit-step button[data-value]:focus-visible { border-color: #6d3540; background: #fbf6f6; transform: translateX(3px); }
.bonita-fit-step button strong, .bonita-fit-step button span { display: block; }
.bonita-fit-step button strong { font: 400 18px/1.25 Georgia, "Times New Roman", serif; }
.bonita-fit-step button span { margin-top: 4px; color: #6f6461; font-size: 11px; line-height: 1.45; }
.bonita-progress { height: 3px; background: #d5c0c0; }
.bonita-progress span { display: block; height: 100%; background: #6d3540; transition: width .3s ease; }
.bonita-step-label { margin-top: 22px !important; }
.bonita-fit-controls { min-height: 34px; margin-top: 12px; display: flex; justify-content: space-between; }
.bonita-fit-controls button { padding: 5px 0; border: 0; background: transparent; color: #6d3540; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.bonita-fit-controls button[hidden] { display: none; }
.bonita-disclaimer { margin: 20px 0 0; padding-top: 15px; border-top: 1px solid #e1d8d5; color: #776d6a; font-size: 10px; line-height: 1.55; }
.bonita-fit-loading { min-height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; color: #6f6461; font-size: 12px; }
.bonita-fit-loading span { width: 28px; height: 28px; border: 2px solid #dfd2d0; border-top-color: #6d3540; border-radius: 50%; animation: bonita-spin .8s linear infinite; }
@keyframes bonita-spin { to { transform: rotate(360deg); } }
.bonita-results-heading h3 { margin-bottom: 10px; }
.bonita-results-heading > p:last-child { margin: 0 0 24px; color: #6f6461; font-size: 12px; line-height: 1.6; }
.bonita-result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bonita-result-card { min-width: 0; border: 1px solid #e1d8d5; background: #fff; }
.bonita-result-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; background: #eee2dd; }
.bonita-result-card div { padding: 14px; }
.bonita-result-card h4 { margin: 0 0 7px; font: 400 18px/1.15 Georgia,"Times New Roman",serif; }
.bonita-result-card .price { font-size: 11px; font-weight: 700; }
.bonita-result-card p { min-height: 45px; margin: 10px 0; color: #6f6461; font-size: 10px; line-height: 1.45; }
.bonita-result-card strong { color: #6d3540; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.bonita-result-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; }
.bonita-result-actions .bb-button { min-height: 44px; padding: 0 15px; font-size: 9px; }
@media (max-width:650px) { .bonita-result-grid { grid-template-columns: 1fr; } .bonita-result-card a { display:grid; grid-template-columns:110px 1fr; } .bonita-result-card img { height:100%; } }
.bonita-booking-form { display: grid; gap: 16px; max-width: 760px; }
.bonita-booking-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bonita-booking-form input, .bonita-booking-form select, .bonita-booking-form textarea {
  width: 100%;
  border: 1px solid #d8cfcb;
  padding: 13px 14px;
  background: #fff;
  color: #111;
}
.bonita-booking-form textarea { min-height: 90px; resize: vertical; }
.bonita-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: center; text-transform: none !important; font-weight: 400 !important; }
.bonita-consent input { width: auto; }
