.elementor-3515 .elementor-element.elementor-element-d92357{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-5ecb357c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-3515 .elementor-element.elementor-element-401bc3b9{text-align:start;}.elementor-3515 .elementor-element.elementor-element-234de018{text-align:start;}.elementor-3515 .elementor-element.elementor-element-68129b17{text-align:start;}.elementor-3515 .elementor-element.elementor-element-6281952d{text-align:start;}.elementor-3515 .elementor-element.elementor-element-4c12b983{--e-image-carousel-slides-to-show:1;}.elementor-3515 .elementor-element.elementor-element-52cbd82a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;}.elementor-3515 .elementor-element.elementor-element-57c2747d .cart button, .elementor-3515 .elementor-element.elementor-element-57c2747d .cart .button{transition:all 0.2s;}.elementor-3515 .elementor-element.elementor-element-57c2747d .quantity .qty{transition:all 0.2s;}.elementor-3515 .elementor-element.elementor-element-53e626e4{text-align:start;}.elementor-3515 .elementor-element.elementor-element-1274e05e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--flex-wrap:wrap;--border-radius:12px 12px 12px 12px;--margin-top:0px;--margin-bottom:24px;--margin-left:autopx;--margin-right:autopx;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-1274e05e:not(.elementor-motion-effects-element-type-background), .elementor-3515 .elementor-element.elementor-element-1274e05e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#fafafa;}.elementor-3515 .elementor-element.elementor-element-630e9804 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-7bbf393c .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-141a4771 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-57332d3c .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-77a35205 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-1a5cfb9c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:24px;--margin-left:autopx;--margin-right:autopx;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-3fca3534{text-align:center;}.elementor-3515 .elementor-element.elementor-element-16e5a820 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-16e5a820 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-3515 .elementor-element.elementor-element-16e5a820{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-3515 .elementor-element.elementor-element-16e5a820 .elementor-icon-list-text{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-1f81486c{text-align:center;}.elementor-3515 .elementor-element.elementor-element-2b924a9d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-78c30c82{text-align:center;}.elementor-3515 .elementor-element.elementor-element-7db3cec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--flex-wrap:wrap;}.elementor-3515 .elementor-element.elementor-element-718edc21 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-73e16d1a .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-4a6500ce .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-7f8019d3 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-739a7888{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--flex-wrap:wrap;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-7299ff0c{--display:flex;}.elementor-3515 .elementor-element.elementor-element-2bd45172{--display:flex;}.elementor-3515 .elementor-element.elementor-element-60c4fbda .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-60c4fbda .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-3515 .elementor-element.elementor-element-60c4fbda{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-3515 .elementor-element.elementor-element-60c4fbda .elementor-icon-list-text{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-4370a99f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-54367f70{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-6c2f75f7 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-6c2f75f7 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-3515 .elementor-element.elementor-element-6c2f75f7{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-3515 .elementor-element.elementor-element-6c2f75f7 .elementor-icon-list-text{transition:color 0.3s;}.elementor-3515 .elementor-element.elementor-element-22b2d929{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:12px 12px 12px 12px;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-22b2d929:not(.elementor-motion-effects-element-type-background), .elementor-3515 .elementor-element.elementor-element-22b2d929 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#fafafa;}.elementor-3515 .elementor-element.elementor-element-376401c8{text-align:center;}.elementor-3515 .elementor-element.elementor-element-789fe922{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-3515 .elementor-element.elementor-element-45053d23 .elementor-testimonial-wrapper{text-align:center;}.elementor-3515 .elementor-element.elementor-element-15042893 .elementor-testimonial-wrapper{text-align:center;}.elementor-3515 .elementor-element.elementor-element-4ff202e9 .elementor-testimonial-wrapper{text-align:center;}.elementor-3515 .elementor-element.elementor-element-3c548662{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-2164911{text-align:center;}.elementor-3515 .elementor-element.elementor-element-35c0fc57{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:24px;--margin-left:autopx;--margin-right:autopx;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-79e4e85{text-align:center;}.elementor-3515 .elementor-element.elementor-element-41fe88eb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--flex-wrap:wrap;--border-radius:12px 12px 12px 12px;--margin-top:0px;--margin-bottom:24px;--margin-left:autopx;--margin-right:autopx;--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-41fe88eb:not(.elementor-motion-effects-element-type-background), .elementor-3515 .elementor-element.elementor-element-41fe88eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#f5f5f5;}.elementor-3515 .elementor-element.elementor-element-63b8ce44 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-2a3126d4 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-9d5f617 .elementor-icon-box-wrapper{gap:15px;}.elementor-3515 .elementor-element.elementor-element-748a2b97{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:32px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-3515 .elementor-element.elementor-element-5f4d8cf2{text-align:center;}.elementor-3515 .elementor-element.elementor-element-47b23a83{text-align:center;}.elementor-3515 .elementor-element.elementor-element-6610d25c .cart button, .elementor-3515 .elementor-element.elementor-element-6610d25c .cart .button{transition:all 0.2s;}.elementor-3515 .elementor-element.elementor-element-6610d25c .quantity .qty{transition:all 0.2s;}.elementor-3515 .elementor-element.elementor-element-15951027{--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:center;box-shadow:0px -2px 12px 0px rgba(0,0,0,0.1);--padding-top:12px;--padding-bottom:12px;--padding-left:16px;--padding-right:16px;}.elementor-3515 .elementor-element.elementor-element-15951027:not(.elementor-motion-effects-element-type-background), .elementor-3515 .elementor-element.elementor-element-15951027 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-3515 .elementor-element.elementor-element-2e122b59 .cart button, .elementor-3515 .elementor-element.elementor-element-2e122b59 .cart .button{transition:all 0.2s;}.elementor-3515 .elementor-element.elementor-element-2e122b59 .quantity .qty{transition:all 0.2s;}@media(max-width:1024px){.elementor-3515 .elementor-element.elementor-element-d92357{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3515 .elementor-element.elementor-element-739a7888{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}}@media(max-width:768px){.elementor-3515 .elementor-element.elementor-element-d92357{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}/* Start custom CSS *//**
 * PawTrim™ Sensitive Pro - Product Page Layout
 * Premium Shopify-style One-Product DTC Store
 * Elementor 3.35.4 + Pro 3.35.1 | WoodMart | WooCommerce
 * Shortcode: [add_to_cart id="PRODUCT_ID" show_price="true" quantity="1"]
 * Użycie: Elementor Custom CSS, motyw child lub wp_enqueue
 * Mobile-first, max width: 1180px
 * Design: White/gold premium, minimalist, trustworthy
 */

