/* Shared storefront foundations. Product and archive component rules live in their own modules. */
body.imoto-design-refresh {
  --imoto-red: #e30613;
  --imoto-ink: #202832;
  --imoto-muted: #5c6673;
  --imoto-line: #e3e7ec;
  --imoto-radius: 12px;
  --imoto-soft-shadow: 0 4px 16px rgba(24, 35, 49, .045);
  --wd-text-font: Lato, Arial, Helvetica, sans-serif;
  --wd-title-font: Poppins, Arial, Helvetica, sans-serif;
  color: var(--imoto-ink);
}
body.imoto-design-refresh :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #345a82;
  outline-offset: 3px;
}
body.imoto-design-refresh .whb-header .whb-main-header { box-shadow: 0 2px 8px rgba(24,35,49,.04); }
body.imoto-design-refresh .whb-header .searchform { border-radius: 10px; }
body.imoto-design-refresh .whb-clone .wd-header-wishlist { display: none !important; }
body.imoto-design-refresh .wd-add-btn :is(a, .wd-action-text) {
  font-family: Lato, Arial, Helvetica, sans-serif !important;
}
body.imoto-design-refresh .hero-card.imoto-hero-card {
  border-radius: 12px !important;
  box-shadow: 0 3px 12px rgba(24,35,49,.06) !important;
}
body.imoto-design-refresh .hero-card.imoto-hero-card .hero-title {
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.imoto-design-refresh.home .elementor-widget-heading h2 {
  font-size: clamp(26px, 2.3vw, 32px);
  font-weight: 700;
  line-height: 1.25;
}

/* Consistent footer grid, with enough width for contact details on small screens. */
body.imoto-design-refresh footer.wd-footer {
  background: #11161c !important;
  border-top: 3px solid var(--imoto-red);
}
body.imoto-design-refresh .wd-footer .main-footer { padding-top: 40px !important; padding-bottom: 28px !important; }
body.imoto-design-refresh .wd-footer .elementor-element-dfb3e15,
body.imoto-design-refresh .wd-footer .elementor-element-dfb3e15 > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  left: auto !important;
}
body.imoto-design-refresh .wd-footer .elementor-element-a537157 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px !important;
  width: 100% !important;
  padding: 0 !important;
}
body.imoto-design-refresh .wd-footer .elementor-element-a537157 > .elementor-widget {
  width: auto !important;
  max-width: none !important;
  justify-self: stretch !important;
  min-width: 0;
  margin: 0 !important;
}
body.imoto-design-refresh .wd-footer .mega-menu-list > li > a {
  font-family: Lato, Arial, Helvetica, sans-serif;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5;
  letter-spacing: .02em;
  color: #fff !important;
}
body.imoto-design-refresh .wd-footer .sub-sub-menu > li { margin: 0 0 4px !important; }
body.imoto-design-refresh .wd-footer .sub-sub-menu { gap: 0 !important; }
body.imoto-design-refresh .wd-footer .sub-sub-menu a,
body.imoto-design-refresh .wd-footer .imoto-footer-static-text {
  font-family: Lato, Arial, Helvetica, sans-serif;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.6;
  color: #d2d8e0;
  padding-block: 5px !important;
  overflow-wrap: break-word;
}
body.imoto-design-refresh .wd-footer .sub-sub-menu a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body.imoto-design-refresh .wd-footer .wd-copyrights { padding-block: 18px !important; border-top: 1px solid #303842; }
body.imoto-design-refresh .wd-footer .wd-copyrights small { color: #bac3ce; font-size: 13px !important; }

/* Floating controls must never occupy a product action on touch layouts. */
@media (max-width: 1024px) {
  body.imoto-design-refresh .whb-clone .wd-header-my-account { display: none !important; }
  body.imoto-design-refresh .wd-toolbar { border-top: 1px solid var(--imoto-line); box-shadow: 0 -2px 12px rgba(24,35,49,.05); }
  body.imoto-design-refresh .scrollToTop { display: none !important; }
  body.imoto-design-refresh .wd-footer > .scrollToTop {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 4px auto 20px;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    transform: none !important;
    box-shadow: none;
  }
  body.imoto-design-refresh .wd-footer .elementor-element-a537157 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px !important; }
}
@media (max-width: 600px) {
  body.imoto-design-refresh .wd-footer .main-footer { padding-inline: 20px !important; padding-top: 30px !important; }
  body.imoto-design-refresh .wd-footer .elementor-element-7ac4458,
  body.imoto-design-refresh .wd-footer .elementor-element-f3090c7 { grid-column: 1 / -1; }
  body.imoto-design-refresh .wd-footer .elementor-element-7ac4458 .sub-sub-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 24px; }
  body.imoto-design-refresh .wd-footer .elementor-element-f3090c7 a,
  body.imoto-design-refresh .wd-footer .elementor-element-f3090c7 .imoto-footer-static-text { word-break: normal; overflow-wrap: normal; }
}

