/* Safsale common runtime styles moved from body into head. */

/* product-compact */
#tab-description, #tab-specification {
    max-width: 980px;
    font-size: 14px;
    line-height: 1.48;
}

#tab-description p {
    max-width: 920px;
    margin: 0 0 10px;
}

#tab-description ul, #tab-description ol {
    max-width: 920px;
    margin: 8px 0 14px 20px;
    padding-left: 18px;
}

#tab-description li {
    margin-bottom: 4px;
}

#tab-description table, #tab-specification table {
    width: 100%;
    max-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 10px 0 18px;
    background: #fff;
    border: 1px solid #edf0f3;
    border-radius: 6px;
    overflow: hidden;
}

#tab-description table td, #tab-description table th,
#tab-specification table td, #tab-specification table th {
    padding: 7px 10px;
    border-bottom: 1px solid #edf0f3;
    vertical-align: top;
    line-height: 1.35;
}

#tab-description table td:first-child,
#tab-specification table td:first-child {
    width: 34%;
    font-weight: 600;
    color: #2f3742;
}

#tab-description table td:last-child,
#tab-specification table td:last-child {
    color: #444;
    overflow-wrap: anywhere;
}

.safsale-content-wrap {
    position: relative;
    max-height: 760px;
    overflow: hidden;
}

.safsale-content-wrap.safsale-open {
    max-height: none;
    overflow: visible;
}

.safsale-content-wrap.safsale-needs-button:not(.safsale-open):after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 95px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 78%);
    pointer-events: none;
}

.safsale-collapse-btn {
    display: inline-block;
    margin: 14px 0 10px;
    padding: 9px 18px;
    border: 1px solid #d7dce2;
    border-radius: 4px;
    background: #fff;
    color: #222;
    font-weight: 600;
    cursor: pointer;
}

.safsale-collapse-btn:hover {
    background: #f5f7f9;
}

.safsale-cell-scroll {
    max-height: 76px;
    overflow: auto;
    padding-right: 4px;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    #tab-description, #tab-specification {
        font-size: 13px;
    }

    #tab-description table, #tab-specification table {
        table-layout: auto;
    }

    #tab-description table td:first-child,
    #tab-specification table td:first-child {
        width: 42%;
    }

    .safsale-content-wrap {
        max-height: 620px;
    }
}

