/* ==========================================================================
   Plugpoint — "why us" section + rebuilt footer.
   Self-contained: no theme classes are relied on, so nothing here can be
   pulled apart by a Shrine/Dawn update. Palette comes from pp-theme.css.
   ========================================================================== */

.pp-why{
  background:var(--pp-cream);
  padding:5.5rem 0 4.5rem;
  direction:rtl;
}
.pp-wrap{max-width:112rem;margin:0 auto;padding:0 2rem;}

.pp-why__head{text-align:center;margin-bottom:3.4rem;}
.pp-why__title{
  font-size:clamp(2.8rem,5vw,4.4rem);
  line-height:1.15;
  font-weight:700;
  color:var(--pp-navy);
  margin:0 0 1.2rem;
}
.pp-why__title span{color:var(--pp-accent-text);}
.pp-why__lead{
  font-size:clamp(1.5rem,2vw,1.85rem);
  line-height:1.65;
  color:#5A4A3E;
  max-width:66rem;
  margin:0 auto;
}

/* --- three reasons --- */
.pp-why__list{
  display:grid;
  gap:1.4rem;
  margin:0 0 3.6rem;
  padding:0;
  list-style:none;
}
@media (min-width:750px){.pp-why__list{grid-template-columns:repeat(3,1fr);gap:2rem;}}

