/* NOTE: Still not sure about the correct order for inline_journal CSS layer */

@layer theme {

   @font-face {
      font-family: 'Ysabeau Office';
      src: url('../c_fonts/ysabeau/YsabeauOffice-Regular.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
   }

   @font-face {
      font-family: 'Ysabeau Office Medium';
      src: url('../c_fonts/ysabeau/YsabeauOffice-Medium.ttf') format('truetype');
      font-weight: 500;
      font-style: normal;
   }

   @font-face {
      font-family: 'Ysabeau Office Bold';
      src: url('../c_fonts/ysabeau/YsabeauOffice-Bold.ttf') format('truetype');
      font-weight: bold;
      font-style: normal;
   }

   @font-face {
      font-family: 'Ysabeau Office Light';
      src: url('../c_fonts/ysabeau/YsabeauOffice-Light.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
   }

   :root {
      --color-primary: #222222;
      --color-primary-hover: #000;
      --color-secondary: #ffffff;
      --color-secondary-hover: #ffffff;
      --color-text: #777777;
      --color-success: #388e3c;
      --color-danger: #ff6161;
      --color-info: #31e3c5;
      --color-border: #e2e2e2;
      --color-light-gray: #fafafa;
      --color-dark-gray: #ffffff;
      --color-gray-primary: #ffffff;
      --font-size-page-title: 46px;
      --font-size-module-title: 38px;
      --font-size-text: 16px;
      --font-size-text-small: 15px;
      --font-size-dropdown: 14px;
      --font-size-tab: 22px;
      --font-size-big-heading: 60px;
      --border-radius-default: 0px;
      --border-radius-button: 0px;
      --gap-row: 100px;
      --gap-page-title: 40px;
      --gap-module-title: 30px;
      --gap-side-with-content: 30px;
      --gap-module-padding: 30px;
      --gap-item-spacing: 20px;
      --gap-row-padding: 80px;
      --breakpoint-content-width: 1366px;
      --box-shadow-small: 0.3px 0.5px 0.7px hsl(0deg 0% 0% / 0.1),
         0.4px 0.8px 1px -1.2px hsl(0deg 0% 0% / 0.1),
         1px 2px 2.5px -2.5px hsl(0deg 0% 0% / 0.1);
      --box-shadow-medium: 0 1.3px 1.4px rgba(0, 0, 0, 0.006),
         0 3.1px 3.5px rgba(0, 0, 0, 0.008),
         0 5.8px 6.5px rgba(0, 0, 0, 0.01),
         0 10.3px 11.6px rgba(0, 0, 0, 0.012),
         0 19.2px 21.7px rgba(0, 0, 0, 0.014),
         0 46px 52px rgba(0, 0, 0, 0.02);
      --box-shadow-large: 0.7px 0.8px 1.2px rgba(0, 0, 0, .07),
         2.1px 2.5px 3.8px -0.8px rgba(0, 0, 0, .08),
         5px 5.9px 8.9px -1.5px rgba(0, 0, 0, .08),
         11.8px 14.1px 21.2px -2.3px rgba(0, 0, 0, .08);
      --box-shadow-elevated: 0px 0.2px 0.2px rgba(0, 0, 0, .15),
         0px 0.3px 0.2px -0.5px rgba(0, 0, 0, .14),
         -0.1px 0.6px 0.5px -1px rgba(0, 0, 0, .12),
         -0.1px 1.2px 1px -1.5px rgba(0, 0, 0, .11),
         -0.2px 2.2px 1.8px -2px rgba(0, 0, 0, .1),
         -0.3px 3.8px 3.1px -2.5px rgba(0, 0, 0, .08),
         -0.5px 6.1px 5px -3px rgba(0, 0, 0, .07),
         -0.8px 9.4px 7.7px -3.5px rgba(0, 0, 0, .06),
         -1.1px 13.7px 11.2px -4px rgba(0, 0, 0, .04),
         -1.6px 19.2px 15.8px -4.5px rgba(0, 0, 0, .03);

      --action-buttons-size: 32px;

      --z-index-product-card-actions: 1;
      --z-index-search: 9999;

      --search-popup-height: 238px;

      --font-light: 'Ysabeau Office Light', sans-serif;
      --font-regular: 'Ysabeau Office', sans-serif;
      --font-bold: 'Ysabeau Office Bold', sans-serif;
      --font-medium: 'Ysabeau Office Medium', sans-serif;
   }

   body,
   .cart-label {
      font-family: var(--font-regular);
   }

   /* SOF General */
   .stepper-group:has(#paypal_button) { display: grid; grid-template-columns: rpeeat(4, 1fr);}
   .stepper-group:has(#paypal_button) #button-cart { grid-column: span 3 }
   .stepper-group:has(#paypal_button) #paypal_button { grid-column: span 4; } 
   .button-group-page,
   .product-options{ max-width: 460px; }

   #notify_btn { background-color: #222 !important; background-image: none; }

   #notify_btnn:hover { background-color: #222 !important; }

   html {
         overflow-x: hidden;
   }
   .form-group label,
   legend,
   table thead td,
   .td-price,
   .td-total,
   .cart-total td,
   button,
   input[type="submit"] {
      font-family: var(--font-medium);
   }

   .font-medium {
      font-family: var(--font-medium);
      font-weight: bold;
   }

   .font-bold {
      font-family: var(--font-bold);
      font-weight: bold;
   }

   .breadcrumb .fa-home,
   .breadcrumb li {
      line-height: 22px;
   }

   .c-icon-instagram::before {
      content: '\f16d' !important;
      font-family: icomoon !important;
      font-style: normal;
      font-size: 28px;
      margin-right: 10px;
   }

   table thead td {
      white-space: nowrap;
   }

   .no-account-link {
      display: block;
      text-align: center;
   }

   .title-no-divider .title::before,
   .title-no-divider .title::after {
      display: none !important;
   }

   .title-no-divider .title {
      margin: initial;
      width: auto;
   }

   .title-no-divider .module-title {
      display: block;
   }

   .form-group {
      margin-top: var(--input-group-spacing, 0px) !important;
   }

   .buttons input[name="agree"]+button {
      margin-top: 15px;
   }

   /* Hack for carousel bullets. By default they are hidden because of overflow:hidden in carousel */
   .swiper-pagination {
      bottom: 1px;
   }

   /* Module title separator */
   .module-title {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      width: fit-content;
      margin: 0 auto;
   }

   .module-title>span:first-child {
      line-height: 48px;
   }

   .module-title .subtitle {
      font-size: 18px;
      color: var(--color-text);
      text-transform: initial;
      margin-top: 8px;
   }

   .module-title::before {
      display: block !important;
      width: 500px;
      background-color: var(--color-border);
      height: 1px;
      content: "";
      position: absolute;
      left: calc(50% - 250px);
      z-index: -1;
      top: 24px;
   }

   .mobile-wrapper-header .x::before {
      display: none;
   }

   .mobile-wrapper-header .x {
      font-size: 16px;
      color: var(--color-primary);
   }
    
   .mega-menu-content .catalog-grid .catalog-title {
      text-transform: uppercase;
      line-height: 2;
   }

   /* EOF General */

   /* SOF Product Card */
   .product-layout .category {
      text-align: center;
      font-size: var(--font-size-text, 16px);
      color: var(--color-text, #777777);
      margin-bottom: 5px;
   }

   .product-layout .swiper-buttons .swiper-button-next {
      background-image: none;
   }

   .product-layout .side-actions {
      display: flex;
      flex-direction: column;
      transition: 0.3s all ease-in-out;
      transform: translateX(70px);
      opacity: 0;
      margin-top: 16px;
      position: absolute;
      right: 16px;
      z-index: var(--z-index-product-card-actions, 1);
   }

   .side-actions .btn-wishlist::before,
   .side-actions .btn-compare::before {
      font-size: 18px !important;
   }

   .side-actions .wish-group {
      margin-bottom: 10px;
   }

   .side-actions .quickview-button {
      transform: none;
      position: relative;
      padding: 5px;
      padding: 0px !important;
   }

   .side-actions .btn-quickview {
      min-height: 1px;
      background-color: #fff;
      border: none;
   }

   .side-actions .btn-quickview:hover {
      background-color: var(--color-primary, #222222);
   }

   .side-actions .btn-quickview:hover svg circle,
   .side-actions .btn-quickview:hover svg path {
      stroke: #fff;
   }

   .side-actions .quickview-button a {
      padding: 5px !important;
      width: var(--action-buttons-size, 32px);
      height: var(--action-buttons-size, 32px);
      border-radius: 50%;
   }

   .side-actions .quickview-button svg {
      width: 24px;
      height: auto;
   }

   .product-thumb:hover .side-actions {
      transform: translateX(0px);
      opacity: 1;
   }

   .product-thumb .product-labels-price {
      max-width: 100%;
      order: 1;
   }

   .product-thumb .price {
      height: 42px;
   }

   /* EOF Product Card */

   /* SOF Mobile Menu */
   .mobile-main-menu-container .mobile-main-menu-wrapper {
      height: 100%;
   }

   .mobile-main-menu-wrapper #custom-main-menu-mobile .language-currency.top-menu {
      position: absolute;
      bottom: 0;
   }

   #custom-main-menu-mobile {
      flex-direction: column;
      align-items: stretch;
      width: 100%;
   }

   #custom-main-menu-mobile .open-menu svg {
      transition: 0.4s;
   }

   #custom-main-menu-mobile .open-menu svg {
      transform: rotate(180deg);
      width: 28px;
      height: auto;
   }

   #custom-main-menu-mobile .open-menu.collapsed svg {
      transform: rotate(0deg);
   }

   html:is(.android, .iphone) .mobile-header .mobile-bar-group > .mobile-search-wrapper .search-trigger {
      visibility: hidden !important;
   }

   .mobile-header .mobile-bar-group .mobile-search-wrapper {
      margin-left: auto !important;
   }

   #custom-main-menu-mobile>.j-menu>li>a {
      font-family: 'Ysabeau Office Medium', sans-serif;
   }

   .custom-main-menu-title {
      position: relative;
      margin-bottom: 15px;
   }

   .custom-main-menu-title::after {
      content: "";
      height: 1px;
      background-color: var(--color-border, #e2e2e2);
      width: 100vw;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
   }

   .custom-main-menu-title p {
      font-size: var(--font-size-dropdown, 14px);
      color: var(--color-primary, #222222);
      text-transform: uppercase;
      font-family: 'Ysabeau Office Medium', sans-serif;
      padding: 12px 0px;
      width: fit-content;
      border-bottom: 2px solid var(--color-primary, #222);
   }

   #custom-main-menu-mobile .social-list {
      margin-top: 25px;
      display: flex;
      gap: 15px;
   }

   #custom-main-menu-mobile .social-list svg {
      width: 20px;
      height: auto;
   }

   #custom-main-menu-mobile .language .dropdown.drop-menu .dropdown-menu.j-dropdown {
      display: block;
   }

   #custom-main-menu-mobile .language .drop-menu .dropdown-menu .j-menu {
      flex-direction: row;
   }

   #custom-main-menu-mobile .language .dropdown.drop-menu .dropdown-menu.j-dropdown li {
      padding: 0;
      border-style: none;
   }

   #custom-main-menu-mobile .language .dropdown-toggle {
      display: none;
   }

   #custom-main-menu-mobile .language-currency.top-menu {
      height: 60px;
      margin-top: auto;
   }

   #custom-main-menu-mobile .language .language-select .language-flag {
      width: 24px;
      height: 24px;
      background-repeat: no-repeat;
      background-size: contain;
   }

   #custom-main-menu-mobile .language .language-select .language-title-dropdown {
      font-size: var(--font-size-dropdown);
   }

   #custom-main-menu-mobile .mobile-language-wrapper .dropdown-menu li:first-child .language-select {
      padding-left: 0;
   }

   .mobile-logo img {
      max-width: 110px;
   }

   .mobile-header .mobile-bar-group {
      margin-inline-start: 0;
      width: 100%;
      justify-content: space-between;
   }

   html:not(.android, .iphone) .mobile-main-menu-container .main-menu-item .c-catalog-mega-menu .grid-cols {
      flex-direction: column !important;
   }

   html:not(.android, .iphone) .mobile-main-menu-container .main-menu-item .c-catalog-mega-menu .grid-cols > .c-mega-menu-image {
      display: none;
   }

   html:not(.android, .iphone) .mobile-main-menu-container {
      height: 800px;
   }

   /* EOF Mobile Menu */

   /* SOF Search */
   #product-search .search-criteria-title,
   #product-search .search-form,
   #product-search .search-form + .buttons {
      display: none;
   }
   
   /* ΕOF Search */

   /* SOF Homepage banners */
   .c-homepage-banners-grid .slide-content {
      overflow: visible;
   }

   .c-homepage-banners-grid .slide-content-image img {
      transition: 0.3s ease all;
   }

   .c-homepage-banners-grid .slide-content-image:hover img {
      transform: scale(0.9);
      opacity: 0.76;
   }

   .c-homepage-banners-grid .slide-text-layer {
      font-family: 'Ysabeau Office Medium', sans-serif;
      font-weight: 600;
      position: relative;
   }

   .c-homepage-banners-grid .banners-wrapper {
      row-gap: 60px;
   }


   /* EOF Homepage banners */

   /* SOF Header */

   .desktop-header-active .header-slim .mid-bar>div {
      flex: 1;
   }

   .desktop-header-active #main-menu-2>.j-menu>li>a>span::before {
      content: "";
      position: absolute;
      bottom: 10px;
      width: 0%;
      transition: width 0.3s ease-out;
      height: 1px;
      border-bottom: 2px solid var(--color-primary);
      min-width: 0px;
      min-height: 0px;
   }

   .desktop-header-active #main-menu-2>.j-menu>li:hover>a>span::before {
      width: calc(100% - 16px);
   }

   .header-compact:not(.header-slim) .mid-bar .header-cart-group {
      margin-inline-start: 0;
   }

   .header-slim .header-left {
      gap: var(--gap-item-spacing);
   }

   .header-slim .header-left,
   .header-slim .stores {
      display: flex;
      align-items: center;
      font-size: 16px;
   }

   .desktop-header-active .custom-search {
      position: fixed;
      padding: 80px;
      min-height: var(--search-popup-height);
      background-color: #fff;
      left: 0;
      top: calc(-1 * var(--search-popup-height));
      z-index: var(--z-index-search);
      /* 2 */
      opacity: 0;
      visibility: hidden;
      transition: 0.4s all;
   }

   .custom-search .dropdown-menu {
      max-width: 600px;
      margin: 0 auto;
   }

   .custom-search-page-open .header-slim {
      z-index: 9999;
   }

   .custom-search-page-open .custom-search {
      top: 0;
      opacity: 1;
      visibility: visible;
   }

   .custom-search-page-open .mid-bar {
      z-index: 3;
   }

   .custom-search .header-search {
      width: 100%;
      height: 48px;
   }

   .custom-search .search-result img {
      min-width: 40px;
      min-height: 40px;
      max-width: 40px;
      max-height: 40px;
      margin-right: 10px;
   }

   .custom-search .search-result:hover {
      background-color: var(--color-light-gray);
   }

   .custom-search .search-result>a>span {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
   }

   .custom-search .search-result .price-old {
      order: 1;
   }

   .custom-search .search-result .price {
      font-family: var(--font-medium);
      font-weight: 600;
   }

   .custom-search .search-result .price-new {
      order: 2;
      font-family: var(--font-medium);
      font-weight: 600;
   }

   .custom-search .tt-menu {
      top: 40px !important;
   }

   .desktop-header-active .search-trigger {
      display: flex;
      align-items: center;
      cursor: pointer;
   }

   .custom-search .search-result>a>span>span:nth-child(2) {
      flex-direction: row;
      justify-content: end;
   }

   #cs--close-btn {
      position: absolute;
      top: 30px;
      right: 30px;
   }

   #cs--close-btn::after {
      display: none;
   }

   #logo img {
      max-width: 130px;
   }

   #cart .fa-shopping-cart {
      display: flex;
      flex-direction: row;
      width: auto;
   }

   #cart #cart-items {
      transform: translateY(-20px);
      left: 2px;
   }

   .cart-products .stepper {
      max-width: 100px;
      border: 2px solid var(--color-border);
      height: 40px;
   }

   .cart-products .stepper button {
      top: 0;
      height: 100%;
      background: transparent;
      border: none;
      min-width: 30px;
   }

   .cart-products .fa-angle-down::before {
      content: '\eb85' !important;
      font-family: icomoon !important;
      font-size: 20px;
   }

   .cart-products .stepper-group {
      margin-bottom: 5px;
   }

   .cart-products .fa-angle-up::before {
      content: '\eba0' !important;
      font-family: icomoon !important;
      font-size: 20px;
   }

   .cart-products .stepper input {
      font-size: 18px;
      color: var(--color-primary);
      min-height: 1px !important;
   }

   .cart-products .quantity-text {
      font-size: 16px;
   }

   /* EOF Header */

   /* SOF Footer */
   footer .module-newsletter .module-title {
      background-color: #f5f5f5 !important;
   }

   footer .newsletter-form .input-group-btn {
      width: 130px;
   }

   footer .module-newsletter .module-title {
      margin: 0 auto;
   }

   footer .newsletter-form .input-group-btn button {
      height: 45px;
   }

   footer .footer-support .links-text {
      display: flex;
      gap: 10px;
   }

   footer .footer-support .icon {
      background-color: #c6c6c6;
      border-radius: 50%;
      padding: 7px;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 46px;
      height: 46px;
   }

   footer .footer-support .number {
      font-size: 20px;
      color: var(--color-primary);
   }

   /* EOF Footer */

   /* SOF Contact Page */
   .route-information-contact .page-title {
      padding-bottom: 20px;
   }

   .route-information-contact .subtitle {
      margin-bottom: 50px;
      text-align: center;
   }

   .c--contact--info-box .info-block-title {
      font-family: var(--font-medium);
   }

   #information-contact form legend {
      font-size: var(--font-size-module-title);
      text-align: center;
   }

   /* EOF Contact Page */

   /* SOF Product Listings */
   .mobile-filter-trigger {
      position: relative;
      inset: auto;
   }

   #notifyform #opt_info h3 {
      color: var(--color-text);
      font-size: 20px;
   }

   #notifyform :is(#opt_info, #oosn_info_text) {
      color: var(--color-text) !important;
   }

   /* ΕOF Product Listings */

   /* SOF Cart / Checkout Pages */
   .cart-page .btn-remove {
      padding: 0px;
      background-color: transparent;
      border: none;
      min-height: 1px;
   }

   .cart-page tbody tr td {
      border-bottom: 1px solid var(--color-border);
   }

   .c-coupon-wrapper {
      display: flex;
      gap: 15px;
   }

   .c-coupon-wrapper input[type="text"] {
      max-width: 240px;
   }

   .route-checkout-checkout .page-title,
   .route-checkout-checkout .breadcrumbs {
      display: none;
   }

   .route-checkout-checkout .section-title {
      font-family: var(--font-medium);
   }

   .route-checkout-checkout .site-wrapper {
      margin-top: 50px;
   }

   .route-checkout-checkout .left {
      padding-right: 30px;
   }

   .route-checkout-checkout .right {
      border: 1px solid var(--color-primary);
      padding-top: 30px;
      padding-right: 30px;
   }

   .route-checkout-checkout .cart-section tfoot td {
      padding-top: 5px;
      padding-bottom: 5px;
      font-family: var(--font-medium);
   }

   .route-checkout-checkout .cart-section .td-product a {
      color: #777;
   }

   .route-checkout-checkout .section-payment {
      padding: 15px;
      border: 1px solid var(--color-border);
   }

   .route-checkout-checkout .section-payment .section-title {
      font-size: var(--font-size-text);
   }

   .route-checkout-checkout .section-shipping {
      display: flex;
      align-items: center;
   }

   .order-privacy-note {
      color: #777;
      line-height: 1.9;
   }

   .route-checkout-checkout .section-shipping .section-title {
      font-size: var(--font-size-text);
      margin-top: 15px;
      margin-right: 50px;
   }

   .route-checkout-checkout .section-shipping .section-body {
      flex: 1;
   }

   .route-checkout-checkout .cart-section .td-image img {
      max-width: 40px;
   }

   .route-checkout-checkout .cart-section .td-image {
      position: absolute;
   }

   .route-checkout-checkout .cart-section .td-product {
      display: block;
      text-wrap: wrap;
   }

   .route-checkout-checkout .cart-section :is(.td-name, .td-product, .td-price, .td-qty, .td-total) {
      margin-left: 100px !important;
   }

   .route-checkout-checkout .cart-section :is(.td-price, .td-qty, .td-total) {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }

   .route-checkout-checkout .cart-section .cart-table .td-name {
      margin-right: 40px;
   }

   .route-checkout-checkout .cart-section .td-price::before,
   .route-checkout-checkout .cart-section .td-total::before {
      content: attr(data-title);
      display: block;
      font-family: var(--font-medium);
      color: var(--color-primary);
   }

   .route-checkout-checkout .cart-section table thead {
      display: none;
   }

   .cart-page .buttons {
      min-height: 148px;
      position: relative;
   }

   .cart-page .buttons.buttons.paypal-loading > :not(.loadingio-spinner) {
      opacity: 0;
   }

   .cart-page .buttons.paypal-loading .loadingio-spinner {
      display: inline-block;
   }

   @keyframes ldio-yzaezf3dcmj {
      0% {
         transform: rotate(0deg)
      }

      50% {
         transform: rotate(180deg)
      }

      100% {
         transform: rotate(360deg)
      }
   }

   .ldio-yzaezf3dcmj div {
      position: absolute;
      animation: ldio-yzaezf3dcmj 1s linear infinite;
      width: 160px;
      height: 160px;
      top: 20px;
      left: 20px;
      border-radius: 50%;
      box-shadow: 0 4px 0 0 #222222;
      transform-origin: 80px 82px;
   }

   .loadingio-spinner {
      width: 200px;
      height: 200px;
      display: none;
      overflow: hidden;
      background: #ffffff;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%) scale(0.5);
   }

   .ldio-yzaezf3dcmj {
      width: 100%;
      height: 100%;
      position: relative;
      transform: translateZ(0) scale(1);
      backface-visibility: hidden;
      transform-origin: 0 0;
      /* see note above */
   }

   .ldio-yzaezf3dcmj div {
      box-sizing: content-box;
   }

   /* EOF Cart / Checkout Pages */

   /* SOF Account */
   .form--fields-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 20px;
   }

   /* EOF Account */

   /* SOF GDPR */

   .route-extension-account-gdpr .breadcrumb,
   .route-extension-account-gdpr_restrict_processing .breadcrumb,
   .route-extension-information-gdpr_request .breadcrumb {
      display: none;
   }

   .route-extension-account-gdpr #content,
   .route-extension-account-gdpr_restrict_processing #content,
   .route-extension-information-gdpr_request #content,
   .route-extension-account-gdpr #content>div {
      margin: 20px 0;
   }

   .route-extension-account-gdpr #content a:hover {
      color: #000;
   }

   /* EOF GDPR */

   input[type='checkbox'] {
      -webkit-appearance: none;
      -moz-appearance: none;
      -ms-appearance: none;
      -o-appearance: none;
      appearance: none;
      -webkit-touch-callout: none;
      right: 0;
      bottom: 0;
      left: 0px;
      height: 18px;
      width: 18px;
      min-width: 18px;
      transition: all 0.15s ease-out 0s;
      background: #fff;
      border: 1px solid var(--color-border);
      color: #fff;
      cursor: pointer;
      display: inline-block;
      position: relative;
      outline: none !important;
   }

   input[type='checkbox']:hover {
      background: var(--color-primary);
      outline: none !important;
      border-color: var(--color-primary);
   }

   input[type='checkbox']:checked {
      background: var(--color-primary);
      outline: none !important;
      border-color: var(--color-primary);
      color: #fff !important;
   }

   input[type='checkbox']:checked::before {
      height: 18px;
      width: 18px;
      min-width: 18px;
      position: absolute;
      content: "\2714";
      display: inline-block;
      font-size: 12px;
      text-align: center;
      line-height: 18px;
      color: #fff !important;
      background: transparent !important;
      outline: none !important;
   }

   input[type='checkbox']:checked::after {
      background: var(--color-primary);
      content: '';
      display: block;
      position: relative;
      outline: none !important;
      color: #fff !important;
   }

   input[type='radio'] {
      -webkit-appearance: none;
      -moz-appearance: none;
      -ms-appearance: none;
      -o-appearance: none;
      appearance: none;
      -webkit-touch-callout: none;
      right: 0;
      bottom: 0;
      left: 0px;
      height: 18px;
      width: 18px;
      min-width: 18px;
      transition: all 0.15s ease-out 0s;
      background: #fff;
      border: 1px solid var(--color-border);
      color: #fff;
      cursor: pointer;
      display: inline-block;
      position: relative;
      border-radius: 50%;
      border-radius: 50%;
      outline: none !important;
   }

   input[type='radio']:hover {
      background: var(--color-primary);
      outline: none !important;
      border-color: var(--color-primary);
   }

   input[type='radio']:checked {
      background: var(--color-primary);
      outline: none !important;
      border-color: var(--color-primary);
      color: #fff !important;
   }

   input[type='radio']:checked::before {
      height: 18px;
      width: 18px;
      min-width: 18px;
      position: absolute;
      content: "\2714";
      display: inline-block;
      font-size: 12px;
      text-align: center;
      line-height: 16px;
      color: #fff !important;
      background: transparent !important;
      outline: none !important;
   }

   input[type='radio']:checked::after {
      background: var(--color-primary);
      content: '';
      display: block;
      position: relative;
      outline: none !important;
      color: #fff !important;
   }

   @supports (-webkit-touch-callout: none) {
      input[type='checkbox'],
      input[type='radio'] {
         opacity: 5;
         z-index: 999;
         background: #fff;
         border: 1px solid var(--color-border);
      }
   }

   @media only screen and (max-device-width: 414px) and (-webkit-min-device-pixel-ratio: 2) {
      input[type='checkbox']:checked::after,
      input[type='radio']:checked::after {
        color: #fff !important;
        background: #000000 !important;
      }

      input[type='checkbox']:checked::before,
      input[type='radio']:checked::before {
         color: #fff !important;
         background: transparent !important;
      }
   }
    
   @media only screen and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 3) {
      input[type='checkbox']:checked::after,
      input[type='radio']:checked::after {
        color: #fff !important;
        background: #000000 !important;
      }

      input[type='checkbox']:checked::before,
      input[type='radio']:checked::before {
         color: #fff !important;
         background: transparent !important;
      }
   }

   .cart-bottom #paypal_button_container {
      width: 100% !important;
   }

   #paypal_form :is(#paypal_button_container, #paypal_card #paypal_card_container) {
      max-width: 300px !important;
   }

   @media only screen and (max-width: 1024px) {
      #cs--close-btn {
         display: none;
      }

      .mobile-search-wrapper .dropdown-menu {
         border-top: 1px solid var(--color-border);
         padding: 0px;
      }

      .cart-page>form {
         width: 100%;
      }

      .product-layout .side-actions {
         transform: translateX(0px);
         opacity: 1;
      }

      .product-thumb:hover .price {
         transform: translateY(0px);
         opacity: 1;
         visibility: visible;
      }

      .product-thumb .cart-group {
         visibility: visible;
         opacity: 1;
         transform: translateY(0px);
         font-weight: 600;
      }

      .product-layout .buttons-wrapper .btn-text.c--btn-mobile {
         display: none !important;
      }

      .notification .notification-buttons {
         display: flex;
         flex-direction: column;
         gap: 10px;
         margin-top: 10px;
      }
   
      .notification .notification-buttons > .btn {
         width: 100%;
      }

      .route-checkout-checkout .section-shipping {
         flex-direction: column;
         align-items: normal;
      }
   }

   @media only screen and (max-width: 767px) {
      .route-checkout-checkout .site-wrapper {
         margin-top: 30px;
      }

      .cart-page>form table thead,
      .cart-section table thead {
         display: none;
      }

      .cart-page>form table,
      .cart-page>form table tbody,
      .cart-page>form table tr,
      .cart-section table,
      .cart-section table tbody,
      .cart-section table tr,
      .cart-section tfoot {
         display: block;
      }

      .cart-section tfoot tr {
         display: flex;
         justify-content: space-between;
      }

      .cart-page>form table tbody,
      .cart-section table tbody {
         border-bottom: 1px solid var(--color-border) !important;
      }

      .cart-page>form table td,
      .cart-section table td {
         border-bottom: none;
      }

      .cart-page .td-remove {
         position: absolute;
         right: 0;
      }

      .cart-page .td-remove button {
         padding: 0 !important;
         background-color: #fff;
         border: none !important;
      }

      .cart-page .td-image {
         position: absolute;
      }

      .cart-page :is(.td-name, .td-product) {
         display: block !important;
      }

      .cart-page .td-remove {
         text-align: right;
      }

      .cart-page :is(.td-name, .td-product, .td-price, .td-qty, .td-total) {
         margin-left: 100px !important;
      }

      .cart-page .cart-table :is(.td-price, .td-qty, .td-total) {
         display: flex !important;
         justify-content: space-between;
         align-items: center;
      }

      .cart-page .td-qty .input-group {
         justify-content: flex-end;
      }

      .cart-page .cart-table .td-name {
         margin-right: 40px !important;
      }

      .td-qty::before,
      .td-price::before,
      .td-total::before {
         content: attr(data-title);
         display: block;
         font-family: var(--font-medium);
         color: var(--color-primary);
      }

      .product-layout .buttons-wrapper .btn-text.c--btn-mobile {
         display: inline-block !important;
      }

      .product-layout .buttons-wrapper .btn-text.c--btn-desktop {
         display: none !important;
      }

      .route-checkout-checkout .left {
         padding-right: 0;
      }
   }

   @media only screen and (max-width: 600px) {
      .c-coupon-wrapper {
         flex-direction: column;
      }

      .c-coupon-wrapper input {
         width: 100%;
      }

      .c-coupon-wrapper input[type="text"] {
         max-width: 100%;
      }

      .module-title::before {
         width: 350px;
         left: calc(50% - 175px);
      }
   }
}