/* One slim phone stick: Call / SMS and WhatsApp. Cart lives in the header. */

:root {
  --fyds-contact-h: 0px;
  --fyds-cart-h: 0px;
  --fyds-stick-h: 0px;
  --fyds-dock-floor: 0px;
  --fyds-dock-stack: 0px;
}

html body.fyds-has-float .fyds-float,
html body .fyds-float,
body.fyds-has-float .fyds-float,
.fyds-float {
  position: fixed;
  left: max(10px, env(safe-area-inset-left, 0px));
  right: max(10px, env(safe-area-inset-right, 0px));
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  z-index: 10040;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 6px;
  border: 1px solid rgba(228, 92, 156, 0.18);
  border-radius: 999px;
  background: rgba(255, 247, 251, 0.96);
  box-shadow: 0 16px 36px rgba(211, 76, 139, 0.18);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.fyds-float,
.fyds-float * {
  box-sizing: border-box;
}

.fyds-float .fyds-minicart,
.fyds-float .fyds-dock-contact,
.fyds-float #fy-mobile-contact-bar,
.fyds-float .fy-mobile-contact-inner {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}

@media (max-width: 899px) {
  body.fyds-dock-on {
    padding-bottom: calc(var(--fyds-dock-stack, 72px) + 18px) !important;
  }

  /* Product page: due / Choose options sits above Call + WhatsApp. */
  body.single-product.fyds-has-stick.fyds-has-float,
  body.single-product.fyds-has-stick.fyds-has-contact,
  body.fyds-dock-on.fyds-has-stick.fyds-has-float {
    padding-bottom: calc(var(--fyds-dock-stack, 72px) + var(--fyds-stick-h, 68px) + 24px) !important;
  }

  #chat-widget-container,
  chat-widget,
  .fyds-dock-chat,
  .fyds-dock-chat--phone-hide {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.fyds-has-float .fyds-stick,
  body.fyds-has-contact .fyds-stick,
  body.single-product .fyds-stick.fyds-stick--on {
    left: max(10px, env(safe-area-inset-left, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    bottom: calc(var(--fyds-dock-stack, 72px) + 12px) !important;
    width: auto;
    border: 1px solid rgba(228, 92, 156, 0.2);
    border-radius: 28px;
    padding: 10px 12px;
    box-shadow: 0 16px 32px rgba(211, 76, 139, 0.16);
  }

  body.woocommerce-cart.fyds-has-minicart .fyds-stick {
    display: none !important;
  }

  .fyds-float .fyds-dock-contact,
  .fyds-float #fy-mobile-contact-bar,
  .fyds-float .fy-mobile-contact-inner {
    display: contents !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .fyds-float .fyds-minicart {
    display: none !important;
  }

  .fyds-float .fyds-minicart__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    text-align: right;
  }

  .fyds-float .fyds-minicart__due,
  .fyds-float .fyds-minicart__meta {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fyds-float .fyds-minicart__due {
    font-size: 12px;
  }

  .fyds-float .fyds-minicart__meta {
    font-size: 10px;
  }

  .fyds-float .fyds-minicart__meta:empty {
    display: none;
  }

  .fyds-float .fyds-minicart__btn,
  .fyds-float .fy-mobile-contact-button,
  .fyds-float a#fy-call-button,
  .fyds-float a#fy-whatsapp-button,
  .fyds-float .fyds-dock-contact > a,
  .fyds-float .fyds-dock-contact > button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 1 !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  .fyds-float #fyds-minicart-checkout,
  .fyds-float .fyds-minicart__btn:not(#fyds-minicart-cart) {
    display: none !important;
  }

  .fyds-float #fyds-minicart-cart,
  .fyds-float .fyds-minicart__btn--ghost {
    color: #fff !important;
    background: linear-gradient(135deg, var(--fy-pink, #e45c9c), var(--fy-pink-deep, #d34c8b)) !important;
    border: 0 !important;
  }

  .fyds-float .fy-call-button,
  .fyds-float .fyds-dock-contact a[href^="tel"] {
    color: #fff !important;
    background: linear-gradient(135deg, var(--fy-pink, #e45c9c), var(--fy-pink-deep, #d34c8b)) !important;
  }

  .fyds-float .fy-whatsapp-button,
  .fyds-float .fyds-dock-contact a[href*="wa.me"],
  .fyds-float .fyds-dock-contact a[href*="whatsapp"] {
    color: #fff !important;
    background: linear-gradient(135deg, #2fd36a, #1fbe57) !important;
  }

  .fyds-float .fy-mobile-contact-icon,
  .fyds-float .fy-mobile-contact-icon svg,
  .fyds-float #fy-call-button svg,
  .fyds-float #fy-whatsapp-button svg,
  .fyds-float .fy-call-button svg,
  .fyds-float .fy-whatsapp-button svg {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .fyds-float .fy-mobile-contact-label {
    display: inline !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: inherit !important;
  }

  .fyds-float .fy-mobile-contact-subtext {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .fyds-float #fyds-minicart-cart {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 360px) {
  .fyds-float {
    gap: 4px;
    padding: 5px;
  }

  .fyds-float .fyds-minicart__btn,
  .fyds-float .fy-mobile-contact-button,
  .fyds-float a#fy-call-button,
  .fyds-float a#fy-whatsapp-button,
  .fyds-float .fyds-dock-contact > a,
  .fyds-float .fyds-dock-contact > button {
    padding: 0 8px !important;
    font-size: 10px !important;
  }

  .fyds-float .fy-mobile-contact-label {
    font-size: 10px !important;
  }
}

@media (min-width: 900px) {
  .fyds-dock-contact,
  #fy-mobile-contact-bar {
    display: none !important;
  }

  .fyds-dock-chat,
  #chat-widget-container,
  chat-widget {
    position: fixed !important;
    right: 20px !important;
    left: auto !important;
    top: auto !important;
    bottom: 20px !important;
    transform: none !important;
  }

  body.fyds-has-minicart .fyds-dock-chat,
  body.fyds-has-minicart #chat-widget-container,
  body.fyds-has-minicart chat-widget {
    bottom: 20px !important;
  }
}

body.fyds-welcome-on .fyds-float,
body.fyds-mobile-open .fyds-float,
body.fyds-welcome-on .fyds-dock-chat,
body.fyds-welcome-on #chat-widget-container,
body.fyds-welcome-on chat-widget,
body.fyds-mobile-open .fyds-dock-chat,
body.fyds-mobile-open #chat-widget-container,
body.fyds-mobile-open chat-widget,
body.fyds-welcome-on .fyds-dock-contact,
body.fyds-mobile-open .fyds-dock-contact,
body.woocommerce-checkout .fyds-float,
body.woocommerce-checkout .fyds-dock-contact,
body.woocommerce-checkout #fy-mobile-contact-bar,
body.fyds-on-checkout .fyds-float,
body.fyds-on-checkout .fyds-dock-contact,
body.fyds-on-checkout #fy-mobile-contact-bar {
  visibility: hidden !important;
  pointer-events: none !important;
}

html.fyds-lite-effects .fyds-dock-contact,
html.fyds-lite-effects .fyds-dock-chat {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.fy-filter-row[hidden],
.fy-filter-row-wrap[hidden],
.fy-filter-row-hint[hidden],
.fy-filter-label[hidden] {
  display: none !important;
}

.fyds-style-select-wrap {
  min-width: 0;
  flex: 1 1 calc(50% - 8px);
}

.fyds-style-select-wrap .fyds-style-select {
  width: 100%;
}

@media (max-width: 899px) {
  .fyd-filters-wrap,
  .fyx-bar-wrap,
  .fy-inventory-panel,
  .fy-search-row,
  .fy-filter-bar,
  .fyds-fleet-anchor,
  #miami-yacht-fleet {
    min-width: 0;
  }

  .fyd-filters-wrap,
  .fyx-bar-wrap,
  .fy-inventory-panel .fy-search-row,
  .fy-inventory-panel .fy-filter-bar,
  #miami-yacht-fleet form,
  .fyds-fleet-anchor form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
  }

  .fy-inventory-panel .fy-search-wrap,
  .fy-inventory-panel .fy-search {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
  }

  .fyd-filters-wrap select,
  .fyx-bar-wrap select,
  .fy-inventory-panel select,
  .fyds-style-select,
  #miami-yacht-fleet select,
  .fyds-fleet-anchor select,
  .fyd-filters-wrap [class*="select"],
  .fyx-bar-wrap [class*="select"] {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 calc(50% - 8px);
  }

  .fy-inventory-panel,
  .fyd-filters-wrap,
  .fyx-bar-wrap,
  .fy-search-row,
  .fy-filter-bar,
  #miami-yacht-fleet form,
  .fyds-fleet-anchor form {
    gap: 6px !important;
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
  }

  .fy-inventory-panel input,
  .fy-inventory-panel select,
  .fy-search-row input,
  .fy-search-row select,
  .fy-filter-bar select,
  .fyd-filters-wrap input,
  .fyd-filters-wrap select,
  .fyx-bar-wrap input,
  .fyx-bar-wrap select,
  #miami-yacht-fleet input,
  #miami-yacht-fleet select,
  .fyds-fleet-anchor input,
  .fyds-fleet-anchor select,
  .fyds-style-select {
    min-height: 40px !important;
    height: auto !important;
    padding: 6px 10px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    border-radius: 12px !important;
  }

  .fy-inventory-panel button,
  .fy-search-row button,
  .fy-filter-bar button,
  .fyd-filters-wrap button,
  .fyx-bar-wrap button,
  .fy-inventory-panel [class*="saved"],
  .fy-filter-bar [class*="saved"],
  .fy-search-row [class*="saved"] {
    min-height: 40px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  .fyds-dock-contact a,
  .fyds-dock-contact button {
    font-size: 14px !important;
    white-space: nowrap;
  }
}

@media (max-width: 899px) and (orientation: landscape) {
  .fy-inventory-panel,
  .fyd-filters-wrap,
  .fyx-bar-wrap,
  #miami-yacht-fleet form,
  .fyds-fleet-anchor form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start !important;
    gap: 6px !important;
    padding: 6px 8px !important;
  }

  .fy-search-row {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .fy-filter-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .fy-inventory-panel .fy-search-wrap,
  .fy-inventory-panel .fy-search,
  .fy-search-row .fy-search-wrap,
  .fy-search-row input[type="search"],
  .fy-search-row input[type="text"] {
    grid-column: 1 / -1;
    width: 100%;
  }

  .fy-inventory-panel input,
  .fy-inventory-panel select,
  .fy-inventory-panel button,
  .fy-search-row input,
  .fy-search-row select,
  .fy-filter-bar select,
  .fy-filter-bar button,
  .fyd-filters-wrap select,
  .fyd-filters-wrap button {
    min-height: 36px !important;
    font-size: 13px !important;
    padding: 4px 8px !important;
  }
}

/* Due + Cart chip is gone on every page. Call / SMS and WhatsApp stay. */
html body .fyds-minicart,
html body.fyds-has-minicart .fyds-minicart,
html body .fyds-float .fyds-minicart,
html body #fyds-minicart-cart,
html body #fyds-minicart-checkout,
html body .fyds-minicart__due,
html body .fyds-minicart__meta,
html body .fyds-minicart__copy,
html body .fyds-store-chip {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

@media (max-width: 899px) {
  .fyds-float .fy-mobile-contact-button,
  .fyds-float a#fy-call-button,
  .fyds-float a#fy-whatsapp-button,
  .fyds-float .fyds-dock-contact > a,
  .fyds-float .fyds-dock-contact > button {
    flex: 1 1 0 !important;
  }
}