.pp-why__item{
  background:#FFFFFF;
  border:1px solid #EEE0D2;
  border-radius:1.6rem;
  padding:2.4rem 2.2rem;
  display:flex;
  gap:1.6rem;
  align-items:flex-start;
}
@media (min-width:750px){
  .pp-why__item{flex-direction:column;align-items:center;text-align:center;gap:1.2rem;}
}
.pp-why__icon{
  flex:0 0 auto;
  width:5.4rem;height:5.4rem;
  border-radius:50%;
  background:rgba(var(--pp-accent-rgb),.10);
  display:flex;align-items:center;justify-content:center;
}
.pp-why__icon svg{width:2.7rem;height:2.7rem;stroke:var(--pp-accent);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;}
.pp-why__h{
  font-size:1.8rem;font-weight:700;color:var(--pp-accent-text);
  margin:0 0 .6rem;line-height:1.35;
}
.pp-why__p{font-size:1.5rem;line-height:1.7;color:#5A4A3E;margin:0;}

/* --- trust strip --- */
.pp-trust{
  background:#FFFFFF;
  border:1px solid #EEE0D2;
  border-radius:1.6rem;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  overflow:hidden;
}
@media (min-width:750px){.pp-trust{grid-template-columns:repeat(4,1fr);}}
.pp-trust__cell{
  padding:2.2rem 1.4rem;
  text-align:center;
  border-inline-end:1px solid #EEE0D2;
  border-block-end:1px solid #EEE0D2;
}
@media (min-width:750px){.pp-trust__cell{border-block-end:0;}}
.pp-trust__cell:last-child{border-inline-end:0;}
@media (min-width:750px){.pp-trust__cell:nth-child(4n){border-inline-end:0;}}
@media (max-width:749px){.pp-trust__cell:nth-child(2n){border-inline-end:0;}
  .pp-trust__cell:nth-last-child(-n+2){border-block-end:0;}}
.pp-trust__cell svg{
  width:3rem;height:3rem;stroke:var(--pp-navy);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;margin-bottom:.9rem;
}
.pp-trust__t{display:block;font-size:1.55rem;font-weight:700;color:var(--pp-navy);line-height:1.3;}
.pp-trust__s{display:block;font-size:1.3rem;color:#8A7566;margin-top:.35rem;line-height:1.4;}

/* ==========================================================================
   Footer
   ========================================================================== */
.pp-footer{background:#2E2119;color:#D8CCC1;direction:rtl;padding:4.5rem 0 0;}
.pp-footer a{color:#D8CCC1;text-decoration:none;}
.pp-footer a:hover{color:#FFFFFF;text-decoration:underline;}

.pp-footer__grid{display:grid;gap:3rem;padding-bottom:3.5rem;}
@media (min-width:750px){.pp-footer__grid{grid-template-columns:1.4fr 1fr 1.3fr;gap:4rem;}}

.pp-footer__h{font-size:1.7rem;font-weight:700;color:#FFFFFF;margin:0 0 1.4rem;}
.pp-footer__p{font-size:1.45rem;line-height:1.75;margin:0 0 .8rem;}
.pp-footer__list{list-style:none;margin:0;padding:0;}
.pp-footer__list li{margin-bottom:.85rem;font-size:1.45rem;}

.pp-footer__brand{font-size:2.6rem;font-weight:700;color:#FFFFFF;letter-spacing:.06em;
  line-height:1.05;margin:0 0 .5rem;}
.pp-footer__brand i{display:block;width:5.2rem;height:3px;background:var(--pp-accent);
  margin-top:.9rem;border-radius:2px;}
.pp-footer__tag{font-size:1.45rem;color:#A8968A;margin:1.2rem 0 0;}

.pp-news__row{display:flex;gap:.8rem;margin-top:1.2rem;flex-wrap:wrap;}
.pp-news__row input{
  flex:1 1 18rem;min-width:0;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);
  border-radius:.7rem;
  padding:1.15rem 1.3rem;
  color:#FFFFFF;font-size:1.45rem;font-family:inherit;
}
.pp-news__row input::placeholder{color:#A8968A;}
.pp-news__row input:focus{outline:2px solid var(--pp-accent);outline-offset:1px;}
.pp-news__row button{
  background:var(--pp-accent);color:#FFFFFF;font-weight:700;font-size:1.45rem;
  border:0;border-radius:.7rem;padding:1.15rem 2.2rem;cursor:pointer;font-family:inherit;
}
.pp-news__row button:hover{background:var(--pp-accent-hover);}
.pp-news__note{font-size:1.25rem;color:#A8968A;margin:.9rem 0 0;}

.pp-footer__pay{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem;}
.pp-footer__pay span{
  background:#FFFFFF;border-radius:.5rem;padding:.5rem .8rem;
  font-size:1.15rem;font-weight:700;color:#241A14;letter-spacing:.02em;
}

.pp-footer__bar{
  border-top:1px solid rgba(255,255,255,.14);
  padding:2rem 0 2.6rem;
  display:flex;flex-wrap:wrap;gap:1rem 2rem;
  align-items:center;justify-content:space-between;
  font-size:1.35rem;
}
.pp-footer__legal{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:0;padding:0;list-style:none;}
.pp-footer__copy{color:#A8968A;margin:0;}

/* --------------------------------------------------------------------------
   The divider that leads into the footer paired with the old footer's light
   background, so it was painting a white wave on white — a tall blank gap.
   Filled navy it reads as the transition into the rebuilt footer instead.
   -------------------------------------------------------------------------- */

.shopify-section-group-footer-group .section-divider{
  background:#FFFFFF;
  line-height:0;
}

/* --------------------------------------------------------------------------
   The catalogue is three products now. On desktop the carousel destroys itself
   (data-destroy-desktop) and the row becomes a plain grid still sized for four
   columns, leaving a hole where the fourth card used to be. The column count is
   set inline on the element, so !important is the only way to reach it.
   -------------------------------------------------------------------------- */
@media (min-width:990px){
  .product-grid{--columns-desktop:3 !important;}
}

/* ==========================================================================
   Carousel arrows — the theme ships flat grey discs that read as a leftover
   from the old palette. Brand them.
   ========================================================================== */
.splide__arrow{
  background:var(--pp-accent) !important;
  opacity:1 !important;
  border:0 !important;
  width:4.4rem;height:4.4rem;
  box-shadow:0 2px 10px rgba(36,26,20,.18);
  transition:background .15s ease, transform .15s ease;
}
.splide__arrow:hover{background:var(--pp-accent-hover) !important;transform:scale(1.06);}
.splide__arrow svg,.splide__arrow path{fill:var(--pp-dark) !important;}
.splide__arrow:disabled{background:#E4D9CE !important;box-shadow:none;}
.splide__pagination__page.is-active{background:var(--pp-accent) !important;}

/* --------------------------------------------------------------------------
   Footer legal row — the links wrapped mid-list and left one orphan on its
   own line. Centre the whole bar on narrow screens and give the separators
   real dividers so the row reads as one unit.
   -------------------------------------------------------------------------- */
.pp-footer__bar{
  border-top:1px solid rgba(255,255,255,.14);
  padding:2.2rem 0 2.8rem;
  display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;
  align-items:center;justify-content:space-between;
  font-size:1.35rem;
}
.pp-footer__legal{
  display:flex;flex-wrap:wrap;
  gap:.4rem 0;margin:0;padding:0;list-style:none;
  align-items:center;
}
.pp-footer__legal li{display:flex;align-items:center;}
.pp-footer__legal li + li::before{
  content:"";
  width:1px;height:1.3rem;
  background:rgba(255,255,255,.22);
  margin:0 1.5rem;
}
.pp-footer__legal a{white-space:nowrap;}
@media (max-width:749px){
  .pp-footer__bar{justify-content:center;text-align:center;gap:1.6rem;}
  .pp-footer__legal{justify-content:center;}
  .pp-footer__legal li + li::before{margin:0 1.1rem;}
}

/* ==========================================================================
   Policy / FAQ page body. These pages arrived as empty shells, so this is the
   type scale for the content now written into them.
   ========================================================================== */
.pp-page{background:var(--pp-cream,#FDF4EC);padding:5rem 0 6rem;direction:rtl;}
.pp-page__title{
  font-size:clamp(2.6rem,4.5vw,4rem);font-weight:800;color:var(--pp-dark,#241A14);
  margin:0 0 1.2rem;line-height:1.18;
}
.pp-page__lead{
  font-size:clamp(1.5rem,2vw,1.8rem);line-height:1.65;color:#5A4A3E;
  margin:0 0 3.2rem;max-width:62rem;
}
.pp-page__sec{
  background:#FFFFFF;border:1px solid #EEE0D2;border-radius:1.4rem;
  padding:2.4rem 2.6rem;margin-bottom:1.4rem;
}
.pp-page__sec h2{
  font-size:1.9rem;font-weight:700;color:var(--pp-accent-text,#C2410C);
  margin:0 0 1.2rem;line-height:1.3;
}
.pp-page__sec p{font-size:1.55rem;line-height:1.85;color:#4A3C32;margin:0 0 1rem;}
.pp-page__sec p:last-child{margin-bottom:0;}
.pp-page a{color:var(--pp-accent-text,#C2410C);font-weight:600;}
.pp-page__note{font-size:1.3rem;color:#8A7566;margin-top:2.4rem;}

.pp-faq{display:flex;flex-direction:column;gap:1rem;}
.pp-faq__item{
  background:#FFFFFF;border:1px solid #EEE0D2;border-radius:1.4rem;
  padding:0 2.2rem;overflow:hidden;
}
.pp-faq__item summary{
  cursor:pointer;list-style:none;
  font-size:1.7rem;font-weight:700;color:var(--pp-dark,#241A14);
  padding:1.9rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.pp-faq__item summary::-webkit-details-marker{display:none;}
.pp-faq__item summary::after{
  content:"+";font-size:2.4rem;font-weight:400;color:var(--pp-accent,#FF6A00);
  line-height:1;flex:0 0 auto;
}
.pp-faq__item[open] summary::after{content:"\2013";}
.pp-faq__item summary:focus-visible{outline:3px solid var(--pp-accent,#FF6A00);outline-offset:2px;}
.pp-faq__a{padding:0 0 1.9rem;border-top:1px solid #F3E7DB;}
.pp-faq__a p{font-size:1.55rem;line-height:1.85;color:#4A3C32;margin:1.4rem 0 0;}

/* ==========================================================================
   Order perks. These used to be baked into a banner image, so they could not
   be edited, reflowed on a phone, or read by a screen reader. Deliberately a
   different shape from the card grids elsewhere: one open row, no boxes.
   ========================================================================== */
.pp-perks{background:#FFFFFF;padding:4.4rem 0;direction:rtl;border-block:1px solid #F0E3D6;}
.pp-perks__kicker{
  text-align:center;margin:0 0 .5rem;
  font-size:1.25rem;font-weight:700;letter-spacing:.18em;
  color:var(--pp-accent-text,#C2410C);text-transform:uppercase;
}
.pp-perks__title{
  text-align:center;margin:0 0 3rem;
  font-size:clamp(2.1rem,3.4vw,3rem);font-weight:800;color:var(--pp-dark,#241A14);
  line-height:1.25;
}
.pp-perks__list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:2.2rem;
}
@media (min-width:750px){
  .pp-perks__list{grid-template-columns:repeat(3,1fr);gap:0;align-items:stretch;}
  .pp-perks__item + .pp-perks__item{border-inline-end:1px solid #F0E3D6;}
  .pp-perks__item{padding:0 2.4rem;}
}
@media (max-width:749px){
  .pp-perks__list{gap:2.6rem;max-width:40rem;margin-inline:auto;}
  .pp-perks__item + .pp-perks__item{border-top:1px solid #F0E3D6;padding-top:2.6rem;}
}
/* icon on top, wording beneath it, every item the same width — centring
   each row on its own left them starting at three different points */
.pp-perks__item{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:1.1rem;text-align:center;
}
.pp-perks__icon{
  flex:0 0 auto;width:4.8rem;height:4.8rem;border-radius:1.2rem;
  background:rgba(255,106,0,.12);
  display:flex;align-items:center;justify-content:center;
}
.pp-perks__icon svg{
  width:2.5rem;height:2.5rem;stroke:var(--pp-accent,#FF6A00);fill:none;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.pp-perks__txt{display:flex;flex-direction:column;align-items:center;gap:.3rem;max-width:22rem;}
.pp-perks__txt b{font-size:1.7rem;font-weight:800;color:var(--pp-dark,#241A14);line-height:1.25;}
.pp-perks__txt i{font-style:normal;font-size:1.35rem;color:#7A6455;line-height:1.4;}

/* --------------------------------------------------------------------------
   Carousel arrows. The theme stacks both arrows at the same coordinates on
   some sliders, so two discs overlapped into one blob. Lay them out as a pair
   and give them a squarer, flatter look than the theme's grey circles.
   -------------------------------------------------------------------------- */
.splide__arrows{
  display:flex;align-items:center;justify-content:center;gap:1.2rem;
  position:relative;inset:auto;
}
.splide__arrow{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:4.6rem;height:4.6rem;
  border-radius:1.3rem !important;
  background:transparent !important;
  border:2px solid var(--pp-accent,#FF6A00) !important;
  box-shadow:none !important;
  opacity:1 !important;
  transition:background .15s ease,border-color .15s ease;
}
.splide__arrow:hover{background:var(--pp-accent,#FF6A00) !important;}
.splide__arrow svg,.splide__arrow path{fill:var(--pp-accent,#FF6A00) !important;}
.splide__arrow:hover svg,.splide__arrow:hover path{fill:#FFFFFF !important;}
.splide__arrow:disabled{border-color:#E4D9CE !important;background:transparent !important;}
.splide__arrow:disabled svg,.splide__arrow:disabled path{fill:#E4D9CE !important;}

/* ==========================================================================
   Product assurance panel. Replaces an empty video-testimonial slider.
   Deliberately editorial rather than card-grid: this content is specification
   and guarantee, not social proof, and it should not borrow the visual
   language of a review wall.
   ========================================================================== */
.pp-assure{background:var(--pp-cream,#FDF4EC);padding:5rem 0;direction:rtl;}
.pp-assure__grid{display:grid;gap:2.6rem;}
@media (min-width:900px){
  .pp-assure__grid{grid-template-columns:minmax(26rem,34%) 1fr;gap:4.5rem;align-items:start;}
}
.pp-assure__head{position:sticky;top:2rem;}
@media (max-width:899px){.pp-assure__head{position:static;}}
.pp-assure__kicker{
  font-size:1.25rem;font-weight:700;letter-spacing:.16em;
  color:var(--pp-accent-text,#C2410C);margin:0 0 .8rem;
}
.pp-assure__title{
  font-size:clamp(2.4rem,4vw,3.4rem);font-weight:800;line-height:1.2;
  color:var(--pp-dark,#241A14);margin:0 0 1.2rem;
}
.pp-assure__lead{font-size:1.6rem;line-height:1.7;color:#5A4A3E;margin:0;}

.pp-assure__list{list-style:none;margin:0;padding:0;counter-reset:pp;}
.pp-assure__item{
  counter-increment:pp;
  position:relative;
  padding-block:0 2.4rem;padding-inline:5.4rem 0;
  border-inline-start:0;
}
.pp-assure__item::before{
  content:counter(pp,decimal-leading-zero);
  position:absolute;inset-inline-start:0;inset-inline-end:auto;top:.1rem;
  font-size:1.5rem;font-weight:800;color:var(--pp-accent,#FF6A00);
  font-variant-numeric:tabular-nums;
}
.pp-assure__item::after{
  content:"";position:absolute;inset-inline-start:1.55rem;top:2.6rem;bottom:.6rem;
  width:2px;background:#EEDFCF;
}
.pp-assure__item:last-child{padding-bottom:0;}
.pp-assure__item:last-child::after{display:none;}
.pp-assure__item h3{
  font-size:1.85rem;font-weight:700;color:var(--pp-dark,#241A14);
  margin:0 0 .6rem;line-height:1.35;
}
.pp-assure__item p{font-size:1.5rem;line-height:1.75;color:#5A4A3E;margin:0;}

/* --------------------------------------------------------------------------
   Discount pill. The figure is derived from the two prices printed beside it,
   rounded down, so the badge can never claim more than the prices show.
   -------------------------------------------------------------------------- */
.pp-off{
  display:inline-flex;align-items:center;
  padding:.25em .7em;border-radius:.6rem;
  background:var(--pp-accent,#FF6A00);color:#fff;
  font-size:1.15rem;font-weight:800;line-height:1.5;white-space:nowrap;
  margin-inline-end:.6rem;
}
.card .pp-off,.card-wrapper .pp-off{font-size:1.05rem}

/* --------------------------------------------------------------------------
   Review invitation. Reviews are limited to people who actually bought, so the
   form explains that rather than pretending to accept anything.
   -------------------------------------------------------------------------- */
.pp-revadd{
  margin:2.4rem 0 0;padding:2rem 1.8rem;border-radius:1.3rem;
  background:var(--pp-cream,#FDF4EC);border:1px solid #F0E3D6;direction:rtl;text-align:right;
}
.pp-revadd__kicker{
  display:inline-block;margin:0 0 .7rem;padding:.3rem .85rem;border-radius:.6rem;
  background:var(--pp-accent,#FF6A00);color:#fff;font-size:1.1rem;font-weight:800;
}
.pp-revadd__title{margin:0 0 .5rem;font-size:1.7rem;font-weight:800;line-height:1.3;color:var(--pp-dark,#241A14)}
.pp-revadd__lead{margin:0 0 1.4rem;font-size:1.35rem;line-height:1.6;color:#5A4A3E}
.pp-revadd__form{display:grid;gap:1rem}
.pp-revadd__name,.pp-revadd__text{
  width:100%;padding:1.1rem 1.2rem;border-radius:.9rem;border:1px solid #E3D3C2;
  background:#fff;font:inherit;font-size:1.35rem;color:var(--pp-dark,#241A14);resize:vertical;
}
.pp-revadd__name:focus,.pp-revadd__text:focus{outline:2px solid var(--pp-accent,#FF6A00);outline-offset:1px}
.pp-revadd__btn{
  justify-self:start;padding:1.05rem 2.4rem;border:0;border-radius:.9rem;cursor:pointer;
  background:var(--pp-accent,#FF6A00);color:#fff;font:inherit;font-size:1.4rem;font-weight:800;
  transition:background .18s;
}
.pp-revadd__btn:hover{background:var(--pp-accent-hover,#FF8124)}
.pp-revadd__note{
  margin:0;padding:1rem 1.2rem;border-radius:.9rem;
  background:#fff;border:1px solid #E3D3C2;
  font-size:1.28rem;line-height:1.6;color:#5A4A3E;
}
.pp-revadd__form.is-blocked .pp-revadd__btn{opacity:.55;pointer-events:none}

/* a dot per review is a grid of dots once there are hundreds of them */
.review-items-container .splide__pagination{display:none !important}

/* --------------------------------------------------------------------------
   Promo banners. The theme pins them to a square, so a wide picture sat inside
   a band of its own background colour. Let the picture set the height.
   -------------------------------------------------------------------------- */
/* the square is forced by an inline rule on the .banner div, not on the section */
[id^="Banner-"]::before,
[id^="Banner-"] .banner__media::before,
[id^="Banner-"] .banner__content::before,
section[id*="image_banner"]::before{content:none !important;padding-bottom:0 !important;display:none !important}
[id^="Banner-"]{height:auto !important;min-height:0 !important}
[id^="Banner-"] .banner__media{
  position:relative !important;height:auto !important;min-height:0 !important;
  inset:auto !important;transform:none !important;
}
[id^="Banner-"] .banner__media img{
  position:relative !important;inset:auto !important;
  width:100% !important;height:auto !important;object-fit:contain !important;
}
section[id*="image_banner"] + section[id*="image_banner"],
.product-info__image-block + section[id*="image_banner"]{margin-top:0}

/* a larger product shot in the package picker */
.pp-pick__img{inline-size:13rem;block-size:13rem}
@media (max-width:520px){.pp-pick__img{inline-size:8.2rem;block-size:8.2rem}}

/* a double tap should not zoom the page */
html{touch-action:manipulation}
body,a,button,label,input,select,textarea,summary,.pp-pick__row,.splide__slide{touch-action:manipulation}

/* --------------------------------------------------------------------------
   Shopping bag. Held in the visitor's browser, since a static copy has no
   Shopify behind it; the order is finished over WhatsApp.
   -------------------------------------------------------------------------- */
.header__icon--cart{position:relative}
.pp-bag__count{
  position:absolute;top:-.4rem;inset-inline-start:-.6rem;z-index:3;
  inline-size:2rem !important;block-size:2rem !important;min-block-size:0 !important;
  align-self:flex-start;padding:0;border-radius:50%;
  display:grid;place-items:center;flex:none;
  background:var(--pp-accent,#FF6A00);color:#fff;
  font:800 1.15rem/1 'Assistant',system-ui,sans-serif;
}
.pp-bag__count.is-empty{display:none}
.pp-bag__toast{
  position:fixed;inset-inline:1.6rem;bottom:9.2rem;z-index:99997;
  display:grid;gap:.3rem;padding:1.2rem 1.5rem;border-radius:1.1rem;
  background:#fff;color:var(--pp-dark,#241A14);border:1px solid #E3D3C2;
  box-shadow:0 14px 40px -18px rgba(0,0,0,.5);
  font-size:1.3rem;max-inline-size:min(38rem,calc(100vw - 3.2rem));margin-inline:auto;
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s,transform .22s;
}
.pp-bag__toast.is-on{opacity:1;transform:none;pointer-events:auto}
.pp-bag__toast b{font-size:1.4rem}
.pp-bag__toast span{color:#5A4A3E}
.pp-bag__toast a{color:var(--pp-accent-text,#C2410C);font-weight:800;text-decoration:underline}

.pp-bag{direction:rtl;max-inline-size:78rem;margin-inline:auto;padding:2rem 1.6rem 4rem}
.pp-bag__list{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:1rem}
.pp-bag__row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;
  align-items:center;gap:1.2rem;padding:1.2rem;border:1px solid #E3D3C2;
  border-radius:1.1rem;background:#fff;
}
.pp-bag__img{inline-size:7rem;block-size:7rem;object-fit:contain;background:#FDF4EC;border-radius:.8rem}
.pp-bag__info b{display:block;font-size:1.35rem;font-weight:800;line-height:1.35}
.pp-bag__info span{display:block;margin-top:.2rem;font-size:1.1rem;color:#7A6455}
.pp-bag__qty{display:flex;align-items:center;gap:.9rem}
.pp-bag__qty button{
  inline-size:3rem;block-size:3rem;border-radius:.7rem;border:1px solid #E3D3C2;
  background:#FDF4EC;cursor:pointer;font-size:1.6rem;line-height:1;color:var(--pp-dark,#241A14);
}
.pp-bag__qty span{min-inline-size:2rem;text-align:center;font-weight:800;font-size:1.35rem}
.pp-bag__price{font-weight:800;font-size:1.35rem;white-space:nowrap}
.pp-bag__x{
  inline-size:3rem;block-size:3rem;border:0;background:none;cursor:pointer;
  font-size:2rem;line-height:1;color:#A08A78;
}
.pp-bag__sum{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:1.4rem 1.2rem;border-block:1px solid #E3D3C2;font-size:1.5rem;
}
.pp-bag__sum b{font-size:2rem;font-weight:800}
.pp-bag__note{margin:1rem 0 1.6rem;font-size:1.2rem;color:#7A6455}
.pp-bag__go{
  display:inline-block;padding:1.2rem 3rem;border-radius:.9rem;
  background:var(--pp-accent,#FF6A00);color:#fff;font-weight:800;font-size:1.5rem;
}
.pp-bag__go:hover{background:var(--pp-accent-hover,#FF8124);color:#fff}
.pp-bag__clear{
  margin-inline-start:1.2rem;padding:1.2rem 2rem;border-radius:.9rem;
  border:1px solid #E3D3C2;background:#fff;cursor:pointer;font:inherit;font-size:1.3rem;color:#7A6455;
}
.pp-bag__empty{padding:4rem 0;text-align:center}
.pp-bag__empty p{margin:0 0 1.6rem;font-size:1.6rem;color:#5A4A3E}
@media (max-width:600px){
  .pp-bag__row{grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;row-gap:1rem}
  .pp-bag__qty{grid-column:2}
  .pp-bag__price{grid-column:3}
  .pp-bag__x{position:absolute;inset-inline-start:.6rem;top:.6rem}
  .pp-bag__row{position:relative}
  .pp-bag__img{inline-size:5.4rem;block-size:5.4rem}
}

/* --------------------------------------------------------------------------
   The wide strips carry a ratio from before their margins were trimmed, so the
   box cropped the new artwork. Let these follow their picture as well, and give
   the run of promotional pictures room to breathe.
   -------------------------------------------------------------------------- */
.product-info__image-block .ratio::before,
.product-info__image-block .media::before{content:none !important;padding-bottom:0 !important}
.product-info__image-block .ratio,
.product-info__image-block .media{height:auto !important;min-height:0 !important;padding:0 !important}
.product-info__image-block img{
  position:relative !important;inset:auto !important;
  width:100% !important;height:auto !important;object-fit:contain !important;
}
.product-info__image-block{margin-block:2.4rem !important}
section[id*="image_banner"]{margin-block:2.4rem}
section[id*="image_banner"] + section[id*="image_banner"],
.product-info__image-block + section[id*="image_banner"]{margin-top:2.4rem}


/* --------------------------------------------------------------------------
   Checkout panel — the details Grow needs before it can open a payment page.
   Two columns on a desk, one on a phone; the notes box always spans.
   -------------------------------------------------------------------------- */
.pp-co{margin-block:1.6rem 0}
.pp-co__h{margin:0 0 1.4rem;font-size:1.8rem;font-weight:800;letter-spacing:0}
.pp-co__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem}
.pp-co__f{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.pp-co__f--wide{grid-column:1 / -1}
.pp-co__f > span{font-size:1.25rem;font-weight:700;color:#5C4B3E}
.pp-co__f input{
  inline-size:100%;padding:1.15rem 1.2rem;border:1px solid #E3D3C2;border-radius:.8rem;
  background:#fff;font:inherit;font-size:1.45rem;color:#14181c;
}
/* a phone number and an email address read left to right even inside a Hebrew
   form; without this the tel field alone lined up on the far side of the others */
.pp-co__f input[type="tel"],
.pp-co__f input[type="email"]{direction:ltr;text-align:right}
.pp-co__f input:focus{outline:2px solid var(--pp-accent,#FF6A00);outline-offset:1px;border-color:transparent}
.pp-co__f.is-bad input{border-color:#D23B3B;background:#FFF7F7}
.pp-co__err{display:none;font-style:normal;font-size:1.15rem;color:#D23B3B}
.pp-co__f.is-bad .pp-co__err{display:block}

.pp-co__note{margin:1.4rem 0 0;font-size:1.3rem;min-block-size:0}
.pp-co__note.is-bad{color:#D23B3B;font-weight:700}
.pp-co__pay{margin-block-start:1.6rem;border:0;cursor:pointer;font:inherit;
  font-weight:800;font-size:1.55rem;inline-size:100%;text-align:center}
.pp-co__pay[disabled]{opacity:.6;cursor:default}
.pp-co__fine{margin:1.1rem 0 0;font-size:1.15rem;color:#7A6455;line-height:1.6}
.pp-co__wa{display:inline-block;margin-block-start:1rem;font-size:1.3rem;
  color:#7A6455;text-decoration:underline}
.pp-co__off{margin:0 0 1.4rem;font-size:1.35rem;color:#7A6455;line-height:1.7}

@media (max-width:640px){
  .pp-co__grid{grid-template-columns:1fr}
  .pp-co__h{font-size:1.6rem}
}

/* --------------------------------------------------------------------------
   The page Grow returns to after a successful payment.
   -------------------------------------------------------------------------- */
.pp-thanks{max-inline-size:62rem;margin:0 auto;padding:6rem 2rem 8rem;text-align:center}
.pp-thanks__mark{
  inline-size:8rem;block-size:8rem;margin:0 auto 2.4rem;border-radius:50%;
  display:grid;place-items:center;background:#E9F7EE;color:#1E8E4A;font-size:4rem;
}
.pp-thanks h1{margin:0 0 1.2rem;font-size:3rem;font-weight:800}
.pp-thanks p{margin:0 0 1rem;font-size:1.5rem;color:#5C4B3E;line-height:1.8}
.pp-thanks__ref{font-weight:800;color:#14181c}
.pp-thanks__go{display:inline-block;margin-block-start:2.4rem;padding:1.2rem 3rem;
  border-radius:.9rem;background:var(--pp-accent,#FF6A00);color:#fff;font-weight:800;font-size:1.5rem}
.pp-thanks__go:hover{background:var(--pp-accent-hover,#FF8124);color:#fff}

/* ==========================================================================
   Product page picture strip.
   The full-width pictures below the buy box sit edge to edge, with no air
   between them, so they read as one continuous image instead of a list.
   ========================================================================== */
.product-info__image-block{
  margin-block:0 !important;
}
.product-info__image-block .media,
.product-info__image-block img{
  display:block;
}
.shopify-section.section:has(> .banner > .banner__media),
.shopify-section.section:has(> div > .banner__media){
  padding-block:0;
  margin-block:0;
}
