/* =========================================================
   Tick Away v1.6.2 mobile product final fix
   Fixes: product gallery height gap and variable product form layout.
   Loaded last on purpose.
   ========================================================= */

@media (max-width: 782px) {
  body.single-product main.site-main,
  body.single-product .site-main,
  body.single-product .content-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px 12px 72px !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce,
  body.single-product .woocommerce div.product,
  body.single-product div.product,
  body.single-product .product {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.single-product div.product::before,
  body.single-product div.product::after {
    display: none !important;
    content: none !important;
  }

  /* Product gallery: no artificial square/height on mobile */
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product div.images {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 6px !important;
    padding: 10px !important;
    display: block !important;
    align-self: stretch !important;
    background: #f3f8fc !important;
    border: 1px solid #dfeaf1 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 26px rgba(6, 43, 73, 0.055) !important;
    overflow: hidden !important;
    line-height: 0 !important;
  }

  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image a,
  body.single-product div.product div.images figure,
  body.single-product div.product div.images .flex-viewport {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    line-height: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.single-product div.product div.images img,
  body.single-product div.product .woocommerce-product-gallery img,
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product img.wp-post-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 320px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    line-height: 0 !important;
  }

  body.single-product .woocommerce-product-gallery__trigger {
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    z-index: 6 !important;
  }

  body.single-product div.product .summary,
  body.single-product div.product div.summary,
  body.single-product .woocommerce div.product div.summary {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
  }

  body.single-product div.product .product_title {
    margin: 0 0 8px !important;
    font-size: 29px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
  }

  body.single-product div.product p.price,
  body.single-product div.product span.price {
    margin: 0 0 12px !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
  }

  body.single-product .woocommerce-product-details__short-description,
  body.single-product .summary .ta-in-box,
  body.single-product .summary .ta-product-compact-proof {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }

  /* Variable products: make variation selector usable */
  body.single-product div.product form.cart,
  body.single-product div.product form.cart.variations_form {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 14px 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-product form.cart table.variations,
  body.single-product form.cart table.variations tbody,
  body.single-product form.cart table.variations tr,
  body.single-product form.cart table.variations th,
  body.single-product form.cart table.variations td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  body.single-product form.cart table.variations {
    margin: 0 0 12px !important;
  }

  body.single-product form.cart table.variations tr {
    margin-bottom: 12px !important;
  }

  body.single-product form.cart table.variations th.label,
  body.single-product form.cart table.variations td.label {
    margin-bottom: 6px !important;
  }

  body.single-product form.cart table.variations label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #062b49 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  body.single-product form.cart table.variations select,
  body.single-product form.cart table.variations .value select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    display: block !important;
    padding: 0 14px !important;
    color: #062b49 !important;
    background: #ffffff !important;
    border: 1px solid #d9e5ec !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  body.single-product form.cart table.variations .reset_variations {
    display: inline-flex !important;
    margin-top: 8px !important;
    color: #008c45 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body.single-product .single_variation_wrap,
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product .woocommerce-variation-add-to-cart-enabled,
  body.single-product .woocommerce-variation-add-to-cart-disabled {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.single-product div.product form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
  }

  body.single-product div.product form.cart div.quantity,
  body.single-product div.product form.cart .quantity {
    width: 70px !important;
    margin: 0 !important;
    float: none !important;
  }

  body.single-product div.product form.cart input.qty {
    width: 70px !important;
    min-width: 70px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 6px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
  }

  body.single-product div.product form.cart .single_add_to_cart_button,
  body.single-product div.product form.cart button.single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  body.single-product .woocommerce-variation-description,
  body.single-product .woocommerce-variation-price,
  body.single-product .woocommerce-variation-availability {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.single-product .ta-leverbeloften-product,
  body.single-product .ta-product-compact-proof,
  body.single-product .product_meta {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.single-product .woocommerce-tabs {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
  }

  body.single-product .ta-product-trust-after-description,
  body.single-product .ta-trust-row-v3 {
    order: 4 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
  }

  body.single-product .related.products,
  body.single-product .upsells.products {
    order: 5 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 0 !important;
  }

  /* Sticky add to cart must stay off because mobile cart bar sits at bottom */
  body.single-product .ta-sticky-add-to-cart,
  body.single-product .sticky-add-to-cart,
  body.single-product .single-product-sticky-cart,
  body.single-product .ta-mobile-sticky-atc {
    display: none !important;
  }
}

@media (max-width: 420px) {
  body.single-product div.product div.images img,
  body.single-product div.product .woocommerce-product-gallery img,
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product img.wp-post-image {
    max-height: 260px !important;
  }

  body.single-product div.product .product_title {
    font-size: 27px !important;
  }
}

/* =========================================================
   Tick Away v1.6.2 hard mobile gallery and variation reset
   This deliberately sits at the very end of the last stylesheet.
   ========================================================= */
@media (max-width: 782px) {
  body.single-product div.product div.images,
  body.single-product div.product div.images.woocommerce-product-gallery,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery.woocommerce-product-gallery--with-images {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #f3f8fc !important;
    border: 1px solid #dfeaf1 !important;
    border-radius: 18px !important;
  }

  body.single-product div.product div.images .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    display: block !important;
    overflow: hidden !important;
  }

  body.single-product div.product div.images .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  body.single-product div.product div.images .woocommerce-product-gallery__image:not(:first-child),
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child) {
    display: none !important;
  }

  body.single-product div.product div.images .woocommerce-product-gallery__image a,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  body.single-product div.product div.images img,
  body.single-product div.product div.images .woocommerce-product-gallery__image img,
  body.single-product .woocommerce-product-gallery img,
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product img.wp-post-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 290px !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 14px !important;
  }

  body.single-product div.product div.images .flex-control-nav,
  body.single-product .woocommerce-product-gallery .flex-control-nav {
    display: none !important;
  }

  /* Variation selector: full-width, readable and not inside a broken mini grid */
  body.single-product div.product form.cart.variations_form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 14px !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1px solid #dfeaf1 !important;
    border-radius: 16px !important;
    overflow: visible !important;
  }

  body.single-product div.product form.cart.variations_form table.variations,
  body.single-product div.product form.cart.variations_form table.variations tbody,
  body.single-product div.product form.cart.variations_form table.variations tr,
  body.single-product div.product form.cart.variations_form table.variations th,
  body.single-product div.product form.cart.variations_form table.variations td,
  body.single-product div.product form.cart.variations_form table.variations td.value {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  body.single-product div.product form.cart.variations_form table.variations {
    margin: 0 0 12px !important;
  }

  body.single-product div.product form.cart.variations_form table.variations tr {
    margin: 0 0 12px !important;
  }

  body.single-product div.product form.cart.variations_form table.variations th.label,
  body.single-product div.product form.cart.variations_form table.variations td.label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
  }

  body.single-product div.product form.cart.variations_form table.variations label {
    display: block !important;
    margin: 0 !important;
    color: #062b49 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  body.single-product div.product form.cart.variations_form table.variations select,
  body.single-product div.product form.cart.variations_form table.variations td.value select,
  body.single-product div.product form.cart.variations_form .value select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    color: #062b49 !important;
    background: #ffffff !important;
    border: 1px solid #d9e5ec !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  body.single-product div.product form.cart.variations_form .reset_variations {
    display: inline-flex !important;
    margin: 9px 0 0 !important;
    color: #008c45 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body.single-product div.product form.cart.variations_form .single_variation_wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product div.product form.cart.variations_form .woocommerce-variation {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart,
  body.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart-enabled,
  body.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart-disabled {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.single-product div.product form.cart.variations_form .quantity {
    grid-column: 1 !important;
    width: 70px !important;
    margin: 0 !important;
  }

  body.single-product div.product form.cart.variations_form .quantity input.qty {
    width: 70px !important;
    min-width: 70px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  body.single-product div.product form.cart.variations_form button.single_add_to_cart_button {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }
}

@media (max-width: 420px) {
  body.single-product div.product div.images img,
  body.single-product div.product div.images .woocommerce-product-gallery__image img,
  body.single-product .woocommerce-product-gallery img,
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product img.wp-post-image {
    max-height: 250px !important;
  }
}