/* ========== STEP 1: STYLE FOUNDATION (CSS Variables) ========== */
:root {
  /* --- COLOR PALETTE --- */
  --shop-bg-primary: #FFFFFF;
  --shop-bg-secondary: #F8F9FA;
  --shop-text-heading: #1A1A1A;
  --shop-text-body: #333333;
  --shop-accent-color: #C19B76;
  --shop-accent-hover: #A88665;
  --shop-star-color: #FFB300;
  --shop-border-color: #E5E5E5;

  /* --- TYPOGRAPHY --- */
  --shop-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  --shop-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* --- UI / UX --- */
  --button-radius: 50px;
  --soft-shadow: 0 10px 30px -15px rgba(193, 155, 118, 0.25);
  --section-spacing-desktop: 80px;
  --section-spacing-mobile: 50px;

  /* Layout (compatibility) */
  --pt-maxw: 1180px;
  --pt-pad: 24px;
  --pt-gap: 16px;
  --pt-radius: 16px;
}

/* Load fonts (add to theme or Elementor): */
/* @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700&display=swap'); */

/* ========== STEP 2: GLOBAL TYPOGRAPHY & RESETS ========== */
body.single-product,
body.woocommerce .single-product .site,
.pt-product-layout,
.pt-hero,
.pt-buybox,
.pt-benefits,
.pt-problem,
.pt-solution,
.pt-lifestyle,
.pt-specs,
.pt-inbox,
.pt-reviews,
.pt-compare,
.pt-faq,
.pt-shipping,
.pt-finalcta {
  font-family: var(--shop-font-body) !important;
  line-height: 1.6;
  color: var(--shop-text-body);
}

