/* Lucaffè Single Product Experience */
:root{
  --lspx-red:#94151a;
  --lspx-red-dark:#50070a;
  --lspx-gold:#d7b35a;
  --lspx-gold-light:#f4dfa5;
  --lspx-ink:#171719;
  --lspx-muted:#717177;
  --lspx-cream:#f4efe7;
  --lspx-white:#fff;
  --lspx-line:rgba(20,20,22,.09);
  --lspx-width:1380px;
  --lspx-screen:100vw;
}

body.lspx-enabled{
  overflow-x:clip!important;
  color:var(--lspx-ink);
  background:#fff!important;
}

body.lspx-enabled :is(
  .page-title,
  .title-size-small,
  .woocommerce-breadcrumb,
  .single-breadcrumbs-wrapper,
  .wd-products-nav
){
  display:none!important;
}

body.lspx-enabled :is(
  .website-wrapper,
  .main-page-wrapper,
  .site-content,
  .content-area,
  .wd-content-area,
  .content-layout-wrapper,
  .wd-content-layout
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.lspx-enabled .main-page-wrapper{
  padding-top:0!important;
  background:
    linear-gradient(180deg,#fff 0,#fff 56%,#f5f0e8 100%)!important;
}

body.lspx-enabled .main-page-wrapper>.container,
body.lspx-enabled .main-page-wrapper>.container-fluid,
body.lspx-enabled .site-content>.container,
body.lspx-enabled .content-layout-wrapper{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

body.lspx-enabled .site-content{
  padding-left:0!important;
  padding-right:0!important;
}

body.lspx-enabled .site-content>.product,
body.lspx-enabled div.product{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

body.lspx-enabled div.product *,
body.lspx-enabled div.product *::before,
body.lspx-enabled div.product *::after{
  box-sizing:border-box;
}

body.lspx-enabled div.product em,
.lspx-marquee em{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;
  font-weight:500;
}

/* Full-width product marquee */
.lspx-marquee{
  position:relative;
  z-index:2;
  width:var(--lspx-screen);
  max-width:var(--lspx-screen);
  margin-left:calc((100% - var(--lspx-screen))/2);
  margin-right:calc((100% - var(--lspx-screen))/2);
  padding:15px 0;
  overflow:hidden;
  color:#fff;
  border-top:1px solid rgba(215,179,90,.25);
  border-bottom:1px solid rgba(215,179,90,.28);
  background:
    radial-gradient(circle at 13% 50%,rgba(148,21,26,.44),transparent 28%),
    linear-gradient(115deg,#0c0c0d,#32100f 50%,#080809);
}

.lspx-marquee-track{
  width:max-content;
  display:flex;
  animation:lspxMarquee 52s linear infinite;
  will-change:transform;
}

.lspx-marquee:hover .lspx-marquee-track{
  animation-play-state:paused;
}

.lspx-marquee-group{
  display:flex;
  align-items:center;
  white-space:nowrap;
}

.lspx-marquee-group span{
  padding:0 23px;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.lspx-marquee-group em{
  margin-right:13px;
  color:var(--lspx-gold-light);
  font-size:20px;
  font-style:italic;
  letter-spacing:-.02em;
  text-transform:none;
}

.lspx-marquee-group b{
  color:var(--lspx-gold);
  font-size:16px;
  font-weight:400;
}

.lspx-back-nav{
  width:min(var(--lspx-width),calc(100% - 48px));
  margin:0 auto;
  padding:30px 0 23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--lspx-line);
}

.lspx-back-nav a,
.lspx-back-nav span{
  color:var(--lspx-muted)!important;
  text-decoration:none!important;
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.lspx-back-nav a{
  transition:color .2s ease,transform .2s ease;
}

.lspx-back-nav a:hover{
  color:var(--lspx-red)!important;
  transform:translateX(-3px);
}

/* Main product area */
body.lspx-enabled div.product{
  width:min(var(--lspx-width),calc(100% - 48px))!important;
  max-width:var(--lspx-width)!important;
  margin:0 auto!important;
  padding:54px 0 0!important;
  display:block!important;
  background:transparent!important;
}

body.lspx-enabled div.product>.product-image-summary,
body.lspx-enabled div.product.product-design-default>.product-image-summary,
body.lspx-enabled div.product:not(:has(>.product-image-summary)){
  position:relative;
}

body.lspx-enabled div.product>.product-image-summary{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)!important;
  align-items:start!important;
  gap:clamp(50px,6vw,100px)!important;
}

body.lspx-enabled div.product:not(:has(>.product-image-summary)){
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)!important;
  align-items:start!important;
  gap:clamp(50px,6vw,100px)!important;
}

body.lspx-enabled div.product :is(
  .woocommerce-product-gallery,
  .product-images
){
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(28px,4vw,58px)!important;
  border:1px solid rgba(20,20,22,.07);
  border-radius:34px;
  background:
    radial-gradient(circle at 80% 7%,rgba(215,179,90,.12),transparent 31%),
    radial-gradient(circle at 5% 85%,rgba(148,21,26,.06),transparent 29%),
    linear-gradient(145deg,#fff,#eee9e2);
  box-shadow:0 35px 95px rgba(24,20,17,.09);
  overflow:hidden!important;
}

body.lspx-enabled div.product :is(
  .woocommerce-product-gallery,
  .product-images
)::before{
  content:"LUCAFFÈ";
  position:absolute;
  right:-14px;
  top:20px;
  color:rgba(20,20,22,.035);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;
  font-size:clamp(54px,8vw,120px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.08em;
  pointer-events:none;
}

body.lspx-enabled .woocommerce-product-gallery__wrapper{
  margin:0!important;
}

body.lspx-enabled .woocommerce-product-gallery__image{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:clamp(440px,52vw,680px);
}

body.lspx-enabled .woocommerce-product-gallery__image a{
  width:100%;
  height:100%;
  display:flex!important;
  align-items:center;
  justify-content:center;
}

body.lspx-enabled .woocommerce-product-gallery__image img{
  width:100%!important;
  max-width:650px!important;
  height:clamp(420px,50vw,650px)!important;
  object-fit:contain!important;
  filter:drop-shadow(0 38px 34px rgba(0,0,0,.18));
  transition:transform .55s cubic-bezier(.2,.75,.2,1);
}

body.lspx-enabled .woocommerce-product-gallery__image:hover img{
  transform:scale(1.025);
}

body.lspx-enabled :is(
  .woocommerce-product-gallery__trigger,
  .wd-show-product-gallery-wrap
){
  top:21px!important;
  right:21px!important;
  width:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(20,20,22,.1)!important;
  border-radius:50%!important;
  color:var(--lspx-ink)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 12px 35px rgba(0,0,0,.08)!important;
  backdrop-filter:blur(12px);
}

body.lspx-enabled :is(
  .flex-control-thumbs,
  .woocommerce-product-gallery .owl-dots,
  .product-thumbnails
){
  margin:20px 0 0!important;
  padding:0!important;
  display:flex!important;
  justify-content:center;
  gap:10px!important;
}

body.lspx-enabled .flex-control-thumbs li,
body.lspx-enabled .product-thumbnails .product-image-thumbnail{
  width:76px!important;
  height:76px!important;
  padding:7px!important;
  border:1px solid rgba(20,20,22,.08)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
}

body.lspx-enabled .flex-control-thumbs img,
body.lspx-enabled .product-thumbnails img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:.62;
  transition:opacity .2s ease;
}

body.lspx-enabled .flex-control-thumbs img.flex-active,
body.lspx-enabled .flex-control-thumbs img:hover,
body.lspx-enabled .product-image-thumbnail.active-thumb img{
  opacity:1;
}

.lspx-gallery-badges{
  position:absolute;
  z-index:8;
  top:20px;
  left:20px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  pointer-events:none;
}

.lspx-gallery-badges span{
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:#fff;
  background:rgba(17,17,19,.82);
  box-shadow:0 13px 35px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* Product summary */
body.lspx-enabled div.product :is(
  .summary,
  .summary.entry-summary
){
  position:sticky!important;
  top:105px;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(20px,2vw,28px) 0 30px!important;
  float:none!important;
}

body.admin-bar.lspx-enabled div.product :is(.summary,.summary.entry-summary){
  top:137px;
}

.lspx-product-kicker,
.lspx-section-kicker{
  margin:0 0 17px!important;
  color:var(--lspx-red)!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.19em!important;
  text-transform:uppercase!important;
}

body.lspx-enabled div.product .product_title{
  margin:0!important;
  color:var(--lspx-ink)!important;
  font-size:clamp(45px,5vw,76px)!important;
  line-height:.94!important;
  font-weight:900!important;
  letter-spacing:-.065em!important;
}

.lspx-stock-rating{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:13px 22px;
}

.lspx-stock{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#3d3d42;
  font-size:10px;
  font-weight:800;
}

.lspx-stock i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#61b574;
  box-shadow:0 0 0 5px rgba(97,181,116,.12);
}

.lspx-stock.is-backorder i{
  background:#d7a74c;
  box-shadow:0 0 0 5px rgba(215,167,76,.12);
}

.lspx-stock.is-out-of-stock i{
  background:#b74646;
  box-shadow:0 0 0 5px rgba(183,70,70,.12);
}

.lspx-rating-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--lspx-ink)!important;
  text-decoration:none!important;
}

.lspx-rating-link .star-rating{
  margin:0!important;
  color:var(--lspx-gold)!important;
  font-size:13px!important;
}

.lspx-rating-link span{
  font-size:11px;
  font-weight:900;
}

.lspx-rating-link small,
.lspx-rating-empty{
  color:var(--lspx-muted);
  font-size:9px;
  font-weight:700;
}

body.lspx-enabled div.product .woocommerce-product-details__short-description{
  max-width:680px;
  margin:27px 0 0!important;
  color:var(--lspx-muted)!important;
  font-size:15px!important;
  line-height:1.82!important;
}

body.lspx-enabled div.product .woocommerce-product-details__short-description p{
  margin:0 0 12px!important;
}

.lspx-feature-chips{
  margin:25px 0 0!important;
  padding:0!important;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none!important;
}

.lspx-feature-chips li{
  margin:0!important;
  padding:9px 12px;
  border:1px solid rgba(20,20,22,.09);
  border-radius:999px;
  color:#4e4e53;
  background:#faf8f4;
  font-size:9px;
  font-weight:800;
}

body.lspx-enabled div.product .price{
  margin:30px 0 0!important;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:9px;
  color:var(--lspx-ink)!important;
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.045em;
}

body.lspx-enabled div.product .price del{
  color:#a0a0a4!important;
  font-size:.5em!important;
  font-weight:600!important;
  opacity:1!important;
}

body.lspx-enabled div.product .price ins{
  color:var(--lspx-red)!important;
  text-decoration:none!important;
}

body.lspx-enabled div.product .price .woocommerce-Price-currencySymbol{
  font-size:.65em;
}

.lspx-purchase-card{
  margin-top:26px;
  padding:18px;
  border:1px solid rgba(20,20,22,.09);
  border-radius:23px;
  background:
    radial-gradient(circle at 95% 0%,rgba(215,179,90,.09),transparent 30%),
    #f7f3ed;
  box-shadow:0 18px 50px rgba(20,18,16,.06);
}

body.lspx-enabled div.product form.cart{
  margin:0!important;
  display:flex!important;
  flex-wrap:wrap;
  align-items:stretch!important;
  gap:10px!important;
}

body.lspx-enabled div.product form.cart .quantity{
  width:96px!important;
  min-width:96px!important;
  height:55px!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr 28px!important;
  border:1px solid rgba(20,20,22,.11)!important;
  border-radius:15px!important;
  background:#fff!important;
  overflow:hidden!important;
}

body.lspx-enabled div.product form.cart .quantity input.qty{
  width:100%!important;
  height:100%!important;
  border:0!important;
  color:var(--lspx-ink)!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:850!important;
  text-align:center!important;
  box-shadow:none!important;
}

body.lspx-enabled div.product :is(
  .single_add_to_cart_button,
  .button.single_add_to_cart_button
){
  min-height:55px!important;
  flex:1 1 220px!important;
  margin:0!important;
  padding:0 30px!important;
  border:0!important;
  border-radius:15px!important;
  color:#111!important;
  background:linear-gradient(180deg,var(--lspx-gold-light),var(--lspx-gold))!important;
  box-shadow:0 15px 35px rgba(215,179,90,.22),inset 0 1px 0 rgba(255,255,255,.7)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  transition:transform .23s ease,box-shadow .23s ease!important;
}

body.lspx-enabled div.product .single_add_to_cart_button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 42px rgba(215,179,90,.3)!important;
}

body.lspx-enabled div.product .single_add_to_cart_button.disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}

body.lspx-enabled div.product :is(
  table.variations,
  .variations
){
  width:100%!important;
  margin:0 0 15px!important;
  border:0!important;
}

body.lspx-enabled div.product table.variations tr{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}

body.lspx-enabled div.product table.variations th,
body.lspx-enabled div.product table.variations td{
  padding:0!important;
  border:0!important;
  text-align:left!important;
}

body.lspx-enabled div.product table.variations label{
  color:var(--lspx-ink)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

body.lspx-enabled div.product table.variations select{
  width:100%!important;
  min-height:52px!important;
  padding:0 42px 0 15px!important;
  border:1px solid rgba(20,20,22,.11)!important;
  border-radius:14px!important;
  color:var(--lspx-ink)!important;
  background-color:#fff!important;
  font-size:13px!important;
}

body.lspx-enabled div.product .reset_variations{
  color:var(--lspx-red)!important;
  font-size:9px!important;
  font-weight:800!important;
}

body.lspx-enabled div.product .woocommerce-variation-price{
  margin:0 0 15px!important;
}

.lspx-purchase-note{
  margin:11px 2px 0!important;
  color:#85858a;
  font-size:9px;
  line-height:1.55;
}

.lspx-trust-points{
  margin-top:25px;
  display:grid;
  gap:10px;
}

.lspx-trust-points span{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5e5e63;
  font-size:10px;
  line-height:1.45;
  font-weight:700;
}

.lspx-trust-points i{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--lspx-red);
  background:rgba(148,21,26,.08);
  font-size:9px;
  font-style:normal;
  font-weight:900;
}

.lspx-secondary-actions{
  margin-top:22px;
  padding-top:19px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 19px;
  border-top:1px solid var(--lspx-line);
}

.lspx-secondary-actions button,
.lspx-secondary-actions a{
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  color:#747479!important;
  background:transparent;
  text-decoration:none!important;
  font:inherit;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
  transition:color .2s ease;
}

.lspx-secondary-actions button:hover,
.lspx-secondary-actions a:hover{
  color:var(--lspx-red)!important;
}

/* Full product story */
.lspx-story,
.lspx-reviews,
.lspx-related,
.lspx-faq{
  grid-column:1/-1;
  width:var(--lspx-screen);
  max-width:var(--lspx-screen);
  margin-left:calc((100% - var(--lspx-screen))/2);
  margin-right:calc((100% - var(--lspx-screen))/2);
}

.lspx-story{
  margin-top:110px;
  background:#fff;
}

.lspx-intro{
  width:min(var(--lspx-width),calc(100% - 48px));
  margin:0 auto;
  padding:118px 0 105px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:start;
  gap:clamp(55px,8vw,125px);
}

.lspx-intro h2,
.lspx-details-grid h2,
.lspx-service h2,
.lspx-reviews h2,
.lspx-related h2,
.lspx-faq h2{
  margin:0;
  color:var(--lspx-ink);
  font-size:clamp(43px,5.7vw,80px);
  line-height:.94;
  font-weight:900;
  letter-spacing:-.065em;
}

.lspx-intro h2 em,
.lspx-details-grid h2 em,
.lspx-service h2 em,
.lspx-reviews h2 em,
.lspx-related h2 em,
.lspx-faq h2 em{
  color:var(--lspx-red);
}

.lspx-rich-description{
  color:var(--lspx-muted);
  font-size:16px;
  line-height:1.9;
}

.lspx-rich-description p{
  margin:0 0 20px!important;
}

.lspx-rich-description :is(h2,h3,h4){
  margin:34px 0 13px!important;
  color:var(--lspx-ink)!important;
  font-size:23px!important;
  line-height:1.2!important;
  letter-spacing:-.03em!important;
}

.lspx-rich-description ul{
  padding-left:20px!important;
}

.lspx-benefits{
  width:min(var(--lspx-width),calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--lspx-line);
  border-bottom:1px solid var(--lspx-line);
}

.lspx-benefit{
  min-height:315px;
  padding:43px 39px;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--lspx-line);
  background:#fff;
  transition:background .35s ease,color .35s ease,transform .35s ease;
}

