@font-face {
  font-family: "fl-icons";
  font-display: block;
  src: url("../fonts/fl-icons.eot");
  src: url("../fonts/fl-icons.eot") format("embedded-opentype"),
       url("../fonts/fl-icons.woff2") format("woff2"),
       url("../fonts/fl-icons.ttf") format("truetype"),
       url("../fonts/fl-icons.woff") format("woff"),
       url("../fonts/fl-icons.svg") format("svg");
}

:root { --primary-color: #446084; }
html, body { max-width: 100%; overflow-x: hidden; }
body { font-family: "Lato", sans-serif; font-weight: 400; }
.nav > li > a, .mobile-sidebar-levels-2 .nav > li > ul > li > a { font-family: "Lato", sans-serif; font-weight: 700; }
h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a { font-family: "Lato", sans-serif; font-weight: 700; }
.alt-font { font-family: "Dancing Script", sans-serif; font-weight: 400 !important; }
img { max-width: 100%; height: auto; }
#wrapper, #main, .content-area { width: 100%; min-width: 0; }
.header-main { height: 90px; }
#logo { width: 295px; }
#logo img { max-height: 90px; width: auto; object-fit: contain; }
.header-bottom { min-height: 55px; background-color: #f1f1f1; }
.header-bottom-nav > li > a { line-height: 16px; }
.search-form { width: 93%; }
.header-search-form { min-width: 420px; }
.header-search-form .searchform { width: 100%; }
.header-search-form .search_categories { min-width: 120px; }
.header-contact-wrapper a { display: inline-flex; align-items: center; gap: 7px; color: inherit; }
.header-cart-link { display: inline-flex !important; align-items: center; gap: 8px; cursor: pointer; }
.header-cart-link .cart-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 30px; border: 2px solid currentColor; }
.header-cart-link .cart-icon:after { content: ""; position: absolute; top: -8px; width: 12px; height: 8px; border: 2px solid currentColor; border-bottom: 0; border-radius: 8px 8px 0 0; }
.header-cart-link .cart-icon strong { font-size: 12px; line-height: 1; }
.hf-mobile-menu-toggle, .hf-mobile-menu-close, .hf-shop-filter-toggle { border: 0; background: transparent; color: inherit; padding: 8px; margin: 0; box-shadow: none; }
.hf-mobile-menu-toggle:hover, .hf-mobile-menu-close:hover, .hf-shop-filter-toggle:hover { background: transparent; color: inherit; box-shadow: none; }
.main-menu.mobile-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 100000; width: min(86vw, 360px); background: #fff; transform: translateX(-105%); transition: transform .25s ease; overflow-y: auto; display: block !important; visibility: visible; }
body.hf-menu-open .main-menu.mobile-sidebar { transform: translateX(0); }
.hf-mobile-menu-overlay { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.45); }
body.hf-menu-open .hf-mobile-menu-overlay { display: block; }
.hf-mobile-menu-head { display: flex; justify-content: flex-end; padding: 10px 14px; border-bottom: 1px solid #ececec; }
.hf-mobile-menu-close { font-size: 32px; line-height: 1; }
.sidebar-menu { padding: 15px 25px 35px; }
.hf-mobile-search { display: flex; width: 100%; margin-top: 25px; }
.hf-mobile-search input { min-width: 0; flex: 1; }
.hf-mobile-search button { margin: 0; }

/* Home and loop cards: retains the source Flatsome card DOM. */
.hf-home-products, .products.row { align-items: stretch; }
.product-small.col { min-width: 0; }
.product-small .col-inner, .product-small .box { height: 100%; }
.product-small .box-image { overflow: hidden; }
.product-small .image-fade_in_back { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #f7f7f7; }
.product-small .image-fade_in_back > a { display: block; width: 100%; height: 100%; }
.product-small .image-fade_in_back img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .35s ease, transform .35s ease; }
.product-small .image-fade_in_back .back-image { position: absolute; inset: 0; opacity: 0; }
.product-small:hover .image-fade_in_back .back-image { opacity: 1; }
.product-small:hover .image-fade_in_back > a > img:first-child { opacity: 0; }
.product-small .grid-tools { z-index: 4; }
.product-small .quick-view { width: 100%; display: block; background: rgba(68,96,132,.95); color: #fff; padding: 9px 8px; text-transform: uppercase; font-size: .8em; letter-spacing: .03em; }
.product-small .box-text-products { padding-top: .7em; padding-bottom: 1.1em; }
.product-small .product-title { margin-bottom: .25em; }
.product-small .price { display: block; }
.hf-review-title { margin-top: 34px; }
.hf-reviews-container { overflow: hidden; }
.hf-reviews-track { align-items: stretch; }
.hf-review-image-col .col-inner { height: 100%; overflow: hidden; }
.hf-review-image-col img { display: block; width: 100%; height: 100%; max-height: 520px; object-fit: cover; }

/* Product page */
.hf-product-page-title { max-width: 100%; padding: 0; }
.hf-product-page-title .featured-title { background: #f7f7f7; color: #333; text-shadow: none; padding: 18px 0; }
.hf-product-page-title .entry-title { font-size: 1.45em; margin: 0 0 5px; }
.hf-product-page-title .breadcrumbs { font-size: .75em; }
.hf-single-product-row { max-width: 1170px; margin: 0 auto; padding-top: 32px; }
.hf-product-gallery-column, .hf-product-summary-column { min-width: 0; }
.hf-product-gallery-row { margin-left: -5px; margin-right: -5px; align-items: flex-start; }
.hf-product-gallery-row > .col { padding-left: 5px; padding-right: 5px; }
.hf-gallery-main-col { order: 2; }
.hf-gallery-thumbs-col { order: 1; }
.hf-main-image-link { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #fafafa; }
.hf-main-product-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.hf-product-thumbnails { display: flex; flex-direction: column; gap: 8px; margin: 0; max-height: 640px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.hf-gallery-thumb { width: 100%; padding: 0; margin: 0; border: 1px solid transparent; background: transparent; opacity: .65; cursor: pointer; box-shadow: none; }
.hf-gallery-thumb:hover, .hf-gallery-thumb.active { opacity: 1; border-color: #446084; background: transparent; box-shadow: none; transform: none; }
.hf-gallery-thumb img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.hf-product-summary-column .col-inner { padding-left: 8px; }
.product-breadcrumb-container { margin-bottom: 10px; }
.product-title-container .product-title { margin-bottom: 0; }
.product-price-container { margin-bottom: 16px; }
.product-page-price { font-size: 1.5em; font-weight: 700; margin-bottom: 0; }
.hf-promotions { width: 100%; margin: 15px 0 18px; }
.hf-promo-head { min-height: 81px; width: 100%; border: 1px dashed #03a9f4; border-radius: 5px; padding: 10px 14px; }
.hf-promo-head h4 { color: #d90000; margin: 0; }
.hf-promo-head span { color: #a9a9a9; font-size: 11px; }
.hf-promo-row { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 8px 15px; margin-top: 10px; background: #f8f8f8; line-height: 1.3; }
.hf-promo-row b { background: #446084; color: #fff; padding: 4px 5px; font-size: 14px; white-space: nowrap; }
.hf-promo-row strong { color: #d90000; font-size: 14px; }
.hf-promo-row span { color: #aaa; font-size: 13px; }
.add-to-cart-container form.cart { margin-bottom: 14px; }
.add-to-cart-container .quantity { display: inline-flex; vertical-align: top; margin-right: 8px; }
.add-to-cart-container .single_add_to_cart_button, .add-to-cart-container .pisol_buy_now_button { min-height: 42px; margin-bottom: 8px; }
.pisol_buy_now_button { color: #fff !important; background-color: #ee6443 !important; }
.variations_form .variations { width: 100%; margin-bottom: 15px; }
.variations_form .variations tr { display: table-row !important; visibility: visible !important; }
.variations_form .variations th, .variations_form .variations td { display: table-cell !important; padding: 7px 0; vertical-align: middle; }
.variations_form .variations th { width: 85px; text-align: left; }
.variations_form .variations select { width: 100%; max-width: 100%; margin-bottom: 0; }
.variations_form .reset_variations { display: inline-block; margin-top: 5px; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; }
.woocommerce-variation-add-to-cart .quantity { margin-right: 0; }
.hf-delivery-estimate { margin: 8px 0 15px; font-size: .86em; }
.hf-trust-box { margin-top: 12px; }
.hf-trust-box .testimonial-text h3 { margin-bottom: 4px; font-size: 1.1em; }
.hf-checkout-safe { width: 100%; margin-top: 8px; }
.hf-checkout-safe img { width: 100%; }
.hf-product-tabs-container { margin-top: 36px; max-width: 1170px; }
.hf-product-tabs-container .woocommerce-tabs { width: 100%; }
.hf-product-tabs-container .tabs { display: flex; justify-content: center; flex-wrap: wrap; border-top: 1px solid #ececec; }
.hf-product-tabs-container .woocommerce-Tabs-panel { max-width: 100%; overflow-wrap: anywhere; }
.hf-product-tabs-container #reviews, .hf-product-tabs-container #comments, .hf-product-tabs-container #review_form_wrapper { width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; }
.hf-product-tabs-container .commentlist { margin-left: 0; }
.hf-product-tabs-container .comment_container { min-width: 0; }
.hf-review-form textarea, .hf-review-form input[type="text"], .hf-review-form input[type="email"] { width: 100%; max-width: 100%; }
.hf-related-products { margin-top: 35px; margin-bottom: 30px; }

/* Shop/category/search */
.category-page-title { background: #fff; border-bottom: 1px solid #ececec; }
.category-page-row { max-width: 1170px; margin: 0 auto; padding-top: 30px; }
.hf-shop-sidebar-col, .hf-shop-main-col { min-width: 0; }
.hf-shop-sidebar-col { border-right: 1px solid #ececec; }
.hf-archive-ordering { display: flex; align-items: center; gap: 15px; }
.hf-archive-ordering .woocommerce-result-count { margin: 0; }
.hf-archive-ordering .woocommerce-ordering { margin: 0; }
.product-categories { margin-left: 0; }
.product-categories li { list-style: none; border-bottom: 1px solid #ececec; padding: 7px 0; }
.product-categories .count { float: right; opacity: .6; }
.hf-price-fields { display: flex; gap: 8px; }
.hf-price-fields label { width: 50%; font-size: .8em; }
.hf-price-fields input { width: 100%; margin-bottom: 8px; }
.hf-shop-filter-overlay { position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.4); }

/* Content pages, cart and account remain native WooCommerce/WordPress. */
.page-wrapper { padding-top: 30px; padding-bottom: 30px; }
.entry-content { min-width: 0; overflow-wrap: anywhere; }
.woocommerce-cart-form, .cart-collaterals, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation { max-width: 100%; }

/* Footer */
.hf-payment-icons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.hf-payment-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 28px; padding: 0 7px; border-radius: 3px; background: #fff; color: #333; border: 1px solid rgba(0,0,0,.12); font-size: 10px; font-weight: 700; text-transform: none; }
.absolute-footer { padding: 22px 0 18px; }
.footer-nav { margin-bottom: 8px; }

@media screen and (min-width: 850px) {
  .hf-product-page-title { display: block; }
  .hf-product-gallery-column { padding-right: 18px; }
  .hf-product-summary-column { padding-left: 18px; }
}

@media screen and (max-width: 849px) {
  .header-main { height: 70px; }
  #logo { width: min(48vw, 220px); }
  #logo img { max-height: 70px; }
  .hf-product-page-title { display: none; }
  .hf-single-product-row { padding: 18px 10px 0; }
  .hf-product-summary-column .col-inner { padding-left: 0; }
  .hf-gallery-main-col { order: 1; width: 100%; max-width: 100%; flex-basis: 100%; }
  .hf-gallery-thumbs-col { order: 2; width: 100%; max-width: 100%; flex-basis: 100%; margin-top: 8px; }
  .hf-product-thumbnails { flex-direction: row; max-width: 100%; max-height: none; overflow-x: auto; overflow-y: hidden; padding-bottom: 5px; }
  .hf-gallery-thumb { flex: 0 0 74px; width: 74px; }
  .hf-product-summary-column { margin-top: 20px; }
  .hf-shop-sidebar-col { display: block !important; position: fixed; inset: 0 auto 0 0; z-index: 99999; width: min(88vw, 360px); max-width: none; background: #fff; transform: translateX(-105%); transition: transform .25s ease; overflow-y: auto; padding: 25px; border-right: 0; }
  body.hf-filter-open .hf-shop-sidebar-col { transform: translateX(0); }
  body.hf-filter-open .hf-shop-filter-overlay { display: block; }
  .hf-shop-main-col { width: 100%; max-width: 100%; flex-basis: 100%; }
  .hf-archive-ordering { width: 100%; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
  .footer-secondary, .footer-primary { float: none !important; width: 100%; }
  .hf-payment-icons { justify-content: center; margin-bottom: 12px; }
}

@media screen and (max-width: 549px) {
  .row { max-width: 100%; }
  .product-small.col, .hf-review-image-col { min-width: 0; }
  .product-small .box-text-products { padding-left: 2px; padding-right: 2px; }
  .product-small .category { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hf-reviews-container { padding-left: 10px; padding-right: 10px; }
  .hf-reviews-track { display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; margin: 0; padding-bottom: 8px; scroll-snap-type: x proximity; }
  .hf-review-image-col { flex: 0 0 76vw; max-width: 76vw; padding: 0 5px; scroll-snap-align: center; }
  .hf-product-gallery-column, .hf-product-summary-column { padding-left: 5px; padding-right: 5px; }
  .hf-main-image-link { max-width: 100%; }
  .hf-promotions { overflow: hidden; }
  .hf-promo-row { align-items: flex-start; flex-wrap: wrap; gap: 5px 8px; min-height: 0; }
  .hf-promo-row span { width: 100%; padding-left: 0; }
  .add-to-cart-container form.cart { width: 100%; }
  .add-to-cart-container .quantity { margin-right: 4px; }
  .add-to-cart-container .single_add_to_cart_button, .add-to-cart-container .pisol_buy_now_button { max-width: 100%; white-space: normal; }
  .woocommerce-variation-add-to-cart { width: 100%; }
  .hf-product-tabs-container { padding-left: 12px; padding-right: 12px; text-align: left; }
  .hf-product-tabs-container .woocommerce-Tabs-panel, .hf-product-tabs-container #reviews { margin-left: auto; margin-right: auto; }
  .hf-product-tabs-container .comment_container { display: block; }
  .hf-product-tabs-container .avatar { float: none; margin: 0 auto 10px; display: block; }
  .hf-product-tabs-container .comment-text { margin-left: 0 !important; padding: 12px !important; }
  .category-page-row { padding-left: 8px; padding-right: 8px; }
  .page-wrapper { padding-left: 10px; padding-right: 10px; }
}

/* ===== 1.1.0 site-wide repair overrides ===== */
html, body { max-width: 100%; overflow-x: clip; }
#wrapper, #main, .content-area, .shop-container { max-width: 100%; min-width: 0; }
img, video, iframe, svg { max-width: 100%; }

/* Match the source product title bar rather than the previous dark replacement. */
.hf-product-page-title .page-title.light.normal-title { background: #fff; color: #333; text-shadow: none; padding: 14px 0; border-bottom: 1px solid #ececec; }
.hf-product-page-title .page-title-inner { min-height: 0; }
.hf-product-page-title .entry-title { font-size: 1.35em; margin: 0; }

/* Complete source-style multi-image gallery. */
.hf-product-gallery-row { position: relative; width: calc(100% + 10px); max-width: none; }
.hf-gallery-main-col { order: 2; min-width: 0; }
.hf-gallery-thumbs-col { order: 1; min-width: 0; }
.woocommerce-product-gallery { position: relative; width: 100%; }
.product-gallery-slider { position: relative; width: 100%; overflow: hidden; }
.hf-gallery-slide { display: none; width: 100%; margin: 0; }
.hf-gallery-slide.is-active { display: block; }
.hf-gallery-slide > a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 420px; aspect-ratio: 1 / 1; background: #fafafa; overflow: hidden; cursor: zoom-in; }
.hf-gallery-slide img { display: block; width: 100%; height: 100%; max-height: 720px; object-fit: contain; margin: 0 auto; }
.hf-gallery-arrow { position: absolute; top: 50%; z-index: 6; width: 38px; height: 54px; margin-top: -27px; padding: 0; border: 0; border-radius: 0; background: rgba(255,255,255,.84); color: #333; font-size: 34px; line-height: 1; opacity: 0; transform: none; box-shadow: 0 1px 5px rgba(0,0,0,.18); transition: opacity .18s ease; }
.woocommerce-product-gallery:hover .hf-gallery-arrow, .hf-gallery-arrow:focus-visible { opacity: 1; }
.hf-gallery-prev { left: 0; }
.hf-gallery-next { right: 0; }
.hf-product-thumbnails { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 8px; width: 100%; max-height: 680px; margin: 0; padding: 0 2px 0 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; }
.hf-gallery-thumb { flex: 0 0 auto; width: 100%; max-width: 100%; padding: 0; opacity: .62; border: 1px solid transparent; transition: opacity .15s ease, border-color .15s ease; }
.hf-gallery-thumb.is-selected, .hf-gallery-thumb:hover { opacity: 1; border-color: #446084; }
.hf-gallery-thumb button { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; cursor: pointer; }
.hf-gallery-thumb button:hover, .hf-gallery-thumb button:focus { background: transparent; box-shadow: none; transform: none; }
.hf-gallery-thumb img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

/* Product lightbox is independent of CheckoutWC and limited to product images. */
.hf-gallery-lightbox[hidden] { display: none !important; }
.hf-gallery-lightbox { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 28px; background: rgba(0,0,0,.88); }
.hf-gallery-lightbox img { display: block; max-width: min(94vw, 1400px); max-height: 92vh; width: auto; height: auto; object-fit: contain; }
.hf-gallery-lightbox-close { position: fixed; top: 12px; right: 18px; z-index: 2; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #222; font-size: 31px; line-height: 42px; box-shadow: none; }
body.hf-gallery-lightbox-open { overflow: hidden; }

/* Product forms and content cannot push the viewport wider. */
.hf-product-summary-column, .hf-product-summary-column .col-inner, .add-to-cart-container, .variations_form, .variations_form .variations { min-width: 0; max-width: 100%; }
.variations_form .variations td.value { min-width: 0; }
.variations_form .variations select { display: block !important; visibility: visible !important; max-width: 100%; }
.hf-product-tabs-container img, .woocommerce-Tabs-panel img { display: block; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; }
.hf-product-tabs-container table { display: block; max-width: 100%; overflow-x: auto; }

/* Restore the source review strip on home and product pages. */
.hf-whatsapp-title { margin-top: 28px; }
.hf-reviews-container { max-width: 1170px; overflow: hidden; }
.hf-reviews-track { align-items: stretch; }
.hf-review-image-col .col-inner { height: 100%; text-align: center; }
.hf-review-image-col img { display: block; width: 100%; height: 400px; object-fit: cover; object-position: top center; margin: 0 auto; }
.hf-product-review-gallery { margin-bottom: 32px; }

/* Avoid a duplicated page title when imported content already contains H1. */
.page-wrapper .entry-content > .row-main:first-child { margin-top: 0; }
.entry-content h1:first-child, .entry-content blockquote:first-child h1 { margin-top: 0; }

@media screen and (max-width: 849px) {
  .hf-product-page-title { display: none; }
  .hf-product-gallery-row { width: 100%; margin-left: 0; margin-right: 0; }
  .hf-gallery-main-col { order: 1; padding-left: 0 !important; padding-right: 0 !important; }
  .hf-gallery-thumbs-col { order: 2; padding-left: 0 !important; padding-right: 0 !important; }
  .hf-gallery-slide > a { min-height: 0; width: 100%; aspect-ratio: 1 / 1; }
  .hf-gallery-slide img { max-height: none; }
  .hf-gallery-arrow { opacity: .82; width: 34px; height: 48px; margin-top: -24px; font-size: 30px; }
  .hf-product-thumbnails { flex-direction: row; width: 100%; max-width: 100%; max-height: none; gap: 7px; padding: 7px 0 5px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; }
  .hf-gallery-thumb { flex: 0 0 72px; width: 72px; scroll-snap-align: start; }
  .hf-product-gallery-column, .hf-product-summary-column { flex-basis: 100%; max-width: 100%; width: 100%; }
  .hf-product-summary-column { margin-top: 16px; }
  .hf-product-summary-column .product-breadcrumb-container { overflow-wrap: anywhere; }
  .hf-gallery-lightbox { padding: 14px; }
}

@media screen and (max-width: 549px) {
  .hf-single-product-row { width: 100%; margin-left: auto; margin-right: auto; padding-left: 10px; padding-right: 10px; }
  .hf-product-gallery-column, .hf-product-summary-column { padding-left: 0; padding-right: 0; }
  .product-title-container .product-title { font-size: 1.45em; overflow-wrap: anywhere; }
  .product-page-price { font-size: 1.35em; }
  .hf-promo-head, .hf-promo-row { width: 100%; max-width: 100%; }
  .add-to-cart-container .quantity { float: none; }
  .add-to-cart-container .single_add_to_cart_button, .add-to-cart-container .pisol_buy_now_button { min-width: 0; max-width: 100%; }
  .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto minmax(0, 1fr); width: 100%; }
  .woocommerce-variation-add-to-cart .pisol_buy_now_button { grid-column: 1 / -1; width: 100%; }
  .hf-product-tabs-container { width: 100%; max-width: 100%; padding-left: 10px; padding-right: 10px; }
  .hf-product-tabs-container .tabs { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
  .hf-product-tabs-container .tabs li { flex: 0 0 auto; }
  .hf-review-image-col { flex: 0 0 76vw; max-width: 76vw; }
  .hf-review-image-col img { height: auto; max-height: 72vh; object-fit: contain; background: #fafafa; }
  .page-wrapper .row-main, .page-wrapper .large-12.col { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
  .entry-content { max-width: 100%; overflow-x: hidden; }
}

/* v1.2.0 source-faithful corrections */
.hf-home-products > .product { display: flex; }
.hf-home-products > .product > .col-inner { display: flex; width: 100%; }
.hf-home-products .product-small.box { width: 100%; }
.hf-home-products .box-image img.attachment-woocommerce_thumbnail,
.hf-home-products .box-image img.back-image { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

.hf-product-gallery-row { position: relative; width: 100%; margin: 0; }
.hf-gallery-wrap { display: flex; align-items: flex-start; gap: 10px; width: 100%; }
.hf-gallery-thumbs-col { flex: 0 0 72px; width: 72px; max-width: 72px; }
.hf-product-thumbnails { display: flex; flex-direction: column; gap: 10px; max-height: 430px; overflow-y: auto; overflow-x: hidden; }
.hf-gallery-main-col { flex: 1 1 auto; min-width: 0; }
.hf-product-gallery-row .woocommerce-product-gallery { width: 100%; margin: 0; }
.hf-gallery-slide { display: none; width: 100%; }
.hf-gallery-slide.is-active { display: block; }
.hf-gallery-slide > a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 420px; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; cursor: zoom-in; }
.hf-gallery-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hf-gallery-thumb { width: 100%; border: 1px solid transparent; opacity: .66; }
.hf-gallery-thumb.is-selected, .hf-gallery-thumb:hover { border-color: #d6d6d6; opacity: 1; }
.hf-gallery-thumb button { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: transparent; }
.hf-gallery-thumb img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.hf-gallery-arrow { position: absolute; top: 50%; z-index: 6; width: 34px; height: 42px; margin-top: -21px; border: 1px solid #d0d0d0; border-radius: 50%; background: rgba(255,255,255,.96); color: #777; font-size: 26px; line-height: 1; box-shadow: none; opacity: .96; }
.hf-gallery-prev { left: -18px; }
.hf-gallery-next { right: -18px; }
.hf-gallery-expand { position: absolute; left: 12px; bottom: 12px; z-index: 5; width: 38px; height: 38px; border: 1px solid #d0d0d0; border-radius: 50%; background: rgba(255,255,255,.95); color: #777; font-size: 20px; line-height: 36px; text-align: center; }

.single-product .product .button.single_add_to_cart_button,
.single-product .product .pisol_buy_now_button { min-height: 48px; border-radius: 999px; font-weight: 700; letter-spacing: 0; box-shadow: none; }
.single-product .product .button.single_add_to_cart_button { background: #e7a28f; border-color: #e7a28f; color: #fff; }
.single-product .product .button.single_add_to_cart_button:hover { background: #de917c; border-color: #de917c; }
.single-product .product .pisol_buy_now_button { display: block; width: 100%; margin-top: 12px; background: #e7a28f; border-color: #e7a28f; color: #fff; }
.single-product .product .pisol_buy_now_button:hover { background: #de917c; border-color: #de917c; }
.single-product .product .quantity input.qty { min-height: 44px; }
.single-product .product .variations label { text-transform: lowercase; font-weight: 600; color: #222; }
.single-product .product .variations select { min-height: 42px; border-radius: 999px; }
.single-product .hf-checkout-safe img { width: 100%; max-width: 460px; }
.single-product .woocommerce-tabs.wc-tabs-wrapper { margin-top: 28px; }
.single-product .woocommerce-tabs .tabs { justify-content: center; }
.single-product .woocommerce-tabs .tab-panels { padding-top: 18px; }
.single-product .hf-product-review-gallery .hf-review-image-col img,
.home .hf-reviews-container img { width: 100%; height: auto; object-fit: cover; }
.single-product .hf-review-image-col .col-inner,
.home .hf-review-image-col .col-inner { overflow: hidden; }

@media (max-width: 849px) {
  .hf-gallery-wrap { display: block; }
  .hf-gallery-thumbs-col { width: 100%; max-width: 100%; margin-top: 10px; }
  .hf-product-thumbnails { flex-direction: row; gap: 8px; max-height: none; overflow-x: auto; overflow-y: hidden; }
  .hf-gallery-thumb { flex: 0 0 72px; width: 72px; }
  .hf-gallery-prev { left: 6px; }
  .hf-gallery-next { right: 6px; }
  .hf-gallery-slide > a { min-height: 0; }
}

/* ===== 1.3.0 exact source alignment ===== */
@media screen and (min-width: 850px) {
  #masthead .header-inner {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 90px;
  }
  #masthead .header-inner > #logo {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    width: 295px;
    margin: 0;
    transform: translate(-50%, -50%);
    text-align: center;
  }
  #masthead .header-inner > .hide-for-medium.flex-left,
  #masthead .header-inner > .hide-for-medium.flex-right {
    flex: 0 0 390px;
    width: 390px;
    max-width: 390px;
  }
  #masthead .header-inner > .hide-for-medium.flex-left { margin-right: auto; }
  #masthead .header-inner > .hide-for-medium.flex-right { margin-left: auto; justify-content: flex-end; }
  #masthead .header-inner > .hide-for-medium.flex-right > .nav { justify-content: flex-end; }
  #masthead .header-search-form {
    width: 380px;
    min-width: 0;
    max-width: 380px;
  }
  #masthead .header-search-form .searchform,
  #masthead .header-search-form-wrapper,
  #masthead .searchform-wrapper { width: 100%; }
  #masthead .header-search-form .search_categories {
    width: 108px;
    min-width: 108px;
    max-width: 108px;
  }
}

/* Homepage uses the exact original source order and original card image URLs. */
.hf-home-products .image-fade_in_back { background: #fff; }
.hf-home-products .image-fade_in_back img,
.hf-home-products .hf-source-card-image { object-fit: cover; object-position: center; }
.hf-home-products .product-cat { min-height: 1.3em; }

/* The promotion markup was hidden on the source site and must not occupy the summary. */
.single-product .hf-promotions { display: none !important; }
.single-product .hf-product-page-title .page-title.light.normal-title {
  background: #f7f7f7;
  color: #333;
  padding: 18px 0;
  border-bottom: 1px solid #ececec;
}
.single-product .hf-single-product-row {
  display: flex;
  align-items: flex-start;
  max-width: 1170px;
  margin: 0 auto;
  padding: 32px 0 0;
}
.single-product .hf-product-gallery-column {
  flex: 0 0 52%;
  width: 52%;
  max-width: 52%;
  padding: 0 20px 0 15px;
}
.single-product .hf-product-summary-column {
  flex: 0 0 48%;
  width: 48%;
  max-width: 48%;
  padding: 0 15px 0 20px;
}
.single-product .hf-product-summary-column .col-inner { padding-left: 0; }
.single-product .product-breadcrumb-container { margin: 0 0 14px; }
.single-product .product-title-container .product-title { font-size: 1.72em; line-height: 1.25; }
.single-product .product-price-container { margin: 0 0 22px; }
.single-product .product-page-price { font-size: 1.7em; }

.single-product .hf-gallery-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}
.single-product .hf-gallery-thumbs-col {
  flex: 0 0 70px;
  width: 70px;
  max-width: 70px;
  order: 1;
}
.single-product .hf-gallery-main-col {
  flex: 1 1 auto;
  width: calc(100% - 80px);
  max-width: calc(100% - 80px);
  min-width: 0;
  order: 2;
}
.single-product .hf-product-thumbnails {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-height: 520px;
  padding: 0 4px 0 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.single-product .hf-gallery-thumb {
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
  border: 1px solid transparent;
  opacity: .62;
}
.single-product .hf-gallery-thumb.is-selected,
.single-product .hf-gallery-thumb:hover { border-color: #bdbdbd; opacity: 1; }
.single-product .hf-gallery-thumb button,
.single-product .hf-gallery-thumb img { width: 100%; height: 100%; }
.single-product .hf-gallery-thumb img { object-fit: cover; }
.single-product .product-gallery-slider { width: 100%; overflow: hidden; }
.single-product .hf-gallery-slide { display: none !important; width: 100%; margin: 0; }
.single-product .hf-gallery-slide.is-active { display: block !important; }
.single-product .hf-gallery-slide > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 520px;
  min-height: 520px;
  aspect-ratio: auto;
  background: #fff;
  overflow: hidden;
}
.single-product .hf-gallery-slide img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  margin: 0;
}
.single-product .hf-gallery-arrow {
  top: 50%;
  width: 34px;
  height: 42px;
  margin-top: -21px;
  border: 1px solid #d0d0d0;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: #777;
  font-size: 25px;
  opacity: 1;
  box-shadow: none;
}
.single-product .hf-gallery-prev { left: 8px; }
.single-product .hf-gallery-next { right: 8px; }
.single-product .hf-gallery-expand {
  left: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  line-height: 36px;
}

.single-product .add-to-cart-container { margin-top: 0; }
.single-product form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.single-product form.variations_form { display: block; width: 100%; }
.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.single-product form.cart .quantity {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  margin: 0;
}
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus,
.single-product form.cart .quantity input.qty {
  width: 36px;
  min-width: 36px;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  background: #fff;
  color: #777;
  box-shadow: none;
  text-align: center;
}
.single-product form.cart .quantity .minus { border-radius: 999px 0 0 999px; border-right: 0; }
.single-product form.cart .quantity .plus { border-radius: 0 999px 999px 0; border-left: 0; }
.single-product form.cart .single_add_to_cart_button {
  flex: 0 0 auto;
  min-width: 166px;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 26px;
  border-radius: 999px;
  background: #d76843;
  border-color: #d76843;
  color: #fff;
}
.single-product form.cart .pisol_buy_now_button {
  flex: 0 0 100%;
  width: 100%;
  height: 62px;
  min-height: 62px;
  margin: 16px 0 0;
  border-radius: 999px;
  background: #f26041 !important;
  border-color: #f26041 !important;
  color: #fff !important;
}
.single-product .hf-delivery-estimate { margin: 24px 0 12px; font-size: .92em; }
.single-product .hf-trust-box { margin-top: 0; }
.single-product .hf-checkout-safe img { display: block; width: 100%; max-width: 100%; }

@media screen and (max-width: 849px) {
  .single-product .hf-single-product-row { display: block; padding: 18px 10px 0; }
  .single-product .hf-product-gallery-column,
  .single-product .hf-product-summary-column {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .single-product .hf-gallery-wrap { display: block; }
  .single-product .hf-gallery-main-col { width: 100%; max-width: 100%; }
  .single-product .hf-gallery-slide > a { height: auto; min-height: 0; aspect-ratio: 1 / 1; }
  .single-product .hf-gallery-thumbs-col { width: 100%; max-width: 100%; margin-top: 10px; }
  .single-product .hf-product-thumbnails {
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .single-product .hf-product-summary-column { margin-top: 24px; }
}

@media screen and (min-width: 1200px) {
  #masthead .header-inner > .hide-for-medium.flex-left,
  #masthead .header-inner > .hide-for-medium.flex-right {
    flex-basis: 360px;
    width: 360px;
    max-width: 360px;
  }
  #masthead .header-search-form {
    width: 340px;
    max-width: 340px;
  }
}

@media screen and (min-width: 850px) and (max-width: 1199px) {
  #masthead .header-inner > .hide-for-medium.flex-left,
  #masthead .header-inner > .hide-for-medium.flex-right {
    flex-basis: 300px;
    width: 300px;
    max-width: 300px;
  }
  #masthead .header-search-form {
    width: 285px;
    max-width: 285px;
  }
  #masthead .header-search-form .search_categories {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
  }
}

.single-product .hf-product-navigation {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}
.single-product .hf-product-navigation li { margin: 0; }
.single-product .hf-product-navigation .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  background: #fff;
  color: #999;
  font-size: 24px;
  line-height: 1;
  box-shadow: none;
}

/* =========================================================
   v1.4.0 — source page fidelity and product-content repairs
   ========================================================= */
.single-product .hf-product-page-title .page-title.light.normal-title {
  padding: 10px 0 12px;
  min-height: 0;
}
.single-product .hf-product-page-title .page-title-inner {
  min-height: 78px;
  padding-top: 0;
  padding-bottom: 0;
  justify-content: center;
}
.single-product .hf-product-page-title .entry-title {
  margin: 0 0 4px;
  font-size: 1.35em;
  line-height: 1.2;
}
.single-product .hf-product-page-title .title-breadcrumbs {
  padding-top: 2px;
  padding-bottom: 0;
}

.single-product .hf-single-product-row {
  max-width: 1170px;
  padding-top: 24px;
}
.single-product .hf-product-gallery-column {
  flex-basis: 53%;
  width: 53%;
  max-width: 53%;
  padding-right: 22px;
}
.single-product .hf-product-summary-column {
  flex-basis: 47%;
  width: 47%;
  max-width: 47%;
  padding-left: 22px;
}
.single-product .hf-gallery-main-col {
  width: calc(100% - 82px);
  max-width: calc(100% - 82px);
}
.single-product .hf-gallery-slide > a {
  height: 520px;
  min-height: 520px;
  background: #fff;
}
.single-product .hf-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.single-product .hf-gallery-thumb img {
  object-fit: cover;
  object-position: center;
}

/* Remove any plugin-generated broken font stars in the purchase summary. */
.single-product .hf-product-summary-column .star-rating,
.single-product .hf-product-summary-column .woocommerce-product-rating {
  display: none !important;
}
.single-product .hf-trust-stars {
  display: block;
  margin: 0 0 7px;
  color: #ffb000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}
.single-product .hf-trust-box .testimonial-text h3 {
  margin: 0 0 3px;
  font-size: 1.18em;
  line-height: 1.25;
}
.single-product .hf-trust-box .testimonial-text p { margin: 0; }
.single-product .hf-checkout-safe { margin-top: 12px; }
.single-product .hf-checkout-safe img {
  display: block;
  width: 100%;
  max-width: 510px;
  height: auto;
  margin: 0;
}

/* Product-specific tabs extracted from each original product page. */
.single-product .hf-product-tabs-container {
  max-width: 1170px;
  margin-top: 30px;
  padding-top: 0;
}
.single-product .hf-product-tabs-container .woocommerce-tabs { width: 100%; }
.single-product .hf-product-tabs-container .tabs {
  justify-content: center;
  margin-bottom: 18px;
}
.single-product .hf-product-tabs-container .woocommerce-Tabs-panel {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.single-product .hf-source-description {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}
.single-product .hf-source-description > *:first-child { margin-top: 0; }
.single-product .hf-important-notice {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 0;
  color: #263238;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  line-height: 1.45;
}
.single-product .hf-important-notice h4 {
  margin: 0 0 8px;
  text-align: center;
  text-decoration: underline;
}
.single-product .hf-important-notice ul {
  margin: 0;
  padding-left: 20px;
}
.single-product .hf-important-notice li { margin: 3px 0; }
.single-product .hf-important-notice li:first-child,
.single-product .hf-important-notice li:nth-child(2) { color: #b00000; }

/* Exact product-specific WhatsApp review set, shown as a carousel instead of
   an endless image grid. Retained images are local cropped copies. */
.single-product .hf-whatsapp-title {
  max-width: 1170px;
  margin-top: 30px;
  margin-bottom: 20px;
}
.single-product .hf-source-reviews {
  position: relative;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto 36px;
  padding: 0 34px;
}
.single-product .hf-source-reviews-viewport {
  width: 100%;
  overflow: hidden;
}
.single-product .hf-source-reviews-track {
  display: flex;
  align-items: flex-start;
  width: 100%;
  transform: translate3d(0,0,0);
  transition: transform .28s ease;
  will-change: transform;
}
.single-product .hf-source-review-slide {
  flex: 0 0 25%;
  width: 25%;
  min-width: 25%;
  padding: 0 10px;
}
.single-product .hf-source-review-open {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 410px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  box-shadow: none;
  cursor: zoom-in;
}
.single-product .hf-source-review-open:hover,
.single-product .hf-source-review-open:focus {
  background: #fff;
  box-shadow: none;
  transform: none;
}
.single-product .hf-source-review-open img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
}
.single-product .hf-source-reviews-prev,
.single-product .hf-source-reviews-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 34px;
  height: 48px;
  margin-top: -24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #999;
  font-size: 34px;
  line-height: 1;
  box-shadow: none;
}
.single-product .hf-source-reviews-prev { left: 0; }
.single-product .hf-source-reviews-next { right: 0; }
.single-product .hf-source-reviews-prev:disabled,
.single-product .hf-source-reviews-next:disabled { opacity: .25; cursor: default; }

@media screen and (max-width: 849px) {
  .single-product .hf-product-page-title { display: block; }
  .single-product .hf-product-page-title .page-title-inner { min-height: 68px; }
  .single-product .hf-product-gallery-column,
  .single-product .hf-product-summary-column {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .single-product .hf-gallery-main-col { width: 100%; max-width: 100%; }
  .single-product .hf-gallery-slide > a { height: auto; min-height: 0; aspect-ratio: 1 / 1; }
  .single-product .hf-product-tabs-container { padding-left: 12px; padding-right: 12px; }
  .single-product .hf-source-reviews { padding-left: 24px; padding-right: 24px; }
  .single-product .hf-source-review-slide { flex-basis: 33.3333%; width: 33.3333%; min-width: 33.3333%; padding: 0 6px; }
  .single-product .hf-source-review-open { height: 330px; }
}

@media screen and (max-width: 559px) {
  .single-product .hf-source-review-slide { flex-basis: 50%; width: 50%; min-width: 50%; }
  .single-product .hf-source-review-open { height: 300px; }
  .single-product .hf-source-reviews { padding-left: 20px; padding-right: 20px; }
}

/* v1.4.1 — prevent Flatsome's uninitialised slider rules from collapsing the custom gallery */
.single-product .hf-gallery-wrap {
  display: grid !important;
  grid-template-columns: 70px minmax(0, 1fr);
  column-gap: 14px;
  width: 100% !important;
  max-width: 100% !important;
}
.single-product .hf-gallery-thumbs-col {
  grid-column: 1;
  width: 70px !important;
  max-width: 70px !important;
  min-width: 70px !important;
}
.single-product .hf-gallery-main-col {
  grid-column: 2;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}
.single-product .hf-woocommerce-product-gallery,
.single-product .product-gallery-slider {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 520px !important;
  min-height: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: normal !important;
}
.single-product .product-gallery-slider > .hf-gallery-slide {
  position: absolute !important;
  inset: 0 !important;
  display: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
}
.single-product .product-gallery-slider > .hf-gallery-slide.is-active {
  display: block !important;
  z-index: 2 !important;
}
.single-product .hf-gallery-slide > a {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 520px !important;
  align-items: center !important;
  justify-content: center !important;
}
.single-product .hf-gallery-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.single-product .hf-gallery-arrow,
.single-product .hf-gallery-expand {
  z-index: 8 !important;
}

@media screen and (max-width: 849px) {
  .single-product .hf-gallery-wrap {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
  }
  .single-product .hf-gallery-main-col { order: 1; }
  .single-product .hf-gallery-thumbs-col {
    order: 2;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .single-product .hf-woocommerce-product-gallery,
  .single-product .product-gallery-slider {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
  }
  .single-product .hf-gallery-slide > a {
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
  }
}