.pt-product-layout h1,
.pt-product-layout h2,
.pt-product-layout h3,
.pt-product-layout h4,
.pt-product-layout h5,
.pt-product-layout h6,
.pt-hero h1,
.pt-problem h2,
.pt-solution h2,
.pt-lifestyle h2,
.pt-specs h2,
.pt-inbox h2,
.pt-reviews h2,
.pt-compare h2,
.pt-faq h2,
.pt-finalcta h2 {
  font-family: var(--shop-font-heading);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--shop-text-heading);
}

.pt-product-layout a,
.pt-hero a,
.pt-buybox a,
.pt-benefits a,
.pt-problem a,
.pt-solution a,
.pt-lifestyle a,
.pt-specs a,
.pt-inbox a,
.pt-reviews a,
.pt-compare a,
.pt-faq a,
.pt-shipping a,
.pt-finalcta a {
  color: inherit;
  text-decoration: none;
}

.pt-product-layout a:hover,
.pt-hero a:hover,
.pt-buybox a:hover,
.pt-benefits a:hover,
.pt-problem a:hover,
.pt-solution a:hover,
.pt-lifestyle a:hover,
.pt-specs a:hover,
.pt-inbox a:hover,
.pt-reviews a:hover,
.pt-compare a:hover,
.pt-faq a:hover,
.pt-shipping a:hover,
.pt-finalcta a:hover {
  color: var(--shop-accent-color);
}

/* ========== GŁÓWNY WRAPPER ========== */
.pt-product-layout {
  max-width: var(--pt-maxw);
  margin: 0 auto;
  padding: 0 var(--pt-pad);
}

/* STEP 6: Mobile — min 20px side padding */
@media (max-width: 768px) {
  .pt-product-layout {
    padding-left: 20px;
    padding-right: 20px;
  }
  /* Sections with own padding use at least 20px */
  .pt-hero,
  .pt-problem,
  .pt-solution,
  .pt-lifestyle,
  .pt-specs,
  .pt-inbox,
  .pt-reviews,
  .pt-compare,
  .pt-faq,
  .pt-shipping,
  .pt-finalcta {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ========== STEP 3: HERO (Above the Fold) ========== */
.pt-hero {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pt-gap);
  padding: var(--section-spacing-mobile) 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-hero .elementor-widget-container {
  flex: 1 1 100%;
}

/* HERO — Product Title (H1): large, prominent */
.pt-hero h1 {
  max-width: 28ch;
  line-height: 1.2;
  font-size: 2rem; /* mobile: slightly reduced */
  margin-bottom: var(--pt-gap);
}

/* Desktop: 2.5rem+ */
@media (min-width: 769px) {
  .pt-hero h1 {
    font-size: 2.5rem;
  }
}

/* HERO — Short Description: increased line-height */
.pt-hero .pt-hero__subheadline,
.pt-hero .elementor-widget-text-editor:first-of-type,
.pt-hero .woocommerce-product-details__short-description,
.pt-hero .elementor-widget-woocommerce-product-short-description {
  max-width: 36ch;
  line-height: 1.7;
  font-size: 1.0625rem;
  color: var(--shop-text-body);
  margin-bottom: 0.75em;
}

.pt-hero .pt-hero__claim {
  max-width: 42ch;
  line-height: 1.7;
  font-size: 1rem;
  color: var(--shop-text-body);
  margin-bottom: var(--pt-gap);
}

/* HERO — buybox card */
.pt-buybox,
.pt-hero .pt-hero__content {
  border: 1px solid var(--shop-border-color);
  border-radius: var(--pt-radius);
  padding: var(--pt-pad);
  background: var(--shop-bg-primary);
}

.pt-buybox {
  display: flex;
  flex-direction: column;
  gap: var(--pt-gap);
}

.pt-hero .pt-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--pt-gap);
}