.lspx-benefit:last-child{
  border-right:0;
}

.lspx-benefit:hover{
  color:#fff;
  background:
    radial-gradient(circle at 90% 3%,rgba(215,179,90,.17),transparent 30%),
    linear-gradient(145deg,#1c1c1e,#09090a);
  transform:translateY(-5px);
}

.lspx-benefit>span{
  color:var(--lspx-red);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}

.lspx-benefit h3{
  margin:auto 0 0!important;
  color:inherit!important;
  font-size:25px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}

.lspx-benefit p{
  margin:15px 0 0!important;
  color:var(--lspx-muted);
  font-size:12px;
  line-height:1.7;
}

.lspx-benefit:hover>span{
  color:var(--lspx-gold-light);
}

.lspx-benefit:hover p{
  color:rgba(255,255,255,.62);
}

.lspx-details-grid{
  width:min(var(--lspx-width),calc(100% - 48px));
  margin:0 auto;
  padding:118px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}

.lspx-specifications,
.lspx-usage{
  min-width:0;
  padding:clamp(36px,5vw,70px);
  border-radius:32px;
}

.lspx-specifications{
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(215,179,90,.18),transparent 31%),
    linear-gradient(145deg,#201d1e,#09090a);
  box-shadow:0 35px 90px rgba(0,0,0,.14);
}

.lspx-specifications .lspx-section-kicker{
  color:var(--lspx-gold-light)!important;
}

.lspx-specifications h2{
  color:#fff;
}

.lspx-specifications h2 em{
  color:var(--lspx-gold-light);
}

.lspx-specifications dl{
  margin:50px 0 0;
}

.lspx-specifications dl>div{
  padding:16px 0;
  display:grid;
  grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr);
  gap:20px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.lspx-specifications dt{
  color:rgba(255,255,255,.45);
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.lspx-specifications dd{
  margin:0;
  color:#fff;
  font-size:12px;
  font-weight:750;
  text-align:right;
}

.lspx-usage{
  border:1px solid rgba(20,20,22,.08);
  background:
    radial-gradient(circle at 90% 0%,rgba(148,21,26,.07),transparent 30%),
    linear-gradient(145deg,#f8f5ef,#eee7dc);
}

.lspx-usage ol{
  margin:48px 0 0!important;
  padding:0!important;
  display:grid;
  gap:0;
  list-style:none!important;
}

.lspx-usage li{
  margin:0!important;
  padding:20px 0;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:18px;
  border-bottom:1px solid rgba(20,20,22,.09);
}

.lspx-usage li>span{
  color:var(--lspx-red);
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}

.lspx-usage h3{
  margin:0!important;
  color:var(--lspx-ink)!important;
  font-size:17px!important;
  letter-spacing:-.025em!important;
}

.lspx-usage p{
  margin:7px 0 0!important;
  color:var(--lspx-muted);
  font-size:11px;
  line-height:1.65;
}

.lspx-service{
  padding:115px max(4.5vw,24px);
  color:#fff;
  background:
    radial-gradient(circle at 10% 0%,rgba(148,21,26,.33),transparent 30%),
    radial-gradient(circle at 90% 5%,rgba(215,179,90,.12),transparent 28%),
    linear-gradient(145deg,#171416,#060607);
}

.lspx-service>div:first-child{
  width:min(var(--lspx-width),100%);
  margin:0 auto;
}

.lspx-service .lspx-section-kicker{
  color:var(--lspx-gold-light)!important;
}

.lspx-service h2{
  color:#fff;
}

.lspx-service h2 em{
  color:var(--lspx-gold-light);
}

.lspx-service-grid{
  width:min(var(--lspx-width),100%);
  margin:60px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.lspx-service-grid article{
  min-height:265px;
  padding:38px;
  border-right:1px solid rgba(255,255,255,.12);
}

.lspx-service-grid article:last-child{
  border-right:0;
}

.lspx-service-grid span{
  color:var(--lspx-gold-light);
  font-size:9px;
  font-weight:900;
}

.lspx-service-grid h3{
  margin:75px 0 0!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}

.lspx-service-grid p{
  margin:14px 0 0!important;
  color:rgba(255,255,255,.56);
  font-size:11px;
  line-height:1.7;
}

/* Reviews */
.lspx-reviews{
  padding:115px max(4.5vw,24px);
  background:#f3eee6;
}

.lspx-reviews>header{
  width:min(var(--lspx-width),100%);
  margin:0 auto 55px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:40px;
}

.lspx-review-summary{
  min-width:190px;
  padding:22px;
  display:grid;
  justify-items:end;
  gap:5px;
  border:1px solid rgba(20,20,22,.08);
  border-radius:22px;
  background:#fff;
}

.lspx-review-summary>strong{
  color:var(--lspx-ink);
  font-size:35px;
  line-height:1;
  font-weight:900;
}

.lspx-review-summary .star-rating{
  color:var(--lspx-gold)!important;
}

.lspx-review-summary>span{
  color:var(--lspx-muted);
  font-size:9px;
  font-weight:800;
}

.lspx-reviews-inner{
  width:min(var(--lspx-width),100%);
  margin:0 auto;
  padding:clamp(25px,4vw,55px);
  border:1px solid rgba(20,20,22,.08);
  border-radius:30px;
  background:#fff;
}

.lspx-reviews-inner #reviews{
  margin:0!important;
}

.lspx-reviews-inner :is(.woocommerce-Reviews-title,#reply-title){
  color:var(--lspx-ink)!important;
  font-size:24px!important;
  letter-spacing:-.035em!important;
}

.lspx-reviews-inner .commentlist{
  padding:0!important;
}

.lspx-reviews-inner .commentlist li{
  padding:24px 0!important;
  border-bottom:1px solid var(--lspx-line)!important;
}

.lspx-reviews-inner .comment-text{
  margin-left:75px!important;
  padding:0!important;
  border:0!important;
}

.lspx-reviews-inner .comment-form{
  display:grid;
  gap:12px;
}

.lspx-reviews-inner :is(input[type="text"],input[type="email"],textarea){
  width:100%!important;
  border:1px solid rgba(20,20,22,.1)!important;
  border-radius:14px!important;
  background:#faf8f4!important;
}

.lspx-reviews-inner input[type="submit"]{
  min-height:50px!important;
  border:0!important;
  border-radius:14px!important;
  color:#111!important;
  background:linear-gradient(180deg,var(--lspx-gold-light),var(--lspx-gold))!important;
  font-weight:900!important;
}

/* Related products */
.lspx-related{
  padding:115px max(4.5vw,24px);
  background:#fff;
}

.lspx-related>header{
  width:min(var(--lspx-width),100%);
  margin:0 auto 54px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
}

.lspx-related>header>a{
  color:var(--lspx-red)!important;
  text-decoration:none!important;
  font-size:10px;
  font-weight:900;
}

.lspx-related-grid{
  width:min(var(--lspx-width),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

.lspx-related-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(20,20,22,.08);
  border-radius:27px;
  background:#fff;
  box-shadow:0 20px 65px rgba(20,18,16,.06);
  transition:transform .32s ease,box-shadow .32s ease;
}

.lspx-related-card:hover{
  transform:translateY(-7px);
  box-shadow:0 32px 85px rgba(20,18,16,.12);
}

.lspx-related-image{
  position:relative;
  min-height:330px;
  padding:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 5%,rgba(215,179,90,.1),transparent 30%),
    linear-gradient(145deg,#faf8f4,#eee9e1);
}

.lspx-related-image img{
  width:100%!important;
  height:280px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 25px 25px rgba(0,0,0,.13));
  transition:transform .4s ease;
}

.lspx-related-card:hover .lspx-related-image img{
  transform:scale(1.035);
}

.lspx-related-stock{
  position:absolute;
  left:17px;
  top:17px;
  padding:8px 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(17,17,19,.8);
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}

.lspx-related-stock.is-out-of-stock{
  background:rgba(116,37,37,.85);
}

.lspx-related-copy{
  padding:27px;
}

.lspx-related-copy>p{
  margin:0!important;
  color:var(--lspx-red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.lspx-related-copy h3{
  margin:12px 0 0!important;
  color:var(--lspx-ink)!important;
  font-size:22px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

.lspx-related-copy h3 a{
  color:inherit!important;
  text-decoration:none!important;
}

.lspx-related-copy ul{
  margin:16px 0 0!important;
  padding:0!important;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  list-style:none!important;
}

.lspx-related-copy li{
  margin:0!important;
  padding:7px 9px;
  border-radius:999px;
  color:#626267;
  background:#f5f1ea;
  font-size:8px;
  font-weight:750;
}

.lspx-related-bottom{
  margin-top:25px;
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  border-top:1px solid var(--lspx-line);
}

.lspx-related-bottom>div{
  color:var(--lspx-ink);
  font-size:18px;
  font-weight:900;
}

.lspx-related-bottom del{
  color:#aaa;
  font-size:11px;
}

.lspx-related-bottom ins{
  color:var(--lspx-red);
  text-decoration:none;
}

.lspx-related-bottom .button{
  min-height:40px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:12px!important;
  color:#fff!important;
  background:var(--lspx-ink)!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* FAQ */
.lspx-faq{
  padding:115px max(4.5vw,24px) 140px;
  background:
    radial-gradient(circle at 8% 5%,rgba(148,21,26,.05),transparent 27%),
    linear-gradient(180deg,#f4efe7,#fff);
}

.lspx-faq>header,
.lspx-faq-list{
  width:min(1000px,100%);
  margin-left:auto;
  margin-right:auto;
}

.lspx-faq>header{
  margin-bottom:45px;
}

.lspx-faq-list{
  border-top:1px solid var(--lspx-line);
}

.lspx-faq-item{
  border-bottom:1px solid var(--lspx-line);
}

.lspx-faq-item>button{
  width:100%;
  min-height:86px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border:0;
  color:var(--lspx-ink);
  background:transparent;
  text-align:left;
  font:inherit;
  cursor:pointer;
}

.lspx-faq-item>button span{
  font-size:17px;
  font-weight:850;
  letter-spacing:-.025em;
}

.lspx-faq-item>button i{
  width:39px;
  height:39px;
  flex:0 0 39px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(20,20,22,.1);
  border-radius:50%;
  font-size:19px;
  font-style:normal;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}

.lspx-faq-item>button[aria-expanded="true"] i{
  transform:rotate(45deg);
  color:#fff;
  background:var(--lspx-red);
}

.lspx-faq-answer{
  padding:0 70px 26px 0;
}

.lspx-faq-answer p{
  margin:0!important;
  color:var(--lspx-muted);
  font-size:13px;
  line-height:1.75;
}

/* Mobile purchase bar */
.lspx-mobile-buy{
  position:fixed;
  z-index:9990;
  left:12px;
  right:12px;
  bottom:max(12px,env(safe-area-inset-bottom));
  min-height:70px;
  padding:10px 10px 10px 17px;
  display:none;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  color:#fff;
  background:rgba(18,18,20,.92);
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  backdrop-filter:blur(20px) saturate(145%);
  transform:translateY(120%);
  opacity:0;
  transition:transform .3s ease,opacity .3s ease;
}

.lspx-mobile-buy.is-visible{
  transform:none;
  opacity:1;
}

.lspx-mobile-buy>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.lspx-mobile-buy small{
  overflow:hidden;
  color:rgba(255,255,255,.54);
  font-size:8px;
  font-weight:750;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.lspx-mobile-buy strong{
  color:#fff;
  font-size:16px;
  line-height:1;
}

.lspx-mobile-buy del{
  margin-right:5px;
  color:rgba(255,255,255,.35);
  font-size:9px;
}

.lspx-mobile-buy ins{
  color:var(--lspx-gold-light);
  text-decoration:none;
}

.lspx-mobile-buy button,
.lspx-mobile-buy>a{
  min-height:48px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:13px;
  color:#111!important;
  background:linear-gradient(180deg,var(--lspx-gold-light),var(--lspx-gold));
  text-decoration:none!important;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

/* Reveal */
.lspx-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1);
}

.lspx-reveal.is-visible{
  opacity:1;
  transform:none;
}

.lspx-toast{
  position:fixed;
  z-index:10050;
  left:50%;
  bottom:35px;
  padding:12px 17px;
  transform:translate(-50%,20px);
  border-radius:999px;
  color:#fff;
  background:rgba(17,17,19,.92);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
  font-size:10px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}

.lspx-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

@keyframes lspxMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:1150px){
  body.lspx-enabled div.product>.product-image-summary,
  body.lspx-enabled div.product.product-design-default>.product-image-summary,
  body.lspx-enabled div.product:not(:has(>.product-image-summary)){
    grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)!important;
    gap:42px!important;
  }

  .lspx-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  body.lspx-enabled div.product{
    width:min(100% - 28px,var(--lspx-width))!important;
    padding-top:34px!important;
  }

  .lspx-back-nav{
    width:calc(100% - 28px);
  }

  body.lspx-enabled div.product>.product-image-summary,
  body.lspx-enabled div.product.product-design-default>.product-image-summary,
  body.lspx-enabled div.product:not(:has(>.product-image-summary)){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:25px!important;
  }

  body.lspx-enabled div.product :is(.summary,.summary.entry-summary){
    position:static!important;
    padding:23px 5px 25px!important;
  }

  body.lspx-enabled .woocommerce-product-gallery__image{
    min-height:480px;
  }

  body.lspx-enabled .woocommerce-product-gallery__image img{
    height:470px!important;
  }

  .lspx-intro,
  .lspx-details-grid{
    grid-template-columns:1fr;
  }

  .lspx-benefits,
  .lspx-service-grid{
    grid-template-columns:1fr;
  }

  .lspx-benefit,
  .lspx-service-grid article{
    min-height:235px;
    border-right:0;
    border-bottom:1px solid var(--lspx-line);
  }

  .lspx-service-grid article{
    border-bottom-color:rgba(255,255,255,.12);
  }

  .lspx-benefit:last-child,
  .lspx-service-grid article:last-child{
    border-bottom:0;
  }

  .lspx-service-grid h3{
    margin-top:45px!important;
  }

  .lspx-reviews>header{
    grid-template-columns:1fr;
  }

  .lspx-review-summary{
    justify-items:start;
  }
}

@media(max-width:700px){
  .lspx-marquee-track{
    animation-duration:38s;
  }

  .lspx-marquee-group span{
    padding:0 16px;
    font-size:9px;
  }

  .lspx-marquee-group em{
    font-size:17px;
  }

  .lspx-back-nav{
    padding:21px 0 17px;
  }

  .lspx-back-nav span{
    display:none;
  }

  body.lspx-enabled div.product :is(
    .woocommerce-product-gallery,
    .product-images
  ){
    padding:20px!important;
    border-radius:24px;
  }

  body.lspx-enabled .woocommerce-product-gallery__image{
    min-height:390px;
  }

  body.lspx-enabled .woocommerce-product-gallery__image img{
    height:380px!important;
  }

  body.lspx-enabled div.product .product_title{
    font-size:clamp(40px,12vw,58px)!important;
  }

  .lspx-feature-chips{
    gap:6px;
  }

  .lspx-purchase-card{
    padding:13px;
    border-radius:19px;
  }

  body.lspx-enabled div.product form.cart .quantity{
    width:84px!important;
    min-width:84px!important;
  }

  .lspx-story{
    margin-top:70px;
  }

  .lspx-intro,
  .lspx-benefits,
  .lspx-details-grid{
    width:calc(100% - 28px);
  }

  .lspx-intro{
    padding:78px 0 70px;
    gap:30px;
  }

  .lspx-intro h2,
  .lspx-details-grid h2,
  .lspx-service h2,
  .lspx-reviews h2,
  .lspx-related h2,
  .lspx-faq h2{
    font-size:clamp(39px,11vw,57px);
  }

  .lspx-benefit{
    padding:31px 25px;
  }

  .lspx-details-grid{
    padding:75px 0;
  }

  .lspx-specifications,
  .lspx-usage{
    padding:31px 24px;
    border-radius:24px;
  }

  .lspx-specifications dl,
  .lspx-usage ol{
    margin-top:35px!important;
  }

  .lspx-specifications dl>div{
    grid-template-columns:1fr;
    gap:7px;
  }

  .lspx-specifications dd{
    text-align:left;
  }

  .lspx-service,
  .lspx-reviews,
  .lspx-related,
  .lspx-faq{
    padding-left:14px;
    padding-right:14px;
  }

  .lspx-service{
    padding-top:76px;
    padding-bottom:76px;
  }

  .lspx-service-grid{
    margin-top:42px;
  }

  .lspx-reviews,
  .lspx-related,
  .lspx-faq{
    padding-top:78px;
    padding-bottom:88px;
  }

  .lspx-related>header{
    align-items:flex-start;
    flex-direction:column;
  }

  .lspx-related-grid{
    grid-template-columns:1fr;
  }

  .lspx-related-image{
    min-height:310px;
  }

  .lspx-faq-item>button{
    min-height:78px;
  }

  .lspx-faq-item>button span{
    font-size:15px;
  }

  .lspx-faq-answer{
    padding-right:10px;
  }

  .lspx-mobile-buy{
    display:grid;
  }

  body.lspx-enabled{
    padding-bottom:95px!important;
  }
}

@media(max-width:430px){
  body.lspx-enabled .woocommerce-product-gallery__image{
    min-height:325px;
  }

  body.lspx-enabled .woocommerce-product-gallery__image img{
    height:315px!important;
  }

  .lspx-gallery-badges{
    left:13px;
    top:13px;
  }

  .lspx-gallery-badges span{
    padding:7px 9px;
    font-size:7px;
  }

  body.lspx-enabled div.product form.cart{
    display:grid!important;
    grid-template-columns:80px 1fr!important;
  }

  body.lspx-enabled div.product form.cart .quantity{
    width:80px!important;
    min-width:80px!important;
  }

  .lspx-mobile-buy{
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
  }
}

@media(prefers-reduced-motion:reduce){
  .lspx-marquee-track,
  body.lspx-enabled div.product *,
  .lspx-reveal{
    animation:none!important;
    transition-duration:.01ms!important;
  }

  .lspx-marquee-group[aria-hidden="true"]{
    display:none;
  }

  .lspx-reveal{
    opacity:1;
    transform:none;
  }
}

@supports(width:100dvw){
  :root{
    --lspx-screen:100dvw;
  }
}


.lspx-summary-supplement{
  margin-top:13px!important;
  padding-top:13px;
  border-top:1px solid var(--lspx-line);
  color:#8a8a8f!important;
  font-size:12px!important;
  line-height:1.68!important;
}
