/* ======================================================
   WEATHERBY PRODUCT TEMPLATE — WPBakery-safe section styling
   Scoped to .wpt-pdp-section so it won’t impact other PDPs
====================================================== */
/* Container */
.wpt-pdp-container{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

/* Section wrapper (each WPBakery row gets one of these) */
.wpt-pdp-section{
  padding: clamp(38px, 5vw, 80px) 0;
  background: #f3f6f6;
}

/* Optional: add this class to the *next* sections if you want divider lines */
.wpt-pdp-section--lined{
  border-top: 1px solid rgba(12,12,13,.08);
}

/* Header block */
.wpt-pdp__head{
  max-width: 920px;
  margin: 0 0 clamp(18px, 2.6vw, 34px);
}
.wpt-pdp__head--center{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Typography helpers */
.wpt-eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(12,12,13,.50);
}
.wpt-h2{
  margin: 0;
  letter-spacing: -0.03em;
  line-height: 1.02;
  font-size: clamp(34px, 4.2vw, 56px);
  color: rgba(12,12,13,.92);
}
.wpt-accent{ color: #c79a00; }
.wpt-pdp-included{ color:#03a678; }

.wpt-pdp__sub{
  margin: 10px 0 0;
  color: rgba(12,12,13,.68);
  line-height: 1.55;
  font-size: 16px;
  max-width: 72ch;
}
.wpt-p{
  margin: 12px 0 0;
  color: rgba(12,12,13,.74);
  line-height: 1.65;
  font-size: 16px;
}
/* Launch header centering harden */
.wpt-pdp__head--center{
  text-align: center;
}
.wpt-pdp__head--center .wpt-pdp__sub,
.wpt-pdp__sub--center{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Bigger video headline */
.wpt-h2--hero{
  font-size: clamp(44px, 5.4vw, 78px)!important;
  line-height: .95!important;
  margin: 0;
}

/* Two-part headline styling */
.wpt-h2__kicker{
  display: block;
  font-size: clamp(18px, 1.8vw, 26px);
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(12,12,13,.55);
  margin-bottom: 10px;
}
.wpt-h2__main{
  display: block;
  color: rgba(12,12,13,.92);
}

/* Subhead refinement */
.wpt-pdp__sub{
  font-size: 17px;
  line-height: 1.6;
  max-width: 62ch;
}

/* The green indicator */
.wpt-included-dot{
  flex: 0 0 8px;
  height: 8px;
  margin-top: 6px;
  border-radius: 50%;
  background: #03a678;
  box-shadow: 0 0 0 rgba(3,166,120,.4);
  animation: wpt-pulse 2.4s ease-out infinite;
}

/* Gentle pulse — not distracting */
@keyframes wpt-pulse{
  0%{
    box-shadow: 0 0 0 0 rgba(3,166,120,.45);
  }
  70%{
    box-shadow: 0 0 0 6px rgba(3,166,120,0);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(3,166,120,0);
  }
}

.wpt-incopt__included{
  margin: 0;
  padding-left: 18px;
  position: relative;
  color: #03a678;
  line-height: 1.45;
}

.wpt-incopt__included::before{
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #03a678;
  transform: translateY(-50%);
  animation: wpt-pulse 2.4s ease-out infinite;
}


/* ======================================================
   VIDEO
====================================================== */
.wpt-video__frame{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 18px 50px rgba(0,0,0,.10);
  aspect-ratio: 16 / 9;
}
.wpt-video__frame iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ======================================================
   SPLIT LAYOUT (copy + image)
======================================================
.wpt-split{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(18px, 3vw, 44px);
  align-items: center;
}
.wpt-split__media{
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.12);
}
.wpt-split__media img{
  width: 100%;
  height: auto;
  display: block;
}

-- Callout box --
.wpt-callout{
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(12,12,13,.10);
}
.wpt-callout p{
  margin: 0;
  color: rgba(12,12,13,.78);
}
.wpt-callout p + p{ margin-top: 6px; }

--details --
.wpt-details{
  margin-top: 14px;
  border-radius: 14px;
  border: 1px solid rgba(12,12,13,.12);
  background: rgba(255,255,255,.65);
  padding: 8px 12px;
}
.wpt-details summary{
  cursor: pointer;
  font-weight: 650;
  color: rgba(12,12,13,.86);
  padding: 8px 6px;
}
.wpt-details__body{ padding: 0 6px 10px; } */

/* =========================================================
   PDP FEATURE — split layout with edge-pinned image
   ========================================================= */

/* ===== MZY Split (Knife-style) ===== */
.wpt-split{
  background: #f3f6f6; 
  /*color: #0a0a0a;*/
}

.wpt-split__inner{
  display: grid;
  gap: 0;
  grid-template-areas:
    "media"
    "copy";
}

.wpt-split__copy{ grid-area: copy; }
.wpt-split__media{ grid-area: media; }

/* Copy */
.wpt-split__copy{
  padding: clamp(1.25rem, 3vw, 3rem);
  max-width: 640px;
  margin-inline: auto;
}

.wpt-split__eyebrow{
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 .75rem;
  color: #111;
}

.wpt-split__title{
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1.2;
  font-weight: 800;
  margin: .2rem 0 1.25rem !important;
  letter-spacing: -0.02em;
}
.wpt-split__subhead{
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 650;
  color: #1b1b1b;
  letter-spacing: -0.01em;
}

/*.wpt-split__title::before{
  content:"";
  display:block;
  width: 48px;
  height: 3px;
  background: rgba(180,20,30,.9); 
  margin: 0 0 .75rem;
}*/

.wpt-split__body{
  font-size: 1rem;
  line-height: 1.7;
  color: #3a3a3a;
  margin: 0 0 1.25rem;
}

/* Media */
.wpt-split__media{
  margin: 0;
  line-height: 0;
  position: relative;
  overflow: hidden;   /* required for edge crop */
  border-radius: 0;   /* kill rounded corners */
  box-shadow: none;   /* kill shadow */
}

.wpt-split__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Optional: subtle vignette to help the image feel “seated” */
.wpt-has-vignette .wpt-split__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(to left, rgba(0,0,0,.14), transparent 28%);
  pointer-events:none;
  opacity:.9;
}

/* Desktop: 2 columns, full-height feel */
@media (min-width:1024px){
  .wpt-split__inner{
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "copy media";
    align-items: stretch;
    /* min-height: 82vh; knife used 90vh; tune as desired */
   min-height:60vh;
  }

  .wpt-split--swap .wpt-split__inner{
    grid-template-areas: "media copy";
  }

  .wpt-split__copy{
    padding: clamp(2rem, 4vw, 5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* Breakout: bleed media to viewport edge (RIGHT by default) */
@media (min-width:1200px){
  .wpt-split--breakout .wpt-split__media{
    margin-right: calc(50% - 50vw);
  }
  .wpt-split--breakout.wpt-split--swap .wpt-split__media{
    margin-left: calc(50% - 50vw);
    margin-right: 0;
  }
}

/* Reverse vignette if image on LEFT */
@media (min-width:1024px){
  .wpt-split--swap.wpt-has-vignette .wpt-split__media::after{
    background: linear-gradient(to right, rgba(0,0,0,.14), transparent 28%);
  }
}

/* Callout box – keep your existing vibe */
.wpt-split__callout{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 14px 16px;
  background: rgba(255,255,255,.55);
  margin: 1.25rem 0 1rem;
}
.wpt-split__callout p{ margin: 0 0 .65rem; }
.wpt-split__callout p:last-child{ margin: 0; }

/* Link styling */
.wpt-inline-link{
  /*margin-left: 10px;*/
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  box-shadow:none!important;
}

.wpt-callout-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  /*font-weight: 700;*/
  font-size: 0.95em;
  text-decoration: none;
  /*border-bottom: 1px solid rgba(0,0,0,.35);*/
  padding-bottom: 2px;
  width: fit-content;
box-shadow:none!important;
  color: rgba(104,104,104,.7);
}

.wpt-callout-link::after{
  content: "→";
  font-weight: 700;
  transform: translateY(1px);
}

.wpt-callout-link:hover{
  border-bottom-color: rgba(0,0,0,.7);
}

/* Accordion (keep whatever you already have, but safe defaults) */
.wpt-accordion{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.45);
  padding: 0;
  overflow: hidden;
}
.wpt-accordion__summary{
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
}
.wpt-accordion__summary::-webkit-details-marker{ display:none; }
.wpt-accordion__body{
  padding: 0 18px 18px;
  color: #3a3a3a;
}

/* Desktop layout: lock the media height to the viewport */
@media (min-width: 1024px){
  .wpt-feature__grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 90vh; /* or 100vh if you want */
  }

  .wpt-feature__media{
    height: 90vh;              /* lock height */
    overflow: hidden;          /* crop clean */
  }

  .wpt-feature__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Copy can grow, but it scrolls instead of stretching the section */
  .wpt-feature__copy{
    max-height: 90vh;
    overflow: auto;
    padding-right: 14px; /* optional: avoids scrollbar sitting on text */
  }
}
/* ===== MZY Feature Split (desktop stability) ===== */
.wpt-feature__grid{
  display: grid;
  gap: 0;
}

@media (min-width: 1024px){
  /* Lock the whole section height so opening details doesn't push the page */
  .wpt-feature__grid{
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    height: 90vh;          /* or 100vh if you want it bolder */
    min-height: 720px;     /* optional guardrail for big monitors */
  }

  /* Left column becomes the scroll container */
  .wpt-feature__copy{
    overflow: auto;
    padding: clamp(2rem, 4vw, 5rem);
  }

  /* Optional: subtle fade at bottom so users “feel” there’s more */
  .wpt-feature__copy{
    -webkit-mask-image: linear-gradient(to bottom, #000 92%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 92%, transparent 100%);
  }

  /* Right image stays stable and bleeds to the viewport edge */
  .wpt-feature__media{
    margin-right: calc(50% - 50vw);  /* breakout to the right */
    overflow: hidden;
  }

  .wpt-feature__media img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }
}
.wpt-accordion--overlay{
  position: relative;
}

/* make sure the summary is always clickable */
.wpt-accordion--overlay > .wpt-accordion__summary{
  position: relative;
  z-index: 30;
  cursor: pointer;
}

/* overlay panel (closed state) */
.wpt-accordion--overlay .wpt-accordion__overlay{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  z-index: 20;

  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.12);

  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height .25s ease, opacity .2s ease, transform .2s ease;

  pointer-events: none; /* ✅ critical: don't block clicks when closed */
}

/* overlay panel (open state) */
.wpt-accordion--overlay[open] .wpt-accordion__overlay{
  max-height: 420px;
  opacity: 1;
  transform: translateY(0);

  pointer-events: auto; /* ✅ now you can click/scroll inside it */
}

.wpt-accordion--overlay .wpt-accordion__body{
  padding: 16px 18px 18px;
  overflow: auto;
  max-height: 420px;
}

/* ========== Split base (reuses your ignition pattern) ========== */
.wpt-split{
  background: #f3f6f6;
}

.wpt-split__inner{
  display: grid;
  gap: 0;
  grid-template-areas:
    "media"
    "copy";
}

.wpt-split__copy{ grid-area: copy; }
.wpt-split__media{ grid-area: media; }

.wpt-split__copy{
  padding: clamp(1.25rem, 3vw, 3rem);
  max-width: 72ch;         /* 👈 keeps copy from running forever */
  margin-inline: auto;
}

.wpt-split__title{
  font-size: clamp(1.9rem, 3.4vw, 3.2rem);
  line-height: 1.08;
  font-weight: 900;
  margin: .2rem 0 .75rem !important;
  letter-spacing: -0.02em;
  color: #111;
}

.wpt-split__subhead{
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 650;        /* match ignition feel */
  color: #111;
  letter-spacing: -0.01em;
}

.wpt-split__body{
  font-size: 1rem;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0 0 1.25rem;
}

/* Media */
.wpt-split__media{
  margin: 0;
  line-height: 0;
  position: relative;
  overflow: hidden;
}

.wpt-split__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* this PNG wants contain, not cover */
}