.pt-hero .pt-hero__content > * + * {
  margin-top: 0;
}

.pt-hero .pt-hero__content .pt-badge,
.pt-hero .pt-hero__content .woocommerce-product-rating {
  margin-bottom: var(--pt-gap);
}

.pt-hero .pt-hero__content .price {
  margin-bottom: var(--pt-gap);
}

.pt-hero .pt-hero__content form.cart,
.pt-hero .pt-hero__content .add_to_cart_inline {
  margin-bottom: var(--pt-gap);
}

.pt-hero .pt-hero__trust {
  font-size: 0.8125rem;
  color: var(--shop-text-body);
  opacity: 0.8;
  margin-top: auto;
}

@media (min-width: 1024px) {
  .pt-hero {
    flex-direction: row;
    gap: 2rem;
    padding: var(--section-spacing-desktop) 0;
  }
  .pt-hero .pt-hero__gallery {
    flex: 1 1 55%;
    min-width: 300px;
  }
  .pt-hero .pt-hero__content,
  .pt-buybox {
    flex: 1 1 40%;
    min-width: 300px;
  }
}

@media (max-width: 1023px) {
  .pt-hero {
    flex-direction: column;
  }
}

/* STEP 6: Mobile — center align title, price, rating */
@media (max-width: 768px) {
  .pt-hero .pt-hero__content,
  .pt-hero h1,
  .pt-hero .price,
  .pt-hero .woocommerce-product-rating,
  .pt-hero .pt-badge {
    text-align: center;
  }
  .pt-hero h1 {
    max-width: none;
  }
}

/* HERO — obrazy (CLS) */
.pt-hero img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  max-height: 500px;
  border-radius: var(--pt-radius);
}

/* HERO — Price: the hero element, large & prominent */
.pt-hero .price,
.pt-buybox .price,
.pt-finalcta .price {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  color: var(--shop-text-heading);
}

.pt-hero .price del .amount,
.pt-buybox .price del .amount,
.pt-finalcta .price del .amount {
  font-size: 0.9375rem;
  color: #999;
  text-decoration: line-through;
}

.pt-hero .price ins,
.pt-buybox .price ins,
.pt-finalcta .price ins {
  text-decoration: none;
}

.pt-hero .price ins .amount,
.pt-buybox .price ins .amount,
.pt-finalcta .price ins .amount {
  color: var(--shop-text-heading);
}

.pt-hero .price + p,
.pt-buybox .price + p,
.pt-hero .woocommerce-variation-price + p,
.pt-buybox .woocommerce-variation-price + p {
  font-size: 0.75rem;
  color: var(--shop-text-body);
  opacity: 0.7;
  margin-top: 0.25em;
}

/* ========== CART (Quantity + Add to Cart) ========== */
.pt-hero form.cart,
.pt-buybox form.cart,
.pt-finalcta form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pt-gap);
}

/* Quantity input — pill style */
.pt-hero .quantity,
.pt-buybox .quantity,
.pt-finalcta .quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--shop-border-color);
  border-radius: var(--button-radius);
  overflow: hidden;
}

.pt-hero .quantity input,
.pt-buybox .quantity input,
.pt-finalcta .quantity input {
  width: 3rem;
  min-height: 52px;
  text-align: center;
  border: none;
  font-size: 1rem;
  font-weight: 600;
}

.pt-hero .quantity input:focus,
.pt-buybox .quantity input:focus,
.pt-finalcta .quantity input:focus {
  outline: 2px solid var(--shop-accent-color);
  outline-offset: 2px;
}