/* motion-polish */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }

  body.safsale-page-leaving {
    opacity: 0.96;
    transform: translateY(2px);
    transition: opacity 120ms ease-out, transform 120ms ease-out;
  }

  .product-thumb,
  .category-thumb,
  .uni-item,
  .uni-module,
  .dropdown-menu,
  .modal-content,
  .btn,
  button,
  .form-control {
    transition-property: transform, box-shadow, opacity, background-color, border-color, color, filter;
    transition-duration: 170ms;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .product-thumb,
  .category-thumb,
  .uni-item {
    transform: translateZ(0);
  }

  .product-thumb:hover,
  .category-thumb:hover {
    transform: translateY(-2px);
  }

  .product-thumb__image img,
  .category-thumb img,
  .uni-item img,
  .product-image img,
  .thumbnails img {
    transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 180ms ease-out, filter 180ms ease-out;
  }

  .product-thumb:hover .product-thumb__image img,
  .category-thumb:hover img {
    transform: scale(1.025);
  }

  .btn:hover,
  button:hover,
  .product-thumb__add-to-cart:hover,
  .product-thumb__quick-order:hover,
  .product-thumb__wishlist:hover,
  .product-thumb__compare:hover {
    transform: translateY(-1px);
  }

  .btn:active,
  button:active,
  .product-thumb__add-to-cart:active {
    transform: translateY(0) scale(0.985);
  }

  .dropdown-menu {
    transform-origin: top center;
    animation: safsaleDropIn 160ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }

  .modal.fade .modal-dialog {
    transform: translate3d(0, 14px, 0) scale(0.985);
    transition: transform 190ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 190ms ease-out;
  }

  .modal.in .modal-dialog,
  .modal.show .modal-dialog {
    transform: translate3d(0, 0, 0) scale(1);
  }

  .mfp-bg {
    opacity: 0;
    transition: opacity 190ms ease-out;
  }

  .mfp-ready.mfp-bg {
    opacity: 0.82;
  }

  .mfp-removing.mfp-bg {
    opacity: 0;
  }

  .mfp-wrap .mfp-content {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    transition: opacity 190ms ease-out, transform 190ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .mfp-ready .mfp-content {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .mfp-removing .mfp-content {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }

  .fancybox-container .fancybox-content,
  .lg-outer .lg-img-wrap,
  .pswp__zoom-wrap {
    transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 200ms ease-out;
  }

  #content .product-thumb,
  #content .category-thumb,
  .uni-module__wrapper > .product-thumb {
    animation: safsaleCardIn 210ms ease-out both;
  }

  @keyframes safsaleCardIn {
    from {
      opacity: 0;
      transform: translateY(6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes safsaleDropIn {
    from {
      opacity: 0;
      transform: translateY(6px) scale(0.985);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

/* home-popular-products */
.safsale-home-popular-products{display:block!important;clear:both!important;margin:0 0 28px 0!important;padding:0!important}
.safsale-popular-products-row{display:flex!important;flex-wrap:nowrap!important;gap:16px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 14px 0!important;margin:0!important;opacity:1!important;visibility:visible!important;height:auto!important;min-height:0!important;-webkit-overflow-scrolling:touch}
.safsale-popular-products-row .product-thumb{display:block!important;flex:0 0 245px!important;width:245px!important;min-width:245px!important;max-width:245px!important;opacity:1!important;visibility:visible!important;height:auto!important;min-height:0!important;margin:0!important}
.safsale-popular-products-row .product-thumb__image{min-height:180px!important}
.safsale-popular-products-row .product-thumb__cart{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow:visible!important}


/* header theme custom layout moved from body 20260926 */
.home-page .html-module {
    padding: 010px;
    background: rgb(255 255 255 / 3%);
    border-radius: 4px;
    margin-bottom: -11px;
}
 #banner-0 img {
    max-width: 270px;
    height: 196px;
    width: 100%;
    object-fit: cover;
}   
  
.home-page .html-module {
    padding-left: 0;
    padding-right: 0;
}  
   #banner-0   img{   max-width: 270px;}
       #banner-0{  margin-top: 10px;}
    
    .home-page .html-module {
    padding-left: 0;
    padding-right: 0;
    /* border: 1px solid #ddd; */
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    border-left: 1px solid rgba(0, 0, 0, .06);
    border-right: 1px solid rgba(0, 0, 0, .06);
        padding-bottom: 0;
}
#banner-0 {
    margin-top: 30px;
    border-top: 1px solid rgba(0, 0, 0, .06);
    padding: 10px;
    border-left: 1px solid rgba(0, 0, 0, .06);
    border-right: 1px solid rgba(0, 0, 0, .06);
       
}   
.home-page .html-module {
    margin-top: -38px;
    z-index: 1111;
    position: relative;
    background: #ffffff;
    padding-bottom: 17px;
}


/* brand description card moved from body 20260926 */
.safsale-brand-desc-container{box-sizing:border-box;margin-left:auto;margin-right:auto}
.safsale-brand-desc-card{width:100%;box-sizing:border-box;margin:34px 0 30px;padding:22px 24px;border-radius:8px;background:#f7f7f7;border:1px solid #ededed;color:#333}
.safsale-brand-desc-preview{display:flex;align-items:center;gap:22px}
.safsale-brand-desc-image{display:none;flex:0 0 170px;max-width:170px;background:#fff;border:1px solid #e3e3e3;border-radius:4px;text-align:center;padding:8px}
.safsale-brand-desc-image img{max-width:150px;max-height:120px;width:auto;height:auto}
.safsale-brand-desc-text{flex:1;min-width:0}
.safsale-brand-desc-full{max-height:128px;overflow:hidden;position:relative;font-size:15px;line-height:1.55;color:#555}
.safsale-brand-desc-card:not(.is-open) .safsale-brand-desc-full:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(to bottom,rgba(247,247,247,0),#f7f7f7)}
.safsale-brand-desc-card.is-open .safsale-brand-desc-full{max-height:520px;overflow:auto;padding-right:6px}
.safsale-brand-desc-full h2{margin:0 0 10px;font-size:24px;line-height:1.25;font-weight:700;color:#333}
.safsale-brand-desc-full h3{margin:16px 0 8px;font-size:17px;line-height:1.35;font-weight:700;color:#333}
.safsale-brand-desc-full p{margin:0 0 10px;font-size:15px;line-height:1.55;color:#555}
.safsale-brand-desc-full ul{margin:8px 0 12px 20px;padding:0}
.safsale-brand-desc-full li{font-size:14px;line-height:1.5;margin:0 0 5px;color:#555}
.safsale-brand-desc-toggle{display:block;margin:16px auto 0;padding:0;border:0;background:transparent;color:#333;font-size:15px;line-height:1.4;cursor:pointer}
.safsale-brand-desc-toggle:hover{text-decoration:underline}
@media(max-width:767px){
  .safsale-brand-desc-card{padding:18px 14px;margin:26px 0}
  .safsale-brand-desc-preview{align-items:flex-start;gap:14px}
  .safsale-brand-desc-image{flex:0 0 105px;max-width:105px;padding:6px}
  .safsale-brand-desc-image img{max-width:90px;max-height:80px}
  .safsale-brand-desc-full h2{font-size:20px}
  .safsale-brand-desc-full p{font-size:14px}
}


/* service page layout moved from body 20260926 */
.safsale-service-page { margin-top: 20px; margin-bottom: 45px; }
.safsale-service-page h1 { margin-bottom: 18px; }
.safsale-service-content { max-width: 980px; font-size: 15px; line-height: 1.65; color: #333; }
.safsale-service-content h2 { margin-top: 24px; margin-bottom: 10px; font-size: 22px; }
.safsale-service-content h3 { margin-top: 22px; margin-bottom: 8px; font-size: 18px; }
.safsale-service-content ul { padding-left: 22px; margin-bottom: 18px; }
.safsale-service-content li { margin-bottom: 7px; }
.safsale-service-box { background: #f7f7f7; border-left: 4px solid #30323d; padding: 14px 16px; margin: 18px 0; }
.safsale-service-note { font-size: 14px; color: #666; }
.safsale-service-cta { margin-top: 24px; padding: 16px; background: #f2f3f5; border-radius: 4px; }
.safsale-service-cta strong { color: #222; }