/* Desktop split */
@media (min-width:1024px){
  .wpt-split__inner{
    grid-template-columns: 1.05fr .95fr;
    grid-template-areas: "copy media";
    align-items: start;
    column-gap: clamp(2rem, 4vw, 4rem);
  }

  /* keep image feeling big + stable */
  .wpt-split--load .wpt-split__media{
    min-height: 640px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* little “landing page” oversize energy */
  .wpt-split--load .wpt-split__media img{
    width: min(820px, 52vw);
    height: auto;
  }
}

/* Breakout: bleed media to viewport edge (RIGHT) */
@media (min-width:1200px){
  .wpt-split--breakout .wpt-split__media{
    margin-right: calc(50% - 50vw);
  }
}

/* Eyebrow */
.wpt-eyebrow{
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 .75rem;
  color: rgba(0,0,0,.55);
}

/* ========== Load rows (table-ish) ========== */
.wpt-load__rows{
  border-top: 1px solid rgba(0,0,0,.08);
  margin-top: 1.25rem;
}

.wpt-load__row{
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  color: #2f2f2f;
}

.wpt-load__key{
  font-weight: 800;
  color: #111;
}

.wpt-load__val{
  color: #2f2f2f;
}

.wpt-load__fineprint{
  padding: .9rem 0;
  font-size: .85rem;
  color: rgba(0,0,0,.55);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* Field tip (soft card) */
.wpt-load__tip{
  margin-top: 1rem;
  padding: 14px 16px;
  border-radius: 14px;
  /*background: rgba(255,255,255,.65);*/
  background: #f5eabf;
  border: 1px solid rgba(0,0,0,.08);
  color: rgba(12,12,13,.78);
  line-height: 1.55;
}

/* Soft link (same pattern you liked) */
.wpt-soft-link{
  display: inline-block;
  margin-left: 10px;
  font-size: .95em;
  color: rgba(0,0,0,.55);
  text-decoration: none;
  box-shadow: none !important;
  white-space: nowrap;
}
.wpt-soft-link::after{ content: " →"; font-weight: 800; }
.wpt-soft-link:hover{ color: #111; }
.wpt-soft-link--solo{ margin-left: 0; }

/* ========== Accordion (PDP friendly, no overlay) ========== */
.wpt-accordion{
  margin-top: 1rem;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.45);
  overflow: hidden;
}

.wpt-accordion__summary{
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 800;
  position: relative;
}
.wpt-accordion__summary::-webkit-details-marker{ display:none; }

.wpt-accordion__summary::after{
  content:"+";
  position:absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 900;
  opacity: .6;
}

.wpt-accordion[open] .wpt-accordion__summary::after{
  content:"–";
  opacity: .8;
}

/* Smooth-ish open animation using grid trick */
.wpt-accordion__content{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .25s ease;
}
.wpt-accordion[open] .wpt-accordion__content{
  grid-template-rows: 1fr;
}
.wpt-accordion__body{
  overflow: hidden;
  padding: 0 18px 18px;
  color: #3a3a3a;
}

.wpt-acc__item p{
  margin: .85rem 0 0;
  line-height: 1.65;
}
.wpt-acc__item:first-child p{ margin-top: .5rem; }

/* ======================================================
   Recommended Load — Included callout (small, not a card)
====================================================== */

.wpt-load__included{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(12,12,13,.10);
  /*color: rgba(12,12,13,.78);*/
color:#03a678;
}

.wpt-load__included p{
  margin: 0;
  line-height: 1.55;
  font-size: .95rem;
}

.wpt-load__included strong{
  font-weight: 800;
  /*color: rgba(12,12,13,.90);*/
color:#03a678;
}

/* Optional: keep it from feeling “boxy” on desktop */
@media (min-width: 980px){
  .wpt-load__included{
    max-width: 520px; /* adjust to taste, keeps it tidy */
  }
}

/* ======================================================
   INCLUDED GRID
====================================================== */
.wpt-included__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.wpt-included__item{
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(12,12,13,.10);
  border-radius: 18px;
  padding: 16px 16px 14px;
}
.wpt-included__item h3{
  margin: 0;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: rgba(12,12,13,.90);
}
.wpt-included__item p{
  margin: 8px 0 0;
  color: rgba(12,12,13,.70);
  line-height: 1.55;
  font-size: 14px;
}

/* ======================================================
   INCLUDED GRID — Polished
====================================================== */

.wpt-included__list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Responsive */
@media (max-width: 1024px){
  .wpt-included__list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .wpt-included__list{ grid-template-columns: 1fr; }
}

.wpt-included__item{
  position: relative;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(12,12,13,.10);
  border-radius: 18px;
  padding: 18px 18px 16px;
  overflow: hidden;
}

/* Subtle green “flare” without screaming */
.wpt-included__item::before{
  content:"";
  position:absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #03a678;
  opacity: .22; /* subtle */
}

/* Soft highlight ring on hover (desktop only) */
@media (hover:hover){
  .wpt-included__item{
    transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
  }
  .wpt-included__item:hover{
    border-color: rgba(3,166,120,.28);
    background: rgba(255,255,255,.90);
    transform: translateY(-1px);
  }
}

/* Title row: add the green dot without flexing the whole card */
.wpt-included__item h3{
  margin: 0;
  font-size: 32px;
  letter-spacing: -0.012em;
  color: rgba(12,12,13,.92);
  line-height: .95;

  /* dot layout */
  position: relative;
  padding-left: 18px;
}

/* green dot */
.wpt-included__item h3::before{
  content:"";
  position:absolute;
  left: 0;
  top: .38em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #03a678;
  box-shadow: 0 0 0 3px rgba(3,166,120,.14);
}

/* Optional: extremely subtle pulse — safe, but won’t feel like a notification */
@media (prefers-reduced-motion: no-preference){
  .wpt-included__item h3::before{
    animation: wptDotPulse 2.4s ease-in-out infinite;
  }
  @keyframes wptDotPulse{
    0%, 70%, 100% { transform: scale(1); opacity: 1; }
    35% { transform: scale(1.12); opacity: .85; }
  }
}

.wpt-included__item p{
  margin: 20px 0 0;
  color: rgba(12,12,13,.72);
  line-height: 1.55;
  font-size: 14px;
  max-width: 42ch; /* keeps it feeling “designed” */
}

/* ======================================================
   INCLUDED — Apple-ish polish (namespaced)
====================================================== */

.wpt-included__list--apple{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 980px){
  .wpt-included__list--apple{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .wpt-included__list--apple{ grid-template-columns: 1fr; }
}

.wpt-incCard{
  position: relative;
  border-radius: 22px;
  padding: 22px 22px 56px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(12,12,13,.10);
  box-shadow: 0 10px 30px rgba(12,12,13,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  min-height: 240px;
}

@media (hover:hover){
  .wpt-incCard:hover{
    transform: translateY(-2px);
    border-color: rgba(3,166,120,.30);
    box-shadow: 0 16px 40px rgba(12,12,13,.10);
  }
}

.wpt-incCard__title{
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: rgba(12,12,13,.92);
}

.wpt-incCard__desc{
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(12,12,13,.72);
  max-width: 46ch;
}

/* + button */
.wpt-incCard__plus{
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(12,12,13,.14);
  background: rgba(12,12,13,.82);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}

.wpt-incCard__plus:hover{ transform: translateY(-1px); }
.wpt-incCard__plus:focus-visible{
  outline: 2px solid rgba(3,166,120,.55);
  outline-offset: 3px;
}

/* ===== Meta rows (load-line style) ===== */
.wpt-incMetaRow{
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(12,12,13,.10);
}

.wpt-incMetaKey{
  font-weight: 650;
  color: rgba(12,12,13,.90);
  font-size: 13px;
  letter-spacing: -0.01em;
}

.wpt-incMetaVal{
  color: rgba(12,12,13,.78);
  font-size: 13px;
  line-height: 1.4;
}

/* Card version: slightly tighter */
.wpt-incCard__meta .wpt-incMetaRow{
  padding: 8px 0 0;
  border-top: 0;
  margin-top: 10px;
  border-top: 1px solid rgba(12,12,13,.08);
}


/* ======================================================
   MODAL (namespaced)
====================================================== */

.wpt-incModal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.wpt-incModal[aria-hidden="false"]{
  display: flex;
}

.wpt-incModal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(12,12,13,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.wpt-incModal__panel{
  position: relative;
  z-index: 1;
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(12,12,13,.10);
  box-shadow: 0 30px 90px rgba(12,12,13,.25);
}

.wpt-incModal[aria-hidden="false"] .wpt-incModal__panel{
  animation: wptIncModalIn .16s ease-out;
}

@keyframes wptIncModalIn{
  from{ transform: translateY(6px) scale(.99); opacity: .0; }
  to  { transform: translateY(0) scale(1); opacity: 1; }
}

.wpt-incModal__close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(12,12,13,.12);
  background: rgba(255,255,255,.92);
  color: rgba(12,12,13,.85);
  font-size: 22px;
  cursor: pointer;
}

.wpt-incModal__content{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
}

.wpt-incModal__media{
  background: rgba(12,12,13,.03);
  border-right: 1px solid rgba(12,12,13,.06);
  min-height: 380px;
}

.wpt-incModal__media img{
  width: 100%;
  height: 100%;
  /*object-fit: cover;*/
  display: block;
}

.wpt-incModal__text{
  padding: 34px 34px 32px;
}

.wpt-incModal__eyebrow{
  margin: 0 0 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(12,12,13,.55);
}

.wpt-incModal__title{
  margin: 0;
  font-size: 34px;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: rgba(12,12,13,.92);
}

.wpt-incModal__body{
  margin: 14px 0 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(12,12,13,.75);
  max-width: 60ch;
}

.wpt-incModal__actions{ margin-top: 18px; }

@media (max-width: 860px){
  .wpt-incModal__content{ grid-template-columns: 1fr; }
  .wpt-incModal__media{
    border-right: 0;
    border-bottom: 1px solid rgba(12,12,13,.06);
    min-height: 240px;
  }
  .wpt-incModal__text{ padding: 26px; }
  .wpt-incModal__title{ font-size: 28px; }
  .wpt-incModal__panel{ width: calc(100vw - 24px); }
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){
  .wpt-incModal__backdrop{ background: rgba(12,12,13,.55); }
}

/* ======================================================
   ACCESSORY CARDS
====================================================== */
.wpt-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.wpt-card{
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(12,12,13,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}
.wpt-card__media{
  /*aspect-ratio: 16 / 9;*/
  aspect-ratio:auto;
  background: linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,0));
}
.wpt-card__body{ padding: 16px 16px 18px; }
.wpt-card__title{
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: rgba(12,12,13,.90);
}
.wpt-card__copy{
  margin: 10px 0 0;
  color: rgba(12,12,13,.72);
  line-height: 1.6;
  font-size: 14px;
}
.wpt-card__meta{
  margin: 10px 0 0;
  color: rgba(12,12,13,.55);
  font-size: 12px;
  letter-spacing: .02em;
}
.wpt-card__cta{
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
  font-size: 13px;
  color: rgba(12,12,13,.88);
  text-decoration: none;
}
.wpt-card__cta:hover{ text-decoration: underline; }

.wpt-note{
  margin: 14px 0 0;
  color: rgba(12,12,13,.60);
  font-size: 13px;
  line-height: 1.5;
}

/* ======================================================
   SIGHTS
====================================================== */
.wpt-sights__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.wpt-sights__block{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(12,12,13,.10);
  border-radius: 18px;
  padding: 16px 16px 18px;
}
.wpt-sights__block h3{
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: rgba(12,12,13,.90);
}
.wpt-bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(12,12,13,.74);
  line-height: 1.6;
  font-size: 14px;
}
.wpt-mini{
  margin: 10px 0 0;
  color: rgba(12,12,13,.58);
  font-size: 13px;
  line-height: 1.5;
}
.wpt-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(12,12,13,.14);
  background: rgba(12,12,13,.92);
  color: #fff;
  text-decoration: none;
  font-weight: 750;
  font-size: 13px;
}
.wpt-btn:hover{ filter: brightness(1.05); color:#f3c50c; }

.wpt-sights__media{
  margin-top: 12px;
  margin-bottom: 10px;
  background-color: rgba(12,12,13,.03);
  border: 1px solid rgba(12,12,13,.06);
  border-radius: 14px;
  height: 250px;          /* tune */
  overflow: hidden;

  background-repeat: no-repeat;
  background-size: cover;     /* or "cover" if you want more fill */
  background-position: center 75%; /* <-- key: nudge product upward/downward */
}

/* ======================================================
   HOW-TO VIDEOS — carousel + Vimeo modal
====================================================== */

/* ---- Carousel ---- */
.wpt-howto{ position: relative; margin-top: clamp(18px, 2.6vw, 30px); }

.wpt-howto__viewport{
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;            /* Firefox */
  padding: 4px 2px 10px;            /* room for hover lift + shadow */
}
.wpt-howto__viewport::-webkit-scrollbar{ display: none; }

.wpt-howto__track{ display: flex; gap: 16px; align-items: stretch; }

.wpt-howto__card{
  scroll-snap-align: start;
  flex: 0 0 auto;
  width: 82%;                       /* mobile: 1 + peek */
  display: flex;
  flex-direction: column;
  text-align: left;
  cursor: pointer;
  border: 0; padding: 0; margin: 0;
  background: transparent;
  font: inherit; color: inherit;
  -webkit-appearance: none; appearance: none;
}
@media (min-width: 640px){  .wpt-howto__card{ width: 46%; } }
@media (min-width: 980px){  .wpt-howto__card{ width: 31.5%; } }
@media (min-width: 1280px){ .wpt-howto__card{ width: 23.5%; } }

.wpt-howto__thumb{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(12,12,13,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}
.wpt-howto__thumb img{
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .35s ease;
}
@media (hover:hover){
  .wpt-howto__card:hover .wpt-howto__thumb img{ transform: scale(1.04); }
}

.wpt-howto__play{ position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.35)); }
.wpt-howto__play::before{
  content:""; position:absolute; left:50%; top:50%;
  width:56px; height:56px; transform: translate(-50%,-50%);
  border-radius:999px; background: rgba(255,255,255,.92);
  box-shadow: 0 8px 24px rgba(0,0,0,.30);
  transition: transform .2s ease, background .2s ease;
}
.wpt-howto__play::after{
  content:""; position:absolute; left:50%; top:50%;
  transform: translate(-40%,-50%);
  width:0; height:0; border-style:solid;
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent rgba(12,12,13,.92);
}
@media (hover:hover){
  .wpt-howto__card:hover .wpt-howto__play::before{
    transform: translate(-50%,-50%) scale(1.08); background:#fff;
  }
}
.wpt-howto__card:focus-visible .wpt-howto__thumb{
  outline: 2px solid rgba(3,166,120,.55); outline-offset: 3px;
}

.wpt-howto__title{
  margin: 12px 0 0; font-size: 16px; font-weight: 750;
  letter-spacing: -0.01em; line-height: 1.25; color: rgba(12,12,13,.92);
}
.wpt-howto__desc{
  margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: rgba(12,12,13,.66);
}

.wpt-howto__nav{ display: flex; gap: 10px; justify-content: flex-end; margin-top: 14px; }
.wpt-howto__btn{
  width: 42px; height: 42px; border-radius: 999px;
  border: 1px solid rgba(12,12,13,.16);
  background: rgba(255,255,255,.85);
  color: rgba(12,12,13,.85);
  display: grid; place-items: center; cursor: pointer;
  transition: background .15s ease, opacity .15s ease, border-color .15s ease;
}
.wpt-howto__btn:hover{ background:#fff; border-color: rgba(12,12,13,.30); }
.wpt-howto__btn:disabled{ opacity:.35; cursor: default; }
.wpt-howto__btn:focus-visible{ outline:2px solid rgba(3,166,120,.55); outline-offset:3px; }
.wpt-howto__btn svg{ width:18px; height:18px; display:block; }

/* ---- Video modal (mirrors .wpt-incModal) ---- */
.wpt-vidModal{
  position: fixed; inset: 0; z-index: 9999;
  display: none; align-items: center; justify-content: center;
}
.wpt-vidModal[aria-hidden="false"]{ display: flex; }
.wpt-vidModal__backdrop{
  position:absolute; inset:0; background: rgba(12,12,13,.55);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.wpt-vidModal__panel{
  position: relative; z-index: 1;
  width: min(1040px, calc(100vw - 32px));
  border-radius: 22px; padding: 16px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(12,12,13,.10);
  box-shadow: 0 30px 90px rgba(12,12,13,.25);
}
.wpt-vidModal[aria-hidden="false"] .wpt-vidModal__panel{
  animation: wptIncModalIn .16s ease-out;
}
.wpt-vidModal__close{
  position:absolute; top:-14px; right:-14px;
  width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(12,12,13,.12);
  background: rgba(255,255,255,.96); color: rgba(12,12,13,.85);
  font-size:22px; cursor:pointer; box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.wpt-vidModal__title{ margin: 14px 4px 0; font-size: 18px; font-weight: 800;
  letter-spacing:-0.01em; color: rgba(12,12,13,.92); }
.wpt-vidModal__desc{ margin: 5px 4px 0; font-size: 14px; line-height:1.55; color: rgba(12,12,13,.66); }
@media (max-width: 600px){ .wpt-vidModal__close{ top:8px; right:8px; } }

/* ======================================================
   FFL BAR
====================================================== */
.wpt-ffl__bar{
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(12,12,13,.92);
  color: rgba(255,255,255,.92);
  box-shadow: 0 18px 60px rgba(0,0,0,.10);
}
.wpt-ffl__bar p{
  margin: 0;
  line-height: 1.5;
  font-size: 13px;
}

/* Responsive */
@media (max-width: 980px){
  .wpt-split{ grid-template-columns: 1fr; }
  .wpt-load__grid{ grid-template-columns: 1fr; }
  .wpt-included__list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wpt-cards{ grid-template-columns: 1fr; }
  .wpt-sights__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .wpt-container{ width: calc(100% - 28px); }
  .wpt-included__list{ grid-template-columns: 1fr; }
}

/* ======================================================
   PDP — Tags over points hero
====================================================== */

#tags-over-points {
  scroll-margin-top: 120px; /* adjust to sticky header height */
}

.wpt-pdpTagsHero{
  position: relative;
  width: 100%;
  overflow: hidden;
  min-height: clamp(520px, 55vw, 720px);
}

.wpt-pdpTagsHero__bg{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  transform: scale(1.02);
}

.wpt-pdpTagsHero__overlay{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.70) 0%,
    rgba(0,0,0,.60) 35%,
    rgba(0,0,0,.35) 60%,
    rgba(0,0,0,.12) 78%,
    rgba(0,0,0,0) 92%
  );
}

.wpt-pdpTagsHero__inner{
  position: relative;
  z-index: 1;
  max-width: 760px;
  padding:
    clamp(64px, 7vw, 110px)
    clamp(18px, 5vw, 98px)
    clamp(56px, 6vw, 90px);
  color: #fff;
}

.wpt-pdpTagsHero__eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}