/* ========== STEP 4: ULTIMATE CTA (Add to Cart) ========== */
.pt-hero .single_add_to_cart_button,
.pt-buybox .single_add_to_cart_button,
.pt-finalcta .single_add_to_cart_button,
.pt-hero .elementor-button.pt-btn-primary,
.pt-buybox .elementor-button.pt-btn-primary,
.pt-finalcta .elementor-button.pt-btn-primary,
.pt-hero .elementor-button-wrapper .elementor-button,
.pt-buybox .elementor-button-wrapper .elementor-button {
  min-height: 56px;
  padding: 18px 40px;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--shop-accent-color) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--button-radius);
  cursor: pointer;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}

.pt-hero .single_add_to_cart_button:hover,
.pt-buybox .single_add_to_cart_button:hover,
.pt-finalcta .single_add_to_cart_button:hover,
.pt-hero .elementor-button.pt-btn-primary:hover,
.pt-buybox .elementor-button.pt-btn-primary:hover,
.pt-finalcta .elementor-button.pt-btn-primary:hover,
.pt-hero .elementor-button-wrapper .elementor-button:hover,
.pt-buybox .elementor-button-wrapper .elementor-button:hover {
  background: var(--shop-accent-hover) !important;
  transform: translateY(-3px);
  box-shadow: var(--soft-shadow);
}

/* Secondary / outline */
.pt-hero .elementor-button.pt-btn-secondary,
.pt-buybox .elementor-button.pt-btn-secondary,
.pt-finalcta .elementor-button.pt-btn-secondary,
.pt-hero .add_to_cart_button:not(.single_add_to_cart_button),
.pt-buybox .add_to_cart_button:not(.single_add_to_cart_button) {
  min-height: 52px;
  padding: 0 1.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  background: transparent !important;
  color: var(--shop-text-heading) !important;
  border: 2px solid var(--shop-text-heading);
  border-radius: var(--button-radius);
}

/* Shortcode [add_to_cart] — wrapper */
.pt-hero .add_to_cart_inline,
.pt-buybox .add_to_cart_inline,
.pt-finalcta .add_to_cart_inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pt-gap);
}

/* STEP 4: Mobile — CTA width 100% */
@media (max-width: 768px) {
  .pt-hero form.cart,
  .pt-buybox form.cart,
  .pt-finalcta form.cart {
    flex-direction: column;
  }
  .pt-hero .single_add_to_cart_button,
  .pt-buybox .single_add_to_cart_button,
  .pt-finalcta .single_add_to_cart_button,
  .pt-hero .elementor-button.pt-btn-primary,
  .pt-buybox .elementor-button.pt-btn-primary,
  .pt-finalcta .elementor-button.pt-btn-primary,
  .pt-hero .elementor-button-wrapper .elementor-button,
  .pt-buybox .elementor-button-wrapper .elementor-button {
    width: 100%;
  }
}

/* HERO — Reviews/Stars: warm yellow */
.pt-hero .pt-badge,
.pt-buybox .pt-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 6px 10px;
  background: var(--shop-bg-secondary);
  border-radius: var(--button-radius);
  font-size: 0.875rem;
  color: var(--shop-text-body);
}

.pt-hero .pt-badge .star,
.pt-buybox .pt-badge .star,
.pt-hero .star-rating span,
.pt-buybox .star-rating span,
.woocommerce-product-rating .star-rating {
  color: var(--shop-star-color) !important;
}

.woocommerce-product-rating .star-rating span:before {
  color: var(--shop-star-color) !important;
}

/* ========== GALLERY PLACEHOLDER ========== */
.pt-hero .pt-gallery-placeholder,
.pt-hero .elementor-image img[src*="placehold"] {
  aspect-ratio: 1 / 1;
  background: var(--shop-bg-secondary);
  border: 1px solid var(--shop-border-color);
  border-radius: 18px;
  object-fit: cover;
}

/* Opcjonalny skeleton shimmer */
.pt-hero .pt-gallery-placeholder.pt-shimmer {
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
  background-size: 200% 100%;
  animation: pt-shimmer 1.5s infinite;
}

