/* Baby's Away: mobile layout repairs. Desktop styles and store rules are unchanged. */
@media (max-width: 1024px) {
  /* Shared header: promotion, then logo / cart / menu in normal document flow. */
  .elementor-16 .elementor-element.elementor-element-75c68ca {
    margin: 0 !important;
    padding: 10px 16px !important;
    min-height: 0;
  }
  .elementor-16 .elementor-element.elementor-element-8d5f39a {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .elementor-16 .elementor-element-8d5f39a p { margin: 0; }
  .elementor-16 .elementor-element.elementor-element-6223542d {
    margin: 0 !important;
    padding: 12px 16px !important;
  }
  .elementor-16 .elementor-element-6223542d > .elementor-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
  }
  .elementor-16 .elementor-element-6223542d > .elementor-container > .elementor-column {
    margin: 0 !important;
    min-width: 0;
  }
  .elementor-16 .elementor-element-6223542d > .elementor-container > .elementor-column > .elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
    align-content: center;
    align-items: center;
  }
  .elementor-16 .elementor-element.elementor-element-6d4b7e8 {
    order: 1;
    width: auto !important;
    flex: 1 1 auto;
  }
  .elementor-16 .elementor-element-6d4b7e8 img {
    width: 155px;
    max-width: 100%;
    height: auto;
  }
  .elementor-16 .elementor-element.elementor-element-0e41be8 {
    order: 2;
    width: 44px !important;
    flex: 0 0 44px;
  }
  .elementor-16 .elementor-element.elementor-element-7200c9b6 {
    order: 3;
    width: 44px !important;
    flex: 0 0 44px;
    position: static;
  }
  .elementor-16 .elementor-element.elementor-element-fadaab6 {
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-16 .elementor-element-fadaab6 > .elementor-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  /* Account remains available inside the menu; remove repeated desktop actions. */
  .elementor-16 .elementor-element.elementor-element-2a67af2,
  .elementor-16 .elementor-element.elementor-element-463adf2 {
    display: none !important;
  }
  .elementor-16 .elementor-element.elementor-element-c86194c {
    width: 100% !important;
    min-width: 0;
  }
  .elementor-16 .elementor-element-c86194c > .elementor-element-populated,
  .elementor-16 .elementor-element-2bb705a > .elementor-widget-container,
  .elementor-16 .elementor-element-9a0e97c > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    --e-column-margin-left: 0px;
    --e-column-margin-right: 0px;
  }
  .elementor-16 .elementor-element-9a0e97c .elementor-menu-cart__toggle_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 8px !important;
  }
  .elementor-16 .elementor-element-9a0e97c .elementor-button-text { display: none; }
  .elementor-16 .elementor-element-7200c9b6 > .elementor-widget-wrap,
  .elementor-16 .elementor-element.elementor-element-69dce109,
  .elementor-16 .elementor-element-69dce109 > .elementor-widget-container {
    position: static;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-16 .elementor-element-69dce109 .elementor-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding: 7px !important;
  }
  .elementor-16 .elementor-element-69dce109 .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    z-index: 1002;
  }
  .elementor-16 .elementor-nav-menu--dropdown a {
    min-height: 44px;
    padding: 12px 20px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  /* Main pages: predictable section spacing and room for text to wrap. */
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) > .elementor-section.elementor-top-section {
    padding: 48px 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) .elementor-column,
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) .elementor-widget {
    min-width: 0;
  }
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150) .elementor-element-6b1c6a9 > .elementor-element-populated,
  .elementor-715 .elementor-element-7203f243 > .elementor-element-populated,
  .elementor-106 .elementor-element-7242211 > .elementor-element-populated {
    margin: 0 !important;
    padding: 0 !important;
    --e-column-margin-left: 0px;
    --e-column-margin-right: 0px;
  }
  :is(.elementor-159, .elementor-150) :is(.elementor-element-47b2a3d, .elementor-element-cebef4c, .elementor-element-b427af1) > .elementor-widget-container {
    margin-left: 0 !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150) .elementor-element-c1bb39e .elementor-heading-title,
  .elementor-715 :is(.elementor-element-2ad4407b, .elementor-element-38a51975) .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150) .elementor-element-47b2a3d .elementor-heading-title,
  .elementor-13 .elementor-element-12df453 .elementor-heading-title,
  .elementor-715 .elementor-element-3b6d9e0d .elementor-heading-title {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .elementor-13 .elementor-element-b58e773 .elementor-heading-title {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-150) :is(.elementor-element-a28d4f8, .elementor-element-80c2c95, .elementor-element-64c802f, .elementor-element-3dd82ba, .elementor-element-e6985b5, .elementor-element-13f02f6, .elementor-element-813d435, .elementor-element-aab622e, .elementor-element-45d7469) .elementor-heading-title,
  .elementor-159 .elementor-element-952e361 .elementor-heading-title,
  .elementor-715 .elementor-element-5f7a158 .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.4px !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-150) :is(.elementor-element-a28d4f8, .elementor-element-80c2c95, .elementor-element-64c802f, .elementor-element-3dd82ba) > .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-150) :is(.elementor-element-8d88425, .elementor-element-9ec4fe5, .elementor-element-b19fc88, .elementor-element-319d210, .elementor-element-fe746fa) {
    text-align: left !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-150) :is(.elementor-element-8d88425, .elementor-element-9ec4fe5, .elementor-element-b19fc88, .elementor-element-319d210, .elementor-element-fe746fa) .elementor-heading-title,
  .elementor-13 .elementor-testimonial-content,
  .elementor-159 :is(.elementor-element-12b1803, .elementor-element-1bd91311, .elementor-element-6565774b) .elementor-heading-title {
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
  }
  :is(.elementor-13, .elementor-106) .elementor-element-aa299c8 img {
    height: 300px !important;
    max-width: 100%;
    object-fit: cover;
  }

  /* Four steps and company statistics: replace unreadably small vw text. */
  .elementor-13 :is(.elementor-element-96fb80f, .elementor-element-bbe1023, .elementor-element-bad2a4a, .elementor-element-a7cc995) .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  .elementor-13 :is(.elementor-element-23d6284, .elementor-element-19b92b5, .elementor-element-120a2d4, .elementor-element-f8ea542) .elementor-heading-title {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
  .elementor-13 :is(.elementor-element-17fc397, .elementor-element-813d435) .elementor-heading-title {
    line-height: 1.2 !important;
  }
  .elementor-13 .elementor-element-52d54c0 > .elementor-container { row-gap: 24px; }
  .elementor-13 :is(.elementor-element-e48e6a6, .elementor-element-d20dc51, .elementor-element-141f746, .elementor-element-9f425a0),
  .elementor-106 :is(.elementor-element-852d486, .elementor-element-4985089, .elementor-element-8603466, .elementor-element-7ff2ffc) {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .elementor-13 :is(.elementor-element-e48e6a6, .elementor-element-d20dc51, .elementor-element-141f746, .elementor-element-9f425a0) .elementor-heading-title,
  .elementor-106 :is(.elementor-element-852d486, .elementor-element-4985089, .elementor-element-8603466, .elementor-element-7ff2ffc) .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .elementor-13 :is(.elementor-element-35f2b6a, .elementor-element-8b62f43) .elementor-heading-title,
  .elementor-106 :is(.elementor-element-800d83e, .elementor-element-1e2baec) .elementor-heading-title {
    font-size: 56px !important;
    line-height: 1.1 !important;
  }
  .elementor-150 .elementor-tab-content {
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-align: left;
  }

  /* Contact form: use the available width and prevent iOS input zoom. */
  .elementor-159 :is(.elementor-element-f7a98e8, .elementor-element-6541930) > .elementor-element-populated {
    margin: 0 !important;
    padding: 0 !important;
    --e-column-margin-left: 0px;
    --e-column-margin-right: 0px;
  }
  .elementor-159 .elementor-element-6541930 { margin-top: 24px !important; }
  .elementor-159 :is(.elementor-element-12b1803, .elementor-element-1bd91311, .elementor-element-6565774b) > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .elementor-159 .elementor-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  .elementor-159 .elementor-form textarea { min-height: 128px; }
  .elementor-159 .elementor-form button[type="submit"] {
    width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  /* Footer: readable headings and touch targets without replacing its content. */
  .elementor-63 :is(.elementor-element-0c4b532, .elementor-element-def3f58, .elementor-element-3b1db79) .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }
  .elementor-63 .elementor-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
  .elementor-63 .elementor-element-cbcff94 a {
    display: inline-block;
    min-height: 44px;
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.5;
  }
  .elementor-63 :is(.elementor-element-c474429, .elementor-element-aac40cc, .elementor-element-9047846, .elementor-element-50143b7, .elementor-element-43a39be) img {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover;
  }

  /* Product lists: two aligned cards per row, consistent photos and actions. */
  .woocommerce ul.products,
  .elementor-widget-woocommerce-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .woocommerce ul.products::before,
  .woocommerce ul.products::after { display: none !important; }
  .woocommerce ul.products li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }
  .woocommerce ul.products li.product img {
    width: 100% !important;
    height: 160px !important;
    object-fit: contain;
  }
  .woocommerce ul.products li.product :is(.woocommerce-loop-product__title, h2, li.title a) {
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }
  .woocommerce ul.products li.product :is(.button, .added_to_cart) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    padding: 10px 8px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  /* Product detail: retain the gallery's visibility logic; stack booking and CTA. */
  .single-product .product_title,
  .elementor-387 .elementor-element-127dc6a7 .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
  .single-product .woocommerce-product-gallery {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto !important;
    max-height: 280px;
    object-fit: contain;
  }
  .single-product form.cart { display: block !important; }
  .single-product :is(#wc-bookings-booking-form, .wc-bookings-booking-form, .wc-bookings-date-picker, .wc-bookings-date-picker .picker, .wc-bookings-date-picker .ui-datepicker) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
  }
  .single-product .wc-bookings-date-picker { margin-left: 0; margin-right: 0; }
  .single-product .wc-bookings-date-picker .ui-datepicker-calendar {
    width: 100%;
    table-layout: fixed;
  }
  .single-product .wc-bookings-date-picker .ui-datepicker td :is(a, span) {
    display: block;
    min-height: 44px;
    box-sizing: border-box;
    padding: 12px 2px !important;
    font-size: 14px;
    line-height: 20px !important;
    text-align: center;
  }
  .single-product form.cart .single_add_to_cart_button {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: none;
    min-height: 48px;
    box-sizing: border-box;
    margin: 12px 0 0 !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    white-space: normal;
  }

  /* Cart and checkout: legible rows, usable remove controls, one-column forms. */
  :is(.woocommerce-cart, .woocommerce-checkout) .shop_table {
    width: 100% !important;
    font-size: 16px !important;
    line-height: 1.45;
  }
  :is(.woocommerce-cart, .woocommerce-checkout) .shop_table :is(th, td) {
    padding: 12px 8px;
    font-size: 16px !important;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  :is(.woocommerce-cart, .woocommerce-checkout) .shop_table .amount { font-size: 16px !important; }
  .woocommerce-cart .shop_table .product-quantity:has(input[type="hidden"]):not(:has(input:not([type="hidden"]), select, button)) {
    display: none !important;
  }
  .woocommerce-cart a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #customer_details :is(.col-1, .col-2),
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  .woocommerce-checkout #customer_details :is(.col-1, .col-2) { padding: 0 !important; }
  .woocommerce-checkout form.checkout .form-row {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    box-sizing: border-box;
  }
  .woocommerce-checkout form.checkout label {
    font-size: 16px;
    line-height: 1.4;
  }
  :is(.woocommerce-cart, .woocommerce-checkout) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea) {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  .woocommerce-checkout textarea { min-height: 120px; }
  .woocommerce-checkout .select2-container { width: 100% !important; max-width: 100%; }
  .woocommerce-checkout .select2-selection--single { min-height: 48px; font-size: 16px; }
  .woocommerce-checkout .select2-selection--single .select2-selection__rendered { line-height: 46px; }
  .woocommerce-checkout .select2-selection--single .select2-selection__arrow { height: 46px; }
  .woocommerce-checkout #payment { padding: 16px; box-sizing: border-box; }
  .woocommerce-checkout #payment .place-order { padding: 0; }
  .woocommerce-checkout #place_order,
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    min-height: 48px;
    box-sizing: border-box;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  /* Added-to-cart notice: keep its action fully visible below the message. */
  .woocommerce-notices-wrapper .woocommerce-message {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 20px;
    padding: 16px !important;
    font-size: 15px;
    line-height: 1.5;
  }
  .woocommerce-notices-wrapper .woocommerce-message a.wc-forward {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none !important;
    flex: 1 0 100%;
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 12px 16px !important;
    font-size: 15px;
    line-height: 1.3;
    text-align: center;
  }

  /* Keyboard navigation remains visible on branded buttons, links and fields. */
  :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #054766 !important;
    outline-offset: 3px;
  }
}

