/* SÓPA reservation form. Keep these visual rules on the reservation page only. */
body.page-id-683 #ws-form-1 {
  --sopa-ink: #2d2622;
  --sopa-copper: #a67358;
  --sopa-copper-dark: #805038;
  --sopa-border: #d9c8ba;
  --sopa-paper: #fffdfa;
  --sopa-focus: rgba(166, 115, 88, .15);
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="text"] > input.wsf-field,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="email"] > input.wsf-field,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="tel"] > input.wsf-field,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="quantity"] > input.wsf-field,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="textarea"] > textarea.wsf-field,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="cart_price"] > input.wsf-field {
  min-height: 46px;
  padding: 11px 14px;
  border: 1px solid var(--sopa-border);
  border-radius: 6px;
  background-color: var(--sopa-paper);
  box-shadow: none;
  color: var(--sopa-ink);
  font: 400 14px/1.5 Poppins, sans-serif;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="textarea"] > textarea.wsf-field {
  min-height: 126px;
  resize: vertical;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="text"] > input.wsf-field:hover,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="email"] > input.wsf-field:hover,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="tel"] > input.wsf-field:hover,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="quantity"] > input.wsf-field:hover,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="textarea"] > textarea.wsf-field:hover {
  border-color: #b58b72;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="text"] > input.wsf-field:focus,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="email"] > input.wsf-field:focus,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="tel"] > input.wsf-field:focus,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="quantity"] > input.wsf-field:focus,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="textarea"] > textarea.wsf-field:focus {
  border-color: var(--sopa-copper);
  box-shadow: 0 0 0 3px var(--sopa-focus);
  outline: none;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="cart_price"] > input.wsf-field[readonly] {
  background-color: #f8f1eb;
  color: #5d4639;
  font-weight: 600;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="text"] > label.wsf-label,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="email"] > label.wsf-label,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="tel"] > label.wsf-label,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="textarea"] > label.wsf-label,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="cart_price"] > label.wsf-label,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] > label.wsf-label {
  margin-bottom: 8px;
  color: #514139;
  font-weight: 500;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] input[type="radio"],
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--sopa-copper);
  cursor: pointer;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] input[type="radio"]:focus-visible,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--sopa-copper);
  outline-offset: 3px;
}

/* WS Form draws the visible radio and checkbox controls on their labels. */
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] input[type="radio"] + label.wsf-label::before,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] input[type="checkbox"] + label.wsf-label::before {
  border-color: var(--sopa-border);
  background-color: var(--sopa-paper);
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] input[type="radio"]:checked + label.wsf-label::before,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] input[type="checkbox"]:checked + label.wsf-label::before {
  border-color: var(--sopa-copper) !important;
  background-color: var(--sopa-copper) !important;
  box-shadow: none !important;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] input[type="radio"]:focus-visible + label.wsf-label::before,
body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] input[type="checkbox"]:focus-visible + label.wsf-label::before {
  box-shadow: 0 0 0 4px var(--sopa-focus);
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] > div > div {
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: background-color .18s ease, border-color .18s ease;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] > div > div:hover {
  background-color: #faf6f2;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] > div > div:has(input:checked) {
  border-color: #ddc5b5;
  background-color: #f8f0e9;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] > div > div > label.wsf-label {
  margin-bottom: 0;
  color: var(--sopa-ink);
  cursor: pointer;
}

body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="checkbox"] [data-row-checkbox] > label.wsf-label {
  color: var(--sopa-ink);
  cursor: pointer;
}

/* Style only Stripe's outer frame; Stripe controls the secure card iframe. */
body.page-id-683 #ws-form-1 #wsf-1-field-wrapper-211 > label.wsf-label {
  margin-bottom: 8px;
  color: #514139;
  font-weight: 500;
}

body.page-id-683 #ws-form-1 #wsf-1-field-211.StripeElement {
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--sopa-border);
  border-radius: 6px;
  background-color: var(--sopa-paper);
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body.page-id-683 #ws-form-1 #wsf-1-field-211.StripeElement--focus {
  border-color: var(--sopa-copper);
  box-shadow: 0 0 0 3px var(--sopa-focus);
}

body.page-id-683 #ws-form-1 button.wsf-button {
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid var(--sopa-copper);
  border-radius: 6px;
  background-color: var(--sopa-copper);
  box-shadow: none;
  color: #fff;
  font: 500 14px/1.5 Poppins, sans-serif;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.page-id-683 #ws-form-1 button.wsf-button:hover:not(:disabled) {
  border-color: var(--sopa-copper-dark);
  background-color: var(--sopa-copper-dark);
  color: #fff;
}

body.page-id-683 #ws-form-1 button.wsf-button:focus-visible {
  outline: 2px solid var(--sopa-copper-dark);
  outline-offset: 3px;
}

body.page-id-683 #ws-form-1 button.wsf-button:disabled {
  border-color: #d5c9c0;
  background-color: #d5c9c0;
  color: #685d56;
  cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-683 #ws-form-1 .wsf-field-wrapper .wsf-field,
  body.page-id-683 #ws-form-1 .wsf-field-wrapper[data-type="price_radio"] > div > div {
    transition: none;
  }
}