@keyframes pt-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ========== STEP 5: SECTIONS & WHITE SPACE ========== */
.pt-problem,
.pt-solution,
.pt-lifestyle,
.pt-specs,
.pt-inbox,
.pt-reviews,
.pt-compare,
.pt-faq,
.pt-finalcta {
  padding: var(--section-spacing-mobile) var(--pt-pad);
}

@media (min-width: 769px) {
  .pt-problem,
  .pt-solution,
  .pt-lifestyle,
  .pt-specs,
  .pt-inbox,
  .pt-reviews,
  .pt-compare,
  .pt-faq,
  .pt-finalcta {
    padding: var(--section-spacing-desktop) var(--pt-pad);
  }
}

/* Trust Badge / Shipping — clean border, accent icons */
.pt-hero .pt-hero__trust {
  padding-top: var(--pt-gap);
  border-top: 1px solid var(--shop-border-color);
  margin-top: var(--pt-gap);
}

.pt-shipping,
.pt-benefits {
  border-top: 1px solid var(--shop-border-color);
  border-bottom: 1px solid var(--shop-border-color);
}

.pt-shipping .elementor-icon,
.pt-benefits .elementor-icon {
  color: var(--shop-accent-color) !important;
}

.pt-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: var(--pt-gap);
  padding: var(--section-spacing-mobile) var(--pt-pad);
  background: var(--shop-bg-secondary);
  border-radius: var(--pt-radius);
  margin: 0 auto var(--section-spacing-mobile);
  max-width: var(--pt-maxw);
}

.pt-benefits .elementor-icon-box-wrapper {
  flex: 1 1 auto;
  min-width: 120px;
  text-align: center;
}

@media (max-width: 767px) {
  .pt-benefits {
    flex-direction: column;
    gap: 0.75rem;
  }
}

/* ========== PROBLEM — pt-problem ========== */
.pt-problem {
  max-width: 700px;
  margin: 0 auto 2rem;
  padding: 2rem var(--pt-pad);
  text-align: center;
}

.pt-problem h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .pt-problem h2 {
    font-size: 1.75rem;
  }
}

.pt-problem .elementor-widget-text-editor {
  color: var(--shop-text-body);
  line-height: 1.7;
}

/* ========== SOLUTION — pt-solution ========== */
.pt-solution {
  padding: 2rem 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-solution h2 {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.5rem;
}

.pt-solution .elementor-container,
.pt-solution .e-con {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pt-gap);
}

@media (min-width: 600px) {
  .pt-solution .elementor-container,
  .pt-solution .e-con {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .pt-solution .elementor-container,
  .pt-solution .e-con {
    grid-template-columns: repeat(4, 1fr);
  }
}

.pt-solution .elementor-widget {
  background: var(--shop-bg-primary);
  padding: var(--pt-pad);
  border-radius: var(--pt-radius);
  border: 1px solid var(--shop-border-color);
  box-shadow: var(--soft-shadow);
  transition: box-shadow 0.2s;
}

.pt-solution .elementor-widget:hover {
  box-shadow: var(--soft-shadow);
}

/* ========== LIFESTYLE — pt-lifestyle ========== */
.pt-lifestyle {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 2rem 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-lifestyle .pt-lifestyle__image {
  flex: 1 1 100%;
}

.pt-lifestyle .pt-lifestyle__list {
  flex: 1 1 100%;
}

@media (min-width: 768px) {
  .pt-lifestyle .pt-lifestyle__image {
    flex: 1 1 50%;
    min-width: 300px;
  }
  .pt-lifestyle .pt-lifestyle__list {
    flex: 1 1 40%;
    min-width: 260px;
  }
}

.pt-lifestyle img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: var(--pt-radius);
}

/* ========== SPECYFIKACJA — pt-specs ========== */
.pt-specs {
  padding: 2rem 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-specs h2 {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.pt-specs table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--pt-radius);
  overflow: hidden;
  box-shadow: var(--soft-shadow);
}

.pt-specs th,
.pt-specs td {
  padding: 1rem 1.25rem;
  text-align: left;
  border-bottom: 1px solid var(--shop-border-color);
}

.pt-specs th {
  background: var(--shop-bg-secondary);
  font-weight: 600;
}

.pt-specs tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .pt-specs table {
    display: block;
  }
  .pt-specs tr {
    display: block;
    margin-bottom: 0.5rem;
    padding: 0.75rem;
    background: var(--shop-bg-secondary);
    border-radius: 8px;
  }
  .pt-specs th,
  .pt-specs td {
    display: block;
    padding: 0.25rem 0;
    border: none;
  }
  .pt-specs th {
    background: none;
    font-size: 0.85rem;
    color: var(--shop-text-body);
    opacity: 0.8;
  }
}