/* Mobile refinements after reviewing the first deployed layout. */
@media (max-width: 1024px) {
  /* Keep the navy / teal / pink palette while making text readable. */
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) .elementor-heading-title {
    color: #054766 !important;
  }
  :is(.elementor-106, .elementor-159, .elementor-150) .elementor-element-c1bb39e :is(.elementor-element-cebef4c, .elementor-element-b427af1) .elementor-heading-title,
  .elementor-715 :is(.elementor-element-2ad4407b, .elementor-element-38a51975) .elementor-heading-title {
    color: #b7626b !important;
  }
  .elementor-13 :is(.elementor-element-f4babd5, .elementor-element-cebef4c, .elementor-element-35f2b6a, .elementor-element-8b62f43) .elementor-heading-title,
  .elementor-106 :is(.elementor-element-800d83e, .elementor-element-1e2baec) .elementor-heading-title {
    color: #28708a !important;
  }
  .elementor-13 .elementor-element-5e6767c,
  .elementor-13 .elementor-element-5e6767c .elementor-heading-title,
  .elementor-106 .elementor-element-eeacb00 .elementor-heading-title,
  .elementor-63 .elementor-heading-title,
  .elementor-63 .elementor-widget-text-editor {
    color: #054766 !important;
  }
  .elementor-106 :is(.elementor-element-91c9f06, .elementor-element-24f2841) .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.4px !important;
    color: #28708a !important;
  }
  .elementor-106 :is(.elementor-element-91c9f06, .elementor-element-24f2841) > .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  /* Pale branded CTA backgrounds need navy text; retain a navy hover state. */
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) .elementor-button,
  .woocommerce ul.products li.product :is(.button, .added_to_cart),
  .single-product form.cart .single_add_to_cart_button,
  .woocommerce-cart .checkout-button,
  .woocommerce-checkout #place_order,
  .woocommerce-notices-wrapper a.wc-forward {
    color: #054766 !important;
  }
  :is(.elementor-13, .elementor-106, .elementor-159, .elementor-150, .elementor-715) .elementor-button:is(:hover, :focus-visible),
  .woocommerce ul.products li.product :is(.button, .added_to_cart):is(:hover, :focus-visible),
  .single-product form.cart .single_add_to_cart_button:is(:hover, :focus-visible),
  .woocommerce-cart .checkout-button:is(:hover, :focus-visible),
  .woocommerce-checkout #place_order:is(:hover, :focus-visible),
  .woocommerce-notices-wrapper a.wc-forward:is(:hover, :focus-visible) {
    background-color: #054766 !important;
    color: #fff !important;
  }

  /* FAQ: remove padding only from the actual accordion row / column ancestors. */
  .elementor-150 .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-accordion) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }
  .elementor-150 .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-accordion) > .elementor-container {
    gap: 0 !important;
    row-gap: 8px !important;
  }
  .elementor-150 .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-accordion) {
    margin: 0 !important;
    padding: 0 !important;
    --e-column-margin-left: 0px;
    --e-column-margin-right: 0px;
  }
  .elementor-150 .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-accordion) > .elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    row-gap: 8px !important;
  }
  .elementor-150 .elementor-widget-accordion,
  .elementor-150 .elementor-widget-accordion > .elementor-widget-container,
  .elementor-150 .elementor-accordion-item {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .elementor-150 .elementor-accordion .elementor-tab-title {
    padding: 16px 0 !important;
    border-bottom: 1px solid #d9e4e8 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #054766 !important;
  }
  .elementor-150 .elementor-accordion .elementor-tab-content {
    padding: 12px 0 20px !important;
    border: 0 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #054766 !important;
  }

  /* Catalog / related cards: stretch each card and pin its CTA to the bottom. */
  .woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column;
    align-self: stretch;
  }
  .woocommerce ul.products li.product > .product-inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 100%;
  }
  .woocommerce ul.products li.product ul.woo-entry-inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    margin-bottom: 0 !important;
  }
  .woocommerce ul.products li.product ul.woo-entry-inner > li {
    float: none;
    width: 100%;
  }
  .woocommerce ul.products li.product li.category,
  .woocommerce ul.products li.product li.category a {
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #5d6c73 !important;
  }
  .woocommerce ul.products li.product li.category { min-height: 2.7em; }
  .woocommerce ul.products li.product li.title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 4.05em;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  .woocommerce ul.products li.product li.btn-wrap {
    margin-top: auto !important;
    padding-top: 12px;
  }
  .woocommerce ul.products li.product > .woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
  }
  .woocommerce ul.products li.product > :is(.button, .added_to_cart) { margin-top: auto !important; }
  /* Image display / visibility is intentionally left to the existing gallery. */
}