.wpt-pdpTagsHero__title{
  margin: 0 0 14px;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: .95;
  font-size: clamp(34px, 4.2vw, 56px);
  color: rgba(255,255,255,.92);
  text-shadow: 0 16px 38px rgba(0,0,0,.45);
}

.wpt-pdpTagsHero__copy{
  max-width: 62ch;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255,255,255,.85);
}

.wpt-pdpTagsHero__copy p{
  margin: 0;
}

.wpt-pdpTagsHero__copy p + p{
  margin-top: 12px;
}

.wpt-pdpTagsHero__ctaRow{
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  align-items: center;
}

.wpt-pdpTagsHero__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 750;
  font-size: 13px;

  background: rgba(215,168,0,.92);
  color: #111;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
}

.wpt-pdpTagsHero__cta:hover{
  filter: brightness(1.05);
}

.wpt-pdpTagsHero__mini{
  margin: 0;
  font-size: 12px;
  color: rgba(255,255,255,.70);
}

.wpt-gohunt-powered{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  font-size: 11px;
  color: rgba(255,255,255,.65);
}

.wpt-gohunt-powered img{
  height: 16px;
  width: auto;
  opacity: .85;
margin-top:-7px;
}

@media (max-width: 720px){
  .wpt-pdpTagsHero{
    min-height: 560px;
  }

  .wpt-pdpTagsHero__overlay{
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.62) 0%,
      rgba(0,0,0,.55) 45%,
      rgba(0,0,0,.22) 78%,
      rgba(0,0,0,0) 100%
    );
  }

  .wpt-pdpTagsHero__inner{
    max-width: 100%;
    padding: 56px 18px 60px;
  }
}
