.elementor-42 .elementor-element.elementor-element-9b0d821{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;--z-index:10;}.elementor-42 .elementor-element.elementor-element-1f0db08{margin:32px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-42 .elementor-element.elementor-element-1f0db08 .woocommerce-breadcrumb{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;text-align:start;}.elementor-42 .elementor-element.elementor-element-1f0db08 .woocommerce-breadcrumb > a{color:var( --e-global-color-text );}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-42 .elementor-element.elementor-element-4af4faf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-42 .elementor-element.elementor-element-fd84148{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-42 .elementor-element.elementor-element-3cf91f7 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;line-height:21px;letter-spacing:0.42px;color:var( --e-global-color-accent );}.elementor-42 .elementor-element.elementor-element-7f9cc23 .elementor-heading-title{font-family:"Baloo 2", Sans-serif;font-size:48px;font-weight:700;line-height:58px;color:#0B1A26;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button{background-color:#FF6BAE00;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:19px;letter-spacing:-0.16px;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:1000px 1000px 1000px 1000px;padding:14px 24px 14px 24px;}.elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button:hover, .elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button:focus{background-color:#FF6BAE52;color:#4E5D78;}.elementor-42 .elementor-element.elementor-element-85d9e37.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button:hover svg, .elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button:focus svg{fill:#4E5D78;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-42 .elementor-element.elementor-element-100645a{--grid-columns:4;}.elementor-42 .elementor-element.elementor-element-100645a > .elementor-widget-container{margin:60px 0px 0px 0px;}.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container{grid-auto-rows:1fr;}.elementor-42 .elementor-element.elementor-element-100645a .e-loop-item > .elementor-section, .elementor-42 .elementor-element.elementor-element-100645a .e-loop-item > .elementor-section > .elementor-container, .elementor-42 .elementor-element.elementor-element-100645a .e-loop-item > .e-con, .elementor-42 .elementor-element.elementor-element-100645a .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-42 .elementor-element.elementor-element-100645a{--grid-columns:2;}}@media(max-width:767px){.elementor-42 .elementor-element.elementor-element-4af4faf{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-42 .elementor-element.elementor-element-7f9cc23 .elementor-heading-title{font-size:36px;line-height:42px;}.elementor-42 .elementor-element.elementor-element-85d9e37{width:100%;max-width:100%;}.elementor-42 .elementor-element.elementor-element-85d9e37 .elementor-button{font-size:14px;padding:12px 12px 12px 12px;}.elementor-42 .elementor-element.elementor-element-100645a{--grid-columns:1;}}/* Start custom CSS for shortcode, class: .elementor-element-fd8a016 */.elementor-42 .elementor-element.elementor-element-fd8a016 .booqable-component{
    display: none !important;
}

.elementor-42 .elementor-element.elementor-element-fd8a016 .booqable-sidebar{
     padding: 0px !important;
        border-radius: 25px !important;
}

.elementor-42 .elementor-element.elementor-element-fd8a016 .DatePicker-dFZCEB{
    box-shadow: 0 0 0 1px #FF6BAE !important;
    border-radius: 25px !important;
    overflow: hidden !important;
}

.elementor-42 .elementor-element.elementor-element-fd8a016 .Cleanstate-hJgcmh{
    background: #FF6BAE !important;
}

.elementor-42 .elementor-element.elementor-element-fd8a016 .CleanstateLabel-cvxkzH,
.elementor-42 .elementor-element.elementor-element-fd8a016 .CleanstateTitle-LLpUR{
    color: #fff !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-title, class: .elementor-element-ca0e1c2 */.elementor-42 .elementor-element.elementor-element-ca0e1c2{
    opacity: 0 !important;
    height: 1px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a2d331b */@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@700&family=Inter:wght@400;500;600;700&display=swap");

/* =========================================================
   Booqable product detail: final CSS
   Everything is scoped under .single-page-details
   ========================================================= */

/* ===== 1. Full width, no padding, no shadow ===== */
.single-page-details,
.single-page-details .booqable-component-product-detail,
.single-page-details .booqable-product-detail-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

.single-page-details * {
  box-shadow: none !important;
}

/* ===== 2. Two-column layout ===== */
.single-page-details .booqable-product-detail-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 40px !important;
  align-items: start !important;
  font-family: Inter, sans-serif !important;
  color: #0b1a26 !important;
}

.single-page-details .booqable-product-detail-wrapper > div {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .single-page-details .booqable-product-detail-wrapper {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* ===== 3. Main image ===== */
.single-page-details [data-tid="Main image"] {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;   /* try 4 / 3 for a wider box */
  overflow: hidden !important;
  background: #f3f3f3;
}

.single-page-details [data-tid="Main image"] [class*="MainImage-"] {
  height: 100% !important;
  min-height: 100% !important;
  flex: 0 0 100% !important;
}

.single-page-details [data-tid="Main image"] [class*="BFocalImage-"] {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

.single-page-details [data-tid="Main image"] img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;   /* use cover to fill and crop */
  display: block !important;
}

/* ===== 4. Thumbnails + arrows ===== */
.single-page-details [class*="Gallery-"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 10px !important;
}

.single-page-details [class*="GalleryImagesContainer-"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.single-page-details [class*="Controls-"] {
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #0b1a26 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
}

.single-page-details [data-tid="Product image gallery"] {
  display: flex !important;
  gap: 8px !important;
}

.single-page-details [data-tid="Product image gallery"] [class*="GalleryImageContainer-"] {
  width: 60px !important;
  height: 60px !important;
  flex: 0 0 60px !important;
  border: 1px solid #d9d9d9 !important;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}

.single-page-details [data-tid="Product image gallery"] [class*="GalleryImageContainer-"]:hover,
.single-page-details [data-tid="Product image gallery"] [class*="GalleryImageContainer-"][class*="glJgZS"] {
  border: 2px solid #0b1a26 !important;
}

.single-page-details [data-tid="Product image gallery"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

/* ===== 5. bq-content: zero padding, flex, reorderable ===== */
.single-page-details .bq-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 16px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* flatten wrappers so each piece can be ordered */
.single-page-details .booqable-product-button-wrapper,
.single-page-details .bq-actions {
  display: contents !important;
}

/* ===== 6. Product title ===== */
.single-page-details .bq-product-name {
  order: 1;
  flex: 0 0 100% !important;
  margin: 0 !important;
  font-family: "Baloo 2", sans-serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 48px !important;
  color: #0b1a26 !important;
}

/* ===== 7. Price + small text ===== */
.single-page-details .bq-price-details {
  order: 2;
  flex: 0 0 100% !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin: 0 !important;
}

.single-page-details .bq-price {
  font-family: Inter, sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
  color: #0b1a26 !important;
}

.single-page-details .bq-duration {
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  color: #0b1a26 !important;
}

.single-page-details .bq-duration::before {
  content: "/ ";
}

/* ===== 8. Details (above the button) ===== */
.single-page-details .bq-product-description {
  order: 3;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #0b1a26 !important;
}

.single-page-details .bq-product-description p {
  margin: 0 0 12px !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #0b1a26 !important;
}

.single-page-details .bq-product-description p:empty {
  display: none !important;
}

/* ===== 9. Available / Unavailable pill ===== */
.single-page-details .bq-actions > div:first-of-type {
  order: 4;
}

/* base = unavailable (any status that is not "available") */
.single-page-details .bq-status {
  display: inline-block !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background: #C23434 !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 14px !important;
  color: #fff !important;
}

.single-page-details .bq-status span {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 14px !important;
  color: inherit !important;
}

/* available */
.single-page-details .bq-status.bq-available {
  background: #51C234 !important;
  color: #0b1a26 !important;
}

/* ===== 10. Check availability ===== */
/* the button is inside a shadow DOM and inherits font + color from here */
.single-page-details bq-product-availability-calendar {
  order: 5;
  display: inline-block !important;
  margin: 0 !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  color: #0b1a26 !important;
  white-space: nowrap;
}

/* ===== 11. Quantity + Add to cart (last) ===== */
.single-page-details .bq-control {
  order: 6;
  flex: 0 0 100% !important;
  display: flex !important;
  align-items: stretch !important;
  margin: 8px 0 0 !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.single-page-details .bq-control > div:first-child {
  flex: 0 0 110px !important;
  width: 110px !important;
}

.single-page-details .bq-quantity {
  width: 100% !important;
  height: 48px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #0b1a26 !important;
  outline: none !important;
  -moz-appearance: textfield;
}

.single-page-details .bq-quantity::-webkit-outer-spin-button,
.single-page-details .bq-quantity::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* button container: same look in every state */
.single-page-details .bq-control > span,
.single-page-details .bq-control [class*="ButtonContainer-"] {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: stretch !important;
  height: auto !important;
  background: #0b1a26 !important;
  border: 0 !important;
  border-radius: 0 999px 999px 0 !important;
  overflow: hidden !important;
}

/* button: idle, loading, success, hover, focus, disabled */
.single-page-details .bq-button,
.single-page-details .bq-button[data-state],
.single-page-details .bq-button[data-state="idle"],
.single-page-details .bq-button[data-state="loading"],
.single-page-details .bq-button[data-state="success"],
.single-page-details .bq-button:hover,
.single-page-details .bq-button:focus,
.single-page-details .bq-button:active,
.single-page-details .bq-button:disabled {
  flex: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0b1a26 !important;
  background-image: none !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  color: #fff !important;
  opacity: 1 !important;
  outline: none !important;
  cursor: pointer;
  transition: background 0.2s;
}

/* inner label and spinner: no pink, no extra background */
.single-page-details .bq-button *,
.single-page-details .bq-button::before,
.single-page-details .bq-button::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff !important;
  fill: #fff !important;
  stroke: #fff !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
}

.single-page-details .bq-button[data-state="idle"]:hover {
  background: #1b2f48 !important;
}

.single-page-details .bq-status{
    margin: 0px !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3d5c12f */.elementor-42 .elementor-element.elementor-element-3d5c12f{
    opacity: 0 !important;
    max-height: 1px;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-100645a *//* loop width*/


/* Prevent product grid overflow */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container.elementor-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Keep each product card within its grid column */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container.elementor-grid > .e-loop-item {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Fix Elementor container sizing */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .e-con-inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Prevent long titles and Booqable content from expanding cards */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-element-c37b775,
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-element-bb0731b,
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-widget,
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-widget-container,
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-shortcode {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Allow product titles to wrap */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-heading-title,
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .elementor-heading-title a {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Keep price and duration inside the card */
.elementor-42 .elementor-element.elementor-element-100645a .elementor-loop-container .bq-price-details {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
    max-width: 100%;
}

/* Prevent horizontal page overflow */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}/* End custom CSS */