/* Booking instructions use normal flow on every screen. */
.baw-mobile-account,.baw-shop-jump { display:none; }
.baw-booking-help { margin:0 0 16px; color:#054766; line-height:1.5; }
.baw-booking-help strong { display:block; font-size:18px; margin-bottom:4px; }
.baw-booking-help p { margin:0; font-size:16px; }
.baw-date-summary:not(:empty),.baw-checkout-help,.baw-delivery-help,.baw-confirmation-help { padding:12px; margin:12px 0 20px; background:#f1f7f9; border-left:3px solid #054766; color:#054766; font-size:16px; line-height:1.5; }
.baw-booking-incomplete .wc-bookings-booking-cost { display:none!important; }
@media(max-width:1024px) {
 .baw-mobile-account { display:block; }
 .baw-shop-jump { display:flex; gap:10px; padding:16px 20px; background:#f4f8fa; }
 .baw-shop-jump a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; color:#054766; border:1px solid #054766; border-radius:4px; font-size:14px; font-weight:600; line-height:1.35; text-align:center; }
 .baw-shop-jump a:first-child { flex:1; background:#054766; color:white; }
 #baw-all-rentals { scroll-margin-top:20px; }
 .single-product .woocommerce-product-gallery .zoomImg { display:none!important; }
 .single-product .summary .price,.single-product .elementor-widget-woocommerce-product-price .price { font-size:22px!important; letter-spacing:0!important; }
 .single-product .upsells .button { background:#b5d6e5!important; color:#054766!important; border:0!important; }
 .single-product :is(.related,.upsells) > h2 { font-family:inherit; font-size:22px; line-height:1.3; }
 .single-product .woocommerce-tabs h2 { font-size:24px; line-height:1.3; color:#28708a; }
 .woocommerce-cart .product-thumbnail img { width:90px!important; max-width:90px; height:90px!important; object-fit:contain; }
 .woocommerce-checkout .woocommerce-info { font-size:14px; line-height:1.5; }
 .woocommerce-checkout #payment label { display:inline-block; min-height:44px; padding:10px 0; }
 .woocommerce-checkout #payment input[type=checkbox] { width:20px; height:20px; }
}
@media(max-width:1024px) {
 body:has(.elementor-location-header.elementor-16) #top-bar-wrap { display:none; }
 .single-product .owp-floating-bar { display:none!important; }
 .woocommerce-account .woocommerce-MyAccount-navigation a { min-height:44px; font-size:16px; line-height:1.5; }
 .woocommerce-account .woocommerce-MyAccount-content { width:100%; font-size:16px; line-height:1.6; }
 .woocommerce-account .woocommerce-MyAccount-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,button) { min-height:48px; max-width:100%; font-size:16px; }
}
@media(max-width:1024px) {
 .elementor-element.elementor-invisible { visibility:visible!important; }
 .elementor-element.animated { animation:none!important; }
 .single-product #wc-bookings-booking-form,.single-product .wc-bookings-date-picker { padding:0!important; }
 .single-product #wc-bookings-booking-form { border:0; }
 .single-product .elementor-widget-woocommerce-product-short-description { font-size:16px; line-height:1.6; }
 .woocommerce .widget_product_categories a { display:inline-block; min-height:44px; font-size:16px; line-height:1.5; padding:10px 0; }
}
@media(min-width:768px) and (max-width:1024px) {
 .elementor-387 .elementor-top-section > .elementor-container { flex-wrap:wrap; }
 .elementor-387 .elementor-top-section > .elementor-container > .elementor-column { width:100%!important; }
 .elementor-387 .elementor-widget-woocommerce-product-images { max-width:400px; margin:0 auto; }
}
@media(max-width:1024px) {
 .elementor-16 .elementor-element-69dce109 .elementor-nav-menu--main { display:none!important; }
 .single-product #wc-bookings-booking-form .ui-datepicker { max-width:100%!important; margin-left:auto; margin-right:auto; }
}
@media(max-width:1024px) {
 .elementor-16 .elementor-element-69dce109 .elementor-nav-menu--dropdown[aria-hidden="true"] { display:none!important; }
 .elementor-16 .elementor-element-69dce109 .elementor-nav-menu--dropdown[aria-hidden="false"] { display:block!important; max-height:none!important; transform:scaleY(1)!important; }
}
@media(max-width:1024px) {
 .elementor-16 .elementor-element.elementor-element-7200c9b6 { order:1; }
 .elementor-16 .elementor-element.elementor-element-6d4b7e8 { order:2; }
 .elementor-16 .elementor-element.elementor-element-0e41be8 { order:3; }
 .elementor-16 .elementor-element-6d4b7e8 .elementor-widget-container { text-align:center!important; }
 .elementor-16 .elementor-element-8d5f39a { text-align:center!important; }
}
.elementor-16 .elementor-nav-menu li.baw-mobile-account { display:none!important; }
@media(max-width:1024px) {
 .elementor-16 .elementor-nav-menu li.baw-mobile-account { display:block!important; }
}
@media(max-width:1024px) {
 :is(.page-id-28163,.page-id-28162,.page-id-4888) .single-page-article .entry :is(p,li) { font-size:16px; line-height:1.6; }
 .single-product .woocommerce-Tabs-panel :is(p,li) { font-size:16px; line-height:1.6; }
}
@media(max-width:1024px) {
 .woocommerce-checkout #order_review .shop_table thead th { font-size:14px!important; letter-spacing:0; white-space:nowrap; }
}
@media(max-width:1024px) {
 .woocommerce-account .woocommerce-MyAccount-content table.my_account_bookings { display:block; width:100%; border:0; }
 .woocommerce-account table.my_account_bookings thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 .woocommerce-account table.my_account_bookings tbody { display:block; }
 .woocommerce-account table.my_account_bookings tbody tr { display:block; margin-bottom:16px; padding:8px 12px; border:1px solid #d9e4e8; }
 .woocommerce-account .woocommerce-MyAccount-content table.my_account_bookings tbody td { display:flex!important; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:12px 0; box-sizing:border-box; border-bottom:1px solid #e7edef; text-align:right; font-size:16px; line-height:1.5; }
 .woocommerce-account table.my_account_bookings td[data-title]:not([data-title=""])::before { content:attr(data-title); flex:0 0 30%; font-weight:600; text-align:left; color:#054766; }
 .woocommerce-account table.my_account_bookings td a br { display:none; }
 .woocommerce-account .woocommerce-MyAccount-content table.my_account_bookings td.booking-cancel:not(:has(a,button)) { display:none!important; }
 .woocommerce-account table.my_account_bookings .booking-status { font-weight:600; color:#054766; }
 .woocommerce-account table.my_account_bookings .booking-cancel a { min-height:44px; padding:10px 16px; }
}
