/**
 * Graffstyle Mobile Responsive
 * Conservative responsive safeguards for PrestaShop 8/9 themes.
 */

html.gsmobile-enabled,
html.gsmobile-enabled body {
  max-width: 100%;
}

html.gsmobile-enabled *,
html.gsmobile-enabled *::before,
html.gsmobile-enabled *::after {
  box-sizing: border-box;
}

html.gsmobile-enabled .gsmobile-table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

html.gsmobile-enabled .gsmobile-table-scroll > table {
  margin-bottom: 0;
}

html.gsmobile-enabled .gsmobile-overflow-safe,
html.gsmobile-enabled .row > *,
html.gsmobile-enabled [class*="col-"] {
  min-width: 0;
}

html.gsmobile-enabled pre,
html.gsmobile-enabled code,
html.gsmobile-enabled .table-responsive {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Mobile rules are activated by the configurable .gsmobile-active class. */

  html.gsmobile-enabled.gsmobile-active body {
    min-width: 0 !important;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-hide-overflow,
  html.gsmobile-enabled.gsmobile-active.gsmobile-hide-overflow body {
    overflow-x: hidden !important;
  }

  html.gsmobile-enabled.gsmobile-active .container,
  html.gsmobile-enabled.gsmobile-active .container-fluid,
  html.gsmobile-enabled.gsmobile-active #wrapper > .container,
  html.gsmobile-enabled.gsmobile-active #content-wrapper,
  html.gsmobile-enabled.gsmobile-active main,
  html.gsmobile-enabled.gsmobile-active .page-wrapper {
    width: 100%;
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active .container,
  html.gsmobile-enabled.gsmobile-active #wrapper > .container {
    padding-right: var(--gsmobile-gutter, 15px);
    padding-left: var(--gsmobile-gutter, 15px);
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media img,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media picture,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media svg,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media video,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media canvas,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media iframe,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media object,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media embed {
    max-width: 100% !important;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media img,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media video,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-media canvas {
    height: auto;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms select,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms textarea,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-control,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .input-group {
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms select,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms textarea,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-control {
    font-size: 16px;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-group,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-row,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-group > div,
  html.gsmobile-enabled.gsmobile-active.gsmobile-responsive-forms .form-row > div {
    min-width: 0;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets button:not(.close):not(.slick-arrow),
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets .btn:not(.btn-sm),
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets input[type="submit"],
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets input[type="button"],
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets .input-group-btn > .btn {
    min-height: 44px;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets .nav-link,
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets .dropdown-item,
  html.gsmobile-enabled.gsmobile-active.gsmobile-touch-targets #mobile_top_menu_wrapper a {
    min-height: 42px;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns #left-column,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns #right-column,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .left-column,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .right-column,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .product-information,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .product-cover,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .cart-grid-body,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .cart-grid-right,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .checkout-step,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .js-cart,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .js-checkout-process-step {
    width: 100%;
    max-width: 100%;
    float: none;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns #main .row,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .product-container,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .cart-grid,
  html.gsmobile-enabled.gsmobile-active.gsmobile-stack-columns .checkout-step .content {
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid #products .products,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .featured-products .products,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-accessories .products,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature-list-row,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .products.row {
    display: grid !important;
    grid-template-columns: repeat(var(--gsmobile-product-columns, 2), minmax(0, 1fr));
    gap: 12px;
    margin-right: 0;
    margin-left: 0;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid #products .products > *,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .featured-products .products > *,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-accessories .products > *,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature-list-row > *,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .products.row > .product-miniature,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .products.row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
    flex: none;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature .thumbnail-container,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature .product-description,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature .product-thumbnail,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature img {
    width: 100%;
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature .product-title,
  html.gsmobile-enabled.gsmobile-active.gsmobile-catalog-grid .product-miniature .product-price-and-shipping {
    overflow-wrap: anywhere;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header .header-nav,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header .header-top,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header .container,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header .row,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #mobile_top_menu_wrapper {
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header .logo,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #header img.logo,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #_desktop_logo img,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #_mobile_logo img {
    max-width: min(100%, 220px) !important;
    height: auto !important;
  }

  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #search_widget,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header .search-widget,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header #search_widget form,
  html.gsmobile-enabled.gsmobile-active.gsmobile-compact-header .search-widget form {
    width: 100%;
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active .product-cover,
  html.gsmobile-enabled.gsmobile-active .product-cover img,
  html.gsmobile-enabled.gsmobile-active .product-images,
  html.gsmobile-enabled.gsmobile-active .product-actions,
  html.gsmobile-enabled.gsmobile-active .product-variants,
  html.gsmobile-enabled.gsmobile-active .product-add-to-cart,
  html.gsmobile-enabled.gsmobile-active .tabs,
  html.gsmobile-enabled.gsmobile-active .tab-content,
  html.gsmobile-enabled.gsmobile-active .modal-dialog,
  html.gsmobile-enabled.gsmobile-active .modal-content,
  html.gsmobile-enabled.gsmobile-active .cart-overview,
  html.gsmobile-enabled.gsmobile-active .cart-summary,
  html.gsmobile-enabled.gsmobile-active #checkout-personal-information-step,
  html.gsmobile-enabled.gsmobile-active #checkout-addresses-step,
  html.gsmobile-enabled.gsmobile-active #checkout-delivery-step,
  html.gsmobile-enabled.gsmobile-active #checkout-payment-step {
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active .modal-dialog {
    margin-right: var(--gsmobile-gutter, 15px);
    margin-left: var(--gsmobile-gutter, 15px);
  }

  html.gsmobile-enabled.gsmobile-active .breadcrumb,
  html.gsmobile-enabled.gsmobile-active .pagination,
  html.gsmobile-enabled.gsmobile-active .tabs .nav-tabs,
  html.gsmobile-enabled.gsmobile-active .product-variants-item,
  html.gsmobile-enabled.gsmobile-active .social-sharing,
  html.gsmobile-enabled.gsmobile-active .block-category,
  html.gsmobile-enabled.gsmobile-active .block-categories {
    max-width: 100%;
  }

  html.gsmobile-enabled.gsmobile-active .breadcrumb,
  html.gsmobile-enabled.gsmobile-active .tabs .nav-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
