/* UI2 CSS 入口 */

/* 建议：所有 UI2 的样式都写在这里或拆分后再 @import（如有构建工具再调整） */

/* 引入拆分后的 CSS 文件 */
@import url('header-ui2.css?v=20260723-2');
@import url('product-ui2.css?v=20260525-2');
@import url('shop.css');
@import url('cart-ui2.css');
@import url('checkout-ui2.css');
@import url('footer-ui2.css?v=20260723-1');
@import url('blog.css');

/* UI2 typography: prefer Noto Serif JP, then fall back to Zen Kaku Gothic New. */
:root {
  --otjp-font-primary: "Noto Serif JP", "Zen Kaku Gothic New", serif;
}

html,
body,
button,
input,
select,
textarea,
p,
span,
div,
a {
  font-family: var(--otjp-font-primary) !important;
}
#header .container{
  max-width: 100% !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--otjp-font-primary) !important;
}
p{
  margin-bottom: 0;
}
.otjp-ui2 .main-content{
  padding-bottom: 0 !important;
}

body.otjp-ui2 #main.column1.wide.no-breadcrumbs .container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.otjp-ui2 #main.column1.wide.no-breadcrumbs .row.main-content-wrap {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.otjp-ui2 #main.column1.wide.no-breadcrumbs .main-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


body.otjp-ui2 #main .main-content > .porto-block [data-elementor-post-type="porto_builder"] > .e-con.e-parent {
  --width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* UI2：Elementor 小部件/容器之间不额外留白（各区块自身已控制 padding） */
body.otjp-ui2.single-product #main .elementor-element:where(.e-con-full,.elementor-widget) {
  gap: 0 !important;
}
body.otjp-ui2 #main .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}
.post-type-archive-product #main,.tax-product_cat #main{
    background: #FFFAF9;
}
.admin-bar .pswp{
  z-index: 99999 !important;
}

/* Shop：布局宽度仅在 PC 端生效（移动端交给 Porto/Bootstrap 默认响应式，避免变成“窄条”） */
@media (min-width: 992px){
  .post-type-archive-product #main>.container,
  .tax-product_cat #main>.container{
      max-width: none !important;
  }
  .post-type-archive-product #main>.container .main-content-wrap,
  .tax-product_cat #main>.container .main-content-wrap{
    max-width: 90vw !important;
    margin: 0 auto;
  }
  .post-type-archive-product .main-content,
  .tax-product_cat .main-content{
     width: calc(100% - 350px);
  }
  .post-type-archive-product .left-sidebar,
  .tax-product_cat .left-sidebar{
     width: 350px;
  }
}
@media screen and (max-width: 1400px) and (min-width: 992px) {   
  .post-type-archive-product #main>.container .main-content-wrap,
  .tax-product_cat #main>.container .main-content-wrap{
    max-width: 100vw !important;
  }
} 
.sidebar-opened .mobile-sidebar{
  z-index: 100000 !important;
}   
.post-type-archive-product .my-collection-products,.tax-product_cat .my-collection-products{
  background: #FFFAF9 !important;
}

.woocommerce-wishlist .img-responsive{
  border-radius: 10px !important;
}

.my-collection-products .post-title,.my-collection-products .price{
  background-color: #fff !important;
  text-align: center;
}
.my-collection-products .price{
  color: #cb4e7c;
}
.product-list-brief{
  background-color: #fff !important;
}
.page-wrapper .custom-variation{
  width: 17em !important;
}
.yith-wcwl-add-button .delete_item:hover{
  background-color: #E8A0B5 !important;
  border-color: #E8A0B5 !important;
}
.yith-wcwl-add-button .add_to_wishlist:hover{
  background-color: #E8A0B5 !important;
  border-color: #E8A0B5 !important;
}
.single-product .yith-wcwl-add-button .separator{
  display: none !important;
}
.single-product .yith-wcwl-add-button .view-wishlist{
  display: none !important;
}
.single-product .yith-wcwl-add-button .delete_item{
  border: unset !important;
  color: #E8A0B5 !important;
  background: #fff;
  border-radius: 50%;
  padding: 10px;
}
.single-product .yith-wcwl-add-button .delete_item:before{
  font-size: 1rem !important;
}
.single-product .yith-wcwl-add-button .delete_item:hover{
  background: #E8A0B5 !important;
  border: unset !important;
  color: #fff !important;
}
.single-product .yith-wcwl-add-button .add_to_wishlist{
  border-radius: 999px !important;
  color: #E8A0B5 !important;
  background: #fff;
  padding: 10px;
}
.single-product .yith-wcwl-add-button .add_to_wishlist:before{
  font-size: 1rem !important;
}
.single-product .yith-wcwl-add-button .add_to_wishlist:hover{
  background-color: #E8A0B5 !important;
  border-color: #E8A0B5 !important;
  border-radius: 999px !important;
  color: #fff !important;
}
.yith-wcwl-add-button a{
  padding: 10px;
  border-radius: 50%;
  background: #fff;
  color: #E8A0B5 !important;
}
.yith-wcwl-add-button a:hover{
  background: #E8A0B5 !important;
  color: #fff !important;
}
.yith-wcwl-add-button a:before{
  font-size: 1rem !important;
}
.woocommerce-pagination li span.current{
  border-color: #E8A0B5 !important;
}
.woocommerce-pagination li a:hover{
  border-color: #E8A0B5 !important;
}
.my-active-img-wrap{
  display: none !important;
}
.woocommerce-account .my-breadcrumbs{
  background-color: #fffaf9;
}
.woocommerce-account #main{
  background-color: #fffaf9;
}
.woocommerce-account .woocommerce-Button{
  background-color: #E8A0B5 !important;
  color: #fff;
}
@media (max-width: 768px) {
  .my-product-main{
    max-width: 100vw !important;
  }
  .my-product-right{
    padding-left: 0 !important;
  }
}