/* ========== W ZESTAWIE — pt-inbox ========== */
.pt-inbox {
  padding: 2rem 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-inbox h2 {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.pt-inbox .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* ========== OPINIE — pt-reviews ========== */
.pt-reviews {
  max-width: var(--pt-maxw);
  margin: 0 auto;
  background: var(--shop-bg-secondary);
  border-radius: var(--pt-radius);
}

.pt-reviews h2 {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.5rem;
}

.pt-reviews .elementor-testimonial-wrapper,
.pt-reviews .elementor-widget-testimonial {
  background: var(--shop-bg-primary);
  padding: var(--pt-pad);
  border-radius: var(--pt-radius);
  box-shadow: var(--soft-shadow);
  border: 1px solid var(--shop-border-color);
}

.pt-reviews img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  max-width: 200px;
}

/* ========== PORÓWNANIE — pt-compare ========== */
.pt-compare {
  padding: 2rem 0;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-compare h2 {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  color: var(--pt-text);
}

.pt-compare table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--pt-radius);
  overflow: hidden;
  box-shadow: var(--pt-shadow);
}

.pt-compare th,
.pt-compare td {
  padding: 1rem 1.25rem;
  text-align: center;
  border-bottom: 1px solid var(--shop-border-color);
}

.pt-compare th:first-child,
.pt-compare td:first-child {
  text-align: left;
}

.pt-compare th {
  background: var(--shop-bg-secondary);
  font-weight: 600;
}

@media (max-width: 767px) {
  .pt-compare {
    overflow-x: auto;
  }
  .pt-compare table {
    min-width: 400px;
  }
}

/* ========== FAQ — pt-faq ========== */
.pt-faq {
  max-width: 600px;
  margin: 0 auto 2rem;
  padding: 2rem var(--pt-pad);
}

.pt-faq h2 {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.5rem;
}

.pt-faq .elementor-accordion .elementor-tab-title {
  padding: 1rem 1.25rem;
  border-radius: var(--pt-radius);
  margin-bottom: 0.5rem;
  background: var(--shop-bg-primary);
  box-shadow: var(--soft-shadow);
  border: 1px solid var(--shop-border-color);
}

.pt-faq .elementor-tab-content {
  padding: 1rem 1.25rem;
}

/* ========== DOSTAWA / GWARANCJA — pt-shipping ========== */
.pt-shipping {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  padding: var(--section-spacing-mobile) var(--pt-pad);
  background: var(--shop-bg-primary);
  border-radius: var(--pt-radius);
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

@media (min-width: 769px) {
  .pt-shipping {
    padding: var(--section-spacing-desktop) var(--pt-pad);
  }
}

.pt-shipping .elementor-widget {
  flex: 1 1 auto;
  min-width: 150px;
  text-align: center;
}

@media (max-width: 767px) {
  .pt-shipping {
    flex-direction: column;
    gap: 1rem;
  }
}

/* ========== FINAL CTA — pt-finalcta ========== */
.pt-finalcta {
  padding: 2rem var(--pt-pad);
  text-align: center;
  max-width: var(--pt-maxw);
  margin: 0 auto;
}

.pt-finalcta h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.pt-finalcta .elementor-button,
.pt-finalcta .single_add_to_cart_button,
.pt-finalcta .add_to_cart_button {
  width: 100%;
  max-width: 400px;
}

@media (max-width: 767px) {
  .pt-finalcta .elementor-button,
  .pt-finalcta .single_add_to_cart_button,
  .pt-finalcta .add_to_cart_button {
    width: 100%;
    max-width: none;
  }
}

/* ========== STICKY (mobile only) ========== */
.pt-sticky-cart {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--shop-bg-primary);
  padding: 12px 14px;
  border-top: 1px solid var(--shop-border-color);
  box-shadow: var(--soft-shadow);
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--pt-gap);
}

