style-child-theme-woocommerce.scss 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. /**
  2. * WooCommerce Styles
  3. * - These styles should only be loaded when WooCommerce is active
  4. */
  5. /**
  6. * Abstracts
  7. * - Functions and config
  8. */
  9. @import "../../varia/sass/abstracts/functions";
  10. @import "../../varia/sass/abstracts/config-global";
  11. /**
  12. * Child Theme Name Config
  13. */
  14. @import "config-child-theme-deep";
  15. /**
  16. * WooCommerce Config
  17. */
  18. @import "config-child-theme-woocommerce";
  19. /**
  20. * Varia Mixins
  21. */
  22. @import "../../varia/sass/abstracts/mixins";
  23. /**
  24. * Varia Responsive Logic
  25. */
  26. @import "../../varia/sass/abstracts/responsive-logic";
  27. /**
  28. * Varia Extends
  29. */
  30. @import "../../varia/sass/base/extends";
  31. /**
  32. * WooCommerce Styles
  33. */
  34. @import "../../varia/sass/vendors/woocommerce/style";
  35. /**
  36. * Remove grid-products flexbox layout
  37. */
  38. @include media(mobile) {
  39. body[class*="woocommerce"] #page .widget.woocommerce ul.product_list_widget:not(.woocommerce-mini-cart) {
  40. display: inherit;
  41. & > li {
  42. width: inherit;
  43. &:nth-child(3n+2):last-child {
  44. margin-left: inherit;
  45. margin-right: inherit;
  46. }
  47. }
  48. }
  49. }
  50. body[class*="woocommerce"] #page {
  51. .main-navigation #toggle-cart .svg-icon {
  52. vertical-align: middle;
  53. height: 24px;
  54. width: 24px;
  55. }
  56. // Toggle Menu
  57. #site-navigation #woocommerce-toggle:focus + #toggle-cart,
  58. #toggle-cart {
  59. text-decoration: none;
  60. }
  61. #site-navigation #toggle-cart {
  62. align-items: center;
  63. display: flex;
  64. padding: #{0.5 * map-deep-get($config-global, "spacing", "unit")} #{map-deep-get($config-global, "spacing", "unit")};
  65. @include media(mobile) {
  66. display: none;
  67. }
  68. }
  69. // Clean up mini-cart styles for mobile
  70. @include media(mobile-only) {
  71. #masthead {
  72. position: relative;
  73. display: block;
  74. }
  75. #site-navigation {
  76. #toggle-menu,
  77. #toggle-cart {
  78. float: left;
  79. }
  80. #toggle-cart {
  81. margin-left: #{map-deep-get($config-global, "spacing", "unit")};
  82. }
  83. & > div {
  84. left: #{map-deep-get($config-global, "spacing", "unit")};
  85. right: #{map-deep-get($config-global, "spacing", "unit")};
  86. top: 100%;
  87. width: calc(100vw - #{2 * map-deep-get($config-global, "spacing", "unit")});
  88. }
  89. .woocommerce-cart-widget {
  90. padding: #{0.5 * map-deep-get($config-global, "spacing", "unit")};
  91. }
  92. }
  93. }
  94. // Clean up mini-cart styles for desktop
  95. @include media(mobile) {
  96. .main-navigation {
  97. text-align: right;
  98. ul {
  99. justify-content: flex-end;
  100. }
  101. & > div:not(:last-of-type) {
  102. margin-right: 0;
  103. }
  104. & > div:last-of-type {
  105. margin-left: (2 * map-deep-get($config-global, "spacing", "horizontal"));
  106. }
  107. }
  108. }
  109. }
  110. /* Add outlines to WC buttons */
  111. body[class*="woocommerce"] #page #respond input#submit,
  112. body[class*="woocommerce"] #page #respond input#submit.alt,
  113. body[class*="woocommerce"] #page a.button,
  114. body[class*="woocommerce"] #page a.button.alt,
  115. body[class*="woocommerce"] #page button.button,
  116. body[class*="woocommerce"] #page button.button.alt,
  117. body[class*="woocommerce"] #page input.button,
  118. body[class*="woocommerce"] #page input.button.alt,
  119. body[class*="woocommerce"] #page .cart .button,
  120. body[class*="woocommerce"] #page .cart input.button,
  121. body[class*="woocommerce"] #page a.added_to_cart,
  122. body[class*="woocommerce"] #page .woocommerce #respond input#submit,
  123. body[class*="woocommerce"] #page .woocommerce a.button,
  124. body[class*="woocommerce"] #page .woocommerce button.button,
  125. body[class*="woocommerce"] #page .woocommerce input.button,
  126. body[class*="woocommerce"] #page .woocommerce .widget_shopping_cart .buttons a,
  127. body[class*="woocommerce"] #page .woocommerce.widget_shopping_cart .buttons a {
  128. outline: 2px solid;
  129. outline-offset: -5px;
  130. }
  131. /* Remove weird square artifact in WC buttons */
  132. body[class*="woocommerce"] #page #respond input#submit:before,
  133. body[class*="woocommerce"] #page #respond input#submit.alt:before,
  134. body[class*="woocommerce"] #page a.button:before,
  135. body[class*="woocommerce"] #page a.button.alt:before,
  136. body[class*="woocommerce"] #page button.button:before,
  137. body[class*="woocommerce"] #page button.button.alt:before,
  138. body[class*="woocommerce"] #page input.button:before,
  139. body[class*="woocommerce"] #page input.button.alt:before,
  140. body[class*="woocommerce"] #page .cart .button:before,
  141. body[class*="woocommerce"] #page a.added_to_cart:before,
  142. body[class*="woocommerce"] #page .woocommerce #respond input#submit:before,
  143. body[class*="woocommerce"] #page .woocommerce a.button:before,
  144. body[class*="woocommerce"] #page .woocommerce button.button:before,
  145. body[class*="woocommerce"] #page .woocommerce input.button:before,
  146. body[class*="woocommerce"] #page .woocommerce .widget_shopping_cart .buttons a:before,
  147. body[class*="woocommerce"] #page .woocommerce.widget_shopping_cart .buttons a:before {
  148. display: none;
  149. }