/* ------------------------------------------------------------
 * WooCommerce: Star rating（UI2 修复）
 * 说明：Porto 默认会禁用 WooCommerce 自带样式（woocommerce_enqueue_styles），
 * 在某些页面/布局下会导致 .star-rating 没有基础 CSS，从而只显示文字。
 * 这里用不依赖字体的 Unicode ★ 做最小兜底。
 * ------------------------------------------------------------ */
.woocommerce .star-rating,
.woocommerce-page .star-rating {
  position: relative;
  display: inline-block;
  width: 6em;
  height: 1em;
  line-height: 1;
  overflow: hidden;
  letter-spacing: 0.12em;
  vertical-align: middle;
}

.woocommerce .star-rating::before,
.woocommerce-page .star-rating::before {
  content: "★★★★★";
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(0, 0, 0, 0.18);
}

.woocommerce .star-rating span,
.woocommerce-page .star-rating span {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 1em;
  overflow: hidden;
  white-space: nowrap;
  text-indent: -9999px; /* 隐藏“0 out of 5”等文字，避免遮挡星星 */
}

.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before {
  content: "★★★★★";
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 0;
  color: #6a6a6d;
}


body.otjp-ui2.woocommerce-wishlist .elementor-widget-my-breadcrumbs-section{
  display: none;
}
body.otjp-ui2.woocommerce-wishlist  #yith-wcwl-form{
  display: none;
}
body.otjp-ui2.woocommerce-wishlist .otjp-ui2-section__header{
  margin-bottom: 40px;
  margin-top: 40px;
}
body.otjp-ui2 .otjp-banner-num{
  background: #E79EB3 !important;
}
body.otjp-ui2.woocommerce-wishlist .wishlist-footer{
  max-width: 1000px !important;
  margin: 0 auto !important;
}
.otjp-ui2-wishlist-fallback{
  display: block;
}
.otjp-ui2.woocommerce-wishlist .elementor-heading-title{
  display: none;
}
.my-wishlist .product-price{
  color: #E8A0B5 !important;
}
.slicewp-user-notice.slicewp-warning {
  font-size: 16px !important;
}
body.otjp-ui2 .woocommerce-thankyou-order-received{
  padding: 0;
  border: none;
  text-align: start;
}
.home .otjp-ui2-image-list {
  display: block;
  margin-top: 30px;
}
.home .otjp-ui2-image-list__container {
  max-width: 100%;
  padding: 0 90px;
}
@media (max-width: 768px) {
  .home .otjp-ui2-image-list__container {
    padding: 0 10px;
  }
}
#tab-title-reviews{
  display: none;
}

body.otjp-ui2 .otjp-ui2-fixed-shop-link{
  position: fixed;
  left: 34px;
  bottom: 34px;
  z-index: 9997;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  min-height: 68px;
  padding: 0 58px;
  border-radius: 999px;
  background: #f4b4ca;
  color: #463c40 !important;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  text-shadow: 1px 2px 0 rgba(255, 255, 255, .35);
  box-shadow: 14px 16px 0 rgba(112, 75, 92, .9), 24px 28px 36px rgba(70, 58, 50, .26);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  display: none !important;
}
body.otjp-ui2.home .otjp-ui2-fixed-shop-link{
  display: inline-flex !important;
}

body.otjp-ui2.woocommerce-shop .otjp-ui2-fixed-shop-link{
  display: none;
}

body.otjp-ui2 .otjp-ui2-fixed-shop-link:hover,
body.otjp-ui2 .otjp-ui2-fixed-shop-link:focus{
  background: #f7bfd2;
  color: #463c40 !important;
  transform: translate(-2px, -2px);
  box-shadow: 17px 19px 0 rgba(112, 75, 92, .9), 28px 32px 40px rgba(70, 58, 50, .28);
}

body.otjp-ui2 .otjp-ui2-fixed-shop-link:focus-visible{
  outline: 3px solid rgba(232, 160, 181, .55);
  outline-offset: 6px;
}

body.otjp-ui2 .otjp-ui2-fixed-shop-link:active{
  transform: translate(6px, 6px);
  box-shadow: 8px 10px 0 rgba(112, 75, 92, .9), 16px 18px 28px rgba(70, 58, 50, .22);
}

@media (max-width: 768px){
  body.otjp-ui2{
    padding-bottom: 92px;
  }

  body.otjp-ui2.woocommerce-shop{
    padding-bottom: 0;
  }

  body.otjp-ui2 .otjp-ui2-fixed-shop-link{
    left: 50%;
    bottom: 18px;
    min-width: 0;
    width: min(calc(100vw - 42px), 340px);
    min-height: 56px;
    padding: 0 28px;
    font-size: 19px;
    transform: translateX(-50%);
    box-shadow: 9px 11px 0 rgba(112, 75, 92, .9), 18px 20px 28px rgba(70, 58, 50, .24);
  }

  body.otjp-ui2 .otjp-ui2-fixed-shop-link:hover,
  body.otjp-ui2 .otjp-ui2-fixed-shop-link:focus{
    transform: translateX(-50%) translate(-1px, -1px);
    box-shadow: 11px 13px 0 rgba(112, 75, 92, .9), 20px 22px 30px rgba(70, 58, 50, .26);
  }

  body.otjp-ui2 .otjp-ui2-fixed-shop-link:active{
    transform: translateX(-50%) translate(4px, 4px);
    box-shadow: 5px 7px 0 rgba(112, 75, 92, .9), 12px 14px 22px rgba(70, 58, 50, .2);
  }
}
.grecaptcha-badge{
  display: none !important;
}
