body.elementor-page-471.single-product {
  --dw-green: #174f3a;
  --dw-orange: #d87b38;
  --dw-text: #21352d;
  --dw-muted: #667085;
  --dw-border: #dfe6de;
  --dw-soft: #f8f7f2;
  --dw-shadow: 0 12px 32px rgba(25, 54, 39, 0.08);
}

body.elementor-page-471.single-product,
body.elementor-page-471.single-product p,
body.elementor-page-471.single-product li,
body.elementor-page-471.single-product label,
body.elementor-page-471.single-product input,
body.elementor-page-471.single-product select,
body.elementor-page-471.single-product button {
  font-family: "Hanken Grotesk", sans-serif;
}

body.elementor-page-471.single-product .elementor-location-single {
  color: var(--dw-text);
}

body.elementor-page-471.single-product .elementor-element-dwovl01 .elementor-heading-title,
body.elementor-page-471.single-product .woocommerce-breadcrumb {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.elementor-page-471.single-product .elementor-element-dwovl01 .elementor-heading-title {
  color: var(--dw-orange);
}

body.elementor-page-471.single-product .woocommerce-breadcrumb,
body.elementor-page-471.single-product .woocommerce-breadcrumb a {
  color: #738072;
  text-decoration: none;
}

body.elementor-page-471.single-product .elementor-element-b95f4ff .elementor-heading-title {
  color: var(--dw-green);
  font-size: clamp(40px, 4vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

body.elementor-page-471.single-product .elementor-element-96c2302,
body.elementor-page-471.single-product .elementor-element-96c2302 p {
  color: #45584e;
  font-size: 22px;
  line-height: 1.65;
}

body.elementor-page-471.single-product .elementor-element-dwfeat1,
body.elementor-page-471.single-product .elementor-element-dwbook1,
body.elementor-page-471.single-product .elementor-element-dwc01d,
body.elementor-page-471.single-product .elementor-element-dwc02d,
body.elementor-page-471.single-product .elementor-element-dwc03d {
  border: 1px solid rgba(223, 230, 222, 0.9);
  border-radius: 24px;
  box-shadow: var(--dw-shadow);
}

body.elementor-page-471.single-product .elementor-element-dwfeat1 {
  background: rgba(250, 248, 243, 0.94);
}

body.elementor-page-471.single-product .elementor-element-dwbook1 {
  background: #fff;
}

body.elementor-page-471.single-product .elementor-element-dwbkh1 .elementor-heading-title {
  color: var(--dw-green);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

body.elementor-page-471.single-product .elementor-element-dwft01h .elementor-heading-title,
body.elementor-page-471.single-product .elementor-element-dwft02h .elementor-heading-title,
body.elementor-page-471.single-product .elementor-element-dwft03h .elementor-heading-title,
body.elementor-page-471.single-product .elementor-element-dwft04h .elementor-heading-title {
  color: var(--dw-text);
  font-size: 16px;
  font-weight: 700;
}

body.elementor-page-471.single-product .elementor-element-dwft01t,
body.elementor-page-471.single-product .elementor-element-dwft02t,
body.elementor-page-471.single-product .elementor-element-dwft03t,
body.elementor-page-471.single-product .elementor-element-dwft04t {
  color: var(--dw-muted);
  font-size: 14px;
  line-height: 1.45;
}

body.elementor-page-471.single-product .jet-booking-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px 22px;
}

body.elementor-page-471.single-product .jet-booking-form .quantity,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-total,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-user-email {
  display: none !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out {
  margin: 0;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests {
  flex: 1 1 calc(100% - 322px);
  min-width: 0;
  width: auto;
  order: 1;
  margin: 0 !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out {
  flex: 1 1 calc(100% - 322px);
  min-width: 0;
  width: auto;
  margin-top: 0;
  padding-top: 0;
  padding-left: 0;
  order: 3;
  margin-bottom: 0 !important;
}

body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button {
  flex: 1 1 calc(100% - 322px);
  width: auto;
  order: 4;
  margin-left: 0 !important;
  min-height: 58px;
  margin: 0 !important;
  border: 0;
  border-radius: 12px;
  background: var(--dw-green) !important;
  color: #fff !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview .single_add_to_cart_button {
  width: 100% !important;
  margin-top: 30px !important;
  display: block;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview {
  flex: 0 0 300px;
  width: 300px;
  margin: 0;
  order: 2;
  margin-left: auto !important;
  padding: 10px 12px;
  border: 1px solid var(--dw-border);
  border-radius: 12px;
  background: #fbfdfb;
  position: relative;
  transition: opacity 0.18s ease;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview.is-loading {
  opacity: 0.65;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview.is-loading::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 10px;
  width: 14px;
  height: 14px;
  border: 2px solid #c9d8cf;
  border-top-color: #1b5a43;
  border-radius: 50%;
  animation: dwPriceSpin 0.8s linear infinite;
}

@keyframes dwPriceSpin {
  to { transform: rotate(360deg); }
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #526457;
  font-size: 16px;
  line-height: 1.35;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview__line + .dw-booking-price-preview__line {
  margin-top: 4px;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview__line strong {
  color: #243d33;
  font-size: 18px;
  font-weight: 700;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview__line--total {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #dfe9e1;
  color: #174f3a;
}

body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview__line--total strong {
  color: #174f3a;
  font-size: 24px;
}

body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button:hover,
body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button:focus {
  background: #0f412f !important;
  transform: translateY(-1px);
}

body.elementor-page-471.single-product .jet-booking-form label,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field::before {
  display: block;
  margin: 0 0 10px;
  color: var(--dw-text);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  width: 100% !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests select {
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out {
  margin-top: 14px;
}

/* Hide extra internal input from JetBooking range renderer */
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out > .jet-abaf-field__input {
  display: none !important;
}

/* Remove default field wrapper spacing that creates a blank gap under Guests */
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests .form-field,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests .jet-abaf-field,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests .jet-form-builder__row {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-fields,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field__control,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field__inline {
  margin: 0 !important;
  padding-top: 0 !important;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests label,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out .jet-abaf-separate-field::before {
  margin-bottom: 8px;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field:nth-child(1)::before {
  content: "Arrival date:";
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field:nth-child(2)::before {
  content: "Departure date:";
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-field__control {
  display: block;
  width: 100%;
  min-width: 0;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out .jet-abaf-separate-fields .jet-abaf-separate-field__inline {
  display: block !important;
  flex: 1 1 0 !important;
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.elementor-page-471.single-product .jet-booking-form select,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-field__input {
  min-height: 58px;
  width: 100%;
  margin: 0;
  border: 1px solid var(--dw-border);
  border-radius: 12px;
  background-color: #fff;
  color: #344054;
  font-size: 22px;
  font-weight: 500;
  box-shadow: none;
}

body.elementor-page-471.single-product .jet-booking-form select {
  padding: 0 48px 0 52px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23505d56' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 21a8 8 0 1 0-12 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23505d56' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: left 18px center, right 18px center;
  appearance: none;
}

body.elementor-page-471.single-product .jet-booking-form .jet-abaf-field__input {
  padding: 0 18px 0 54px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23505d56' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 18px center;
}

body.elementor-page-471.single-product .jet-booking-form input[name="jet_abaf_field__in"],
body.elementor-page-471.single-product .jet-booking-form input[name="jet_abaf_field__out"] {
  display: block;
  width: 100% !important;
  min-width: 0;
}

body.elementor-page-471.single-product .jet-booking-form select::placeholder,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-field__input::placeholder {
  color: #98a2b3;
}

body.elementor-page-471.single-product .jet-booking-form select:focus,
body.elementor-page-471.single-product .jet-booking-form .jet-abaf-field__input:focus,
body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button:focus {
  outline: none;
  border-color: #9db7a8;
}

body.elementor-page-471.single-product .elementor-element-dwc01h .elementor-heading-title,
body.elementor-page-471.single-product .elementor-element-dwc02h .elementor-heading-title,
body.elementor-page-471.single-product .elementor-element-dwc03h .elementor-heading-title {
  color: var(--dw-green);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}

body.elementor-page-471.single-product .elementor-element-dwc01t,
body.elementor-page-471.single-product .elementor-element-dwc02t,
body.elementor-page-471.single-product .elementor-element-dwc03t {
  color: #516257;
  font-size: 15px;
  line-height: 1.7;
}

body.elementor-page-471.single-product .elementor-element-dwc02t ul,
body.elementor-page-471.single-product .elementor-element-dwc03t ul {
  margin: 10px 0 0;
  padding-left: 1.15em;
}

body.elementor-page-471.single-product .elementor-element-dwc02t li::marker,
body.elementor-page-471.single-product .elementor-element-dwc03t li::marker {
  color: #df8a4a;
}

@media (max-width: 1024px) {
  body.elementor-page-471.single-product .jet-booking-form {
    display: block;
  }

  body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-guests,
  body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out,
  body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button,
  body.elementor-page-471.single-product .jet-booking-form .dw-booking-price-preview {
    width: 100%;
    flex: 1 1 100%;
    margin: 10px 0 0 !important;
  }

  body.elementor-page-471.single-product .jet-booking-form .jet-abaf-product-check-in-out {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  body.elementor-page-471.single-product .elementor-element-b95f4ff .elementor-heading-title {
    font-size: 34px;
  }

  body.elementor-page-471.single-product .elementor-element-96c2302,
  body.elementor-page-471.single-product .elementor-element-96c2302 p {
    font-size: 18px;
  }

  body.elementor-page-471.single-product .jet-booking-form .jet-abaf-separate-fields {
    grid-template-columns: 1fr;
  }

  body.elementor-page-471.single-product .jet-booking-form select,
  body.elementor-page-471.single-product .jet-booking-form .jet-abaf-field__input,
  body.elementor-page-471.single-product .jet-booking-form .single_add_to_cart_button {
    min-height: 54px;
    font-size: 17px;
  }
}
