.elementor-1557 .elementor-element.elementor-element-sps1{--display:flex;--padding-top:76px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-sps1:not(.elementor-motion-effects-element-type-background), .elementor-1557 .elementor-element.elementor-element-sps1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1557 .elementor-element.elementor-element-spi1{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-1557 .elementor-element.elementor-element-sprow{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:40px 60px;--row-gap:40px;--column-gap:60px;}.elementor-1557 .elementor-element.elementor-element-spgl{--display:flex;}.elementor-1557 .elementor-element.elementor-element-spgp{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-spsm{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-speyb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:start;}.elementor-1557 .elementor-element.elementor-element-speyb .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;font-size:14px;font-weight:600;letter-spacing:5px;color:#C8A86B;}.elementor-1557 .elementor-element.elementor-element-spttl{text-align:start;}.elementor-1557 .elementor-element.elementor-element-spttl .elementor-heading-title{font-family:"Noto Serif TC", Sans-serif;font-size:32px;font-weight:600;line-height:1.5em;letter-spacing:2px;color:#0C1C3D;}.elementor-1557 .elementor-element.elementor-element-sprul{--divider-border-style:solid;--divider-color:#C8A86B;--divider-border-width:2px;}.elementor-1557 .elementor-element.elementor-element-sprul .elementor-divider-separator{width:18%;margin:0 auto;margin-left:0;}.elementor-1557 .elementor-element.elementor-element-sprul .elementor-divider{text-align:left;padding-block-start:22px;padding-block-end:22px;}.elementor-1557 .elementor-element.elementor-element-spatc .cart button, .elementor-1557 .elementor-element.elementor-element-spatc .cart .button{transition:all 0.2s;}.elementor-1557 .elementor-element.elementor-element-spatc .quantity .qty{transition:all 0.2s;}.elementor-1557 .elementor-element.elementor-element-sps2{--display:flex;--padding-top:90px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-sps2:not(.elementor-motion-effects-element-type-background), .elementor-1557 .elementor-element.elementor-element-sps2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF7F1;}.elementor-1557 .elementor-element.elementor-element-spi2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-1557 .elementor-element.elementor-element-sph2{text-align:center;}.elementor-1557 .elementor-element.elementor-element-sph2 .elementor-heading-title{font-family:"Noto Serif TC", Sans-serif;font-size:30px;font-weight:600;line-height:1.5em;letter-spacing:4px;color:#0C1C3D;}.elementor-1557 .elementor-element.elementor-element-spr2{--divider-border-style:solid;--divider-color:#C8A86B;--divider-border-width:2px;}.elementor-1557 .elementor-element.elementor-element-spr2 .elementor-divider-separator{width:22%;margin:0 auto;margin-center:0;}.elementor-1557 .elementor-element.elementor-element-spr2 .elementor-divider{text-align:center;padding-block-start:24px;padding-block-end:24px;}.elementor-1557 .elementor-element.elementor-element-sps3{--display:flex;--padding-top:90px;--padding-bottom:110px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-sps3:not(.elementor-motion-effects-element-type-background), .elementor-1557 .elementor-element.elementor-element-sps3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1557 .elementor-element.elementor-element-spi3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-1557 .elementor-element.elementor-element-sph3{text-align:center;}.elementor-1557 .elementor-element.elementor-element-sph3 .elementor-heading-title{font-family:"Noto Serif TC", Sans-serif;font-size:30px;font-weight:600;line-height:1.5em;letter-spacing:4px;color:#0C1C3D;}.elementor-1557 .elementor-element.elementor-element-spr3{--divider-border-style:solid;--divider-color:#C8A86B;--divider-border-width:2px;}.elementor-1557 .elementor-element.elementor-element-spr3 .elementor-divider-separator{width:22%;margin:0 auto;margin-center:0;}.elementor-1557 .elementor-element.elementor-element-spr3 .elementor-divider{text-align:center;padding-block-start:24px;padding-block-end:24px;}.elementor-1557 .elementor-element.elementor-element-sprel.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-1557 .elementor-element.elementor-element-sprel.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-1557 .elementor-element.elementor-element-sprel.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-1557 .elementor-element.elementor-element-sps1{--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-spgl{--width:100%;}.elementor-1557 .elementor-element.elementor-element-spgp{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-spsm{--width:100%;}.elementor-1557 .elementor-element.elementor-element-spttl .elementor-heading-title{font-size:24px;}.elementor-1557 .elementor-element.elementor-element-sps2{--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-sph2 .elementor-heading-title{font-size:23px;}.elementor-1557 .elementor-element.elementor-element-sps3{--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-1557 .elementor-element.elementor-element-sph3 .elementor-heading-title{font-size:23px;}.elementor-1557 .elementor-element.elementor-element-sprel.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(min-width:768px){.elementor-1557 .elementor-element.elementor-element-spi1{--content-width:1200px;}.elementor-1557 .elementor-element.elementor-element-spgl{--width:50%;}.elementor-1557 .elementor-element.elementor-element-spsm{--width:44%;}.elementor-1557 .elementor-element.elementor-element-spi2{--content-width:920px;}.elementor-1557 .elementor-element.elementor-element-spi3{--content-width:1200px;}}/* Start custom CSS *//* the single-template wrapper carries a 60px top gap and the body behind it is grey */
body.single-product{background:#fff}
.single-product div.product.elementor-location-single{padding-top:0;margin-top:0}

/* dividers carry the brand gradient; border-image survives Elementor's lazy-load reset */
.elementor-element-spr2 .elementor-divider-separator,
.elementor-element-spr3 .elementor-divider-separator{
  border:0;
  border-top:2px solid transparent;
  border-image:linear-gradient(90deg,rgba(200,168,107,0) 0%,#C8A86B 50%,rgba(200,168,107,0) 100%) 1;
}
.elementor-element-sprul .elementor-divider-separator{
  border:0;
  border-top:2px solid transparent;
  border-image:linear-gradient(90deg,#C8A86B 0%,rgba(200,168,107,0) 100%) 1;
}

/* --- summary --- */
.elementor-element-spttl h1{margin:0}
.elementor-widget-woocommerce-product-price .price{
  font-family:"Noto Serif TC",serif;
  font-size:32px;
  font-weight:600;
  color:#C8A86B;
  letter-spacing:1.5px;
}
.elementor-widget-woocommerce-product-price{margin-bottom:24px}
.elementor-widget-woocommerce-product-short-description{
  font-family:"Noto Serif TC",serif;
  font-size:16px;
  line-height:2.05;
  color:#6C7488;
  margin-bottom:32px;
}
.elementor-widget-woocommerce-product-meta{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(12,28,61,.1);
}
.elementor-widget-woocommerce-product-meta .product_meta{
  font-family:"Noto Serif TC",serif;
  font-size:13px;
  color:#9AA0B0;
  letter-spacing:1px;
}
.elementor-widget-woocommerce-product-meta .product_meta > span{display:block;margin-bottom:6px}
.elementor-widget-woocommerce-product-meta .product_meta a{color:#6C7488;text-decoration:none}
.elementor-widget-woocommerce-product-meta .product_meta a:hover{color:#C8A86B}

/* --- add to cart --- */
.woocommerce div.product form.cart{margin:0;display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .quantity input{
  height:54px;
  width:76px;
  border:1px solid rgba(12,28,61,.18);
  background:transparent;
  font-family:"Noto Serif TC",serif;
  font-size:15px;
  color:#0C1C3D;
  text-align:center;
}
.woocommerce div.product .single_add_to_cart_button{
  flex:1 1 auto;
  min-height:54px;
  background:transparent;
  border:1px solid #C8A86B;
  border-radius:0;
  color:#C8A86B;
  font-family:"Noto Serif TC",serif;
  font-size:15px;
  font-weight:500;
  letter-spacing:3px;
  padding:0 40px;
  transition:background-color .45s cubic-bezier(.22,.61,.36,1),color .45s cubic-bezier(.22,.61,.36,1);
}
.woocommerce div.product .single_add_to_cart_button:hover{background:#C8A86B;color:#fff}

/* --- gallery --- */
.woocommerce div.product div.images img{border-radius:0;mix-blend-mode:normal}
.woocommerce div.product div.images .woocommerce-product-gallery__image > img,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > a > img{
  background:#fff;
  border:1px solid rgba(12,28,61,.12);
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{display:none}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:16px;gap:10px;display:flex}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;margin:0}
.woocommerce div.product div.images .flex-control-thumbs img{
  width:72px;
  border:1px solid rgba(12,28,61,.08);
  opacity:.75;
  transition:opacity .3s ease,border-color .3s ease;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1;border-color:#C8A86B}

/* --- long description --- */
.elementor-widget-woocommerce-product-content{font-family:"Noto Serif TC",serif;color:#4A5162}
.elementor-widget-woocommerce-product-content p{font-size:16px;line-height:2.05;margin:0 0 18px}
.elementor-widget-woocommerce-product-content h2,
.elementor-widget-woocommerce-product-content h3,
.elementor-widget-woocommerce-product-content h4{
  font-size:19px;
  font-weight:600;
  color:#0C1C3D;
  letter-spacing:1.4px;
  line-height:1.6;
  margin:44px 0 16px;
  padding-left:14px;
  border-left:3px solid #C8A86B;
}
.elementor-widget-woocommerce-product-content h2:first-child,
.elementor-widget-woocommerce-product-content h3:first-child{margin-top:0}
.elementor-widget-woocommerce-product-content ul,
.elementor-widget-woocommerce-product-content ol{margin:0 0 18px;padding-left:0;list-style:none}
.elementor-widget-woocommerce-product-content li{
  position:relative;
  font-size:16px;
  line-height:1.95;
  padding-left:22px;
  margin-bottom:8px;
}
.elementor-widget-woocommerce-product-content li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.85em;
  width:6px;
  height:6px;
  border:1px solid #C8A86B;
  transform:rotate(45deg);
}
.elementor-widget-woocommerce-product-content img{
  display:block;
  max-width:420px;
  margin:28px auto;
  border-radius:2px;
}

/* --- related --- */
.elementor-widget-woocommerce-product-related .related > h2{display:none}
.elementor-widget-woocommerce-product-related ul.products li.product{
  background:#FAF7F1;
  border:1px solid rgba(12,28,61,.06);
  border-radius:2px;
  padding:22px 20px 26px;
  text-align:center;
  transition:box-shadow .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1);
}
.elementor-widget-woocommerce-product-related ul.products li.product:hover{
  box-shadow:0 14px 38px rgba(12,28,61,.08);
  transform:translateY(-3px);
}
.elementor-widget-woocommerce-product-related ul.products li.product img{
  border-radius:0;
  mix-blend-mode:normal;
  background:#fff;
  border:1px solid rgba(12,28,61,.10);
  margin-bottom:16px;
}
.elementor-widget-woocommerce-product-related ul.products li.product .woocommerce-loop-product__title{
  font-family:"Noto Serif TC",serif;
  font-size:17px;
  font-weight:600;
  color:#0C1C3D;
  letter-spacing:1px;
  line-height:1.6;
  padding:0;
}
.elementor-widget-woocommerce-product-related ul.products li.product .price{
  font-family:"Noto Serif TC",serif;
  font-size:15px;
  color:#C8A86B;
}
.elementor-widget-woocommerce-product-related ul.products li.product .button,
.elementor-widget-woocommerce-product-related ul.products li.product .onsale{display:none}

@media(max-width:767px){
  .elementor-element-spttl h1{font-size:24px}
  .woocommerce div.product form.cart{flex-direction:column}
  .woocommerce div.product form.cart .quantity input{width:100%}
}
@media(max-width:767px){.elementor-widget-woocommerce-product-price .price{font-size:25px}}

/* --- overrides: the theme's own product rules outrank two-class body.elementor-page-1557s --- */

/* product photo: original artwork, framed, no zoom overlay */
.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg){
  background:#fff;
  border:1px solid rgba(12,28,61,.12);
  border-radius:0;
  mix-blend-mode:normal;
  display:block;
  width:100%;
  height:auto;
}

/* price in the brand gold, at display size */
.woocommerce div.product .elementor-widget-woocommerce-product-price p.price,
.woocommerce div.product .elementor-widget-woocommerce-product-price p.price span,
.woocommerce div.product .elementor-widget-woocommerce-product-price p.price bdi,
.woocommerce div.product .elementor-widget-woocommerce-product-price p.price .woocommerce-Price-currencySymbol{
  font-family:"Noto Serif TC",serif;
  font-size:32px;
  font-weight:600;
  color:#C8A86B;
  letter-spacing:1.5px;
  line-height:1.4;
}
.woocommerce div.product .elementor-widget-woocommerce-product-price p.price{margin:0 0 26px}

/* related cards: framed originals too */
.elementor-widget-woocommerce-product-related ul.products li.product a img{
  background:#fff;
  border:1px solid rgba(12,28,61,.10);
  border-radius:0;
  mix-blend-mode:normal;
}

@media(max-width:767px){
  .woocommerce div.product .elementor-widget-woocommerce-product-price p.price,
  .woocommerce div.product .elementor-widget-woocommerce-product-price p.price span,
  .woocommerce div.product .elementor-widget-woocommerce-product-price p.price bdi{font-size:25px}
}
/* --- hover zoom: the magnifier overlay must sit clean on top, never blended --- */
.woocommerce div.product div.images .woocommerce-product-gallery__image{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(12,28,61,.12);
  background:#fff;
  cursor:zoom-in;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg){
  border:0;
  background:#fff;
  mix-blend-mode:normal;
  display:block;
  width:100%;
  height:auto;
}
.woocommerce div.product div.images img.zoomImg{
  display:block;
  mix-blend-mode:normal;
  background:#fff;
  border:0;
  opacity:1;
}
/* --- related products: one card, not a framed photo sitting on a coloured strip --- */
.elementor-widget-woocommerce-product-related ul.products{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  gap:32px;
  margin:0;
  padding:0;
  list-style:none;
}
.elementor-widget-woocommerce-product-related ul.products::before,
.elementor-widget-woocommerce-product-related ul.products::after{display:none!important}

.elementor-widget-woocommerce-product-related ul.products li.product{
  width:calc(33.333% - 22px);
  max-width:340px;
  margin:0!important;
  padding:0!important;
  float:none!important;
  background:#fff;
  border:1px solid rgba(12,28,61,.09);
  border-radius:0;
  overflow:hidden;
  text-align:center;
  transition:box-shadow .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1);
}
.elementor-widget-woocommerce-product-related ul.products li.product:hover{
  box-shadow:0 16px 40px rgba(12,28,61,.10);
  transform:translateY(-4px);
}
.elementor-widget-woocommerce-product-related ul.products li.product > a{display:block;text-decoration:none}

/* the photo sits flush inside the card, with no frame of its own */
.elementor-widget-woocommerce-product-related ul.products li.product a img,
.elementor-widget-woocommerce-product-related ul.products li.product img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  border:0!important;
  border-radius:0;
  background:#fff;
  mix-blend-mode:normal;
}

/* a hairline separates the photo from the caption */
.elementor-widget-woocommerce-product-related ul.products li.product .woocommerce-loop-product__title{
  margin:0;
  padding:22px 18px 8px;
  border-top:1px solid rgba(12,28,61,.07);
  font-family:"Noto Serif TC",serif;
  font-size:17px;
  font-weight:600;
  color:#0C1C3D;
  letter-spacing:1px;
  line-height:1.6;
}
.elementor-widget-woocommerce-product-related ul.products li.product .price,
.elementor-widget-woocommerce-product-related ul.products li.product .price bdi,
.elementor-widget-woocommerce-product-related ul.products li.product .price span{
  display:block;
  margin:0;
  padding:0;
  font-family:"Noto Serif TC",serif;
  font-size:16px;
  font-weight:600;
  color:#C8A86B;
  letter-spacing:1px;
}
.elementor-widget-woocommerce-product-related ul.products li.product .price{padding:0 18px 26px}
.elementor-widget-woocommerce-product-related ul.products li.product .button,
.elementor-widget-woocommerce-product-related ul.products li.product .onsale,
.elementor-widget-woocommerce-product-related ul.products li.product .star-rating{display:none!important}

@media(max-width:1024px){
  .elementor-widget-woocommerce-product-related ul.products li.product{width:calc(50% - 16px)}
}
@media(max-width:600px){
  .elementor-widget-woocommerce-product-related ul.products li.product{width:100%;max-width:none}
}
/* the currency symbol is a span inside bdi; only the wrapper may be a block */
.elementor-widget-woocommerce-product-related ul.products li.product .price{display:block}
.elementor-widget-woocommerce-product-related ul.products li.product .price bdi,
.elementor-widget-woocommerce-product-related ul.products li.product .price span,
.elementor-widget-woocommerce-product-related ul.products li.product .price .woocommerce-Price-currencySymbol{
  display:inline;
  white-space:nowrap;
}/* End custom CSS */