:root {
  --pn-green: #1f651d;
  --pn-green-dark: #164d16;
  --pn-pink: #ec0064;
  --pn-cream: #fff8fb;
  --pn-text: #172018;
  --pn-white: #ffffff;
  --pn-container: 1240px;
}

.pn-empty-state { width: min(100% - 32px, var(--pn-container)); margin: 24px auto; padding: 18px; border: 1px dashed rgba(31,101,29,.35); border-radius: 12px; background: #fff; color: #444; }

.pn-main-slider { position: relative; width: 100%; height: clamp(460px, 44vw, 590px); overflow: hidden; background: var(--pn-cream); }
.pn-slider-track { position: relative; width: 100%; height: 100%; }
.pn-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; display: grid; align-items: center; background-image: linear-gradient(rgba(0,0,0,var(--pn-slide-overlay)), rgba(0,0,0,var(--pn-slide-overlay))), var(--pn-slide-image-desktop); background-size: cover; background-position: var(--pn-slide-position-desktop, center center); background-repeat: no-repeat; color: var(--pn-slide-text); }
.pn-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.pn-slide-content { width: min(100% - 48px, var(--pn-container)); margin-inline: auto; display: flex; flex-direction: column; align-items: flex-start; }
.pn-align-center .pn-slide-content { align-items: center; text-align: center; }
.pn-align-right .pn-slide-content { align-items: flex-end; text-align: right; }
.pn-slide-eyebrow { margin-bottom: 14px; font-size: clamp(16px, 1.7vw, 24px); font-family: Georgia, serif; }
.pn-slide-title { max-width: 720px; margin: 0; color: inherit; font-size: clamp(42px, 5.4vw, 78px); line-height: .98; font-family: Georgia, serif; font-weight: 500; letter-spacing: -.035em; }
.pn-slide-highlight { margin-top: 8px; max-width: 760px; color: var(--pn-pink); font-size: clamp(40px, 5.2vw, 74px); line-height: 1; font-family: Georgia, serif; font-style: italic; }
.pn-slide-description { max-width: 560px; margin: 22px 0 0; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; }
.pn-slide-button { margin-top: 28px; display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border-radius: 9px; background: var(--pn-pink); color: #fff; text-decoration: none; font-size: 13px; font-weight: 800; letter-spacing: .03em; }
.pn-slider-arrow { position: absolute; top: 50%; z-index: 3; width: 44px; height: 44px; transform: translateY(-50%); display: grid; place-items: center; border: 0; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--pn-green-dark); box-shadow: 0 8px 24px rgba(0,0,0,.12); font-size: 28px; cursor: pointer; }
.pn-slider-prev { left: 18px; }
.pn-slider-next { right: 18px; }
.pn-slider-dots { position: absolute; z-index: 3; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; gap: 8px; }
.pn-slider-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.58); cursor: pointer; }
.pn-slider-dot.is-active { width: 28px; background: var(--pn-pink); }

.pn-product-carousel { width: min(100% - 40px, var(--pn-container)); margin: 54px auto; }
.pn-products-header { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.pn-products-header h2 { margin: 0; color: var(--pn-green-dark); font-family: Georgia, serif; font-size: clamp(28px, 3vw, 42px); font-weight: 500; }
.pn-products-header-actions { display: flex; align-items: center; gap: 8px; }
.pn-view-all { margin-right: 6px; color: var(--pn-green); text-decoration: none; font-weight: 700; }
.pn-products-arrow { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(31,101,29,.22); border-radius: 999px; background: #fff; color: var(--pn-green); font-size: 22px; cursor: pointer; }
.pn-products-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 54px) / 4); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.pn-products-track::-webkit-scrollbar { display: none; }
.pn-product-card { min-width: 0; overflow: hidden; scroll-snap-align: start; background: #fff; border-radius: 14px; }
.pn-product-image { aspect-ratio: 1 / 1; display: block; overflow: hidden; border-radius: 14px; background: #ffffff; }
.pn-product-image img { width: 100%; height: 100%; padding: 10px; object-fit: contain; object-position: center; background: #ffffff; transition: transform .35s ease; }
.pn-product-card:hover .pn-product-image img { transform: scale(1.035); }
.pn-product-body { padding: 14px 2px 2px; }
.pn-product-body h3 { margin: 0 0 8px; min-height: 2.7em; font-size: 16px; line-height: 1.35; }
.pn-product-body h3 a { color: var(--pn-text); text-decoration: none; }
.pn-product-price { color: var(--pn-green-dark); font-size: 18px; font-weight: 800; }
.pn-product-price del { opacity: .55; font-size: .78em; }
.pn-product-price ins { text-decoration: none; }
.pn-product-installments { margin-top: 3px; color: #697069; font-size: 12px; }
.pn-product-card-footer { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pn-product-details { color: var(--pn-green); text-decoration: none; font-size: 13px; font-weight: 700; }
.pn-add-cart.button,
.pn-add-cart { width: 36px; height: 36px; min-height: 36px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 9px; background: var(--pn-green); color: #fff; text-decoration: none; line-height: 1; }
.pn-add-cart.button:hover,
.pn-add-cart:hover { background: var(--pn-green-dark); color: #fff; }
.pn-add-cart svg { width: 17px; height: 17px; fill: currentColor; }

@media (max-width: 1024px) {
  .pn-products-track { grid-auto-columns: calc((100% - 18px) / 2); }
}

@media (max-width: 767px) {
  .pn-main-slider { height: 520px; }
  .pn-slide { background-image: linear-gradient(rgba(0,0,0,var(--pn-slide-overlay)), rgba(0,0,0,var(--pn-slide-overlay))), var(--pn-slide-image-mobile); background-position: var(--pn-slide-position-mobile, center center); }
  .pn-slide-content { width: min(100% - 32px, var(--pn-container)); align-items: flex-start !important; text-align: left !important; }
  .pn-slide-title { max-width: 92%; font-size: clamp(38px, 13vw, 54px); }
  .pn-slide-highlight { max-width: 96%; font-size: clamp(36px, 12vw, 50px); }
  .pn-slide-description { max-width: 90%; font-size: 15px; }
  .pn-slider-arrow { width: 36px; height: 36px; font-size: 23px; }
  .pn-slider-prev { left: 8px; }
  .pn-slider-next { right: 8px; }
  .pn-product-carousel { width: min(100% - 28px, var(--pn-container)); margin: 40px auto; }
  .pn-products-header { align-items: flex-end; }
  .pn-products-header h2 { font-size: 29px; }
  .pn-view-all { display: none; }
  .pn-products-track { grid-auto-columns: 84%; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .pn-slide,
  .pn-product-image img { transition: none; }
  .pn-products-track { scroll-behavior: auto; }
}