/* Compact consent choices retain every action and the existing consent behavior. */
body.imoto-design-refresh .wd-cookies-popup {
  border: 1px solid var(--imoto-line);
  box-shadow: 0 -4px 22px rgba(24,35,49,.08);
}
body.imoto-design-refresh .wd-cookies-popup .cookies-buttons :is(.btn, button) {
  border-radius: 8px;
  min-height: 44px;
  font-family: Lato, Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.3;
  box-shadow: none;
}
@media (max-width: 767px) {
  body.imoto-design-refresh .wd-cookies-popup { padding: 16px !important; max-height: 75dvh; }
  body.imoto-design-refresh .wd-cookies-popup .cookies-info-text { font-size: 14px; line-height: 1.5; }
  body.imoto-design-refresh .wd-cookies-popup .cookies-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body.imoto-design-refresh .wd-cookies-popup .cookies-buttons :is(.btn, button) { width: 100%; padding: 9px 8px; }
  body.imoto-design-refresh .wd-cookies-popup .imoto-cookies-settings-btn { grid-column: 1 / -1; }
}
/* Shared motion: separate translate/scale properties preserve theme transforms. */
@media (prefers-reduced-motion: no-preference) {
  body.imoto-design-refresh .wd-product.product-grid-item .wd-product-wrapper {
    transition: translate .28s ease, box-shadow .28s ease, border-color .28s ease !important;
  }
  body.imoto-design-refresh .wd-product.product-grid-item .product-image-link img {
    transition: scale .4s cubic-bezier(.2,.7,.3,1) !important;
  }
  body.imoto-design-refresh :is(.button, .btn, button[type="submit"], .wd-add-btn a, .wd-btn-arrow, .wd-nav-pagin li) {
    transition: translate .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
  }
  body.imoto-design-refresh :is(input.input-text, textarea, select) {
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  body.imoto-design-refresh .wd-footer .sub-sub-menu a {
    transition: color .2s ease, translate .2s ease;
  }
  @media (hover:hover) and (pointer:fine) {
    body.imoto-design-refresh .wd-product.product-grid-item:hover .wd-product-wrapper {
      translate: 0 -4px;
      box-shadow: 0 10px 24px rgba(24,35,49,.12) !important;
    }
    body.imoto-design-refresh .wd-product.product-grid-item:hover .product-image-link img { scale: 1.035; }
    body.imoto-design-refresh :is(.button, .btn, button[type="submit"], .wd-add-btn a):not(:disabled):hover { box-shadow: 0 3px 10px rgba(24,35,49,.14); }
    body.imoto-design-refresh .wd-footer .sub-sub-menu a:hover { translate: 3px 0; }
  }
  body.imoto-design-refresh :is(.button, .btn, button[type="submit"], .wd-add-btn a):not(:disabled):active { box-shadow: inset 0 1px 3px rgba(24,35,49,.18); }
}
@media (prefers-reduced-motion: reduce) {
  body.imoto-design-refresh .hero-card.imoto-hero-card { transition: none !important; }
}

/* Compact card rhythm and a distinct price panel shared by storefront listings. */
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper { gap:0 !important; }
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .product-element-bottom {
 display:grid !important; grid-template-columns:minmax(0,1fr) !important; grid-template-areas:"title" "price" "action" !important; grid-template-rows:1fr auto auto !important;
 gap:8px !important; padding:2px 12px 12px !important;
}
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .wd-entities-title {grid-area:title !important; min-height:0 !important; margin:0 !important;}
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .product-rating-price {grid-area:price !important; margin:0 !important;}
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .price {
 min-height:38px !important; padding:7px 10px !important; border:1px solid #e2e6eb !important; border-radius:8px !important; background:#f5f6f8 !important;
 gap:3px 6px !important; align-content:center; box-sizing:border-box;
}
:is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .price ins {min-height:0 !important; padding:0 !important; border:0 !important; background:transparent !important;}
body.imoto-design-refresh.home .elementor-element-f92dc7c {margin-bottom:28px !important;}
body.imoto-design-refresh.home .blog-title-left {margin-bottom:16px !important; padding-inline:0 !important;}
body.imoto-design-refresh.home .blog-heading {font-size:30px !important; line-height:1.25 !important;}
body.imoto-design-refresh.home .blog-design-list {--wd-gap-lg:20px !important; --wd-gap-md:18px !important; --wd-gap-sm:16px !important;}
body.imoto-design-refresh.home .blog-design-list .wd-post-inner {padding:16px !important; gap:20px !important;}
body.imoto-design-refresh.single-product .related-and-upsells {margin-top:24px !important; padding-bottom:20px !important;}
body.imoto-design-refresh .related-products .wd-nav-pagin-wrap {margin-top:4px !important;}
@media(max-width:767px) {
 :is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .product-element-bottom {padding:0 9px 10px !important; gap:7px !important;}
 :is(body.home.page-id-1146 .elementor-element-51aeff1, body.imoto-shop-archive-polish, body.single-product .related-and-upsells) .wd-product.product-grid-item .wd-product-wrapper .price {padding:6px 8px !important;}
 body.imoto-design-refresh.home .elementor-element-f92dc7c {margin-bottom:24px !important;}
 body.imoto-design-refresh.home .blog-heading {font-size:26px !important;}
}
body.imoto-design-refresh:is(.blog,.archive.category,.single-post) .wd-content-layout {padding-top:24px; padding-bottom:36px;}
body.imoto-design-refresh.single-post .wd-content-layout > .site-content {padding:28px 32px;}
@media(max-width:767px) {body.imoto-design-refresh.single-post .wd-content-layout > .site-content {padding:20px 16px;}}
/* Related cards retain the theme's nested action wrapper in normal flex flow. */
body.single-product.imoto-design-refresh .related-and-upsells .wd-product.product-grid-item .wd-product-wrapper .product-element-bottom {display:flex !important; flex-direction:column !important;}
body.single-product.imoto-design-refresh .related-and-upsells .wd-product.product-grid-item .wd-product-wrapper .wd-entities-title {flex:1;}
body.single-product.imoto-design-refresh .related-and-upsells .wd-product.product-grid-item .wd-product-wrapper .price {align-items:flex-start !important; text-align:left !important;}
body.single-product.imoto-design-refresh .related-and-upsells .wd-product.product-grid-item .wd-product-wrapper .wd-entities-title {flex:1 0 auto;}
body.single-product.imoto-design-refresh .related-and-upsells .wd-product.product-grid-item .wd-product-wrapper :is(.product-rating-price,.wrapp-product-price) {display:block !important; height:auto !important; min-height:0 !important; flex:0 0 auto;}
/* Gallery previews use equal boxes even when photos and software screenshots differ. */
/* The theme hides label spans on mobile; a static author name remains readable. */
body.imoto-design-refresh .wd-post-meta .wd-post-author > span.author {display:inline !important;}
/* Swiper positions dynamic bullets from the leading edge of its clipped window. */
body.single-product.imoto-design-refresh .product-images .wd-nav-pagin.wd-type-bullets-dynamic {justify-content:flex-start !important;}
body.single-product.imoto-design-refresh .product-images .wd-gallery-thumb .wd-carousel-item img {
 width:100% !important; height:auto !important; aspect-ratio:4 / 3; object-fit:contain !important;
}
/* Keep product details readable while delayed theme scripts initialize mobile accordions. */
@media(max-width:1024px) {
 body.single-product.imoto-single-product-view .woocommerce-tabs.tabs-layout-tabs {display:block !important;}
 body.single-product.imoto-single-product-view .woocommerce-tabs.tabs-layout-tabs .wd-nav-wrapper {display:block !important;}
 body.single-product.imoto-single-product-view .woocommerce-tabs.tabs-layout-tabs .wd-accordion-title {display:none !important;}
 body.single-product.imoto-single-product-view .woocommerce-tabs.tabs-layout-tabs .woocommerce-Tabs-panel.wd-active {display:block !important;}
}
