body.pb-product-v2{
  --pv2-ink:#102d48;
  --pv2-blue:#123d72;
  --pv2-accent:#2477b6;
  --pv2-line:#dfe8ee;
  --pv2-soft:#f5f8fa;
  --pv2-muted:#65798a;
}
body.pb-product-v2 .product-main{
  padding:38px 0 72px;
  background:
    radial-gradient(circle at 90% 4%,rgba(36,119,182,.08),transparent 28%),
    linear-gradient(180deg,#f8fbfd 0,#fff 460px);
}
body.pb-product-v2 .product-main .row.content-row{
  align-items:flex-start;
  gap:46px;
}
body.pb-product-v2 .product-main .product-gallery{
  flex:1 1 43%;
  max-width:43%;
  padding:0;
}
body.pb-product-v2 .product-main .product-info{
  flex:1 1 57%;
  max-width:57%;
  padding:0;
}
body.pb-product-v2 .woocommerce-product-gallery{
  position:sticky;
  top:126px;
}
body.pb-product-v2 .woocommerce-product-gallery .flickity-viewport,
body.pb-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__image{
  border-radius:24px;
}
body.pb-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__image img{
  border-radius:24px;
  box-shadow:0 22px 54px rgba(16,45,72,.12);
}
body.pb-product-v2 .woocommerce-product-gallery .product-thumbnails a{
  overflow:hidden;
  border:1px solid var(--pv2-line);
  border-radius:12px;
}
body.pb-product-v2 .product-info .breadcrumbs{
  margin:0 0 11px;
  color:#8a9aa7;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
body.pb-product-v2 .pb-pv2-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
  padding:7px 11px;
  border:1px solid #dbe9f1;
  border-radius:999px;
  background:#fff;
  color:#557084;
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body.pb-product-v2 .pb-pv2-badge span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#29a66d;
  box-shadow:0 0 0 4px rgba(41,166,109,.11);
}
body.pb-product-v2 .product-info h1.product-title{
  margin:0 0 13px;
  color:var(--pv2-ink);
  font-size:clamp(36px,4vw,54px);
  font-weight:830;
  line-height:1.01;
  letter-spacing:-.045em;
}
body.pb-product-v2 .pb-pv2-lead{
  max-width:680px;
  margin:0 0 16px;
  color:#5e7485;
  font-size:15px;
  line-height:1.58;
}
body.pb-product-v2 .pb-pv2-promises{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:22px;
}
body.pb-product-v2 .pb-pv2-promises span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:10px;
  background:#eef5f9;
  color:#486377;
  font-size:10.5px;
  font-weight:800;
}
body.pb-product-v2 .pb-pv2-promises span:before{
  content:"✓";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  color:var(--pv2-accent);
  font-size:9px;
}
body.pb-product-v2 .product-info .price,
body.pb-product-v2 .product-info .woocommerce-product-details__short-description{
  display:none;
}
body.pb-product-v2 form.cart{
  margin:0!important;
}
body.pb-product-v2 .pb-store-configurator{
  margin:0 0 16px;
  padding:25px;
  border:1px solid var(--pv2-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 42px rgba(16,45,72,.065);
}
body.pb-product-v2 .pb-store-configurator>h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 19px;
  color:var(--pv2-ink);
  font-size:19px;
  font-weight:830;
}
body.pb-product-v2 .pb-store-configurator>h3:before{
  content:"1";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:var(--pv2-blue);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
body.pb-product-v2 .pb-config-grid{
  gap:13px;
}
body.pb-product-v2 .pb-config-field>span{
  margin-bottom:7px;
  color:#395368;
  font-size:11.5px;
  font-weight:850;
}
body.pb-product-v2 .pb-config-field select,
body.pb-product-v2 .pb-config-field input{
  height:50px;
  margin:0;
  padding:0 14px;
  border:1px solid #d6e0e7;
  border-radius:12px;
  background:#fbfcfd;
  color:#18364e;
  font-size:13px;
  font-weight:760;
  box-shadow:none;
}
body.pb-product-v2 .pb-config-field select:focus,
body.pb-product-v2 .pb-config-field input:focus{
  border-color:#6da4ca;
  background:#fff;
  box-shadow:0 0 0 3px rgba(36,119,182,.1);
}
body.pb-product-v2 .pb-config-total{
  margin-top:17px;
  min-height:72px;
  padding:14px 17px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#102d48,#174b72);
  color:#fff;
}
body.pb-product-v2 .pb-config-total span{
  color:#c9d8e3;
  font-size:12px;
  font-weight:750;
}
body.pb-product-v2 .pb-config-total strong{
  color:#fff;
  font-size:27px;
  font-weight:870;
  letter-spacing:-.025em;
}
body.pb-product-v2 .pb-artwork-choice{
  margin:0 0 14px;
  padding:22px 18px 17px;
  border:1px solid var(--pv2-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(16,45,72,.045);
}
body.pb-product-v2 .pb-artwork-choice legend{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 7px;
  color:var(--pv2-ink);
  font-size:17px;
  font-weight:850;
}
body.pb-product-v2 .pb-artwork-choice legend:before{
  content:"2";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:var(--pv2-blue);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
body.pb-product-v2 .pb-artwork-choice__option{
  min-height:78px;
  margin:8px 0;
  padding:14px 15px;
  border:1px solid #dce5eb;
  border-radius:14px;
  background:#fbfcfd;
  transition:.18s ease;
}
body.pb-product-v2 .pb-artwork-choice__option:hover{
  border-color:#b9cfdd;
  background:#fff;
}
body.pb-product-v2 .pb-artwork-choice__option:has(input:checked){
  border-color:#4d8fbd;
  background:#f2f8fc;
  box-shadow:0 0 0 3px rgba(36,119,182,.08);
}
body.pb-product-v2 .pb-artwork-choice__option strong{
  color:#1b3a52;
  font-size:13px;
}
body.pb-product-v2 .pb-artwork-choice__option small{
  margin-top:4px;
  color:#708391;
  font-size:10.5px;
  line-height:1.42;
}
body.pb-product-v2 .pb-artwork-choice__title-row b{
  border-radius:8px;
  background:#e9f3f9;
  color:#15547f;
}
body.pb-product-v2 .pb-artwork-upload{
  margin:9px 0 12px;
  padding:15px;
  border:1px dashed #9bbbd0;
  border-radius:14px;
  background:#f4f9fc;
}
body.pb-product-v2 .single_add_to_cart_button{
  position:relative;
  width:100%;
  min-height:58px;
  margin:0!important;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#123d72,#2477b6)!important;
  color:#fff!important;
  font-size:14px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 14px 28px rgba(18,61,114,.22);
}
body.pb-product-v2 .single_add_to_cart_button:before{
  content:"3";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  margin-right:10px;
  border-radius:8px;
  background:rgba(255,255,255,.16);
  font-size:10px;
}
body.pb-product-v2 .single_add_to_cart_button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(18,61,114,.28);
}
body.pb-product-v2 .product_meta,
body.pb-product-v2 .social-icons{
  display:none;
}
body.pb-product-v2 .pb-pv2-steps{
  clear:both;
  width:min(1180px,calc(100% - 44px));
  margin:5px auto 66px;
  padding:34px;
  border:1px solid var(--pv2-line);
  border-radius:24px;
  background:#f7fafc;
}
body.pb-product-v2 .pb-pv2-steps>h2{
  margin:0 0 22px;
  color:var(--pv2-ink);
  font-size:28px;
  font-weight:830;
  letter-spacing:-.03em;
}
body.pb-product-v2 .pb-pv2-steps>div{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  overflow:hidden;
  border:1px solid var(--pv2-line);
  border-radius:16px;
  background:var(--pv2-line);
}
body.pb-product-v2 .pb-pv2-steps article{
  min-height:154px;
  padding:22px;
  background:#fff;
}
body.pb-product-v2 .pb-pv2-steps article>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  margin-bottom:21px;
  border-radius:9px;
  background:#eef5f9;
  color:var(--pv2-accent);
  font-size:10px;
  font-weight:900;
}
body.pb-product-v2 .pb-pv2-steps h3{
  margin:0 0 6px;
  color:#1a394f;
  font-size:16px;
  font-weight:830;
}
body.pb-product-v2 .pb-pv2-steps p{
  margin:0;
  color:#6c7f8e;
  font-size:12px;
  line-height:1.5;
}
body.pb-product-v2 [data-pbpq]{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto 70px;
  border-color:var(--pv2-line);
  border-radius:22px;
  box-shadow:0 12px 34px rgba(16,45,72,.045);
}

/* Sticker calculator: same visual language, quote flow retained until finishing prices are confirmed. */
body.pb-product-v2-sticker .page-wrapper{
  padding:34px 0 70px;
  background:linear-gradient(180deg,#f8fbfd 0,#fff 520px);
}
body.pb-product-v2-sticker .page-wrapper>.row{
  width:min(1180px,calc(100% - 44px));
  max-width:none;
}
body.pb-product-v2-sticker #content{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  padding:0!important;
  border:0!important;
}
body.pb-product-v2-sticker #content~.widget-area,
body.pb-product-v2-sticker .page-wrapper .large-3{
  display:none!important;
}
body.pb-product-v2-sticker .pb-service-hero{
  margin-bottom:24px;
  border:1px solid var(--pv2-line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 48px rgba(16,45,72,.065);
}
body.pb-product-v2-sticker #pb-sticker-calculator{
  margin:0 0 66px;
  padding:30px;
  border:1px solid var(--pv2-line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,45,72,.07);
}
body.pb-product-v2-sticker .pb-sticker-calculator-section__head{
  margin-bottom:23px;
}
body.pb-product-v2-sticker .pb-sticker-calculator-section__head h2{
  margin:0 0 8px;
  color:var(--pv2-ink);
  font-size:34px;
  font-weight:840;
  letter-spacing:-.035em;
}
body.pb-product-v2-sticker .pb-sticker-calculator-section__head p{
  color:var(--pv2-muted);
  font-size:14px;
}
body.pb-product-v2-sticker .pb-quote-calculator,
body.pb-product-v2-sticker .pb-quote-request{
  border-radius:20px;
  border-color:var(--pv2-line);
  box-shadow:none;
}
body.pb-product-v2-sticker .pb-quote-calculator__header h2,
body.pb-product-v2-sticker .pb-quote-request__header h3{
  color:var(--pv2-ink);
  font-weight:830;
}
body.pb-product-v2-sticker .pb-quote-calculator input,
body.pb-product-v2-sticker .pb-quote-request input,
body.pb-product-v2-sticker .pb-quote-request textarea{
  border-color:#d6e0e7;
  border-radius:11px;
  background:#fbfcfd;
  box-shadow:none;
}
body.pb-product-v2-sticker .pb-quote-calculator__metric--total{
  background:linear-gradient(135deg,#102d48,#174b72);
  color:#fff;
}
body.pb-product-v2-sticker .pb-quote-request button{
  min-height:54px;
  padding:0 25px;
  border-radius:13px;
  background:linear-gradient(135deg,#123d72,#2477b6)!important;
  font-weight:900;
  box-shadow:0 12px 25px rgba(18,61,114,.2);
}
body.pb-product-v2-sticker #pb-service-details{
  scroll-margin-top:130px;
}

@media(max-width:849px){
  body.pb-product-v2 .product-main{
    padding:22px 0 54px;
  }
  body.pb-product-v2 .product-main .row.content-row{
    display:block;
  }
  body.pb-product-v2 .product-main .product-gallery,
  body.pb-product-v2 .product-main .product-info{
    width:100%;
    max-width:none;
    padding:0 15px;
  }
  body.pb-product-v2 .woocommerce-product-gallery{
    position:relative;
    top:auto;
    margin-bottom:27px;
  }
  body.pb-product-v2 .product-info h1.product-title{
    font-size:38px;
  }
  body.pb-product-v2 .pb-pv2-steps>div{
    grid-template-columns:1fr;
  }
  body.pb-product-v2 .pb-pv2-steps article{
    min-height:0;
  }
}
@media(max-width:560px){
  body.pb-product-v2 .product-main{
    padding-top:13px;
  }
  body.pb-product-v2 .product-main .product-gallery,
  body.pb-product-v2 .product-main .product-info{
    padding:0 11px;
  }
  body.pb-product-v2 .woocommerce-product-gallery .flickity-viewport,
  body.pb-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__image,
  body.pb-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__image img{
    border-radius:18px;
  }
  body.pb-product-v2 .product-info .breadcrumbs{
    display:none;
  }
  body.pb-product-v2 .pb-pv2-badge{
    margin-top:4px;
  }
  body.pb-product-v2 .product-info h1.product-title{
    font-size:32px;
  }
  body.pb-product-v2 .pb-pv2-lead{
    font-size:13.5px;
  }
  body.pb-product-v2 .pb-pv2-promises{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  body.pb-product-v2 .pb-pv2-promises span:last-child{
    grid-column:1/-1;
  }
  body.pb-product-v2 .pb-store-configurator{
    padding:19px 15px;
    border-radius:18px;
  }
  body.pb-product-v2 .pb-config-grid{
    grid-template-columns:1fr;
  }
  body.pb-product-v2 .pb-config-total strong{
    font-size:23px;
  }
  body.pb-product-v2 .pb-artwork-choice{
    padding:18px 12px 13px;
    border-radius:18px;
  }
  body.pb-product-v2 .pb-artwork-choice__option{
    padding:12px;
  }
  body.pb-product-v2 .pb-pv2-steps,
  body.pb-product-v2 [data-pbpq]{
    width:calc(100% - 22px);
  }
  body.pb-product-v2 .pb-pv2-steps{
    margin-bottom:48px;
    padding:20px 15px;
    border-radius:18px;
  }
  body.pb-product-v2 .pb-pv2-steps>h2{
    font-size:24px;
  }
  body.pb-product-v2-sticker .page-wrapper{
    padding-top:13px;
  }
  body.pb-product-v2-sticker .page-wrapper>.row{
    width:calc(100% - 22px);
  }
  body.pb-product-v2-sticker .pb-service-hero{
    border-radius:19px;
  }
  body.pb-product-v2-sticker #pb-sticker-calculator{
    padding:18px 13px;
    border-radius:19px;
  }
  body.pb-product-v2-sticker .pb-sticker-calculator-section__head h2{
    font-size:28px;
  }
}