@media (max-width: 768px) {
  .pt-sticky-cart {
    display: flex !important;
  }
}

@media (min-width: 769px) {
  .pt-sticky-cart {
    display: none !important;
  }
}

.pt-sticky-cart .pt-sticky-cart__price {
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--shop-text-heading);
}

.pt-sticky-cart .single_add_to_cart_button,
.pt-sticky-cart .elementor-button.pt-btn-primary,
.pt-sticky-cart .pt-sticky-cart__btn .single_add_to_cart_button,
.pt-sticky-cart .elementor-button {
  min-height: 48px;
  height: 48px;
  padding: 0 1.25rem;
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--shop-accent-color) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--button-radius);
}

/* Body padding gdy sticky aktywny — tylko na mobile */
@media (max-width: 768px) {
  body.pt-has-sticky-cart {
    padding-bottom: 72px;
  }
}

@media (min-width: 769px) {
  body.pt-has-sticky-cart {
    padding-bottom: 0;
  }
}

/* ========== TYPOGRAPHY ========== */
.pt-hero h1,
.pt-problem h2,
.pt-solution h2,
.pt-lifestyle h2,
.pt-specs h2,
.pt-inbox h2,
.pt-reviews h2,
.pt-compare h2,
.pt-faq h2,
.pt-finalcta h2 {
  font-weight: 700;
  line-height: 1.3;
}

.pt-product-layout p,
.pt-hero .elementor-widget-text-editor,
.pt-problem .elementor-widget-text-editor {
  font-size: 1rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .pt-product-layout p,
  .pt-hero .elementor-widget-text-editor,
  .pt-problem .elementor-widget-text-editor {
    font-size: 1.0625rem;
  }
}

@media (min-width: 1024px) {
  .pt-hero h1,
  .pt-problem h2,
  .pt-solution h2,
  .pt-lifestyle h2,
  .pt-specs h2,
  .pt-inbox h2,
  .pt-reviews h2,
  .pt-compare h2,
  .pt-faq h2,
  .pt-finalcta h2 {
    font-size: 1.75rem;
  }
}

@media (min-width: 1280px) {
  .pt-hero h1,
  .pt-problem h2,
  .pt-solution h2,
  .pt-lifestyle h2,
  .pt-specs h2,
  .pt-inbox h2,
  .pt-reviews h2,
  .pt-compare h2,
  .pt-faq h2,
  .pt-finalcta h2 {
    font-size: 2rem;
  }
}

/* ==========================================================================
   CO SPRAWDZIĆ PO WDROŻENIU
   ========================================================================== */
/*
1. FONTY: Załaduj Poppins + Inter (Google Fonts lub Elementor Fonts).

2. CTA: .single_add_to_cart_button — champagne gold (--shop-accent-color),
   pill shape, uppercase, hover lift effect.

3. GWIAZDKI: WooCommerce star-rating — --shop-star-color (#FFB300).

4. MOBILE: Min 20px padding, title/price/rating wycentrowane,
   CTA width 100%, H1 nieco mniejszy.

5. SECTIONS: --section-spacing-desktop 80px, --section-spacing-mobile 50px.

6. TRUST BADGES: pt-shipping, pt-benefits — ikony w --shop-accent-color.
*//* End custom CSS */